2017-01-01から1年間の記事一覧
merged github.com
概要 この記事はブロックチェーン Advent Calendar 2017 - Qiita 9日目の記事です。 Ethereumについての勉強のため、公式ドキュメントの「What is Ethereum?」を翻訳しました。 What is Ethereum? — Ethereum Homestead 0.1 documentation ところどころ解釈…
概要 Linuxプログラミングインタフェース18章2節の シンボリックリンクについて、学んだことのメモ Linuxプログラミングインタフェース作者: Michael Kerrisk,千住治郎出版社/メーカー: オライリージャパン発売日: 2012/12/01メディア: 大型本 クリック: 14…
メモ node8.x系においてasync/awaitにといてtry/catchを使う場合のパフォーマンスに関する議論 stackoverflow.com ざっくりいうと V8の最新版においては、optimizer compilerであるturbofanによってtry catchの処理の最適化がされているため、V8(5.3以下 ) …
概要 Linuxプログラミングインターフェース の8.5章 「パスワードの暗号化とユーザ認証」のサンプルコードをコンパイルしたときにエラーがでて躓いたので 対処法をメモする Linuxプログラミングインタフェース作者:Michael KerriskオライリージャパンAmazon …
概要 javascriptの静的型付けのチェックを行うツールであるflowというツールを導入し、業務で開発しているプロダクトの品質向上を目指そうと考えています。 既にpure javascriptで書かれた環境があるので、このコードを書き直さずにflowを導入したいと考えて…
概要 Redis Sentinelを用いて、Redisクラスタのモニタリング、master slaveの各プロセスの監視と自動フェイルオーバーを行うことができます。 今回はRedis Sentinelの起動時のconfigファイルについてメモがてらざっくりまとめます。 Redis Sentinel について…
概要 Go revelというwebフレームワークで個人のwebアプリを作っている最中にハマった箇所のメモ。 mgoというGoのmongoドライバを使って、mongoDBとのコネクションを保持させ、CRUD処理を1ファイルにまとめて 他のcontroller層から呼び出して使いたかったので…
概要 Vagrant VM内でmongodを立てて、host OSからアクセスできるようにする方法をまとめます。 docker containerで以前mongo用コンテナの建て方についてまとめたのですが、 仕事でVagrantでVMを立て、その中でmongodを立てる機会があり、 今回はその時に行っ…
はじめに 2017年7月にリリースされたredis4.0から、特定のキーの値を非同期的に削除するUNLINKコマンドがでました。 UNLINKコマンドの既存のDELコマンドとの違いついてまとめます。 redis4.0系リリース 2017年7月にredis4.0系がリリースされました。 主な機…
Golang listという標準パッケージを使ってdoubly linked listの操作を簡単に行えるので、まとめます。 list - The Go Programming Language 使い方 listパッケージを使うためには、公式ドキュメントにある通り、"container/list"をインポートします。 list.N…
Merged. github.com 最近リリースされたhttp2コアモジュールのdocsの修正のみですがnode.js本家へのPRマージされました。 今後は実際のコードの改修とかどんどんやっていきたい。
概要 先日 node.jsにおいて http/2の実装がマージされました。 experimentalな機能で、現在だとnode nightlyバージョン(9.x系)で実行時にオプションを付けることで http2 コアモジュールが利用可能です。 近々node.js 8.xに取り込まれるようで年内にはちゃん…
概要 babel.jsをつかって ES6のシンタックスで書かれたjavascriptファイルをES5のシンタックスにトランスパイルする方法をまとめました。 実務で使ったことなかったので勉強がてらさらっとまとめます。 babel-cliのインストール babelをコマンドラインで利用…
node.jsにおいて、文字列をbufferへ変換させたいときの方法をまとめます 環境 node.js 8.1.3 Bufferインスタンスをどう生成するか node.js 8.x系におけるBufferインスタンスの作成において、 new Bufferは既にdepricatedになっている*1ため、ここではbuffer…
Done Refactored lib scripts. by kakts · Pull Request #11 · e-oj/Fawn · GitHub
概要 AWS lambda functionが呼び出された際に、AWS dynamoDBのテーブルにデータを追加していく方法についてまとめます。 今回は、API Gateway と lambdaで構築した line botに対して送信されたデータを dynamoDBに追加していくところまで説明します。 IAMユ…
概要 AWSの API Gateway、lambdaを利用し、ユーザからのメッセージが来たときにlambda関数を呼び出し、ユーザへレスポンスを返すline botを作ります。 行った作業手順を一通りまとめます。 Linebotアカウントの作成 まず、line messaging api用のbotアカウン…
概要 特定のデータが、ある集合やリストに含まれるかどうかを判定するために線形探索や二分探索などいくつかのサーチアルゴリズムが使われますが、 本稿ではメモリの使用効率、探索の際の計算量が優れているブルームフィルタを用いたアルゴリズムについてま…
概要 mongoDBのレプリカセットを構築する際に、docker-composeをつかって、複数のコンテナを立ち上げる方法をまとめます。 docker-composeを使うことで、複数のコンテナの設定の記述と、コンテナ起動、停止が楽にできるため、ローカル環境などで軽くmongoDB…
v8 ver6.0がリリースされました。 ざっくりと新機能や改善点を整理します。 v8project.blogspot.jp Main features SharedArrayBuffer ver6.0から、SharedArrayBufferがのサポートが開始されました。 developer.mozilla.org SharedArrayBufferは、javascript…
先日npm5がリリースされました。同時期にリリースされたNode.js v8.0.0にもバンドルされており、 複数ある新機能のうち、package-lock.jsonについて気になったので本家のドキュメントの内容を読んでまとめました。 docs.npmjs.com package-lock.jsonについて…
docker run時にコンテナ内の特定のポートに、host上のランダムなポートをbindさせる方法をまとめます。 簡単なwebサーバの実装とDockerコンテナ用のDockerfileの記述 今回、下記のような構成で簡単なwebサーバを作るとする。 $ tree . ├── Dockerfile # web…
dockerでの開発中に、docker runしてエラーが発生し、exitedになっているコンテナが残った状態になる場合があります。 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0efc271c4b9e testapp "python identidock.py" 6 seconds ago E…
今回、多くの要素を持ち、必ずしもソートされていないコレクションに対して特定の値を探す際に効果的なHash-Basedサーチアルゴリズムについてまとめます。 日本語ではハッシュ法による探索アルゴリズムと呼ばれることもあります。 Hash-Basedサーチアルゴリ…
先日リリースされたv8 5.9において、新たなコード実行パイプラインが導入され、大きくパフォーマンスが向上したとのことです。 今後リリースされるNode.js ver8においてもv8 5.9が使われるため、概要を整理するためにv8本家のブログを和訳してまとめてみまし…
browserifyの仕組みに関して調べてみたのでメモ How browserify works browserifyはコマンドで指定したソースコードからAbstract syntax treeAbstract syntax tree - Wikipedia による静的解析を行い、コードの中に書かれているrequire()を探す。 ソースコー…
Headless Chromeとは chrome 59から、Headlessブラウザとしてchromeを使うことができるようになりました。 https://www.chromestatus.com/features/5678767817097216 2017年5月3日現在では chrome beta版でchrome 59、chrome canary版でchrome 60を利用する…
オライリーのDocker本を買って読み始めました。 第3章までメモをとりつつ読み進めたので、箇条書きですがメモを公開します。 Docker作者: Adrian Mouat,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2016/08/17メディア: 単行本(ソフト…
CentOS でnode.js 6.x系のインストール方法 CentOSサーバにて、node.js6.x系最新版をインストールする際、 公式のドキュメントにインストール方がまとまっています。 パッケージマネージャを利用した Node.js のインストール | Node.js このドキュメントの記…