ようへいの日々精進XP

よかろうもん

ruby

小ネタ道場一本勝負 〜 logstash の Ruby filter メモ 〜

tl;dr 今回やりたかったこと サンプル実装 logstash.conf ELK Stack の用意 デモ event オブジェクトへのアクセス方法 Event API GitHub issue 5.x 以前 5.x 移行 影響範囲 その他の filter mutate grok 以上 tl;dr logstash を使っていて、filter でちょっ…

小ネタ道場一本勝負 〜 date コマンドの出力を ISO 8601 フォーマットにしたい 〜

date コマンドで Mac だと Linux だと Ruby だと Python だと 以上 date コマンドで ISO 8601 フォーマットで出力したい時がたまにあるのでメモっておく。 https://ja.wikipedia.org/wiki/ISO_8601 Mac だと date +%FT%T%z 実行。 $ date +%FT%T%z 2017-06-1…

ワンラインで Unixtime から Datetime に変換したいくさ

はじめに Ruby だと Python だと bash だと 以上 はじめに ぽーんと unixtime を渡されても、これはいったい何時何分なんやって思うことがある。 そんな時にコマンドラインでちゃちゃっと変換出来たらカッコイイかな…ということで… Ruby だと $ ruby -v ruby…

Ruby の find と select

うっかり混同しそうになっていたので 参考 Enumerable モジュール メモ 環境 select find 以上 select は find うっかり混同しそうになっていたので 忘れないうちにメモっておきたいと思います。 参考 selectなどの配列の抽出・検索を行うメソッドまとめ - Q…

俺は Linux コンテナについてなんにも解っていなかった 〜 haconiwa で学ぶ Linux コンテナ (1) 〜

追記 直近の Docker 界隈について Linux コンテナ 参考 Linux コンテナとは Linux コンテナを構成する主な機能 OS リソース毎の Namespace cgroup サブシステム こんなにざっくりでは、Linux コンテナは語れないと思うけど haconiwa haconiwa とは haconiwa …

moto ✕ Rspec で Ruby で書いたライブラリをテストするばい(moto チュートリアル 弐)

モト Stand-alone Server Mode example Install moto server Start moto server まずは Help EC2 用サーバーを起動 Ruby Script Rspec で moto を利用してテストを行う 実際にテストを走らせてみると… 以上 おまけ モト inokara.hateblo.jp moto という AWS …

Amazon Elasticsearch Service ドメインを安全(当社比)に操作出来て、且つドメインの設定を toml フォーマットで管理するコマンドラインツールを作った(2)〜 awspec の spec ファイルを吐くようにした 〜

引き続き コマンドラインツールとは言え 例えば Amazon Elasticsearch Service ドメインを作成 作成したドメインを更新 ドメインを削除 以上 引き続き Eryastic の話し。 github.com コマンドラインツールとは言え 所詮は手作業なので、意図した構成であるか…

Amazon Elasticsearch Service ドメインを安全(当社比)に操作出来て、且つドメインの設定を toml フォーマットで管理するコマンドラインツールを作った

作ったもの なんで作ったの? 何が出来る? 何が安全なん? デモ 事前に help 設定ファイル例 Amazon Elasticsearch Service ドメインの一覧を取得する Amazon Elasticsearch Service ドメインを作成する Amazon Elasticsearch Service ドメインを削除する A…

小ネタ道場一本勝負 〜 初体験 Ruby でメソッドの動的生成 〜

なんしよーとや さて、今回 Metric Filter と Subscription Filter を取得するメソッド どこが冗長なん? ということで、一本 define_method を使ってメソッドを動的に生成することにした あざっした なんしよーとや awspec の CloudWatch Logs Resource Typ…

小ネタ道場一本勝負 〜 rubocop で俺のウンコードをリファクタするぞ(Guard clause 取締法違反) 〜

容疑者 たのもう 一本 何が問題か リファクタリング ありがとうございました! 容疑者 Use a guard clause instead of wrapping the code inside a conditional expression. たのもう 以下のようなサンプルコードがあるとする。 def foobar(foo = nil) if fo…

