かまたま日記3

プログラミングメイン、たまに日常

俺的90年代アニソンTOP20

@ojiry さんとTwitterで懐かしアニソンの話になり、面白そうだったのでやってみました。俺的ランキングなので異論などはあると思いますが、ご覧くださいw ルール 1990~1999年に放送されたアニメ (TV, OVA, 劇場版) の主題歌、挿入歌 作品と歌手は重複なし

Little Glee Monster の新体制初ライブに行ってきた@渋谷duo

麻珠の活動休止発表以降初のミニライブに行ってきました。 この記事によると、競争率約10倍だったようです。それはともかく、リトグリの再スタートとなる貴重なライブに参加できてよかったです。今後も応援していきます。 開催場所の渋谷duoはリトグリがはじ…

リトグリ麻珠 無期限活動休止

いつもLittle Glee Monsterを応援してくださっている皆様へ重要なお知らせhttps://t.co/l63uMAM7Sc— Little Glee Monster (@LittleGleeMonst) 2017年4月16日 寝耳に水のこのニュース、、と言うわけでもなく、春ツアーのときから麻珠が脱退するのでは的なツイ…

Little Glee Monster のライブに行ってきた@東京国際フォーラム

春ツアー最終日、行ってきました。最終日ということでメンバーガオラーともども気合はいってたと思います。秋ツアー決定したということで、楽しみですね。 基本的なセットは武道館と同じ流れ オレンジ, 永遠に, Girls be Free, 君のようになりたい が無かっ…

gradle-embulk-pluginを作った #Embulk

