読者です 読者をやめる 読者になる 読者になる

無印吉澤

ソフトウェア開発、運用管理(俗にいう DevOps)、クラウドコンピューティングなどについて、吉澤が調べたり試したことを書いていくブログです。

自作ツールのアイコンをクラウドワークスのコンペ機能で発注してみた

きっかけ 自作ツール(Admiral Stats)のリリース直後に、サポート用アカウント @admiral_stats を Twitter に用意していたのですが、やり取りが増えてきたので、デフォルトのたまごアイコンをそろそろ卒業したくなってきました。 以前から、アイコンのアイ…

LT で艦これアーケードと Admiral Stats の色々を話してきました

秋葉原IT戦略研究所という、アニメ x IT ネタで同人誌を出したり勉強会を開催しているサークルがあります。そのサークルの勉強会「ShangriLa Meetup」の LT で、Admiral Stats の話をしてきました。 akibalab.connpass.com スライド Admiral Stats は、私が…

信用できる社内 Wiki をつくるために守ってほしい、たったひとつのルール

このページについて この記事は、以前書いた「社内Wikiに情報を書くときに守ってほしい、たったひとつのルール」の続編です。前回は、個々のページをどう書くべきかという話をしましたが、今回は社内 Wiki 全体を信用できるものにする方法について考えます。…

Phoenix Framework に関する有名なベンチマーク同士の関係

