[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/18 06:00 / Filesize : 225 KB / Number-of Response : 899
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 16ホール目【v2.4】



1 名前:nobodyさん [2013/09/09(月) 01:56:10.19 ID:m9OPw/HT]
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです

■本家
www.cakephp.org/
APIドキュメント
api.cakephp.org/
github - cakephp
github.com/cakephp
the Bakery
bakery.cakephp.org/
Issue
cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf

■日本語公式
cakephp.jp/
フォーラム
cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] book.cakephp.org/2.0/ja/index.html
[1.3] book.cakephp.org/ja

kohada.2ch.net/test/read.cgi/php/1354593996/l50

627 名前:nobodyさん mailto:sage [2013/12/06(金) 19:30:44.10 ID:???]
>>624
「METAタグ挿入したいんだけどどうしたらいい?」
「CSSやJavascriptは?インラインで書きたい時もあるんだけど」
「titleタグもページごとに変更したいんだよね」
「そうそう、パンくずリストはどうするの?」

え〜まだまだ続ける?これら全てCakeの機能で実現できるけど、
Cakeを知らない人は出来ないよね。その前にPHPか。
デザインもプログラムも出来る人なら問題ないかもね。

628 名前:nobodyさん mailto:sage [2013/12/06(金) 19:57:56.87 ID:???]
デザイナにプログラム知識を要求するのは、プログラマの怠慢だと思うな。

629 名前:nobodyさん mailto:sage [2013/12/06(金) 23:30:47.19 ID:???]
プログラムを使ってでしか出来ないものを
やろうとするのが根本的な問題。

だから「お前には無理」で終わればいい。

630 名前:nobodyさん mailto:sage [2013/12/07(土) 02:09:10.25 ID:???]
>>628
プログラマーってのは、デザイナーのために仕事してんじゃねーんだよ。

631 名前:nobodyさん mailto:sage [2013/12/07(土) 03:04:09.81 ID:???]
>>630
それ、逆も言えるよね

632 名前:nobodyさん mailto:sage [2013/12/07(土) 03:05:33.58 ID:???]
仲良くしよう。
できるプログラマーは、デザイナーの事を考えて作る。
できるデザイナーは、プログラマーの事を考えてデザインする。

そう思うんだよね。

633 名前:nobodyさん mailto:sage [2013/12/07(土) 03:16:42.52 ID:???]
どちらも、ユーザーや客やクライアントのことを考えて仕事するべきだろ。
で、自分の領域の仕事をこなす上で必要な知識は身に付けていかないとダメだと思うんよ。

634 名前:nobodyさん mailto:sage [2013/12/07(土) 03:21:24.80 ID:???]
2ちゃんでは正論は伸びない

635 名前:nobodyさん mailto:sage [2013/12/07(土) 07:23:32.80 ID:???]
何の話かよくわからんが
かわいいデザイナーの娘と仕事がしたい



636 名前:nobodyさん mailto:sage [2013/12/07(土) 10:04:31.60 ID:???]
2.3なんだけど、shellのコマンドを実行すると、modelが見つからないとエラーが出ます。
これがいつもじゃなくて、時々起こります。
なんでだろ〜?

637 名前:nobodyさん mailto:sage [2013/12/07(土) 10:09:45.65 ID:???]
CakePHPのビューで読み込むJavaScriptのテストがしたい
ビューのテストはどうやればいいの?調べてもヘルパーのテスト方法しか出て来ない

638 名前:nobodyさん mailto:sage [2013/12/07(土) 10:30:48.05 ID:???]
>>635
まったくだな

639 名前:nobodyさん mailto:sage [2013/12/07(土) 12:21:40.57 ID:???]
なんかデザイナとプログラマを同列に考えてる人多いけど、デザイナのほうが上位だからな。
デザイナー様に無理難題ふっかけるなよ。

640 名前:nobodyさん mailto:sage [2013/12/07(土) 12:30:01.21 ID:???]
>>627
Cakeってそんなに使えないレイアウトのViewしかないんだっけ?

641 名前:nobodyさん mailto:sage [2013/12/07(土) 14:55:19.27 ID:???]
>>635
かわいいけど、HTMLとCSSもおぼつかないイラレ使いのデザイナーとなら、仕事したことある。

642 名前:nobodyさん mailto:sage [2013/12/07(土) 14:58:21.59 ID:???]
>>637
JavaScriptはJavaScriptとしてテストしたらええやん。
画面としてテストしたいならせれにうむを使うやん。

643 名前:nobodyさん mailto:sage [2013/12/07(土) 15:06:54.00 ID:???]
>>642
別にそれでもいいんだけど、テスト用のHTMLやJSはCake内のどこに置くのが定番なん?

