2018年の振り返り

今年残りあと数分 さっと振り返る 振り返る時間がない 登壇 登壇した時の資料はすべてspeackerdeckにあげているので、そちらを見る 合計で7登壇くらいかな なかでもRubyKaigiでの発表は良い思い出 Presentations by hatappi - Speaker Deck 作ったサービス A…

eksctlを作ってEKSのチュートリアルをやってみる

最近 k8s を勉強しはじめたのと EKS が東京きたのもあって EKS を使うためにチュートリアル的なのをやっていた docs.aws.amazon.com 一通りやってみた結果コマンドラインで kubectl をうつまでがちょっと長いなぁと思った。 具体的には EKS のサービスロール…

人生初の分離キーボードはMistelのMD650L BAROCCOを買いました

ここ数年はキーボードはHHKBを使っている。 しかしキーボードの横幅が短いためか肩が巻き肩のようなかんじになってしまい肩こりが発生していた。 分離キーボードがこれを解消してくれるのではと思いどれが良いかを検討した。 分離キーボードに求めたこと 格…

Anket v0.9.4 をリリースして回答の CSV エクスポートができるようになりました

Anketについて↓ blog.hatappi.me 前回のリリースはこちら blog.hatappi.me v0.9.4 のリリース内容 CSV エクスポート機能の追加 etc 各リリース内容の詳細 CSV エクスポート機能の追加 質問にたいして誰が回答したかを集計しようと思うと WEB で誰が回答した…

ブラウザのみでVPNサーバーをたてる

1週間くらい海外旅行にいってた。 オーストラリアにいってたのですが、向こうは12月が夏なので半袖ですごせて最高〜って感じでした!! PCとかはもってかなくて電子機器類はSIMフリーのiPhoneとiPadだけ。 そんな旅行中に日本国内からアクセスしたいサービス…

Apache Arrow東京ミートアップ2018で「RubyとApache Arrow」というタイトルで発表してきました!!!

今日は Apache Arrow 東京ミートアップ2018というイベントに登壇してきました。 speee.connpass.com おそらく今年最後の登壇になったかなと思います。 今日はRails Developers Meetup 2018 Day 4 Nouvelle Vagueがやっていて被ってなかったら行きたかったな…

Anket v0.9.3 をリリースして Sentry を導入しました

Anketについて↓ blog.hatappi.me v0.9.3のリリース内容 Sentryの導入 各リリース内容の詳細 Sentryの導入 sentry.io Sentry はエラートラッキングサービスです。 アプリケーションで起きる例外などをひろって収集してくれます。 Anket では API や管理画面が…

Macの修飾キーをコマンドラインから変更する

今までMacは英字の内蔵キーボードを使っていてcaps lockをcontrolへ、controlをcaps lockへ割り当ててた。 新しいMacを手に入れたので、このあたりの設定を見直した。 動作確認環境 Mac OSX 10.13.6 今まではどう設定していたのか? アップルメニュー > 「シ…

Slackでアンケートをとることが出来るサービス『Anket』をβリリースしました

Anketとは何か? 一言で説明するとSlackでアンケートをとることが出来るサービスです。 Anket (β版) ↓ Anketをインストールしたワークスペース内で次のように入力します。 ↓ すぐにアンケートが作成され回答を開始することができます。 回答はSlack上でリア…

RubyData Tokyo Meetupで「Red Chainerを
なぜ作って今後どうするのか」というタイトルで発表してきました

speee.connpass.com ↑ 今日はこのイベントで発表してきました!! 僕の発表内容はスライドを Speaker Deck にアップロードしたのでそちらを見ていただけると嬉しいです。 なのでここでは特には触れないので、もし質問などがある方はTwitterとかでDMください s…

CircleCIで特定のディレクトリ配下にコミットされた時にjobを実行したい

最近Terraformの勉強をはじめてドキュメントを一通り読んだのでさてコードを書くかというのが今 個人でinfraというリポジトリを作っていてpacker用のmanifestファイルとかが入っている 特にリポジトリをわける理由もなかったので、このリポジトリにterraform…

AWS AthenaでALBのアクセスログを集計する

============ 2018-10-05 に追記 =============== 今回検証で使ったデータ量は100MBもなかったので良いですが Athenaはスキャンされたデータ量で料金がかかります データ量が増えてきた場合はパーティション追加したりクエリでwhereをかけるなどする必要があ…

Botkit使ってる時に任意のエンドポイントを生やす

