ようへいの日々精進XP

よかろうもん

メモ

ギョームにてすぐに日本時間が欲しい時に僕がやること

tl;dr 何やるか 同じようなことを python でも 以上 tl;dr AWS がメールで送ってくる EC2 等のメンテナンス通知. メンテナンスの日時が UTC で表記されているので, その時間を日本時間 (JST) で欲しい時に僕がやっていることをメモっておきます. 何やるか ま…

jekyll で作ったペライチページを S3 と CloudFront, ACM, Route53 でサクッと公開出来たのが心地よかったのでメモ

tl;dr jekyll 静的サイトを公開する為の準備 鉄板 ドメイン サーバー証明書 S3 + CloudFront デプロイ 以上 tl;dr oreno.tools というドメインを酔った勢いで取得して, いつかサイトを公開してみたいなと思っていたので, Jekyll という Ruby 製のサイトジェ…

infrataster-plugin-ftp を作ってリリースしました

tl;dr 詳細は 想定するユースケース 以上 tl;dr 前回, rspec-ftp を少し触ってみました. rspec に乗っかることで, FTP ユーザーの振る舞いをテスト出来るようにしてみたつもりです. inokara.hateblo.jp せっかくなので, infrataster のプラグインも作ってみ…

FTP ユーザーの振る舞いをテストをする rspec-ftp を試した + 抹茶を追加しました

tl;dr FTP ユーザーの振る舞いをテストする なぜ, FTP ユーザーの振る舞いをテストしたいのか サンプルはこちらから サンプル実行 想定する FTP サーバー, FTP ユーザー 環境構築 ユーザー名, パスワードを secret.yml に定義する テストを実行する...その前…

yum パッケージの changelog を確認する yum-plugin-changelog が便利だった

tl;dr changelog を確認する方法 rpm コマンドを使う yum-plugin-changelog を使う 以上 tl;dr CentOS や Amazon Linux のパッケージ管理ツールとして空気のように当たり前にそこにある yum コマンドにプラグインが存在していること自体は存じ上げておりまし…

独り Terraform 研究所 (2) 〜 簡単な HTTP Backend を実装して Terraform の挙動を確認する 〜

どうも Backends HTTP Backend の実装 仕様 最初の実装 Web アプリケーションのコード Terraform の設定 Terraform の操作 plan apply destroy 永続化層の追加 Redis を利用する 改めて, Terraform の操作 apply state list, state show destroy ロックの実…

独り Terraform 研究所 (1) 〜 Backend についてドキュメントを読んだり, チュートリアルしたり 〜

どうも Backends ドキュメント 状態の管理 メリット 設定諸々 Backend Types 二種類の Backend Type Enhanced Backends Standard Backends State Locking ドキュメント State Locking とは 例えば... Docker Providor + Backend Type S3 せっかくなので 簡単…

Datadog APM について調べていたら, OpenTracing に辿り着いた (1)

tl;dr OpenTracing について OpenTracing とは そもそも分散トレーシングとは Datadog x OpenTraning OpenTracing の用語 Jaeger で体験する OpenTracing Jaeger Jaeger の起動 Rack アプリケーション (Sinatra) を利用してトレース情報を送信する 利用する…

Elasticsearch でフィールド同士の差分で検索したい (例えば, 開始から終了の経過時間で検索したいとか)

tl;dr 分かりづらいタイトルですいませぬ. 以下のようなデータを Elasticsearch に突っ込んでいたとして, start と end の差分 (経過時間) を算出して, その結果から N 秒以上とか, N 秒以上, N 秒以下を検索条件として利用する方法を検討したのでメモってお…

AWS Lambda で Node.js v4.3 がサポート終了になるので, v8.10 にアップグレードする為にテストを書いて検証してみた

tl;dr さて 本編 自動的に生成された Lambda ファンクション テストの観点 テストの準備 テスト用データの用意 テストコード テスト実行 以上 tl;dr 5 月の初めに AWS Lambda において, ランタイムとして Node.js v4.3 のサポートが終了になる旨のアナウンス…

CloudFormation で作った S3 バケットにおいて, オブジェクトが入っている状態でスタックを削除しようとすると軒並みエラーになるので, その対処方法について検討した #ただそれだけ

