タグ

node.jsに関するHHRのブックマーク (130)

  • AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

    AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。 LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。 LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。 これにより(Node.jsやDeno

    AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス
    HHR
    HHR 2024/02/15
    考えてみれば軽量ランタイム+過去資産の活用(ライブラリが豊富)って矛盾しがちなのかな。ライブラリが豊富なほど人気ならランタイムもそれなりに複雑で大きくなりがち?
  • Node.js の原罪 - from scratch

    Intro ちょうどタコピーの原罪が流行ってるのでこのタイトルにしたけど結構気に入ってる。 d.potato4d.me この話を読んでの感想とここまで大きくなった Node.js の振り返りをしようと思う。 どんなプログラミング言語であってもみんなから使ってもらって開発者をハッピーにしたいと思ってる。ただ最初は良かったと思ってた機能がなんか古臭くなったり、他にクールな機能を持ったものが登場したことによって徐々に飽きられていき、最終的に他の言語に乗り換えられる。 まぁどんな言語も同じだと思う。C言語だって生まれた当初はすごくクールでみんなをハッピーにしてた。今丁度「戦うプログラマー」を読んでるが、C++が出てきて、周りのエンジニアC++ を使おうとするシーンが出てくる。そこで、「あんなの使って何が良いんだ、Cで十分だろ」とWindows NT 開発リーダーのデーブカトラーが言ってたりする

    Node.js の原罪 - from scratch
    HHR
    HHR 2022/04/09
    最後の年表が本体
  • async/await 入門(JavaScript) - Qiita

    はじめに 今更ですが、JavaScriptのasync/awaitに関する備忘録になります。 「今まで$.Deferred()やPromiseなどで非同期処理は書いたことがあるが、async/awaitはわからない」 「$.Deferred()やPromiseなどの非同期処理の書き方より、もっと簡潔に書ける書き方があれば知りたい」 「今までの非同期処理の書き方と比べて何が良いのかわからない」 といった人達向けの記事です。 $.Deferred()やPromiseなどで非同期処理を書いたことがある前提のため、非同期処理自体に関する説明は記載しておりません。 記載している利用例のコードはChrome(最新)のコンソール上で動きますので、コンソール上で実行して動作を確認してみると理解が深まりやすいと思います。 記事で用いている用語 Promiseを返す Promiseオブジェクトを返すこと。

    async/await 入門(JavaScript) - Qiita
    HHR
    HHR 2020/10/29
    Promiseとの実装比較がありがたい。
  • Node.js でお手軽スクレイピング 2020 年夏 - Qiita

    皆さんは Web ページのスクレイピングって書いた事ありますか?私はあります。だってどんなに平和で平穏な生活を送っていても数年に一度はスクレイピングってしたくなりますよね。「うわーまじか!API ないのかよ…。」的な。 そうしたら HTTP クライアントと HTML パーサのライブラリを探してきてインストールした上でごりごり書くことになると思います。でも実際に書いてみると、そうやってライブラリのインストールをしたりサンプルコードで動作確認している時間よりも、HTML を解析して実際にパースしたところから対象の要素を取得して欲しい値を取り出す試行錯誤の時間の方が長かったっていう事はないですか? 今日ご紹介する Node.js でお手軽スクレイピングは、その辺の試行錯誤の手間を極力減らすことが出来る方法です。2020 年夏の最新版です。 まずは環境から。特に古いものを使う理由もないので 202

    Node.js でお手軽スクレイピング 2020 年夏 - Qiita
    HHR
    HHR 2020/07/21
  • Node.js における設計ミス By Ryan Dahl - from scratch

    Ryan Dahl は Node.js の original author ですが、彼の作ったプロダクト deno に関するトークが jsconf.eu 2018 でありました。 Node.js にずっと関わってきた僕が見て非常に興奮するような話だったので、しばらくぶりにブログに書き起こすことにしました。 背景 Ryan Dahl は2009年に Node.js の話を初めて公の場に公開しました。その時の「公の場」というのが「jsconf.eu 2009」です。 www.youtube.com Video: Node.js by Ryan Dahl - JSConf.eu - 2009 この発表から Node.js が広まり、今やサーバのみならず、IoTデバイス、デスクトップアプリなど、様々なところで動作しています。 で、今回はその発表から9年の歳月が経過し、Node.jsに対しての設計不

    Node.js における設計ミス By Ryan Dahl - from scratch
    HHR
    HHR 2018/06/07
  • Go が他の多くの言語での非同期プログラミングよりも優れている理由 - Qiita

    はじめに 非同期プログラミングと呼んでいるのは、ノンブロッキングIOと select, poll, epoll, kqueue のようなIO多重化を利用したネットワークアプリケーションを書くことです。 node.js で websocket 使ったチャットを書くとかそういうのです。 「他の多くの言語」とは、 Python (asyncio), node.js, C# などを想定しています。 Erlang や GHC なんかは Go に近いかも知れません。 async / await がない言語では、「コールバック地獄」や「deferred地獄」のような問題もありますがこの記事では扱っていません。 async / await のメリットを解説した他の記事を参照してください。 あとこの記事は主にランタイムに関する部分を扱っているので、「それは言語じゃなくて処理系の問題だ!」等の頓珍漢な揚げ足取

    Go が他の多くの言語での非同期プログラミングよりも優れている理由 - Qiita
    HHR
    HHR 2017/04/02
  • Node v7 で入った WHATWG URL 実装について | blog.jxck.io

    Intro Node v7.0.0 が公開され、今回のリリースで WHATWG URL の実装が Experimental として入った。 既に標準で含まれていた url module との違いや、 URL API などについて解説する。 WHATWG URL URL は非常によく使われる、 Web において重要なフォーマットの一つだ。 ものによっては一見シンプルに見えるかもしれないが、その仕様はそれなりに大きい。 しかし、これまで DOM/JS はこれをパースする専用の API を持っていなかったため、例えば <input type=text> に入力された URL 文字列のパースは、片手間な正規表現で行われることも少なくなかった。 同様に、動的生成されるクエリやハッシュなどを URL に含める場面でも、やはり文字列操作による構築が行われてきた。 片手間な正規表現や文字列処理が、 URL

    Node v7 で入った WHATWG URL 実装について | blog.jxck.io
    HHR
    HHR 2016/10/28
  • ES2015で始めるJavaScript入門 - Qiita

    はじめに JavaScript勉強会の資料です。 内容は、簡単なコマンドラインツールを作りながら、JavaScript(ES2015を含む)の書き方を学ぶものとなってます。 内容的には初心者向けなので、JavaScriptを勉強したい、JavaScriptは触ったことあるけどES2015を知らないので勉強したい、といった方が対象です。 JavaScriptとは Webブラウザで実行可能なインタプリタ言語 最近ではサーバサイドのものもある(Node.jsなど) 各ブラウザで独自の実装があるが、標準化されたECMAScriptに準拠している ES5, ES2015(ES6), ES2016, … ES2015からは毎年新しい規格が策定される これによりナンバリングは策定した年に変更 ES5(2011年策定)から4年ぶりに策定されたECMAScript 非常に多くの機能が追加された 新しいブラウ

    ES2015で始めるJavaScript入門 - Qiita
    HHR
    HHR 2016/09/15
    良記事。リファレンス
  • Squel.js - SQL query string builder for Javascript

    Squel.js - lightweight Javascript library for building SQL query strings. - usable with node.js and in the browser. - well tested. Installation Node.js npm install squel Once done you can use require to access the API: var squel = require("squel"); Bower bower install squel Browser Include the following within your HTML body section, near the bottom: <script type="text/javascript" src="/your/path/

    HHR
    HHR 2016/08/26
    node.jsでsql文字列生成はsquelで決まり
  • EJS -- Embedded JavaScript templates

    What is EJS? What is the "E" for? "Embedded?" Could be. How about "Effective," "Elegant," or just "Easy"? EJS is a simple templating language that lets you generate HTML markup with plain JavaScript. No religiousness about how to organize things. No reinvention of iteration and control-flow. It's just plain JavaScript. Use plain JavaScript We love JavaScript. It's a totally friendly language. All

    HHR
    HHR 2016/08/02
    ググると違うのヒットする。こっちが本物っぽい。
  • ECMAScript 6 compatibility table

    V8 SpiderMonkey JavaScriptCore Chakra Carakan KJS Other ⬤ Minor difference (1 point) ⬤ Small feature (2 points) ⬤ Medium feature (4 points) ⬤ Large feature (8 points) Compilers/polyfills Desktop browsers Servers/runtimes Mobile Feature name Current browser ES6 Trans- piler Traceur Babel 6 + core-js 2 Babel 7 + core-js 2 Babel 7 + core-js 3 Closure 2020.06 Closure 2020.09 Closure 2021.08 Closure 20

    HHR
    HHR 2016/07/26
    どの機能がどのブラウザ、node.js、babelで使えるか一覧
  • Node.js における Promise を使った例外処理 - from scratch

    さて、 Node.js のエラーハンドリングは難しいと言われてますが、 2016年現在、つまりNodeの v4 とか v6 が主流になり、 Promise が基的な処理として採用されている状況ではどうでしょうか。ちょっと考えてみます。 一応これの補足です。 qiita.com TL;DR 未だに難しい。ただし、 Promise で改善されている。async-await や zone まで来たらかなり楽になる。 あと、 unhandledRejection が uncaughtException よりも酷いことにならないので、大分マシになっている。 Node.js のエラーハンドリングの難しさ まず JavaScript には同期と非同期のエラーハンドリングのやり方があります。前者は所謂 try-catch による方法、後者は callback を使って第一引数で実現する方法や emit(

    Node.js における Promise を使った例外処理 - from scratch
    HHR
    HHR 2016/07/12
  • スマホアプリ開発時にさくっと叩けるAPIサーバをnginx・Let’s encrypt・JSON Serverで構築する - Qiita

    目的 スマホアプリ開発の初期段階でまだAPIの仕様等がフワっとしているような状況で、さくっと試験用のAPIサーバーを立てて、APIをちょこちょこいじってみながらアプリ開発をしたい。 ローカルマシンにJSON ServerでAPIサーバ立てるのが一番早そうだったけど、どうせならネットワーク上に置いてHTTPSでAPI叩いてみたいよね、ってことで構築してみた。 完成予定図 スマホアプリ開発用PC ↓↑ HTTPS(Let’s encrypt) ↓↑ Nginx(:443) ↓↑ JSON Server(:3000) ※ サーバはEC2使ってますがお好みに合わせてどうぞ 構築手順 1. AWSとドメインの準備 1. 管理コンソール等からEC2インスタンスを立ち上げる 今回はOSは Amazon Linux AMI 2016.03.1 (HVM) を選択 インスタンスタイプはt2.microを選択

    スマホアプリ開発時にさくっと叩けるAPIサーバをnginx・Let’s encrypt・JSON Serverで構築する - Qiita
    HHR
    HHR 2016/05/18
    Json server
  • Node.js v6.0 (Current) がリリースされました。 - from scratch

    さて、とうとう皆さん待望の Node.js v6.0 がリリースされました!次のLTS候補です。LTSになるのは2016年の10月からの予定です。v6 の LTS 期間は明示化されてないですが、ルールに照らし合わせれば、LTSになってから 2年半がサポート期間なので、おそらく 2019年4月まではサポートされます。 Node v6.0.0 (Current) | Node.js Node.js v6.0 の主な変更点 ES2015 support の改善 module load性能の改善 Buffer API の new Buffer() コンストラクタの廃止 (セキュリティ上の理由から) ES2015 support の改善 やっぱりこれが一番大きな変化ですね。 node.green を見てもらえればわかるかもしれませんが、 ES2015 のサポートがこれまでは 58% だったのが 96

    Node.js v6.0 (Current) がリリースされました。 - from scratch
    HHR
    HHR 2016/04/27
  • Gopherの道を歩む – Node.jsからGo言語への移行 | POSTD

    私は大学時代に、興味位でJavaScriptを始めて、それ以来ウェブページを幾つか作成してきました。JavaScriptは常にC言語やJavaの合間の楽しい息抜きでしたが、アニメーションや、ユーザをあっと言わせるようなちょっとしたことを提供するといった、特殊な目的にかなり限られた言語だと考えていました。JavaScriptは覚えやすく、開発者に具体的な結果をすぐにもたらしてくれるので、コーディングする方法を学びたいと思っている人に私が教えた最初の言語でした。JavaScriptHTMLCSSを少し組み合わせれば、ウェブページが出来上がります。プログラミング初心者には喜ばれます。 その後、あることが2年前に起こりました。当時、私は、主にサーバーサイドのコードとAndroid用のアプリのプロトタイプに取り組む研究職に近い立場にいました。すぐにNode.jsの存在が目に留まりました。バック

    Gopherの道を歩む – Node.jsからGo言語への移行 | POSTD
    HHR
    HHR 2016/04/19
    forループが回っていたとか?ブロックされた詳細が知りたい
  • Vercel: Build and deploy the best Web experiences with The Frontend Cloud – Vercel

    Deploy an AI app in seconds on Vercel, using our pre-built templates. Easily stream long-running LLM responses for a better user experience with zero-config infrastructurethat's always globally performant.Fast load times and zero overhead with Vercel's highly optimized infrastructure and CDN, reducing bounce rates and improving SEO. Streamline content creation and publishing with built-in previews

    Vercel: Build and deploy the best Web experiences with The Frontend Cloud – Vercel
    HHR
    HHR 2016/04/11
  • [速報]Google App EngineがRubyとNode.jsのサポートを発表。GCP Next 2016

    [速報]Google App EngineがRubyとNode.jsのサポートを発表。GCP Next 2016 Googleは同社のクラウドに関するイベント「GCP Next 2016」を3月23日、24日の2日間にわたり米サンフランシスコで開催しています。 初日の基調講演では、同社がエンタープライズ市場へ注力すること、次世代のクラウド基盤としてコンテナが主役になること、そして機械学習サービスの充実などが語られました。

    [速報]Google App EngineがRubyとNode.jsのサポートを発表。GCP Next 2016
  • 春からはじめるモダンJavaScript / ES2015 - Qiita

    春ですね!人の配置がリファクタリングされ、コードもリファクタリングの季節です。 では僕がここでモダンなJavaScriptとES2015の利点を語る役をやるので、みなさんはチームを説得する役をやってください。 JavaScript歴史 まず最初にJavaScript歴史を踏まえることで、今学ぶべきものとその理由を確認しましょう。 なぜ2016年の記事でES2016ではなく、ES2015なのか、と疑問に思った方もいるかもしれません。それは、ES2015がただの年次アップデートではなく、これから始まる毎年のメジャーバージョンアップの起点となるバージョンであり、またES5から飛躍的に仕様が増えたバージョンであるからです。 簡単に(雑な)歴史を紹介します。 ブレンダン・アイクによってNetScapeに実装/搭載された古の時代〜IE6 (1996~2005) ES3: 一時はシェア7割を誇ったレ

    春からはじめるモダンJavaScript / ES2015 - Qiita
  • 僕なりのフロントエンド開発環境2016年版 - Qiita

    ちょっとバージョンアップ http://qiita.com/koh110/items/f6ecbdc03093675a9527 自分なりに使いやすいフロントエンドの開発環境を整えて使っていたけれど、だんだん時代の流れにそぐわない箇所が出てきたのでその部分を書き換えてアップデートしてみた。 http://qiita.com/koh110/items/9c750fb67e40481e52cd 昔のバージョンはv1.0.0というブランチに切り出し https://github.com/koh110/minjsapp やめたもの gulp-load-plugins run-sequence bower モジュールやライブラリへの依存度を下げたかった 変更したもの gulp-babel -> webpack + babel-loader requireしたかった 追加したもの sassコンパル 生c

    僕なりのフロントエンド開発環境2016年版 - Qiita
    HHR
    HHR 2016/03/04
    bowerは最近下火だなぁ
  • dotenvで秘密情報を扱う件 〜 Ruby, PHP, PaaS, CI について 〜

    .envファイルに環境変数を書いておくdotenv って何かと一言で言うと Foreman の提供している .env ファイルから環境変数をセットする機能を Foreman 環境以外でも利用できるようにしたもの。 えーと。何のこと?って感じですね。 dotenv という言葉は意味する範囲がやや曖昧なんだけど、自分の場合は「.env ファイルに sh script のように環境変数を記述しておくと、アプリが実行時に自動的に環境変数として取り込むことができる系の機能の総称」と捉えている。 で、実装がそれぞれにある。いちばん有名な Ruby バージョンだと予想通り Dotenv gem で、他の言語でも似たようなものがいくつもある。 bkeepers/dotenv なぜ.envファイルから環境変数をセットするのか環境変数から設定を取得したり環境判別用の情報を取得しようという話は決して新しい話では

    HHR
    HHR 2016/01/29
    .envの歴史