644 名前:nobodyさん mailto:sage [2013/12/07(土) 16:41:30.86 ID:???]
>>640
使える・使えないの問題じゃなくて、
Cakeの仕様をデザイナーにも覚えさせるのか?
ってことだと思うが。

645 名前:nobodyさん mailto:sage [2013/12/08(日) 01:28:28.09 ID:???]
【質問】
PHPUnitでHttpヘッダーのステータスコードをチェックするテストコードを書きたいが、
わからない。

【調べたこと】
公式で$this->headersにデータが入っているようなことが書いてあるが、取得できない。
・テストコード
$this->testAction( '/hoge.json', $request ); // 内部でステータスコードを変更するコードを出力
$this->headers // array() が出力される

・エラーコード発生場所(HogeController.php)
$this->response->type( 'json' );
$this->response->statusCode( 400 );
$this->response->body( json_encode( $body ) );
$this->response->send();
$this->_stop();

【前提】
RESTfulなコードを書いている。エラーはステータスコードを4XXや5XXなどとして、
コーディングしたい。

【環境】
CakePHP2.3



646 名前:nobodyさん mailto:sage [2013/12/08(日) 17:12:58.59 ID:???]
HTTPレスポンスヘッダを持ってるのはCakeResponseな

$this->response->header(); //全取得
$this->response->header('Server'); //Serverの値取得
$this->response->header('Server', 'foo server'); //Server: foo serverをセット

647 名前:nobodyさん mailto:sage [2013/12/08(日) 17:17:32.39 ID:???]
$thisの意味わかってんのか心配になるな・・・いやまさか

648 名前:645 mailto:sage [2013/12/08(日) 20:13:36.09 ID:???]
レスありがとうございます。

>>646
CakeResponseの値を確認する場合は、
テストコード上ではHogeControllerのインスタンスはどのように持たせればよいでしょうか?

$this->testAction( '/hoge.json', $request ); 
$this->Hoge->response->header();

ModelでのテストではClassRegistry等を使ってsetupで
テスト側にインスタンスの持たせるかと思いますが、
Controllerのテストではどのようにインスタンスを持たせるのでしょうか?

649 名前:nobodyさん mailto:sage [2013/12/08(日) 20:20:56.25 ID:???]
>>648
ID出せよ

650 名前:nobodyさん mailto:sage [2013/12/08(日) 22:01:22.39 ID:???]
テストってのはさ、どんなものでもテストしてやるぞ!って
意気込みで望むものではなくてさ、
テストがしにくいものを無くすぞって考えてやるべき。

テストしにくい所のコードをついばんでいって、
テストしやすい形に抜き取っていって、
最終的にどうしてもテストしにくい部分だけ最小限にして残す。

テストしにくいと思ったら、そのままのコードで残したらダメだよ。
そのままのコードでテストするなんて愚の骨頂。

651 名前:nobodyさん mailto:sage [2013/12/08(日) 22:31:39.34 ID:???]
>>650
いい事言ってだんろうけど、わかりにくい。わかりやすくお願いします!

652 名前:nobodyさん mailto:sage [2013/12/08(日) 22:32:26.91 ID:???]
あーわかった。
ようは、テストもできねーようなコード書くなということか。

653 名前:nobodyさん mailto:sage [2013/12/08(日) 22:43:19.55 ID:???]
テストできるぐらいの役割に分割しないとね

654 名前:nobodyさん mailto:sage [2013/12/08(日) 23:02:00.09 ID:???]
テストがしにくいコードってのはあるし、
テストをする意味が無いコードもあるんだよ。

一連の処理の中から冗長なコードを取り除いていくと
最終的にはコードというより定義に近くなる。

PHPのスレだからまあ、WordPressのは例を出すと、
wp_config.php これは一応PHPのコードだろ?
だけどこれをテストする意味が俺にはわからない。

設定ファイルでもない限りここまで定義のみに
できることはないけどそれでもテストする意味あるのか?って
思えるほど減らすことは出来るよ。

テストは後付で加えるものじゃない。
テストが出来るようにコードを書いていくんだ。
テストがしにくいと感じたら、テストを書く技術を磨く前に
テストがしやすいコードを書く開発技術を身につけるんだ。

655 名前:nobodyさん mailto:sage [2013/12/08(日) 23:13:20.11 ID:???]
>>645なんてそういうことだよ。

> 【質問】
> PHPUnitでHttpヘッダーのステータスコードをチェックするテストコードを書きたいが、
> わからない。

> $this->response->statusCode( 400 );
って書けば、当然HTTPヘッダのステータスコードは400だろ?

「400という数値を与えれば、それがHTTPヘッダーになる」というテストは必要だよ?
でもそれはCakePHPが開発元がやってるテスト。
400を与えれば当然HTTPステータスは400だし、404って書いていれば当然404だろ?
これ、ただの定義じゃないか。そんなのテストする意味が無い。

