タグ

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

  • 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
    lapis25
    lapis25 2014/03/31
  • 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
    lapis25
    lapis25 2013/11/16
  • 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
    lapis25
    lapis25 2013/03/29
  • DeployGate無料プラン&配布ページ作成機能をリリースしました! - mixi engineer blog

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

    DeployGate無料プラン&配布ページ作成機能をリリースしました! - mixi engineer blog
    lapis25
    lapis25 2013/03/06
  • 技術的負債の把握と改善を促すために - mixi engineer blog

    こんにちは. 先日水道を止められて水のありがたみを再確認したgoccyこと五嶋@たんぽぽグループです. 今回は, 先日q_zouさんから紹介のあった技術的負債を減らす取り組みの一環で, 僕が開発したビジュアライザについてご紹介させて頂きます. はじめに 弊社では主な開発言語としてPerlを採用しており, そのソースコード量は数十万行単位に上ります. 自社で開発したライブラリ群はプロジェクトルート下のlib/Mixi/配下に設置されており, 更にその下でサービスや用途毎にNamespaceが分かれています(lib/Mixi/APIやlib/Mixi/Photo, lib/Mixi/Voiceなど). ※以降, 文章中のNamespaceという表現は, これら(lib/Mixi/APIなど)を指すものとします. 来であればNamespace単位で疎結合化されているべきですが, なかなかうまく

    技術的負債の把握と改善を促すために - mixi engineer blog
    lapis25
    lapis25 2013/02/23
    inspect-packageはこれっすね
  • mixiの年末年始対策2012-2013 - mixi engineer blog

    はじめまして、運用部アプリ運用グループのainoyaと申します。 今年4月に新卒で入社して以来、はじめてエンジニアブログを書きます。 この記事は、デスクトップ版も大変使いやすいFedoraから書いています。 はじめに ~ mixi vs 正月 ~ mixiを支えるバックエンドには、mixiを影で支えるエンジニアによって 大量のアクセスをさばききる頑丈なシステムが構築されていました。 ですが、年末年始にはその頑丈なシステムを打ち破るほど想定外な負荷が押し寄せてきます。 それは、月間利用者1,400万人以上のユーザの方々が、mixi上で交わす年末年始の挨拶です。 mixi vs 正月 ~ 戦いの歴史 ~ これまで、mixiのエンジニアによって行われてきた正月の負荷急増対策は、毎年毎年必ず乗り越えなければならない 戦いとして、脈々と受け継がれてきた歴史です。 それでは簡単になってしまいますが、今

    mixiの年末年始対策2012-2013 - mixi engineer blog
    lapis25
    lapis25 2012/12/29
  • mixiのサーバOS移行のお話 - 前回補足&インストール編 - mixi engineer blog

    こんにちは。新しもの好きが集まる運用部アプリ運用グループの清水です。 前回の記事では、多くの反響をいただきました。ありがとうございます。 Twitterや、はてブのほとんどのコメントを読ませていただきました。 みなさんのOSの宗派が垣間見えた気がします。 さまざまなコメントをいただいていた中で、よくある代表的なコメントについて、改めてこの場を借りてお答えしたいと思います。 2012年12月28日追記: 以下のQAにつきまして、いわゆる"ネタ"として書きましたが、誤解を招き、不適切な表現で不快な思いをされた方々へ深くお詫び申し上げます。 また、QAの一部に関わるところですが、OS標準のパッケージを否定するつもりは全くございません。 Linuxを安心して使うことができるのは、Linuxディストリビューションに携わっているデベロッパーの方々の素晴らしい活動や成果によるもの、というのが揺るぎない事

    mixiのサーバOS移行のお話 - 前回補足&インストール編 - mixi engineer blog
    lapis25
    lapis25 2012/12/27
  • 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ファイルを以下の内容で作成します。

    lapis25
    lapis25 2012/12/04
  • WebDB forumに行ってきました - mixi engineer blog

    こんにちは。研究開発グループの下田です。入社して1年半弱、ようやくエンジニアブログデビューです。 ミクシィでは、例年WebDB forumという会にスポンサーとして参加しています。11/20,21の2日間に渡って参加してきましたので、そのレポートを書きたいと思います。 WebDB forumとは 正式名称を「Webとデータベースに関するフォーラム」と言い、今年でまだ5回目の歴史は浅い会議ですが、情報処理学会や電気情報通信学会といった情報系の権威ある学会が主催しています。特徴として、Web系やDB系の話題が多く、企業と相性が良い話題が多いため、特にWeb系の企業の協賛が多いことです。 WebDB forumのHPのスポンサーを見て頂けるとわかりますが、弊社を初め、いわゆるWeb系企業の名前が目立ちます。 学会発表は大学などで開催されることが多く、大学の多くは都心から少し離れたところが多いため

    WebDB forumに行ってきました - mixi engineer blog
    lapis25
    lapis25 2012/11/26
  • いろいろと思ったことなど。 - mixi engineer blog

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

    いろいろと思ったことなど。 - mixi engineer blog
    lapis25
    lapis25 2012/10/09
  • ヘッドマウントディスプレイの衝撃 - mixi engineer blog

    こんにちは、たんぽぽグループの森です。 尊敬するエンジニアはカナヅチひとつで何でも作れるバイキンマンです。 前回、「ヘッドマウントディスプレイで仕事してみた」という記事でSonyのHMZ-T1というヘッドマウントディスプレイ(以下HMD)をご紹介しました。 この記事を書いた後、一ヶ月間HMDをつけて仕事をしてみました。 いろいろなメリットとデメリットがわかりましたのでそれについて記したいと思います。 またデメリットの改善点についてもお伝えします。 メリットとデメリット メリット まわりが見えないので集中できる。話しかける人も減った気がする。 天井の明かりがまったく気にならない 目が疲れにくい。会社帰りに外を歩いていて遠くがクッキリ見えます。(個人の感想です!) デメリット 画面が狭い ヘッドフォンがつけられない(HMZ-T1のヘッドフォンはオープンエアなのでオフィスでは使えないのです)

    ヘッドマウントディスプレイの衝撃 - mixi engineer blog
    lapis25
    lapis25 2012/04/27
    衝撃!!
  • UIView拡張カテゴリによるUIコーディングの簡略化 - mixi engineer blog

    はじめまして、佐野です。僕は2006年10月にメンバー4人でネイキッドテクノロジー社を創業し、5年間ガラケーからスマホに渡るまでモバイル関連の技術・サービス開発に携わり、去年の10月にミクシィ社にジョインし、現在はmixiのiPhoneアプリの開発に携わっております。このブログではiOSプログラミングの初級者~中級者向けに、さらなる上達の助けになるようなことを書いていきたいと思います。 Apple 製の iOS/Mac アプリの統合開発環境であるXCodeは、ver4 から GUI ベースの UI 開発ツールである Interface Builder が組み込まれ、非常に快適にUI開発ができるようになりました。mixi の iPhone/iPad アプリも基的には各画面が IB ファイルで構成されています。静的な画面であればこれだけで済むのですが、アニメーションを多用したインタラクティブ

    UIView拡張カテゴリによるUIコーディングの簡略化 - mixi engineer blog
  • 絵文字だョ! 符号化文字集合(後編) - mixi engineer blog

    同僚の女性からクッキーをすすめられても、「サードパーティークッキーは拒否します」とキッパリお断り申し上げたiPhoneアプリ開発担当の七尾です。というか、どう考えてもホワイトデーの(ry さて先週に引き続き、iOS開発でUnicode絵文字を扱う際の注意点について書いていこうと思います。 Combining Character/結合文字 サロゲートペアの他にも同様に気をつけなければいけないのが、結合文字です。 アルファベットに対しての修飾文字を付けたり、数字を四角で囲ったりした文字があります。 そういった文字は結合文字と呼ばれ、iPhoneで入力できる文字でいうと、 1を四角で囲った文字 = 0x31 0x20E3 2を四角で囲った文字 = 0x32 0x20E3 というようになります。 結合文字の文字数を取りたい場合は、特定の修飾文字を読み飛ばせば良いだけなので、 以下のようにさらっと対

    lapis25
    lapis25 2012/04/06
  • 絵文字だョ! 符号化文字集合(前編) - mixi engineer blog

    先日取り上げて頂いたテック総研のインタビューでは残念ながら時間の都合で、ろくろを回す事が出来なかった、iPhoneアプリ開発担当の七尾です。いやー残念。 先日お伝えしたAppleカラー絵文字文字コード表にUnicodeコードポイント、UTF-8、SoftBankUnicodeも追加したので、お知らせします。 iOS Emoji - GitHub Pages ついでに各種変換処理なども書いたり、Unicodeの仕様を調べたりしたので、文字コードのおさらいとして、いくつかUnicode絵文字を扱う上での注意点についても、メモしておこうと思います。と思ったら結構な分量になってしまったので、前半と後半に分けてお送りします。 UnicodeSet そもそも絵文字ってどこからどこまで?という問いに答えてくれるのが、UnicodeSetです。 よく使われるものだと\p{Han}(漢字の範囲を示す)だとか

    絵文字だョ! 符号化文字集合(前編) - mixi engineer blog
    lapis25
    lapis25 2012/03/23
  • 新社会人のためのバグレポートの基本 - mixi engineer blog

    はじめまして、品質管理部門の柿崎です。 最近、Skyrim にハマってしまい、人生一回休みになりかけています。 季節は春ということで、新社会人になられる方も多いと存じます。 新社会人が会社勤めをするようになって、初めて書くビジネス文書といえば...... そうですね!「バグレポート」ですね。 今回はバグレポートの基について書きたいと思います。 近年、開発現場ではバグトラッキングシステムが定着し、ドッグフーディングのような社内テストを行う現場も増え、テスト担当者以外の方でもバグレポートを提出する機会が増えています。そして前衛的なバグレポートによって、プログラマ達が理不尽かつ不可解なバグ地獄に叩き込まれる機会も増えています。 バグレポートは諸刃の剣です。 良いバグレポートはアプリケーションの問題を速やかに解決まで導きますが、反対にダメなレポートは現場に混乱をもたらします。 良いバグレポートを

    新社会人のためのバグレポートの基本 - mixi engineer blog
    lapis25
    lapis25 2012/03/21
  • なぜ @kotarok さんは mixin より extend を推すのか - mixi engineer blog

    こんにちは。最近、実は JavaScript よりも Perl が好きなたんぽぽグループの大形です。 Perl の、仕様書など無いところがたまりません。勉強しても勉強しても...。いえ、今回は Perl の話ではありませんでした。 一昨日の土曜日ですが、会社にお金を出して貰って、 SwapSkills さんの『CSSを便利に使うための LESS入門』にお邪魔してきました。 何を隠そう、いや、隠すことは何も無いのですが、私は今「クライアントサイドのバックエンド担当」として働かせていただいてます。つまるところ、デザイナさんやコーダさんが日々目の前の案件と戦い続けている中で、一歩引いたところからお助けユーティリティを作ったり、俯瞰して工程を見直してみたり、デザインにおける継続テストの仕組みを考えたり、新しく何かの役に立ちそうなものをどこからか引っ張ってきたりするお仕事です。 そんなお仕事の一環と

    なぜ @kotarok さんは mixin より extend を推すのか - mixi engineer blog
    lapis25
    lapis25 2012/02/21
  • めくるめく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
  • ujihisa.vim#2レポート - mixi engineer blog

    こんにちは、ソーシャルクライアント開発の瀧です。 少し前になってしまいますが、11月19日(土)にujihisa.vim#2が弊社で行われました。 その内容のレポートをしたいと思います。 An International Vim conference そもそもujihisa.vimって何という方はこちらから。 当日は60名程のvimmerが悪天候の中会場にお越し下さいました。 カンファレンスは以下の内容でした。 * Keynotes ** "To be a good programmer" with ujihisa ** "Illustrate Vim core source code, dissing" with KoRoN ** "The truth of Vim by unprecedented point of view" with ShougoMatsu * Tech talk

    ujihisa.vim#2レポート - mixi engineer blog
    lapis25
    lapis25 2011/12/05
  • 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 engineer blog

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

    ヘッドマウントディスプレイで仕事してみた - mixi engineer blog
    lapis25
    lapis25 2011/11/14