AWS SDK のスタブを使って awspec の generator サンプルを試作するメモ

時代はスタブ さて、今回は awspec の generator CloudWatch Logs の Generator を作るにあたって ということで ここでスタブ サンプルを実装してみました おわり 言いたかったこと 時代はスタブ AWS SDK を使ってツールを作ったりする場合、動作確認で直接…

小ネタ道場一本勝負 〜 Rake からタスクを呼び出す際に実行されるコマンドの出力を止めたい 〜

たのもう 技あり 有効 ありがとうございました! たのもう Rake のタスク実行時に出力されるコマンド… $ bundle exec rake spec /path/to/.rbenv/versions/2.3.0/bin/ruby -I/path/to/vendor/bundle/ruby/2.3.0/gems/rspec-core-3.5.4/lib:/path/to2/vendor/…

Datadog の Monitors 定義を YAML で管理する Chihuahua を Gem でリリースした

なんで作ったのか Gem 詳細は 更新情報 概要 Monitors を Export する際の条件を再利用するようにした 定義の更新、追加後に最新の定義を Export するようにした バグの修正 今後の目標 なんで作ったのか Datadog API Monitors の勉強と将来的には同様の機能…

awspec にプルリクエストした時のメモ

tl;dr awspec とは Rspec 基礎知識 プルリクエストして学ぶ awspec テストしたい AWS リソース テスト toolbox Stub Spec Type Helper /lib/awspec/helper/finder.rb lib/awspec/helper/finder/cloudwatch_logs.rb ちょっとマッチャ lib/awspec/matcher/have…

Datadog の Monitors 定義をコード(YAML)で管理するツール chihuahua を再発明した

tl;dr 作ったもの 使い方 インストール 初期化 既存設定の書き出し 新規登録 更新 削除 ということで Datadog API の Monitors Tips 想定する使い方 codenize-tools tl;dr 既に Datadog の Monitors を管理するコマンドラインツールとして codenize-tools の…

AWS SDK for Ruby から Lambda の update_function_code を叩く時にハマったこと

結局は… 経緯 環境 やりたいこと ドキュメントには ところが… 解決 一つの issue ということで 以上 メモ 参考 結局は… ドキュメントよく読めってことだった 経緯 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1217 $ bu…

Datadog APM を個人的にちょっとだけ触る

2/17 追記 正式リリース Datadog APM ベータ版 Datadog APM とは 用語(ドキュメントの Terminology より引用させて頂きます) Trace Span Service Resource 試してみるばい 今回は Ruby で試すくさ Datadog Agent の導入 今回のアプリケーションは… ddtrace…

PhantomJS を利用してログイン後のサイトを確認(キャプチャを取得)するぞ

ボクが知っているこれまでのサイトの正常性確認方法と今回の課題 確認方法 今回の課題 ということで、PhantomJS というツールを利用することにした 参考 俺のアプリケーション サンプル HTML index.erb(トップページ) main.erb(ログイン後のページ) サン…

ショロカレ 2 日目 | 作成した FTP ユーザーが正しく FTP 操作を行えるかを確認するスクリプト的な何か

これは 何か FTP いにしへのスクリプト いにしへの確認 access.yaml 確認 以上 これは 初老丸アドベントカレンダー 2 日目の記事です。 qiita.com ということで、小ネタ大ネタを交えて 12/25 まで張り切っていきましょう。 何か FTP それはファイルを手軽に…

初老丸のきゃぴきゃぴ Capistrano3 メモ(EC2 Name タグで操作対象を絞り込んでコマンド操作してみる)

きゃぴきゃぴ 参考 メモ やりたいこと 準備 ファイル達 config/deploy.rb config/deploy/dev.rb 実行 以上 きゃぴきゃぴ してますか。 Capistrano はバージョン 2 の時代に少し触ったことがあったんですが、改めて Capistrano 3 を用いて EC2 Name タグで操…

