Home

Shin x blog

第4回CakePHP勉強会@Tokyoが終了しました&発表資料

この記事の所要時間: 433

第4回CakePHP勉強会@Tokyoが無事に終了しました。


photo by iogi

私自身は司会やりつつLTもありつつで相変わらずバタバタしていましたが、東京でのCakePHP勉強会は久しぶりだっただけに盛り上がりましたね。

LTではApp::import()について発表しました。何気なく使っても動くのですが、少し内容をおさえておくとより便利に使えますよ:-D。

発表資料をアップしておきます。

10分で分かるApp::import()

View more presentations or Upload your own.

以下、つらつらとメモ書きです。

1. candycane

  • エバンジェリストで今回ももろもろお疲れ様なyandodさん
  • Cakeまんじゅうは意外と旨い
  • BTSの概要から、candycaneへ
  • アルファテスト開始!
  • いちおう名前は入れて貰ってますが、貢献はわずかですorz
  • pushします!

2. Ktai Library

  • MASA-Pさん
  • Ktai Libraryの概要
  • まずは衝撃の事実からw(頑張って下さい!)
  • 携帯は細かなケアが大変なので、ライブラリは嬉しい人が多いですね
  • 一つのビューで3キャリア対応
  • タイムリーなdocomo新機種仕様
  • さらに今後に期待ですね

3. 極めるroutes.php

  • akiyanさん
  • routes.phpの解説を具体例を交えて
  • paramsルーティング
  • 怖がらずにroutes.phpを使おう!
  • 丁寧な解説は勉強になった人も多いかと。
  • さらにPrefix Routingを使うとハマりポイントがあったりで楽しいですよw
  • ウチはホワイトリスト的に通過するURLは全て設定して、それ以外は404出すようにしてます

LT1. CakePHP1.3

  • cakephperさん
  • CakePHP1.3について
  • bakeでFixtureの項目は出るのに、まだ操作できないとか
  • 1.2 to 1.3なマイグレーションとか
  • deployとか
  • 今のところ、1.3は1.2の熟成バージョンな印象

LT2. phpUnderControl + CakePHP

  • miauさん
  • ツールも話し方もまさにLT!
  • ツールが知りたいです。。。
  • CakeでCIなアプローチをマジメにやっているのは面白いですね。
  • phpUnderControlは本当に触ってみたい
  • ただphpUnderControlはphpUnit前提なので、SimpleTestなCakeではXML変換など細工が必要
  • さらにノウハウが公開されるのに期待!

LT3. CakePHPにPEARのImage_Graphを入れてみた

  • s_yo_koさん
  • ImageGraphの紹介
  • 簡単にグラフ作成
  • 日本語もok
  • 一番苦労したのはPEARのインストールw
  • 最近、私はグラフはJavaScriptのライブラリ使ったりしてます

LT4. ビヘイビアの紹介と使い方

  • matsuuraさん
  • Sun Limited Mt.の中の人!
  • 便利なビヘイビアの紹介
  • $behaviorsは一度はやりますねー
  • メ○チを論理削除w
  • 野球ファンにはこれほど分かりやすい例は無いw
  • ビヘイビアはホントに便利!
  • 特に自作するとその便利さが実感できます

LT5. プラグイン三段活用

  • slywalkerさん
  • ここから第2部(懇親会)での発表
  • くだけた雰囲気で異様な盛り上がりw
  • とても東京発表デビューとは思えない落ち着いた発表&ネタw
  • 笑いだけでなく、内容もキッチリあるのがさすが。
  • プラグインを使いこなしているslywalkerさんならではの視点ですね
  • 修復しながら建築メソッドw
  • 来月(関西勉強会)もよろしくお願いしますー

LT6. 10分で分かるApp::import()

  • shin1x1
  • 突っ込んで頂いた皆さんありがとうございました!
  • 楽しかったです!
  • こんなにゆるく発表したのはさすがに初めてだったw
  • この雰囲気だと話しやすい人多いでしょうねー
  • 懇親会->勉強会とかも良いかも
  • 妙にハイテンションだったので、五月蠅く思われた方スミマセン。。。