Phoenix Framework(以下、Phoenix)は、Elixir のための Web アプリケーションフレームワークです。 Phoenix の開発者 José Valim 氏は Ruby on Rails のコミッタだったため(Rails Contributors - #5 José Valim を見る限り、2014年まで?)、使い勝手はと…

Exrm を使った Phoenix アプリケーションのデプロイ方法を ansible-elixir-stack から学ぶ

これまでのあらすじ Phoenix アプリケーションの情報に関するネット上の情報 ansible-elixir-stack の使い方 ansible-elixir-stack は自動アップグレードをどうやって実現しているのか? deploy_type 変数での動作の切り替え role 内部で実行されるコマンド …

Exrm(Elixir Release Manager)を使った Phoenix アプリケーションのデプロイ

Elixir の勉強中 Phoenix アプリケーションのデプロイ方法 方法1. ソースコードをサーバに置いて、mix phoenix.server で起動 方法2. Exrm でビルドした結果をサーバに置いて、Exrm が自動生成したスクリプトで起動 しかし、自動化しようとするとうまくいか…

艦これアーケードのプレイデータ管理ツール Admiral Stats のソースコード公開のお知らせ

ソースコード公開しました 艦これアーケードのプレイデータ管理ツール "Admiral Stats" のソースコードを、GitHub で公開しました。https://www.admiral-stats.com/ で動いているのと全く同じものです。 github.com 先日正式リリースされた Ruby on Rails 5 …

艦これアーケードのプレイデータ管理ツール Admiral Stats を作って公開したら、プレイヤーが多いのか少ないのかわからなくなってきた話

これまでのあらすじ 最近追加した機能 Admiral Stats の利用状況 Admiral Stats のログ(9/3 〜 10/9 の 37 日間) Google Analytics のデータ(9/3 〜 10/9 の 37 日間) 艦これアーケードのプレイヤーってどれくらいいるの? Admiral Stats のデータから推…

Ansible の --extra-vars 引数を安全に使うためのラッパーを書いてみた

最近は、仕事でも趣味でも、サーバ構築を自動化したいときは Ansible を使ってます。 アプリケーションのデプロイには Capistrano も使うんですが、つい最近 Ansistrano という便利な Ansible role の使い方を覚えてしまったので、そこも Ansible で済むよう…

機械学習初心者が『Python 機械学習プログラミング』(速習コース)を読んだメモ

きっかけ この記事を書いた人のレベル 今回の読書プラン Python 環境の構築 インストール先の環境 Anaconda (Python 3) のインストール 科学計算に関するライブラリのインストール サンプルの実行に必要なライブラリのインストール サンプルの実行 サンプル…

Rails 5 で艦これアーケードのプレイデータ管理ツール "Admiral Stats" を開発中

開発のきっかけ 2016-09-03追記 艦これアーケードとは? Admiral Stats とは? Admiral Stats の画面サンプル サンプル 1:カードの入手履歴 サンプル 2:カードの入手数・入手率のグラフ サンプル 3:レベル・経験値のグラフ サンプル 4:カード入手状況の…

Treasure Data Tech Talk 201607 レポート(古橋さんと成瀬さんの講演メモのみ)

イベント名:Treasure Data Tech Talk 201607 開催日時:2016-07-14(木) 会場:イベント&コミュニティスペース dots. 先週末に、Treasure Data Tech Talk に参加してきました。このイベントは毎回濃い話を聞けるので、行けるときはなるべく参加するようにし…

手を動かす Spark MLlib & Word2Vec Part 2 (Wikipedia 英語版から Word2Vec モデルを作るまで)

このシリーズについて Part 2 の範囲 Wikipedia 英語版のデータからコーパス作成 最終的にやったこと つまづいたこと コーパスの、S3 へのアップロード 最終的にやったこと つまづいたこと spark-submit で使う jar の作成 最終的にやったこと つまづいたこ…

手を動かす Spark MLlib & Word2Vec Part 1 (spark-ec2 でクラスタを構築するまで)

このシリーズについて Part 1 の範囲 Spark をローカル環境(Mac)にインストールする 最終的にやったこと つまづいたこと ローカル環境での Word2Vec の実行 最終的にやったこと つまづいたこと Amazon EC2 への Spark クラスタの構築(spark-ec2 を使った…

Habitat を触っていて気になった、細かいことあれこれ

Habitat について知りたい方は、まずは私がエンジニアブログに書いた Habitat の概要説明をご覧ください。自作のイメージ図を使って、Habitat のわかりにくい独自用語を解説しています。 recruit.gmo.jp で、上記の記事を書いた時に、あまりにも細かすぎるの…

Fluentd Meetup 2016 Summer レポート 〜 v0.14 の新機能からプラグイン開発者向け API まで

イベント名:Fluentd Meetup 2016 Summer 開催日時:2016-06-01(月) 会場:イベント&コミュニティスペース dots. 約1年ぶりに開催された Fluentd Meetup に参加してきました。今回は、5月31日にリリースされたメジャーバージョンアップの v0.14 について、…

OS X + Docker Machine + Cloudera QuickStart Docker Image で Spark MLlib のお試し環境を構築する

最近、Spark MLlib を勉強するための環境を作る機会があったので、せっかくなので Cloudera QuickStart Docker Image で環境構築してみました。その際に、普通に進めるとうまくいかないポイントがいくつかあったので、そのときの構築手順をまとめておきます。

社内Wikiに情報を書くときに守ってほしい、たったひとつのルール

このページについて これは、社内 Wiki に情報を書くときに、私が個人的に守っていて、チームメンバにもできるだけ守ってほしいルールの紹介記事です。このルールを実際に運用するためのコツについても、基本ルールの派生という形で紹介します。 想定する環…

Swim.com の workout データをエクスポートする方法

Swim.com 活用のすすめ 自分以外に使っている人を見たことないですが、Swim.com というスイマー用の SNS があります。 この SNS は、泳いだ距離や速さを自動的に記録できるスイムウォッチや、Swim.com アプリが動くスマートウォッチに対応しており、スイマー…

Ansible でインベントリのホスト変数を when に渡した際の不思議な動作(Ansible 1.9/2.0 共通)

同じグループに属するホストのうち、特定のホストのみで実行したいタスクがある、ということがたまにあります。そういうとき、私はインベントリファイルでホスト変数を定義して、この変数で処理を分岐させる、ということをしていました。 今回は、そんなとき…

Ansible 2.0 で追加されたモジュールおよびオプション一覧を無理矢理作る

Ansible 2.0 の売りの一つ:新モジュールの豊富さ Ansible 2.0 Has Arrived(日本語訳:Ansible 2.0リリース!)のなかで、Ansible 2.0 は「200個以上の新モジュール」を同梱している、と謳われています。 Ansible 2.0 also continues our long “batteries i…

Ansible 2.0 から使えるようになった consul モジュールを試してみた

Ansible 2.0 になって使えるモジュールが大幅に増えましたが、その中に Consul 関係のモジュールがいくつかあります。前から気になってたので、ちょっと試してみました。

Mastering Bitcoin(日本語訳 PDF)を読んで解決した疑問点、しなかった疑問点

「ブロックチェーン」という単語をニュースでよく見かけるようになってきたので、そろそろ常識として抑えておこうと思い、Bitcoin の名著として評判の高い "Mastering Bitcoin" を読みました。 Mastering Bitcoin: Unlocking Digital Cryptocurrencies作者: …

無印吉澤(旧)の RSS へのアクセスを、このブログにリダイレクトするよう設定しました

移転から1年近く経過し、はてなブログを使っていて特に問題も無いので、無印吉澤(旧)の RSS フィードに対するアクセスを、このブログに転送するように設定しました。 リダイレクトされてきた皆様お久しぶりです。実は1年くらい前から更新再開してました。最…

タニタの Health Planet から新しいデータだけエクスポートして Google Spreadsheet にポコポコ足していく方法

これまでのあらすじ 今回の内容 この記事を書いた時点のバージョン 事前準備 Health Planet API の準備 Google Drive API の準備 Drive API の有効化 Drive API に接続するための認証情報の作成 Google Spreadsheet ファイルの作成 Google Spreadsheet ファ…

Health Planet からデータをエクスポートするための embulk-input-healthplanet プラグイン

きっかけ:エクスポート機能がほしい 注意事項 使用手順 1. Health Planet のアカウント作成 2. Client ID および Client Secret の取得 3. Embulk のインストール 4. embulk-input-healthplanet のインストール 5. Embulk の設定ファイルの作成 6. 実行 ソ…

2015年12月に発表したスライド2件(Embulk 関連、Otto 関連)

年末は、この忙しい時に Ingress やりに沖縄行って美味しいもの食べてたせいでプレゼンの準備でバタバタしてました。 いずれのプレゼンもこのブログに書いたメモを発展させた内容なので、このブログしか見てない方向けにスライドを紹介しておきます。 あえて…

HashiCorp のツールを動かすと自動的に作られる checkpoint_signature とは何か?

Otto の動作を調べていて気付いたのですが、ottoコマンドを実行すると ~/.otto.d ディレクトリ以下に checkpoint_signature というファイルが自動的に作られるようです。 例えば、一度 ~/.otto.d ディレクトリを削除してから otto version を実行すると、以…

解説:Otto の基本概念、フォルダ構造、および Otto 0.1 では未実装の機能一覧

目次 目次 はじめに Ottoの基本概念 Appfile Infrastructure Flavor Foundation Directory フォルダ構造 Otto 0.1では未実装の機能(ドキュメントの記載) Application type および infrastructure type のプラグイン Custom Foundations Dependency version…

解説:Otto 0.1で dependency (AppType = docker) を指定した場合の動作

はじめに 結論 動作確認の結果 動作環境 サンプルアプリのダウンロード コンパイル ローカル環境への構築 ローカル環境への構築結果の確認 2015-11-24追記 AWSへのデプロイ AWSへのデプロイ結果の確認 最後に はじめに Otto とは、9月のHashiConfで発表され…

HashiCode #2 レポート 〜HashiConf 2015のSession内容や、新製品Nomad、Ottoの紹介など

イベント名: HashiCode#2 HashiCorp道場番外編 〜HashiConf 2015報告会〜 開催日時: 2015-10-19(月) 19:30-21:00 会場: インプレスセミナールーム(神保町) クリエーションラインの前佛さんのイベント HashiCode#2 に参加してきました。 今回の内容は、9/28…

SQLアンチパターンをパッと思い出すための一覧

SQLアンチパターン作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (41件) を見る SQLアンチパターン読みました。非常に面白かったです。…

Pebble Timeのswim.comアプリで泳いだ距離を自動的に記録する

Pebbleは防水のスマートウォッチです。公式サイトには、Pebble Time と Pebble Time Steelは30m防水、初代Pebble (Pebble Classic) と Pebble Steel は50m防水と書かれています。 2015-09-26追記: 記事を書いた時は30〜50「気圧」防水と誤解していたのです…

Ansible Meetup in Tokyo 2015.09レポート 〜Ansible 2.0の機能紹介、Ansible 2.0で組むKubernetesクラスタなど

イベント名: Ansible Meetup in Tokyo 2015.09 開催日時: 2015-09-14(月) 会場: 日経ビル6F 日経カンファレンスルーム(大手町) Webサイト: Ansible Meetup in Tokyo 2015.09 - connpass 最近、Ansibleを業務で使い始めて色々調べていたところに、ちょうどA…

AnsibleのGroupごと&状態ごとにServerspecのテストを書く

最近開発に参加したサービスで、サーバの構築はAnsibleのPlaybookで自動化されているのですが、構築後のテストは手作業で行っている環境がありました。それだけなら、正常にサービスが動作している状態をServerspecで定義すればテストできそうですが、このサ…

第3回ペパボテックカンファレンス レポート 〜 ポエム駆動開発、YAPC::Asia Tokyoでベストトークを取る方法など

第3回ペパボテックカンファレンス - connpass 最近、採用目的(YAPCで流れまくってた動画)の技術者向けアピールに積極的な印象のある、GMOペパボの第3回ペパボテックカンファレンスに参加してきました。第1回は4/19に東京開催、第2回は7/4に福岡開催。そして…

YAPC::Asia Day 2 レポート 〜 Mackerelの開発言語、ペパボのデプロイ高速化など

引き続きDay 2も参加してきました。昨日のDay 1のレポートはこちらをどうぞ。 関連記事:YAPC::Asia Day 1 レポート 〜 Miiverseのデプロイ手法、HTTP/2、Electronなど - 無印吉澤@HatenaBlog Day 2に聴講したセッションはこちら(↓)。ベストトーク賞(1日…

YAPC::Asia Day 1 レポート 〜 Miiverseのデプロイ手法、HTTP/2、Electronなど

YAPC::Asiaの2日チケット(Tシャツあり)を購入して、1日目参加してきました。僕が聞いたセッションはこちら。 1日目(2015-08-21)のトークスケジュール Opening (Daisuke Maki) メリークリスマス! (Larry Wall) 世界展開する大規模ウェブサービスのデプロ…

embulk-filter-insert 1.1.0リリース(Liquidで環境変数を挿入できるようになりました)

Embulkが0.6系から0.7系にメジャーバージョンアップされて、色々と機能が増えたのに加えて、APIにも変更が加わったようです。 リリースノート Release 0.7.0 — Embulk 0.7 documentation Release 0.7.1 — Embulk 0.7 documentation プラグインを開発している…

GitHub Wiki (personal plan)を個人用Wikiとして使ってみた話

個人的な読書や勉強のメモを取るツールとして、かなり昔は紙copiやEvernote、ここ数年はEmacs + howmを使っています。howmはとても良いツールなのですが、いくつか不満があり、有料でもよいからクラウドサービス型のWikiに移行できないものかと考えていまし…

Pebble Timeは実用品かわいい

Pebble Time(白)買いました。1週間ほど使ってみて、ものすごく気に入ったので、勢いに任せて紹介記事を書いてみます。

テストコードのついているEmbulkプラグイン一覧(2015年6月版)

自分でも公開/非公開含めて何個かプラグインを書いてみたのですが、今のところテストコードは一個も書いたことないです。 とはいえ、Embulkのバージョンが上がったりしても使えるように、できるだけテストコードは書いておきたいし、どうせ書くならそのコミ…

カラムを好きな場所に挿し込みたい人のためのembulk-filter-insertプラグイン

EmbulkのFilterプラグイン「embulk-filter-insert」を本日リリースしました。Filterプラグインと言いつつ、このプラグインを適用してもレコードは減らず、むしろカラムが増えます。Rubygemsで公開済みのため、インストールは以下のコマンド一発です。 $ embu…

Norikra Meetup #2 参加レポート

イベントページ: Norikra meetup #2 : ATND 僕自身はNorikra使ったことないのですが、周囲には使っている人がいて評判も良いので、他の人のユースケースも聞いてみたい、あわよくば自分とこの業務にもねじ込みたい、と思い参加してきました。期待通り、ユー…

Fluentd Meetup 2015 夏の参加レポート

イベントページ: Fluentd Meetup 2015 夏 - 2015/06/01(月) - dots. Fluentd Meetupに参加してきました。6月上旬なのにタイトルは夏?と思わないでもないですが、まあすでに暑いですしね……。 イベント中にざっと講演内容をメモしてたので、せっかくですしブ…

EmbulkのfilterプラグインをRubyで開発する話

Embulkにはfilterプラグインという仕組みがあり、これを自作することで、Embulkで入力およびパースした結果を色々と加工することができます。例えば、「すべてのログにホスト名を追加する」といった、ログの種類によらない共通処理を定義するのに向いた仕組…

EmbulkのLocalThreadExecutorプラグインに最大スレッド数を指定する方法

2015年4月7日にリリースされたEmbulk 0.6.0から、Executorをプラグインで差し替え可能になりました。このニュースリリースの中に、 The built-in executor plugin is LocalExecutorPlugin that runs tasks using multiple threads. It has a shared thread p…

複数行からなるログを解析するために、EmbulkのparserプラグインをRubyで開発する話(実践編)

前回の準備編からの続きです。 基本的には、準備編で用意したコードに、Rubyでパース処理を書き足すだけで、簡単に独自のparserプラグインを作れました。ただ、その際にいくつか調べた点や、自分で工夫した点があったのでご紹介します。何かの参考になれば幸…

複数行からなるログを解析するために、EmbulkのparserプラグインをRubyで開発する話(準備編)

最近、仕事の関係で、1個のログが1行〜複数行からなる特殊なログを解析する必要があり、Rubyでパーサを書く機会がありました。 しかし、そういえばこのパース処理ってEmbulkを使えばより簡単に作れて、かつ機能追加(パース結果をデータベースに入れるとか)…