ほのぼの Rake タスクで S3 のバケットポリシーをちょっと管理する(表示と export と diff と update するだけ)

最近 タスク Rakefile 使い方 最後に バケラッタ Rake って 最近 ギョームで S3 バケットを更新する作業があったので、ほのぼの Rake タスクで汎用的に管理出来る感じにしてみました。 タスク Rakefile require 'aws-sdk' require 'diffy' require 'json' PO…

logstash のアウトプットプラグイン作成チュートリアル

tl;dr logstash を理解するあたってプラグイン作ってみることにした。 参考 www.elastic.co github.com 雑なうんちく logstash プラグインの種類は? Input plugins Output plugins Filter plugins Codec plugins 実装は? logstash は JRuby で実装されてい…

2016 年 10 月 17 日(月)

朝の読書 WinRM 手羽中 理不尽 弁当 朝の読書 メタプログラミング Ruby の第一章 「メタプログラミングとはコードを記述するコードを記述することである」 途中まで読んでいた「メタプログラミング Ruby」を改めて最初から読み始めた。 WinRM HTTPS な WinRM…

2016 年 10 月 10 日(月)

一気に秋がきた ジョギング Amazon Elasticserch Service で es_rejected_execution_exception エラー 背中を痛める 70-533 勉強 Sinatra アプリケーションで Could not find backports-3.6.8 in any of the sources 夕飯は 一気に秋がきた 涼しいをちょっと…

IAM Role を付与した EC2 インスタンスから Amazon ES にアクセスするメモ(Ruby 版)

tl;dr Amazon ES のアクセス制御を IP だけでしかやったことなかったので、実運用を考慮すると IAM role で制御する場合の方法を模索してみましたの Ruby 版。 参考 http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-creat…

ラムダこりゃ(Amazon Lambda チュートリアル 6)〜 AWS Lambda で JRuby を 30 分位試したメモ 〜

まったく筆が乗らないかっぱです。 tl;dr aws.typepad.com 8/9 の AWS上でのサーバーレスアーキテクチャ入門 を何気なく聞いていたら JRuby という単語が聞こえてきたので、「あー、確かに Lambda で Java は動くから JRuby を使えば内部処理は Ruby で書け…

福岡は Ruby に縁がある街なので、その県民として Ruby Association Certified Ruby Programmer Silver version 2.1 を受験してきた

ども、かっぱです。 tl;dr 福岡は Ruby に縁がある街だと勝手に思っているので、その県民としての義務を果たすべく Ruby Association Certified Ruby Programmer Silver version 2.1 を受験してきたのでメモ。 www.ruby.or.jp ちなみに、福岡には以下のよう…

Array クラス、String クラスとかパーセント記法(Ruby)

tl;dr Array クラスのメソッドをちょろっと触ってみたメモ。 参考 http://ref.xaio.jp/ruby/classes/array/delete_if http://ref.xaio.jp/ruby/classes/array/reject_bang メモ delete_if メソッドと reject! メソッド 要素の数だけ繰り返しブロックを実行し…

配列の & 演算子と | 演算子と + 演算子と - 演算子(Ruby)

tl;dr これもよく記憶が飛んでしまうので...メモ。「愛しさと切なさと心強さと」みたいなタイトルですいません。 メモ & 演算子 両方に含まれる要素を配列で返す $ ruby [1] pry(main)> a = [1,2,3] # 配列の生成 => [1, 2, 3] [2] pry(main)> b = [1,3,5] #…

配列の添字演算子メモ(Ruby)

tl;dr すぐに混乱するのでメモ。 memo $ pry [1] pry(main)> a = [1,2,3,4,5] # 配列生成 => [1, 2, 3, 4, 5] [2] pry(main)> p a[0,5] # a[0] から 5 つの要素 [1, 2, 3, 4, 5] => [1, 2, 3, 4, 5] [3] pry(main)> p a[0..4] # a[0] から a[4] まで [1, 2, …