【PHP】フレームワーク CakePHP 11ホール目【v1.3】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/02/16(水) 21:52:35ID:zCTGjUMqCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
0134nobodyさん
2011/02/23(水) 00:46:24.44ID:gK6lHkB0これもコントローラ名(URL)を複数形やテーブル名と同じにしなければいけないという
基本規約のせいなんです。
たとえば皆さんは会員登録もメンバーリスト参照も同じusersコントローラでするのですか?
http://hoge.com/users/register
http://hoge.com/users/view
のように
この場合、cakephpで作っているのがミエミエで攻撃されやすくなりません?
皆様のご意見も聞かせていただければ幸いです。
0135nobodyさん
2011/02/23(水) 01:09:41.82ID:???ふーむ、しょうがないのう。
> 1.
POSTに限りyes。モデルがどうなってるかは、コントローラーでdebug($this->data)とかして、
自分で見てみると良い。
あと、CakePHPでGETメソッドは上級者向けなのでなるべく使わないほうが良い。
> 2.
大体そんな感じ。このあたりは奥が深いので、
とても1レスで全てを伝えるのは無理、というか俺も把握しきれてない。
$this->Model->Model->save()はあまりしないな。
トリッキーな事をしてなければ、UsersコントローラーではUserモデルへのデータと、
アソシエーションで紐ついてるデータを保存するわけだからな。
$this->User->save()か$this->User->saveAll()で基本的には十分。
Userモデルに紐付く何かも、ViewをFormHelper使って無難に作っていれば、
$this->dataをsave()かsaveAll()すれば問題なく保存されるはず。
ただ、どういう場合にsave()かsaveAll()は俺もちょっと語れるほどじゃない。たまに試行錯誤する。
0136nobodyさん
2011/02/23(水) 01:20:15.27ID:???CakePHPではURLの見栄えはroutesで調節するのがセオリー。
ただ、これはちょっと難易度が高いのが難点。
ここでのやり取りから察するに、質問者はroutesにかなり時間をかけて取り組むことになるとは思う。
一応Cookbookはこのページだけど、なんかだらだらと書いてあって要点を得ない。
とても分かりにくい。が、しかたがない。
http://book.cakephp.org/ja/view/945/%E3%83%AB%E3%83%BC%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A
> 一般的な Router の他の使い方は、コントローラの別名(alias)を定義することです。通常の /users/someAction/5 という URL の代わりに、/cooks/someAction/5 でアクセスさせたいとしましょう。このようなルートの設定は、次のようにすることで簡単に実現できます。
> Router::connect(
'/cooks/:action/*', array('controller' => 'users', 'action' => 'index')
);
一応この方法でUserControllerのまま、URLを変える事が出来る。
ただ、これだと/cools/add みたいなのもUsersController->index()に行っちゃいそうな気がするけど・・・
Cookbookが間違ってるのか俺が間違ってるのか。面倒だから確認はしない。
0137nobodyさん
2011/02/23(水) 01:35:30.01ID:gK6lHkB0ありがとうございます!!!感謝感激です。
>>127の件は下記で解決できました!!!
echo $this->Form->create('Register');
echo $this->Form->input('User.email');←モデル名. をフィールド名の前へ追加
echo $this->Form->submit();
echo $this->Form->end();
>>134についてですが、皆さんは規約どおり
usersテーブルに関連するものであれば全てURLを
hoge.com/users/○○○○○
としてるのですか?
CakePHPで作ってるのを隠蔽したいのであれば、工夫などされていませんか?
0138nobodyさん
2011/02/23(水) 01:40:49.20ID:gK6lHkB0hoge.com/registers/と複数形になるのは諦めてますか?
それとも>>136さんが言うようにroutesで調整してます?
そうなれば、そもそもusersコントローラとregistersコントローラに分ける
必要はなくて最後にroutesで全て設定すればいいんでしょうか?
どういうやり方が標準なのか分からず、ごめんなさい。
0139nobodyさん
2011/02/23(水) 01:52:29.68ID:???0140nobodyさん
2011/02/23(水) 01:56:59.29ID:???そりゃたまにはコントローラーとモデルの規約に沿わない名前にすることもあるよ。
1モデルに大して2コントローラーなケースとか、その逆とかな。
ただ、それなりにCakePHPの中身を分かってるから出来るだけで、
初心者がURLに見栄え目的に規約に沿わない名前にすると、
今見たくトラブるだけさね。
CakePHPは規約に沿う事で色々と工数を省略できるようになってるわけで、なるべく沿ったほうが良い。
ただ、コントローラー名=URLだと困る事も想定はされる。
でも規約に沿わないとめんどくさくなる。
だからroutesで設定できるようになってるんだ。
別に規約に沿わなくても開発は出来るよ。
ただ、CakePHPの利点を使わないで作るから、めんどうになるし、
/register/addに遷移したいのに/users/addに遷移したりとトラブルになりやすいだけ。
FormHelperでいちいちModel.fieldにしないといけなくなったのも、規約に沿ってない弊害だな。
0141nobodyさん
2011/02/23(水) 02:06:04.37ID:gK6lHkB0懇切丁寧な解説ありがとうございます。
非常に説得力があります。
確かにこれではCakePHPのメリット(省略による開発速度)が損なわれてしまいますね
やはり、基本的には
関連するテーブルは一つのコントローラ、モデル、ビューに収めていく形式がいいのですね。
そうすると、一つのコントローラの中に多くメソッド(アクション)が入りすぎてゴチャゴチャになるという理由からもコントローラを二つにして、メソッドを分けようと思っていたのですが、そのやり方は一般的ではないんですね?
一つのコントローラ内にアクションが30個入るとか普通なのかなぁー(^_^;)
URLの見栄えの件はroutes設定で了解です。
ただ全てのコントローラ(URL)が複数形になっていますが、これを全部単数系にroutes内で弄っていくのが一般的なのでしょうか?
0142nobodyさん
2011/02/23(水) 02:06:45.51ID:???CakePHPは、元々CakePHPである特徴が多くて隠蔽しにくいフレームワークだからな。
そりゃなんのフレームワークを使っているか、隠せるなら隠したほうが良いけど、
手間対効果を考えれば、あまり気にするとこじゃないと思うんだけどな。
俺だったら、予算をくれるんならやらないこともないけどね。
予算が足りなきゃ、むりっすーって言ってつっぱねるだけだわ。
0143nobodyさん
2011/02/23(水) 02:14:02.29ID:???予算とかではないのですが海外で公開する予定なんで、
攻撃されまくりそうで怖いんですf^_^;)
Ruby on railsとかなら、こういうCakePHPの規約ならではの弊害みたいなの無いんですかねー?
0144nobodyさん
2011/02/23(水) 02:24:46.99ID:???どんなのを作ってるのか知らんからなんとも言えないとこではあるが、
1コントローラーに30アクションは多いかもね。
そんなにアクションが必要になるのを作った事が無いから、イメージわかないな。
むしろ何を作ろうとすればその数のアクションが必要になるのか、ちょっと興味があるな。
とりあえず単数形にしようと思ったことが無いからよく分からん。
複数形で別にいいじゃん。何か問題でもあるの?
それで機能しないわけでもあるまいし、意味不明なURLになるわけでもないし。
0145nobodyさん
2011/02/23(水) 02:59:23.91ID:???購入した初心者用の本の中では多用されてました。
単数系、複数形については
users/register(仮登録。ハッシュURL付きメール送信まで)
users/regcheck(仮登録後、ハッシュURLをクリックで本登録への動作)
users/list(メンバーリスト閲覧)
となるよりは
register
regcheck
list
となったほうが見た目もスッキリになるからです
0146nobodyさん
2011/02/23(水) 03:25:33.34ID:???一般的かと聞かれると、まぁなんとも言えないところはあるね。
俺自身、CakePHPの省略に悩まされる事もあったし。まぁ、好みにもよると思うよ。
例えば、UsersController で規約どおり UserModel がusesされてる場合。
/users/add.ctpにFormHelper->create()したら、
規約(これも規約って呼んで良いのかしらんが)によってcreate('User')と同じになる。
規約によってcreate()でもcreate('User')でも、
その時点で$this->Form->input('field')はinput('User.field')と同じ。
そこにアソシエーションで紐付いたUser以外のモデルのを書く場合は、input('Comment.field')と書かないならない。
これが前提として、省略はあくまで省略なので、逐一Model.fieldと書いてももちろん良い。
トラブルは避けやすいかもね。規約による楽さを捨ててるけど。
ただ、省略が出来る以上、ネット上の情報では省略されてることもあり、
規約に沿わない作り方をしてcreate()てかいて/register/addじゃなく/users/addに遷移して困るのは、
それはそれとしてって事かな。
0147nobodyさん
2011/02/23(水) 03:35:51.27ID:???まぁ、どうしても単数系にしたかったらroutesに沢山書くのがセオリーなんじゃないかな。
俺もCakePHPを完全に使いこなしてるわけじゃないから、他にも方法があるかしらんけど。
さっきも書いたけど、規約に沿うのを特に進めたのは、
質問のレベル的に、そこに手を出すのは早いんじゃないかと思ったのがあるからね。
流石に$this->dataを知らない風な質問をされたら、ね。
使いこなしてる人は色々と自分なりの使い方でやってると思うよ。
例えばコントローラじゃなくてモデルだけど、これの「4. アクション毎にModelを作る」とか
http://www.1x1.jp/blog/2010/12/thinking_abount_cakephp_mode.html
あとCakePHPの隠蔽について。後半はネタっぽいが。
http://d.hatena.ne.jp/k1LoW/20101202/1291262612
この2つはCakePHP Advent Calendar 2010でのだけど、
このイベントの記事はそこそこ良い記事ばかりだし一通り読んでみるのも良いかもね。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2510&forum=16
0148nobodyさん
2011/02/23(水) 09:43:30.81ID:???テンプレートと入れ替える方法どこかに載ってないでしょうか
0150nobodyさん
2011/02/23(水) 16:34:55.81ID:???0151nobodyさん
2011/02/23(水) 18:09:23.62ID:???こうするのも
{$test}
こうするのも一緒なんだけど、
後者の方がデザイナーとかには分かりやすいんじゃない?
0152nobodyさん
2011/02/23(水) 18:18:28.09ID:???囲い文字がどっちでも一緒だと思うけどね。
まぁ確かに<?php echoはちょっとめんどくさいけど。
でもSmartyはオワコン感が強いな俺の中で。
0153nobodyさん
2011/02/23(水) 21:46:12.22ID:???Smarty使わないって仕事でCakePHPを使ってない人ですよね?www
0154nobodyさん
2011/02/23(水) 22:15:58.50ID:???0155nobodyさん
2011/02/23(水) 23:02:33.16ID:???PHP自体が所謂テンプレート言語の類なのに、
その上にテンプレートエンジン構築してどうする
0156nobodyさん
2011/02/23(水) 23:19:25.45ID:???というのも繰り返し言われてきた
俺もテンプレートエンジン不要派だけど、必要だという人がいるのなら使うのもしょうがないんじゃないかなー
0157nobodyさん
2011/02/24(木) 13:43:09.42ID:???あとデザイナにPHPのコード壊されたりもしたから、基本いじらせたくないな。
0158nobodyさん
2011/02/24(木) 14:52:21.15ID:???今日日サーバーサイドに何らかのプログラムが絡む案件なんて珍しくないし、
phpに理解が無くても、HTML構造の特定のまとまりを崩さなければ、
phpコードを崩す事なんてそうそうないわけで。
それを崩しちゃう人って、
もうHTMLレベルで平気で閉じの無いタグを量産する可能性があるって事だろ。
webデザイナーとしてそれってどうなの?
0159nobodyさん
2011/02/24(木) 15:24:05.68ID:???cakeの場合はcakeの動きを知らなきゃviewを作るのは難しいと思うよ。
0160nobodyさん
2011/02/24(木) 17:03:24.16ID:???function verify($urlparam = null) {
$data = $this->Regurl->findAllByRandomUrl($urlparam);
if (!$data) {
$this->flash('Invalid URL!!','index');
}else{
if ($data[0]['User']['activated'] == 0) {
//print_r($this->data);
$this->User->id = $data[0]['Regurl']['user_id'];
$this->User->saveField('activated', 1);
$this->flash('Now activated!!','index');
}elseif($data[0]['User']['activated'] == 1){
$this->flash('Already activated!!','index');
}
}
}
コントローラUserから、外部モデルRegurlの中のrandom_urlフィールドと照合して、
一致するものがあればアソシエーション先のUserテーブルのactivatedフィールド(フラグ)を
1へ書きかえる処理です。
UserモデルではRegurlのuser_idに対しhasOneで、RegurlモデルではUserのidに対してbelongsToで
アソシエーションを設定してあります。
0161nobodyさん
2011/02/24(木) 18:06:12.76ID:???まあこの程度ならどっちでもいいって言えばどっちでもいいけど、
randomurlのチェックやらsaveFieldなんかの処理は
モデルに書くとすっきりすると思うのねん。
コントローラーは
if($this->User->checkRandomUrl()){
$this->User->activate();
$this->Session->setFlash('どったらこったら', true));
}else{
....
}
こんな感じで何やってるかわかりやすくなるっしょ。
0162nobodyさん
2011/02/24(木) 18:18:50.60ID:???0164nobodyさん
2011/02/24(木) 18:35:27.29ID:???ありがとうございます。
コントローラ内でするとしたら
どういう書き方がスマートになりますでしょうか?
0166nobodyさん
2011/02/24(木) 22:04:42.87ID:???1.3で、bootstrap.php内に
App::import('Vendor', 'ecw/Lib3gkCarrier');
$carrier = Lib3gkCarrier::get_instance();
if($carrier->is_ktai()) {
App::build(array(
'views' => array(ROOT . DS . APP_DIR . DS . 'views' . DS . 'm' . DS)
));
}
って記載したのですが、振り分け出来ないです。
他にすることってあるんですか?
0167nobodyさん
2011/02/24(木) 22:42:35.95ID:???モデルにコーディングするしたら、どのように書けばスマートかを、コントローラへの記述とのセットで見せていただければ幸いです。
初心者ながらに試行錯誤して最終的に出来たの結果が、あのコードでした。
経験豊富の方のコーディングの仕方を見てみたいです。
0168nobodyさん
2011/02/25(金) 03:38:33.94ID:???経験豊富じゃないけど、
ロジックはモデルに書けるならモデルに書くべきってだけなんだよね。
そのままモデルに持っていけば良いと思うんだ。
以下つっこみどころ豊富なコード。動かして無いから間違いはたぶんある。
UserModel extends AppModel{
function activate($url){
$data = $this->Regurl->findByRandomUrl($url);
if(empty($data))
return false;
if($data['User']['activated'])
return 'already';
$this->id = $data['User']['id'];
$this->saveField('activated', 1);
return 'activated';
}
}
SomeController extends AppController{
function index(){
if(!$result = $this->User->activate($this->data['url'])) {
$this->Session->setFlash('Invalid URL!!','index');
return;
if($result === 'activated'){
$this->Session->setFlash('Now activated!!','index');
return;
}
if($result === 'already'){
$this->Session->setFlash('Already activated!!','index');
}
}
}
0169nobodyさん
2011/02/25(金) 10:26:28.95ID:???---MODEL-------------------------------------------------------
Class RegurlModel extends AppModel{
var $name = 'Regurl';
function activate($url){
$data = $this->Regurl->findByRandomUrl($url);
if(empty($data)){
return false;
}
if($data['User']['activated']==1){
return 'already';
}else {
$this->id = $data['User']['id'];
$this->saveField('activated', 1);
return 'activated';
}
}
}
---CONTROLLER------------------------------------------------
Class UsersController extends AppController{
function index($this->data['url'] == null){
if(!$result = $this->User->activate($this->data['url'])) {
$this->Session->setFlash('Invalid URL!!','index');
}
elseif($result === 'activated'){
$this->Session->setFlash('Now activated!!','index');
}
else($result === 'already'){
$this->Session->setFlash('Already activated!!','index');
}
$this->Session->setFlash('Invalid URL!!','index');
}
0170nobodyさん
2011/02/25(金) 14:11:48.82ID:???これが気になったんだけど、何でこんな事してるの?
0171nobodyさん
2011/02/25(金) 14:30:13.42ID:???0172nobodyさん
2011/02/25(金) 14:47:53.68ID:???未入力がどうこう言う場合はValidationかけましょうや。
0173nobodyさん
2011/02/25(金) 14:57:37.07ID:???ああ、モデルに移したやつには余計だったね。
このコードが何のコードか、いまいちよく分かってなかったから、
そのまま書いちゃったよ
0174nobodyさん
2011/02/25(金) 15:21:25.48ID:???あれ?と思ったら>>168ではちゃんと消してるじゃないか。
>>169
コントローラーのアクションの引数を使って、パラメーターを受け取る方法もあるけど、
あんまり使わないんじゃないかな。
function index($this->data['url'] == null){
というか、これは動くの?メソッドの引数に$thisが入ってるなんて初めてみるんだけど。
なんかめんどくさくなってきたから、もうコントローラに書いたら良いんじゃないか?
何の実装かがわからないと、スマートになんてかけない気がしてきた。
beforeValidate()やbefore/afterSave()とか使ったほうがスマートになりそうな雰囲気あるけど、
詳細わからんとねぇ。
とりあえず引数に書くよりif(!empty($this->data['url']))しといたほうが良いんじゃないか。
0175nobodyさん
2011/02/25(金) 15:42:56.64ID:???function index(){
$url = isset($this->data['url']) ? $this->data['url'] : null;
にすればいいじゃないか。
0176nobodyさん
2011/02/25(金) 15:45:11.29ID:4/qlOsDP0177nobodyさん
2011/02/25(金) 16:24:48.62ID:4/qlOsDP0178nobodyさん
2011/02/25(金) 16:33:34.12ID:???0179nobodyさん
2011/02/25(金) 16:46:01.81ID:???そんなの、予算がなければNoだろ。
GAEは最初はもなにも、かなり依存するつもりじゃないとつかえねぇよ。
使ったら最後、追加予算無ければAmazon EC2への移行も出来ない。
0180nobodyさん
2011/02/25(金) 17:35:37.03ID:???0181nobodyさん
2011/02/26(土) 16:25:16.00ID:???それ定数にしろよwwwって場合が多いよ
0182nobodyさん
2011/02/26(土) 17:15:32.84ID:QnS5kZ07Cakeと比べてどうよ?
0183nobodyさん
2011/02/26(土) 17:45:41.68ID:???model の__cunstruct で ClassRegistry に登録されてるから
その情報を元に関数で一気にbeginとcommitをしてるんだけど、、いいのかな?
0184nobodyさん
2011/02/26(土) 22:12:17.89ID:???0185nobodyさん
2011/02/26(土) 22:57:00.84ID:???嘘ついてんなよw
0186nobodyさん
2011/02/27(日) 00:25:16.65ID:???0187nobodyさん
2011/02/27(日) 14:26:52.35ID:???0188nobodyさん
2011/02/27(日) 15:12:11.70ID:n/cFKC+5タグとか
0190nobodyさん
2011/02/27(日) 15:55:26.24ID:???ユーザーが投稿した何かにつけるタグとか、
ユーザーがグループに所属するとか、
そういうのだろ。
0191nobodyさん
2011/02/27(日) 16:01:26.01ID:???ユーザーがグループに所属するは
分かりやすい
ユーザーテーブルから
中間テーブルをまたいで
向こうの所属しているグループのレコードを絞り込んでグループ名一覧とかを表示するとき
とかに使うってこと?
0192nobodyさん
2011/02/27(日) 17:31:22.17ID:???実は単に1ユーザーが所属できるのが1グループだったら、HABTMじゃなくても良い。
1ユーザーが複数のグループに所属できるようにする場合、HABTMになる。
絞込みをしたいからHABTMというのはちょっと変で、hasManyだって絞込みする。
HABTMはhasAndBelongsToManyと書くとおり、多対多の関係を作るためにある。
確か、第4正規形だったかな?
0193nobodyさん
2011/02/27(日) 17:35:40.03ID:???例えば下記の3つのテーブルがあったとして
users
user_groups
groups
usersのコントローラで特定のユーザーが
所属している全てのグループを表示する
時とかにHABTMは使うんじゃないの?
0194nobodyさん
2011/02/27(日) 17:46:10.12ID:???その構成を扱うなら基本HABTMだろ。
多対多だからな。
まぁ細かい事を言えば、そのテーブル構成でも複雑な事をしようとすると、
HABTMじゃ力不足な場面はあるが。
0196nobodyさん
2011/02/27(日) 18:28:28.88ID:???インターフェースやデザインの部分だけにしか携わらないパートナーがいる。
(コーディング関係一切しない)
そのパートナーとの取り分は
何対何くらいが妥当?
こっちはアルゴリズムから詳細設計まで全て受け持ってるんだが
0197nobodyさん
2011/02/27(日) 18:29:56.01ID:???0198nobodyさん
2011/02/27(日) 18:31:26.94ID:???連動するところとか論理的思考とか
必要ないしw
0199nobodyさん
2011/02/27(日) 19:29:47.30ID:???さっきのテーブル構成で行くと、user_groupsテーブルにはこの3つのカラムしか、
実質作る事ができない。
id,
user_id
group_id
createdとかmodifiedを作っても、関係テーブルに限り
日時は書き込まれないし、書き込んだとしても消える事になる。
例えば、ユーザーAが既にaとb2つのグループに所属しているとして
3つ目のcに所属するための処理をすると、
一旦ユーザーAの関係テーブル上からユーザーAがaとbに所属というデータを削除し、
改めてユーザーAがaとbとcに所属というデータを書き込む。
という動きをする。
なので複雑な事は例えば、関係テーブルに何か他のデータを合わせて置く。などだな
0200nobodyさん
2011/02/27(日) 19:32:45.15ID:???0201nobodyさん
2011/02/27(日) 19:35:45.60ID:???設計からプログラミング、デザインとhtmlコーディングを全部やることがあるけど、
気楽さでいえば、俺はデザインよりプログラミングの方が楽だな。
もちろん工数見積はプログラミング>デザインだけど。
ただ、その時のデザインは、無難に整って見れればおkってやつだけどね。
何つくろうってのかしらんけど、
web系って基本はDBに書いて取って調節して出力だし、
あんまアルゴリズムとかいらなくないか?
そんなむずかしい事をするわけでも無い気がする。
やることが全然違うし、単純に比較できるものじゃないと思うけどね。
0202nobodyさん
2011/02/27(日) 20:15:04.52ID:???「綺麗なデザインは?」「使いやすいデザインは?」「格好いいデザインは?」
これらに答えを出せますか?
しかし、「会員登録する機能を作る」「メールを送信する機能を作る」
これらに答えは出せますよね。
果たしてどちらが”気軽”なんでしょうかね。
0203nobodyさん
2011/02/27(日) 20:17:11.08ID:???0204nobodyさん
2011/02/27(日) 21:02:31.40ID:???お前バカだな
コーディング部分を担当だと
最終的に機能条件を100%満たせる。
けれどデザインったら、世界レベルから
html最近覚えましたレベルでも一応完成させることが出来る。
君は後者のヘナチョコデザイナーにも
100%機能要求を満たせたプログラマーと同じ対価を与える訳?
0205nobodyさん
2011/02/27(日) 21:48:04.01ID:???使えないの?
0206nobodyさん
2011/02/27(日) 22:07:01.59ID:???自分でもわかってるじゃん。デザインに答えがないって。
答えがないもの・判断が付かない物に対して比較するのがそもそもの間違い。
で、君みたいな凄腕プログラマーは当然パートナーにも
凄いデザイナーがいるわけだよね?ヘナチョコとなんてやらないよね。
だったら、凄いデザイナーさんの方がもっと貰うべきだよね。
0208nobodyさん
2011/02/27(日) 22:09:46.67ID:???>君は後者のヘナチョコデザイナーにも
>100%機能要求を満たせたプログラマーと同じ対価を与える訳?
僕はヘナチョコデザイナーを雇わないからね。
僕より出来るデザイナーに僕より多くの金額を与えるよね。当然だろ?
0209nobodyさん
2011/02/27(日) 22:11:05.21ID:???良い素材でも美味しくないと誰も食べてくれないし、
いくら料理の腕があっても素材が悪いと美味しくないよね。
それぐらい僕も分かってるけど、君も当然分かるよね?w
0213nobodyさん
2011/02/27(日) 23:53:36.80ID:???ん?俺はそこでいうuser_groupsにいろいろ情報持たせてるよ。
消すか消さないかは書き込む時に指定できるし。
0214nobodyさん
2011/02/27(日) 23:57:16.61ID:???どっちがどっちにも踏み込めない物しか出来上がってこない。まさに日本のIT物作りw
0215nobodyさん
2011/02/28(月) 00:13:32.34ID:???埋め込み型の変なJavaScript(当然全部グローバル空間)とかは多いなw
その辺イケてるデザイナ・コーダに知り合いが少ないのが自分の問題だが
中途半端にそっちの方も審美眼というか基準を持ってしまうと、ストレス溜まる
0216nobodyさん
2011/02/28(月) 00:38:48.14ID:???自分が出来ない事を他人が出来て、それに対する対価が半分。
これって普通の考えだと思うけど、どうして196はファビョってるの?
0217nobodyさん
2011/02/28(月) 00:43:03.85ID:???196が例えば5対5が妥当と考えるなら、5以上を要求してきたら断ればいい。
何を悩んでいるのやら。
0218nobodyさん
2011/02/28(月) 01:07:13.20ID:???指定っていうとどういう方法で?
CakePHPのアソシエーションとしてのHABTMを、
UserモデルとGroupモデルにちゃんと設定した上で、
save()すると消えると思うけど。
0219nobodyさん
2011/02/28(月) 01:10:50.38ID:???案件受注してデザインを外注に出す時、
どう考えても半分なんて出さないけどな。
実際、デザインにそんだけの仕事量は無いし。
0220nobodyさん
2011/02/28(月) 02:48:20.38ID:???0222nobodyさん
2011/02/28(月) 02:58:15.97ID:???0225nobodyさん
2011/02/28(月) 09:45:52.73ID:???0226nobodyさん
2011/02/28(月) 11:35:46.82ID:???>>224
プログラマならデザインが出来るとか、その逆だとかじゃないと思う。
プログラマは基本的にデザインは出来ないものだし、
デザイナはプログラムは書けないものだろ。
Wordpressのテンプレート関数をちょっといじってphp書けますなんてのは、
プログラミングのうちに入らないんだ。
でも、プログラマがちょっと頑張ったデザインだって、
デザイナから見れば及第点以下だと思うぞ。
両方出来る人も少しはいるけど、それはプログラマでありデザイナなんだよ。
0227nobodyさん
2011/02/28(月) 13:23:40.85ID:???0228nobodyさん
2011/02/28(月) 15:02:46.16ID:???0229nobodyさん
2011/02/28(月) 15:06:20.94ID:???0230nobodyさん
2011/02/28(月) 15:53:25.77ID:???0231nobodyさん
2011/02/28(月) 15:58:33.37ID:???0232nobodyさん
2011/02/28(月) 16:10:22.45ID:???デザイナーにレイアウトや配色教えている俺は何なんだ・・・
どっちも出来る奴って珍しくないと思うけどな。
逆に出来ないとSOHOや個人事業として成り立たないでしょ。
0233nobodyさん
2011/02/28(月) 16:43:04.55ID:???> デザイナーにレイアウトや配色教えている俺は何なんだ・・・
ヒント:最後の行
プログラマやデザイナがみんなSOHOや個人事業でやってるわけじゃないと思うぞ。
俺の観測範囲で言えば、
デザインが出来ないフリーランスのプログラマや、
その逆のデザイナが多いな。
俺はデザイナからプログラミングやコーディングの仕事をもらい、
逆にデザイナーにデザインを依頼してる。
同じようなフリーランスのプログラマも、
やっぱり一緒になってやってるデザイナーとかいるよ。
■ このスレッドは過去ログ倉庫に格納されています