いろんな会社のいろんな人の話を聞けるのはやっぱり楽しい!YAPC::Asia Tokyo 2012に参加して来た!

こんにちは!こんにちは!monmonといいます! 2009年に初めて参加して、一昨年、去年に引き続き今年もスタッフとして参加させてもらいました。 3年続けてスタッフ参加だったためメインホールのリーダー担当を任されたんですが、今回は初めての場所ということ…

他のbranchの内容を調べる時はgit grepしてgit showする

git

「前に書いたmethodがなくなってるなぁ」 「あぁ、あれ違うbranchで作ったmethodか」 みたいなことを調べる時にタイトルのようにやればいいみたい。 まずはgit grepで違うbranchから探したいものを検索 (git)-[hotfix/2.4.20]-[12:30]% git grep isUniqueWit…

CakePHPでDBのExceptionが起こった時にどういうSQLを投げたためかをログに吐く

何か変なqueryをMySQLに投げてしまって 2012-05-26 18:23:21 Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`user_logs`, CONSTRAINT `user_logs_ibfk_1` FOREI…

CakePHPでwhere句のINの並び順で結果をsortしたいときはORDER BY FIELDを使う

where句のINの並び順で結果をsortしたいときはORDER BY FIELDを使うの続きfindのorderの所で array('FIELD(Country.id, 4, 1, 5, 3, 6, 2)')) と書けばいい。 参照 http://cakebaker.42dh.com/2008/06/10/order-by-field/ Ok, let’s do some examples to le…

where句のINの並び順で結果をsortしたいときはORDER BY FIELDを使う

これ、できないもんだと思って調べてもいなかった。 ORDER BY FIELD(カラム名, INのリスト...)でいけるのね。便利だー。http://lists.mysql.com/mysql/209784 SELECT id, start_date FROM iddt WHERE id IN ('109k7','s3x6','sxmns','wt57') ORDER BY FIELD(…

dotfilesをgithubで管理する

やろうやろうと思いつつ、1年くらいずっとやってなかったので会社のサーバの設定をするタイミングで試しに手を付けた。 # 設定ファイルとかはコピペが多いので管理するほどでもなかったのだけども 流れ 1. まずはdotfilesディレクトリを作ってそこにdotfiles…

CakePHPで動的にBehaviorを切り替えてModelの振舞いを変えるときはunload、loadを使う

CakePHP DocumentのBehaviorsの項にも書いてありますが、「ある時はこういう処理をして欲しいけど、違う時は別の処理をして欲しい」みたいな話。 やりたいこと あるModelがあって、今はAという処理だけあれば良いのだけど、今後BやCという処理も増やしたい …

iOSサンプルコードのTopSongsを読んだメモ

会社でサンプルコード勉強会というのをやっていて、今回僕の発表の番だったのでざっくりTopSongsを読んだメモ。Cacheの所まで読みたかったけど時間なかったからまとめもなく途中まで。 まずはReadMe.txtを読む This sample shows you how to import data fro…

testActionを使う時はautoRenderがfalseだとダメ

CakePHPでBake使ってControllerのテストを作るとき、一緒にテストしたいControllerクラスのMockみたいのができるのだけど、 そのクラスはredirectされないようにoverrideされていたり、renderされないように public $autoRender = false; となってたりする。…

CakePHPでMasterとSlaveにリクエストを振り分けるベストプラクティス的なものが知りたい

DBの負荷分散用に「更新はMaster」、「参照は複数のSlaveたちへ」的なことをCakePHP2.0でやろうと思ったのですが、 ハマってしまったのでメモを残します。 やりたいこと 更新はMasterへ、参照は複数のSlaveへ ただし、ざっくりでいい。参照のいくつかがSlave…

app/Config/core.phpのCacheの初期値はapp/Config/bootstrap.phpで上書きできないのですね

CakePHPを使っている時、app/Config/core.phpはcake本体のupdateのタイミングで変更される可能性があるためapp/Config/bootstrap.phpに

GmailでPOPする時にサーバ側で未読既読管理をされてしまうらしいのでユーザ名にrecentを付ける

