タグ

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

  • 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
  • 続・技術的負債の把握と改善を促すために - mixi engineer blog

    こんにちは, 先日Kansai.pmで発表させて頂いたgoccyこと五嶋@たんぽぽグループです. 今回は, 前回紹介した技術的負債の把握と改善を促すためにの続編として, 僕が作ったPerl5コードのコピペ検出器について紹介させて頂きます. はじめに 今やPerl, Ruby等さまざまな言語で, 便利なライブラリ群やフレームワークを利用できる時代になりました. これらを使うことでソフトウェアの開発コストは格段に下がり, より素早く開発することができるようになっています. しかし, 当初予定されていた機能を実装して, 「よしできたから終わり!」というわけにもいきません. 何か物を生み出せば, 必ずそれを保守・運用するコストが発生します. 開発することが便利になった今, 開発物を保守・運用することを支援するツールも求められています. ですが, 保守や運用, とりわけ保守に関して支援するツールはそ

    続・技術的負債の把握と改善を促すために - mixi engineer blog
  • 今日からはじめるお手軽 Hive データ移行 - mixi engineer blog

    こんにちは. 昨年知人のオーケストラ演奏会で聴いたメンデルスゾーン交響曲第4番「イタリア」が大好きな,技術部の石川有です. そんな「イタリア」大好きな私ですが Hive のデータ移行も大好きという体で, 今回の記事ではオンプレミスで Hive を頑張って運用している方たちに向けて,どうしてもというときの Hive のデータ移行方法を紹介したいと思います. 弊社では最近,Cloudera's Distribution including Apache Hadoop 3 update 2 (CDH3u2) から CDH 4.1.2 にバージョンアップを行なっています. このようにオンプレミスで Hive を運用している方たちの中には,すでに持っているデータをうまく移行したいという方も多いかと思います. Hive には現状 MySQLmysqldump のような機能が提供されていないのでバ

    今日からはじめるお手軽 Hive データ移行 - 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ファイルを以下の内容で作成します。

  • 詳細 ECMA-262-3 第5章 関数 - mixi engineer blog

    あけましておめでとうございます。おつかれさまでございます。先日渋谷の、会社から徒歩5分のところにお引っ越しをし、今年は仕事に燃える、声優では五十嵐裕美さんが好きな、大形尚弘です。 さて、 ECMAScript のセオリストを目指す人々を甘く誘い、そして悟りか眠りのどちらかに確実に到達させる伝説的名著、 Dmitry 先生の ECMA-262-3 シリーズも第5章となりました。今回は関数がテーマです。 今回もまた伝説的に長くなっておりますので、気持ちが落ち着いているとき、時間のあるときに、ごゆっくりお読みいただければ、これまで正確な理由を知らず自分なりのベストプラクティスとして使っていたような書き方に明確な理由付けが与えられ、自信を持った JavaScript 生活につながっていくと思います。それではどうぞ。 詳細 ECMA-262-3 シリーズ 第1章 実行コンテキスト 第2章 変数オブジ

    詳細 ECMA-262-3 第5章 関数 - mixi engineer blog
  • 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

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

    キーボードとアジャイル開発 - mixi engineer blog
  • memcachedのaccept_new_connsがスレッドセーフじゃない件がmemcached-1.4.6で修正されたにょ - mixi engineer blog

    こんにちは、たんぽぽGの森です memcached-1.4.6がリリースされました。 mixi大規模障害の原因となった不具合が解消されているとのことなので検証してみました。 動作確認 過去のバージョンで不具合が発生することと新しいバージョン(1.4.6)で不具合が発生しないことを確認するために 負荷テストを行いました。 memcachedの設定は memcached -U 0 -u nobody -p 11222 -t 4 -m 16000 -C -c 1000 -v としました。 -l オプションを指定していないので eth0, lo の二つのネットワークI/Fに対してlistenを行う設定です。 クライアント側のスクリプトは前回と同様にmalaさん作のテストスクリプトを用いました。 ./memcachedos.pl localhost 11222 5 memcached-1.4.4の

    memcachedのaccept_new_connsがスレッドセーフじゃない件がmemcached-1.4.6で修正されたにょ - mixi engineer blog
  • 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
  • mixiチェックのWordpress & Movable Typeプラグイン公開 - mixi engineer blog

    初めまして、メディア/マーケティング部MM開発の瀧です。 最近は主にmixi Touchの開発を担当させていただいています。 日はmixi Touchのお話ではありません(それはまた次の機会に)。 個人利用が開放されたmixiチェックをWordpressとMovable Typeに組み込む事が出来るプラグインを開発しました。 簡単にではありますがご紹介させていただきます。 そもそもmixiチェックってなに? 「mixiチェック」は、興味・関心を持った情報を、簡単に友人・知人に共有できる『mixi』の新しいコミュニケーション機能です。mixiニュースやミクコレ(mixiコレクション)など、興味・関心を持ったトピックや情報を1クリックで、友人・知人に共有することが可能です。チェックした情報は、友人・知人の『mixi』のTOPページおよび、「最新のチェック」に掲載されます。 http://m

    mixiチェックのWordpress & Movable Typeプラグイン公開 - 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
  • 1