プログラミング

zshで楽にAWS EC2インスタンスにsshログインしたい

みなさんさようなら. 仕事でも家でもAWSを使っていて,よくsshログインをしなければならない局面がある. で,高度に自動化されたAWSだと,Autoscaling Groupを使ってEC2インスタンスを自動で生み出したり,また自動で落としたりするよね. ECSを使っていて…

Docker for macに乗り換えようかと迷った

もともとmacでのdockerはdinghyをずっと使っている. docker-syncはなんか違うなーと思っているし,dockerを使いはじめる段階ではそもそもDocker for macがまだ公開されていなかった. で,Docker for macが公開されたのはいいんだけど,ずっとファイル共有…

goでjsonを扱うときにいつも迷うこと

golangが好きだ. golangでjsonを扱う際,「こういうことできないのかなー」といつも迷って,やり方を頑張って探すことが多いので,少しまとめておこうと思う.

ああdocker swarm,俺はkubernetesに行くよ

今年10月,dockerはkubernetesとの統合を発表した. http://www.publickey1.jp/blog/17/dockerkubernetesdockercon_eu_2017.html しかもローカルではdocker環境と同時にkubernetes環境が構築されるとか,わけわからんことも発表されている. kubernetesは更…

vueとvuexを使ってみた感想

最近vue.jsを使っている. 今日のは感想なんで,解決策とか対処法は一切ない.ただだらだらと感想が並ぶだけである. 今までずっとReactばかりだったんだけど,書いてみると普通にかける.Reactからvueに転身するのはハードル低い感じがした. ただ,やっぱ…

echoでpongo2のtemplateを使う

Goのウェブフレームワークとして最近はechoを使っている. echoはmiddlewareも充実しているし便利なのだが,いざhtmlを吐き出そうと思うと,echoがサポートしてくれることは少ない. jsonを出している限り,あまり困らないのだが. そこで,以前使っていたpo…

scalaのgRPCで例外ハンドリングをする

またまたscalaでgRPCする話. サーバを運用する以上,例外が起こることは避けられないと思う. そしてその例外,どこかでキャッチして適切に処理したいと思う.

scalaのgRPCサーバでアクセスログを出したい

今回もscalaでgRPCする話. gRPCサーバをいざ運用しようと思うと,ログを出したくなる. やっぱりこういう実装はgoのほうが進んでいて,goのサンプルはいっぱい見つけられると思う.

PlayFrameworkしながらgRPCサーバも起動する

前回の記事で基本的なgRPCサーバの起動はできるようになった. h3poteto.hatenablog.com gRPCで提供するメソッド群はgRPCサーバで使えるように .proto ファイルをどんどん増やしていけば良い. でもたまに,RESTも提供したいけどgRPCでメソッド叩けるように…

scalaでgRPCする

最近gRPCが楽しくて仕方ない. いろいろやったけど,やっぱりgoogleが作っただけあって,goで書いてあるサンプルは多いし,goでgRPCは使いやすい(その話は別のところで話したい). のだけれど,どうも最近scalaを書くことが多く,そしてscalaでgRPCしてい…

ECS+NLBでgRPCする

先日AWSの新しいLoadBalancer NLBが出ましたね. aws.amazon.com おそらく便利なので,色んな場面で使えるかとは思いますが,「HTTP以外もECSの組み合わせで動的ポートマッピングできるのでは?」というのが気になったので,使ってみます. 今回はgRPCをECS…

JAWS-UG コンテナ支部 #9 でECSのデプロイ周りの話をしてきたよ

昨日「JAWS-UG コンテナ支部 #9」でデプロイについて話してきました. 中身は前に会社のブログで書いた話 engineer.crowdworks.jp なんだけど,これについて詳しい話をしてきた.

ensimeをdockerで動かしてローカルのemacsからつなぎたい

みなさんさようなら. 最近わけあってscalaを触ってます. いつもの通りemacsで開発環境をつくろうとして,ちょっと悩んだ挙句,解決しなかったのでメモ. emacsでscalaの開発をしようとすると,scala-modeはまず使うでしょう. ただ,それだけだとちょっと…

CircleCI2.0でデプロイステップを別のビルドに分離する

CircleCI2.0がベータ版として公開されている. 個人のプロジェクトではCircleCIにべったりで(無料枠だけど),Docker buildとかさせまくっているので,早速使ってみた.

ニコニコ動画のスナップショット検索v2API用gemを作った

最近,ニコニコ動画のスナップショット検索APIはバージョンアップしました. site.nicovideo.jp 今まで,ニコニコ動画の検索に関しては, github.com にお世話になっていました. だけど,3月からニコニコ動画側がv1のAPI提供を終了したため,このgemではエ…