懇親会

  • 色々とお話しました
  • 自社フレームワーク、とか
  • iPhoneアプリ、とか
  • 勉強会について、とか
  • 勉強会に遠征する、とか
  • インフル、とか
  • 皆さん盛り上がっている様子で嬉しかったり
  • 日本のイベントに海外から来てくれるのに、日本からほとんど行かないのはどうよ。
  • チケットでもTips書くでも何でももっと英語圏にも情報発信すべきでは?
  • ↑二つは耳が痛い。。。頑張らないと!

お疲れ様でした!

発表を詰め込んだので落ち着かない雰囲気でしたが、参加された皆さんが楽しんで頂けたのなら嬉しいです。(私は楽しかったです:-D)

発表者の皆さん、せっかくの発表なのにせかしてスミマセンでした。これは全く持って、自分の時間調整の問題なので、申し訳無かったです。

最後になりますが、会場・機材提供頂いたグリーさん、そしてサポート頂いたいちいさん、本当にありがとうございました!おかげで快適に会が運営できました。

参加された皆さん、発表者の皆さん、運営チームのみんな、本当にお疲れ様でした!!

勉強会を楽しむなら発表しよう!

この記事の所要時間: 59

せっかく勉強会に参加するなら発表してみましょう!という話です。


Photo by Kiryu Tsukimiya

演台に立って、プロジェクタに資料を写しながら発表をする。

勉強会に良くある発表の風景ですね。あなたもこの登場人物になってみませんか?

発表のメリット

勉強会で発表するとこんな良いことがあります。

1. より深くテーマを学ぶことができる

発表するとなると、内容を考え、資料を作るでしょう。となると発表内容について、調べ、考え、まとめるわけです。この過程でより深く学ぶことができるわけです。特に初めての発表なら、失敗したくはないでしょうから(失敗しても良いんですけどね)、必死のぱっちでやるでしょう。明確な目的を持った学習は効果が高いのはあなたも経験済みだと思います。

2. 勉強会への予習ができる

1.のおまけですが、そうやって勉強会のテーマについて少しでも学習して行くと、他の方の発表もより楽しむことができます。

3. 数十人(数百人?)が自分の話を聞いてくれる

もちろん緊張しまくるのですが、これって冷静に考えるとすごいことではないでしょうか。同じ興味を持った数十人(数百人)が自分の話をちゃんと聞いてくれるわけです。路上で弾き語りしても、この人数は簡単には集まらないでしょう。まして路上でCakePHPについて語り出したら、色んな意味で大変です。

4. 懇親会が楽しくなる

懇親会まで参加する人は基本そのテーマの話をしたい、聞きたいわけなんです。ただ知らない人同士だとなかなか話しづらいし、会話も弾まない。という時にまず共通のテーマになるのが勉強会の発表なんです。さらに発表した人のことは参加者は知っているので話しやすいわけです。

というわけで発表した人は懇親会でモテモテ、は言い過ぎでも、確実に話しかけられます。「発表良かったですよ」「あそこを教えて下さい」「blogとか書いてないんですか?」等々。自分から話すのが苦手な人はいっそのこと発表してしまえば良いんです。

5. 発表のフィードバックがある

勉強会以後にも楽しみがあります。参加者からの勉強会レポです。「良かった」「悪かった(これはあまり書かれないけど)」「ためになった」なども感想だけでも嬉しいですが、わりと具体的な内容に踏み込んだレポも多いです。間違っていたところがあれば指摘もして貰えるし、その人なりの意見が聞けたりもします。

勉強会から数日は「○○勉強会」をググりまくること請け合いです。

発表をためらう理由

どうでしょう、「発表してみようかな」という想いが芽生えてきましたか?

心の中に少なからず「発表してみたい」「あんな風に前に立って話してみたい」という想いがあるのに、なぜ発表することをためらうのでしょうか。

自分の経験から考えると、以下のような理由からではないでしょうか。

話すネタないよ。。。

例えばCakePHPの勉強会なら、普段から何かしらCakePHPに触れていればきっと話すネタはあります。発表する内容は、何も小難しいことや、斬新な切り口でなくても良いのです。あなたがCakePHPを触っていて、普段やっていること、感じていること、疑問、悩みを発表にしてしまえば良いのです。

「君の当たり前に僕らは感嘆させられるんだ」

人前で話すのが恥ずかしい。。。

全然大丈夫です。何が大丈夫だと言うと、緊張して、顔が真っ赤になって、汗が出て、かんで、頭が真っ白になって「普通」なんです。