GmailをPOPする時にメールのリストを上手く取得できずハマったのでメモメモ。 現象 Gmailからメールを取得するテストをしていたら、「一度取得したメールが取得できない」かつ「一度に250件ずつくらいしか取得できない」という状態が起こった 調査 ググった…

PHPで連想配列にkeyが存在したら値を追加しない、存在しなければ値を追加する、の書き方

php

たまたまCakePHPのFilelLogエンジンのソースを見ていたら $options += array('path' => LOGS); という書き方があって「あれ、この書き方知らない」となったので確認した。 結果はタイトル通り、「keyがあれば何もしない、keyがないなら値を追加する」だった…

間違ってパスワードをハードコーディングしたファイルをgit commitしてしまった時の対処

何も考えずにcommitしてたらpasswordごとcommitしてしまい、なのでどうにかできないかなと調べた。 ら、そのまま本家のヘルプにあった。 真似してやるだけでOKでした。 あとで調べたらgitでアレを元に戻す108の方法 - TIM Labsの問題17にもあった。 これでも…

CakePHPのcore部分をgit submodule化してgithubで管理する

2011-11-09追記 app/webroot/test.phpのCAKE_CORE_INCLUDE_PATHを修正することを書いてなかったので追加 bakeのときにはappディレクトリを指定する必要があることを追加 ここから元記事 CakePHP as a Git submodule | Bravo Kernelの通りやればできる。 重要…

CakeEmailを使ってMac OS XからGmail経由でメールをする

CakePHP2.0でGmailを利用してメールを送ろうとして 「SwiftMailerってのが使えるのかぁ。それならそれ使おう」 とか思ったのですが、どうやらCakeEmailというのがあるようなのでそれを使うことにした # たぶんCakePHP1.3まではなかったんだよね?よく調べて…

TestでFixturesのデータをexpectedに再利用したい

Modelのテストをする時に「Modelから取得できたデータ」と 「Fixturesで定義したデータ」が一致してるかを確認したくてfixtureを呼び出せないか調べた。 $this->fixtureManager ってやるとCakeFixtureManagerオブジェクトが取れるのでそれでゴリゴリやるのか…

Objective-CでTDDをやってみよう

Objective-CでTDDってどうやるんだっけ?ってなったのでTwitterからPublic Timelineを取得するって流れを簡単にやってみた。 TwitterのAPI利用はTweetingを参考にした。 # ということでiOS5で。 前提 public timelineを取得するだけ 簡単なテストをしたいの…

JasmineでBDDをやってみる

Jasmineを使っている人が社内にいて、そしてBDDをやってみたかったので触ってみた。 JasmineのダウンロードページからDownload。 で、一番新しいjasmine-standalone-1.1.0.zipをダウンロードしたらlibしかなく、 「あれ?これだけなの?」 となり、とりあえ…

Perl の内部表現の一つはたまたま UTF-8 です。内部表現は何か分からないエンコーディングで、常に明示的にエンコードと デコードが必要ということにしておいた方がよいです。

追記 ajiyoshiさんの昔の記事がとてもわかりやすかったので参考に。 VOYAGE GROUP エンジニアブログ : あなたにも今日こそPerlの文字化けが理解できるたった一つの原則 元記事 記事タイトルはperlunifaqの「UTF8 フラグ」って何?からそのまま引用したもの。 …

統計解析R言語の勉強

R

社内で紹介会があったので触ってみた。 インストール R for Mac OS Xからダウンロードしてインストール 実行した時のサンプルいくつか R で実行する 足し算 > 1 + 1 [1] 2 代入 > x <- 4 > x [1] 4 コメント > # これはコメントです 10色分色を出す > rainbo…

gitinstawebを試す。リモートリポジトリとローカルリポジトリを作ってみる

git

gitinstawebだとかgitweb.cgiの存在を全然知らなかったのと、 MacBook内にリモートリポジトリを作ってみてgitの管理をやったことなかったのでちょっと試してみた 参考:Git - 前提 ローカルリポジトリもリモートリポジトリもMac OS Xで動かす リモートリポジ…

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…