ではなくて、本当にテストするべきなのは400になる原因の方だよ。
なんかのデータを引数にしてなんかの処理をやったらエラーになるんだろ?
それをテストするべき。

そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。



656 名前:645 mailto:sage [2013/12/08(日) 23:53:33.88 ID:???]
>>655
(釈迦に説法ではありますが)RESTfulな設計思想で、エラーを発生させた場合にはエラーメッセージと共に
200以外のHttpステタースコードを投げるのは、異論はないと思います。

論点としては、「RESTful」な設計だとしても
エラーを発生させるような処理を確認するテストの場合に、
エラー発生を「HTTP status code等」でテスト結果を確認すべきか否か?
というところを言いたいのだと思いますが、、、、ここは議論の余地があるかと思います。

> そのエラーを最終的に400としてクライアントに伝えるというのはただの定義でしかない。
現状、クライアント側の実装でも、
「ステータスコードを見て処理を振り分ける」処理があるため、
テストをやっておいた方がいいのではないかと思った次第です。

>>648 についてですが、
testActionなどの後では、$this->controller でインスタンスに
触れるようですが、、、 responseの内容は相変わらず取得できません。

657 名前:nobodyさん mailto:sage [2013/12/09(月) 00:29:29.65 ID:???]
>>656
やらないよりはやったほうがいいけど、意味が少ないというだけ。
そして、費用対効果まで考えるとそこまでやる意味ないんじゃないってこと。

なぜなら400を返すまでのコードが正しければ絶対400返るでしょ?一回確認すれば十分じゃない?
その400を返すコードは400を返すという仕様そのものが変わらない限りもう変えることはないでしょ?
それよりも複雑なのは400を返すまでの仮定であってその仮定が正しければ400返すでしょ?

そういう難しくもなく安定したコードのために、どうやってテストをすればー
なんて言うのなら、やっても時間がかかるだけで効果が無いと思うよ。

> 現状、クライアント側の実装でも、
> 「ステータスコードを見て処理を振り分ける」処理があるため、
もしかしてサーバーとクライアント一緒にしてテストしてない?
サーバー側の実装がどうであれ、400が返って来た場合のテストをすればいい。
だから400を返すだけのアプリ(モック)を使えばいい。
もっと言えば、クライアントだけで400が返って来たかのようにエミュレートさせれば
クライアントだけでテストできる。

どんなものでもテストしてやるぞ。ではなくアプリに手を加えてテストが簡単にできる
ようにするというのはこういう話。

658 名前:645 mailto:sage [2013/12/09(月) 01:07:18.47 ID:???]
>>657
引き続き、お付き合いいただきありがとうございます。
全体的なテストの思想、手法のお話しについては概ね同意いたします。
(クライアント側はSinon等を使っており、おっしゃるようなテストを書いております)

ご教示いただいている、お話しについては
「○○のようなテストはやるべきか、やらないべきか?」という形に収束しつつありますので、
スレに添う、単純なCakePHPの
「○○の実装の方法は?」というような部分について引き続き、お知恵をお借りできれば幸いです。

659 名前:nobodyさん mailto:sage [2013/12/09(月) 01:10:16.11 ID:???]
>>658
無駄な努力を頑張れやw

660 名前:nobodyさん mailto:sage [2013/12/09(月) 01:43:48.55 ID:???]
api.cakephp.org/2.3/source-class-ControllerTestCase.html#195-287
わざわざ$this->headersに入れてるし、普通ならちゃんと入ってるものっぽい気がする。
でも入ってないって言うなら、testAction()からvar_dump()仕込んでって追いかけるしかないんじゃね?

661 名前:645 mailto:sage [2013/12/09(月) 01:53:31.21 ID:???]
自己解決しました。
ありがとうございました。

先の例では、
$this->testActionのあとに
$this->assertEqual( 400, $this->controller->response->statusCode() );
$this->assertEqual( "something", $this->controller->response->body() );
$this->assertEqual( "json" $this->controller->response->type() );
のような形で対応できました。

お騒がせしてすみません。

662 名前:645 mailto:sage [2013/12/09(月) 01:55:29.19 ID:???]
>>660

こちらの例では。
$this->headersはarray()になっており、
$this->controller->header() はNULLになっていました。

663 名前:nobodyさん mailto:sage [2013/12/09(月) 11:11:00.28 ID:???]
>>662
$this->controller->header() なんてのCakePHPに無いぞ?
そのリンク先にもそんなコードはないし、そもそもCakePHP本体のコードだし・・・

664 名前:nobodyさん mailto:sage [2013/12/09(月) 11:48:24.86 ID:???]
クラス名も書かず$this $thisって・・・メソッドで判断できるからまあいいけど
問題にしてるクラスが何かってことくらい明確に書いたほうが回答者が質問の意図わかりやすいと思うの

