タグ

ブックマーク / mixiengineer.hatenablog.com (15)

  • いろいろと思ったことなど。 - mixi engineer blog

    こんにちは、仕事するのは好きだけど出勤が大嫌いな森@たんぽぽグループです。 今年の5月頃に社内ブログに書いた文章をまとめなおしてみました。 社歴とか年齢とか経験年数とか 社歴とか年齢とか経験年数とかは飾りで大した意味はありません。 よくわからない仕様があったときに、尋ねると歴史的な経緯を教えてくれるとかあるかもしれません。 聞いたらどんどんドキュメント化しておくといいです。 遠慮しないでね 変だって思ったときに、先輩だから年上だからと遠慮する必要はまったくありません。 というよりも、遠慮することは悪です。 目的はよりよいサービスを作ること。 遠慮することで目的を達成できるのならば遠慮すべきですが、逆に達成を妨げる方向しか働きません。 間違いを認めよう アイデア・プログラム・設計などなどに対する指摘は、個人に対する攻撃と取る人が時々います。 指摘されて間違いを認めることは最初は恥ずかしいで

    いろいろと思ったことなど。 - mixi engineer blog
    mktkmr
    mktkmr 2012/10/30
  • Jenkins 勉強会で発表しました - mixi engineer blog

    システム技術部たんぽぽグループの加藤和良です。すこし前の話になりますが Software Design 2012年2月号 にテストのはなしを書きました。gihyo.jp から全文が読めますので、ぜひご覧いただければと思います。なお、現在発売中の2012年3月号にも弊社の佐藤が寄稿しています。 この記事がきっかけになり、先日おこなわれた 第五回 Jenkins 勉強会 でも発表の機会をいただきましたので、その スライド を公開します。 会場の識字率の高さを考慮し (話すことを一字一句書くと先に読まれてしまうので) スライドは文字少なめで作りました。これだけ見ても何を話したかよくわからないと思うので、いくつか補足します。 Jenkins で Perlプロジェクトを管理する はじめに、Jenkins で Perlプロジェクトを管理するための、一般・基的な部分について説明しました。J

    Jenkins 勉強会で発表しました - mixi engineer blog
    mktkmr
    mktkmr 2012/02/23
  • ヘッドマウントディスプレイで仕事してみた - mixi engineer blog

    こんにちは、机の上が汚いといつも怒られている森@たんぽぽグループです そんなに言うなら!という訳でスッキリさせてみました。 ガジェット好きなみなさんならご存知だと思いますが、先日SonyよりHMZ-T1というヘッドマウントディスプレイ(以後HMD)が発売されました。今までもHMDが発売されてきましたが、残念ながら視野角・解像度の面で満足できるモノではありませんでした。しかし今度は違います。何と視野角45度、解像度1280x720と実用上まったく問題のないモノになっています。発表と同時に予約をしたおかげで無事発売日に入手することができたので、さっそく仕事で使って見ました。 ちまたのブログにもかかれているとおりHMZ-T1が綺麗に見えるスイートスポットはかなり狭く感じました。ピタッと決まるととてつもなく綺麗に見えますがちょっとずれるとたちまち画面端がぼやけたりします。このあたりは慣れが必要で

    ヘッドマウントディスプレイで仕事してみた - mixi engineer blog
    mktkmr
    mktkmr 2011/11/14
  • キーボードとアジャイル開発 - mixi engineer blog

    やぁ、たんぽぽグループの森だよ。 先日の昼休みにnaohiro.ohgataから「キミのblogは文章が短すぎるんだよ。もっと読者を楽しませなきゃ」と言われたんだ。naohiro.ohgataは皆が一目置いているJavaScriptのスペシャリストで、僕も尊敬 している。だから今日は翻訳シリコンバレーっぽい口調で書いてみようと思う。 僕が初めてキーボードというモノを触ってから30年以上たっていると思う。その時はキーボードには何の興味も無くて、コンピュータに命令を伝えるためのただの付属品だった。もちろんタッチタイピングなんかできなくて、自己流でポチポチとキーボードを打ってたんだ。今思い返すと笑っちゃうんだけど自分ではそれなりに早いつもりでいまさらタッチタイピングを覚えるなんてバカらしいとか思ってた。実際まわりの人も似たようなポチポチタイピングで、その中では一番早くてちょっとしたもんだと勘違

    キーボードとアジャイル開発 - mixi engineer blog
    mktkmr
    mktkmr 2011/11/08
    楽しませてもらいましたw
  • mixi Hackathon in Kyotoのご報告 - mixi engineer blog

    こんにちは。よういちろう です。毎日暑い日々が続いていますが、皆様そんな暑さに負けずにコーディングしていますでしょうか?僕はErlang熱が少し冷め、AndroidなプログラムでTDDをしながら快適プログラミング中です。 さて、6月24日、25日に「mixi Hackathon in Kyoto」が行われました。一日中Ustreamで会場を流していたので、ご覧になった方も多いのではないでしょうか。ここでは、会場の雰囲気や参加していただいた方々の成果を紹介したいと思います。 24日夜 〜Ideathon 24日18時30分から、mixi Hackathon in KyotoのIdeathonが開始されました。今回の参加人数は11名でした。会場は京都リサーチパークのC会議室です。まずは弊社の社員紹介、今回のHackathonの流れの説明をしました。 そしてIdeathon番に普通は移るところ

    mixi Hackathon in Kyotoのご報告 - mixi engineer blog
    mktkmr
    mktkmr 2011/07/06
    hachathon
  • 理想の開発環境 - mixi engineer blog

    たんぽぽグループの森です。 一日の半分近くを机に座ってすごすエンジニアにとって、快適な開発環境は切実な問題です。 外界からうけるストレスを極力排除し、効率よくフロー状態にはいることと、フロー状態を長く維持することはとても重要です。 お前は今までに購入したキーボードの数をおぼえているのか?と突っ込まれてもしかたが無いキーボード遍歴を重ねましたが、KINESISに出会い キーボードに関してはまぁまぁ満足することができました。 机・椅子・マウス・ディスプレイとまだまだ欲望は果てしないのですが、今回のミクシィ社の引越しに伴い、エンジニアの机と椅子にオカムラ社のクルーズ&アトラスが選定され、机と椅子に関してもかなりの満足度を得ることができたので自慢報告します。 クルーズ&アトラスの御紹介 クルーズ&アトラスはオカムラ社が販売している低座・後傾姿勢を特徴としたパーソナルワークステーションです。 2

    理想の開発環境 - mixi engineer blog
    mktkmr
    mktkmr 2011/05/17
  • OpenSocial WAP Extensionの裏話 - mixi engineer blog

    皆さんこんにちは。プラットフォーム開発を担当しています、よういちろう です。今回は、先日正式にOpenSocial仕様に採択された「OpenSocial WAP Extension」について、簡単に解説してみたいと思います。 [日発のモバイルソーシャルアプリケーション仕様が世界標準に採択] http://mixi.co.jp/press/2010/1213/3995 OpenSocial WAP Extensionって何ですか? mixi Platformは、8月24日のmixiアプリPC版の一般公開を皮切りに、次々と新しいチャレンジを続けてきました。その中で最も市場規模が成長したものは、mixiアプリモバイルになるでしょう。他社からも所謂ガラケー向けソーシャルアプリプラットフォームの参入が相次いで実現され、一種の社会現象にまで拡大しています。 日におけるガラケー向けソーシャルアプリ市

    OpenSocial WAP Extensionの裏話 - mixi engineer blog
  • YAPC::Asia Tokyo 2010 - mixi engineer blog

    実はJapan Perl Association略してJPAの理事だったりするmilanoです。 こんにちは。 さて、Perlと言えば、10/15,16に年に1度の祭典YAPC::Asia Tokyo 2010が行われました。 改めて紹介させていただきますと、YAPC::Asiaというのはmixiでも使われているプログラム言語Perlのカンファレンスです。 Perlを使っている、Perlを愛している人たちが一堂に会し、発表したい人が自由に発表する、そんなイベントです。 今年はミクシィから4人がスピーカーとして発表しました。 そして2名がボランティアとして運営に関わっていました。 イベント終了後時間が経ってしまいましたが、それぞれの発表について、発表者自らの紹介とともに、ブログエントリや発表資料をまとめていきたいと思います。 Inside Mixi by hiroki システム技術部たん

    YAPC::Asia Tokyo 2010 - mixi engineer blog
  • 出張報告 第4回セキュリティうどん(かまたま) - mixi engineer blog

    2010年10月2日(土)に香川県の国立香川大学 幸町キャンパスで行われた第4回セキュリティうどん(かまたま)にて、弊社が取り組んでいる情報セキュリティに関する話題を中心に4名のスタッフが下記の発表を行いました。 「ここ数年の業者対策」森 「標的型メール攻撃の流行とITセキュリティ予防接種」松岡 「暗号 -mixiの鍵管理ライブラリなど-」小山 「先日の大規模障害について-運用チームから-」「mixiのシステム運用管理について」小池 以下、イベントの模様を撮影した写真を貼付します。 蛇口からだし汁がでるよ。 1杯目「さか枝」ひやあつ。小が小でないでござる。 2杯目「まるいち」 3杯目「ごえもん」カレーうどん 4杯目「ゴッドハンド」ひやひや。非常に印象深い麺。 5杯目「うどんバカ一代」釜バター。 6杯目「明石家」 八頭身の何か

    出張報告 第4回セキュリティうどん(かまたま) - mixi engineer blog
    mktkmr
    mktkmr 2010/10/28
    うどん食べたい
  • mixi大規模障害について 解明編 - mixi engineer blog

    こんにちは、システム技術部たんぽぽGの森です。 先日のmixi大規模障害の原因となったmemcachedの不具合の詳細な解明ができました。 再来週まで発表を見合わせようと思ったのですが、早くお伝えしたほうがいいと思いましたので公開発表致します。 memcachedとlibevent memcachedはlibeventというライブラリを使用してクライアントからの要求(接続、コマンド送信)を処理しています。 libeventを使用するにはevent_baseという構造体を用います。 main threadはmain_baseを使用します。 static struct event_base *main_base; ... int main (int argc, char **argv) { ... main_base = event_init(); ... /* enter the ev

    mixi大規模障害について 解明編 - mixi engineer blog
  • mixi大規模障害について - mixi engineer blog

    こんにちは。システム技術部たんぽぽGの森です 先日のmixi大規模障害についてのブログです。 はじめにお断りしておきますが、弊社CTOがtwitterで公開した以上の情報はまだ得られておりません。 twitterでは書ききれなかった細部を補足してみたいと思います 現状判明しているのは以下の点です memcachedに大量の接続・切断を行うとmemcachedプロセスが突然終了することがある memcachedには異常時に終了するフローもあるが、同時に出力されるはずのエラーログは出ていなかった coreも出力されていなかった テスト環境にて追試を行ったところ、なんどか再現させることができましたが、確実に発生する条件は未だ不明です。 障害時の memcachedのバージョンは1.4.4, libeventのバージョンは1.3bです memcached の起動オプションは以下のとおり ./

    mixi大規模障害について - mixi engineer blog
    mktkmr
    mktkmr 2010/08/16
  • Buildbot で継続的インテグレーション - mixi engineer blog

    こんにちは。パートナーサービス部の加藤和良です。 前回、mixi における開発者テスト について説明しました。だいぶ間があいてしまいましたが、今回は、そのテストを定期的に実行する 継続的インテグレーション の仕組みを紹介したいと思います。 テストが遅い 実は、mixi のテストは「遅い」という大きな問題を抱えています。 Micheal Feathers は『レガシーコード改善ガイド』のなかで、単体テストが高速に実行できることの重要性を解き「単体テスト」を厳しく定義します。 次に当てはまるものは単体テストではない。 データベースとやり取りする ネットワークを介した通信をする ファイルシステムにアクセスする 実行するために特別な環境設定を必要とする (環境設定ファイルの編集など) 上記に該当するテストが悪いというわけではない。多くの場合において、そのようなテストを書く価値はあり、しばしばテスト

    Buildbot で継続的インテグレーション - mixi engineer blog
    mktkmr
    mktkmr 2010/07/21
  • いまからでも間に合う開発者テスト - mixi engineer blog

    はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、

    いまからでも間に合う開発者テスト - mixi engineer blog
  • PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog

    サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlRubyのハッシュの代用としてTokyo Cabinetを使うことでメモリ使用量を激減させられることを説明します。 抽象データベースAPI Tokyo Cabinetには抽象データベースという機構があり、先日、そのPerlRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ

    PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog
    mktkmr
    mktkmr 2009/04/22
  • MySQLのInnoDBでのデッドロック - mixi engineer blog

    こんにちは、mixi開発部にてアプリケーション開発をしていますyouheiです。 今回は、MySQL-5.0.45のInnoDBで連番を管理するテーブルのパフォーマンス測定をしていたのですが、その際に少し変わったデッドロック問題に遭遇しましたので、そのあたりをネタとして書いてみたいと思います。 まずは、今回使用したデータベースのスキーマは下記のようなものです。 CREATE TABLE num ( id bigint unsigned NOT NULL default '0' ) Engine=InnoDB; AUTO_INCREMENTは使用していません。 そこに1レコードだけ登録します。 INSERT INTO num (id) values (1); そして実際連番を取得する際には、 UPDATE num SET id = LAST_INSERT_ID(id+1); といったクエリを

    MySQLのInnoDBでのデッドロック - mixi engineer blog
    mktkmr
    mktkmr 2008/04/15
    innodbでのデッドロック
  • 1