もちろん仕事でも勉強会でも発表を見ているとプレゼン慣れされていて、とても上手い発表をされる方はいらっしゃいます。でもそういう方を良く観察してみると、実は緊張してたりするのです。発表中はそんな素振りはなくても、発表前はそわそわしてたり、顔色が悪かったりします。そんなスゴイ人でも緊張するのです。

緊張の度合いは人それぞれですが、上手い人が緊張するのですから、初めての人が緊張するのは当たり前のことです。

さらに「緊張している」ことは勉強会の発表では大した問題ではありません。聞いている側は緊張していることは分かりますが、そんな事は全く気にしません。「頑張れ!」「大丈夫!」と思っているだけです。そんなことよりあなたの話が聞きたいのです。

「君の話が聞きたいんだ」

人前で話すことなんか無いし。。。

本当に無いですか?数十人、数百人の前で話す機会は無くとも、数人の前で話すことなら、学校でも会社でもあるのではないでしょうか。自分の考えをまとめて、それを発表する、というのはこういったプレゼンテーションの場だけに限らず、打ち合わせや報告の場ではよくあることです。

何ならここで練習してしまえば良いのです。そして、その成果を本業で生かせば良いのです。

「うまく生かすどうかは君次第」

発表してみよう!

ここまで読んだあなたなら発表したくて、ウズウズしてきたんじゃないですか?

ご心配なく。5/22に第4回CakePHP勉強会@Tokyo、6/5に第2回CakePHP関西勉強会がありますよ。

どちらもLT枠がまだ空いてます。

CakePHPを触っている方ならきっと話すネタがあります。例えば、以下の内容なんかは話しやすいのではないでしょうか。

  • CakePHPとの出会い(前はSmarty使ってたけど。。。、Railsから、etc)
  • CakePHPで開発してみて(ここに詰まった、ここは便利!etc)
  • こうやってCakePHPで開発してる(まず画面を作って、DB設計して、bakeを使って、、、etc)
  • ○○とCakePHPを比べて(symfonyとかCodeIgniterとか、etc)

@東京で発表したい方は第4回CakePHP勉強会@Tokyoからyandoさんにメールを送ってみて下さい。

関西勉強会で発表したい方は、メール(shin1x1[at]gmail.com)でも、このblogのコメントでも、是非、手を挙げてみて下さい。お待ちしてます-。
(関西勉強会は、参加申込出来なかった方もLT発表されるなら参加できます!)

@see 懇親会を楽しむ5つの方法

CakePHP cache()はCache::write()に

この記事の所要時間: 230

CakePHPにはキャッシュを行う関数cache()があるのですが、1.2.2のソースを見るとdeprectatedになってました。

[cake/basics.php]

