Nim 言語で画像収集クローラーを作ってみた

Nim

今回は Nim 言語を使って、Wikipedia の新着ファイルページから画像を収集するシンプルなクローラーを作ってみたいと思います Wikipedia の新着ファイルページ 作業環境 macOS Sierra Nim Compiler Version 0.17.2 HTML を取得する まずは URL にアクセスし…

Nim 言語で RESTful API 作ってみた 3(新規作成・更新編)

Nim

前回まででユーザ情報の取得と、一覧情報の取得ができるようになりました enomotodev.hatenablog.com 今回はユーザの新規作成と更新を実装していきたいと思います ユーザの新規作成 早速コードを書いてみます post "/users": var params = request.formData …

Nim 言語で RESTful API 作ってみた 2(MySQL編)

Nim

前回はルーティングを設定し、json 形式のレスポンスを返すところまでやったので、今回は MySQL と連携してユーザ一覧情報を返すようにしたいと思います enomotodev.hatenablog.com MySQL でテストデータ作成 MySQL に直接接続して、テスト用のデータベース…

Nim 言語で RESTful API 作ってみた

Nim

インストール Mac なので、さくっと Homebrew でインストールします $ brew install nim インストールが完了したので、バージョンを確認します $ nim -v Nim Compiler Version 0.17.2 (2017-09-08) [MacOSX: amd64] Copyright (c) 2006-2017 by Andreas Rump…

Carbon を拡張して祝日と干支を表示できるようにした

PHP

PHP で日付操作が簡単にできる Carbon を拡張して、祝日と干支(十二支)に対応した JpCarbon を公開しました。 インストール 他のパッケージと同様、composer 経由でインストールします。 $ composer require enomotodev/jp-carbon 使い方 祝日を取得する C…

Redis Cluster でマスタ・スレーブのクラスタ構成を構築してみた

Redis 3.0 から正式に追加された機能である Redis Cluster を使って、同一サーバ内で、マスタが 3 インスタンス、スレーブが 3 インスタンスのクラスタ構成を構築してみました。 図にするとこちらのような構成です。 作業環境 CentOS 7.3 Redis をインストー…

venv で Python の仮想環境をつくってみた

作業環境 macOS 10.12.4 Python3 のインストール まずは、デフォルトの Python のバージョンを確認してみます。 $ python -V Python 2.7.13 Homebrew を使って Python3 をインストールし、インストールした Python3 のバージョンを確認します。 $ brew insta…

Ionic で簡易カウンターアプリ作ってみた

開発環境 macOS 10.12.4 Node.js 7.9.0 Ionic のインストール・プロジェクト作成 Ionic で簡単なカウンターアプリを作成したので、まとめてみました。 まずは npm install で cordova と ionic をグローバルインストールします。 $ npm install -g cordova i…

CentOS に Aerospike インストールしてみた

Aerospike とは Aerospike(エアロスパイク)とは、米 Aerospike 社によって開発されている NoSQL データベースです とにかく高速であると言われており、最近では日本の企業でも採用事例が増えてきています 今回は OSS 版を CentOS 上に構築してみたいと思い…

CentOS に pyenv で Python インストールしてみた

pyenv とは pyenv とは Python のバージョン管理を行なうコマンドラインツールで、複数のバージョンの Python のインストールや、インストールしたバージョンの変更を簡単に行うことができます。 Ruby では rbenv + ruby-build が有名ですが、それの Python …

Hologram を使ってスタイルガイドを作成してみた

Hologram とは Hologram は Ruby 環境で動くスタイルガイドジェネレータです。 .css、.scss、.sass、.less、.styl などの多様な形式のファイルに書かれたコメントから、自動でスタイルガイドを作ってくれます。 スタイルガイドは、静的な HTML ファイルとし…

systemd を使って自作スクリプトをサービス化してみた

作業環境 CentOS 7.2 systemd とは systemd とは、Lennart Poettering と Kay Sievers を中心に開発された、Linux の起動処理やシステム管理を行う仕組みのことです。 2011年5月にメジャー Linux ディストリビューションの Fedora に採用され、2014年12月に…

CentOS 7 に Redash インストールして MySQL のデータをグラフ表示してみた

作業環境 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 に D…

Embulk を使って CSV から MySQL へデータ投入してみた

今回は Embulk を使って、CSV から MySQL にデータを投入してみたいと思います。 Embulk とは Embulk とはバルクデータローダーと呼ばれる、データ転送ツールです。 Fluentd を開発した Tresure Data によって開発され、Fluentd を知っている方は、Fluentd …

CentOS 7 に MySQL 5.7 を yum インストールして初期設定までやってみた

CentOS 7.2 上に MySQL 5.7 を yum インストールして、初期設定まで行ったので、その手順を記していきたいと思います。 はじめに CentOS 7 よりデータベースサーバの MySQL が MariaDB に置き換えられました。 もしすでに MariaDB がインストールされている…

ECMAScript について調べてみた

最近、ECMAScript2015 や ES6 などの言葉をよく聞くようになってきたので、復習も兼ねて、ECMAScript について調べてみました。 ECMAScript とは? ECMAScript とは、標準化団体である Ecma International が策定している、JavaScript の標準規格のことです…

【 Composer 編】Mac に Docker インストールしてみた

前回の『【 php-fpm 編】Mac に Docker インストールしてみた』の続きです enomotodev.hatenablog.com Database と連携する前に、Composer と連携し、PHP フレームワークの Laravel をインストールしてみようと思います Composer のイメージを pull する $ d…

【 php-fpm 編】Mac に Docker インストールしてみた

前回の『【 Nginx 編】Mac に Docker インストールしてみた』の続きです。 enomotodev.hatenablog.com コンテナを削除する Nginx のコンテナなどが稼働していると思うので、一旦全て削除します $ docker rm -f `docker ps -a -q` php-fpm のイメージを pull …

【 Nginx 編】Mac に Docker インストールしてみた

前回の『Mac に Docker インストールしてみた』の続きです。 enomotodev.hatenablog.com 実際に Nginx + PHP + MySQL 環境を構築するにあたって、今回は Nginx コンテナを起動させて、静的コンテンツの表示までを行いたいと思います。 Docker Machine の起動…

Mac に Docker インストールしてみた

Docker + Docker Machine のインストール まずは、Docker 本体と Docker Machine をインストールします。 Mac だと Docker を直接的に実行できないのですが、Docker Machine を使用すると、一旦VM上で CoreOS や boot2docker を実行して、その上で簡単に Doc…

CentOS に Jenkins インストールしてみた

はじめに 今まで Jenkins を使う機会はたくさんあったのですが、インストールや設定周りなどをやったことがなかったので、今回 CentOS 6.7 に実際にインストールして軽く触ってみました。 Java をインストールする Jenkins は Java で書かれているので、まず…

閉包テーブル(Closure Table)を試してみた

はじめに SQLアンチパターンという本を読んでいたら、再帰的なデータに対して『閉包テーブル(Closure Table)』という考え方があっったので、MySQL 5.6 で試してみました。 再帰的なデータとは、例えば上司を1人までもつことができ、部下は複数持つことがで…

Apache + Fluentd + Elasticsearch + Kibana を連携させてみた

Elasticsearch とは Elasticsearch とは2010年に OSS としてリリースされた分散型全文検索サーバです。 実際に CentOS 6.7 にインストールしてつかってみることで Elasticsearch の基本を学んでいきたいと思います。 前回の記事で設定した内容をそのまま使用…

Fluentdつかってみた

Fluentd とは Fluentd とはTreasure Dataという会社が開発している、さまざまなログの収集手段を提供するログ管理ツールです。 今回は CentOS 6.7 で実際にインストールしてつかってみることによって基本的な設定を学んでいきたいと思います。 td-agent をイ…

Gooseつかってみた

Gooseとは GooseとはGo言語で作られたDBマイグレーションツールです。 develop環境やproduction環境など各環境に簡単に設定を変更でき、かなり便利そうなので実際にMySQLで試してみました。 Gooseパッケージの取得 まずは go get して Goose パッケージを取…