kakts-log

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

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

Rust: Error for copying String allocated memory to new variable.

When I write Rust code as below, it occurs error. I tried to print two same String by copying memory. fn main() { let s1 = String::from("Hello"); let s2 = s1; println!("{}, {}", s1, s2); } error[E0382]: use of moved value: `s1` --> src/mai…

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, …

How to solve the yum ** http://mirror.centos.org/centos/6/SCL/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 ** error in Centos6.5 server.

yum

After installing centos-release-SCL yum package in CentOS 6.5 server, installing other yum package was failed. Error message is same as below. $ sudo yum install libcurl http://mirror.centos.org/centos/6/SCL/x86_64/repodata/repomd.xml: [Er…

contributing to mongoDB

OSS

My PR was merged to mongoDB. [SERVER-32809] Fix typo in config_server_test_fixture.cpp - MongoDB

minikube start 時に [Error starting host: Error getting state for host: machine does not exist] が出た時の対処法

前提 macOS 10.11.6 kubectl v1.9.3 minikube v0.25.0 発生内容 ローカル環境でminikubeにより一度作った vmを削除後、 minikube start --vm-driver=virtualbox を実行すると以下のエラーがでる [Error starting host: Error getting state for host: machin…

Docker Swarm まとめ

概要 前記事(http://kakts-tec.hatenablog.com/entry/2018/02/12/220716)に引き続き, Docker公式ドキュメントのPart4 Swarmsの内容を整理します. Part4 Swarms Introduction Part3ではPart2で作成したアプリケーションを取り上げ,Serviceを用いてproduction…

Docker Servicesまとめ

概要 前記事 Docker containerまとめ - kakts-log に引き続き Docker公式ドキュメントのPart3 Servicesの内容を整理します. Part3 Services Introduction パート3では、アプリケーションのスケールを行い,ロードバランシングを有効にさせます. これを行うた…

Docker containerまとめ

概要 前記事に引き続き Docker公式ドキュメントのPart2の内容を整理 Part2 containers Introduction Dockerの方式でアプリをビルドしていく. アプリケーションのヒエラルキーの下層部分であるコンテナから始めます. コンテナの上層はserviceと呼ばれ、produc…

Docker Conceptまとめ

概要 DockerのConceptまわりを再度整理するために 公式ドキュメントのget-started part1の内容をメモ docs.docker.com 1: Docker Concept Docker: アプリケーションを開発・デプロイ・コンテナとして起動するプラットフォーム linuxコンテナをアプリケーショ…

Kubernetesのコンセプトまとめ

Kubernetes コンセプト Kubernetesのコンセプトを理解するために公式ドキュメントを読んでざっくり整理しました。 kubernetes.io overview kubernetesを利用するためには kubernetes apiを使ってクラスタを意図する構成にさせる。 たとえばどのようなアプリ…

contributing node-mongodb-native

oss

merged github.com

What is Ethereum? を読む

概要 この記事はブロックチェーン Advent Calendar 2017 - Qiita 9日目の記事です。 Ethereumについての勉強のため、公式ドキュメントの「What is Ethereum?」を翻訳しました。 What is Ethereum? — Ethereum Homestead 0.1 documentation ところどころ解釈…

symbolic link (soft link)についてメモ

概要 Linuxプログラミングインタフェース18章2節の シンボリックリンクについて、学んだことのメモ Linuxプログラミングインタフェース作者: Michael Kerrisk,千住治郎出版社/メーカー: オライリージャパン発売日: 2012/12/01メディア: 大型本 クリック: 14…

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

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

C言語 crypt()を使ったソースコンパイル時に undefined reference to `crypt' が出たときの対処法

概要 Linuxプログラミングインターフェース の8.5章 「パスワードの暗号化とユーザ認証」のサンプルコードをコンパイルしたときにエラーがでて躓いたので 対処法をメモする Linuxプログラミングインタフェース作者: Michael Kerrisk,千住治郎出版社/メーカー…

facebook/flow Comment Typesによるpure javascriptでの型チェック

概要 javascriptの静的型付けのチェックを行うツールであるflowというツールを導入し、業務で開発しているプロダクトの品質向上を目指そうと考えています。 既にpure javascriptで書かれた環境があるので、このコードを書き直さずにflowを導入したいと考えて…

Redis Sentinel configファイルのまとめ

概要 Redis Sentinelを用いて、Redisクラスタのモニタリング、master slaveの各プロセスの監視と自動フェイルオーバーを行うことができます。 今回はRedis Sentinelの起動時のconfigファイルについてメモがてらざっくりまとめます。 Redis Sentinel について…

Go revelでのmongoDBとのコネクション、CRUD処理についてのメモ

概要 Go revelというwebフレームワークで個人のwebアプリを作っている最中にハマった箇所のメモ。 mgoというGoのmongoドライバを使って、mongoDBとのコネクションを保持させ、CRUD処理を1ファイルにまとめて 他のcontroller層から呼び出して使いたかったので…

Vagrant VM内にたてたmongodにhost OSから接続できるようにする

概要 Vagrant VM内でmongodを立てて、host OSからアクセスできるようにする方法をまとめます。 docker containerで以前mongo用コンテナの建て方についてまとめたのですが、 仕事でVagrantでVMを立て、その中でmongodを立てる機会があり、 今回はその時に行っ…

redis 4系から追加されたUNLINKについて

はじめに 2017年7月にリリースされたredis4.0から、特定のキーの値を非同期的に削除するUNLINKコマンドがでました。 UNLINKコマンドの既存のDELコマンドとの違いついてまとめます。 redis4.0系リリース 2017年7月にredis4.0系がリリースされました。 主な機…

Golang listパッケージを使ったdoubly linked listの操作

go

Golang listという標準パッケージを使ってdoubly linked listの操作を簡単に行えるので、まとめます。 list - The Go Programming Language 使い方 listパッケージを使うためには、公式ドキュメントにある通り、"container/list"をインポートします。 list.N…

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…

Contributing to Fawn module.

Done Refactored lib scripts. by kakts · Pull Request #11 · e-oj/Fawn · GitHub

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アカウン…

確率的データ構造・ブルームフィルタについてのまとめ

概要 特定のデータが、ある集合やリストに含まれるかどうかを判定するために、線形探索や二分探索など、いくつかのサーチアルゴリズムがありますが、 本稿ではメモリの使用効率、探索の際の計算量が優れているブルームフィルタを用いたアルゴリズムについて…