タグ

ブックマーク / hakobe932.hatenablog.com (8)

  • gRPCを学んでいる - はこべにっき ♨

    マイクロサービスや自作ミドルウェアのAPIをメンテナブルにしたいよねっていう文脈で、OpenAPIGraphQLgRPCといった技術が採用されるのを最近よく目にする。 バックエンドを実装しているWebエンジニアとしては、こういう仕組みが整備されつつあるのはありがたい。APIをシステムの外に公開しようとすると、ドキュメンテーション/バリデーション/クライアントの実装など、意外と副次的な作業が必要なので、、汎用化されたツールに頼れるのは助かる。マイクロサービスを用いたアーキテクチャを考えるにあたっても、システム間のアダプタをイメージしやすくなる。 そういう背景で、最近家ではgRPCを調べている。このあとはgRPCについて調べたことのメモや感想のコーナーになっているので、興味があったらどうぞ。 主な情報源 だいたいこのへんを眺めておくと、gRPCの基については抑えることができる。 grpc

    gRPCを学んでいる - はこべにっき ♨
  • HTTPSのWebサーバを設定した (h2o + Let's Encrypt) - はこべにっき ♨

    最近、ハイパフォーマンスブラウザネットワーキングを読んでいて、HTTPSについてちょっと勉強しています。勉強にあたっては、実際に試せる場所があったら便利そうなので、自分のさくらVPSにHTTPSのWebサーバを設置してみることにしました。この次はHTTP2の実験もしたいので、先進的なHTTP2の機能が実装されていそうなh2oを使ってみることにしました。 環境 今回の作業は以下のような環境でやりました。 $ uname -a Linux douzemille 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENA

    HTTPSのWebサーバを設定した (h2o + Let's Encrypt) - はこべにっき ♨
  • リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべにっき ♨

    古き良きインターネットアプリケーションであるマウスストーカー*1をリアクティブプログラミングの技術を活用して実装してみるという取り組みをしましたのでご紹介します。リアクティブプログラミングというと主語が大きめですが、ここではbacon.jsを使ってるくらいの意味です。 できたもの まずは完成したマウスストーカーを紹介します。チェーンのように連なった星がマウスカーソルの軌跡を辿ってついてきます。工夫してうごかすとなかなか綺麗です。下のボタンを押すと実際にこの画面でマウスストーカーを有効にすることができます(requestAnimationFrameに対応したPCブラウザのみ)。いろいろ動かして遊んでみてください。 このページでマウスストーカーを有効にする 実装 このマウスストーカーがどのように実装されているか紹介します。ソースコードはGitHubに公開していますので、適宜ご参照ください。手元

    リアクティブプログラミングの技術を用いてマウスストーカーを実装する - はこべにっき ♨
  • golangで書かれたSlack bot でエンジニアに話題提供しよう - はこべにっき ♨

    こんにちは、id:hakobe932 です。はてなエンジニアアドベントカレンダーの18日目として、はてな社内で導入をためしている話題提供Slack botの機能と実装について紹介します。昨日はid:astj による Herokuとwerckerによる継続的インテグレーション・自動デプロイでperlのwebアプリケーションを開発するでした。 #enginnerで技術交換 はてなではメインのチャットツールとしてSlackを活用しています。チームや職種などの単位のたくさんのチャンネルがあり、それぞれのチャンネルでコミュニケーションが行われているのですが、もっぱら技術的な議論を行っているのが #enginner というチャンネルです。#engineer では、チームをまたいだ技術的な相談のほか、新技術や勉強会の紹介など、技術に関わるさまざまな話題で情報交換しています。 もっと技術の話題でわいわいし

    golangで書かれたSlack bot でエンジニアに話題提供しよう - はこべにっき ♨
  • unite.vim の source をお好きなスクリプト言語で書ける unite-script - はこべにっき ♨

    2014/2/20 追記 unite-scriptがUnite.vim体に取り込まれました - はこべブログ ♨ にあるようにUnite.vimに取り込まれました。 紹介 11月20日に開催されたKansai.pmのLTでunite-scriptについて発表しました。 unite-scriptはunite.vim の sourceをお好きなスクリプト言語で書くためのsourceです。リポジトリはこちら。 https://github.com/hakobe/unite-script Kansai.pmのLTで発表した資料も公開しておきます。 Unite with scriptView more presentations from hakobe. 以下ちょっとくわしく。 unite.vim unite.vim は最近もりあがりを見せてきた vim のプラグインです。候補の一覧からアイテムを

    unite.vim の source をお好きなスクリプト言語で書ける unite-script - はこべにっき ♨
  • unite-scriptがUnite.vim本体に取り込まれました - はこべにっき ♨

    ずいぶん前につくった unite-script が、先日リリースされた Unite.vim の ver 6からscript sourceとして体に取り込まれました。今後は、別にunite-scriptをインストールすることなく、script sourceが利用できます。 unites-scriptはずいぶん長い間メンテナンスが滞っていて、ご迷惑をおかけしていたのですが、今後は体機能として安心してご利用いただけます。取り込みなどほとんどの作業は、Unite.vimの作者の@Shougo さんにやっていただきました。ありがとうございました!! そもそも、unite-scriptは、unite.vim の source をお好きなスクリプト言語で書ける unite-script - はこべブログ ♨ という記事ではじめて登場した、Unite.vimのsourceの1つです。自由なスクリプトを

    unite-scriptがUnite.vim本体に取り込まれました - はこべにっき ♨
  • Go言語の気に入ったところ/気に入らなかったところ - はこべにっき ♨

    二日間ほど集中してgo言語でコード書いたので、その間に感じたことをまとめてみます。普段はだいたいPerlJavaScriptでWebアプリケーションを書いています。 まとめの要約 go言語良い Webアプリケーション書くならPerlとかRubyが良い PerlとかRuby書ける人がミドルウェア書くならgo言語良い 気に入ったところ コンパイルエラーが親切 たとえば気楽な気持ちで以下のようなコードを書くと package main import ("fmt"; "net/http"; "log") func main() { resp := http.Get("http://hatenablog.com/") fmt.Println(math.Pi) } 以下のように丁寧に問題箇所を教えてくれます。 ./hoge.go:6: imported and not used: "log" ./h

    Go言語の気に入ったところ/気に入らなかったところ - はこべにっき ♨
  • Node.jsで書かれたIRC bouncer、homura を作りました - はこべにっき ♨

    いわゆる IRC proxy や IRC bouncer はIRCサーバに常時つないでおいてログをとったり、チャンネルを維持したりするのに、大変便利なソフトウェアです。ZNCやtiarraなんかが有名ですね。 その IRC bouncer をNode.jsでのネットワークプログラミングの手習いに書いてみました。homuraというソフトウェアです。はじめてつかったIRC bouncerがmadokaという名前だったのを思い出して名づけました。 homuraにはIRC bouncerとして最低限の機能がそろっています。同時に複数のサーバへの接続、複数のクライアントから接続の受付が可能で、サーバークライアントの両方でTLS接続に対応しています。チャンネルごとにログを記録したり、クライアントからの接続がなくなった時に自動でawayになるといった、機能を備えます。(READMEのmodulesの項を

    Node.jsで書かれたIRC bouncer、homura を作りました - はこべにっき ♨
  • 1