タグ

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

  • 近況 - はこべにっき ♨

    これは直接のお知り合いの方に向けた、個人的な近況の報告のための記事です。オープンインターネットを用いるのが最も適切に伝わりやすそうなので、このようにしていますが、関係のない方にはすいません。 新卒として2010年に入社した、はてな退職しました。最終出社は4月26日でした。2008年に参加したインターンシップも含めて数えると10年以上はてなで働いていたことになります。 10年の中で当にたくさんの方にお世話になりました。ずっとにこにこしながら働き続けてこれたのは、これまで出会ったはてなスタッフの皆様のお陰です。大変なこともあったけど、楽しかったな、達成できたな、と思えることのほうがたくさんあります。ありがとうございました。 特に、僕のわがままを聞いていろんなチームに配属してもらい、いろんなメンバーと働かせてもらったこと、チーフエンジニアとしてエンジニアのみんなが楽しく仕事をするサポートを任

    近況 - はこべにっき ♨
    y_uuki
    y_uuki 2019/04/30
    おつかれさまでした!
  • grpc-gateway と使われてるProtocolBuffer周辺技術メモ - はこべにっき ♨

    grpc-gatewayはHTTP2+ProtocolBuffer をプロトコルに用いるgRPCのサービスを、HTTP/1.1のRESTfulな JSON APIとして利用できるようにするリバースプロキシを生成してくれるツールだ。 厳密にはProtocolBuffersを処理するコマンドであるprotocのプラグインとして動作し、protocに読み込んだgRPCのサービス定義をもとにGoで記述されたコードを生成する。生成されたコードはHTTPサーバのハンドラになっていて、net/httpに登録して使えるようになっている。 ハンドラはHTTP/1.1でリクエストを受け取ると、リクエストに含まれるJSONを対応するProtocolBufferのメッセージに変換し、プロキシ先のgRPCサービスのメソッドを呼び出す。このgRPCサービスは、元にしたスキーマが同じであればGo以外の言語で実装されてい

    grpc-gateway と使われてるProtocolBuffer周辺技術メモ - はこべにっき ♨
    y_uuki
    y_uuki 2018/04/22
  • gRPCを学んでいる - はこべにっき ♨

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

    gRPCを学んでいる - はこべにっき ♨
    y_uuki
    y_uuki 2018/04/04
  • Fluent Pythonを読んだ - はこべにっき ♨

    Fluent PythonPythonicな思考とコーディング手法 作者: Luciano Ramalho,豊沢聡,桑井博之,梶原玲子出版社/メーカー: オライリージャパン発売日: 2017/10/07メディア: 単行(ソフトカバー)この商品を含むブログ (1件) を見る ちょいちょいPythonのコードを書くことが出てきたので、ちゃんとした使い方を学ぶために読んでみた。Pythonic にオレはなる! 目次 を見るとわかるのだけど、データ構造、関数、オブジェクト、制御構造、メタプログラミングと言語の機能を広く深く取り扱っていて、Pythonをしっかり理解するという目的にはぴったりだった。Pythonの基文法は抑えてるのが前提になっているので、初学者は入門 Python 3あたりを読んでおくと良いと思う。 このが良いのは、各章ごとに参考文献がかなり充実している点だ。章の終わりに油

    Fluent Pythonを読んだ - はこべにっき ♨
  • Visual Studio Code で編集中のテストコードを実行する - はこべにっき ♨

    TL;DR Visual Studio Codeではエディタからのコマンド実行がTasksという仕組みでできてとても便利。 背景 最近エディタをVisual Studio Codeに変えた。エディタのこだわりはそんなになくて、VimEmacs → Atom といった順番で2年に一度くらい乗り換えている。だいたいどのエディタにもVimキーバーインドエクステンションがあるのでなんとかなる。 Visual Studio CodeはAtomと同じElectronベースだけど、なぜかAtomよりサクサク動くので気に入っている。Microsoftのリソースパワーに感謝するしかない。 テストの話に移ると、テストを書くのはもちろんソフトウェア品質の担保やリグレッションの防止が目的だけれども、TDD的な文脈では開発のリズムを作るのも目的の一つだ。リズムよくテスト実行しつつ開発するには、エディタで開いて

    Visual Studio Code で編集中のテストコードを実行する - はこべにっき ♨
  • ざっとわかるPythonの紹介 - はこべにっき ♨

    普段Perlを書いている自分がざっくりPythonについて調べて発表した時の資料が手元に転がっていたので、せっかくなので公開した。 普段、別の言語でWeb開発している人が、自分の言語のアレはPythonだとコレなのねって雰囲気わかるようになっているといいなと思って作ったけど、見返すとそうでもない気がする。 自分もPython初心者なので、「おいおいまったくまちがっているぜ! 」といったことがあったら教えてほしいです。京都に住んでいるのだけど、関西のPythonコミュニティの雰囲気もよく知らないので情報募集です。 あと資料で紹介しているブログのコードは以下においてある。自分がよくやる感じの薄い設計でかんたんなブログシステムをPythonで書いたらこんな感じかな~ってコードになっている。 github.com

    ざっとわかるPythonの紹介 - はこべにっき ♨
  • Kyoto.なんか #3 を開催することになりました - はこべにっき ♨

    みなさん暑いですね。京都はとても暑いです。暑い京都をもりあげるKyoto.なんかというイベントの第三回を開催することになりました。 Kyoto.なんかは、Kyoto.rbやKyoto.jsのような言語ごとの勉強会ではなく Kyoto.* 、つまりプログラミングや技術に関する発表ならなんでもOKの技術勉強会です。 かつての様子はこちら。 http://hakobe932.hatenablog.com/entry/2016/08/15/203909 http://hakobe932.hatenablog.com/entry/2014/05/07/232939 そんなKyoto.なんか#は来たる8/19(土)、京都はてなオフィスで開催いたします。現在、発表者を募集中です。ぜひ発表にチャレンジしてみてください。 kyoto-nanka.connpass.com

    Kyoto.なんか #3 を開催することになりました - はこべにっき ♨
    y_uuki
    y_uuki 2017/07/21
    京都じゃん
  • UNIXという考え方読んだ - はこべにっき ♨

    誕生日に id:aereal さんに頂いた。ありがとうございます! UNIXという考え方―その設計思想と哲学 作者: Mike Gancarz,芳尾桂出版社/メーカー: オーム社発売日: 2001/02メディア: 単行購入: 40人 クリック: 498回この商品を含むブログ (141件) を見る たいへん有名な。原著は1994年に書かれていて、古典という感じ。 大きな一枚岩のソフトウェアよりも、cat、sort、uniq、sedやawkのような小さくて便利なツールを組み合わせることが好まれる。UNIXの世界には、こういった、UNIX開発者やユーザがが大事にしている哲学があり、そのおかげで、このが書かれた1994年、そして現代においてもUNIXが広く使われることになった。このでは、そういったUNIXの考え方のエッセンスの部分を9つの定理にまとめてとして詳しく教えてくれる。 スモール

    UNIXという考え方読んだ - はこべにっき ♨
    y_uuki
    y_uuki 2017/06/26
  • 確率統計の勉強 - はこべにっき ♨

    仕事やらなんやらで、データの様子をみる場面はよくあるものの、データの調べ方や分析の方法を知らなくてなにかと困るので、なんとかしたい... という気持ちの高まりがあって、連休のちょっと前から確率統計の勉強をはじめた。 確率統計は大学の講義で一通りやったはずだけど、たいして活用できないまま数年がすぎてほぼ忘れてしまった。そういう調子なので、今となっては、適当な数の標を用意してきて、標比率を求めてみるけど、この値は母比率にどれくらい近いものなの? と言われても、まったく何も言うことはできないのであった。 ひとまず基的な内容をザクッと学べそうな、まずは、やさしく学べる統計学を読んでみた。 やさしく学べる統計学 作者: 石村園子出版社/メーカー: 共立出版発売日: 2006/06/30メディア: 単行購入: 1人 クリック: 12回この商品を含むブログ (13件) を見る 以前、微分積分の勉

    確率統計の勉強 - はこべにっき ♨
  • Effective Python 読んだ - はこべにっき ♨

    Python入門週間の続きでEffective Pythonをサラリと読んだ。 Effective PythonPythonプログラムを改良する59項目 作者: Brett Slatkin,石敦夫,黒川利明出版社/メーカー: オライリージャパン発売日: 2016/01/23メディア: 大型この商品を含むブログ (4件) を見る 自分がおもしろいと思ったのは、入門 Python3にはあまり載っていない込み入ったPythonの機能の紹介ので、特に "4章 メタクラスと属性" では、Pythonのオブジェクトシステムの凝った使い方を知ることができて良かった。自分のコードでメタクラスを積極的に使うのは嫌な予感がするので、あまりないかなと思うものの、ライブラリコードを読むときなどには役立ちそう。 他にも、"6章 組み込みモジュール" では、デコレータやコンテキストオブジェクトの定義の仕方やコ

    Effective Python 読んだ - はこべにっき ♨
  • PythonでWebアプリケーション作る練習をした - はこべにっき ♨

    最近流行っている雰囲気があるPythonだけど、僕も年末にふと気分が高まったので、練習をしてみた。 自分にとってはPerlRubyよりも先に勉強した、初めてのスクリプト言語がPythonだったので、ちょっとだけ思い入れがある。とはいえ、何年も前に初めてのPythonで勉強した後は、稀に使うくらいだったのでPythonならではの良い書き方とか、良いライブラリの知見とかは全然持ってなかった。 そこで、Pythonに入門しなおしてPython流を思い出した後、自分が気になっているWeb開発をやってみてどういうもんなのかを一通りやってみた。 このエントリは、GoでWebアプリケーション作る練習をしたの続編です(さらに続きはないでしょう)。 入門 Python3 を読んだ 入門 Python 3 作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日:

    PythonでWebアプリケーション作る練習をした - はこべにっき ♨
    y_uuki
    y_uuki 2017/01/17
    よさそう
  • 次に何を勉強するかを決めるための作戦 - はこべにっき ♨

    Webエンジニアが学ぶべき技術範囲はとても広く、いったい何をどこから勉強していくかは難しい問題です。僕も試行錯誤を繰り返しています。 そんな試行錯誤の中で、新しく何を勉強するか決めるときに使ってる作戦がいくつかありそうだなと思うようになりました。そこでこの記事では、僕が次に勉強すべきテーマに困ったときに使っている作戦を紹介してみようと思います。 各作戦の例のコーナーでは実際に僕がその作戦を使って勉強したトピックなどを紹介しています。 このエントリは、はてなエンジニアアドベントカレンダー2016の20日目の記事で、担当はid:hakobe932です。昨日の担当は id:masayoshi さんでLinuxのARPとL2スイッチのお話という記事でした。 作戦1: 新しいプログラミング言語を学ぶ 新しいプログラミング言語を学ぶのは、比較的手を出しやすい作戦です。プログラミング言語を学ぶことで自分

    次に何を勉強するかを決めるための作戦 - はこべにっき ♨
    y_uuki
    y_uuki 2016/12/20
  • 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) - はこべにっき ♨
    y_uuki
    y_uuki 2016/09/25
    現代的なインターネット基盤だ
  • Kyoto.なんか#2 を今週末やります! - はこべにっき ♨

    (参加登録はもう終わってるんですが)、今週末の8/21(日) にはてなオフィスでKyoto.なんかというイベントをやります。Kyoto.なんかはプログラミングやインターネットに関する発表をしあってみんなでわいわいする勉強会です。 atnd.org スケジュールも決まりました。開催が14時からになりました! なのでおもしろ発表たくさんあるので、参加登録されているかたは忘れずぜひいらしてくださいね!! 当日とびいりのLTも歓迎です! スケジュール 13:30 開場 14:00 - 14:10 オープニング 14:10 - 14:25 y_uuki さん サーバ運用スクリプト集がゴミ捨て場みたいになってた話 14:25 - 14:40 kizkoh さん Rust仕事まわりについてなんか 14:40 - 14:50 休憩 14:50 - 14:55 鹿くん さん なんか 14:55 - 15

    Kyoto.なんか#2 を今週末やります! - はこべにっき ♨
    y_uuki
    y_uuki 2016/08/15
    わいわい
  • アクターによる並行処理アーキテクチャの解説 - はこべにっき ♨

    社内勉強会でアクターによる並行処理アーキテクチャについて解説した時の資料です。しれっと公開してあった資料に思いの外ブクマがついていたのに気付いたので、せっかくなのでこちらにも掲載しておきます。 既存技術の解説なのでアクターについて知っている人にとって新しい情報はないと思います! 特に何ベントカレンダーでもないです。 今後Erlang使うの? Erlang VMの運用ノウハウなさすぎるので、すぐ使おうという機運はなさそう。ScalaのAkka Actorが十分実用的なアクターシステムらしいし、Scalaは導入済みなのでそちらのほうが有力な選択肢になるか。アクターシステムではないが、goでも近いことはできるのでさくっと並行処理システムを構築するには良いと思う。趣味ならElixirつかいたい。 参考文献 良い資料がいろいろあって、多分に参考にさせていただいています。ながめると理解が深まるかもしれ

    アクターによる並行処理アーキテクチャの解説 - はこべにっき ♨
  • 手を動かして電子工学を学ぶ - はこべにっき ♨

    このエントリは、はてなデベロッパーアドベントカレンダーの20日目のエントリです。昨日の記事は id:aereal さんの連打を支える技術でした。明日の記事は id:astj さんです。 最近はWeb技術以外にもできることを増やそうと考えて、電子工学に入門しています。ほとんど何もしらないところからの入門ですから、理論を学びつつ手を動かして何か作ってみる作戦でいきたいところです。 しかし、自分の場合、手を動かすために丁度良い課題に取り組みたいものの、何をやればまったくわかりませんでした。 こんな風に困ってしまうことは、0から電子工学に学びはじめたい人にとっては、よくあるのではないでしょうか。そこで、このエントリでは、電子工学をはじめる人がとりあえず何か手を動かして学ぶための方法をご紹介したいと思います。 TL;DR Make: Electronics ―作ってわかる電気と電子回路の基礎を読み、

    手を動かして電子工学を学ぶ - はこべにっき ♨
    y_uuki
    y_uuki 2015/12/20
    IoTでサクセスじゃん
  • Goによるプライベートネットワークへのアクセスを禁止するHTTPクライアントの実装 - はこべにっき ♨

    クローラのように、ユーザからの入力に応じて任意のURLにHTTPリクエストを発行するソフトウェアは、誤ってプライベートネットワークへのリクエストを処理しないようにする必要があります。悪意のあるユーザが故意にプライベートなネットワークに対してリクエストして、内部情報にアクセスするといった攻撃を行う可能性があるからです。 PerlではLWPx::ParanoidAgentやLWPx::ParanoidHandlerといったモジュールが便利です。これらのモジュールは、リクエスト先のURLをチェックしてプライベートネットワークへのリクエストを禁止してくれます。単にIPアドレスをチェックするだけでなく、ホスト名をDNSで解決して得られたIPアドレスをチェックしたり、リダイレクト先のURLをチェックしたりしてくれます。まさに偏執的です。 このLWPx::ParanoidAgentと同様の機能をもったG

    Goによるプライベートネットワークへのアクセスを禁止するHTTPクライアントの実装 - はこべにっき ♨
    y_uuki
    y_uuki 2015/08/05
    これは便利
  • golangで書かれたSlack bot でエンジニアに話題提供しよう - はこべにっき ♨

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

    golangで書かれたSlack bot でエンジニアに話題提供しよう - はこべにっき ♨
    y_uuki
    y_uuki 2014/12/18
    日常的なDocker風景です
  • go言語によるhtmlcat実装 htmlcatgo の紹介 - はこべにっき ♨

    go言語の勉強に、motemenさんが作ったhtmlcat(標準入力をブラウザで tail -f できる htmlcat というのを書いた - NaN days - subtech)をgoで実装してみました。この記事ではhtmlcatgoの紹介と実装の見どころについて解説します。 htmlcatgoの紹介 htmlcatgo は、標準入力をブラウザ上でtail -fできるソフトウェアです。元祖htmlcatの使い方とほぼ一緒です。 $ tail -f /var/log/messages | htmlcatgo のように実行すると、 2013/12/16 08:15:02 htmlcatgo: http://localhost:45273のようにURLが表示されます。これをブラウザで表示すると、画面にtail -fの結果がリアルタイムで流れてきます。元祖htmlcatにある --execオプ

    go言語によるhtmlcat実装 htmlcatgo の紹介 - はこべにっき ♨
  • 関西2014年秋アニメ 放送時間まとめ - はこべにっき ♨

    今期も関西における今期のアニメの放送状況を表にまとめました。いつもどおりしょぼいカレンダーのデータを利用させていただいています。ありがとうございます。予約設定時の確認などにお役立てください。 今期の関西最速は三作品となりました。 Gのレコンギスタ 神撃のバハムート GENESIS 結城友奈は勇者である なんといっても、Gのレコンギスタが関西最速なのがうれしいところです。いうまでもない注目作品ですから、十分に最速を味わいながら視聴しましょう!前作がとてもおもしろかったガンダムビルドファイターズトライも放送され、今期はガンダムの新作が同時に二作も放送されるといううれしい事態になっています。 神撃のバハムート GENESISは同名のソーシャルゲームが原作のアニメーションです。僕は原作はほとんど知らないのですが、監督がTIGER & BUNNYのさとうけいいちさんとのことで期待できそうです。PVを

    関西2014年秋アニメ 放送時間まとめ - はこべにっき ♨
    y_uuki
    y_uuki 2014/10/02