Aerospike とは Aerospike(エアロスパイク)とは、米 Aerospike 社によって開発されている NoSQL データベースです とにかく高速であると言われており、最近では日本の企業でも採用事例が増えてきています 今回は OSS 版を CentOS 上に構築してみたいと思います 作業環境 CentOS 7.3 Aerospike のインストール 公式ドキュメントを参考に Aerospike をインストールします $ wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/el7' $ tar -xvf aerospike.tgz $ cd aerospike-server-community-3.12.0-el7/ $ sudo ./asinstall 自動起動設定をして、Aerospike を起動します $ sudo systemctl enable aerospike $ sudo systemctl start aerospike Aerospike が起動したのでステータスを確認してみましょう $ sudo systemctl status aerospike ● aerospike.service - Aerospike Server Loaded: loaded (/usr/lib/systemd/system/aerospike.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/aerospike.

Read more →

pyenv とは pyenv とは Python のバージョン管理を行なうコマンドラインツールで、複数のバージョンの Python のインストールや、インストールしたバージョンの変更を簡単に行うことができます。 Ruby では rbenv + ruby-build が有名ですが、それの Python 版だと考えていただけたらと思います。 作業環境 CentOS 7.3 pyenv のインストール まずは依存パッケージを yum でインストールします。 $ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git pyenv を ~/.pyenv に git clone します。 $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv ~/.bash_profile に環境変数などを設定します。 $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(pyenv init -)"' >> ~/.

Read more →

Hologram とは Hologram は Ruby 環境で動くスタイルガイドジェネレータです。 .css、.scss、.sass、.less、.styl などの多様な形式のファイルに書かれたコメントから、自動でスタイルガイドを作ってくれます。 スタイルガイドは、静的な HTML ファイルとして出力され、独自のテンプレートを使ってスタイルガイドをカスタマイズすることもできます。 作業環境 CentOS 7.2 Ruby 2.3.1 Bundler 1.13.2 Sass 3.4.22 Hologram のインストール プロジェクトの Gemfile に gem "hologram" を追記します。 source "https://rubygems.org" gem "sass" gem "hologram" 追記したら bundle install しましょう。 $ bundle install インストールが完了したので、バージョンを確認してみましょう。 $ hologram -v hologram 1.4.0 Hologram の始め方 hologram init コマンドで hologram の設定ファイルなどが作成されるので、hologram init を実行してみます。 $ hologram init Created the following files and directories: hologram_config.

Read more →

作業環境 CentOS 7.2 systemd とは systemd とは、Lennart Poettering と Kay Sievers を中心に開発された、Linux の起動処理やシステム管理を行う仕組みのことです。 2011年5月にメジャー Linux ディストリビューションの Fedora に採用され、2014年12月にリリースされた CentOS 7 にも採用されました。 systemd はこれまで使われてきたデーモンごとの起動シェルスクリプトに代わり、『ユニットファイル』と呼ばれる設定ファイルに各デーモン用の初期化命令を記述します。 コマンドを作る まずは systemd に登録して動作させるスクリプトを用意します。 今回は1秒ごとに現在時刻をログに追記していくスクリプトで試してみたいと思います。 /opt/date.sh #!/bin/bash while true do date >> /tmp/date.log sleep 1 done 実行権限を与えます。 sudo chmod 0755 /opt/date.sh ユニットファイルを作成する /etc/systemd/system/date.service [Unit] Description = date log daemon [Service] ExecStart = /opt/date.sh Restart = always Type = simple [Install] WantedBy = multi-user.

Read more →

作業環境 CentOS 7.2 Java 1.8.0_101 MySQL 5.7.14 Git 1.8.3.1 Docker + Docker Compose のインストール Re:dash は CentOS では Docker のコンテナ上で起動させるので、まずは Docker をインストールします。 Kernel のバージョンを確認する CentOS 7 に Docker をインストールするには Kernel が 3.10 以上ではないといけないようなので Kernel のバージョンを確認します。 $ uname -r 3.10.0-327.el7.x86_64 3.10 以上なので、Docker のインストールを進めていきます。 Docker のインストール まずは root ユーザに変更します。 $ sudo su - ここからは root ユーザでの作業にになります。 次のコマンドで Docker のインストールができます。 # curl -fsSL https://get.docker.com/ | sh インストールが完了したので、バージョンを確認します。

Read more →