あとRESTfulかどうかってステータスコードの扱いと何か直接的な関係あるの?
ステータスコードを適切に設計するのはREST以前の問題でしょうに

665 名前:nobodyさん mailto:sage [2013/12/09(月) 12:09:57.41 ID:???]
チラ見しただけだけど
確かに>>660の言うとおりControllerTestCaseクラスの_testActionメソッドを見る限りは
ちゃんと$headersプロパティにレスポンスヘッダの情報が入るようにみえるね

その前の条件分岐によっては入らないケースがあるのかな?



666 名前:nobodyさん mailto:sage [2013/12/10(火) 18:08:28.36 ID:???]
PDOでCake風に使えるライブラリを書こうとしたけど、面倒で止めた

667 名前:nobodyさん mailto:sage [2013/12/10(火) 18:16:34.35 ID:???]
>>666
cakeを使おうと思わないのは何故なんだろう?

668 名前:nobodyさん mailto:sage [2013/12/10(火) 21:50:48.63 ID:???]
>>667
Cakeだと規模が大きくなりすぎるし、ファイル数も多い。
それに既に運用しているサイトだと、
Cake使わないほうが静的ファイルとの共存がしやすい。

669 名前:nobodyさん mailto:sage [2013/12/10(火) 22:48:38.38 ID:???]
俺、人の作ったcakephpとか触ったことないんだけど、みんなは、DB設計とかめちゃくちゃでも我慢してその上からコードを編集するの?

670 名前:nobodyさん mailto:sage [2013/12/11(水) 00:30:44.85 ID:???]
DB設計?モデルのことか?
プラグインなんか使う時は自分のやり方と違うから戸惑うけど、
気にせずに編集していくな。

671 名前:nobodyさん mailto:sage [2013/12/11(水) 10:49:31.96 ID:???]
引き継ぎ案件の話なんか?

672 名前:nobodyさん mailto:sage [2013/12/11(水) 16:23:21.68 ID:???]
DBの命名規則がよくわかりません。
例えばユーザテーブルを「users」という名前でつけたとして、
ユーザが所持しているアイテムを管理するテーブルを作りたいとします。
そういう場合は

user_items
users_items

どっちの名前が適切なんでしょうか?

673 名前:nobodyさん mailto:sage [2013/12/11(水) 16:53:19.79 ID:???]
>>672
ただの items

でitemsテーブルの中にuser_id

674 名前:nobodyさん mailto:sage [2013/12/11(水) 17:43:03.38 ID:???]
>>673
なるほど。
関連するテーブル名を連結させる必要はないんですね。
ありがとうございました。

675 名前:nobodyさん mailto:sage [2013/12/11(水) 19:34:39.55 ID:???]
接頭辞として使う場合もあるよ。
その際は、user_itemsが正しい名前になる。



676 名前:nobodyさん mailto:sage [2013/12/11(水) 20:01:39.21 ID:???]
>>671
引き継ぎ案件。
自分で昔作ったサイトとかもリニューアルする時、DBが複雑になってる時があって構造を直すんだけど相当手間だし、バグの原因になる。

こういう場合はみんなは
そのまま使うか、構造を変えるかどっち?

677 名前:nobodyさん mailto:sage [2013/12/11(水) 20:35:59.75 ID:???]
引き継ぎで、その後のメンテナンスの必要性が明確じゃない時は
なるべくそのままにしておく。

長期間の保守契約も含めた場合は話は別。

自分のサイトなら極限まで自分の好きにする。
じゃなきゃ自分でやる意味なくない?

678 名前:nobodyさん mailto:sage [2013/12/11(水) 21:44:14.31 ID:???]
>>677
ありがとう!

679 名前:nobodyさん mailto:sage [2013/12/11(水) 23:56:50.75 ID:???]
どういたしまして

680 名前:nobodyさん mailto:sage [2013/12/12(木) 01:28:30.30 ID:???]
>>679
誰だよお前w

681 名前:nobodyさん mailto:sage [2013/12/12(木) 01:30:43.56 ID:???]
>>680
俺だよ! 誰なのかあててみ!

682 名前:nobodyさん mailto:sage [2013/12/12(木) 03:41:11.74 ID:???]
>>681
俺かよ!マジかよ!ざけんなよ!

683 名前:nobodyさん mailto:sage [2013/12/12(木) 04:05:39.56 ID:???]
いや、ここは俺が。

684 名前:nobodyさん mailto:sage [2013/12/12(木) 05:30:01.88 ID:???]
ようじょ、ようじょ

685 名前:nobodyさん [2013/12/12(木) 11:49:32.21 ID:G/DBAFTk]
cakephp1.3で$this->Auth->user()でもってこれる情報って
1つか、もしくは全部?
idとusernameの二つの値を持ってきたいのですが、
どなたかご存知の方いたらお願い致します。



