2012-01-01から1年間の記事一覧

PHPMatsuriの裏側

イベントの内容は参加者の参加報告が色々とあがっているので、私はイベントの裏側を紹介しようと思います。 去年まではGoogleグループベースのMLで議論をして、PHPMatsuriのサイトとPaypal決済連携機能も自前で用意してやっていました。 今までの問題点とし…

PHPMatsuri2012 福岡

別記事「PHPMatsuriの裏側」はこちら http://d.hatena.ne.jp/cakephper/20121229/1356760604 2012年11月3日〜4日にかけてPHPMatsuri2012福岡が開催されました。 http://www.phpmatsuri.net/2012/ 楽しそうな人たち 最近やっと全ての残タスクが終わったのでブ…

CakeAdvent2012 Day3 Cake CookBookの翻訳差分チェックサイト作りました

CakeAdvent2012の3日目を担当します。ハッシュタグは #cakeadvent2012昨日はfukayatsuさんの「CakePHPと僕とcakes」でした。 cakesはエンジニア募集中のようです! RoRに載せかえとか面白そうですね。 はじめに 最近はIPAという苦めのビールが大好きです。ペ…

findコマンドで日付指定を使っての期間絞込み

findコマンドで何日より古いファイルを探すというのはよくやりますが、日数ではなくて日付を指定して検索する方法 find ./ -newerct '2012/11/6 0:0:0' -and ! -newerct '2012/11/10 0:0:0' これで11月6日から10日までに作成されたファイルが検索できます。 …

CakePHP Adventカレンダー2012が開催されます

今年もCakePHP Adventカレンダー開催! http://www.adventar.org/calendars/40ハッシュタグは #cakeadvent2012 ですネタは何でも良いので、まずは登録して正座しながら担当日を迎えましょう!

WordpressのDBコピーとURL置換の超簡単な方法

WordpressはサーバのURLを固定値でDBの中に格納しているので、たとえばtest.example.comのwordpressデータを、staging.example.comにコピーしてもうまく動かない。そこで、データをダンプしてURLを置換してコピーするお手軽な方法をよく使う。 Wordpress1と…

CakePHP3.0の片鱗が見えてきた

まだまだCakePHP3.0のリリースには時間がかかると思いますが(たぶんあと1年ぐらい)、だんだんと3.0の形が見えてきました。CakePHP3からはPHP5.4以上が必須になるようなので、ホスティング環境にかなり左右されそうです。さくらインターネットが今日ホステ…

pull request送るまでは適当なコミットメッセージにしておく

git

CakePHPのCookbook翻訳で、gitの利用方法を以前書きました。 http://d.hatena.ne.jp/cakephper/20120709/1341808861その時は、本家の最新の状態をrebaseで反映してから自分のリポジトリのブランチにpushするまでの流れを書きました。 その後は、githubのペー…

CakePHP2 実践入門が発売されました!

技術評論社より、「CakePHP2 実践入門」が発売されました。 http://gihyo.jp/book/2012/978-4-7741-5324-72012/9/29に発売なのに、お前はなぜ今頃という感じではありますが、宣伝したいと思います。 いや、最初は在庫切れを心配してあまり宣伝しなかったんで…

sshログインを禁止、sftpのみを許可してhome以上の階層に遷移させない設定

昔は、sshとftpをそれぞれ設定してサーバ管理者はsshログイン、コンテンツ更新者はftpログイン(chroot)という構成をしていました。 最近のsshdは、sftp + chrootという設定が可能なのでよくやってます。いつも設定方法を忘れるのでここにメモ。 ただ、古いSS…

CakeFest2012が開催されました

9/1,2とイギリスのマンチェスターで CakeFest2012のカンファレンスが開催されました。今年は去年と同じ場所でした。 今年も発表しようかと思ってたけど、色々な要因で参加しないことにして、その代わり、ライブ配信チケットを2万円ぐらいで買って家で見てま…

CakePHP1と2のパフォーマンスを比較

CakePHP2.2になったので、1.3, 2.0, 2.1, 2.2で比較しました。 比較したコードは、postsテーブルをbakeしただけの単純なものです。 https://github.com/ichikaway/CakePHP-PerformanceCheckSample この画面のように、ページング処理が入ったindexアクション…

AmazonLinuxがルートパーティションを8GBまでしか認識してない場合の拡張方法

AWSで新しくインスタンスを作った際に、RootDevice(ESB)に30Gほど割り当てたのですが、 AmazonLinuxが認識している/dev/sda1(/dev/xvda1)のディスクサイズが8Gしか認識していなかったので、それを30Gまで広げる方法。 ext4でやってみたのですが、たぶんext2…

現在のブランチ名をコマンド一発で入力する方法

gitを使うときは、bashrcからbash_completionを読み込んで、ブランチ名の補完などができるようにしているのですが、同じようなブランチ名が多くなったりすると、補完でもイライラするときがあって、 git pull origin hogeみたいにやる時に面倒だなと思うこと…

地球の歩き方みたいなRubyの本 「たのしい開発 スタートアップRuby」

たのしい開発 スタートアップRuby作者: 大場寧子,大場光一郎,五十嵐邦明,櫻井達生出版社/メーカー: 技術評論社発売日: 2012/07/31メディア: 単行本(ソフトカバー)購入: 3人 クリック: 140回この商品を含むブログ (15件) を見るRuby知らなくても楽しく読め…

[PHP] PHPのCopy on Writeを確認してみた

