無印吉澤

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

Amazon API Gateway で API (Webhook) の呼び出し元 IP アドレスを制限する

前回の記事では、Webhook の受け口を Amazon API Gateway で作る方法をまとめました。 muziyoshiz.hatenablog.com この方法で作った API は、URLを知っている人なら誰でも叩けてしまいます。Amazon API Gateway は IAM や API キーでの認証をサポートしてい…

Webhook の受信を契機として複数の API を叩く Lambda 関数を Node.js で書きたいときのためのメモ

ときどき AWS Lambda の Lambda 関数を Python で書いてます。AWS Lambda 便利ですよね。 しかし最近、他の人に Lambda 関数をいじってほしいけど Python での開発環境を作ってもらうのが面倒なので、一度書いた Lambda 関数を Node.js で書き換える、という…

このブログ(無印吉澤)を HTTPS 対応させました

このブログ(無印吉澤)を HTTPS 対応させました。今後は HTTP の方にアクセスしても、HTTPS の方にリダイレクトされます。 Before: http://muziyoshiz.hatenablog.com/ After: https://muziyoshiz.hatenablog.com/ 今回はそのために必要だった作業と、結局…

Blob をファイルとしてダウンロードさせるブックマークレットが「何もしてないのに壊れた」話

背景 私は、趣味で 艦これアーケードのプレイデータ管理ツール Admiral Stats というサービスを開発・運用しています。これは、 SEGA の艦これアーケード公式ページ から自分のプレイデータを JSON 形式でダウンロードするツール(通称エクスポータ) プレイ…

Playbook 側から Ansible のバージョンを指定する方法(あるいは Ansible 2.x.0 を絶対使わせない方法)

もうすぐ Ansible 2.5 がリリースされますね。僕もそろそろ Ansible 2.5 Porting Guide とか読み始めました。 ところで、僕は Ansible のバージョンが上がった最初のリリースでつまづくことが多くて、どうしてもしばらく様子見してしまいます。例えば、Ansib…

艦これアーケード第3回イベント「索敵機、発艦始め!」プレイデータ解析

はじめに 第3回イベント「索敵機、発艦始め!」について 集計対象のプレイデータ プレイデータの解析結果 イベント攻略率 イベント攻略率:前段作戦の詳細 イベント攻略率:後段作戦の詳細 艦娘カード入手率 艦隊司令部レベル、および経験値 攻略度と艦隊司…

Ansible 2.4 で import_tasks/include_tasks に tags を付けるときの注意点

前提:Ansible 2.4 から include は非推奨になった Ansible 2.4 を使っていたら既に嫌というほど見てると思いますが、include を使うと以下のような警告が出るようになりました。 [DEPRECATION WARNING]: The use of 'include' for tasks has been deprecate…

ansible コマンドでのログ検索結果を TSV や Markdown 形式に変換する方法

これは Ansible Advent Calendar 2017 の13日目の記事です。 ansible コマンドでログ検索 ansible コマンドって使ってますか? Ansible と言えば普段は ansible-playbook コマンドを使うと思うので一応解説しておくと、ansible コマンドは Ansible モジュー…

AWS re:Invent 2017 Serverless re:Cap レポート 〜 Lambda, AppSync, Fargate, Cloud9, ML Service

イベント名:AWS re:Invent 2017 Serverless re:Cap 開催日時:2017-12-11(月) 会場:アマゾン 目黒オフィス 最近、Serverless 関係の開発力を付けないとなあ……と思っていることもあって、AWS のイベントに参加してきました。 いずれちゃんとしたレポートが…

Amazon Linux, RHEL, CentOS での pip のインストール方法の違い

やらかした話 Amazon Linux は Red Hat Enterprise Linux (RHEL) をベースに開発された Linux ディストリビューションです*1。しかし、古い RHEL 5〜6 をベースにして、その後の開発は分岐しているため、パッケージ管理の方法などには違いがあります。 RHEL …

Nginx でリバースプロクシを立てるときに気にすべき proxy_next_upstream 設定

個人的に、Nginx で「これは危険だ」と思っている設定があって、Nginx でなにかあるたびにその設定をつい疑ってしまいます。その設定について他の人に話すたびに、いちいち資料を集めるのが面倒になってきたので、今回はその設定項目についての情報をまとめ…

艦これアーケードのプレイデータ管理ツール Admiral Stats 1年分のユーザデータ解析

今月の9月3日に、艦これアーケードのプレイデータ管理ツール Admiral Stats の公開から1周年を迎えました。少しずつユーザが増え、開発に協力してくれる方も現れて、おかげで今日まで楽しく開発を続けてこられました。本当にありがたいことです。 1周年とい…

Wiki のページ、[[タイトル]] から作るか、いきなり作るか?

最近、職場で Wiki について話していて、Wiki のページの作り方は2通りあるよね、って話になりました。 ページ本文のなかに [[タイトル]] と書いて保存し、あとからそのリンクを踏んで「タイトル」ページの作成画面を表示する いきなりページの新規作成画面…

趣味で作っているサービスを Rails 5.0 から Rails 5.1 へアップグレードする

最近、趣味で作っているサービス(Admiral Stats)を Rails 5.0.0.1 から 5.1.2 にアップグレードしました。サービスが小さいので、それほど苦戦するポイントは無かったのですが、調べたこと、やったことをメモしておきます。 調べたこと とりあえず、関連し…

艦これアーケード第2回イベント「南方海域強襲偵察!」 プレイデータ解析 〜甲種勲章の十分条件は何だったのか?

はじめに 第2回イベント「南方海域強襲偵察!」について 集計対象のプレイデータ プレイデータの解析結果 イベント攻略率 前段作戦 後段作戦 艦娘カード入手率 艦隊司令部レベル、および経験値 攻略度と艦隊司令部レベル/経験値の比較 前段作戦の攻略度と、…

職場ブログに書いた記事まとめ

2017年9月追記: 私は2017年7月末をもって GMO インターネットを退職しました。これは2017年5月31日当時の情報です。 2015年1月に現職についてから、職場のブログに色々と記事を書いてきました。四半期に1回のペースで、それなりにまとまった内容を書くこと…

GNU social (OStatus) 自体の仕様に関する情報源まとめ

(上のロゴは、何故か スペイン語版の Wikipedia にだけあった。本当に公式のロゴ?) はじめに Mastodon 大人気ですね。 僕もとりあえず mstdn.jp と pawoo.net にアカウントを取ってお互いにフォローし、どれくらいの時間差でトゥートが伝達されるのか観察…

Ruby on Rails 5 アプリにあとから API 機能(JWT, CORS 対応)を追加する

はじめに 今回追加した API API を追加した目的 最終的に作った API の仕様 使い方 API トークンの発行 エクスポータの設定 エクスポータの実行 JSON Web Token (JWT) への対応 JWT とは? JWT を操作するための gem Rails アプリに組み込む - トークンの発…

Elixir のテスティングフレームワーク ExUnit, ESpec の比較

Elixir でのコードを書くにあたり、テスティングフレームワーク ExUnit および ESpec を調べてみました。 ExUnit は Ruby で言うところの Test::Unit で、ESpec は RSpec のようです。調べてみた結果、自分は ExUnit を使うことにしたのですが、せっかくなの…

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

きっかけ 自作ツール(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:カード入手状況の…