<?php
/**
 * Reads/writes temporary data to cache files or session.
 *
 * @param  string $path File path within /tmp to save the file.
 * @param  mixed  $data The data to save to the temporary file.
 * @param  mixed  $expires A valid strtotime string when the data expires.
 * @param  string $target  The target of the cached data; either 'cache' or 'public'.
 * @return mixed  The contents of the temporary file.
 * @deprecated Please use Cache::write() instead <---ココ
 */
        function cache($path, $data = null, $expires = '+1 day', $target = 'cache') {
?>

代わりにCache::write()を使えとのことなので、cache()とCache::write()との違いを見てみました。

1. キャッシュエンジンが選べる

これが一番の違いかと。

cache()ではキャッシュの保存先にはファイルしか選べません。おかげで単純な実装で分かり易いという利点もあるのですが、APCやmemcachedなどにキャッシュを保存できません。

Cache::write()では[app/config/core.php]で設定を行えば、APC/XCache/Memcacheと色々なキャッシュエンジンを選ぶことができます。特にMemcacheではサーバを分散させた時にキャッシュをサーバ間で共有できるので、これは良いです。

パフォーマンスもファイルよりAPC等の方が良いです。

2. 連想配列やオブジェクトがそのままキャッシュできる

cache()ではキャッシュの保存にfile_put_contents()を使っているので、連想配列やオブジェクトをキャッシュする際はserialize()が必要でした。(逆に取得したキャッシュを使うにはunserialize()が必要。)

Cache::write()では連想配列でもオブジェクトでもそのままキャッシュしてくれます。これもちょっとしたことですが、便利です。

3. キャッシュ有効期限が手軽に変更できなくなった

cache()では第3引数がキャッシュ有効期限となっているので、cache()の呼び出し毎にキャッシュ有効期限を設定することが簡単でした。

Cache::write()では引数でキャッシュ有効期限を渡すことができないようで、[app/config/core.php]等にCache::config()を使って、あらかじめ有効期限を設定しておく必要があります。

<?php
   Cache::config('default', array(
    'engine' => 'Apc', //[required]
    'duration'=> 10, //[optional] <----キャッシュ有効期間(秒)
    'probability'=> 100, //[optional]
      'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
  ));
   Cache::config('app', array(
    'engine' => 'Apc', //[required]
    'duration'=> 360, //[optional] <----キャッシュ有効期間(秒)
    'probability'=> 100, //[optional]
      'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every cache file with this string
  ));
?>

上記例なら’default’なら10秒、’app’なら360秒がキャッシュの有効期間となります。

ビューキャッシュはcache()のまま

キャッシュと言えばビューの出力をキャッシュするビューキャッシュがあるのですが、こちらは1.2.2でもキャッシュの保存にcache()を利用しています。つまり、キャッシュエンジンをAPC等に変更してもビューキャッシュだけはファイルに保存されます。

複数サーバでビューキャッシュを共有したい時はビューの出力をフックしてCache::write()でキャッシュするなど、一工夫が要りそうです。

deprecatedとするなら、まずフレームワークで実行するビューキャッシュCache::write()にすべきだとは思うのですが、これはいずれは実装されるのでしょう。

ウチの環境からtwitter.comに繋がらない件

この記事の所要時間: 26

久しぶりのTwitterネタ。

実は今年の2月頃からウチの環境からtwitter.comに接続できなくなりました。

「twitter.comが落ちてるからでしょ?」

という声が聞こえてきそうですが、そうで無い時も繋がりません。

pingは通るのですが、

$ ping twitter.com
PING twitter.com (128.121.146.100) 56(84) bytes of data.
64 bytes from 128.121.146.100: icmp_seq=0 ttl=128 time=143 ms
64 bytes from 128.121.146.100: icmp_seq=1 ttl=128 time=134 ms
64 bytes from 128.121.146.100: icmp_seq=2 ttl=128 time=141 ms
64 bytes from 128.121.146.100: icmp_seq=3 ttl=128 time=142 ms

80への接続ではレスポンスが返ってきません。。。

$ telnet twitter.com 80
Trying 128.121.146.100...
[CTRL + C]
telnet: connect to address 128.121.146.100: Connection timed out
telnet: Unable to connect to remote host: Connection timed out

ごく時々何かの気まぐれで繋がることはあるのですが、ほとんどの場合接続できません。

ところが同じPCからでもemobileだと問題無く繋がったりします。

で、この接続をしようとしているIPは実はTwitter検索のクローラーと同じIPだったりします。普通に考えればアク禁食らったという話ですね。

それまで1年半くらい見逃されていたのがラッキーだったという事でしょうか。

まあTwitterは検索に力を入れているようなので、そこらへんも何か関係あるのか、無いのか。(こちらのtwitter検索は問題無いようですが。APIは規制するけど、webはokとか?)

というわけでめっきりTwitterへのpostが減っているのはその辺の事情もあるという事で。

あと他のクローラを使ったサービスを運営されている方はくれぐれもご注意を!

第2回CakePHP関西勉強会を開催します

この記事の所要時間: 122

6/5(金)に第2回CakePHP関西勉強会を大阪で開催します。

■内容
CakePHPに関する発表(Tipsや事例紹介等)と質疑応答を行います。

■概要
日時: 2009年06月05日(金) 19:00~
会場: 扇町インキュベーションプラザ(メビック扇町)
URL: http://www.mebic.com/outline/
MAP: http://www.mebic.com/access/
費用: 200円~500円程度(会場・機材費を参加者で頭割り)
events.php.gr.jp – 第2回CakePHP関西勉強会

前回から半年近くご無沙汰ですが、ぎりぎり春の終わりくらいに開催となります。

今回も前回と同じスタイルで自己紹介、発表、LT、懇親会という流れです。

発表者には、Rails使いの方がいらっしゃったり、pluginな方がいらっしゃったりと、となかなか楽しみな内容になりそうです。(私も発表する予定です)

今回もLT枠があります。「オレ(わたし)に話させろ」な方も、「初めてだけどせっかくだし話してみたい」な方も、是非この機会に発表してみませんか?発表希望な方は、このblogのコメントでも、メール(shin1x1[at]gmail.com)でもお気軽にご連絡下さい。

なお参加にはevents.php.gr.jpにて申込が必要となります。申込開始は5/11 0:00からとなります。申込を受け付けています。

関西のbaker、PHPer同士交流を持てる良い機会ですので、是非ご参加下さい!

参加申込み

第2回CakePHP関西勉強会@大阪を6月に開催したい

この記事の所要時間: 028

第4回CakePHP勉強会@東京を5月に開催したい

毎月のようにいろいろなイベントをやっていて忘れがちですが、約半年ぶりのCakePHP関西勉強会を6/5か6/5に開催できればと思って相談を進めています。発表内容などもこれから調整していく段階です。

いまのところ出てきそうな内容としては、、、って何にも決まってません:-P

アイデアや発表希望がある方はお気軽にご連絡ください。

ネタッぽいですが、ホントにやります。いや、ホント。

枯れた技術の水平思考

この記事の所要時間: 122

今朝の日経で見た一言。

任天堂で様々なゲーム機開発に携われた横井軍平さんの言葉なのですが、日頃自分自身で感じていることを一言で上手く言い表している言葉でまさに我が意を得たりの気分でした。

Wikipediaを見ると横井さんは以下のような考えでおっしゃていたそうです。

「ゲーム作りは面白ければよく、ハイテクが必要なわけではない。むしろ高価なハイテクは商品開発の邪魔になる。そのためにごくありふれた技術を使い、それをまるで違う目的に使うことによってヒット商品というものは生まれるのではないか。」
横井軍平 – Wikipedia

Webシステム開発に於いてもとても示唆に富んでいる言葉だと思います。

開発者であるなら技術を追い求めるのは当然なのですが、技術だけが大事なのではないです。さらにいうとそれを使ったシステムだけが大事なのでもありません。

そのシステムを使うことによって得られる利益(金銭・業務・効率・体験・快感等々)が大事なのです。

「利益」から考える視点でいけば、実現(実装)の都合で「利益」を損なうような方法は取るべきでないことが分かります。もちろんリソースには限りがあるので、実際には実装の手間と利益を天秤にかけてジャッジすることになりますが、出発点としては「利益」を念頭に置くべきです。

つい忘れがちなので気に止めておきたいものです。

 

私自身が、最先端の技術を追いかけるというより、ありきたりの技術を上手く組み合わせて「利益」を提供したいタイプなので、特に共感しました。今後もこの方向でやっていきたいですね。

CakePHP勉強会@福岡に参加しました&発表資料

この記事の所要時間: 38

CakePHP勉強会@福岡に参加してきました。

最近は専ら仕事仕事でイベントに参加する余裕が無かったのですが、福岡開催かつCakePHP+PostgreSQLイベントということでむりくり時間を作って参加してきました。:-)

