YAPC::Asia Tokyo 2011でtakeばかりだったのでgiveしていく

あっという間に終わってしまいましたYAPC::Asia Tokyo 2011。 (YAPC::Asia 2011だと思っていたんですが、下のつぶやきを見て「なるほどそうだったのか」とTokyoを入れ直しました。) とりあえず書いておく: YAPC::Asia Sapporo YAPC::Asia Fukuoka YAPC::A…

phpのmakeで/usr/bin/ld: cannot find -lmysqlclientというエラー

久しぶりにphpをmakeしたら下のようなエラーが出て進まず。 /usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient /usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching …

Smiley Hackathon#10に参加してきた!次は誰か誘って参加したい!

ハッカソンって言うと出来る人がたくさん集まってて何となく怖そうなイメージがあるんですけど、 ハッカソンというと非常にとっつきにくいイメージですが、ルールや言語のしばりは一切ありません。プログラミングが好きな方、これから勉強しようと思っている…

Socket.IO0.7の勉強

Socket.IOの使い方がわからないのでトップにあるサンプルで流れを確認。 ディレクトリ構成 [16:23]% tree . ├── app.js └── public └── index.html こんな感じのディレクトリ構成にして、 npm install socket.io npm install express で、socket.ioとexpress…

UIViewControllerのメモリ割り当てや解放処理一覧

