タグ

ブックマーク / blog.kyanny.me (9)

  • event.preventDefault() と event.stopPropagation() の違い - @kyanny's blog

    event.preventDefault() と event.stopPropagation() の違いが、わかったつもりでわかってなかった。 piro さんに Twitter で教えてもらって、説明が具体的でとてもわかりやすかったので今度こそちゃんと理解できたはず。 要するに、ブラウザの挙動をキャンセルしたいなら常に preventDefault() を使えと。 stopPropagation() は自分で js で書いて登録したイベントハンドラの伝播をキャンセルしたい場合。 piro さんありがとうございました!

    event.preventDefault() と event.stopPropagation() の違い - @kyanny's blog
    satoship
    satoship 2014/11/12
  • Rails と時刻 - @kyanny's blog

    時刻の扱いは難しい。タイムゾーンを跨ぐと格別に難しい。 Rails を使っていても難しさに変わりはない。むしろ時刻のやっかいな部分を隠蔽してくれるが故に余計にややこしくなることもある。 config.time_zone と config.active_record.default_timezone Rails アプリケーションで時刻を司る代表的な設定値は config.time_zone と config.active_record.default_timezone だ。いずれも config/application.rb で設定できる。詳細は Ruby on Rails Guides: Configuring Rails Applications 参照。 config.time_zone でアプリケーションのタイムゾーンを設定する。デフォルトでは UTC になる。日向けのウェブサイトで

    Rails と時刻 - @kyanny's blog
    satoship
    satoship 2012/08/16
  • デプロイ作業の属人化を徹底的に排除したい話 - @kyanny's blog

    ここ数カ月、デプロイとリリースについて、同僚や友人と議論したり雑談したりする機会が数多くあった。そんな折に、友人から Facebook のリリースエンジニアリングチームについて教えてもらった。曰く、 Facebook ではリリース作業を専門とするチームがあり、そこのメンバーは開発ブランチのコミットとそれに付随する ITS の議論を精査した上でリリースに値する変更をリリースブランチへ cherry-pick するのだそうだ。 2012/07/25 追記 Facebook のリリースエンジニアリングについては Facebook のリリースと文化 - Kato Kazuyoshi を参照のこと cherry-pick は無いわー、というのは置いておくとしても、リリースという極めて重要な作業が特定の人たちに委ねられている点に恐ろしさを感じた。嫌だと思うのはなぜなのかしばらく考えて、デプロイ作業の属

    デプロイ作業の属人化を徹底的に排除したい話 - @kyanny's blog
    satoship
    satoship 2012/07/22
  • Working with UNIX Processes を読んだ - @kyanny's blog

    Working With Unix Processes というを読んだ。 Thin の作者からの「時期バージョンを作るとき参考にする」というメッセージ*1が添えられていたのに惹かれて買った。著者のサイトで直販しているが、 Kindle Store からも購入できる。 このは一言でいうと、 UNIX 系 OS のプロセスについてのだ。プロセスとは何か、という導入部から始まって、プロセス ID やプロセス名、終了コードへと言及し、 fork(2) やソンビプロセス、シグナル、そしてデーモンプロセスの説明あたりまで編中で説明している。 UNIX プログラミングに関する類書は 1000 ページを超えるものが多いなかで、このはわずか 100 ページほどしかなく容易く読める*2。しかしページ数が少ないぶん、あまり踏み込んだ内容とは言えず、全体的にやや浅い印象を受けた。すでに UNIX, Li

    satoship
    satoship 2012/03/29
  • copy to tmp table - @kyanny's blog

    たかだか700万行、 mysqldump して 150MB 弱のデータ量しかないテーブルに一つユニークインデックスを貼るだけで7時間半かかってまだ終わらないってどういうことよ。この大きさになるともう ALTER TABLE では無理だってことか・・・。夜中に ALTER TABLE し始めたときと、ついさっきとで、 show full processlist の結果は悲しくも変わらず copy to tmp table のまま。何個かインデックス貼るうちの最初の一個でこれじゃあ。ほっといても永遠に終わらなそうだ。 RENAME TABLE したあと元の名前でインデックスありのテーブルを作り直し、 INSERT INTO new_table SELECT * FROM old_table するのと、 mysqldump して CREATE TABLE にインデックスたして全部ロードしなおすの

    copy to tmp table - @kyanny's blog
  • omniauth-loctouch と nonopaste-cli を rubygems.org で公開しました - @kyanny's blog

    OmniAuth のロケタッチ用ストラテジーである omniauth-loctouch と NoNoPaste 用のコマンドラインインターフェースである nonopaste-cli を rubygems.org で公開しました。 https://rubygems.org/gems/omniauth-loctouch https://rubygems.org/gems/nonopaste-cli 初めて Gem を公開したので記念にスクリーンショットを撮ってみた nonopaste-cli はもともと、社内のイントラネット内に設置されている NoNoPaste をターミナルから楽に使いたくて書いたツールで、単にコードのバックアップを置いておくくらいのつもりで GitHub で公開していたものですが、 Gem 化のリクエストをもらったのでリリースしてみました。 gemspec を書いてくれたう

    omniauth-loctouch と nonopaste-cli を rubygems.org で公開しました - @kyanny's blog
    satoship
    satoship 2012/02/20
  • highscalability.com の Tumblr のアーキテクチャについての記事を読んだ - @kyanny's blog

    High Scalability - High Scalability - Tumblr Architecture - 15 Billion Page Views a Month and Harder to Scale than Twitter を読んだ。すごく面白かった。 Kindle で引用したところを中心にメモ。 Tumblr のソーシャルグラフの特徴 The graph for Tumblr users has hundreds of followers. This is different than any other social network and is what makes Tumblr so challenging to scale. Tumblr だと follower が数百人いるユーザーはザラにいる。 follower の多いユーザーの post は多くのユーザ

    highscalability.com の Tumblr のアーキテクチャについての記事を読んだ - @kyanny's blog
    satoship
    satoship 2012/02/20
  • fluentd のソースを読む (1) - @kyanny's blog

    fluentd のソースを読み始めました。単なる趣味です。 経緯: fluentd の exec buffered output plugin を試してみたらflush_interval を短くしても USR1 シグナルを送ってもバッファが flush されず command が実行されなくて悩んでいたらTimeSlicedOutput はスライスの時間が経過しないとバッファから出てこないと教えてもらい、ソースを読んでちゃんと理解したいと思ったため、です。 とはいえ plugin/out_exec.rb をいきなり読んでもさっぱりわからなかったので、順を追って読んでみることにします。 まずは bin/fluentd を実行すると fluend が起動するところまで。 bin/fluend は fluend/command/fluentd.rb を実行してるだけ fluent/command

    fluentd のソースを読む (1) - @kyanny's blog
  • 「グリー×クックパッド合同勉強会〜それぞれのスマートフォン開発〜」に参加した - @kyanny's blog

    グリー×クックパッド合同勉強会~それぞれのスマートフォン開発~ - クックパッド開発者ブログ に参加してきました。主催のグリー・クックパッド両社の皆様、ありがとうございました。例によってつらつらと感想を。 「GREE Android SDKの実装について」 Android SDK の上に乗っける独自の SDK 作っててその層が頑張ることでそれより上の層でアプリを作りやすくしてますよ、という話。 Android のネイティブアプリ開発をする際にはまりがちなところの苦労談を聞いてて「(やったことないけど)大変そうだなー」と思った。スクリーンショットが撮れないのでほげほげとか、「戻る」ボタンを押したときの画面遷移を思い通りにするために内臓ブラウザをほぼ完コピ(どころかそれにさらにプラスアルファ)で実装し直してるとか。 「古い端末はどこまでカバーする?例えば 1.6 -> 2.1 へアップグレード

    「グリー×クックパッド合同勉強会〜それぞれのスマートフォン開発〜」に参加した - @kyanny's blog
  • 1