TL;DR EmbulkのJavaプラグイン開発のときにいろいろ便利につかえるGradleのプラグインを作りました。 github.com 使い方 最低限以下の記述を build.gradle にすれば動きます。*1 最新バージョンは 0.1.4 です (2017/03/21現在) buildscript { repositories {…

CicleCIでDockerイメージを再利用する

CircleCI v1の話です、v2.0になったらもうちょっと楽になってそう(未確認) 基本的には以下のページを参考にしてます。 Caching docker image on CircleCI 1. キャッシュ用のディレクトリを用意する 例えば ~/docker-images、これを circle.yml の cache_dire…

ローカルにGitサーバを立ち上げる with Docker

Gitサーバ(というかGitHub)のレポジトリに対してcommitとかpushするOSSのテスト用に作りましたが、必要無くなったのでw 別リポジトリにしておきました。 github.com READMEにも書いてますが、cloneして create_git_server.sh を叩くと2222ポートが開いてるGi…

JJUG ナイトセミナーKotlin勉強会に参加してきた

jjug.doorkeeper.jp EmbulkのプラグインをKotlinで書き直したり最近自分の中で激アツ言語のKotlinの勉強会が開かれると言うので早速参加してきました。サイバーエージェントのサーバサイドの事例だったりSpringのKotlin対応だったりKotlinの波が来ているのを…

TOEIC 217回 結果

Listening:315 (335), Reading:370 (255), Total: 685 (590) *1 Listeningが落ちたけとReadingが上がったので全体的には結構up、はじめて600点超え。次は700点超え目指す。 過去ログ TOEIC 213回 結果 - かまたま日記3 TOEIC 210回 結果 - かまたま日記3 TOE…

EmbulkのプラグインをKotlinで書く

embulk-input-remoteをKotlinで書き直したv0.3.0をリリースしました。 GitHub 最初に書き直した時のPR RubyGems Kotlinは4年ほど前に会社のレポートでちょっと調べたままで知識が止まってましたが、最近はAndroidやサーバサイドの事例も多く出てきたので勉強…

embulk-filter-hash 0.2.0 リリース

GitHub RubyGems Embulkを最新にしてユニットテスト環境もしっかり整えたので、マイナーバージョンアップしました。 利用&コントリビューションお待ちしてます!

embulk-input-remote 0.2.0 リリース

GitHub RubyGems 細かいバグフィックスとユニットテスト環境もしっかり整えたので、マイナーバージョンアップしました。 利用&コントリビューションお待ちしてます!

Kubernetes Meetup #3 に参加してきた

k8sjp.connpass.com 前回の参加メモを見る感じ、前回は結構初歩的というか入門編的な発表が多かったですが、半年経って結構実践的な知見が増えてきた感じです、自分自身はこの半年ほとんど追えてなかったのでもっと追っていかねば。。 資料はこちら コンテナ…

Little Glee Monster の武道館ライブに行ってきた

自分もリトグリ自身もずっと待ち望んでいたこのライブ、とにかく最高の一日でした!このライブの前にリトグリのファンになってて、参加できてよかったと心底思ったライブでした...2月と4月に行く予定のライブもとても楽しみです! ライブ前 渋谷のTSUTAYAとT…

2016年振り返り、2017年の抱負

仕事関係 前半は、2月にローンチしたサービスのインフラ安定化・効率化を粛々と。後半は新しいことにチャレンジしたいということで、リグレッションテストの自動化(未達)や、Reactを使った案件のフロントエンドJS開発に参加させてもらってたりして、ちょっと…

embulk-input-remote 0.1.10 リリース

GitHub RubyGems 今回した一番大きな対応はテスト対応です Docker 使ってローカルにSSHできるLinuxコンテナ起動して embulk-testを利用した単体テストを追加して travis-ciを利用してテストの実行できるようにしました。 実は、Docker使ってる会社のインフラ…

僕に「Little Glee Monster」の話させたら長くなりますよ

この記事は 僕に「○○」の話させたら長くなりますよ Advent Calendar 2016 の7日目の記事です。 www.adventar.org 明日は _signaless さんの ピチカート・ファイヴのレトロでバブリーなビジュアルを語りたい です。

JetBrainsのOSSライセンス申請したら通った

先日TwitterでOSSライセンス通ったというつぶやきを見かけ、ちょうど昨年買ったライセンスが11月いっぱいで切れるし、tfenvで応募してみた。Bashで書かれたツールだし超人気という訳でもないので受理されるのかなと思いつつも申請から一日くらいでacceptの返…

フィリピンに行ってきた

先週1週間、会社の出張でフィリピンに行ってきました。海外経験自体昨年のイギリス旅行以来の2回目だったので行く前はかなり不安でしたがすごく有意義な経験ができました(特に学校訪問)。 気候 気温は暑かったが体感としてすごく暑いという感じでもなかった(…

君の名は。を観た

いわゆる新海誠作品を見るのは初めてだったんですが、めちゃおもしろかったです。 コメディタッチな入れ替わり物かと思いきや重い設定からのハッピーエンド、最後までハラハラしっぱなしでした。 RADWIMPSの音楽も合ってて良かったです。小説も読んでみます。

ブラウザのコンソールでCSSやXPathのセレクターをテストする

CSSをテストしたい場合は$$('<セレクター>'), XPathは$x('<セレクター>')を使う (例) // CSS $$('#modal') // XPath $x("//div[contains(@id, 'modal')]")

過去のMMS automation agentをインストールする方法

OSはUbuntuです。 公式ドキュメントでは最新版を https://cloud.mongodb.com/download/agent/automation/mongodb-mms-automation-agent-manager_latest_amd64.deb から落としてこいとなってますが、実際はS3にアーカイブがあるので、こんな感じのURLで落とせ…

TOEIC 213回 結果

Listening: 335 (300), Reading: 255 (295), Total: 590 (595) *1 あまり勉強できてなかったので残当。。リスニングが上がっているのがちょっと救い。 過去ログ TOEIC 210回 結果 - かまたま日記3 TOEIC 207回 結果 - かまたま日記3 *1:括弧の中は前回(210回…

メソッドの引数にメソッドの返り値を渡す場合、blockの渡し方に注意する

たとえば、 こんなメソッドがあるとします。 def foo(arg) puts "#{arg}, #{block_given?}" end def var if block_given? yield else 'no block' end end 下記のようにブロックの渡し方でfooメソッド側のblockとなったりvarメソッド側になったりします。想定…

GitHubのPull Requestで変更されたファイル一覧を取得する

Git

結論から言うと、あるPull Requestがmasterにマージコミットされると、 直前のコミット*1と、Pull Requestの最後のコミットの二つが親コミットになっているので、最初の親をHEAD^で取得しHEADとのdiffを見る。 たとえばこのPRがマージされた場合の、masterの…

Little Glee Monsterにハマっている件

TL;DR 最近 Little Glee Monster (以下リトグリ)というボーカルグループにハマっておりまして、その良さを共有したいというポストです。 リトグリとは? このブログにたどり着くであろう想定読者(Web系エンジニア)の方は知らない人が大半だと思うので軽く紹介…

GoogleのAPIトークンをS3に保存する

GoogleAPI Clientには Google::Auth::TokenStore というトークンを保存するためのインターフェースが存在していて、デフォルトでは Google::Auth::Stores::FileTokenStore Google::Auth::Stores::RedisTokenStore のふたつがある。これのS3バージョン。 ひと…

GmailをAPI経由で取得する

GmailのAPI経由で未読のメールを1件検索して既読にするサンプル。OAuthのトークンがない場合はコンソールに出てくるURLをブラウザで開いて認証後に出てくるコードを入力する。 require 'google/apis/gmail_v1' require 'googleauth/stores/file_token_store'…

BashのPS4でデバッグが捗る

Bashでset -xとするとデバッグモードとして処理内容が逐次出力されますが、PS4という環境変数で出力内容を調整できます。 test.sh #!/usr/bin/env bash PS4='+ [${BASH_SOURCE}:${LINENO}] ${FUNCNAME:+$FUNCNAME(): }' set -x hello() { name=$1 echo "Hell…

シェルスクリプトで再実行するための関数

retry() { command="$@" local try_count=0 local retry_limit=3 local wait_seconds=300 until sh -c "$command"; do [ $try_count -eq $retry_limit ] && return 1 sleep $wait_seconds try_count=$(expr $try_count \+ 1) done } # example retry ls -ltra…

北海道旅行に行ってきた

8/10~13 の3泊で北海道に行ってきました。 1日目(8/10) 直前に飛行機を取ろうとしましたが、羽田発の便は全滅だったので茨城空港から出発。東京駅から500円のバス便があるのでそれを利用しました。茨城空港はガルパン推しがヤバかったです。 12時前に新千歳…

シン・ゴジラを観た

かなり評判が良かったので見てきました。感想としては評判に違わぬ内容で面白かったです。 全体的に日本よりなところ(アメリカが完全悪者扱い)とかは賛否が別れるかと思いますが、庵野節ってことで僕はアリかなと思いました、ところどころでエヴァネタとかも…

Terraformをバージョン管理できるtfenvを作った

github.com 名前を見てもお分かりのようにrbenvと同じような感じのterraformのバージョン管理ツールです*1。複数プロジェクトをterraformで管理しててそれぞれのバージョンが分かれてる場合を想定して作ってます。 ぜひぜひ、使ってみてください! 基本的な…

Terraform 0.7.0での変更点

とりあえず、ここ に書いてあることのざっくりメモ 各providerのバイナリファイル(terraform-*)が不要になったので、消す planで結果がmapだった場合foo#ではなくfoo% になった concat()はstringでは動かなくなった、listのみ, stringの結合は${var}-fooみた…

Terraformのcountでvariable以外のinterpolationを使えない

version Terraform 0.6.16 本文 ドキュメント にも書いてあったのですが、Terraformで複数リソースを一気に定義するときに count という項目を使うのですが、ここでは直接数字を入力するか、 variables で定義した値に対するinterpolationしか使えないようで…

GitHubのissueを擬似的に消すためのRubyスクリプト

GitHubのissueは削除することが出来ないので、タイトルと本文とコメントを全部消すことで、擬似的になかったことにします。 (これでもタイトルの変更履歴は残るので、完全に消すことは出来ないわけですが...) require 'octokit' require 'highline/import' O…

Recruit Technologies Open Lab #03 Infrastructure as Code に参加してきた

atnd.org スピーカーが興味深い方ばかりだったので、参加してきました。 多くの方が Infra as Code の本質はインフラがコード化することで、ソフトウェア領域での知見が適用できるようになって来たと言っていたのが印象的でした。 バージョン管理するように…

JenkinsでRubyスクリプトの出力をすぐに出す

問題 JenkinsのJobでRubyスクリプトを呼んだら、処理が終わるまで puts とかの標準出力がJenkinsのコンソールに出ない 対策 標準出力がバッファリングされないようにRuby側に以下の記述を追加する $stdout.sync = true

Kubernetes meetup #2 に参加してきた

k8sjp.connpass.com Kubernetes(以下k8s)の勉強会に参加してきました。当日にキャンセル待ちから繰り上がったので僥倖でした。 k8s は以下の動画を見たくらいであまり詳しくないまま参加したので、簡単な機能説明や出来ることなどを説明してもらったのは良か…

TOEIC 210回 結果

Listening: 300 (250), Reading: 295 (275), Total: 595 (525) *1 目標にしていた600点届かず。次も頑張ります。 過去ログ TOEIC 207回 結果 - かまたま日記3 *1:括弧の中は前回(207回)の得点

家電三種の神器を買ってQOLが上がった件

先月に一大決心してルンバ、食器洗い乾燥機、ドラム式洗濯機を買いました。 全部かなりなライフチェンジングな買い物で満足しています。 どれも良かったですが、しいて言えば個人的な費用対効果としては ルンバ > 食洗機 > ドラム式 かなと思いました。参考…

GitHubでsquash mergingが出来るようになった。

最近某氏のGitの記事がバズったので対抗意識を燃やしてGitHubの新機能の記事を書いてみることにします。 github.com ここ3日くらいのうちにプルリクをマージしてる人はUIの変化で気づいている人も多いかと思いますが、この機能はPull Requestをマージすると…

Chrome Developer Tools で帯域制限した状態のテストをする

Web開発をやっていると地方や海外の回線が遅い環境の場合の挙動確認を行いたい場合があったりするのですが、そんな時に便利なのがタイトルの機能です。 たとえば何もしない場合、今インターネットに繋いでいる回線でこのブログを開いた場合、だいたいこのブ…

Jinja2テンプレートでデリミタを文字列として表示する

ここ最近Jinja2というかAnsibleネタが続きますが、AnsibleのJinja2テンプレートでデリミタになってる文字列({{, {%など)自体を表示したい場合、{{}}式の中に表示したい文字列を書きます {{ "{% Hello }" }}

Jinja2テンプレートでincludeしたファイルにインデントをつける

環境 Jinja2 2.2.8 *1 何に困っていたか AnsibleでNginxの設定ファイルを作ってた時に、共通設定ファイルを作って必要な箇所でincludeしていたが、共通ファイルの方がインデント付いてなくて出来たファイルのインデントが崩れてしまう。 例 このファイルを(c…

Ansibleでパイプを使いたい場合はshellモジュールを使う

AnsibleにはCommandモジュールとShellモジュールがあるのですが、commandモジュールは安全な代わりに一つのコマンドしか実行できません。|や;なんかを使って複数のコマンドを同時に実行したい場合はShellモジュールを使いましょう。 Commandの場合はパイプ以…

AWS上に構築したAnsible Towerのバージョンアップ

会社で使っているAnsible Towerのインスタンスが急にEC2のDynamic Inventory出来なくなり*1、急きょバージョンアップすることになったのでそのメモ。 基本的に以下のページの手順に従うだけです。 12. Upgrading an Existing Tower Installation — Ansible T…

TOEIC 207回 結果

Listening: 250, Reading: 275, Total: 525 まあ英語やりはじめて最初にしては悪くなかったかと。ここから上げていきます。

Nexus5を修理に出した

現在Nexus5を使ってるんですが、昨年の2月頃からずっと画面が破損したまま使ってました。 ケータイ落として画面割れたショック…— かまたま (@kamatama_41) February 8, 2015 最初の頃はまだ割れもそんなに酷くなかったんですが、いろいろあって最近はこの記…

Pythonでリストを結合して文字列にする

str#join(iterable)を使います。 他の言語*1と違ってセパレータとなる文字列クラスの方にメソッドがあるのでちょっと違和感を感じますね。 >>> ','.join(["a", "b", "c"]) 'a,b,c' *1:JavaとRubyしか知りませんが