今回は Embulk を使って、CSV から MySQL にデータを投入してみたいと思います。 Embulk とは Embulk とはバルクデータローダーと呼ばれる、データ転送ツールです。 Fluentd を開発した Tresure Data によって開発され、Fluentd を知っている方は、Fluentd のバッチ版だと考えると理解しやすいと思います。 (Fluentd についてはこちらで記事にしています) Fluentd のように入力・出力のプラグインは多数公開されており、例えば、MySQL の入力プラグインと、ElasticSearch の出力プラグインを組み合わせることによって、MySQL のデータを ElasticSearch に移したりなど、異なるデータストア間でのデータの交換が容易に行うことができます。 作業環境 CentOS 7.2 Java 1.8.0_101 MySQL 5.7.14 ※ Embulk の実行には Java が必須となるので、事前にインストールしておきましょう。 Embulk のインストール GitHub に記載されている通りにコマンドを叩いていきます。 $ curl --create-dirs -o ~/.embulk/bin/embulk -L "http://dl.embulk.org/embulk-latest.jar" $ chmod +x ~/.embulk/bin/embulk $ echo 'export PATH="$HOME/.embulk/bin:$PATH"' >> ~/.bashrc $ source ~/.bashrc 以上で完了となるので、バージョンを確認してみます。 $ embulk --version embulk 0.

Read more →

CentOS 7.2 上に MySQL 5.7 を yum インストールして、初期設定まで行ったので、その手順を記していきたいと思います。 はじめに CentOS 7 よりデータベースサーバの MySQL が MariaDB に置き換えられました。 もしすでに MariaDB がインストールされている場合はこれからインストールする MySQL と競合を起こさないように削除しましょう。 $ sudo yum remove mariadb-libs $ sudo rm -rf /var/lib/mysql これで MariaDB 本体とデータフォルダを削除できました。 yum リポジトリの追加 CentOS 7 に MySQL 公式の yum リポジトリを追加します。 $ sudo rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm MySQL のインストール MySQL 公式の yum リポジトリが追加できたので、yum install コマンドでインストールしましょう。 $ sudo yum install mysql-community-server バージョンを確認します。 $ mysqld --version mysqld Ver 5.

Read more →

最近、ECMAScript2015 や ES6 などの言葉をよく聞くようになってきたので、復習も兼ねて、ECMAScript について調べてみました。 ECMAScript とは? ECMAScript とは、標準化団体である Ecma International が策定している、JavaScript の標準規格のことです。 開発当初の JavaScript は、各ベンダーのブラウザによって独自拡張が数多く実装されており、互換性が低かったため、Ecma International が中心となり標準規格である ECMAScript が策定されました。 ECMAScript 6 / 2015 って何? 正式名称は『ECMAScript 2015』(省略して『ES2015』とも呼ばれる)。 リリースは2015年6月。 ECMAScript の 6th Edition である為、当初は『ES6』と呼ばれていたが、正式名称を『ECMAScript 2015』とし、今後年単位のリリースとし、バージョンを年(ES2017, ES2018, …)にしていく予定のようです。 なお、最新のバージョンは2016年6月にリリースされた『ECMAScript 2016(ES2016)』になります。 公式へのリンクはこちらです。 ECMAScript 2015 Language Specification – ECMA-262 6th Edition ECMAScript® 2016 Language Specification ES2015 の新機能 ES2015 で追加された主な機能は下記になります。 let ・ const キーワードによる変数宣言 クラス構文 アロー関数 分割代入 配列展開 可変長引数 関数のデフォルト引数 テンプレート文字列 ここから1つひとつ見ていきましょう。

Read more →

前回の『【 php-fpm 編】Mac に Docker インストールしてみた』の続きです Database と連携する前に、Composer と連携し、PHP フレームワークの Laravel をインストールしてみようと思います Composer のイメージを pull する $ docker pull composer/composer ...(略) Status: Downloaded newer image for composer/composer:latest Composer コンテナを起動する Composer で Laravel をインストールする前に、前回作成した index.php を削除しておきましょう cd ~/docker/www && rm index.php それでは Composer で Laravel をインストールしてみます $ docker run --rm -v /Users/enomotodev/docker/www:/app composer/composer create-project --prefer-dist laravel/laravel ./ これで Laravel がインストールされました --rm オプションを使用することによって、コンテナを起動して終了するとコンテナを破棄してくれます ~/nginx/nginx.conf を下記のように編集して、Nginx のコンテナを再起動させます ~/nginx/nginx.conf root /var/www/html; ↓ root /var/www/html/public; Nginx コンテナを再起動 $ docker restart nginx 次にパーミッションを整えます

Read more →

前回の『【 Nginx 編】Mac に Docker インストールしてみた』の続きです。 コンテナを削除する Nginx のコンテナなどが稼働していると思うので、一旦全て削除します $ docker rm -f `docker ps -a -q` php-fpm のイメージを pull する 公式の php-fpm のイメージを pull します $ docker pull php:fpm ...(略) Status: Downloaded newer image for php:fpm php-fpm のコンテナを起動する 最初に Document Root に配置する PHP ファイルを作成します ~/docker/www/index.php <?php phpinfo(); ?> PHP ファイルの準備ができたら php-fpm のコンテナを起動しましょう $ docker run --name fpm -p 9000:9000 -v /Users/enomotodev/docker/www:/var/www/html -d php:fpm --name オプションで fpm と指定することによって、fpm という名前でコンテナを起動しています

Read more →