あとLTながら発表もちょろっとしてきましたので、資料を上げておきます。

以下、つらつらと。

1. CakePHPでPostgreSQLを使おう

  • 清末さん
  • 世のCake本は全部MySQL。PostgreSQLは?
  • PostgreSQLでセットアップ。
  • 落ち着いたプレゼンで勉強になります。
  • デモで問題発生!=> デモの保険は大事。
  • PostgreSQL勉強会@九州との合同開催なので、Cakeが発行したSQL文を解説。

2. cakeを焼い(bake)てみよう!

  • 藤田さん
  • bakeの手順を言葉で説明していくのは結構大変><
  • デモで問題発生2!=> デモの保険は大事2。

3. CakePHP+PostgreSQLでの失敗談と解決策?

  • 安元さん
  • 複雑な参照クエリをどう表現するか?
  • ViewTableを使う!=> 同じく:-D
  • SQLは積極的に使って良いと思う。ただしコントローラには書かない。モデルのメソッドに閉じ込めておく。
  • SQL分かる人はSQLを活用したいですよね。

4. 今こそプラグイン

  • 安藤さん
  • Paginate脆弱性の告知から
  • Component/Behavior/Helperの役割からPluginの立ち位置を説明
  • debug_kit:symfonyからインスパイアw。CakeInfoもここまでやるべきだったかなー。
  • api_generator:APIドキュメントを即席で作るプラグイン。これは良いなー。
  • 時間があるのでgit講習会
  • 画面を持てる拡張ならプラグイン
  • cakephp.orgでプラグイン公開できるようになるらしい