悠木碧のtwitter botを閉じようと思う

みなさんさようなら. 2016年が終わります. 個人的に痛々しいサービスを作り始めて,そろそろ3年経ちました.運用していると,バグもあるしバージョンアップも必要だし,たまにはリファクタリングや機能追加もしないと存続できないということがよくわかりま…

gomとgoのvendoring

先日,ちょっと勘違いをして,gomに変なぷるりを送ってしまったので,反省を込めて. github.com こういうissueが立っていてなんか変だなーと思ったんだけど,やっぱり俺のミスだった.

声優の出演情報を監視するサービスを作った

みなさんさようなら. また,新たに痛いサービスを作りました. SeiyuWatch

phoenixアプリケーションをDockerでデプロイする

最近phoenix(elixir)を使っている. まぁelixir自体の話は,いろんな記事でおすすめされているのでそちらを参照してもらうとして,これをDockerに載せたいなーと思ったので. なんでDockerに載せたいのか erlangとelixirの環境構築を毎回やりたくない ってい…

swarm modeでdockerをデプロイしてみる

以前,confdを使ったデプロイを紹介したけど,あれにいろいろとコメントが付いたおかげで,swarmによるデプロイが実現できた. h3poteto.hatenablog.com okzk.hatenablog.com こういう話を探していたんだけど,前の記事を書いた時は全然わからなかったからね…

Dockerに載せたサービスをホットデプロイする

みなさん,Docker使ってますか? 開発環境に導入する話はよく聞きますが,本番Dockerで運用してますか? 本番をDockerにする上で障壁になりそうなホットデプロイ. 普段,コンテナではなくインスタンス上で直接サービスを動かしている限り,そこまで苦労はし…

RxSwiftとAPIKitの組み合わせに対する違和感

みなさんさようなら. 最近ようやくRxSwiftを触り始めています. RxSwiftでAPI通信を含むような動作をさせたいとき,何を使おうかと迷ったので,その話をします. swiftで書けるってことは,別に NSURLSession をそのまま使って rx_response を呼んでもいい…

最近思うgolangのerror

golangが結構好きになりつつある. そんな中でも延々と悩まされ,設計を考え続けているのが,error型だ. もしかしたら,あまりgolangでmysqlのような,がっつりSQLでできているRDBを使う人は少ないのかもしれない. だけど,自分が作っているものが,がっつ…

俺のためのタスク管理サービスを作った

みなさんさようなら,またひとつサービス作ったよ. 俺のためのタスク管理サービス. Fascia めずらしく痛くないというのが一番の特徴じゃないですかね. 動機 ToDoリストをどこかで管理したい これに尽きる. だいたい普段生活していると,メモできなかった…

Shoryuken,それと例外検知gemを作った話

みなさんさようなら. Railsの非同期処理って何使ってますか? Sidekiq?Resque?,え?DelayedJob? 個人的にはSidekiqが結構好きで,よく使っていたのですが,最近Redisのメモリが足らなくなってきて…… たまにエンキューに失敗します. もちろんインスタン…

ReactComponentにおけるkeyは結構大事

ReactComponentでhtmlをレンダリングしていて,コンソールにwarningが出ていることがある. 無視しても大丈夫なものもあるのかもしれないが,エラーが出ることもあるので,気になって調べてみた. こんな感じのエラー. Warning: setState(...): Cannot upda…

巨大レコードのページネーション用gemを作った

Railsにおいて,kaminariやwill_paginateのようなページネーションライブラリは非常に強力だ. というか,あまりページネーションというものを意識せずとも使えてしまうので,便利だ. ページネーション時のカウントクエリが重い 便利ではあるのだが,すべて…

golangのpanicは例外ではないのか?

goには例外がないと言われている.確かに,よく見かける,exception とかはないんだけど,あれ? panic があるじゃん? では panic は例外ではないのか? 我々は、処理構造を制御するためのtry-catch-finally形式の例外処理機構によって、コードが入り組んで…

golangでテストをする

最近golangを結構書いています. コンパイルも割と速いし,実行速度は言うまでもなく速い.クラスがないとか,例外がないとか,色々と言いたいことはあるでしょう.思想的には結構独特ですが,なれると普通に書けます.今日はそんな中でテストの話をしようと…

swift2.0への変更で詰まったところ

これをswift2.0対応させてみたので,詰まったところを書いておく.h3poteto.hatenablog.com Xcode7を入れたあと,Xcode6.4で開発していたプロジェクトを開くと,初回に古いシンタックスをすべて置換してくれる. ちなみにこれ,一度閉じてしまった場合でも,…