shmorimo001のブックマーク (33)

  • 「絶対要らないハズだけど、なかなか削除できずにいるもの」を対応した小話 | メルカリエンジニアリング

    はじめましてこんにちは。SREの@masartzです。 私は最近joinしたのですが、今回は番環境に古くからあるテーブルの掃除作業をした案件をご紹介します。 tl;dr; 番の住所情報テーブルを消したけど問題なかった話 絶対要らないハズだけど、なかなか削除できずにいるもの を対処する話 番環境の住所情報テーブルをdropするまでの作業 今回、番環境の住所情報テーブルをdropしました。 と言っても、事故でもうっかりでもなく、既に使われていなかったものの整理という作業でした。 何故使われていなかったかというのは、メルカリの住所情報の保持の仕方の変遷が関係しています。 初期にはuser情報と住所情報は1対1の関係でした。イメージとしては以下です。 CREATE TABLE IF NOT EXISTS users ( id INT UNSIGNED NOT NULL, name VARC

    「絶対要らないハズだけど、なかなか削除できずにいるもの」を対応した小話 | メルカリエンジニアリング
  • 環境変数にいろいろ突っ込み過ぎると危険があぶない - Islands in the byte stream (legacy)

    $ export FOO=`perl -E 'say "." x 1_000_000'` $ perl -v bash: /usr/bin/activeperl: Argument list too long 簡易的にIPCをする方法として環境変数にJSONを突っ込んでサブプロセスから参照する、みたいなことはたまにすると思いますが、ちょっと大きなデータを突っ込むとサブプロセスを起動できなくなります。データサイズが未知の場合は使ってはいけない方法ですね。 Max sizeはカーネル次第ですがだいたい128KiBくらいらしく意外と小さいです。 環境変数にJSONを突っ込むというのはxaicronメソッドによるTest::mysqldの永続化でやったりするのですが*1、以下のように他にもいろいろやりだしたりするとある日突然うごかなくなって危険があぶないのではないかと思った次第です。 make t

    環境変数にいろいろ突っ込み過ぎると危険があぶない - Islands in the byte stream (legacy)
    shmorimo001
    shmorimo001 2013/01/21
    だれもactiveperlに突っ込んでない...
  • Plack::Middleware::AccessLog でありがちな罠 - blog.nomadscafe.jp

    Plack::Middleware::AccessLog は Apacheライクなログが残せる便利ミドルウェアなんですが使う上で一つ注意点があります。 use Plack::Builder; builder { enable "AccessLog", format => "combined"; sub { die }; }; これで、500エラーのログが残ることを期待するかもしれませんが、実際は記録されません。 例外がMiddleware層を飛ばしてServerまで伝わる為で、何らかの形で例外を補足してあげる必要があります。 例えば、Plack::Middleware::HTTPExceptions builder { enable "AccessLog", format => "combined"; enable "HTTPExceptions"; sub { die }; }; もしく

  • キーボードとアジャイル開発 - mixi engineer blog

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

    キーボードとアジャイル開発 - mixi engineer blog
    shmorimo001
    shmorimo001 2011/11/08
    掃除した写真を追加しました!
  • mixi Engineers' Blog » 詳細 ECMA-262-3 シリーズ・第1章 実行コンテキスト/第2章 変数オブジェクト

    初めましてこんにちは。たんぽぽグループの大形尚弘と申します。好きな言語は Dart です。どうぞよろしくお願いします。 さてもう昨年のことになりますが、私個人のブログにて、 Dmitry A. Soshnikov さんの JavaScript. The Core. という記事を翻訳させていただきましたところ、予想以上の反響をいただきました。 JavaScript の実装部分、例えば今なら HTML5 の色とりどりな API といったキラキラした部分だけでなく、 ECMAScript の仕様そのものに興味のある方が、こんなにいたなんて! と、いうわけで、日では、先日上梓されました『パーフェクト JavaScript 』でのみ触れられているような、 ECMAScript の言語仕様そのものについて、同じく Dmitry さんが書かれた ECMAScript3 および 5 に関する詳細記事シリ

    mixi Engineers' Blog » 詳細 ECMA-262-3 シリーズ・第1章 実行コンテキスト/第2章 変数オブジェクト
  • Steve Yegge の Google とプラットフォームに関するぶっちゃけ話を訳した(前編)

    Google エンジニアの Steve Yegge 氏、Google+ への懸念を漏らす http://japan.internet.com/busnews/20111013/8.html で記事になってたけど、原文とちょっと要旨が変わっちゃってサービスへの警鐘みたいになってしまってたので、全文訳してみた。くそ長い。お暇な方どうぞ。 (2011/10/19 08:14)ありがたい誤訳の指摘をいただいたので3カ所修正。 Stevey の Google プラットフォームぶっちゃけ話 僕は6年半ばかり Amazon にいて、今はそれと同じくらい Google にいる。この二つの会社について強く感じることは(しかもその印象は日々強まるのだけれど)、 Amazon は全てにおいて間違っていて、 Google は全てにおいて正しいということだ。そう、やりすぎな一般化だけど、驚くほど正確だと思う。いやも

    Steve Yegge の Google とプラットフォームに関するぶっちゃけ話を訳した(前編)
  • iPad 2カバーに秘められた恐るべき陰謀を暴く - mixi engineer blog

    技術部の松岡 剛志です。 ある日、自慢のiPad 2で犬がしっぽを振って散歩をおねだりしている動画を見ていました。 とても愛くるしいためずっと見ていたかったのですが、会議が入ってしまいiPad 2のスマートカバーをかけることにしました。 戻ってきて再開してみると、、、? 僕の貴重なiPad 2に染みができていました。 拡大します。 染みは赤と青が均等に並びつつ、少し離れたところに点が一つだけという形になります。 ついでに 片面すべてを片方の極にすると磁力は半減します。 ある程度でセルにする、そしてその周りを磁力を誘導しやすいもので囲うことで磁力を有効活用できるとshigeki.morimotoに教わりました。 冷蔵庫にくっついている強力な磁石を想像するといいかもしれません。 というわけで上記のような構造を仮説として持ちました。 この仮説が正しいのでしたら、スマートフィルターの裏面の磁力はほ

    iPad 2カバーに秘められた恐るべき陰謀を暴く - mixi engineer blog
    shmorimo001
    shmorimo001 2011/06/07
    恐ろしあ
  • Flash?いいえ、HTML5です: ファイルのドラッグ&ドロップによるフォトアップロード機能について - mixi engineer blog

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

    Flash?いいえ、HTML5です: ファイルのドラッグ&ドロップによるフォトアップロード機能について - mixi engineer blog
  • Emacs Lispのソースコードデバッガ edebug を使う - http://rubikitch.com/に移転しました

    edebugとはソースコードデバッガedebugとは、Emacs Lispのソースコードデバッガです。 これを使うと、Emacs Lispがどのように実行されているのかをステップバイステップで見ることができます。 前の記事で紹介した trace-function では不十分な場合は、edebugで格的にデバッグします。 edebugは状態がころころ変化するので、実際に手を動かしてみましょう。 edebugを有効・無効にするC-u C-M-xで関数をedebug対象にするedebugは基的には関数単位でedebug対象にします。 特定の関数をedebug対象にするのは簡単です。 通常、関数フォームを評価する、すなわち関数を定義するには、defun中あるいは、defunの直後でC-M-xを使います。 それに対し、関数フォームをedebug対象にするには数引数をつけ、C-u C-M-xを使い

    Emacs Lispのソースコードデバッガ edebug を使う - http://rubikitch.com/に移転しました
    shmorimo001
    shmorimo001 2010/11/23
    [elisp][debug][lisp][デバッグ]
  • nokunoの日記

    nokuno Software Engineer at a Web Company. Interested in Natural Language Processing, Machine Learning, and Data Mining. Skillful in C/C++, Python, and Hadoop.

    shmorimo001
    shmorimo001 2010/10/27
    僕がいた部署では、ふせげるはずの事故や同じミス以外は評価には勘案されませんでした。最近は違うのかな。
  • mixiインタビュー 森本氏 | 転職サイトgreen グリーン

    時間をかけてでも、最高のものを。ミクシィに息づくものづくりの システム技術部たんぽぽグループ 森 茂樹氏 2010年8月10日、『mixi』にとって、過去5年の運営史上、初めての大規模な障害が発生した。PC、モバイルサイト双方において、全サービスにアクセスができない状況が3日間続いたのだ。その時、『mixi』運用の現場では何が起こっていたのか。復旧の先頭に立ったエンジニアが語った。 取材・文/渡邉昌資/佐藤ゆき恵 2010年10月25日 Check アプリ開発チーム たんぽぽグループ インフラグループ アプリ運用グループ 座談会 まず、「たんぽぽグループ」というのは、ミクシィの中でどういう存在なのですか。 コンセプトは、「開発者のための開発」を行なうグループです。『mixi』がどうあるべきかという大局的な視点に立って、全システムに横断的に関わります。具体的には、『mixi』のコア

  • mixi エンジニア インタビュー 「mixiを支えるエンジニアの高い志と技術力」 | 転職サイトgreen

    ソーシャル市場の盛り上がりに伴って、業界内では熾烈な競争が繰り広げられている。とにかく早く、大量にサービスを出すことで、生き残りを目指す企業が多い中、ミクシィは少し雰囲気が違う。ミクシィのエンジニア達の話を聞いていると、それを先駆者の余裕と一言で片づけてしまうことはできないと気づく。ミクシィが他とは違うオーラを放つのは、「息の長いサービス」を運営していくという覚悟と自覚があるから。そこで大切にすべきなのは、部署を超えたエンジニア同士の強い連携によるサービスの円滑な運営であり、普段からの密なコミュニケーションによる切磋琢磨であり、また先輩エンジニアから後輩に受け継ぐものづくりの魂なのである。 「当に価値のあるものを提供する」 ミクシィのエンジニア達が語る言葉の端々に、そんな気概が感じられる。 取材・文/渡邉昌資/佐藤ゆき恵 Check アプリ開発チーム たんぽぽグループ インフラグループ

  • コア・JavaScript ( JavaScript. The Core. ) - oogattaの勉強日記

    この文章は、 Dmitry A. Soshnikov さんの、 ECMAScript に関する優れた記事 "JavaScript. The Core." を許可を得て翻訳したものです。世の中に、 JavaScript のブラウザ API や、実装系に関する記事は多々あれど、 ECMAScript の仕様に則って、ここまで詳しく説明してくれている記事は殆ど無いと思います。今回は翻訳できておりませんが、文中で参照されている Dmitry さんの ES3 シリーズも、読み応えのある( ECMAScript3 の仕様の副読としても読める)素晴らしい内容ですので、是非チャレンジしてみてください!(ご要望があれば訳します翻訳許可を頂いたので、この記事内で参照されている章から逐次翻訳を進めます!)。 ちなみに Dmitry さんは、計算機科学や数学にも明るい方でらっしゃいます。が、私は違います。極力

    コア・JavaScript ( JavaScript. The Core. ) - oogattaの勉強日記
  • 第1回 なぜmixiの牧場アプリはヒットしたのか | Think IT

    はじめに―mixiアプリ開発のノウハウ 株式会社ミクシィのプラットフォームチームに所属している、mainyaこと森和之と申します。mixiアプリの立ち上げからこれまでずっと開発に携わってきました。 この連載ではmixiアプリの基的な作り方から、mixiアプリで押さえておくべき点と、どうしたらmixiアプリで面白いアプリケーションを作れるか、負荷対策はどうしたらいいかまで一連の流れを追って取り上げたいと思います。mixiやプラットフォームの考え方から、mixiアプリの企画-開発-運用と幅広いテーマを扱うため、どうしても駆け足になってしまうかもしれませんがご容赦ください。 mixiアプリ開発者は熱心なmixiアプリユーザーであることも多いと思います。この記事をご覧になっている皆さんの中には、もっと重要な情報があることを知っているかもしれません。良かったらはてなブックマークやtwitterのハ

  • Test::LeakTrace has been improved at 0.11 - Islands in the byte stream (legacy)

    Test::LeakTraceは、主にXSコードのメモリリークを追うために書いたライブラリだが、誤検出(false positive)が多く使いにくかった。今回RTチケットを受け取ったのを機に、検出アルゴリズムを再考したので、誤検出はほぼなくなったはずだ*1。 新しいアルゴリズムは非常に単純である。あるコードブロック(サブルーチン)の前にSVの個数を数えておき、ブロックの実行後にもう一度SVを数え、差があればなにか良くないことが起きている、とみなす。そして、詳しくトレースするために独自のopcode実行ループ*2の制御のもとでもう一度実行し、レポートを作成するというわけだ。あまりにも単純すぎて、なぜ昔はこの方法が思い浮かばなかったのか、不思議なくらいである。 *1:しかし、依然として内部キャッシュは検出する。キャッシュとメモリリークを区別することはおそらく不可能であろう。 *2:runop

    Test::LeakTrace has been improved at 0.11 - Islands in the byte stream (legacy)
    shmorimo001
    shmorimo001 2010/06/16
    perl xs leak メモリリーク
  • 容量無制限のソーシャルフォトサービス「mixiフォト」--ミクシィが提供

    ミクシィは6月2日、ソーシャルネットワーキングサービス(SNS)「mixi」で、友人や知人と写真を共有できる「mixiフォト」を開始した。 mixiフォトの特徴は、写真1枚ごとにコメントや「イイネ!」という反応を残すことで、写真を通じたコミュニケーションを楽しめるところ。「フォトシェアでもなく、フォトストレージでもなく、ソーシャルなフォトサービス“ソーシャルフォトコミュニケーション”」とミクシィ代表取締役社長の笠原健治氏は語る。 これまでPCのメールや携帯電話のメールで送り合っていた写真や、撮影後にPCや携帯電話に残されていた写真を手軽に友人同士で共有できるようにするサービスだという。 「フォトビューモード」という写真閲覧用のインターフェースを用意し、大きなサイズの写真を閲覧しやすくした。ビューモードで表示できる写真サイズは最大1027×768。 このサイズは「これは従来のフォトアルバムの

    容量無制限のソーシャルフォトサービス「mixiフォト」--ミクシィが提供
  • 【漏洩なう】ユニクロ行列漏洩騒ぎのまとめ

    2020/10/18 エンジニア D4DJ Groovy Mix オープンベータ開始 2020/10/18 DJ 秋葉原(を夢見る)パラダイスレイディオ Vol.1 @ twitch配信 2020/10/25 エンジニア D4DJ Groovy Mix リリース 2020/11/14 DJ UNDER Freaks 2nd anniv. @ 渋谷Cafe W (渋谷WOMB 1F) 大手アパレルメーカー「ユニクロ」のキャーンペンサイト「Uniqlo Lucky Line」で発生した漏洩騒動をまとめてみました 「行列なう」しちゃった人は、「なにがあったの?」と「どうしたらいいの?」の項目をとりあえず読んで下さい。 なにがあったの? 応募したユーザーのTwitter IDとツイートが書かれたテキストファイルが漏洩した 漏れた範囲は応募者全員。現在は「最初の400人」と「直近の400人」の計80

    【漏洩なう】ユニクロ行列漏洩騒ぎのまとめ
  • memcachedのプロトコル変更の件 - blog.nomadscafe.jp

    memcachedに依存するシステムやコードを書く人は大嫌いな訳だけど、スケーラビリティを向上させてレスポンス時間の高速化には必須なmemcachedですが、最近のプロトコル変更には疑問を感じてしまう。 1.4.0では、こちらに書いた通り、いつの間にかdeleteのtimeoutがサポートされなくなった。なので、 delete key timeout noreply というコマンドが無効になって困ることになった。それでも delete key timeout というコマンドは、timeoutにどんなも文字列が入っていてもエラーになることはなかった。timeoutは効かないけど。 ここから1.4.4ではさらに悪化。timeoutが0でないとエラーになるようになった。つまり delete key 0 noreply delete key 0 は有効なんだけど、 delete key 10 がエ

  • Twitter対抗、mixi「エコー」正式サービスに APIも公開へ

    Twitterの勢力が急拡大する中、ミクシィが対抗策に乗り出した。 ミクシィの笠原健治社長は7月31日、SNS「mixi」上で実験サービスとして提供している、Twitterに似た機能「みんなのエコー」を今後、正式サービスに格上げし、日記と並ぶコミュニケーションツールとして提供する計画を明かした。APIの公開も検討している。 Twitterは、140文字までの短いテキストを投稿し、ユーザー同士でゆるくつながるサービス。SNS的な要素も含んでいるため、「Twitter格的に始めて、mixiにあまりログインしなくなった」というユーザーも増えてきている。 笠原社長は、Twitterが勢力を増していることを認めながらも、エコーを強化することでユーザーをつなぎとめていく考えだ。 エコーは、150文字までのコメントを投稿でき、自分の書き込みと、マイミクシィ(マイミク)の書き込みを時系列順に表示するサ

    Twitter対抗、mixi「エコー」正式サービスに APIも公開へ
  • Twitter対抗、mixi「エコー」正式サービスに APIも公開へ

    Twitterの勢力が急拡大する中、ミクシィが対抗策に乗り出した。 ミクシィの笠原健治社長は7月31日、SNS「mixi」上で実験サービスとして提供している、Twitterに似た機能「みんなのエコー」を今後、正式サービスに格上げし、日記と並ぶコミュニケーションツールとして提供する計画を明かした。APIの公開も検討している。 Twitterは、140文字までの短いテキストを投稿し、ユーザー同士でゆるくつながるサービス。SNS的な要素も含んでいるため、「Twitter格的に始めて、mixiにあまりログインしなくなった」というユーザーも増えてきている。 笠原社長は、Twitterが勢力を増していることを認めながらも、エコーを強化することでユーザーをつなぎとめていく考えだ。 エコーは、150文字までのコメントを投稿でき、自分の書き込みと、マイミクシィ(マイミク)の書き込みを時系列順に表示するサ

    Twitter対抗、mixi「エコー」正式サービスに APIも公開へ