686 名前:nobodyさん mailto:sage [2013/12/12(木) 11:59:53.86 ID:???]
>>685
1レコードそのまま取れなかったっけ?

687 名前:nobodyさん mailto:sage [2013/12/14(土) 00:57:14.30 ID:???]
cakephp1を、そのままcakephp2にしてくれと言ったら、いくら取る?
俺なら最低20万円。

688 名前:nobodyさん mailto:sage [2013/12/14(土) 02:23:18.09 ID:???]
20万〜2000万ぐらいだな。

689 名前:nobodyさん mailto:sage [2013/12/14(土) 02:25:37.01 ID:???]
>>687
まぁ規模によるよね。

690 名前:nobodyさん mailto:sage [2013/12/14(土) 02:40:33.10 ID:???]
俺も今 php4 + CakePHP1.1 で稼働しているサイトを php5.4(以上)のサーバーで
稼働できるように頼まれるかもしれない。

工数が全く見えないんだけどどうやって見積もり取ればいいんだろう。

691 名前:nobodyさん mailto:sage [2013/12/14(土) 02:41:06.36 ID:???]
規模もだけど現在のコードによる。

cakephp2を考慮して正しく書かれたコードと
全く考慮しない上に、間違った使い方ばかりした
汚いコードでは100倍ぐらい差がでても不思議ではない。

692 名前:nobodyさん mailto:sage [2013/12/14(土) 02:44:20.85 ID:???]
>>690
移行ではなく、全部最初から作り直しの工数を見積もればいいよ。

仕様を0から考える時間 or 現在のシステムを理解するのにかかる時間
 +
0から開発した時の時間。

決して、今あるコードを再利用できるから
開発時間が短縮できると思ってはいけない。

再利用できるように使えるように作られたコードであれば再利用できるが、
使えるかもしれないというコードは、基本的に使えない。

693 名前:nobodyさん mailto:sage [2013/12/14(土) 03:06:53.02 ID:???]
問題は、自分が過去に作った場合だな。
蔵からしたら「お前が作ったものを新しくするだけだろ?」
ってなもんで、予算をとってもらえないことが多い。

だったら諦めろって話だが、そこで終わると仕事に繋がらないわけで、
結局は安く請け負ってしまうんだよな

694 名前:nobodyさん mailto:sage [2013/12/14(土) 03:30:14.45 ID:???]
>>691-693
おぉ、色々ありがとう!
参考にさせてもらう。

これ、たぶん、断るわw

695 名前:nobodyさん mailto:sage [2013/12/14(土) 10:36:42.60 ID:???]
>>693
そういう理解の客って、そもそもCakePHPを新しくするって発想すら出てこないんじゃないの?
目の前には動いてるプロダクトがあるわけで、やって欲しいのは機能の追加とかであって、
機能は増えないし変わらないけど、CakePHP2にするってことじゃないと思うんだが。
逆にCakePHP2にする事の意義を知ってる客なら、
それが簡単じゃない事も知ってるはずだと思った。



696 名前:nobodyさん mailto:sage [2013/12/14(土) 17:19:20.55 ID:???]
>>695
「もっと動作を早くしてほしい」とか「サーバを変えたい」って場合がある。
または、自分がCake2用の開発に切り替えてて、
ライブラリもCake2用に作っている・使用している場合とか。

つまり、「現状より良くしたい」という要求に対して
「開発方法を変えないと出来ません」
ってなったら客も怒るだろ?こっちの事情はともかくとして。

ずっと1.3系&PHP4系を使い続けるならともかく、
技術の進化と客の要求に対応するなら、
どこかで折り合いをつけなければいけない。

697 名前:nobodyさん mailto:sage [2013/12/14(土) 22:46:14.15 ID:???]
古いとセキュリティがどうのこうの…とか言ってみれば

698 名前:nobodyさん mailto:sage [2013/12/15(日) 00:01:11.18 ID:???]
cakeの1系->2系なんてほとんど互換性ないだろ。
バージョンアップのメリットないから。

699 名前:nobodyさん mailto:sage [2013/12/15(日) 01:04:45.89 ID:???]
>>696
開発方法を変えるなんて言う必要ないよ。
勝手に変えればいい。
どうせ客に言っても理解できない。

700 名前:nobodyさん mailto:sage [2013/12/15(日) 01:12:59.53 ID:???]
>>696
> 技術の進化と客の要求に対応するなら、
> どこかで折り合いをつけなければいけない。

なんか他人のせいにしているように聞こえるけど、
それ、技術力がないからだから。

君に足りない技術はね。今のコードを
新しいコードへ連続的に変化させていく技術だよ。
どうせ、今のを捨てて書きなおすことしか思いつかないんでしょ?

