タグ

ブックマーク / blog.stanaka.org (18)

  • Hello London, Hello Europe - stanaka's blog

    はてな退職してその後、しばらくロンドンに行ってました。(ちなみに、はてなとは引き続き技術顧問として関わりを持っています。) morning in #london Shinji Tanakaさん(@stanaka)が投稿した動画 - 2016 10月 8 2:22午前 PDT なぜロンドン?という疑問に答えると、9/1よりメルカリのUK担当としてヨーロッパ方面のエンジニアリングの立ち上げに携わることになったためで、ロンドンの中心部にあるオフィスでしばらく働いてました。 入社翌週から先週まで1ヶ月ほどロンドンで立ち上げに向けていろいろ仕込みに行っていたのですが、ロンドンはアメリカのサンフランシスコやシリコンバレーあたりとはまた違う雰囲気でなかなか面白いです。実際にこれからのロンドンでの生活や仕事が楽しみになってきています。 今回の滞在で感じたロンドンの印象的なポイントはいくつかあるのですが、

    Hello London, Hello Europe - stanaka's blog
    advblog
    advblog 2016/10/27
  • はてな退職の辞 - stanaka's blog

    はてなを8月末で退職することになりましたので、お知らせします。 はてなに入社してから10年経ち、年齢も40を越えてきたタイミングでそろそろもう一つチャレンジしようかなという想いから、わがままを言わせてもらいまして今回の退職という形にすることになりました。退職理由として、はてなになにか不満や問題があったわけではなく、あくまで僕が新しいことをしたいという意図を汲んでもらって社長をはじめとする経営陣からも円満に送り出してもらっています。はてなエンジニア層もこの数年で質量ともに充実し体制もだいぶ形が整っており、安心して後を任されるようになっています。 はてなでの10年間では、いろいろな経験をさせてもらいました。前任の伊藤直也さんから引き継いだCTOを6年勤めたのをはじめ、アプリケーションエンジニアインフラエンジニアから、ディレクター、事業責任者、サポート部長、総務部長、法務部長など、エンジニア

    はてな退職の辞 - stanaka's blog
    advblog
    advblog 2016/07/29
  • Go本体にContribute成功した話 と Gerritの話 - stanaka's blog

    来月ぐらいにはGo 1.7がリリースされそうなのですが、CONTRIBUTORSに名前が載せられそう( https://github.com/golang/go/blob/release-branch.go1.7/CONTRIBUTORS#L915 )なので記念エントリです。 内容自体は、4月にあったGoCon 2016 Spring( http://gocon.connpass.com/event/27521/ )での発表済みです。 tl;dr 一部のディストリの最新版でlinux/386でビルドしたバイナリが起動すらできない、というバグがあった 問題はruntimeのアセンブラ部分だったけど、なんとかパッチ書けた パッチ提出→コードレビュー→やりとり→マージまで、3日程度とスムーズに進行できた https://go-review.googlesource.com/#/c/21190/

    Go本体にContribute成功した話 と Gerritの話 - stanaka's blog
    advblog
    advblog 2016/07/29
  • 「Soft Skills」でエンジニアの生き方を学ぶ - stanaka's blog

    SOFT SKILLS ソフトウェア開発者の人生マニュアル 作者: ジョン・ソンメズ出版社/メーカー: 日経BP社発売日: 2016/06/02メディア: Kindle版この商品を含むブログを見る 少し前にSoft Skillsを読み終わりました。Soft Skillsは、 d.hatena.ne.jp で紹介されていたです。翻訳が出る前に原著を買ったのを積んでおいたら翻訳が出てしまったので、あわてて原著を読み終えました。 内容はいわゆる自己啓発的なものなのですが、これまでのエンジニアのキャリア論として、ここまで網羅的かつ実践的に書かれたはこれまでなかったのではないかと。いくつか個人的に面白かった/興味深かった箇所を書き出してみます。 Fake it till you make it (Chapter 16) ブログを書いて知名度をあげるとよい (Chapter 22) 学習するには人

    「Soft Skills」でエンジニアの生き方を学ぶ - stanaka's blog
    advblog
    advblog 2016/07/26
  • ErgoDoxを買いました & ErgoDox現状確認会やります - stanaka's blog

    ErgoDoxを買った! 局所的に流行っているErgoDoxを買いました。ErgoDoxとはなにかとか、購入方法の話はこのあたり(ErgoDoxを購入して人生がバラ色になった - YAMAGUCHI::weblog)をどうぞ。 セパレートキーボードの特徴を生かして、間にMagic Touchpadとコーヒーを置いてます。 Touchpadがあるので、Macbookを普通に使っている時のようにタッチパッドを操作できます。 またコーヒーカップを間に置くことで、ついうっかりこぼしてしまうような事故も減らすことができます。 ちなみに、僕もErgoDox EZのフルセット(ErgoDox EZ Bundle: Blank)で買いました。 フルセットでもキー上の刻印有無やキースイッチの種類(押圧力やクリック感などが変わるそうです)が選べます。 ErgoDoxはキーマップを自由に変更できるのが魅力なので

    ErgoDoxを買いました & ErgoDox現状確認会やります - stanaka's blog
    advblog
    advblog 2016/05/20
  • さようなら、自作サーバー - stanaka's blog

    一昨日、自作サーバー同窓会というイベントを開催しました。 このイベントは2009/11(4年半前!)に開催した自作サーバーカンファレンスに登壇された方々を中心に、自作サーバー現役の方々を交え、あの頃の自作サーバーと、自作サーバーの今を振り替えってみようという趣旨のものでした。 イベントの詳細は吉岡さんのエントリ、桑野さんのエントリ、@nekoyaさんのエントリとtoggetterのまとめを参照してください。 僕の思いは「自作サーバー同窓会」という名付けに集約されています。AWSが常識になり、物理的な世界との距離が広がりつつある今、各社の様々な取り組みなどを楽しく振り返ることができました。 さようなら、自作サーバー。いろいろな面白い経験と仲間を得ることができました。登壇及び参加された皆さん、ありがとうございました! 余談 会場はフリークアウトさんの新オフィスで、シャレオツすぎて、前向きになれ

    advblog
    advblog 2014/03/07
  • 2014年のウェブシステムアーキテクチャ - stanaka's blog

    (Monitoring Casual Talk in Kyotoで発表してきたので、ブログエントリにまとめ直しました) 2013年はインフラ周りの技術的な進化が大きく、いくつかのエポックメイキングな概念と実装が産まれました。個人的には特に以下の2つが大きいと思っています。 AWS格普及期 DockerとImmutable Infrastructure これらを踏まえて、2014年のウェブシステムの進化の方向性を考えてみます。また、それによるモニタリングへの影響もあわせて考えます。だいぶ長くなってしまったので、急ぐ人は最後に結論をまとめましたので、そちらからどうぞ! 2013年という時代背景 AWS格普及期を迎えているのは、言わずもがなのことで、Re:Inventでの246件という膨大のセッション数などにその勢いが表われています。 また、DockerLXC (LinuX Conta

    2014年のウェブシステムアーキテクチャ - stanaka's blog
    advblog
    advblog 2013/12/01
  • 多段fluentd + mongodb のハマリ所 - stanaka's blog

    fluentdを多段構成にして、mongodbに出力するところでハマったのでメモ。 上の構成のように、各サーバにfluentd + out_forwardを置き、集約するログサーバにfluentd + out_mongoでmongodbに出力している場合に、上段のfluentdでbuffer_chunk_limitを10mより大きい値にしていると、エラーになることがあります。 まず、out_mongoでbuffer_chunk_limitを10m以内にしないといけない理由は、fluentdからMongoDBへ連携する際の注意点 #fluentdを参考にしてください。 ここで多段構成の場合、上流の buffer_chunk_limitが大きいと上流から大きなサイズのデータの塊が流れてくることがあります。それを受けとったfluentdはそれをそのままoutput pluginに流す実装となって

    多段fluentd + mongodb のハマリ所 - stanaka's blog
    advblog
    advblog 2013/02/22
  • fluentd + mongodb+ node.js でリアルタイムにグラフを描く - stanaka's blog

    追記 2/22 毎回微妙に追記していますが、今回も追記です。最後にmongodbのinsert性能について80lines/secで厳しくなった、と書いてますが、環境か設定まわりがあやしいので訂正します。もうすこし検証してみようと思います。 → 検証して fluentd側の設定の問題であることが分かりました。詳しくは、http://blog.stanaka.org/entry/2013/02/22/171053 追記ここまで 最近は、fluentd + mongodb でログを蓄積していろいろ便利に使っているわけですが、数分に一回集計スクリプトを周したり、 GrowthForecast の画面をリロードしまくるのではなく、もっとリアルタイムで見たい! という欲求が募ってきたので、 node.js を使って実装してみました。( https://github.com/stanaka/realti

    fluentd + mongodb+ node.js でリアルタイムにグラフを描く - stanaka's blog
    advblog
    advblog 2013/02/21
  • Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog

    追記(2/8 11:30) id:naoyaによる一連のまとめが【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリーにあります。 また、仕様などをまとめるために http://ltsv.org/ を立ち上げました。 追記ここまで Labeled Tab Separated Values (LTSV) というのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからfluentd、Apache Hiveまで幅広く便利に使えています。 ログフォーマットに期待されることは、 フォーマットが統一されている → 共通のツールで集計し易い 新しいフィールドの追加が容易 → サー

    Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog
    advblog
    advblog 2013/02/06
  • データベースのモダンな使い方を知りたい人のための「Webエンジニアのためのデータベース技術[実践]入門」 - stanaka's blog

    「Webエンジニアのためのデータベース技術実践入門」を献いただきました。著者の松信さんはMySQLの専門家で、これまでも数々の良書を執筆されています。ここ1,2年でデータベースの設計や運用の考え方は大きく進化したのですが、そのあたりが分かり易く解説されており、期待を裏切らない良でした。 Webエンジニアのための データベース技術[実践]入門 (Software Design plus) 作者: 松信嘉範出版社/メーカー: 技術評論社発売日: 2012/03/09メディア: 単行(ソフトカバー)購入: 20人 クリック: 480回この商品を含むブログを見る 目次は松信さんのブログエントリにありますが、データベース技術の背景にある考え方から、具体的な概念、MySQLでの実践的な運用、データベースに適したハードウェアの特性まで記述されており、Webアプリケーションエンジニアはこの一冊を読ん

    データベースのモダンな使い方を知りたい人のための「Webエンジニアのためのデータベース技術[実践]入門」 - stanaka's blog
    advblog
    advblog 2012/03/07
  • ウェブエンジニアが「オンラインゲームを支える技術」を読むべき理由 - stanaka's blog

    3/24に発売された「オンラインゲームを支える技術」は、ウェブエンジニアも必読のだと思います。(しばらくAmazonでも在庫切れになっていたようですが、今は復活しているようです。) オンラインゲームを支える技術  ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus) 作者: 中嶋謙互出版社/メーカー: 技術評論社発売日: 2011/03/24メディア: 単行(ソフトカバー)購入: 32人 クリック: 1,693回この商品を含むブログ (48件) を見る 書で扱う領域は、目次を一瞥するだけで分るように非常に多岐に渡っています。主な項目として、「オンラインゲームの企画で考えるべきこと」から「実際のアーキテチャや使うべき技術」「プロトコルの設計と改善方法」「インフラの選択・構築方法」「必要となるエンジニアのリソースの見積りや共同開発手法」までカバーされており、まさにオンライ

    ウェブエンジニアが「オンラインゲームを支える技術」を読むべき理由 - stanaka's blog
    advblog
    advblog 2011/04/11
  • はてなのCTOを引き継ぎます - stanaka's blog

    日9月1日付けで、はてなのCTOを引き継ぐことになりました。 この2年半は主にはてなのインフラを見てきましたが、これからは、はてな技術全般を見ていくことになります。 昨日の退職エントリでも書かれていた通り、「はてな」という会社は、プレイヤーの個人技を中心とした属人的な体制から、チームプレイによる組織的な体制に徐々に移りつつあります。この変化には良い面、悪い面の両面がありますが、はてなのサービスをより拡大させるために必要なことだと考えています。また、個人の働き方としても、一定の役割りが固定的に与えられ、それを何年も続けるよりは、流動性と多様性を確保したほうが、会社としても個人としても幸せになれると思います。 昨日、id:naoyaが退職し、今日、id:ShigeakiYazakiが入社しました。このようにサービスを担う人は徐々に代わりつつも、「T型コミュニケーションを促進する」というはて

    はてなのCTOを引き継ぎます - stanaka's blog
    advblog
    advblog 2010/09/02
  • Scala on Hadoop: Hadoop Conference - stanaka's blog

    先日、Hadoop ConferenceでScala on Hadoopというタイトルで発表してきました。スライドを以下に置いておきます。 Scala on HadoopView more presentations from Shinji Tanaka. ダイジェストとして、ScalaをHadoopで動かすための方法を書いておきます。 まず、Hadoop上でScalaを実行させるためには、JavaScalaを接続するライブラリが必要となります。ここでは、SHadoop( http://code.google.com/p/jweslley/source/browse/#svn/trunk/scala/shadoop )を使用します。SHadoopは、型変換を行うシンプルなライブラリです。 よくあるWordCountのサンプル、WordCount.scala (http://blog.jo

    Scala on Hadoop: Hadoop Conference - stanaka's blog
    advblog
    advblog 2009/11/25
  • KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog

    KOF2009にて、「ウェブサービスのパフォーマンスとスケーラビリティ」と題して発表してきました。発表資料を以下に置いておきます。 Performance and Scalability of Web ServiceView more presentations from Shinji Tanaka. 概要は、「ウェブサービスのパフォーマンスを向上させスケーラビリティを高めるために、はてなでは様々な取組みを行っています。セッションでは、はてなで採用している具体的な技術、ノウハウ、可視化手法と、それらの効果について紹介します。」というものです。 最近の、Interopやカーネル読書会あたりで話した内容をまとめつつ、レスポンスタイムの可視化という最近の取り組みについて話しました。 最近、レスポンスタイムについては、以下のようなグラフを使っています。 x軸がレスポンス時間、y軸がその時間内に収

    KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog
  • はてなでの仮想化技術の使い方@AMDセミナー - とあるはてな社員の日記

    先週、AMD主催のセミナーで「はてなでの仮想化技術の使い方」という発表をしてきました。 はてなでは、1年半ほど前から仮想化技術に取り込んでおり、現在では300台以上のサーバが仮想化されています。仮想化技術には、様々なメリットがありますが、はてなではサーバリソース利用率の向上と、システムの安定化の二つの利点を重視しています。サーバを仮想化していく際に、どのようなポリシーで一つの物理的なサーバに仮想化ホストを積み重ねているか、とか、実際どれぐらい効率を上げられているか、とか、あとAMDさんのセミナーなので、消費電力的にはOpteronが実測結果からは10〜20%程度効率がいい(負荷時にOpteron 1.82A, Xeon 2.17A)、というあたりの話をしてきました。 How to use Virtualization Technology in HatenaView more presen

    はてなでの仮想化技術の使い方@AMDセミナー - とあるはてな社員の日記
    advblog
    advblog 2009/02/05
  • とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする

    すこし前にはてなスターのリリースがされたのですが、サービス開始直後にありがちなことに、時々負荷で遅くなったり、アクセスしにくくなったりしてしまいました*1。これではいけない、ということで、すぐ次の日に、バックエンドのサーバを一気に10台近くまで増やして、おおむね快適に使える状態になっていると思います。この時に、新しいサーバをまっさらな状態から、だいたい30分程度で番投入することができていました。これを、どのように実現したのかを軽く紹介したいと思います。 ちなみに、サービスの重さは、サーバ増強だけで済むものではなく、それ以降も、Javascriptが重い!とか、アプリケーションロジックで重いSQL を走らせてしまって遅いという問題は何回かありました。が、そこはインフラではなく、アプリケーションの問題で、アプリケーションの改善は、継続的に進んでいると思います。ので、今回は、インフラの話に限定

    とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする
    advblog
    advblog 2008/12/25
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

    advblog
    advblog 2008/05/14
  • 1