どうも どういうことなの? じゃあ, どうすれば良いのか DeletionPolicy で Retain を設定して, スタックの削除とは切り離す カスタムリソースを利用して, Lambda ファンクションでオブジェクトを削除してからバケットを削除する カスタムリソースについて …

Amazon Elasticsearch Service クラスタを作成するだけの CloudFormation テンプレートを作った #ただそれだけ

追記 (2018/06/09) 初めて VPC 内に Amazon Elasticsearch Service クラスタを作成する際, AWSServiceRoleForAmazonElasticsearchService という IAM ロールを作成する必要があります. この IAM ロールを CloudFormation で作成する方法を見つけることが出来…

リトライ処理が適切に行われるかをテストする方法を考えた Python 編

tl;dr retry モジュール retry モジュール retry モジュールのシンプルな使い方 ということで, そのリトライ, ちゃんとリトライしてますか? まずは... リトライ で, リトライされていることをテストする 以上 tl;dr Python の retry モジュール超便利 で, …

放送大学のレポートを LaTeX で作成して提出したのでメモ ~ Cloud LaTeX でしたためた 20 年越しの思い ~

[:toc] tl;dr 一応, 放送大学の学生をやっているので, この時期になると通信指導と呼ばれるレポートを提出ことが求められている. このレポートを提出しなければ, そもそも単位認定試験を受ける権利が無くなってしまうので, この土日でなんとかレポートを書い…

直近で Python の unittest で試行錯誤していて得られた知見の幾つか (3)

環境 知見 (5) 例外発生をテストする 関数 テスト 知見 (6) ログ出力をテストする 関数 テスト testfixtures テストコード 以上 環境 以下のような環境でやってます. $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G19009 $ pyt…

Elasticsearch 6.x で join datatype と has_child, has_parent クエリを試した

tl;dr 参考 join datatype と has_child, has_parent クエリ join datatype has_child, has_parent クエリ has_child クエリ has_parent クエリ ということで, 俳句作品とその作者データを利用して join を体験する 俳句作品 Elasticsearch クエリ 検索 松尾…

Ruby の組み込みライブラリ (クラス) の「学習テスト」を書いて, 出来るだけ多くのメソッドと出会いたい (4) 〜 class_eval 定数参照が解らない ~

これは... class_eval 定数の参照について解らない 改めて class_eval は メソッドの定義方法によって変わる定数のスコープ 一応, テストも書く 以上 これは... いつまで続くかわからないシリーズである. inokara.hateblo.jp 今回はテストを書くかは置いとい…

Ruby の組み込みライブラリ (クラス) の「学習テスト」を書いて, 出来るだけ多くのメソッドと出会いたい (3)

これは... いつまで続くかわからないシリーズである. inokara.hateblo.jp ということで がちゃ 今日のメソッドガチャは以下の通り. $ bundle exec ruby gacha.rb クラス: String メソッド: casecmp? メソッド: to_i メソッド: succ この中から String#casecm…

Ruby の組み込みライブラリ (クラス) の「学習テスト」を書いて, 出来るだけ多くのメソッドと出会いたい (2)

これは... ということで がちゃ Enumerator#peek Enumerator#rewind Enumerator#each_with_index 以上 これは... いつまで続くかわからないシリーズである. inokara.hateblo.jp 学習テストの成果は以下のリポジトリで管理している. github.com ということで …

ゴールデンウィークスペシャル : 5 月病対策「ExcelできればElixirマスターできる」を ExUnit で写経する (2) #fukuokaex

tl;dr 写経 (「Excel の操作と同じ Elixir」の続き) 前回は マップ List.first() リストマップデータのフィルタ リストマップデータのソート リストマップデータの加工 おまけ 以上 tl;dr ゴールデンウィークが終わって, 早速, 5 月病になりそうなかっぱです…

Ruby の組み込みライブラリ (クラス) の「学習テスト」を書いて, 出来るだけ多くのメソッドと出会いたい (1)