Slack上で動くBotを僕はBotkitを使って実装している botkit.ai 例えばSlackのSlash Commandを使う時にリクエストの受け口としてBotkitではExpressでwebserverをたてて対応をしている 例えば↓こんな感じ controller.setupWebserver(process.env.port,function…

個人サービスで1週間に一度gem updateをするようにした

Speee社のコーヒーが最高に美味しかった。開発体験について考えを深められました。@hatappi さん, @__gfx__ さん、ありがとうございました(また機会があったら話をしに行きたい)— 悟りのカルパス (@yoshi_hirano) September 21, 2018 今週の金曜日にケバブ…

Fargateがタスクスケジュールをサポートしたの嬉しい

最近はプライベートでFargateを使う機会が増えてきて常駐させるサービスから一定間隔(例えば毎週金曜日の9:30)でのバッチとして使っている 今回は一定間隔でのバッチの実行用途で使うFargateの話 ネタ元は8月末にリリースされたこの機能!!!! AWS Fargate…

Fargateで起動したコンテナのタスクメタデータを覗いてみる

Fargateで起動したコンテナのメトリクスのモニタリング 僕はDatadogを使って行ってます 次のリンクはDatadogが出している導入記事です www.datadoghq.com FargateではなくEC2で起動していた時はホストであるEC2にAgentをいれたり出来ていたが、そのホストで…

rakyll/statik を使って Goでファイル系のリソースも一緒にビルドして配布しちゃう!

blog.hatappi.me 以前こんな記事を書いていた ただgo-bindataはメンテされてなくてAwesome Goから削除されたり作者だった方がGithubのアカウント削除して他の方が同じ名前で作成してgo-bindataを作ったりと色々あった ということで違うものを探していて次の…

CloudFront経由で配信しているコンテンツにBasic認証をかける

HTMLをCloudFront経由で配信することがあった さらにアクセスする際にはBasic認証をかけたい!! Lambda@Edgeを使うと実現できるという話を聞いたので実際にやってみた S3の準備 任意の名前でバケットを作成する 今回はCloudFront経由でアクセスをさせるため、…

今更ながらGoでLambda Functionを書いてECSのTaskを実行する

今年のはじめだったかにLambda FunctionをGoでかけるようになったけど、そもそもLambda Functionを書く機会がなかった dev.classmethod.jp 最近個人で作ってるサービスをFargateに移行した時にRailsが入ったDocker Imageを作ったので、せっかくの機会だし定…

localhostを一時的に外部へ公開するngrokが便利すぎた

最近Botkitというbotを作るためのフレームワーク?でSlackで動くbotを作ってる github.com Botkitを使うとSlackのslash commandなどが作れるがslash commandを作る際にはBotkitを外部に公開してHTTP(S)でアクセス出来るようにする必要がある 本番で運用する…

ALBを使ってる時はNginxでhttp->httpsへリダイレクトの設定しなくて良くなった

Elastic Load Balancing Announces Support for Redirects and Fixed Responses for Application Load Balancer 最近ALBでリダイレクト、固定レスポンスがサポートされるようになった 前者のリダイレクトが個人的に嬉しくてブログにする 今まで 僕はよくRail…

Hypernovaを使っていてクライアントでレンダリング出来ていなかったので解決した

github.com HypernovaはSSRを実現してくれるライブラリ 個人で作ってるサービスで使っている 詳しくは一週間前くらいにRails DMで話したのでそちらを参照してください blog.hatappi.me hypernovaはhypernova/serverが落ちていてもコンテンツが表示されるよう…

Rails Developers Meetup 2018 Day 3 Extremeで『Rails + TypeScript + React + Hypernovaで始めるSSRライフ』というタイトルで発表してきました

techplay.jp 今回はRails Developers Meetup 2018 Day 3 Extremeで発表させていただく機会をいただいたので発表してきました!! 最近はずっとRed Chainerネタで話してきたので久々のRailsネタで緊張しましたw 資料はこちらになります!! speakerdeck.com 話せ…

GoでLTSVをJSONに変換できるコマンドラインツールつくった

直近はRubyKaigiだったりでRubyを書くことが多かったのでGoがご無沙汰だったので素振りをするためにGoでLTSVをJSONに変換するコマンドラインツールを作成した github.com なんで作ったの? 素振り nginxのログをLTSVで出力してたけどJSONにしてjqで見たかった…

RubyData Workshop #RubyKaigi2018 でLTをしてきたよ

RubyKaigi 2日目 今回はRubyDataWorkshopのRed Data Toolsの開発者たちによる1年間の生活発表を行ってきました http://rubykaigi.org/2018/presentations/ktou2.html#jun01 昨日はRed Chainer周りの技術的な部分を話したのですが、今回は生活発表ということ…

RubyKaigi 2018でDeep Learning Programming on Rubyというタイトルで発表してきました

昨日からRubyKaigi 2018にきてます 前回のRubyKaigiも会社に全額出してもらって広島にいったのですが、今回も全額出してもらって有難さを感じてます rubykaigi.org 今回は@mrknさんと一緒に登壇してRubyの深層学習について話をしました http://rubykaigi.org…

tmuxのprefixを一時的に別のキーに変更する

僕はが時々やってしまうケース [Mac] tmuxで新しいセッションを作成する [Mac] リモートのサーバーにSSHでログインする [リモートサーバー] tmuxで新しいセッションを作成する この状態で何が起きるかというとリモートでデタッチしようとした時にMac側のtmux…

tinyint(1)がtrue, falseなのはRailsの世界

今回はRailsネタ 検証環境は次の通りです $ ruby -v ruby 2.5.0p0 $ bundle exec rails -v Rails 5.2.0 例えば今回次のようなコマンドでstringのnameとbooleanのdisabledをもったUserモデルを作ったとしましょう $ bundle exec rails g model User name:stri…

RubyでCIFAR-10, CIFAR-100を扱いやすくしました

以前こんな記事を書いていました blog.hatappi.me CIFAR-10は10クラス, CIFAR-100は100クラスからなる画像セットです CIFAR-10 and CIFAR-100 datasets それぞれはPython(Pickle), Matlab, binaryで提供されます 前の記事でも書いたのですが、Rubyで扱うとな…

備忘録 - Rails + TypeScript + React + Hypernova で SSR

今回はRailsの素振り ただ今回のメインはフロントでやりたいことはTypeScript + React + SSR SSRは今回はAirbnbがOSSとして出しているhypernovaを使用しました github.com 環境 環境は以前次の記事で使用した環境を使用します hatappi.hateblo.jp $ ruby -v …