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 →

前回の『Mac に Docker インストールしてみた』の続きです。 実際に Nginx + PHP + MySQL 環境を構築するにあたって、今回は Nginx コンテナを起動させて、静的コンテンツの表示までを行いたいと思います。 Docker Machine の起動 前回から、PC をシャットダウンしたり、再起動している場合は、もう一度 Docker Machine を起動させなければいけないので、下記のコマンドで起動させてください。(それ以外の方は次の『Nginx コンテナを起動させる』から読んでください) $ docker-machine start dev-machine Starting "dev-machine"... (dev-machine) Waiting for an IP... Machine "dev-machine" was started. Waiting for SSH to be available... Detecting the provisioner... Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. 前回と同じ手順を踏んで、Docker Machine に接続できるようにしていきます。 $ docker-machine env dev-machine export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.

Read more →