基本的な所を抑えていなかったのでiOS View Controllerプログラミングガイドのp.42から転記。 タスク メソッド 説明 View Controllerで必要な重要なデータ構造を割り当てる 初期化メソッド カスタム初期化メソッドには(initという名前であるか、それ以外の名…

Instruments Automationを使ったUI Automationテストのやり方を勉強

UI Automationって何? 画面の遷移、タップなどのイベント動作、文字入力など、UIに関する部分を自動的にテストできるもの。 どういう風に使うの? 自分の意図するシナリオをJavaScriptでシーケンシャルに書いてファイルで保存 それをinstrumentsのautomatio…

staticとconstはクラスのもの、プロパティはオブジェクトのもの。

php

追記 コメントでPHP5.3からはstaticキーワードが使えるのを教えてもらった。 勉強しないとダメだなぁ。。 子クラスのconst,staticの値を使うのは、PHP5.3からできます。var_dump(static::$S);http://www.php.net/manual/ja/language.oop5.late-static-bindin…

floatにしたときには.0を付けて比較する

php

追記 ってのはダメだよとコメントで教わりました。 元記事 あんまりやったことないから知らなかった。小数点付けないとfalseになるんすね。

正規表現のデバッグ方法

re=debugってやると詳細出してくれるの知らなかったのでコピペ。Perlコーディング初心者質問スレ Part 62 502+1 :nobodyさん [] :2011/05/02(月) 02:42:13.10 ID: fV7VGj7j (1/2) 「文字列A 文字列B」 という 2 つの文字列の間に複数の空白がある行におい…

Objective-C再入門

すっかり忘れてしまっていたので詳解 Objective-C 2.0 改訂版を一通り読んだ。 この本はみんなに勧められるだけありますね。 「こういう問題点があります。だからこうします。」 の流れがわかりやすくて読んでて楽しかったです。 問題となるようなサンプルコ…

$obj->varと$varの初期化の違い。PHP Noticeの出る出ない

php

僕はよくPHPのスコープを忘れてしまい右往左往するのですが、 今回は宣言したのにPHP Notice出てアレレとなってしまったのでメモ。 まず、いつも変数を使う時に $obj = null; みたいな感じで初期化してから使ってました。 で、「Perlの時みたく変数だけ書い…

大きい数値を扱う時はjQuery.data()ではなくjQuery.attr()を使う

多分、他に方法がないのかなと思ったのでタイトルのようになりました。 jQueryではHTML5のdata属性が扱えて、たとえば twitterさんの発言:<span data-tweet-id="1">ほげほげ</span> みたいなHTMLがあった時に $('span').data('tweet-id') ってやれば「1」が取得できるのだけど、ここで得ら…

Pythonのfor文のリストの評価は一度だけ

pythonのfor文を使う時に for i in xrange(len(list)): って書き方をすると思うのですが、 len()が毎回実行されたりするのかなぁ?と思って気になりました。 何か関数とかをここで実行した時にパフォーマンスに関わるのかな?という疑問ですね。 確認するた…

Web::Queryの使い方練習のためにApple Storeのnew製品を取得する

この種のライブラリとして Web::Scraper があるが、Web::Scraper の DSL をおもいだすまでにどうしても時間がかかりがちだったので、こういう風なのもいいかなとおもった。jQuery は日常的につかってるので、わすれないし。 わーぃ。いつもWeb::Scraper使う…

ブクログの本棚のデータを新刊.netへ登録するGoogle App Engineのアプリを作ってみる

さてさて、僕は漫画が大好きで常に漫画に囲まれていたいとか思っちゃう方なのですが、 記憶力があまり良くなくて「あの本買ったっけかな?」「あの本読んだっけかな?」と時たま思うことことがあります。 それをなるべく減らそうと、 新刊.netにキーワードを…

Pythonでリストの内包表記を使って2次元リストを1次元リストにする

やりたかったことは list = [[1, 3, 5], [2,4]] こういう2次元のリストを [1, 3, 5, 2, 4] こういう1次元リストにしたくてどうすればいいのかなぁと。 for文作ればすぐできそうだったのですが、大した処理でもないので1行で書けないのかなと思いました。 「…

Tweepyでエラーにならないように例外処理する

PythonでTwitter APIを扱うためにTweepyを使ってみたのですが、404エラーになるようなAPIを叩いた時にエラーになっちゃう。 >>> oauth_api.retweets(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/tmp/tweepy/binder.py", line 184, i</module></stdin>…

Googleの検索結果にFacebookの「いいね!」を追加表示してあらあらうふふ

最近、facebookの「いいね!」の数を表示しているページが増えてきたなぁと感じます。 ただ、facebookの良いところは「自分の知っている近くの誰か」なので、数だけ出しているよりも「あなたの知り合いの〜さんが」的なことまで表示してるページの方がfacebo…

Google App EngineでOAuth使ってTwitterAPIを扱う

Google App Engine Pythonの話です。 「Google App EngineでTwitterのAPIを扱うためには何使うのがいいのかなぁ」 とちょっとググってみたところ、Tweepyというのが見つかりました。 これを使ったサンプルもtweepy-examplesにあったのでそれなら何となくわか…

PythonではNoneの比較は==ではなくisを使う

前にPythonの勉強を軽くしたものの、短期間で基本的な部分だけをサラッとやったために時間が経ったら忘れてしまってました。 で、久々に何となく書きつつ、 「あ、pythonはeqとかなくて判断する時は==一種類でいいんだったっけ。」 とかうろ覚えのままif文書…

TwitterのAnywhereでタイムラインやユーザのデータを取得

今さらですがTwitterのAnywhereを使おうと思いまして、 ちょっと軽くページを見てみたら「ユーザ名に自動でリンク追加」とか「マウスオーバーでユーザ情報を取得する」みたいなのしかなく、 「あれ?こんなくらいしかできることないんだっけ?もっといろんな…

MacでWindows7のDVDからisoイメージファイルを作る

mac

MacBookのドライブをスーパードライブに交換するでDVDドライブの交換が終わったので、元々の目的だったWindows7をVMware Fusionにインストールしました。 すごいね。サクサク動く。ビックリした。こんなにサクサク動くのね。 今までXP動かしてたのが8年前く…

MacBookのドライブをスーパードライブに交換する

もう結構昔のタイプの2007 lateのMacBook(MB061)の話です。 (自分のMacBookのタイプが分からなくて困ってたんですが、Mactracker使えばサクッと調べられるんですね) そもそもMacBookのコンボドライブの調子が悪くなっていて最近はDVDもCDも使えずの状態…

はてなダイアリーでCSS3を使ったフォトギャラリーのプロトタイプ

既に作っている人がいるかなと思ったけど、前にjQuery使ってスライドショーを作った時に「CSS3だけで作れたらはてなダイアリーでも使えるのか」と思ったので軽く練習してみた。 HTMLはこんな感じ。 <div id="galleries"> <a href="#" tabindex="1">1</a> <div class="gallery"> <img src="http://distillery.s3.amazonaws.com/media/2010/10/30/8b9c34670730483d939b1a2536caa32c_7.jpg"> </div> </div>

findで複数のORを使う場合はarrayで囲む

CakePHPでfind使うとき SELECT * FROM t WHERE "id" = '1' AND (("status" = '1') OR ("flg" = '1')); というSQLが書きたければ find('find', array( 'conditions' => array( 'id' => 1, 'OR' => array( 'status' => 1, 'flg' => 1, ), ), )); みたいな感じ…

bindModelで別のモデルを関連づけてsaveAllする際、isUniqueのバリデーションルールのせいでsave()できない場合は第2引数にfalseをセットする

タイトルの通りですがsaveAll()で保存に失敗してハマったのでメモ。 流れは以下のような感じ ModelA hasMany ModelB ModelBはModelAのキーであるmodel_a_idをもつ(外部キーがmodel_a_id) ModelA->saveAll()を使ってModelAとModelBの両方を同時に保存したい…

hasManyなどで関連づけたテーブルにシーケンスがない場合のsaveAll

以下のようにCakePHPのCookbookに関連したテーブルへの保存方法が載ってますが、 PostgreSQLのシーケンス部分でハマってしまったのでメモ。 saveAll(array $data = null, array $options = array())次のいずれかの目的で使用します。 (a) 単一のモデルに、個…

findするときのconditionsなどにモデル名を書く習慣を付ける

CakePHPのCookbookを読んでると、いろんなところで「SQL内にモデル名を含めましょう」みたいなことが書いてあります。 conditions: 関連モデルのレコードを限定するための SQL。SQL 内でモデル名を使用することを習慣にしておくようにしておきましょう:“appr…

IE6のfloatを使った場面で片方のdivが下に落ちてしまう

今さらIE6の件ですが、ハマってしまったのでメモ。 ie6のfloatでメイン部分が下に落ちるなぁと原因を探ってみたら、イタリック文字のせいで幅が増えてたのが原因っぽい。文章くらいしか変わらない2つのページで起きる起きないが分かれてたからインデント変え…

CakePHPで「create時は必須入力」「update時は任意入力」のvalidationをする

CakePHPでDBにデータを保存するときにはmodelの$validate変数を使ってバリデーションをすると思うのですが、 ちょっとやり方がわからなくてハマった所があったのでメモ。 前提 簡単に話を進めるためにtitleとstatusというカラムをもつテーブルがあったと仮定…