LT1. CakePHP Console Application 拡張Tips

  • k1LoWさん
  • bakeとi18nシェルの解説
  • デモで問題発生3!=> LTは時間との勝負。。。。
  • i18nはcakeコマンドを活用する場面ですね。

LT2. pgpool-IIとSlony-IでCakePHP

  • shin1x1
  • どう考えても5分では足りないネタ。
  • ガーと勢いで話しました。
  • いちおうミッションは達成できたのでヨシとします:-)

LT3. CakePHPをもっと便利

  • ichikawaさん
  • あのcakephperさんだ!
  • debug_kitネタが安藤さんとかぶる:-D
  • ExplainSqlComponentの機能がdebug_kitに加わると良いなー。

LT4. TDDひとりでできるもん

  • rytichさん
  • 実はTwitter関連で交流があったので楽しみでした。
  • テストネタは「実践本」にもありますよ:-D

懇親会

  • 炉端なお店で総勢30名がお鍋を囲んで。
  • 名刺をホテルに置き忘れる失態っぷり><
    名刺を下さった皆さんスミマセンでした。。。
  • 色々な話で盛り上がりました。
  • 懇親会エントリが良かったよーと言って頂けて嬉しかったり。
  • 福岡はノリが良い!やっぱ好きだ。
  • Cakeバッジは安藤さんから預かったので関西勉強会で配ります-。
  • 注目の象さんは熾烈なじゃんけん大会の結果rytichさんの手に!

2009年初参加のイベントだったのですが、やはり楽しいです。福岡のコミュニティはノリが良くて元気出ました。

参加された皆さん、発表・運営を行ったみなさん、本当にありがとうございました!

「CakePHPによる実践Webアプリケーション開発」が出ます

この記事の所要時間: 17

執筆に関わった「CakePHPによる実践Webアプリケーション開発」が今月末に発売されます。

私は「Chapter 4機能を拡張する」を担当しました。

本書全体では一つのシステムを構築していく流れを解説しているのですが、私の章ではそのシステムの拡張を通して、メインでは触れていないフレームワークの機能を解説しています。

「メール送信」「携帯対応」「CSV出力」といった現場ではよくある機能をいかにCakePHPの機能を使って実装するかについて書いてるので、実際の開発に取り入れやすい内容だと思います。活用して頂ければ嬉しいです。

ちなみに個人的には本書の目玉はChapter 3のユニットテスト解説だと思ってます。

フレームワークに即したユニットテスト解説がしっかりと書かれているのはCakePHPに限らずわりと珍しいように思います。しかも書かれているのが、CakePHPカンファレンスや勉強会でテストについて講演されているきしださんなのでこれは間違い無いです。

テストを書いた方が良いのは分かるけど、どう書けば良いか分からないという方には是非手に取って貰いたい本です。

もちろん安藤さんの導入も見逃せないところですよ:-D

というわけで発売までしばし時間がありますが、よろしくお願いします!

CakePHP勉強会@福岡に参加します

この記事の所要時間: 10

3/13(金)に福岡が行われるCakePHP勉強会@福岡に参加します。

■開催日時
2009年3月13日(金) 18:30〜

■会場
勉強会会場 : 福岡市NPO・ボランティア交流センター「あすみん」会議室
福岡市中央区大名2-6-46 福岡市立青年センター5F

http://www.fnvc.jp/access.html

CakePHP勉強会@福岡

今回は「PostgreSQL勉強会@九州」との合同開催だそうです。日頃からCakePHP(PHP)+PostgreSQLを使ってる自分にはど真ん中ストライクな内容なだけに嫌が応にも期待が高まります:-D

せっかくなのでLTで発表してきます。CakePHPからPostgreSQLとpgpool-II、Slony-Iを組み合わせたDB構成を利用する際のポイントを話そうと思ってます。(まあ5分なのでざっくりですが。。。)

まだ若干参加枠があるようなので、ご都合がつく方は参加してみてはいかがでしょうか。

参加申込はhttp://events.php.gr.jp/events/show/69からどうぞ。

Home

検索
フィード
メタ情報

Return to page top