この変化させていく技術力があれば、1系でも2系でも動くコードがかける
PHP4系でもPHP5系でも動くコードがかける。
動かないコードを動くように変えることが出来る。
古いコードを新しいコードから利用できるように出来る。
新しいコードを古いコードから利用できるように出来る。

今の君は、このようなことをするのに何が必要かわからず
またわかったとしてもそれを実現するだけの力がない。
ゴールを見据えてそこまで至るルートを見つける力がない。
ルートがわからないからいつまでたってもゴールに辿りつけない。

701 名前:nobodyさん mailto:sage [2013/12/15(日) 01:13:50.99 ID:???]
>>699
その勝手に変える作業に金出してもらえないって話じゃないか?

702 名前:nobodyさん mailto:sage [2013/12/15(日) 01:15:42.18 ID:???]
>>701
そんなもん、普段の開発費に含めればいいじゃないか。

703 名前:nobodyさん mailto:sage [2013/12/15(日) 01:22:24.83 ID:???]
>>700
君の非難はちょっと違うと思うんだよ。
俺がオレオレフレームワークなり、ライブラリを作った上で
「PHPのバージョンが変わったら全て書き換えないといけない」
的な事を言い出すなら、「技術がないだけ」って切り捨てるのもわかる。

でも、CakePHPというフレームワークでの話だろ?
Cakeが1.3→2に変わっても、君の言うようにどのバージョンでも
動けるコードになっているかな?なっていないよね。

もちろん、「CakePHP選んだお前が悪い」っ
てのなら自身の選択ミスだ。俺が悪い。
だが、俺の言う「折り合いをつける」ってのは、
「なんだかんだ言われてもやる」なんだけどな。
>>693の書き込み見てくれればわかると思うが。

704 名前:nobodyさん mailto:sage [2013/12/15(日) 01:34:39.31 ID:???]
>>703
やっぱり技術力がないだけ。

CakePHPを選ぶのが間違いとかそういう話ではない。
何を選ぼうが未来がどうなるかはわからない。
安全な未来を選ぶ力が重要なのではなく、
どんな未来が来ても、そこに至るルートを見つける力が重要。

まず、フレームワークは使うが
本質的なコード=重要なコード=大部分のコード
というのはフレームワークに依存しないように作る。
(作れるのが技術力)

フレームワークにべったりくっついた設計にするのではなく

フレームワーク ⇔ 薄い中間層 ⇔ 大部分のコード
こういう設計にしておく。フレームワークは変わるのは
当たり前の話なんだから、最初からそうすべきと判断する
(これも技術力)

> Cakeが1.3→2に変わっても、君の言うようにどのバージョンでも
> 動けるコードになっているかな?なっていないよね。
フレームワークに依存しまくるから、動かないコードが”大量に"できる。

フレームワークに依存しない部分を大量にして、依存している部分を
最小限にしておけば、動かないコードを最小限の力で移行させられる。

CakePHP1.3の時代に、まだ見ぬ2に対応することは不可能だが、
CakePHP1.3の時代でも、フレームワークが無いとみなして作るのは可能だ。

705 名前:nobodyさん mailto:sage [2013/12/15(日) 01:43:20.20 ID:???]
フレームワーク等、バージョンが違ったとき
互換性が100%でないのは知っているし100%の互換性はないのが普通。

book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html
> 2.0 移行ガイド
> このページはプロジェクトを2.0に移行する手助けをする、
> CakePHP 1.3からの変更点の要約をします。 またこれは、コアへの
> CakePHP 1.3ブランチからの変更点への最新の開発者リファレンスともなります。
> 必ずこのガイドにある新機能とAPIの変更の全てのページを読んでください。

こういうのもある。たいていの有名どころであれば移行する手段は用意されている。
これを読めば、何が良くて何がダメでダメなものはどう対処すればいいかわかるはず。

こういうのを読んで、移行できない問題点を見つけて、すぐに諦めてるでしょ?

移行っていうのは、自分の作ったシステムのフレームワークを入れ替えて
そのままじゃ動かない。あーだめでした。もうお手上げだー。
移行できない。いつまで延命できるかなー。ってこういうものではない。

移行できないものをどうやれば移行できる形にできるか見つけて、
直して、必要ならば新旧両対応できる書き方に書き換えながら、
移行できない問題点を潰していくのが本当の移行の仕方だ。

これが技術力なんだよ。



706 名前:nobodyさん mailto:sage [2013/12/15(日) 01:47:21.85 ID:???]
>>704
君の非難を素直に受けるし、技術が無いのも確かだろう。
でも、怒りの矛先を向けるのは俺じゃないと思うんだが。

