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 …

carrierwaveかpaperclipを使って画像URLからS3にアップロードする

hatappi.hateblo.jp 前回に続いて今回もRailsで素振り 今回やりたいこと Railsで画像URLを指定してダウンロードしたものをS3にアップロードする!! 例えば次のような画像 https://pbs.twimg.com/profile_images/896275871941574656/wAcSCGy4_400x400.jpg 候補…

RailsにTypescriptいれてReactもいれる

今回は次の環境で確認を行なっています。 $ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] $ rails -v Rails 5.1.6 今回はwebpackerを前提にしているので次のコマンドでプロジェクトを作成しています。 rails new . --webpack TypeS…

Numo::NArrayで配列のパディングしたい

最近Red ChainerでCNNを実現できるようにあれこれ実装をしてるのですが、その過程でパディングをNumo::Arrayで実現する必要がありました。 パディングは畳み込みの処理をする前に入力データの周囲の固定のデータ(例えば0)を埋めることです。 これをNumo::NAr…

第10回フクオカRuby大賞でAWS賞とってきました

技術ブログというよりはただのブログ。 今日は第10回フクオカRuby大賞で福岡にきてます!! www.digitalfukuoka.jp フクオカRubyt大賞とは? 福岡県のRuby・コンテンツビジネス振興会議が毎年主催しているRubyを使ったプロダクトをコンテスト?する場 僕は初め…

CIFARで提供される画像データをRubyで画像ファイルにする

完成品のパフォーマンスがよくなかったので修正しました require 'RMagick' require 'fileutils' labels = %w(airplane automobile bird cat deer dog frog horse ship truck) FileUtils.rm_rf("output") labels.each { |l| FileUtils.mkdir_p("output/#{l}"…

Ruby25でRed Data Toolsとしてポスター出してきました

今日はRubyの25周年を祝うRuby25に参加してきました。 25.ruby.or.jp Rubyの歴史だとか今後についての話が聞けたのですが、今回一番印象に残ったのは日本Rubyの会の高橋さんの講演で最初はrubyだったのがPerlと並べた時の見栄えとしてRubyになったという話を…

SlackのInteractive messagesのselectでデフォルト値を指定する

Slack botを作っていると一方的にメッセージを送りつけるだけでなく、ボタンを押したりセレクトボックスから何らかを選択した時にアクションをとれるようにしたくなる。 これを実現しているのがSlackのInteractive messagesでこれを利用することでボタンをユ…

Red Chainer 0.2.0 リリースしました

Red Chainer 0.2.0をリリースしました 今回は次のような機能をリリースしました Tanh, LeakyReLUの提供 by @naitoh Snapshotのサポート by @hatappi を行いました Tanh TanhはHyperbolic Tangentとも言い次の式で表されます irb(main):008:0> x = Numo::DFlo…

Githubで2段階認証を設定しhttpsリポジトリにpushする

毎回この設定を忘れるのでメモ Githubでセキュリティ面などから二段階認証を設定する。 ただこの二段階認証を設定した状態でpush先のリモートとしてhttpsプロトコルを利用すると問題が生じる。 問題としてはpush時にusernameとパスワードを求められてログイ…

Heroku + BotKitでSlash Command

今回はbotkitを使ってSlackのSlash Commandの作成手順をメモとして残す Slash Commandの連携先の環境としてはHerokuで行う Herokuの準備 まずはHerokuの準備をする Appはブラウザ上から作っても良いしコマンドラインから作成しても良い 今回は便宜上コマンド…