kakts-log

programming について調べたことを整理していきます

node.js

v8によって生成されるbytecodeを確認してみる

Qiita Node.js アドベントカレンダー2021の20日目の記事です qiita.com v8のbytecodeについて、自分で書いたコードでどうやって確認するか気になったので調べてみました。 v8によるバイトコード生成 v8がどうやってバイトコード、機械語を生成するかざっくり…

Node.js のWASIモジュールについて

この記事は Node.js Advent Calendar 2019の16日目の記事となります。 qiita.com 今回は Node.js 13.3.0から導入されたWebAssembly System Interface (WASI)モジュールに関して紹介します。 WASIについて wasi.dev github.com WASI APIはWebAssembly System …

worker_threadsを使ったNode.js マルチスレッドプログラミング

qiita.com この記事は Qiita Node.js Advent Calendar 2018 14日目の記事となります。 今回は Node.js のWorker Threadsに関してまとめます。 本記事では、前提としてNode.js v10.14.1 における内容をまとめています。 worker_threadはexperimentalな機能な…

Contributing to Node.js

Merged 2 PRs. I found and fixed small typo and bug of the sample codes in the documentation of Node.js. github.com github.com Both of them are landed on 10.2.0 node/CHANGELOG_V10.md at master · nodejs/node · GitHub

Installing node.js v8.11.1 to centos 6.5 server.

Recently, Node.js v8.11.1 was released. From this version, minimum compiler requirement(gcc) for Node.js had been updated to 4.9.4. https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.11.1 In the centOS 6.5 server, …

【メモ】 node8.xにおける async/awaitでtry/catch構文を使ったときのパフォーマンスはどうなるか

メモ node8.x系においてasync/awaitにといてtry/catchを使う場合のパフォーマンスに関する議論 stackoverflow.com ざっくりいうと V8の最新版においては、optimizer compilerであるturbofanによってtry catchの処理の最適化がされているため、V8(5.3以下 ) …

node.js へのコントリビュート

Merged. github.com 最近リリースされたhttp2コアモジュールのdocsの修正のみですがnode.js本家へのPRマージされました。 今後は実際のコードの改修とかどんどんやっていきたい。

node.js nightlyバージョンで使えるようになった http2モジュールについて

概要 先日 node.jsにおいて http/2の実装がマージされました。 experimentalな機能で、現在だとnode nightlyバージョン(9.x系)で実行時にオプションを付けることで http2 コアモジュールが利用可能です。 近々node.js 8.xに取り込まれるようで年内にはちゃん…

babel ES6からES5へのトランスパイル

概要 babel.jsをつかって ES6のシンタックスで書かれたjavascriptファイルをES5のシンタックスにトランスパイルする方法をまとめました。 実務で使ったことなかったので勉強がてらさらっとまとめます。 babel-cliのインストール babelをコマンドラインで利用…

node.js stringからbufferへの変換

node.jsにおいて、文字列をbufferへ変換させたいときの方法をまとめます 環境 node.js 8.1.3 Bufferインスタンスをどう生成するか node.js 8.x系におけるBufferインスタンスの作成において、 new Bufferは既にdepricatedになっている*1ため、ここではbuffer…

AWS LambdaからDynamo DBにデータを追加する

概要 AWS lambda functionが呼び出された際に、AWS dynamoDBのテーブルにデータを追加していく方法についてまとめます。 今回は、API Gateway と lambdaで構築した line botに対して送信されたデータを dynamoDBに追加していくところまで説明します。 IAMユ…

aws lambdaとapi gatewayで linebotを作成する

概要 AWSの API Gateway、lambdaを利用し、ユーザからのメッセージが来たときにlambda関数を呼び出し、ユーザへレスポンスを返すline botを作ります。 行った作業手順を一通りまとめます。 Linebotアカウントの作成 まず、line messaging api用のbotアカウン…

npm5から導入された package-lock.jsonについて

先日npm5がリリースされました。同時期にリリースされたNode.js v8.0.0にもバンドルされており、 複数ある新機能のうち、package-lock.jsonについて気になったので本家のドキュメントの内容を読んでまとめました。 docs.npmjs.com package-lock.jsonについて…

CentOS node.js 6.x系最新版を ansibleでインストールする

CentOS でnode.js 6.x系のインストール方法 CentOSサーバにて、node.js6.x系最新版をインストールする際、 公式のドキュメントにインストール方がまとまっています。 パッケージマネージャを利用した Node.js のインストール | Node.js このドキュメントの記…

node.js Promiseを使った非同期処理

node.jsの非同期処理を書く際に便利なPromiseについて紹介します。 主にnode.js 4.x系以降でデフォルト利用可能な機能になります。 Promiseとは 非同期処理を抽象化したオブジェクトで、非同期処理に関する統一的なインターフェースを提供します。 これによ…

Node.js clusterモジュールについて

シングルスレッドで動作するNode.jsにおいて、マルチコアCPUを持っているマシンの能力を最大限引き出すために、 複数のワーカープロセスを起動して処理を分散させたいといったニーズがあると思います。 そのときに重要なclusterモジュールについて、いつも業…

node.jsで統計処理をするには simple-statisticsが便利

データ解析して統計処理を行う際にはRやpythonがライブラリもそろっていて便利ですが、node.jsでも簡単に統計処理を行いたい場合は、simple-statisticsというnpmモジュールが非常に便利です。 github.com 数値データを配列で持たせて、平均値や中央値、分散…

GraphQLを使ってみた

最近話題になっているGraphQLについて RESTful web api界隈で話題になっている、GraphQLが結構気になっています。 先日のnode学園#23でもGraphQLの話が上がっていて、RESTfulって運用上結構辛いところもあるよね という文脈からGraphQLを推している 発表もあ…

npm v4 v5について

npm v4 v5 について 先日のnode学園でnpm の開発者Forrest Norvellが登壇してnpmのv4 v5について語っていました。 nodejs.connpass.com 発表のスクリプトは以下にまとまっています。 Forrest Norvell曰く、v4はそんなに大きな変更点はなく、v5でdepricatedだ…