君は技術ありきで話をしているけど、話の最初は>>687だよ?
君が作った素晴らしいコードなら、1.3だろうと2だろうと3だろうと
チョチョイのチョイでバージョンアップできるから、困らないかもしれないね。

だから、バージョンアッップ後の更新作業をしてもお金取ろうとしないのかもね。
でも、そういう考えならやっぱり俺が提示する
「技術の進化と客の要求に対応して折り合いをつける」
ってな事にならないかな?

そもそもスレの流れをちゃんと見てるか?
ちゃんと見ないのに非難する人間って技術力高いのかなぁ。

707 名前:nobodyさん mailto:sage [2013/12/15(日) 01:51:11.60 ID:???]
>>706
> 君が作った素晴らしいコードなら、1.3だろうと2だろうと3だろうと
> チョチョイのチョイでバージョンアップできるから、困らないかもしれないね。

それは大きな勘違い。

未来なんてわからないし、最初は技術力低いのが当たり前
フレームワークなんて難しい物を、最初から完璧に使いこなすことなんて不可能。
最初から素晴らしいコードなんてかけるわけがない。

じゃあどうするか。
それが連続的に変化させていく技術力だよ。

高い開発技術ではなく
汚いコード(古いコード)から、綺麗なコード(新しいコード)へ
変化させていく技術力。

それが圧倒的に足りない。

708 名前:nobodyさん mailto:sage [2013/12/15(日) 01:52:59.47 ID:???]
具体的にどんなコード書いてるんだかw
全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん

709 名前:nobodyさん mailto:sage [2013/12/15(日) 01:55:27.23 ID:???]
>>707
だったら、それを俺じゃなくて
「Cakeのバージョン変えたいけど、お金もほしい」
って奴に言ってくれよ。

俺はどちらかというと、あんたみたいな考え方だよ。
向上心もなく、単に金がほしいなら
「技術の進化と客の要求に対応して折り合いをつける」
ってな言い方はしないだろ?

どこがあんたの気に触ったのかしらないけど、
頼むからスレの流れを読んで非難してくれ。技術云々を語る前にな。

710 名前:nobodyさん mailto:sage [2013/12/15(日) 02:20:52.91 ID:???]
普通に考えて、必要なのは技術力でなく交渉力だと思うんだな。