tl;dr どのクラスのどのメソッドにするのか 進め方 ということで, 第一回目 ガチャを回す Time#tv_sec とは Time#tv_sec の 学習テスト Time#utc_offset とは Time#utc_offset の学習テスト 以上 tl;dr かなり古い WEB+DB PRESS (2011 Vol.63) の連載 (Ruby …

ゴールデンウィークスペシャル : AWS CodeBuild がローカル環境での実行をサポートしているとのことなので, ざっくりと試してみた

追記 (2018/05/05) tl;dr 環境 ローカル環境で AWS CodeBuild メリット ということで, CodeBuild 用 Dokcer イメージの取得 (作成) ローカル CodeBuild の Python 環境の準備 CodeBuild local agent のセットアップ サンプルアプリケーションをビルドしてみ…

ゴールデンウィークスペシャル : 奥さんが髪を切っている間に「ExcelできればElixirマスターできる」を ExUnit で写経する (1) #fukuokaex

tl;dr Elixir の導入 写経 (Excel の操作と同じ Elixir) 事前に Enum.sort() Enum.filter() Enum.map() 合わせ技 以上 tl;dr 先日の Fukuoka.ex #8 で @piacere さんのお話で紹介されていた資料. speakerdeck.com インパクトのあるタイトルだったが, 確かに …

shUnit2 で awscli を使ったシェルスクリプトのユニットテストを Travis CI と AWS CodeBuild で実行した際のメモ

tl;dr と言っても, まずはコードを御覧ください TravisCI で実行する .travis.yml 工夫したところ (イケてないかもしれないところ) Python 環境でやった awscli を利用する準備 実行結果 AWS CodeBuild で実行する AWS CodeBuild x GitHub buildspec.yml 工…

shUnit2 で awscli を使ったシェルスクリプトのユニットテストを書くまでの諸々

tl;dr shUnit2 shUnit2 とは shUnit2 で Hello World shUnit2 諸々 詳細については... Assert assertEquals assertNotEquals Setup/Teardown oneTimeSetup oneTimeTearDown ちなみに, setUp と tearDown awscli を使ったシェルスクリプトでテストする さて, …

最近, 祝日・休日について悩むことがあったので, 内閣府が提供する祝日・休日 csv データを Elixir から利用するライブラリを作ってみた && Travis CI で継続的にライブラリを運用する方法を検討したのでメモ #fukuokaex

tl;dr 作ったもの リポジトリ 簡単な使い方 Install to_json holiday?() when?() all() メモ パイプライン演算子使いまくり CSV データをどこに配置するか ドキュメント テスト Travis CI を利用したノーメンテナンス的継続的デリバリー 以上 tl;dr 最近, 祝…

Rspec カスタム抹茶 (マッチャ) の点て方チュートリアル

tl;dr 茶器 awspec でのカスタムマッチャ 抹茶を点てる RSpec::Matchers.define による抹茶の定義 chain を使って, マッチャを拡張する fail 時のメッセージを定義する ヘルパーメソッドを利用する 以上 参考 tl;dr awspec のコードを見ていて, どんな風に独…

直近で Python の unittest で試行錯誤していて得られた知見の幾つか (2)

環境 知見 (4) テストの実行順序を制御する (ということ自体が正しいのか否かについても) 疑問 なんで? 少し深追い も少しだけ深く で... と, まあ 以上 環境 引き続き, 以下のような環境でやってます. $ sw_vers ProductName: Mac OS X ProductVersion: 10…

直近で Python の unittest で試行錯誤していて得られた知見の幾つか (1)

環境 知見 (1) ランダムな情報を返す関数をテストする 関数 テスト 知見 (2) とある日付の前月を返す関数をテストする 関数 テスト 知見 (3) テスト結果を XML 形式で出力する メモ 以上 環境 以下のような環境でやってます. $ sw_vers ProductName: Mac OS …

2 年前から利用出来る CloudFormation の Change Sets を今更知ったので始末書を提出いたします

tl;dr 最近, ちょこちょこ CloudFormation を生で使う機会があって, Terraform における plan のような, 適用される変更内容を事前に確認する方法があると嬉しいなと思いながら, update stack を繰り返しておりました. ところが, 2 年くらい前に既に Change …