YPAC20121日目まとめ

休暇をいただいて参加してきました初YAPC!2日目は体調不良で行けなかったのですが、1日目だけまとめます! ミスありましたらご指摘いただければ幸いです。では参ります! Pixivサムネイル 規模 33億PV/month 6Gbps 画像 イラスト3千万件 各々12〜100件のサム…

小説 上杉鷹山を読んだまとめ

概要 米沢藩藩主 上杉鷹山が財政再建を通じて民中心の政治改革を行う話 全一冊 小説 上杉鷹山 (集英社文庫)作者: 童門冬二出版社/メーカー: 集英社発売日: 1996/12/01メディア: 文庫購入: 3人 クリック: 95回この商品を含むブログ (29件) を見る 江戸での改…

「先読み力」で人を動かすを読んで。社会人の基礎事項を整理する

「先読み力」で人を動かす ~リーダーのためのプロアクティブ・マネジメント~作者: 村中剛志出版社/メーカー: 日本実業出版社発売日: 2008/03/27メディア: 単行本(ソフトカバー)購入: 11人 クリック: 190回この商品を含むブログ (40件) を見るを読み直した…

病気にならない生き方

病気にならない生き方 -ミラクル・エンザイムが寿命を決める-作者: 新谷弘実出版社/メーカー: サンマーク出版発売日: 2005/07/20メディア: 単行本購入: 19人 クリック: 258回この商品を含むブログ (174件) を見るを読んだメモ。 考え方 大切なのは食歴と生活…

破天荒 サウスウエスト航空 驚愕の経営

を読んだメモ。破天荒!作者: ケビンフライバーグ,ジャッキーフライバーグ,Kevin Freiberg,Jackie Freiberg,小幡照雄出版社/メーカー: 日経BP社発売日: 1997/07/29メディア: 単行本購入: 13人 クリック: 99回この商品を含むブログ (27件) を見る 本を読む前に…

MySQLのINSERT/UPDATE時におこる不整合対策

先日、作っているアプリケーションにバグが発生しました。バグの内容は次のようなものでした。 同時に存在してはいけないはずのデータが、DB に存在する 整合性のチェックはアプリケーションレベルで行っている 一意制約のような単純なものではないので、ア…

vim でファイルを保存した時にChrome で開いているページをリロードするのはAppleScript で十分でした

vim

一昨日、vim でファイルを保存した時にGoogle Chrome で開いているページをリロードする - Slow Danceというエントリーを書きまして、AppleScript だとChrome に一瞬フォーカスを奪われてしまうのが問題と書きました。 しかし、Chrome はAppleScript に対応…

script/console の履歴機能が上手く動かなくなった...ので対応

環境 ruby 1.8.6-p399 rails 1.0.0 (;_;) Mac OS X 10.6.4 現象 irb は通常通り~/.irb_history に履歴をためていく rails のscript/console を起動すると、~/.irb_history の内容が上書きされ、先程までirb_history にあった最新の履歴が消えてしまう script…

vim でファイルを保存した時にGoogle Chrome で開いているページをリロードする

HTML を編集している時に必須の機能。今回試した方法は、 AppleScript を使う ChromeReplを使う livereload の3つです。最終的に、(不満ながらも)AppleScript 版を使っています。 追記 不満はvim でファイルを保存した時にChrome で開いているページをリロー…

Use FasterCSV or Ruby 1.9's CSV library

Rubyベストプラクティス -プロフェッショナルによるコードとテクニック作者: Gregory Brown,高橋征義,笹井崇司出版社/メーカー: オライリージャパン発売日: 2010/03/26メディア: 大型本購入: 9人 クリック: 307回この商品を含むブログ (47件) を見る を読ん…

Web アプリを書いていてよく使うデザインパターン(Composite パターン)

DB に日々のブックマーク数を保存している 指定した期間のブックマークの日別の数を表示 ヘッダには指定した期間のブックマークの合計を表示 というような場合を想定。 このような場合は、DB から取ってきた結果をComposite パターンを使った箱に入れると便…

RubyKaigi2010 に行ってきた(2, 3日目)

RubyKaigi2010 に行ってきた(1日目) - Slow Danceに続き、今年のRubyKaigi に行ってきたレポートを書きたいと思います!例によって興味があった内容をまとめました。Chad Fowler の基調講演の内容は情熱プログラマー ソフトウェア開発者の幸せな生き方を読む…

RubyKaigi2010 に行ってきた(1日目)

今年もRubykaigi に行ってきました。とても勉強になることが多かったので興味があった内容をまとめます。 まずは1日目から。2,3日目も後に書きます!もし間違い等ありましたら指摘いただけると助かります。 Conflicts and Resolutions in Ruby and Rails Rai…

MySQL のNULL ではまったことあれこれ

MySQL に限らず、SQL のNULL の仕様には何回か「えっ」と驚くことがあったのでメモしておこうと思います。5.1 版の日本語マニュアルがなかったものについては、4.1 のマニュアルを参照しました。 そもそもNULL は何を意味するか NULL は未定義または、不明を…

