- 1 名前:デフォルトの名無しさん [2022/09/20(火) 16:46:23.39 ID:Sb2Kpzh+0.net]
- !extend::vvvvv:1000:512
!extend::vvvvv:1000:512 ★スレ立て時 ↑ が3行以上になるようコピペ PHPに関する質問スレです 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 13 https://mevius.5ch.net/test/read.cgi/tech/1631147923/ 次スレは>>980以降 VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
- 207 名前:デフォルトの名無しさん (ワッチョイ 675f-TX1J) mailto:sage [2022/12/14(水) 10:36:26.00 ID:clTPPvgu0.net]
- どなたかfuelphpという産廃使ってる方いませんかー!
テスト導入に苦戦してまして…
- 208 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 17:12:07.16 ID:EUJoHYXL0.net]
- >>207
産廃はお前だよ
- 209 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 18:44:26.38 ID:1dR4tl0p0.net]
- >>207
FuelPHPなら使っているが、産廃などと言うやつには一切の手助けはしない。
- 210 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 19:11:09.38 ID:erx97Ujd0.net]
- 文字列としてSQL扱うときは、外側は " にしてた
- 211 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 11:47:59.66 ID:LeGrOdjQ0.net]
- >>208
もう更新されてないフレームワークだろ?ググればオワコンってすぐ出てくるし >>209 あっそ
- 212 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 22:44:28.75 ID:2voHnGHc0.net]
- 上手くいったら報告して
- 213 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 22:54:29.04 ID:lBgSxiuh0.net]
- fuelphp.jp/docs/1.6/general/unit_testing.html
これ参考にならんの?
- 214 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 23:22:29.62 ID:2B516vAy0.net]
- 10年前のフレームワークかぁ
- 215 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 23:49:29.88 ID:2voHnGHc0.net]
- 歴戦の勇士なら使える
- 216 名前:デフォルトの名無しさん mailto:sage [2022/12/15(木) 23:59:56.21 ID:WOnFczjv0.net]
- まともな情報量をもった質問もできない産廃をかまってやるなんてお前ら優しいな
- 217 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 18:02:33.05 ID:sLgaZEhZ0.net]
- >>216
産廃をありがたがって使ってるお前が異端なんだよ
- 218 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 18:04:56.98 ID:sLgaZEhZ0.net]
- >>213
モックのライブラリ入れるとcomposerさんがちゃんと更新してくれなくてな…記事も少なくてクソだわ
- 219 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 18:25:02.16 ID:s8p4pdj90.net]
- 将来的な事を考えたら多少コストがかかろうがLaravelなどに書き換えた方が良さそうだけどねぇ
多分そんなに予算も無く、修正や機能追加に金は出せないみたいな所から受けていたら悲惨としか・・・
- 220 名前:デフォルトの名無しさん (ワッチョイ 675f-TX1J) mailto:sage [2022/12/16(金) 18:52:17.38 ID:sLgaZEhZ0.net]
- >>219
まさしくそれ… 好き好んで使ってるやつの気がしれん
- 221 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 20:43:17.62 ID:kkMqd6VL0.net]
- 上司「オーバーヘッドと速度低下おきるからフレームワークは禁止。クラスとMVCは自分で定義してわかりやすくしろ、見本は無い」
- 222 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 10:51:57.18 ID:kvss8RMi0.net]
- まずその上司のリファクタリングが必要
- 223 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 11:02:16.79 ID:QDDpMmFH0.net]
- ネコの会社
- 224 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 17:05:55.72 ID:PuWdgN410.net]
- >>222
リファクタリングって動きは変えないから何も変わらんのでは?
- 225 名前:デフォルトの名無しさん mailto:sage [2022/12/17(土) 17:11:12.27 ID:on9KAdJq0.net]
- テストしやすくなるんでしょ
重要w
- 226 名前:デフォルトの名無しさん mailto:sage [2022/12/18(日) 22:34:02.51 ID:Sye5af7x0.net]
- 下らねえ質問はここに書き込みやがれ
- 227 名前:デフォルトの名無しさん mailto:sage [2022/12/18(日) 23:07:20.33 ID:HXc3HAGH0.net]
- file_gets_contentってマジカル変数みたいなの使わないとうまく行かないことがあるけど何か違いあるのかな?
同じフォルダ階層にいるjsonの内容読み取るだけだから必要無さそうな気がするんだが
- 228 名前:デフォルトの名無しさん [2022/12/19(月) 08:00:13.41 ID:GcFpX62a0.net]
- assert()など、デバッグ用のコードって本実装のとき残しているものなのですか?
それとも削除するものなのですか?
- 229 名前:デフォルトの名無しさん [2022/12/19(月) 09:48:24.14 ID:aVzxjlfF0.net]
- >>227
マジカル変数ってなに? バナナと言ったら黄色?
- 230 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 10:51:17.06 ID:+PhZX49Z0.net]
- >>229
マジック定数って言うのか!恥ずかしい!!
- 231 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 11:00:09.40 ID:aVzxjlfF0.net]
- >>230
それでもまだ意味がわからないんだけど、第二引数のことを言ってる? つまり、それは、同じディレクトリを探索させたいのに インクルードパスの探索を指定(true)していて、かつ インクルードパスにカレントを指定してないって感じか そう、君のバグです
- 232 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 11:20:29.71 ID:+PhZX49Z0.net]
- >>231
第2引数には何も指定してない 同じディレクトリにあるJSONに対して file_get_contents('hoge.json'); ってやったら戻り値がfalseだった
- 233 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 11:30:22.81 ID:kpBvGP850.net]
- 多分コレのことだろう
https://bashalog.c-brains.jp/14/07/11-100000.php だから、絶対パスでの指定が推奨されてて、そのために__DIR__が大活躍する
- 234 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 16:21:21.04 ID:A864IMiY0.net]
- >>228
建前としてはDEBUGフラグが立ってる時だけ機能するように作るんだけど 実際は本番実行でも残すよ
- 235 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 20:04:25.66 ID:qVdptYk+0.net]
- postの判別を検索したら、php入門なるサイトで
if($_SERVER["REQUEST_METHOD"] = "POST"){ というのがあったので、やってみてもダメだったのが if($_SERVER["REQUEST_METHOD"] == "POST"){ ならokだったのですが、 php4やphp5の頃は問題が無かったのか、そもそもサイトの情報が間違いなのかどっちなのでしょうか?
- 236 名前:デフォルトの名無しさん mailto:sage [2022/12/19(月) 20:41:16.39 ID:GWLkdDwg0.net]
- そりゃ=は代入だからダメだろw
- 237 名前:デフォルトの名無しさん (ワッチョイ ea97-ZR1D) [2022/12/20(火) 09:14:27.19 ID:B/jnFsL10.net]
- >>234
ありがとうございます。あと一点質問させてください。 debugならassert()系のメソッド?関数?で事足りるとおもうのですが、 わざわざphpUnitなるライブラリを使う方法もあるそうです。 phpUnitを使うことのメリットがよくわかりません。 どんなことで利点があるかお分かりになれば教えてください。
- 238 名前:デフォルトの名無しさん mailto:sage [2022/12/20(火) 10:07:52.67 ID:QTfYNwyf0.net]
- >>237
多分根本的に間違って理解してると思う https://speakerdeck.com/twada/php-conference-2016?slide=68 リンクした章を読んでみるとassertの使い方が分かるんじゃないかなぁ
- 239 名前:デフォルトの名無しさん (ワッチョイ aa7c-e5AJ) mailto:sage [2022/12/20(火) 12:46:29.70 ID:cyGUI4Ab0.net]
- デバッグを効率的にやりたいだけの話なら
xdebug入れてブレークポイントなどを使う方が良いんじゃない?
- 240 名前:デフォルトの名無しさん mailto:sage [2022/12/20(火) 14:33:30.45 ID:F+OZA9Ef0.net]
- 全部デバッグレベルのログで出力してるわ
printfデバッグの上位互換です 本番はログレベル下げるだけだし
- 241 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:18:35.97 ID:YjenC8+L0.net]
- bashからphpも始めた身ですが、
変数を ${hogehoge} の波括弧でも動作しますが、{$hogehoge}のほうがいいですか?
- 242 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:33:33.01 ID:8c2A2dic0.net]
- >>241
バージョンによる 以下、8.2以降に関して https://www.php.net/manual/ja/migration82.deprecated.php > "${var}" と "${expr}" 形式の文字列への値の埋め込みは、推奨されなくなりました。 "$var"/"{$var}" や "{${expr}}" 形式をそれぞれ使ってください。
- 243 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:44:53.24 ID:YjenC8+L0.net]
- >>242
php7.4から始めていますが、警告されているのですね 危なかったです・・そのまま使い続けるところでした
- 244 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:49:53.76 ID:8c2A2dic0.net]
- >>243
教本等での指定がなければ、8.1以降で学習するほうが良いです https://www.php.net/supported-versions.php 7.4はすでにサポート対象外であり、8.0もアクティブサポートは終わっています 8.0以降で大きく変わった箇所もあるので、教本もできれば8.0以降のものを選ぶのが良いです
- 245 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 10:30:36.23 ID:YjenC8+L0.net]
- >>244
ありがとうございます、最新を選ぶのにこしたことは無いのですね。 使わない新機能がたくさんありそうなので初学者には7.4でも同じだと思っていました。
- 246 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 13:14:09.74 ID:9taBvybYa.net]
- vendor配下はpushしない人多いと思いますが、例えば10年後にディスク障害で再インストールが必要になった場合に、composer install でちゃんと元通りになるもんなんでしょうか?
古いバージョンのライブラリなどはアーカイブされててinstallがコケそうな気がするんですが。 ちゃんとバックアップとっておいてそこから戻せって話ですかね?
- 247 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 13:21:51.28 ID:/E6J1+u80.net]
- まず10年後までアップデートしないで使うのがNGかと
そもそもphpが全然変わってるはず
- 248 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 15:04:43.24 ID:56qYJgfP0.net]
- 約10年前のLaravel 4もまだリポジトリにあるし
10年くらいじゃ旧バージョンも含めて管理下にあると思ってよいと思う バージョンが古すぎてcomposer updateが通らなくなることはあっても composer installは通るんじゃないかな
- 249 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 15:25:46.38 ID:6zrBELjK0.net]
- ところがどっこい通りません
- 250 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 15:53:40.61 ID:RVhrOqwEa.net]
- vendor配下をプッシュしないのは、composer install で復元出来ることと、容量の無駄遣いってことだと思ってましたがデメリットが容量の問題だけならプッシュしておいた方が何も考えなくて良い感じですかね?
- 251 名前:デフォルトの名無しさん [2022/12/28(水) 18:11:15.40 ID:iMra0KKw0.net]
- 配列の要素数だけを繰り返したいのですが。
これまでforeach文を利用していました。 ですが、その配列の要素を参照するだけでなく、 同じ要素数の別の配列を参照したりしています。 ちょっとforeachではないような気がします。 例えば、以下のような要素数を合わせた配列を 要素番号に沿って同時に処理します。 $color_arr $body_arr $subcomment_arry 配列の要素数だけを繰り返す。 という意味でもっとも適した繰り返し文は 何でしょうか?
- 252 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 18:16:59.77 ID:uPVj0Dve0.net]
- ちょっと何言ってるかわからない
もう少し具体的なコードなりデータなりで質問すると回答があるかも あと、配列操作に関しては php は充実しすぎてるんで、以下のリンクも参考に見てみるといい https://www.php.net/manual/ja/ref.array.php
- 253 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 20:12:34.76 ID:kuotjsyy0.net]
- >>251
foreachだよ。 それは構造がおかしい。 セットで使うものなら、 ["color"=>xxx, "body"=>yyy, "subcomment"=>zzz] として最初から纏めておく。
- 254 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 00:02:29.48 ID:CeHhEiXD0.net]
- 参照に使った変数をunsetし忘れると
マジで意味不明な挙動するよね あれどうにかなんねーのかな
- 255 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 00:26:52.03 ID:Au5DjajA0.net]
- >>254
php.netのforeachに警告として載っているケースなら、変だし糞だけど意味不明ではないね。 https://www.php.net/manual/ja/control-structures.foreach.php foreachでスコープを作らず、変数宣言もない(=最初の使用が宣言扱い)言語なら、こうなる。 正しい解はforeachでスコープを作り、外側の変数を見えるようにすることで、CやJSやその他言語は勿論そうなってる。 言語としてのPHPは相変わらずぶっちぎりで糞なだけだね。
- 256 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 01:12:32.11 ID:ptlutJts0.net]
- そんなにforeachで参照してる配列自体の要素を変更する?
読みづらくなるからワイはしないようにしてるけど
- 257 名前:256 [2022/12/29(木) 02:15:09.37 ID:KIQEFzci0.net]
- 色々とアドバイスありがとうございます。
用途としては、次のようにselectクエリの結果セットを1行づつ$rowに格納して カラムの値をそれぞれ配列に格納しています。 配列の一つである$ImageId_arrをforeach()で利用して、配列分の値をecho させています。 本来のforeachの使い方ではなくて、気持ち悪いと思います。 while ($row = $result->fetch_assoc()) { $ImageId_arr[] = $row["image_id"]; $color_arr[] = $row["color"]; $body_arr[] = $row["body"]; $subcommnet_arr[] = $row["subcomment"]; } foreach($ImageId_array as $key){ echo "<p>".$ImageId_arr[$i]."</p>"; echo "<p>".$color_arr[$i] ."</p>"; echo "<p>".$body_arr[$i]."</p>"; echo "<p>".$subcommnet_arr[$i]."</p>"; $i++; }
- 258 名前:デフォルトの名無しさん [2022/12/29(木) 02:17:19.06 ID:KIQEFzci0.net]
- ×
foreach($ImageId_array as $key){ 〇 foreach($ImageId_arr as $key){
- 259 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 04:56:37.27 ID:L5ICo1eU0.net]
- それなら foreach() でよさげ
$rows = $result->fetch_assoc()); foreach($rows as $row){ echo "<p>".$row["image_id"]."</p>"; ・ ・ }
- 260 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 05:46:19.92 ID:KLxb2KfBa.net]
- >>246
Ruby on Rails ではプロは、全てのモジュールを1週間毎に更新する。 もし更新しなかったら、セキュリティーホールから侵入されて、データを抜かれる 例えば、そのサイトのJava のTomcat から、パスワードが抜かれましたとか、 ブラウザから通知が来る それで、そのサイトがモジュールを更新していない事が分かる
- 261 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 05:46:19.99 ID:KLxb2KfBa.net]
- >>246
Ruby on Rails ではプロは、全てのモジュールを1週間毎に更新する。 もし更新しなかったら、セキュリティーホールから侵入されて、データを抜かれる 例えば、そのサイトのJava のTomcat から、パスワードが抜かれましたとか、 ブラウザから通知が来る それで、そのサイトがモジュールを更新していない事が分かる
- 262 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 07:40:46.65 ID:KLxb2KfBa.net]
- Ruby のERB では、<%= 〜 %> で出力される。<% 〜 %> で出力されない。
〜には、Rubyのコード片。 "<p>".$ImageId_arr[$i]."</p>" みたいに、文字列を連結しない require 'erb' include ERB::Util # ERB では、html escape するのに、ERB::Util.h メソッドが必要 html =<<HTML <% rows.each do |row| %> <p>aは、<%=h row["a"] %></p> <p>bは、<%=h row["b"] %></p> <% end %> HTML rows = [ { "a" => "a1", "b" => 1 }, { "a" => "<a2>", "b" => 2 } ] puts ERB.new( html, nil, "<>" ).result( binding ) 出力 <p>aは、a1</p> <p>bは、1</p> <p>aは、<a2></p> <p>bは、2</p> < が< に、> が> に、エスケープされる
- 263 名前:267 mailto:sage [2022/12/29(木) 07:45:09.94 ID:KLxb2KfBa.net]
- 出力
<p>aは、a1</p> <p>bは、1</p> <p>aは、& lt;a2& gt;</p> <p>bは、2</p> < が& lt; に、> が& gt; に、エスケープされる 便宜上、& の後ろに、空白を入れておく
- 264 名前:デフォルトの名無しさん (ワッチョイ e17b-xQ0t) mailto:sage [2022/12/29(木) 08:29:06.21 ID:Au5DjajA0.net]
- >>256
しないね。 だから昨今の関数型や再代入禁止とかの"正しい"プログラミング流儀に則ってれば、大して問題にならない。 とはいえPHPでは主力ループがforeachだし、 この仕様変更で動かなくなるプログラムが大量にあるとも思えないし、さっさと修正すべきだね。 まあそれ以前の比較や三項演算子を修正してる段階だから、あと10年くらいかかるか? どうでもいいが珍しくPHP.netの糞な所を見つけた。 最近のこの手のサイトはURLの#xxxで該当部分にすぐ飛べるように<a>を散りばめているが、PHP.netはやってない。 だから260にも記事ページを頭から全部読め、のURLしか貼れなかった。 各ページを頭から全部読んでも問題ない量に抑えるアナログ的解決も素晴らしいが、<a>はやっておくべきだね。 contributeしたいぞと思ってる人はどうぞ。
- 265 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 08:56:07.28 ID:Au5DjajA0.net]
- >>257
それを気持ち悪いと感じるのは、君が連想配列やジャグ配列に慣れてないだけだよ。 むしろ普通は、元々一体だった$rowをわざわざバラし、 再度くっつけ直すときにforeachガーとか言ってるそのコードが気持ち悪い。 明らかにやらなくて済むことをやってて文句言ってるだけだし、意味無いだろ。
- 266 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 12:34:23.96 ID:KIQEFzci0.net]
- >>259
ありがとうございます。以下のコードですが、 $rows = $result->fetch_assoc(); これだと1レコードのカラムだけをrowsに格納することになります。 それで、 $rows = $result->fetch_all(); にしてみると、全てのレコードを取得できるのですが、 カラムがそのまま連想配列のキーとなりません。 全てのレコードのカラムを連想配列として取得するには どう記述すればよろしいでしょうか?
- 267 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 12:44:04.70 ID:aUIDokF60.net]
- マニュアル読んだ方が早いよ
- 268 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 12:55:39.42 ID:b2cknnYm0.net]
- >>266
$rows = $result->fetch_all(MYSQLI_ASSOC);
- 269 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 13:08:54.14 ID:PNv6ubt+d.net]
- >>257
264と270の言う通り、二次元配列の理解が足りないんだと思う 二次元配列で扱うようにすれば上手くいくよ $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } foreach($rows as $row){ echo "<p>".$row["image_id"]."</p>"; echo "<p>".$row["body"]."</p>"; echo "<p>".$row["body"]."</p>"; echo "<p>".$row["subcomment"]."</p>"; }
- 270 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 13:58:39.47 ID:qAF+l3pr0.net]
- >>255
そうそれ PHP10あたりで変数宣言できるようになんねーかな そうすればスコープとか効いてくるしバグも減るよな
- 271 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 14:24:41.49 ID:Au5DjajA0.net]
- >>269
× 二次元配列 ○ ジャグ配列(配列の中の配列) な。PHPでは(というよりもほぼ全部の言語では)多次元配列はジャグ配列で構成するので、 ほぼ区別する必要はないが、逆に言えば、ここで引っかかってる時点で256はPHP出身ではない。 今時、連想配列を使えない言語なんてCくらいしかないので、おそらく256はC(かその程度の原始的な言語)出身。 だから添字は数字のみ、と考えてああいうコードになってる。 Cにはforeachも無いので、使い方にも悩むことになる。 で、Cの場合は多次元配列はジャグ配列以外でも実装出来る (というよりCで多次元配列と言うとジャグ配列じゃない物を指す)ので、 256に対してその言い方だと誤解を招くかもしれないので、 この辺まで見えてたら非PHP用語使ってあげて。
- 272 名前:デフォルトの名無しさん (ワッチョイ e17b-xQ0t) mailto:sage [2022/12/29(木) 14:57:10.69 ID:Au5DjajA0.net]
- >>270
結局のところ、スクリプト言語=お手軽に使える言語=大きいのを作るのには無理がある、ってだけだな。 JSはまだマシだが、PHPではかなり無理がある。 変数宣言は、ワンライナーをやる場合は壮絶にウザイが、PHPではこの点は問題ない。 ただ、過去のコードが使えなくなるのは大問題なので、現実的にはTSのようにビルド時の対応しか出来ないだろう。 個人的には、Array. String周りの関数の引数の順や名前や挙動とかマトモに整理してくれよ、と思う。 PHPが主力言語な連中なら全部覚えればいいのだろうが、そうではないので、一々毎回引き直して引っかかって不快感半端ない。 (じゃあLaravel使えではあるが、実際わざわざ導入するほどそれらの関数を使いまくることもないので中途半端で困る) 逆に、スコープ周りとかはポンコツではあるが一貫性はあるので、それほどストレスは感じない。
- 273 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 18:03:16.58 ID:9qmzIgrL0.net]
- phpでHTML中に<?php echo $変数名 ?>使わずに表示出来る簡易方法ってどうやるんだっけ?
- 274 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 19:04:00.81 ID:qAF+l3pr0.net]
- >>273
<?= $unko ?>
- 275 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 19:04:47.25 ID:qAF+l3pr0.net]
- 消えた
イコールを使う
- 276 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 19:10:26.77 ID:9qmzIgrL0.net]
- >>274
ぉぉ、ありがとう
- 277 名前:デフォルトの名無しさん [2022/12/30(金) 06:55:15.99 ID:jSAhgQsba.net]
- ログイン画面の練習をしるけど
pdoでbindParamするなら$_POST["mail_address"]をそのまま使ってprepare, executeしてもSQLインジェクションや他の心配は無いの?
- 278 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 08:47:22.73 ID:PltrrzPa0.net]
- SQLインジェクション対策の観点では基本的に安全です
ただし、ごく限定的な場面において問題になります ごく限られた場面の例はこちら https://blog.tokumaru.org/2010/07/pdo-shiftjis-sqli.html 今となってはほんとに限定的ですが ただ、一般的にPOSTされたパラメータをそのまま使用するケースはなくバリデーションして使用します そのまま使用することでシステムとして不適切なパラメータをDBに保存する可能性があり、最悪システムに脆弱性を潜ませる原因となります
- 279 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 09:51:16.89 ID:O9ibooQq0.net]
- まあ面倒なのでDBに入れる前に適当に正規化しちゃうよな
- 280 名前:デフォルトの名無しさん [2022/12/30(金) 09:59:30.47 ID:BxxG/FrZM.net]
- >>278-279
ありがとう、ログインの情報だけなのでDBにはselectしか使わないので postされたものはhtmlspecialcharsだけ通した変数名を bindParamに使おうと思ったけど合ってますか? 色々なやり方があってたくさんのコードに心折れそうになるわ どれも動く例だとは思うけど何がベストに近いか判別する能力が無いのがつらい
- 281 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 11:47:17.35 ID:PzTBwVTC0.net]
- >>280
> 何がベストに近いか そりゃLaravelでしょうよ。 > postされたものはhtmlspecialcharsだけ通した フレームワークレスでやるにしても、これは違うだろ。 htmlspecialcharsは将来的にHTML(またはXML)で表示する用であって、 ログインアカウントにメアドを使う場合、そのメアドをHTMLで表示することはないので、意味がない。 普通はfilter_inputでバリデーションして、生でDB登録では? (ただしDBの中身をエスケープ済みで統一するというのも一つの手法ではあるが) まあ俺はWeb系ではないから、他の人の意見も聞くべきだが、普通に考えれば、 ・ベストな手法を使いたい→Laravel使え ・ベストな手法を知りたい→Laravelの中のログイン関連のコードを読む だと思うよ。 ググって出てくる個人レベルのコードは、Web系の場合はほぼ全部ゴミ(間違いが多すぎ)なので、 むしろ落とし穴でしかないし。少なくとも"俺様の凄いコード"系ではなく、多数派を採用するべきだ。 あと、IDE(かリンター)使えば勝手に怒ってくるから、そこを全部言われたとおりに直すとか。 まあ真面目にPHPで何か作るつもりで練習してるのなら、最初からLaravelも現状況では有りだと思うけど。
- 282 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 12:45:56.93 ID:LKp8uG8e0.net]
- うざっ
- 283 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 14:24:19.84 ID:qIyy1X7s0.net]
- bindvalueの方が5C問題とか起きにくいんじゃね?(よっぽど無いと思うけど)
- 284 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 15:39:02.23 ID:PzTBwVTC0.net]
- >>282
まあゆとりにはそう思えるのだろうね。 しかし、実際、256にしても285にしても、最初から間違ってるじゃん。 > 色々なやり方があってたくさんのコードに心折れそうになるわ 頑張って勉強してますアピールご苦労様だが、実際の所、 ・ログインアカウントにメアドを使います ←分かる ・アカウントはDBにhtmlspecialcharsして登録しておきます ←は? 後者のサンプルコードなんて、俺は見たこと無いけどね。 285は学んでるフリだけしてオレオレ流でやってる、 ある意味まんさん的な「レシピ通りやってるんだけど…」(やってない)そのものだ。 こんな事では上達はしないし正しいコードにもならないから、 最初から全否定してやるのが本人の為だと思うが。 (256も同様。普通にDB内容をechoする例をググれば、ほぼ全部264や274のコードのはず。 だから262のコードは一度もググらずに本人がさらっと書いたコードだと分かる。 それは本人はプログラミング出来てるつもりだから、つまり他言語である程度出来るし自信もあるからだが、 いやお前全然足りてないし話にならないよ、とは言ってやらないと駄目だろ。 さすがにリアルでは無理があるにしてもさ) というのは「内容が間違ってようが優しい方が正義だ!」なゆとりには通じないのは知ってる。 というわけで、しばらく撤収するわ。精々盛大に空回りするんだね。 この板のレベルがゴミになったのは、この「ゆとり気質」によるものがかなり大きいと思うよ。 個人で頑張ったところでどうにもならないけどさ。 しかしせめて、自覚があるのだから、誰かがやってる手法をなぞれよ、とは思うよ。 何故そこでいきなりオリジナリティぶち込むかね?コピペ駄目!絶対!の行き過ぎか?
- 285 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 18:20:28.92 ID:P3987fug0.net]
- キチガイワロタw
- 286 名前:デフォルトの名無しさん [2022/12/30(金) 19:12:38.17 ID:BxxG/FrZM.net]
- >>279
すいません、変数の内容を正規化というのはどういう意味? 全角英数を半角にするとか、htmlspecialcharを通すとか?
- 287 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 19:19:39.32 ID:PzTBwVTC0.net]
- >>285
ぼくといけんがことなるひとはぜんいんきちがい! というのは、典型的ゆとりムーブだな。 ただそんなんだから、お前らゆとりはゆとりだけで安住出来る場所を維持出来ないんだよ。 そもそもお前らが老害と蔑む連中が大量にいるここに出張ってくることしか出来なくなってるのが間違ってる。 世代的にはもうゆとりにも熟練者が大量にいるはずだし、掲示板のコード自体は簡単だから、 ゆとりが作ってゆとりが運営するゆとり掲示板でプログラミング情報の交換は適正に行えるはずで、 それが素晴らしく機能し、 俺らがそこに出張っていったら「老害来んな!」と追い払われるのが本来あるべき展開だよ。 そうならないのは、ゆとり全体に老害ならぬ「ゆとり害」が蔓延ってるからだ。 お前らは自覚出来てないのだろうが、287や290のような典型的ゆとりムーブがコミュニティを破壊する。 ただ、256も285も酷いが。ググって出てきたコード通りにやったらその結論にはならんだろ、でしかない。 お前ら質問を装っているだけで、正しい答えを知りたがっているわけではないだろ。 そういうのはコミュニティを疲弊させる。 Qiitaが掲示板みたいな機能付けたけど収拾付かなくなって削除したんじゃなかったっけ? お前ら見てるとまあ納得だよ。 ただ本来は、Qiitaの掲示板がバリバリに機能して、俺らが押し掛ける側になるべきだった。 そうならなかったのは、お前らゆとり全体に問題があるからだよ。
- 288 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 20:55:14.08 ID:kXS4eEBid.net]
- 「変数の内容を正規化」というのが、ユーザーの入力データを勝手に修正することなら
悪手のような気がするけどね 要件を満たさないならエラーにするべきでしょ
- 289 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 22:16:56.61 ID:KyAw5omf0.net]
- キチガイ激おこw
- 290 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 00:35:38.12 ID:X7WB85940.net]
- まあ5chに居るゆとりは全員寄生虫根性のキチガイだから
何度言っても全く聞く耳持たれないのも分かるんだけどさ。 少しでもマトモならもっと若いSNS(≒自分達の世代が主力の場所)を盛り上げようと努力する。 ググったらQiitaでは何度か炎上騒ぎもあったみたいで、 順当に考えてそっちに参戦してるのがマトモなゆとりで、 上の世代が大量にいると知ってて5chに来て、 悪態をつきながらも出て行きもせず、改善の努力もしない、ここにいるゆとりは、 寄生虫韓国人と同様、死ねでしかないよ。 とはいえ、クズゆとりをこちらに切り離した状態でも成立しないのだから、 まじでゆとり世代はかなりヤベーと思うけどな。
- 291 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 01:12:41.10 ID:JNZhSZTU0.net]
- >>288
電話番号を半角で入力させるとこで全角ぶち込まれたら 勝手に半角にしてハイフンやかっこも取り外してやんのが 江戸っ子のフロントエンドの正規化の心意気ってもんよ
- 292 名前:デフォルトの名無しさん [2022/12/31(土) 02:53:48.51 ID:TeLjBPNY0.net]
- じゃあ江戸時代の電話番号が来たらどうするんだよ?
- 293 名前:デフォルトの名無しさん [2022/12/31(土) 06:30:53.75 ID:FohLv0kz0.net]
- なにもかもがうろ覚えなので申し訳ないのですが、
テレグラムのような密告用、告発用のツールだかソフトウェアだかを作り その後、強姦かなにかをやってフランスかどこかで逮捕された プログラマーのことを思い出せません 彼の名前と作成したツールの名前を教えて欲しいです ちなみに彼は白人です
- 294 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 09:54:11.95 ID:uLO3zrOn0.net]
- キチガイワロタw
- 295 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 09:58:50.74 ID:X7WB85940.net]
- ついで。
結局のところ、ググッったところで ・元々一つの連想配列だったものをわざわざバラしてforeachで再結合させるコード(262) ・ログインアカウント名をhtmlspecialcharsしてDBに登録するコード(285) は出てこないと思うんだよね。 だからこいつらは色々見聞きしたものを何の理解もせずデタラメに再構成してて、 ググッた通りにやろうとはしてない。 こいつらが欲しかったのは正解ではなく共感/同情で、まさに例のコピペ「バッテリー女」と同じ。 このコピペはゆとり以前からあるので、これ自体はゆとりの問題ではない。 ただ、プログラミングがカジュアル化していくなかで、 全くエンジニア適性がない「バッテリー女」タイプがプログラミングもするようになってきた、ということ。 そういえばQiitaも元は完全にプログラミングコミュニティだったのが、 エンジニアに、さらに非エンジニアにも対象を広げて行ってるんじゃなかったっけ? となると当然「バッテリー女」タイプも徐々に増え、質疑応答を適正に行うのも難しくなってくる。 そしてさらにゆとりで、まあ無理だよな、ではある。 (ネット上のゆとりは俺らから見ると許容範囲が異常に狭過ぎる。 ただこれはゆとりの問題と言うよりは、俺らがガバガバ過ぎるんだが) ちなみに共感/同情して欲しいだけならプログラ『マ』板=雑談板がそれ用だ。 ここはプログラ『ム』板=技術板であって、本来は技術的内容に特化した板だ。 ただ最近はム板から逃げ出した連中がマ板でよろしくやってて、マ板の方がマシになってる、とも聞くが。 だから262や285はマ板なら幸せになれるかもしれんよ。 ただそれ以前に、お前ら「バッテリー女」タイプは適性がないからプログラミング止めた方がいいと思うが。 (まあこれは「プログラミングは誰にでも出来ます」と言い続けてきた俺ら世代にもかなり問題があって、 実際は、何であれ適性はあるし、そもそも馬鹿にはプログラミング出来ない 《エンジニア領域で有能と無能の差がここまで明確になる分野は他にない》 と言うべきだったわけだが)
- 296 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 10:03:19.35 ID:ny8D6qkt0.net]
- >>295
「俺ら」じゃねーよ、「お前だけ」だよキチガイw
- 297 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 10:12:14.53 ID:KIi0dIp+0.net]
- 上のコメントは読む気にならないので読んでないけど、目立った箇所に気になる情報があったのでコメントしとく
> ・ログインアカウント名をhtmlspecialcharsしてDBに登録するコード(285) これは元凶となる教本があって某QAサイトの初学者のコードではよく見かける その教本にはセットで副読本が配布されていて、そちらまで読むと間違いって分かるんだけど、読まない人が引っかかってるっぽい 被害者は多数いる模様 まぁ普通の初学者は教本が堂々と間違ったこと書くとか思わないから、被害を受けた方を責めるのは死体蹴りだよ
- 298 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 11:26:53.14 ID:X7WB85940.net]
- >>297
> これは元凶となる教本があって おい!ここは匿名掲示板なんだし、そもそも誹謗中傷でもないので伏せる意味無いだろ。 ゴミだと思うのならならゴミだと堂々と書くべきだよ。それが正しい議論だ。 (というかね、そもそも匿名ですら堂々と言えないようなことはネットにでも書くべきではないんだよ) が、まあ、それが事実なら、 ・ちゃんと副読本まで全部読め ・そもそも本なんてその程度なのだから全部捨てて、php.netを全部頭から読み直せ が解となるのだろう。俺は後者を推すが。 > 被害を受けた方を責めるのは死体蹴りだよ ここが違うんだよ。価値観が同情>正解だろ。これがゆとりの世界。 だけどさ、コードは誰がどういう経緯でどう書こうが、不適切なコードは不適切な動作しかしないから、言い訳にはならないんだよ。 (僕には不適切な本が与えられたから不適切なコードになってます、だから漏洩しました、僕のせいじゃないです!とは言い訳出来ないだろ。 《いや、割とまじでゆとりなら言いそうで困るが》) まあとにかく、書いたとおりにしか動かないコードの世界は、 コード学習の「経緯」ではなく、出来上がったコードの「結果」だけが価値を持つ世界だ。 不適切なのを自覚出来てないのなら、自覚させる為に、堂々と死体蹴りしてやるべきなんだよ。 そして「なんで俺って死んでんだ?ああ、あの本が悪かったのか!」と気づけば再学習して復活するだけの話だ。 そこで「僕は変な本で学んだから変なコードになってますが、僕を責めないで!!!」となるのがゆとりだが、それでは何も改善しないだろ。 さっさと学習し直せボケ!でしかない。
- 299 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 11:27:13.37 ID:X7WB85940.net]
- (逆に言えば学習し直して適切なコードを書けるようになれば無罪放免でしかない。
ここら辺がゆとりも議論慣れしてない所で、お前の人格があるいはゆとりが、ではなく、お前のコードはおかしい、と言ってるだけなんだよ。 ゆとりは議論教育を受けているから一見俺ら世代より議論が出来るようになってるように見えるのだけど、 実際は「議論モード」では意識的に感情的にならないように装ってるだけであって、本質の「意見と人格の分離」が出来てない。 お前の学習経緯なんて知ったこっちゃ無い。コードがおかしいからおかしいと言ってる、さっさと再学習しろ、それだけだ。 そこで、「僕が悪いんじゃない!」となるのは意見(コード)の否定を人格否定と捉えてるからだよ。 そもそも、「お前が悪い」とは言ってない。「お前の『コードは』おかしい」と言ってるわけでね。それ以上でもそれ以下でもない) ただまあ、この辺の初学者向けには色々難があるのは事実だよ。ありがちなのは、 1. まず何も気にしてない、生で出し入れするだけのコード 2. 実は1にはセキュリティ上の問題がかなりあるので、色々改善したコード と構成する手法だが、おそらく1しかやらない(或いは1をコピペして使う)馬鹿が続出したので、 最低限1でもhtmlspecialcharsしておこう、となったのだと思うが。 しかし同情されたところで漏洩の言い訳にはならないよ。 (いや、ゆとり的価値観なら言い訳として成立するのかもしれないし、ここら辺が根本的に違うのかもしれんが)
- 300 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 13:40:00.71 ID:bqLVyI/z0.net]
- 自作自演キチガイw
- 301 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 18:08:34.69 ID:jUZbhNPLM.net]
- ゆとりでもそこまでひどいのはごく少数派じゃねーの?
- 302 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 18:47:55.80 ID:X7WB85940.net]
- >>300
何でも自演に見え始めたらもう病気だよ。 まあついでに言ってやるとな、そりゃお前の心が弱いからだ。 自演するような奴は、自分が多数派だ!ということにして安心したいからであって、 俺みたいに、議論慣れしてて自身の意見を堂々と言うタイプは、自演なんてしないんだよ。 多数派か少数派かなんかに価値を認めてないから、する意味がないんだ。 だからまあ、この時点で自演ガーというのだから、 少なくとも君にとっては俺が思ったより叩かれてないのだろう。 というわけで287=290=294=299=305(=301)で、 俺に粘着してるのは高い確率で1人、多くて2人、ということになる。 だから焦って自演ガーと言いだす。 ただこれは俺もちょっと予想外で、もっと噛みつかれると思ってた。 少なくとも、半年~1年前ならもっと酷い展開になってたはず。 思った以上に世代交代が早いのかもしれん。
- 303 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 18:48:19.72 ID:X7WB85940.net]
- 俺が思うに、世代は
ネット第1世代(俺ら):ネットに何も無かった頃からネットを使っている。 だから場所を作るし、場所がないことで困ったことを経験しているので、場所を壊すことはしない。 質問の回答は人間がしてると理解してる。(5ch) ネット第2世代(ゆとり):ネットに一通り揃った頃からネットを使っている。 だからネット上には全てあるものだという価値観で、 場所は探すが作ることはしないし、既にある場所も気に入らなければ壊すし、やりたい放題。 ネット上には無限のリソースがあり、質問したら自動的に答えが返ってくる、程度の認識。(teratail) というわけで大体の争いの原因はこの世代間の価値観の違い、 ネット第1世代から見ると「そこまでやるか?」をネット第2世代は軽々と踏み越えていくところにある。 典型的なのは「返事しろやボケ!」で、第1世代なら回答貰えば返事はする。 誰かがわざわざ回答してくれてると認識してるから。 ここら辺のベースの価値観からして違うから、第2世代とは合わない。 そして、 ネット第3世代(脱ゆとり/さとり):ネット上の炎上騒ぎを「経験」ではなく「歴史」として学んでいる。 スルースキルが高いかどうかは不明だが、 少なくとも「ネットにはスルースキルが必要だ」と理解してからネットを使っている点が 第1,2世代とは明らかに異なる。 の流入はもう始まっており、俺の読みでは現段階(2022-23)が5chで第2世代が一番多い時期で、 2030頃に第3世代が主流派になる。 だから今後数年間かけて世代交代がおき、5chの雰囲気も第3世代寄りに変わると見てる。 今現在ゆとりがやりたい放題なのが改善することを期待している。が、正直どうなるのかは分からない。 ただ、世代交代はほぼ確実に発生する。 そして、結局のところ、第3世代と第2世代は価値観が違うから、 ゆとりにとって居心地のいい場所は、ゆとり自身が作るしかない。 第1世代(5ch)に寄生しても、第3世代がこれから作る何かに寄生しても、第2世代の価値観では居心地悪いんだ。 順当に考えるなら、Qiitaかteratailか、頑張って盛り上げろ、だと思うが。
- 304 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 18:48:44.33 ID:X7WB85940.net]
- なお第3世代、場所に関しては、一周回って俺らと価値観が似てくるのではないかと見てる。
第1世代:リアルしかなく、『質問したくても出来なかった』のを経験してるから、 ネット上に質問場所を作ったし、そこを大切にしてる。 第2世代:ネット上に最初から質問場所があったから、 ただで回答もらえて便利という認識でしかなく、デタラメを繰り返し、破壊する。 第3世代:第2世代が質問場所をほぼ破壊し尽くした段階(=現在)で、 『質問したくてもろくな場所がない』事を今経験してる。(から、おそらく場所を大切にする価値観になる) というわけで、おそらく第2世代が第3世代に寄生しようとしても普通に追い返されるはずだ。 第3世代が新たに場所を整備しなければならない理由は、第2世代がぶっ壊したからだからだ。 典型的なのはJS、今現在5chにろくなスレがないだろ。 そして第1世代にとっては第3世代は『場所』に対しての価値観が似ているから、 ネット上のコミュニティとしては第1世代と第3世代は親和性が高く、 5chは第3世代の流入によって徐々に回復する、と俺は勝手に期待している。(が、まあ、わからないけど)
- 305 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 21:24:53.80 ID:OG1LzTlR0.net]
- キチガイ必死w
- 306 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 23:15:23.95 ID:X7WB85940.net]
- >>301
ゆとり舐めちゃいかんぜよ。 だいたいteratailなんて、当初は「ググる前に質問しろ!」と言ってたからな。 理由は、質問がないと回答もつかない(付きようもない)のでサイトが盛り上がらない、 だからググッた結果、自己解決して、質問がteratailに投稿されないのは機会損失であり問題だから。 とマジで真顔で堂々と言ってた連中だぞ。 は?なんだそりゃ?だろ。お前ら回答してる連中をなんだと思ってるんだ?と感じて、 俺はteratailには一切協力しないことをその瞬間決めたが、実際、5chでもゆとりは、 「俺様が質問してやってるから、お前が回答出来て、お前の承認欲求なり、教えたがりな性格を満足させてやってる。 だから質問者である俺様に感謝しろ」とかマジで言ってた奴も結構いた。 ギャグとしか思えないかもしれないが、マジだぞ。しかも1人や2人じゃない。 で、当然あほくさくなってあらゆる質問スレが崩壊した結果が今だ。 ゆとりは「上から目線ガー」とか超絶うるさいのに、態度は上から目線なんてレベルを完全に通り越してて、 何だこの矛盾は?なのだが、連中にとってはこれで問題ないらしい。 で、考えてみた結果が308に書いたとおりだ。連中はAIが自動回答してる程度の認識なんだよ。 だから、AIが回答するサイトを立ち上げるのも、第2世代的には解になるのだろうよ。 最近、他スレでGPTChatを宣伝しまくってる奴いたろ。 JSとか、何度目だこの質問?が多いから、実際機能するだろうよ。 PHPは、ぼくのこーどのばぐをなおしてください、が多いからまだまだ無理だろうが。 とにかくまあ、ゆとりの価値観に俺らの常識を当てはめてはいけない。
- 307 名前:デフォルトの名無しさん mailto:sage [2022/12/31(土) 23:15:41.32 ID:X7WB85940.net]
- 302:そうなる状況があるのだから情状酌量しろ
俺:そんなの言い訳にならねえよ。今すぐ勉強し直せ 302は俺よりはゆとり寄りで、あまりにも叩きが酷いから見るに見かねて、だと思うが、 そもそもこんなの叩きのうちに入らないし、 既知の問題ならそれを共有するサイトを立ち上げるなり、Qiitaに書いておくべきだよ。 被害者多数なら、それを救済すべくお前は動いたのか?って話でね。 ただ、Qiitaはアカウント制だから、「この本には問題があります!」とは書きにくいのは分かる。 だけどここは匿名掲示板なんだから、302に書くのなら、「問題を共有する」という意味で、 どの本のどこに問題があるか、分かるように書かないといけない。 それを変なところで及び腰、訴えられたら困るとでも思ってるんだろうが、線引きがおかしい。 それは共有するべき、有益な情報だろうがよ、という話でね。 何を共有すべきか、何をホウレンソウすべきか、分かってないんだよ。だからサイトが成立しない。 結局302は俺に対する文句以上の意味を持ててないんだ。 それを少なくとも、現物を持ってる人だけでも確実に分かるように書けば、(例えば「有名な表紙が○○な本」とか) 情報価値としては全然違うわけでさ。 てなところが地味に効いてるとは思うんだよね。 「お前が書きたいこと」ではなく、「読んだ奴にとって意味があること」を書かないといけないのに、それが出来ない。 逆にここら辺厳密にやってるのがStackOverflow(英語版)で、実際大したもんだよね、世界で一人勝ち状態だし。
|

|