RubyのTimeクラスとDateクラスの使い分け
RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita 上記記事ではTimeクラスを使おうと結論付けられていて、基本は自分もそうしているのだけれど、当然クラスが違えば振る舞いも違ってくるので、あえてDateクラスを遣う場面もあるなぁという話。 日付処理はDateクラス便利 日付に関係した処理はかなり充実している。 [1]...
View ArticleDockerコンテナが使用するIPレンジを変更する
環境はCentOS6.x以上もしくはCoreOS。Docker Docsに記載されている内容を実践して、少し知見を付け加えたものです。 前提:Dockerコンテナのネットワーク構成 Dockerサービスを起動すると自動的にdocker0と呼ばれるbridgeが作成され、すべてのコンテナはこのブリッジに接続される。 $ ip a show docker0 3: docker0:...
View ArticleCoreOSをインストールしてから接続するまで
前提 systemdを採用している。サービス管理はすべてsystemctlから。ログを見たいときはjournalctlを使用する。 パッケージマネージャーは存在しない。サービスはDockerで賄う。 システムファイルは原則として上書きできない。設定変更はcloud-config.ymlを通じて行う。 ローリングアップデートで自動的にOSアップデートがかかる。 インストール...
View Articleaws-cliでLambdaのScheduled Eventを作成する
AWS CLI自体が今月始めたばかりぐらいなのだが、とりあえず手始めにということで、Lambda関数を作成してみた。昨年リリースされたLambdaのスケジュール実行を利用し、EC2インスタンスの自動起動/停止を題材としている。 IAMロールの作成...
View ArticleAWS1年目無料期間でやったこととハマったこと
昨年のJAWS DAYS(3/22)のハンズオンでAWSアカウントを作り、そこから1年間の無料期間でいろいろやったことを書き出す。正直言ってきちんと活用し切れなかったなぁという思いがあるので参考にならないかも。 最初にやること 気を付けるポイントとしては セキュリティ と 課金 かと。以下、だいたいがよく言われていることではある。 IAMユーザーを作成する...
View ArticleZaimのデータをLogstashでAmazon Elasticsearch Serviceへ投入する
資産状況を簡単にグラフ化出来ないかと考えて挑戦。家計簿サービスの中でもZaimはAPIを公開しており、jsonでデータの取得ができる。これをPythonを使って取得し、勉強も兼ねてAmazon Elasticsearch Serviceへ投入する形でグラフ化を実現してみた。なお、大量のjsonの投入にはせっかくなのでElastic製のlogstashに挑戦している。 Amazon...
View ArticlegollumをAlpine LinuxでDocker化
最近勉強したことをメモするのにgollumを使っていたのだけど、いまどきCentOS7に何も考えずこれを動かしておくのも勿体無いなと思い、Alpine LinuxでDockerコンテナ化してCoreOSで動かすことにした。Alpine Linuxは当方初挑戦である。今回の成果はGitHubにも上げました。 chroju/docker_gollum: gollum on docker (Alpine...
View ArticleCloudTrailと連携させたElasticsearch Serviceをカスタマイズして使う
Amazon CloudTrailのログをElasticsearchに投入してKibanaで見やすくするソリューションはわりと知られているが、特に最近はCloudWatch Logsに「Streaming to Amazon Elasticsearch...
View ArticleDocker複数コンテナから成るサービスの取り扱い
更新:2016/09/23 23:30 当初「EFKスタックで始めるDocker Compose on CoreOS」というタイトルにしていましたが、EFKに全然触れていないことに気付いたのでタイトル変更。...
View ArticleHashiCorp Vaultを機密情報データベースとして検証する
あまりまだメジャーではないみたいですが、HashiCorpが機密情報管理用のツールとしてVaultを出しています。代替になるツールもあまり思い浮かばないし、物は試しと使ってみました。 Vaultでできること概要 機密情報等をKey,Value形式で書き込むと暗号化して保存してくれる。 Secret...
View ArticleCircleCIでmarkdownからスライド資料を自動生成する
先日初めてLTというものをする機会がありましたので、せっかくだし楽にスライド資料を作れる仕組みを作ってしまおうと思ったのが動機になります。 実現したかったこと markdownで資料を作成してgit pushするとCircleCIがスライド資料に起こしてくれる。 スライド資料はGitHub Pagesで公開され、そのまま発表に使える。 ついでにCircleCI上で文法上の誤りもテストしてくれる。...
View ArticleinfluxDB + Grafanaに入門する
背景 可視化ツールとしてはElasticsearchを常に使っていたのですが、いわゆるサーバーのメトリクスデータのような数値データを記録するのであれば、influxDBというのもあるということでお試し。 influxDB + Grafanaの概要 influxDB influxDBは時系列DB (Time series database)...
View Article個人でサーバーレスっぽいことやろうとしてピタゴラスイッチになった話
※追記アリ: サービス仕様の変更により、すでにこの話は古くなっています。 長年独自ドメインの下でプロフィールサイトをVPSに置いていたのですけど、いまどき静的サイトを返すのに自力でnginx動かす必要もなさそうだし、VPSの料金もかかってるし、AWSでなんとかしようと考えました。...
View Articleesa.ioで書いた記事をQiitaへマルチポストする
個人で使っているesa.ioでブログやQiitaの下書きをしているのだが、その後アップロードするときに「手でコピペ」しているのが面倒になり、Webhookを使った自動マルチポストを実装してみた。 要件 esa.ioで新しく「#qiita」タグの付いた記事を作成したとき、Webhookでesa.io記事作成者(screen name)と同名のユーザーでQiitaへ同じ記事を投稿する。...
View ArticleinfluxDBとGrafanaで手の届かないところ
influxDBとGrafanaで様々なメトリクスグラフを作っていて、基本的には気に入ってはいるのですが、ちょいちょい痒いところに手が届かないのでまとめておきます。 influxDBとGrafanaの基本については こっち 参照で。なお用途としてはAPI叩いた結果を格納したり、サーバーからメトリクスを上げさせて格納したりということをしています。 RP,...
View ArticleAmazon Echo (Alexa) のSkillの開発に必要な基本概念を押さえる
Amazon Echo Dotを買ったので、早速Skillを自分で作るなどしてみたのだが、そのとき調べたことを書き記しておく。だいたい入門としてはこれぐらいの内容があれば足りるはず。 Alexaの開発についてはわりと資料が充実していて、公式のドキュメントもすでに日本語になっているし、ビデオを交えたトレーニング資料も存在している(現時点ではまだ途中までの公開)。 Alexa Skills...
View Articlesudo時の環境変数上書き / 引き継ぎについて
sudo 実行時、環境変数は変身ユーザーのもので基本的に上書きされると認識しているのだが、実際どう上書きされているのかとか、実行ユーザー側のものを引き継いで使いたい場合はどうしたらいいのかとか、よくわかってないので少し調べたメモ。 なお、以下では sudo で他のユーザーに成り替わることを「変身」と呼称する。日本語版のMan pageでも使われている用語であるため。また確認はCentOS...
View ArticleGrafanaのDashboard等をファイルで管理する
Grafanaのdatasourceとdashboardは従来REST APIか、GUIを通じてしかexport/importできなくて、Git等で管理するのに少し工夫が必要だったのだけど、v5.0からファイルでの管理に対応した。それについてドキュメント読んでメモしただけの記事。 Provisioning | Grafana Documentation...
View ArticleTerraformドキュメントやsnippetを出力するCLIツール、tfdocをGoで作った
Terraformを書くとき、各リソースをどう書けばいいのか、常にウェブで Terraform Documentation を見ながら書いていたんだけど、ブラウザとエディタを行き来するのが結構面倒だった。Ansibleにはドキュメントとスニペットを吐き出す ansible-doc...
View ArticleEvernote がエクスポートする xml ファイルをプレーンテキストに変換する
表題の雑スクリプトを書いたので誰か欲しい人いるかなという感じで書いておきます。 背景 Evernote はノートのエクスポート形式が HTML か、独自の XML フォーマットだけであり、プレーンテキストは選べません。 また複数ノートを一括でエクスポートした場合、全ノートが1つの XML に結合されてエクスポートされます。 非常に扱いづらいのでプレーンテキストに変換することにしました。...
View Article