711 名前:nobodyさん mailto:sage [2013/12/15(日) 03:25:11.57 ID:???]
金出せよ(直球

712 名前:nobodyさん mailto:sage [2013/12/15(日) 07:14:03.45 ID:???]
>>696
なんか俺へのレスから長々と続いてるみたいだけど、それは置いといて。

もっと動作を早くするとか、別のサーバーにのせるために、
CakePHP1から2にする必要があるなら、
それは客が負担するコストじゃね?
実際CakePHP2は1より早くなってるし、キャッシュエンジン使うとかリバースプロキシの導入とか、
他の手も考えてみて、CakePHP2化が有効なら、
後は普通に見積もって提案するのがいいと思った。

機能追加のために、CakePHP2用のライブラリが使えないことに関しても、
CakePHP2化してあれば、機能追加時に使えるライブラリの選択肢が増えて、
機能追加の見積もりが安くなるかもしれないから、コストかけてCakePHP2化しませんか?
って話にならんかね。
それで、CakePHP1のままって言われたら、機能追加は相対的に高めの見積もりになり続ける、と。
まぁCakePHP1で保守開発するのは、高めにもらってもあまりやりたくは無いけど。

713 名前:nobodyさん mailto:sage [2013/12/15(日) 13:49:38.36 ID:???]
全部ラップするくらいならオレオレフレームワーク作れよと。
フレームワークの上にフレームワーク乗っけてるようなもんだから
何がやりたいのかわけわからんわ。
どんなにラップしようがcakephpのバージョン上がったら
それに合わせて書き換えないと動かないんだから
それならはじめからラップなんてしなくていいのよ。
ビジネスロジックだけ分けておくとかならともかく。
ばかばかしいわ

714 名前:nobodyさん mailto:sage [2013/12/15(日) 15:02:58.71 ID:???]
>>713
御意。

715 名前:nobodyさん mailto:sage [2013/12/15(日) 21:35:08.31 ID:???]
>>713
> 全部ラップするくらいなら

誰がそんなこと言ってんの?



716 名前:nobodyさん mailto:sage [2013/12/15(日) 21:36:55.56 ID:???]
あぁ、こいつか。>>708

> 全部ラップしてるんでしょ?オーバーヘッドえらいことになるやん

いきなり的はずれなこと言い出したのはこいつだな。
こいつ以前にはラップという話は出てきていない。

なんでラップなんかするんだか。

717 名前:nobodyさん mailto:sage [2013/12/16(月) 13:36:53.84 ID:???]
上の方で、バージョンの差異を吸収出来る様に云々って言葉が出てきたから、
ラップって言ったんじゃない?

なんか言っている事はすごく正論なんだが、金という最も大事な項目を考えないで議論している人がいる気がする。
現実と理想とで議論しても何時までもかみ合わないというか。

718 名前:nobodyさん mailto:sage [2013/12/16(月) 17:10:04.70 ID:???]
>>712
みんな名無しなので話がややこしくなるが、
俺は>>693、696を書き、なぜか煽ってきた>>700
「他人(客)のせいにするのではなく、自身の技術の無さを問題視しろ!」
と言ってるわけだ。

だが、俺はそもそも技術云々なんて論じてないし、
出来ない(やらない)とも書いてない。

俺の意見としては>>696に書いたとおり、
「客がバージョンアップを希望する場合もあるし、
 だからといってその分のコストを請求し、納得させるのも難しいから、
 どこかで折り合いを付けなければいけないね」
と言った、中立的な発言をしたわけだ。

開発者としてはバージョンアップでもお金欲しいけど、
客は見た目変わらないからお金を出しづらいね、みたいな。

なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。
きっとレスの流れを見ずに一部だけを切り取って腹が立ったのだろうけど、
未だに俺のレスの何が癇に障ったのかはわからない。

719 名前:nobodyさん mailto:sage [2013/12/16(月) 18:01:53.46 ID:???]
>>718
お金を出さない客のためになぜ働くんだろうか?

720 名前:nobodyさん mailto:sage [2013/12/16(月) 22:23:01.69 ID:???]
>>719
俺が1.3→2.2にした時は、
フレームワークのバージョンアップとは言わずに、
他の機能を追加する面目で対応したよ。
1.3のままだと不都合を感じたし、蔵も新機能が欲しかったからね。

だけど、バージョンアップだけで見積請求してもいいと思うし、
それに苦言を呈してくる客に対してメリットを感じなければ、
付き合いを止めればいい。それだけの話だよ。
どっちの言い分も考えた上で発言しているだけだから。

721 名前:nobodyさん mailto:sage [2013/12/17(火) 01:14:36.31 ID:???]
>>720
> 他の機能を追加する面目で対応したよ
それが普通

で、そういうことができないって言ってるんでしょ?
自分の書いたコードが1.3にがっつり依存してしまって
全部書き直しぐらいな、そうとう大変なことになってしまってるから。

だからフレームワークを使うのはいいが、
依存しまくらないようにしろという話。
それが出来ない奴は技術力無いってことよ。

そういったらなぜか全部ラップするとか言う
斜め上の対応策が出てきてワロタ。
そうか、技術力低いと、そういう間違った対応をするのか。

722 名前:nobodyさん mailto:sage [2013/12/17(火) 01:16:55.25 ID:???]
>>718
> なのに、なぜか「技術が無いから対応できないんだ!}みたいな非難をされている。

違う違う。「技術がないから金がかかるんだ」って非難してる。
CakePHPの1系から2系へのバージョンアップなんて
>>720みたいに、他の機能を追加する名目で対応しろよ。

723 名前:nobodyさん mailto:sage [2013/12/17(火) 04:19:56.51 ID:???]
>>722
どのくらい大変かは、アプリのボリュームにもよるだろうなぁ。
コンポーネントやビヘイビアをちゃんと書いて、DRYに作っていれば、
移行系は手を入れる必要がある箇所が少なくなって楽になるとは思うけど、
影響がある化も知れないアクションは全てだから、
ボリュームが大きいと、動作確認だけで大変になる。
テストを書いてたとしても、フロントの振舞いこみで確認しないと、
もしエンバグしたら事だからなぁ。
あと確か、1系から2系で、テストフレームワークが変更になった気がするし。

フレームワークのバージョンの移行なんて、ボタンひとつで出来るわけじゃないし、
時間を使う以上金はかかるよ。お仕事だもの。
単純に移行だけで、機能も増えないし見た目も変わらないとなると、
無知な客からすると、どんな見積もりを出しても高く見えるだろうけどね。
でも、無知な客はむしろよりコストを負担して欲しいわ。

724 名前:nobodyさん mailto:sage [2013/12/17(火) 11:07:41.43 ID:???]
誰が誰だかよくわからなくなってるなw

725 名前:nobodyさん mailto:sage [2013/12/17(火) 11:10:20.38 ID:???]
>>721
>で、そういうことができないって言ってるんでしょ?
「それが普通」って認めてるのに、出来ないって言ってるとは??

>>722
718=720なわけだが。レスの感じでわかると思ったけど。



726 名前:nobodyさん mailto:sage [2013/12/17(火) 20:14:25.92 ID:???]
結論、世の中、金。

727 名前:nobodyさん mailto:sage [2013/12/18(水) 02:28:32.22 ID:???]
かねくれかね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef