じぶん Release Notes ver 0.31.5

3回目のリリースノートです! 開発・技術 アクセスログの解析基盤を CloudFormation で作成した S3 にある JSON 形式のアクセスログを AWS Glue のジョブを使って Parquet 形式に変換できるようにした Parquet 形式に変換したアクセスログを Athena でパーテ…

GitLab CI で継続的 composer update する

みなさん composer update していますか? ってことで以前 enomotodev.hatenablog.com という記事を書いたのですが、今回は GitLab CI で継続的に composer update するようにしてみました。 パッケージ紹介 GitLab CI でも簡単に composer update ができる …

じぶん Release Notes ver 0.31.4

先月に続き2回目の『じぶん Release Notes』です。 ブログ enomotodev.hatenablog.com enomotodev.hatenablog.com enomotodev.hatenablog.com 書籍 技術書関連 AWSによるサーバーレスアーキテクチャ エンジニアの知的生産術 ―効率的に学び、整理し、アウトプ…

Nginx のアクセスログとエラーログを CloudWatch に送信する

AWS では Elastic Beanstalk でインスタンスを立ち上げている場合はデフォルトで Nginx のアクセスログとエラーログが CloudWatch に送信されます。 ですが、自分でインスタンスを立ち上げた時は CloudWatch にログが自動的には送信されないので今回は Cloud…

Aurora のフェイルオーバーなどの DB クラスターイベントを Slack に通知する

前回 Aurora のスロークエリを Slack に通知できるようにしました。 enomotodev.hatenablog.com 今回は Failover(フェイルオーバー)などの DB クラスターで発生したイベントを Slack に通知できるようにしてみたいと思います。 Webhook URL の発行 前回 Sl…

Amazon Aurora のスロークエリを Slack に通知する

スロークエリを簡単に確認できるようにしたかったので、Lambda を使って Aurora でスロークエリが発生するたびに Slack に通知するようにしてみました。 ログのエクスポート設定 まずは、クラスターの変更から Amazon CloudWatch Logs にスロークエリログを…

じぶん Release Notes ver 0.31.3

いろんな方の技術ブログを読みあさっていたら『じぶん Release Notes』なるものを発見したので今月からやってみようと思う。 開発・技術 Rails から CloudWatch にカスタムメトリクスを送信できるようにした CloudFormation でカスタムメトリクスを参照する …

CircleCI で継続的 composer update する

みなさんは日々 composer update していますか? 使用しているフレームワークの周辺パッケージの更新に追従し続けるのは大変そうにみえますが、きちんとテストを書いていれば日々の composer update もそれほど苦ではないと思います。 反対に composer updat…

Laravel で秒速で管理画面を作成する

こんにちは、Laravel で簡単に管理画面を作成できる Laractive Admin を作ったので、使い方を紹介していきたいと思います。 環境 PHP 7.2.4 Laravel 5.6.22 MySQL 5.7.22 Laractive Admin のインストール まずは Composer で Laractive Admin をインストール…

Geth + Truffle でテストネットにアカウントを作成しデプロイする

Geth と Truffle を使って、パブリックなテストネットにアカウントを作成し、Ether 取得するところまでやってみました。 テストネットとは、開発者がテストのために使うパブリックなイーサリアムブロックチェーンで、本番稼働しているメインネットとほぼ同様…

Geth(Go Ethereum)を使って、イーサリアムのプライベートネットを構築し送金までやってみた

最近毎日のようにテレビや新聞に取り上げられている仮想通貨ですが、ちょっと試してみたいなぁと思っても実際に投資するのは怖いし・・・って感じだったので、Geth(Go Ethereum)を使って、イーサリアムのプライベートネットを構築し、送金を行ってみました…

Amazon Aurora の MySQL 5.7 互換で生成カラム(generated column)を試してみた

先日の記事で Amazon Aurora の MySQL 5.7 互換で全文検索を試してみたので、今回は MySQL 5.7 からの新機能である生成カラム(generated column)を試してみたいと思います。 enomotodev.hatenablog.com 生成カラム(generated column)とは 生成カラム(ge…

Rust をインストールして、プロジェクト作成&実行までやってみた

何か新しいの触りたいなーと思い、聞いたことはあったけど、今まで触っていなかった Rust をインストールして、プロジェクト作成&実行までやってみました。 Rust のインストール Homebrew で Rust をインストールし、Rust のバージョンを確認します。 $ bre…

Amazon Aurora の MySQL 5.7 互換で全文検索を試してみた

先日、Aurora の MySQL 5.7 互換が正式リリースされました。 Announcement: Amazon Aurora Release 2.01 Now Available Aurora の MySQL 5.7 互換からデフォルトのプラグインとして ngram が入っているようなので、全文検索を試してみました。 ngram を確認…

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 の標準規格のことです…