PHPはCopy on Writeという機能によって、変数をコピーしただけでは、実際にメモリ領域がコピー分確保されません。同じ領域を参照するだけです。 コピーした変数の値を書き換えた時に初めてコピーが行われます。この機能、変数に代入した場合、関数に渡した場…

[cakePHP] CakePHP2 のドキュメント翻訳大会を終えて

7/6,7に福岡と東京でCakePHP2用のCookBook翻訳を行いました。 福岡には9人、東京サテライトには3人、という形で一気に翻訳をやろうという企画。 結果 2日で、15プルリクエストを送っており、まだ翻訳途中のファイルが10個ぐらいあるので、そのうちそれらもマ…

PHPカンファレンス関西で発表してきました

発表資料です CakePHP最新情報 PHPカンファレンス関西2012 View more presentations from ichikaway 聞く人がCake知らない人もいるしという前提で作ってしまって、概要が多くなってしまいました。会場にいるほぼ99%の人がCake触ったことあって、8割ぐらいの…

facebookにPHP CGIの脆弱性を試してみたら面白い対策がされていた!!

PHPに新たな脆弱性が見つかって、CGIモードで動作するPHPの場合コマンドライン引数がHTTP経由で渡せてしまうため、-sオプションを渡すとPHPのソースコードが丸見えになるというのが話題になってます。(-sオプションはhtmlでシンタックスハイライトまでしてく…

CakePHP2.1.2と、2.2.0-Betaがリリースされました

もう2.2の足音が聞こえてきてますね。 「CakePHP 2.1.2 & 2.2.0-beta released」 http://bakery.cakephp.org/articles/markstory/2012/04/30/cakephp_2_1_2_2_2_0-beta_releasedCakePHP2.2では、2.0, 2.1とAPI互換のためそのままスムーズに移行できそうです…

これが開発者用Dropbox! Webアプリケーション向けリアルタイムストレージ Firebase

Firebaseというのが4/12にローンチされたようです。 http://www.firebase.com/ これは公開されているAPIとJavascriptライブラリを利用して、自分のサイトにリアルタイムストレージが手軽に組み込めるようになります。自分のWeb画面に必要なJavascriptライブ…

新世代Javascriptフレームワーク meteorがすごい!

偶然見つけたmeteorというjsフレームワークがなんだかすごい。 ※昔からあるCometのmeteorとは違います デモビデオを見て驚いたのが、DBを更新すると(直接MongoDBコマンドでInsertすると)全てのユーザ画面に自動的に反映できること。 ホットコードプッシュと…

CakePHPのshellでHtmlヘルパーを利用しURLを生成する

CakePHPのシェルでHtmlヘルパを使ってHtmlHelper::url()を呼び出して、URLを取得する方法です。 CakePHP1.3をベースに書いています(CakePHP2の場合はApp::uses()を使うなどすればいけると思います)。 H…

近況報告

しばらくの間、福岡に住みます。遊びにきてください。 月1回は東京に出張します。4月は4/18-22の予定。 #cake_beer Cake本 CakePHPのViewを中心に書いた本が発売されました! Cake2も扱っていて、Htmlコーダさんと仕事するときには必須の本じゃないかと。 中…

CakePHP勉強会 2012春 @東京で発表できませんでした!

CakePHP勉強会 2012春 @東京 〜ヤザマキ春のCake祭り〜 主催者&メインセッションの発表者だったのに、インフルエンザで欠席しました。 当日は@mon_satさんと@hiromi2424さんが私の発表資料をつかって即興プレゼンしてくれました。ありがとうございました!発…

フォーム入力画面と確認画面で共通で使えるXFormヘルパーをCakePHP2.0対応しました

Cake1用に作っていたXformヘルパーをCake2.0対応しました。(CakePHP2.1.1でも問題なく動きました) https://github.com/ichikaway/xformHelper/tree/2.0※現在、PHP5.2ではエラーがでますので、PHP5.3以上が動作条件になります(2012/4/18) Xformヘルパーは、…

cakeのエレメントをDB管理する(変数に入ったhtml/phpコードをincludeする)

いくつかのエレメントファイルがview/elements/foo/以下にあって、それをDBで更新することになりました。 ctpの内容をDBの1フィールドに入れて、表示は $this->element(foo/bar)の代わりに DBから取ってきたデータをecho($foo['Model']['bar']);すれば良いか…

CakeplusがCakePHP2に対応しました

CakePHPのプラグインでよく使いそうなものをまとめたCakeplusがCakePHP2に対応しました。 @k1LoWさんが全ての修正をしてくれたのでマージしただけ。ありがとうございます!2.0ブランチをご利用ください。 https://github.com/ichikaway/cakeplus/tree/2.0も…

CakePHP2 独自SQL文でPrepared Statementを使う

CakePHP1系では、 Model->query('select * from posts where id=?', array('hoge'));みたいにして擬似バインドできましたが、CakePHP2からは下記の方法でやるとPrepared StatementでSQLを発行してくれます。 // in controller $result = $this->Post->getDat…

CakePHP2のセキュリティコンポーネントでCSRF対策のみ行う

CakePHP1のセキュリティコンポーネントは、CSRF対策と、フォーム改竄対策がセットであるため、例えばjavascriptで動的にフォームなどを追加するとチェックに引っかかります。CakePHP2からは、CSRF対策とフォーム改竄対策がそれぞれオプションでOFFにできます…