サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
bokko.hatenablog.com
みんなのGo言語【現場で使える実践テクニック】 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: 大型本この商品を含むブログ (4件) を見る 執筆陣の一人である@songmuさんから献本いただきました。ありがとうございます。 手元に届いたのが9月の海外出張当日で、最初は飛行機の中でゆっくり読もうと思ってたのですが、 行きも帰りも深夜だったせいかずっと眠ったままで海の向こうでもあまり読む時間が取れず、気が付いたら10月なっていました。 まぁ、言い訳はそれくらいにして感想を。 本書は開発環境の構築からGoのお作法に始まり、ビルド、ポータビリティ、テスト、シグナル、I/O、そして並行処理などなど、Goを触ったことがないプログラマにはもちろん、既に実戦で本格的にGoを使ってるプログラマにとっても有
shibuyago.connpass.com Shibuya.go#2でSlackboardの話をしてきました。以下発表資料。 speakerdeck.com 資料にもあるようにSlackboardはSlackのプロキシサーバとそのためのクライアントプログラムで構成されるツールです。 github.com 具体的には以下の3つになります。 slackboard - Slackのプロキシサーバ slackboard-cli - slackboardとの通信用クライアント slackboard-log - cronlogライクなslackboard-cli 今回はSlackboardの一通りの使い方とそもそも何故Slackのプロキシサーバが必要なのかという話をしました。後者は簡単に言うと、 Slackに通知されるメッセージとログの集約 Slackへの通知方法の統一 ということになります。サーバ
先週書いたエントリの続きです。既に募集が始まっていますが、来月の2月8日(月) 19:00から渋谷のイベントスペースdots.をお借りしてnginx実践入門の出版を記念したイベントを開催します。 eventdots.jp 執筆陣二人(@cubicdaiya, @harukasan)による書籍内容や執筆にまつわるエピソードの紹介のほか、ゲストによるTech TalkとLTをお届けする予定です。本書を予約していただいた方もそうでない方も是非ご参加ください。 LTも募集中です! まだ4枠ほど空きがございますので「LTしたい!」という方は@cubicdaiyaまでmentionください。 (LTの募集は締め切りました)
@harukasanと共同で「nginx実践入門」を執筆しました。2016年1月16日発売です。 nginx実践入門 (WEB+DB PRESS plus) 作者: 久保達彦,道井俊介出版社/メーカー: 技術評論社発売日: 2016/01/16メディア: 単行本(ソフトカバー)この商品を含むブログを見る 電子書籍版もあります。 gihyo.jp 本書について 本書はnginxの実践的な入門書です。nginxをはじめて利用する方や既にnginxを利用しているけれどもっと使いこなしたいという方に向けて実践的なノウハウを数多く解説しています。以下が本書の章構成になります。 第1章 nginxの概要とアーキテクチャ 第2章 インストールと起動 第3章 基本設定 第4章 静的なWebサイトの構築 第5章 安全かつ高速なHTTPSサーバの構築 第6章 Webアプリケーションサーバの構築 第7章 大規模
実家に帰る途中の新幹線で降りる駅を間違えるというアホなミスをやらかしたせいで無駄に疲れが溜まってるんだけど、コタツに入りながらのんびりと今年を振り返ってみる。 3ヶ月前に書いたメルカリに入社して1年経ったと被っている部分もあるけどあっちは会社の話ということで。 OSS活動系 CやGoで色々なツールやミドルウェアを開発・メンテしていた1年でした。メルカリのプロダクションに導入されているものも多いです。 github.com github.com github.com github.com github.com github.com github.com ngx_small_lightやgaurunをはじめ、他社のプロダクション環境でも利用される事例が出てきているのが開発者として感慨深いです。いつかmeetupとかできたらいいなぁ。smalllight-meetupとか。ネタの幅が限定されそう
ISUCON5本選に@kazeburo、@shmorimo、@cubicdaiyaの3人でチーム「GoBold」として参加して3位になりました。また、合わせて運営が定めたスコア(100,000点)に最も早く到達したチームにもらえる特別賞ももらいました。 10万点最初に到達したチームは GoBold でした。おめでとうございます!NHNテコラスさんから(超お高い)ユンケルとマカをセットでプレゼント。 #isucon pic.twitter.com/d5CBDBk1pQ— ISUCON公式 (@isucon_official) October 31, 2015 開始3時間ちょいで10,0000点に到達し、とても順調なスタートを切ることができましたが、ここから思うようにスコアを伸ばすことが出来ず最終スコアは89,254点でした。 チームの方針とやったこと 既に@kazeburoさんが書いてるエン
先日dots.で開催されたGoオールスターズというイベントで発表してきました。 Goオールスターズ - dots. Goオールスターズ - Togetterまとめ スライドはこちら。 speakerdeck.com 内容はこれまでのイベントで話した内容と被ってるところありますが、インフラにおけるソフトウェアエンジニアとしてGoをどのように捉えて利用しているかという観点からお話をしました。これは普段僕がスライド中の自己紹介欄で自分の立ち位置を「Software Engineer in Infrastructure Engineering」という風に表現していることについてもう少し踏み込んで解説しているということでもあります。 この間 @cubicdaiya とご飯食べた時に彼が「僕はインフラエンジニアじゃなくてインフラ寄りのソフトエンジニアなんですよ」って言ってたの思い出して、プログラマーな
2015年10月3日に開催されたPHPカンファレンス2015で「フリマアプリ「メルカリ」の急成長を支えるエンジニアリング」というタイトルで発表してきました。 フリマアプリ「メルカリ」の急成長を支えるエンジニアリング speakerdeck.com 内容的には昨年の9月に自分が入社してからの1年の間に行ってきたメルカリの様々なシステムの基盤作りに関する取り組みを中心にまとめたものになっています。 bokko.hatenablog.com これらの取り組みはもちろんすべて自分一人でやったわけではなく、同僚のエンジニア達と共同で取り組んで達成してきた成果でもあります。例えば、発表資料の中で言及しているデプロイの仕組みの構築にはインフラチームのメンバー全員(4人)の手が入っています。 デプロイの自動化およびゼロダウンタイム化への道 メルカリで本番にアプリーケーションをデプロイするにはリリース時刻に
昨年の秋にメルカリに入社してから1年経った。今となってはこういう時ぐらいしかブログ書かないだろうし、 せっかくなので入社後1年間でやってきたことをざっくばらんにまとめてみる。 Ansibleのplaybookを書き続ける日々 メルカリで一番書いた量が多いのはYAML・・・もといAnsibleのplaybookだ。二番目がnginx.conf、三番目がtd-agent.confだ・・・多分。以下はplaybookのコミットグラフ。 nginx メルカリではnginxを多用している。以下その例。 ZabbixやRedmine、APIのためのリバースプロキシ APIエンドポイントのためのTLSターミネーションおよびSPDYゲートウェイ L7ロードバランサー(API、検索、プッシュ) コンテンツキャッシュ(CSS、JS、検索レスポンス) ログ分析基盤用フロントエンド(OpenResty) ngx_
YAPC::Asia 2015で「Practical nginx module development〜C and Lua〜」というタイトルで発表してきました。 Practical nginx module development〜C and Lua〜 speakerdeck.com マニアックなネタなので「聞きに来てくれる人いるかな」とちょっと不安だったのですが結果的に満員で立ち見も出るくらいの方々にお越し頂きました。 今回はCとLuaによるnginxのモジュール開発の仕方について解説したのですが、個人的に若干Cの部分がボリューム不足でライブコーディングみたいな形でいいから一旦ターミナルを開いて即席でソースコードリーディングみたいなことをすればよかったかなぁと少し反省。 時間も5分ほど余ってしまって質疑応答の時間が15分になりましたが、結果的に時間いっぱいギリギリまで質疑応答が続く盛り上
speakerdeck.com Shibuya Perl Mongersテクニカルトーク#17にお呼ばれしたのでnginxの話をしました。(なんとShibuya.pmは初参加です) 発表直後にちょっと私事でバタバタした関係であまり集中して他の方の発表を聞くことができなかったのが少し残念ですが、 あらためてh2oすごいなーって思った一日でした。 HTTP/2やSPDYのprioritizationについては僕は元々少々懐疑的で「これ、自分でチューニングしたくないなぁ」と思っていたのですが、なるほど、サーバ側で全部やってしまうのもアリかと思った次第です。 あと、発表の最後でも軽く触れましたがYAPC::Asia Tokyo 2015に実践nginxモジュール開発〜CとLua〜というトークで応募しています。採択されたらngx_small_lightやngx_dynamic_upstreamの開発
HTTP/1.1 -> SPDY/3.1 -> HTTP/2 内容的には、海外にあるサーバ上で動いてるZabbixのダッシュボードに日本からアクセスした際のWebページのロード時間をHTTPサーバのチューニングだけで速くした話です。当初4秒かかっていましたが、最終的に1秒ちょいまで早くすることが出来ました。 似たような話をQiitaにも書いてて、この時と若干計測時間が違いますが、なんかオフィス移転した後で測りなおしてみたらネットワークの経路が変わったのかかなり差が出たので今回用にやり直しています。
画像変換Night - connpass @harukasanと@yoyaの三人で画像変換Nightを主催しました。(と言いつつイベントの下準備などの重要なことは大体この二人がやってくれた感じで僕はイベントの運営に関してはあまりコントリビュートできてなくてちょっと申し訳ないなぁと思ったり。次があったらもうちょっと頑張ります) 以下、自分の発表資料です。 割と作者本人がびっくりしたのですが、ngx_small_light結構使われているなぁ、と。 これまでも何度か外部の勉強会で地道に宣伝活動みたいなことはしていたのですが、今回のように自分のプロダクトの利用事例を自分以外の人に発表してもらえるというのは非常に開発者冥利に尽きます。職場が変わったこともあって以前ほどがっつりと画像変換に関わってたりはしないのですが、ngx_small_lightは今後も地道にメンテを続けていこうかと思います。なん
先日、元同僚のエンジニアと話した際にnginxのstable版とmainline版との違いについて話題にのぼったんだけど、nginxの中の人的には基本的にmainline版を使え、ということらしい。ソースは以下。 http://nginx.com/blog/nginx-1-6-1-7-released/ 上記の一部を抜粋してみる。 Which version should I use? In general, you should deploy the NGINX mainline branch at all times. You may wish to use stable if you are concerned about possible impacts of new features, such as incompatibility with third-party module
nginxと私 僕がnginxを初めて使ったのは2009年の夏頃で、当時在籍していた会社の技術ブログでちょっとした記事を書いたりもしました。バージョンは確か0.6.xか0.8.xだった気がします。いまや1.4.xなので隔世の感がありますね!*1 今在籍しているピクシブではnginxをかなりヘビーに活用していて、 コンテンツ配信やロードバランサー、リバースプロキシ、キャッシュプロキシ、WebDAV等々、pixivの至る所で稼働しています。メインで運用しているのは大体@harukasanで、たまに二人でnginxのソースコードを追っかけたりもしています。 僕個人でもnginxも拡張モジュール(ngx_small_lightやmruby_nginx_module)を開発したり、nginxの開発チームにパッチを送ったりしました。 こういう活動のおかげもあってか、この度オライリー・ジャパン様から『マ
久々にK&Rで調べ物をしていたら、巻末の訳者略歴や発行年月日が載っているページが目に止まったので、ちょっと眺めてみた。 1989年6月15日 第2版1刷発行 2000年4月15日 第2版253刷発行 なんというか改めてK&Rのベストセラーぶりを垣間見たような気がする。 ほかの本もいくつか調べてみたけど、10刷すらいってなかった。 プログラミング言語C 第2版 ANSI規格準拠 作者: B.W.カーニハン,D.M.リッチー,石田晴久出版社/メーカー: 共立出版発売日: 1989/06/15メディア: 単行本購入: 28人 クリック: 721回この商品を含むブログ (207件) を見る ちなみに僕が買ったのは確か5年前の今日あたりだった気がする。
http://github.com/cubicdaiya/fnv なんとなくCでハッシュテーブルを実装してみた。使い方はこんな感じ。 /* main.c */ #include <stdio.h> #include "fnv.h" int main (int argc, char *argv[]) { fnv_t tbl[FNV_TBL_CNT]; const char *key = "KEY"; const char *val = "VAL"; fnv_tbl_init(tbl, FNV_TBL_CNT); fnv_put(tbl, key, val, strlen(key), strlen(val)); printf("fnv_get(%s) = %s\n", key, fnv_get(tbl, key, strlen(key))); fnv_tbl_destroy(tbl, FNV_
https://raw.github.com/cubicdaiya/zsh_completions/master/_scons 探したけどなかったので書いてみた。便利な分何かと複雑なzshだけど補完関数あたりは割と単純なのとサンプルが豊富なのでササッと書ける。 やり方がわかれば後はひたすらコマンドのヘルプを写経し、引数毎に適切な補完を当てはめるのみ。
去年から続々と30代に突入していき、誕生日を祝われつつも苦笑いを浮かべている同僚達と話しているときまって自分の年齢を聞かれる。そのたびにカミングアウトすると 「bokkoはまだ2○歳か〜、いいなぁ、若いなぁ」 などとどの人からも同じ返答が返ってくるのだが、20代後半となった今、大学生と話したり仕事したりしていると僕も歳をとったものだと感じる。 なんというか彼らが持っているようなエネルギーを当時の僕も持っていたはずなのだが、最近はほとんど失われてしまっているように思える。 行動力というか積極性というかいい意味での無鉄砲さ、みたいな?歳相応に落ち着いてきたのかもしれない。(学生時代からの僕を知ってる人なら「嘘つけ。お前全然変わってねぇじゃねぇか」と言うことであろう。そしてその人はきっと正しい!) とはいえ「イマドキノワカモノハ」というセリフを吐くにはさすがに早すぎるので、「30代に突入するまで
外に出ていて手持ち無沙汰な時、かといってゆっくり本を読めるというわけでもない微妙な空き時間にTwitterとかはてブばっかり見てるのもアレなので、ソースコードでも読もうと思っていつくかそのためのアプリを入れてみた。 Gh4a Android用Githubクライアント。認証機能がついているのでgithubにログインしないと見れない情報も見れる。ただ、常に上部に表示されているメニューのせいで肝心のソースコードの表示範囲が狭くなってしまうのが難点。ソースコードビューワというよりはGithubビューワと言う方がしっくりくる。 GitHubViewer Gh4aの簡易版といった感じ。認証機能はないが、Gh4aみたいに常時メニューが表示されることはないので、単にソースコード読むだけならこっちの方がいいかも。 Code Library Lite Gh4aとGitHubViewerはどちらもgithubを
今回の三連休でしばらく手を加えていなかった.emacsを大幅に改造してみた。新たに加えたelispは以下の通り。 auto-install.el auto-async-byte-compile.el anything.el popwin.el direx.el とまぁ、数だけ見るとそんなに入れてないんだけど、主にanything関連の設定やら連携のために過去に自分で書いたelispを相当書き直す羽目になり、全部終わった頃には月曜日になっていた。 そして、以前はバイトコンパイル前/後のelispをそれぞれ別のディレクトリに配置してデバッグしやすいようにフラグ一つで切り替えるような設定にしてあったんだけど、auto-installとauto-async-byte-compileが入ってそれらの設定が不要になり、これまたローダ部分を全部書き直すことになって気が付くと連休が終わっていたorz。 a
スタート
次のページ
このページを最初にブックマークしてみませんか?
『考える人、コードを書く人』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く