タグ

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

  • 第1回git challengeの出題内容を一部公開します - mixi engineer blog

    2015年11月15日、ミクシィ渋谷オフィスで git challengeという学生向け技術イベントの第1回を開催しました。#mixi_git この git challenge とは、問題がおきている Git リポジトリを、次のようなお題に沿って解決していく競技です。 うまく merge してください バグが埋め込まれた場所を特定してください push できない原因を特定してください ...… 第1回の当日は、このような問題が18問出題され、4時間の競技時間でどこまで解けるかを競いました。ここで出題された問題の難易度は、以下の4段階に設定されています。 EASY: 調べなくても解ける NORMAL: 調べれば解ける HARD: 調べた上で考えれば解ける VERY HARD: 考え尽くした上で最善の手を選び続ければ解ける この記事では、このうち実際に出題された問題を 2問 (EASY, NO

    第1回git challengeの出題内容を一部公開します - mixi engineer blog
    masa0x80
    masa0x80 2018/01/21
  • ノハナ開発品質向上合宿を行いました - mixi engineer blog

    こんにちは、side_tana です。まずは画像を見ていただきたいのですが、こういった活動を行ってきました。 最高ですね。ノハナでは 3月16日から18日にかけて、湯河原温泉のおんやど恵さんで開発品質向上合宿を行ってきました。 開発品質向上合宿とは ソフトウェア開発を行う中で様々な課題と向き合う必要があります。例えばテストが薄い箇所の改善や古くなったドキュメントの整理、短期的な課題解決のため少々強引に変更を加えられた箇所の修正といった課題です。しかしながら、これらの課題と並行して日々の運用や機能追加といった業務をこなす必要があり、多くの場合短期的に優先度の高い運用や開発業務が優先されることになります。その結果として、開発に関わる困難に取り組む時間は限られてきます。 そこでノハナでは、エンジニア開発品質向上合宿という形でそれらに集中できる場所と時間をつくってみました。 進行 会社で開発合宿を

    ノハナ開発品質向上合宿を行いました - mixi engineer blog
    masa0x80
    masa0x80 2016/03/29
    合宿での思い出はフォトブックに!
  • Google I/O 2013 報告会 やってみた - mixi engineer blog

    こんにちは、Android の横幕です。 Google I/O 2013 に参加して、綺麗なお姉さんに Google Glass について手取り足取りレクチャーしていただけたので、とてもテンションが上がっています。 去る 2013 年 5 月 28 日、弊社にて、「Google I/O 2013 に行ってきた@ mixi ~行ってる間に社長が代わってた\(^o^)/~」と題して、Google I/O 2013 の報告会を開催致しました。 ATND http://atnd.org/event/mixigoogleio Togetter まとめ http://togetter.com/li/509960 http://togetter.com/li/509928 弊社で大々的に報告会を開催するのは初めてでしたが、非常に多くの方にご参加いただき、大盛況のうちに無事幕を閉じることができました。 今

    Google I/O 2013 報告会 やってみた - mixi engineer blog
  • Apache HiveにおけるJSON連想配列処理の最適化 - mixi engineer blog

    あけましておめでとうございます. 平野啓一郎著「葬送」がようやく読み終わった技術部の石川有です.ショパンの死を題材とした内容が難解で重く,すべて読み終えるのに都合5ヶ月ぐらい掛かっていたのではないかと思います.当にとても重い内容ですが,濃厚で至福な時間を過ごせました. さて「重い」と言えば,「大規模データ解析」という言葉が頭に思い浮かびますよね.以前の記事「mixi の解析基盤とApache Hive での JSON パーサの活用の紹介」の通り,ミクシィの解析基盤として Apache Hive を利用しています. また Apache Hive で"No More 「刺身の上にタンポポをのせる仕事」 - 単純作業の繰り返しで開発者の時間を浪費しないために。"を実現するための Hive の JSON パーサを活用しています. 新年最初のエントリーは,Apache Hive で JSON 連想

    Apache HiveにおけるJSON連想配列処理の最適化 - mixi engineer blog
  • mixi の解析基盤とApache Hive での JSON パーサの活用の紹介 - mixi engineer blog

    こんにちは.最近ピクルス作りで精神統一をしている,たんぽぽグループ解析チームの石川有です. このブログではお馴染みのたんぽぽグループですが,"No More 「刺身の上にタンポポをのせる仕事」 - 単純作業の繰り返しで開発者の時間を浪費しないために。"というミッションを持っています.その中で解析チームは,データ解析基盤の構築,データマイニング,データ解析の社内コンサルティングを行ない技術からの改善を担当しています. 今回の記事では,mixi における解析基盤について簡単に触れたあと,その基盤における「刺身の上にタンポポをのせる仕事」をどう減らすかの2点について書きます. mixi の解析基盤 まずは解析環境について,簡単にお話します.2012-08 現在 mixi では,主な解析用のツールとしては,Apache Hadoop, Hive を利用しています.またあわせて,自分など一部の人は,

    mixi の解析基盤とApache Hive での JSON パーサの活用の紹介 - mixi engineer blog
  • mixiのコードレビューについてご紹介 - mixi engineer blog

    こんにちは技術部たんぽぽグループのmasartzです。でも今日はコードレビューアのmasartzとしてお送りします。 mixiの開発フローにはコードレビューという工程が含まれています。 今回はこの工程を行うコードレビューアな人々と、その業務内容、今後(の予定)などをお話しようと思います。 コードレビュー業務 mixiのサービスがスタートしたのは2004年2月の事ですが、コードレビュー業務が始まった正確な日時は残念ながらわかりません。 レビューツールもemailのやりとり->Tracのチケット->JIRAチケットと変遷があるため、最古のものをトラッキングできないのですが、おそらく5年以上前から様々な変遷を経て、今に至ります。 開発者が増えると、開発されるコード量も増えます。つまりレビューする量が増えるため、コードレビューアも増加します。 そんなこんなで現在ではアプリ開発者に対して、コードレビ

    mixiのコードレビューについてご紹介 - mixi engineer blog
  • めくるめくDvorakJPの世界 - mixi engineer blog

    初めまして。QWERTYの入力できないyuzuemonです。 先日社内LTにてDvorakJPについてのお話をしようとしたのですが、ローマ字テーブル拡張の話も盛り込んで紹介をしようとしたら伝えたいことが多すぎて5分を優に過ぎてしまいました。 今回はこの場を借りてDvorakJPへの熱い想いを語らせていただきます。 Dvorak配列(以下、Dvorak)とは そもそも「Dvorakってどんな配列なの?」とよく訊かれますので、まずはDvorakの配列を見ていただきたいと思います。 こんな配列をしています。 ホームポジション上の凸がある位置のキーは "U" と "H" です。 大きな特徴としては以下の2つです。 母音が左手のホームポジション上に集中している ハードウェア機構はQWERTYと変わらない OSでの対応もされており、Mac, Linuxではキーボード設定からDvorakに変更可能です(

    めくるめくDvorakJPの世界 - mixi engineer blog
    masa0x80
    masa0x80 2012/01/16
    参考になる
  • Sinon.JS を使った JavaScript のテスト - mixi engineer blog

    初めましてこんにちは。ソーシャルクライアント開発の tanabe と申します。 今回は?Sinon.JS を使った JavaScript のテスト方法を紹介したいと思います。 Sinon.JS って何? Sinon.JS はノルウェーのエンジニア Christian Johansen さんが書かれた、JavaScript 用のライブラリです。スタブやモック、フェイクオブジェクトの提供に特化していて、QUnit などのテスト用のフレームワークや実行環境に依存しない所が特徴です。Christian Johansen さんは?Test-Driven JavaScript Development の著者でもあり、こちらは近々翻訳版 が登場するようです。 では早速、Sinon.JS を使ったテスト手法をご紹介していきたいと思います。稿ではテストフレームワークは QUnit を採用しています。 時間

    Sinon.JS を使った JavaScript のテスト - mixi engineer blog
  • mixi Engineers' Seminar #2のお知らせ&YAPC::Asia 2011のお知らせ - mixi engineer blog

    クルーズ&アトラスのベストポジションがいまだに見つからないmilanoです。 こんにちは。 日は、株式会社ミクシィが主催する、エンジニア向けセミナー「mixi Engineers' Seminar」の第2回を開催することが決まりましたので、お知らせいたします。 3/3に開催した第1回目では、スマートフォンをテーマとしたのですが、参加者の方々からもっと開発の現場の深い話が聞きたいという声が多かったので、2回目はそれを実現することにしました。 題して「スマートフォン深イイ話」です。 iPhoneAndroidだけでなく、今注目のWindows Phoneの開発についても聞ける貴重なイベントです! 開催概要は以下の通りです。 開催日時 2011年6月29日(水) 19:00〜21:00 (開場:18:45、開始:19:00) 発表内容 赤松洋介さま(サイドフィード株式会社) − 開発者のため

  • Jenkins はじめました + ほか3つ - mixi engineer blog

    こんにちは。加藤和良です。 まずあの話を書いて、それを前提にあの話を書いて、みたいなキューが筆者の中にはあったのですが、正直キューの先端につまってる話はだんだん個人的な関心および記憶がうすれてきました! 昔のはなしですからね。 というわけで、最近のまとめをさらっと書いて、新しいネタをすぐ書ける状態にリセットしたいと思います。 Jenkins mixi ではバージョン管理システムとして Subversion を使っています。安定した、いつでもリリースできるバージョンを trunk に、開発中の機能は branches 以下に作業ブランチをつくり、レビューや QA などの後に trunk にマージする、という運用です。 Buildbot はこのうち trunk だけを追っていたのですが、徐々に「このブランチBuildbot で追うようにして、結果をこの IRC チャンネルに書きこんでほしい

    Jenkins はじめました + ほか3つ - mixi engineer blog
  • mixi Hackathonが京都に上陸いたします! - mixi engineer blog

    2009年8月24日のmixiアプリ一般公開に始まったmixi Platformは、現在多くの機能を提供する大きなプラットフォームに成長しました。mixiは多くのユーザーに支えられながら、コミュニケーションのインフラとして現在も進化を続けています。mixi Platformは、多くの開発者がmixiに蓄積されたソーシャルグラフやコンテンツを利用してサービスやアプリケーションを開発するためのAPI群が備わっています。ソーシャル性の高い人気サービス・アプリケーションを生み出すチャンスは、どの開発者にもあるのです。 今回のmixi Hackathon in Kyotoでは、mixi Platformで提供される機能を利用したサービスやアプリケーションがテーマとなります。どんな素敵な成果が出るか、私たちも予想もつきません。日頃mixi Platformの開発を行っているミクシィのエンジニアが、会場

    mixi Hackathonが京都に上陸いたします! - mixi engineer blog
  • mixi Engineers' Seminar #1の報告 - mixi engineer blog

    Nitendo 3DSで遊ぶのは戦国無双クロニクル、PS3で遊ぶのは真・三国無双6と、なにかを断ち切るかのように敵を切りまくっているmilanoです。 お気に入りは甄姫です。 もうずいぶんと前のことな気がしてしまいますが、3/3の雛祭りの日に行われたmixi Engineers' Seminar #1にお越しいただきましたみなさま、どうもありがとうございました。 当日使われた資料と動画を公開します。 ちなみに、今回のテーマはスマートフォン周りのお話しあれこれでした。 Objective-C一巡り Objective-Cひとめぐり View more presentations from Kenji Kinukawa ミクシィの衣川憲治より、WebエンジニアがObjective-Cを学習するメリット、Objective-Cの特徴などについて話しました。 GREEHTML5とiOS+Andr

  • 「友人のログイン状況」のリリースについて - mixi engineer blog

    2011/3/11に発生した東北地方太平洋沖地震、およびそれにともなう津波によって、大きな被害が発生しています。 残れる数多くの問題の解決のために、救出・修復・対処に当たっていらっしゃるみなさまに深く感謝します。また、今回の災害で被害に遭われたみなさまに、心より深くお見舞い申し上げます。 「つながり」を感じ合えるサービスとしてできること 携帯電話での音声通話、あるいは携帯メールアドレスでの情報のやりとりは、このような非常状況では輻輳し、あるいは帯域が制限され、すべての端末では利用できないことがあります。 何度も利用を試みていくと却って帯域を圧迫し、また当に切実に通信を必要としているかたの妨げにもなります。ですので、「ケータイの通話」「ケータイのメアド」以外にも、やりとりの手段を確保しておくのはよいことと思います。 ありがたく嬉しいことに、mixiというサービスも非常時のコミュニケーション

    「友人のログイン状況」のリリースについて - mixi engineer blog
  • Flash?いいえ、HTML5です: ファイルのドラッグ&ドロップによるフォトアップロード機能について - mixi engineer blog

    はじめまして。コミュニケーションサービス開発部の澤と申します。コーヒーカレーをこよなく愛する新卒2年目の新米エンジニアで、弊社Webのフロントエンドを主に担当しています。最近はmixiスマートフォン版(mixi Touch)の開発にも精力的に取り組んでいます。 さて、日はPC版のmixiで1つの機能をリリースいたしました。ファイルをWebブラウザにドラッグ&ドロップするだけで写真をmixiフォトにアップロードできるもので、HTML5 File API※1を採用しています。記事ではこの機能について色々とお話をしたいと思います。 なにこれ? 以下では、ドラッグ&ドロップによるアップロード機能を「機能」と呼びます。 百聞は一見にしかずです。機能のプロモーションムービーがありますので、まずはこちらをご覧ください。 動画では下記を説明しています。 従来のアップロード方法からドラッグ&ドロッ

    Flash?いいえ、HTML5です: ファイルのドラッグ&ドロップによるフォトアップロード機能について - 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
  • IE8のアクセラレータを作ってみた - mixi engineer blog

    久しぶりにエンジニアブログ登場のmilanoです。 こんにちは。 さて、先週のことですが、mixiをさらにオープン化するためのさまざまな施策がリリースされましたね。 その中でも、個人的に気になるSimplePostに注目してみました。 突然ですが、エンジニアブログ読者のみなさまはFirefoxとかChromeとかが大好きだと思います。Internet Explorerを使っている人は少ないのかもしれません。 でも、私はInternet Explorerが大好きなのです。 そんなIEなんですが、IE8から追加された機能に「アクセラレータ」というものがあります。 IE8で文字を選択したりすると←こういうやつが出てきますが、これのことです。 こいつをクリックするだけで、選択した文字をGoogle検索したり翻訳したりすることができるものです。 ※Microsoftによる紹介ドラマはこちら 今回、S

  • 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大規模障害について その2 - mixi engineer blog

    こんにちは。システム技術部たんぽぽGの森です 補足を追記しました (2010/08/20 15時) 先日のmixi大規模障害についての続報です 今回は小ネタはありません はじめに まず初めにtwitter/blogなどを通じて今回の問題の解析を行っていただいたみなさんに感謝の言葉を捧げたいと思います kzk_moverさん stanakaさん mala(bulkneets)さん llameradaさん (順不同) ありがとうございました 書き漏らした人ごめんなさい memcachedはすごい 今回の件でmemcachedに対して不安感を持たれた方もおられるとお聞きしました 説明不足だったせいで誤解を与えてしまい申し訳ありません きちんと設定および監視を行っていれば通常の使用にはまったく問題はありません 弊社にて -c 30万で起動したmemcachedに対して、先のテストスクリプトに

    mixi大規模障害について その2 - 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
  • 逆襲のLua - mixi engineer blog

    こんにちは。開発部最後の良心、mikioです。今回はLua処理系の並列化とそこでのKyoto Cabinetの利用法についてご紹介します。 サーバサイドスクリプティングといえばLua Kyoto CabinetのLuaバインディングは後回しにしてKyoto Tyrant的なサーバの設計を進めていたのですが、やはりそのサーバにもスクリプティング機能を持たせたくなりました。つまり、サーバがデフォルトで提供する機能群だけでなく、ユーザがスクリプト言語で記述した任意の機能を追加して利用できるようにするということです。 Tokyo TyrantではLua拡張と呼ばれる機能を用いてそれを実現しています。サーバの起動時にLuaのスクリプトを記述したファイルを読み込ませて、そこで定義した関数をリモートから呼び出せるようにしています。そこで実行されるLuaの処理系にはTTが管理するデータベースを操作するため

    逆襲のLua - mixi engineer blog