Prototype.jsでjQueryにparents()みたいなことがしたければup()を使う

Prototype.jsとか久々に触ったので親要素辿るメソッド思い出せなかった。 「jQueryの場合はparents()だよなぁ」とか思い、ドキュメントを検索したけど出て来ず。 ググってもいいのが出て来なくて必死に探してしまった。 答えはhttp://api.prototypejs.org/do…

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というカラムをもつテーブルがあったと仮定…

Prototype.jsでjQueryの.liveのような動きをする書き方

Ajaxで持って来たコンテンツに後からイベント追加したいなと思い、Prototype.jsにjQueryの.liveのような機能がないのかなと調べた。 結果、同じような質問があった。 後から生成された要素も含め、class="foo"を持つ要素に対してのclickイベントをjQueryで書…

SimpleTestでprotected methodのテスト

protectedなメソッドのテストがしたい場合はどうしたらいいのかなと思い、 CakePHPを覗いてみたところ、cake/tests/cases/libs/http_socket.test.phpでテストしてたのでメモ。 http_socketのテストのsetUp()でMockHttpSocketクラスやMockHttpSocketRequests…

CakePHPのfindで複数のカラムのDISTINCT

CakePHPのfindメソッドで複数のカラムのDISTINCTを実行したいなと思いcookbookを確認したのですが、 サンプルには1カラムのものしかない。 DISTINCT クエリを用いた簡単な例は次のようになります。MIN() や MAX()、その他の演算子も、同じように扱えます。 a…

CakePHPのバリデーションルールにマジックナンバーを使わないようにするためどこに定数をまとめるか

「最小文字数が8」っていうバリデーションルールを書く例で Cookbookだと下のような感じでマジックナンバーにしてある。 'rule' => array('minLength', '8'), 多分簡単に説明するためにマジックナンバーにしてあるんだろうけど、 実際に開発するときは作用み…

Coro::LWPで/etc/hostsを使う

本番環境と同じドメインでアクセスできるストレージ環境があって、 /etc/hostsのIPアドレスを書き換えて開発のチェックをしてたりします。 で、Coro::LWP使ったscriptでアクセスしてみたら本番の方に行ってしまいハマったのでメモ書き。 まずMacOSXだから/et…

MovableTypeで特定のフォルダのページ一覧を出力

MTを使ってて、「あるフォルダ配下のページ一覧を取得」って場面があり、 そのためにMTPagesのfolderモディファイアを使うのだけど、 このfolderモディファイア、値に指定できるのはMTFolderLabel。 はじめMTFolderBasenameで指定できるのかと思ってハマった…

MovableTypeで親ウェブサイトのテンプレートをインクルードする

MT5で複数サイトや複数ブログを管理している場合に、 基本的なHTMLは変わらず記事のカスタマイズすることが多々あります。 で、そんなときはシステムのテンプレートに共通化して、そのテンプレートを呼ぶようにしていたのですが、 「1つのウェブサイトの子供…

雇用保険の失業給付基本手当を減額されないような仕事収入

会社を退職した場合に失業給付と言う基本手当が支給されます。よく失業手当と言われているものです。 この手当の額は決まっていて、仕事で収入を得た場合には手当が減額されることもあります。 で、そんなことは雇用保険の説明会の時点で教わるし、ググると…

PhoneGapとjQuery MobileとHTML5を使ってJSONをDumpするアプリをサクッと作る

少し前にphonegapを知ったのでJavaScriptを使ってiPhoneアプリを作ってみた。 inputにJSON APIのURLを入力するとリスト表示してくれるDumper。 monmon/dump-for-dd · GitHub 試しに作っただけなのでエラー処理とか特にしてないけど、 http://search.twitter.…

JSTAPdのチュートリアル見ながらJavaScriptのテストをしてみるよ

最近JSTAPdに関するつぶやきを見て 「そうだ!触ろうと思ってインストールしたまま触ってないや!」 と思ったので実際に触ってみた流れとハマった所のメモ。 基本的には perldocjp JSTAPd::Tutorial::JA とかやってチュートリアルを見ればいい。 日本語だし…

perlでmp3タグをいじって歌詞を追加する

久しぶりに触ったら忘れていたのでメモ。 use MP3::Tag; my $mp3 = MP3::Tag->new($mp3_filename); $mp3->title_set('title'); # タイトル $mp3->select_id3v2_frame_by_descr("USLT(eng)", 'lyric'); # 歌詞 $mp3->update_tags(); # タグに保存 # get my($t…

"/var/mobile/Applications/*/MyApp.app/www//index.html" Would Like To Use Your Current Location"みたいな警告が毎回出た時の対処

YAPC::AsiaのときにオライリーブースでiPhoneアプリケーション開発ガイド ―HTML+CSS+JavaScript による開発手法を買いました。 ちょこちょこ読もうかなぁと思っていたのだけど、 薄いし、面白いし、1冊まるまる使って少しずつサンプルアプリの機能追加してい…

PayPalのDelayed Chained Paymentを使って仲介サービスのようなものをやる(下準備)

友達から「暇だったらちょっと手伝って」と言われてPayPalのAPIを触ってみたのでメモ書き。 友達のやりたかったことは、下のような感じ 前提:役割 下記の役割がいたとして。 サービス:サービスを提供する人 管理者:イベントの管理者 参加者:イベントの参…

YAPC::Asia2010にボランティアで参加して楽しんで、そして今からYAPC::Asia2011をワクワクして待ってる

超楽しかった!ホントに楽しかった! 去年はYAPC::Asiaに初参加して、わからないながらも色んなセッションをひたすら聞いて、特にTAKESAKOさんのInline::x86 JIT Assemblerは大学の部屋の雰囲気も手伝って 「ホント大学の授業思い出すくらいわからないやぁ」…

Gmailの連絡先をiPhoneに同期した後にiPhoneでアカウント追加したのが同期できなくて困ってた

iPhoneを買った後にGmailで一括連絡先管理しようと思い、 Google Sync を利用して、iPhone の連絡先と Gmail 連絡先との「完全」な同期をとる - 彼女からは、おいちゃんと呼ばれていますを見ながら設定してあったのですが、 新たにiPhoneに連絡先を追加する…

MTで空白区切りの値を配列に入れて利用する

昨日に引き続きMTの話。 やりたいことは、 ウェブページ投稿時、フィールドに空白区切りの値を入れて、それをテンプレート側で空白でバラして変数に入れる というよくある感じのこと。 具体的には、 「読み込むスタイルシート」ってカスタムフィールドを作り…

MTのカスタムフィールドとダイナミックパブリッシングを使ってXHR用のデータを作る

久しぶりにMTを触っているのでせっかくだから作業メモ。 前提として、MT-5.03+MySQLを使っていて、「ブログ」ではなく「ウェブページ」でサイトを作成してます。 (MTEntry系ではなくMTPage系を使うくらいの違いかな?) 少し前まで使ってたのはオープンソー…

gumiStudy#2の実践memcached見て来た

gumiという会社を今まで知らなかったのですが、memcached勉強会ということで見に行ってきました。 内容的には、memcachedの活用と運用 実践編:特集|gihyo.jp … 技術評論社と、この前のYokohama.pmでの内容という感じ。 懇親会ではgumiの方と話をして、面白…

vimでインデントを崩さない貼り付け方法

vim

2chのからコピペ。 953の人と同様、僕もいつもset pasteでやってたのですけど、最後の発言にある、 :a! とか :i! でいけることを知り、ちょっと感動したのでメモ。 面倒だったらその前にある set pastetoggle=<C-E> をセットしておいて編集モードでCtrl-Eとかも楽</c-e>…