タグ

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

  • OpenStackとLXCを導入した話 - mixi engineer blog

    こんにちは、運用部 アプリ運用グループの清水です。Golang鋭意勉強中です。 今回は、SNS「mixi」に限った話ではなく、ミクシィ社全体として利用している仮想環境について紹介したいと思います。パブリッククラウドも一部のサービスで利用していますが、今回は、自社で運用している仮想環境にフォーカスして書いてみようと思います。 今まで利用してきた仮想環境 今まで利用してきた仮想環境というと、手作業で構築したKVM(Kernel-based Virtual Machine)環境が中心でした。手作業といってもある程度手軽に構築できるように、シェルスクリプトとCobblerでVMを構築できるようになっています。構築の流れは以下のとおりです。 CobblerにVMのIPやホスト名などをスクリプトで登録する。 KVMのホスト上でスクリプトを実行(koanコマンドでCobblerと連携してVMをセットアッ

    OpenStackとLXCを導入した話 - mixi engineer blog
  • Android の Commons な知見を集めたライブラリを作りました - mixi engineer blog

    こんにちは。今日も元気に Android アプリの開発をしています、横幕です。 最近は、アプリで画像処理をゴリゴリとするのが楽しくなってきました。端末も進化してきており、メモリ搭載量も飛躍的に増えてきているので、そろそろ 64 bit 対応の空気を感じつつ有ります。 さて、私はこれまで、4 つの Android アプリ開発プロジェクトに携わってきました。mixi 公式クライアントアプリ、mixi コミュニティ公式クライアントアプリ、そして今現在はノハナにジョインして、フォトブックアプリと年賀状アプリに携わっています。 新卒入社以来配属から2年半ほど経ち、その中で得た知見を、Android-Device-Compatibility や AndroidTraining といった形で公開してきましたが、今回新たに、Android アプリを開発する中でよく遭遇する、あるあるネタを詰め込んだ Ama

    Android の Commons な知見を集めたライブラリを作りました - mixi engineer blog
  • OpenContrailを勉強してみた - mixi engineer blog

    サービス環境における仮想ネットワーク検討して、OpenContrailは追いかける価値があるのではないかと考えましたので、その過程を書こうと思います。3行でまとめると次のとおりです。 今日時点で使えそうなゲートウエイ実装を考えたときに、OpenContrailは良い選択肢です openvswitchはL2スイッチをエミュレーションしていて、OpenContrailはルータをエミュレーションしています。 macアドレスの隠蔽やmssの調整など、openvswitchではやりづらいこともケアされています。 今日の夜、OpenStack勉強会でOpenContrailの話があるらしいので、負けじと書いてみました。 背景 現在のミクシィのネットワークの悩みはたくさんありますが、特に次の2つの悩みを持っています 大きなL2ネットワークで運用する際の一般的な悩みを抱えている 単一のサービスを動かすこと

    OpenContrailを勉強してみた - mixi engineer blog
  • OAuthのセキュリティ強化を目的とする拡張仕様を導入しました - mixi engineer blog

    こんにちは. 研究開発グループ ritouです. だいぶ前の記事で紹介したとおり, mixi Platformは様々なユーザーデータをAPIとして提供するにあたり, リソースアクセスの標準化仕様であるOAuth 2.0をサポートしています. mixi PlatformがOAuth 2.0の最新仕様に対応しました | mixi Engineers' Blog mixi Platformをさらに安全にご利用いただくため, OAuth 2.0におけるCSRF対策を目的とした拡張仕様を検討, 導入しましたので紹介します. OAuth 2.0の認可フローとCSRF エンジニアの方であれば, Webサービスに対するCSRF(Cross-site Request Forgery)をご存知でしょう. CSRF攻撃とは悪意のある外部サービスへのアクセスや特定のURLへの誘導などをきっかけとしてユーザーの意図

    OAuthのセキュリティ強化を目的とする拡張仕様を導入しました - mixi engineer blog
  • Plannahの紹介と、新プロダクト立ち上げにまつわるいくつかの開発話 - mixi engineer blog

    こんにちは、最近ももクロの「労働讃歌」が妙に染みる衣川です。 現在私は、Plannah(プランナー)というサービスの開発に携わっています。 このPlannahは、ミクシィイノベーションセンターという枠組みの中で今年の5月に正式に開発を始め、8月にローンチをしたばかりのできたてほやほやのサービスです。 今日はこの場を借りて、Plannahとはどんなサービスで、どのようにして生まれたのかをご紹介させて頂きたいと思います。 また、現時点ではどのような技術を使って開発、運用が行われているのかも合わせてご紹介させて頂きます。 Plannahとは Plannah(プランナー)とは、スマートフォンの中に詰まった思い出いっぱいの写真を、綺麗に整理し、アルバムを作ることができ、更にそのアルバムを大切な人たちと共有することができるアプリです。 アルバムの数に上限はありません。写真の枚数も無制限で、現時点では一

    Plannahの紹介と、新プロダクト立ち上げにまつわるいくつかの開発話 - mixi engineer blog
  • スマホアプリの品質ガイドラインを公開しました - mixi engineer blog

    UP by Jawbone を衝動買いした挙句、眠りが異常に浅いことが判明し、 金銭サイクルも睡眠サイクルも崩壊しつつある柿崎です。 現在、ミクシィではスマホアプリの開発に力を入れています。 もちろんQA部門でもスマホアプリの品質ってなんだろな?と、考える機会が増えたわけですが、その機会の中で、スタッフが普遍的なチェックリストを作成してくれたので、GitHub Pagesにて公開してもらいました。 スマホアプリ品質ガイドライン リンク先の概要にも記載していますが、スマホアプリ自体の動作よりも、ハードウェアやOS設定を中心とした非機能要件を中心に項目をまとめています。 項目はスマートフォンの進化にあわせて、随時更新していく予定です。 そして、このチェックリストの使い道ですが、全ての項目のクリアを必須にするとデスマ確定になるので、あくまでもスマホアプリの品質を高めるための一助と捉えていただけれ

    スマホアプリの品質ガイドラインを公開しました - mixi engineer blog
  • Gradleプラグイン作ってみた - mixi engineer blog

    こんにちは!最近暑すぎて外に出たくなさすぎて家でPCといちゃいちゃしてるリア充のhentekoです! 現在DeployGate開発チームでインターンとして開発に参加させてもらい、色々させてもらっています。 このミクシィのエンジニアブログ、インターンとして参加する前から結構見てたのですが、まさか正社員になる前に書くことになるとは思ってなかったので結構緊張してます。 そんな僕が作ったものがつい先日リリースされました! GradleからDeployGate APIを簡単に操作できるGradleプラグインです。 GitHubにてソースコードを公開してます。 https://github.com/DeployGate/gradle-deploygate-plugin 今回はこのGradleプラグインについて話したいと思います。 Androidアプリ開発必須ツール、DeployGate まずは簡単にD

    Gradleプラグイン作ってみた - mixi engineer blog
  • mixiのアプリの設計がよく分かるブログ - スマートフォン開発研修教材の補足 - mixi Engineers' Blog

    こんにちは。Android の横幕です。Android が好きすぎて、来る日も来る日もアプリの実装が頭から離れず、毎日7〜8時間ほど睡眠をとっていますが全く疲れがとれた気がしない今日このごろです。はやく iOS のアプリ開発を覚えたいですが、まだ NSLog の使い方を覚えたばかりです。 さて、先日スマートフォン開発研修教材の公開についてでも触れましたが、Android・iOS のアプリ開発を始める人向けのトレーニング資料を公開しましたところ、以下のブログのような反響をいただきましたので、この場でもって回答をさせていただきたいと思います。 mixiのアプリの設計がよくわからない http://yamitzky.hatenablog.com/entry/2013/06/19/173713 に遷移します 設計思想の基は MVC iOS も Android も、フレームワークとしては MVC

    mixiのアプリの設計がよく分かるブログ - スマートフォン開発研修教材の補足 - mixi Engineers' Blog
  • スマートフォン開発研修教材の公開について - mixi engineer blog

    クラフトワークの来日公演3-D CONCERTS 1 2 3 4 5 6 7 8を観にいったら、顔が大きいのか、3Dメガネがきつくて切なかったもりもとです。 株式会社ミクシィでは、新卒入社スタッフをはじめ、これからスマートフォンアプリ開発を行っていく全スタッフを対象に、社内で「スマートフォン開発研修」を始めています。その研修資料をこのたびgithubで公開させていただきました。 mixi-inc/iOSTraining · GitHub https://github.com/mixi-inc/iOSTraining mixi-inc/AndroidTraining · GitHub https://github.com/mixi-inc/AndroidTraining これら文書は、それぞれCC BY-SA 3.0およびApache License 2.0とCC 2.5 Attributi

    スマートフォン開発研修教材の公開について - mixi engineer blog
  • mixiのサーバOS移行のお話 - ビルド&Kernel編 - mixi engineer blog

    こんにちは。年末と年度末になるとブログを書きたくなる運用部アプリ運用グループの清水です。 気づけば前回の記事から3ヶ月が経過してしまいました… 今回は、ビルド&Kernel編と題して、Fedora 17向けにおこなったパッケージのビルドや、KernelのConfig、TCP周りの変更点について紹介したいと思います。 パッケージのビルド OSが大幅にバージョンアップすると、依存しているライブラリに大きな変更が入ったり、RPMの仕様変更もあるため、Fedora 8時代のパッケージのリビルドなど、多くのRPMパッケージを作りなおさなければなりません。 mixiでは、Fedora標準パッケージとは別に150個以上のパッケージを、 configureなどビルドオプションを変える Fedoraで提供されないパッケージを作る ディストリビューションに依存しない構成のパッケージを作る(あとで紹介するPer

    mixiのサーバOS移行のお話 - ビルド&Kernel編 - mixi engineer blog
  • ユーザーファーストを実現するmixiの開発プロセス - mixi engineer blog

    デザインユニットUXデザイン担当の酒井です。 mixiでは昨年来、最重要キーワードとして「ユーザーファースト」を掲げ、ユーザー様のご意見やご利用状況に基づいたサービス施策の実現を素早く行えるようになるために、開発プロセスの改善を継続的に行なっています。今回は、この「ユーザーファースト」なmixiを実現するための取り組みについて、具体的にご紹介していきたいと思います。 なぜ今、ユーザーファーストなのか? 昨年11月に開催した『ユーザーファーストウィーク』で笠原社長からもご説明させていただきましたとおり、mixiというサービスが大きく成長したこれまでの数年の間に、いつのまにかユーザー様と私達との間に「ギャップ」が生まれてしまったという強い反省があります。mixiを取り巻く外部環境の変化に対応していく中で、これまでもユーザー様にとっての「心地よいつながり」とは何なのかを真摯に検討し、時流に合わせ

    ユーザーファーストを実現するmixiの開発プロセス - mixi engineer blog
  • Android開発の効率を今日から確実に5%改善する方法 - mixi engineer blog

    暖かくなったり寒くなったり視界が真っ黄色になったり忙しい今日この頃ですが、皆様お元気でお過ごしでしょうか。動かないことで定評のある「右の方」raiです。mixiのAndroidクライアントアプリ初回リリース以来の登場です。部署もたんぽぽグループからイノベーションセンターという謎の組織へ移りました。大変ご無沙汰しております。 今回は、ミクシィにおけるAndroidアプリ開発現場で得られた経験から、意外と見えづらい開発プロセス上のボトルネックと、それを「いますぐ」「簡単に」改善できる、素敵なサービスについて簡単にご紹介したいと思います。 はじめに さて、ミクシィもAndroidアプリ開発を始めてから2年半ほどが経ちました。 2年も経つと、結構いろんな課題が見えてきて、それらに対する解決策もいくつか生まれます。 Androidプラットフォーム上での開発そのものに関して言えば、以前のエンジニアブロ

    Android開発の効率を今日から確実に5%改善する方法 - mixi engineer blog
    tarchan
    tarchan 2013/03/14
    >Amazon.comのインフラ技術からAmazon Web Servicesが生まれたように、mixi.jpのAndroidアプリ開発資産を基にDeployGateは作られています。
  • DeployGate無料プラン&配布ページ作成機能をリリースしました! - mixi engineer blog

    みなさんこんにちは!デプロイゲート開発チームのkyoroこと井上恭輔と申します。 私たちはAndroidアプリ開発者向けのプライベート配信サービス「DeployGate」を開発・運営しています。 先日3月4日(月)に、このDeployGateを無料でご利用頂ける『無料プラン(FREE)』と、新機能として最大3万人の方々にアプリをワンクリックで配信できる『配布ページ作成機能』をリリースさせて頂きました。今日はこの場を借りてDeployGateのご案内と、開発に込めた想いなどをご紹介させて頂ければと思います。 私が新卒時代に書いたエントリー「オンラインコーヒーメーカー「萌香たん」とはじめるドキドキ☆コーヒーブレイク」から、実に丸4年ぶりの記事になります。人生というのは当に色々な事があるのだなと実感しています。技術面だけでなく、サービスの企画・運営面の想いなどもお話できればと思っておりますので

    DeployGate無料プラン&配布ページ作成機能をリリースしました! - mixi engineer blog
    tarchan
    tarchan 2013/03/06
    >『世界中のアプリ開発者の不幸を受け止める!』
  • JaSST'13 Tokyo に参加して、考えたこと - mixi engineer blog

    こんにちは。 「アサシンクリード3」というタイトルから、てっきり3部作だと思って、シリーズをプレイし始めたところ、実は5部作だったという事実を知って、軽く戦慄している品質管理部門の柿崎です。ちなみに2までクリアしました。 先日、国内最大級のソフトウェアテストシンポジウムである「JaSST'13 Tokyo」に参加して来たので、レポートします。 と、思ったのですが、既に素敵なレポートがあちらこちらに存在するので、シンポジウムを通して見えてきた、ミクシィの品質保証、QAチームを取り巻く状況を書いてみたいと思います。 テストの自動化 ここ数年、「テストの自動化」はホットなキーワードであり続けています。今年のシンポジウムでも、幾つかテスト自動化に関するセッションが開かれていました。 自分の参加したセッションでは、テスト自動化の難しさや、自動化を担えるエンジニア像について議論が交わされていました。世

    JaSST'13 Tokyo に参加して、考えたこと - mixi engineer blog
  • Androidの機種依存問題を吸収するプロジェクトAndroid-Device-Compatibilityを公開したお話 - mixi engineer blog

    こんにちは。Androidユニットで開発とスクラムマスターをしています、横幕です。すっかり寒くなって、朝起きるのが辛い季節になりました。 先日、Android(TM)の様々な機種に依存する問題を吸収するためのライブラリプロジェクトをmixi, IncのGitHubリポジトリで公開しました。 今回は、このライブラリプロジェクトを公開するに至った経緯をお話しようと思います。 様々な種類の端末に対応するために乗り越えてきた困難 現在、Androidを搭載した端末には、多種多様なものがあります。 そして、OSのバージョンごとの違いだけでなく、同じAndroidを搭載していても、端末ごとに微妙に挙動が異なることがあります。 mixi公式クライアントアプリでも、端末ごとに微妙に挙動が異なることで発生する問題にいくつか直面してきました。 特定の端末で、文字が9,000文字までしか入力できない EditT

    Androidの機種依存問題を吸収するプロジェクトAndroid-Device-Compatibilityを公開したお話 - mixi engineer blog
  • mixiへの認証を行ってくれる「OmniAuth-mixi」を公開しました - mixi engineer blog

    こんにちは。よういちろうです。Ruby on RailsやSinatraで作るWebアプリケーションに各種認証機能を手軽に追加できる機構として、「OmniAuthシリーズ」があります。これのmixi版を作ってみました。 OmniAuth-mixi - Github OmniAuthは、Strategyという形式で任意の認証プロバイダの実装を追加できるようになっています。OmniAuth-mixiを使うことで、OAuth2にてmixi Graph APIの認証認可を行い、People APIで認可ユーザのプロフィール情報を取得する、という処理を行ってくれます。 使い方は簡単です。Ruby on Railsの場合、まずGemfileに以下を追記します。 gem 'omniauth-mixi' 次に、config/initializers/omniauth.rbファイルを以下の内容で作成します。

  • POStudy Conference 2012でスタッフをやってみた - mixi engineer blog

    はじめまして。技術支援グループの harakachi です。好きな飲み物はRAIZINです。 先日、弊社にあるコラボレーションスペースで POStudy Conference 2012 が開催され、そのスタッフ業を行いました。 その時の様子や気付きなどをエンジニアブログで公開したいと思います。 日曜の朝 8:45 開場のイベントだったので、スタッフの集合は朝8:00でした。 慣れない時間に起きたので、逆に目が冴えます! このイベントでは朝も完備されていました。 サブウェイのサンドイッチが5種類の中から選択できます。好きなのをべつつスタートを待ちます。 9:30 いよいよオープニングスタート! そしてすぐに席替えタイム。参加者同士の交流も重視されているため、席替えはこの後も頻繁に行われました。 席決めの方法はプランニングポーカーを利用します。 参加者は1枚カードを受け取り、予めテーブルに

    POStudy Conference 2012でスタッフをやってみた - mixi engineer blog
  • mixi PlatformがOAuth 2.0の最新仕様に対応しました - mixi engineer blog

    はじめまして、研究開発グループのritouです。 人々が7インチタブレットの話題で盛り上がっていた10月24日、mixi PlatformはOAuth 2.0の最新仕様のサポートを開始しました。 OAuth2.0 RFC6749へ対応しました << mixi Developer Center (ミクシィ デベロッパーセンター) その内容について紹介します。 mixi Graph APIとOAuth 2.0の進化 Webアプリ、モバイルアプリなどがmixi Graph APIを用いてユーザーデータにアクセスする際、ユーザーから許可を得る必要があります。mixiアプリやmixiページアプリからもmixi Graph APIを利用できます。認証認可と呼ばれるこの機能の実装について、今まではOAuth 2.0 draft v.10をサポートしてきました。 OAuth 2.0の仕様策定の中で、201

    mixi PlatformがOAuth 2.0の最新仕様に対応しました - mixi engineer blog
  • YAPC::Asia Tokyo 2012で発表してきました - mixi engineer blog

    こんにちは。今年新卒で入社した五嶋@たんぽぽグループです。 先日行われたYAPC::Asia Tokyo 2012で自作Perl処理系について発表してきましたので、参加経緯や発表内容、感想などについて書きたいと思います。 YAPC::Asiaに参加するのは、実は今回が初めてでした。 というのも、今までPerlを触ったことがあまりなく、興味もありませんでした。 弊社の内定を頂いてから、勉強のために書き始めたくらいです。 ですので初めに、そんな自分がYAPC::Asiaに参加するに至った経緯について簡単に触れようと思います。 ● 参加経緯 Perlは記述性に優れ、迅速な開発ができる一方、実行時の速度はそれほど速くありません。一般に、インタプリタで実行する多くのLL言語(Lightweight Language)には、JIT(Just in time)Compiler等で高速化した別実装が存在し

    YAPC::Asia Tokyo 2012で発表してきました - mixi engineer blog
  • Perl Oceanとmixiのチャット機能トライアルの紹介 - mixi engineer blog

    大槻唯が好きすぎて辛いlapis25です.エンジニアブログをはじめて書きます. この記事では,リアルタイムコミュニケーションフレームワークスイート Perl Oceanの紹介と,Perl Oceanを用いて開発した,mixiのチャット機能のトライアルについて紹介したいと思います. XMPP まずは,Perl Oceanのコア技術である,XMPPの概要を軽く説明します. 1990年代後半からYahoo! Messenger,Microsoft LiveやAOL AIMなどさまざまなメッセンジャアプリが開発されていましたが,それらのアプリは独自の仕様によって作られていました.メッセンジャに要求される仕様を標準化するためにJabberが生まれました.Jabberは名前をXMPP(Extensible Messaging And Presence Protocol:拡張可能なメッセージとプレゼンス

    Perl Oceanとmixiのチャット機能トライアルの紹介 - mixi engineer blog