MySQL のバックアップと世代管理

要件 バックアップはmysqldump バックアップファイルは1週間前のまで残して欲しい 8日以上前のものは消す 簡単じゃんと思ったら案外罠があった。 設定 バックアップ MAILTO="youraddress" PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bi…

Rails におけるレースコンディションの例とその回避方法

最近立て続けにレースコンディション問題に遭遇したのでメモ。 レースコンディション(競合状態)とは、複数のプロセスやスレッドが共有リソースに対して何らかの操作をする際に、処理のタイミングによって結果が異なってしまう状態のこと。よくトランザクショ…

Always Hatebu Favorites が動かなくなってので対応しました

あけましておめでとうございます!!今更ながら今年もよろしくお願いしますヾ(゚∀゚)ノ 現在閲覧しているページをはてブしている「お気に入りユーザ」を表示するGreasemonkeyで公開しているGreasemonkey が、Firefox を3.6 にアップデートしたら動かなくなったの…

JavaScript の関数はとても柔軟だった

1年以上放置していたO'Reilly Japan - 初めてのJavaScriptを最近またやり始めました。「5章 関数」を読んだので、覚えたことを書いてみます。タイトルの通り、JavaScript の関数が持つ柔軟性についてフォーカスを当てます。 なお、動作検証にはRhino - MDC(1…

COUNT 関数を使ってMySQL のインデックスの基本を理解する

Linux-DB システム構築/運用入門の8章「インデックスのチューニング(前編)」を読んだので、インデックスの基本について実際に手を動かしながら勉強してみようと思います。 内容としては、クエリを実行する際に、「インデックスだけにアクセスした場合」と、…

REST について調べたまとめ

普段仕事でRails を使っている身ですが、Rails 2.x 系を使っているものが1つもない。結構前からRails 3 の話題がでてきている今、そろそろRails 2.x をまともに使っておきたいと思ったので、まずはREST について調べました。最初にREST について調べたのは、…

Emacs からVim へ移行しました

今までCarbon Emacs を使っていたのですが、カスタマイズによって動作が重くなったり少し不満に思っていました。そうした中、Emacs23 がリリースされたり、Carbon EmacsからCocoa Emacsへの流れも来ていました。 僕もCocoa Emacs に移行しようと思ったのです…

ActiveRecord でbulk insert/update

mala さんのMySQLにおけるbulk insert と bulk update - 金利0無利息キャッシング – キャッシングできます - subtechのエントリーを見て, MySQL でbulk update ができることを知り, 丁度欲しい機能だったのでとりあえず動くだけのメソッドを実装. # User.ext…

現場で役立つRuby on Railsパターン(RubyKaigi2009)を聴いたまとめ

今年はRubyKaigi に行ってきました。今回聴いたセッションの内、いくつかのメモを残します。全てを1エントリーにまとめるのは量的にも厳しいし、エントリの切り方としても微妙なので小分けにして書いていきます。 あくまでメモなので間違いがあるかもしれま…

tscreen に移行した

OSX のデフォルトのscreen はpbcopy が動かない問題とかがあり、今までは開発版のscreen を使ってました。ですが、開発版の方はZenTestにくっついているautotest と連携する際にステータスラインの部分がきちんと動かなかったりしてました。 そこで、tscreen…

MySQL とメモリに関するまとめ

前回のエントリーデータベースを用いたセッションデータ管理についてで、MySQL とメモリの関係について良く分からない部分があると書きました。 実はここに関する理解はかなり曖昧な部分があって、調査して追記します。とくにメモリ利用量について。mysqld …

データベースを用いたセッションデータ管理について

Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。…

Emacs でリアルタイムに文法チェックする設定

flymake でリアルタイム文法チェック - とりあえず暇だったし何となく始めたブログ を参考に設定。 設定後はこうなる 文法エラーが検知されると、エラー部分がハイライトされる 文法エラーは「ruby -c 編集中のファイル」でチェックされる エラー内容をミニ…

Google の「as_qdr=y15」のやつ検索バーカスタマイズすればいいと思った

404 Blog Not Found:tips - google - &as_qdr=y15を最も手軽に使う方法 に近いけど(デフォルトでできるという意味で)、Google 検索にローケーションバー使わない人は、検索バーの設定いじればいいと思う次第。というより、自分ではこれが一番使いやすかった…

MySQL のJOIN に関するメモ

内容 FROM 句のテーブルの順番と、MySQL がテーブルをJOIN する順番は別 STRAIGHT_JOIN と eq_ref, ref eq_ref になるようにするために JOIN 条件の書き方 STRAIGHT_JOIN をいつ使うか 今回の検証に用いたMySQL は4.0.26。また、例として、以下のテーブルを…

git 環境のセットアップと簡単なチュートリアル

ソーシャル化するOSS開発者たち − @ITとGitHub Issue Tracker! - GitHubを見て、github がとても楽しそうなので、git を使い始めました。 http://github.com/lukesilvia/ 良く使いそうなコマンドとかを調べたのでメモ。 git インストール インストール Mac …