RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

ブログ Web制作

[PHP]まとめ読みをPSRで改良する(1)

投稿日:

this trash wanted to go in a can, but the can was too full, so it's waiting for the next one

今回の改良対象

ミニ四駆まとめサイト

なぜやるのか?

  • PHPのバージョンアップによる速度の向上
  • 一番はこれでしょう。
    今のはPHP5.2で動いています。
    1割から5割の速度向上が見込まれます。
    1秒でも早く表示することによりユーザーの時間を無駄にさせないためです。
    まとめサイトは居続けてもらうのが目的ではないので速さが大事。

  • やってみないと理解できない
  • PHPのオブジェクト指向を理解しようとする初心者の立場で「どこがわからないのか?」「わかりにくいのか?」を分析します。
    「プログラム = 敷居が高い」のは、そういった解説も少ないからじゃないかなと思います。

  • 人は忘れやすい
  • 書いておかないと「どこがどうだったか」なんて忘れます。
    書いておくと後で解説を書くときに書きやすいし、丁寧に書ける。

  • PHPのバージョンが低いとセキュリティホールがある
  • まとめ読みの質の向上
  • EBS3(戦略ゲーム)を作りたい、やっぱり配布したい
  • せっかくHTML5とCSS3が出てきたのに作らないのはないでしょ!というわけです。
    個人制作のゲームがほぼ死滅しているのでチャンスだと思ってます。

  • 現在のコードが酷い

いろいろあります。/(^o^)\

現在の惨状

現在のコード(一部)

# 期間ランキング記事
$i=1;
$sql=mysql_query("SELECT * FROM article ORDER BY count DESC");
while ($ART=mysql_fetch_assoc($sql)){
	if(!$ART[count]){break;}
	#集計
	$HASH=explode($SET[INTER],$ART[id]);
	$blogid=$HASH[0];
	$time=$HASH[1];
	$WEEK_BLOG[$blogid]+=$ART[count];
	$COUNT_BLOG[$blogid]+=$ART[count_all];
	#表示
	if(preg_match('/PR:/',$ART[title])){continue;}//PR排除
	if($html_art_week&&$i<50){$html_art_week.="<tr><th></th></tr>\n";}
	if($i<50){$html_art_week.="<tr><td><strong>${i}位&nbsp;<span style='color:#FF8C00;'>$ART[count]</span>counts</strong><br><a href='$SET[path_link]?q=$ART[id]' target='_blank'>".escape($ART[title])."</a></td></tr>\n";}
	$i++;
}

「うーんこれは一体・・・」みたいなコードです。
可読性低い、速度考えてない、なんでも言えるような状態。

これではEBS3を作っても誰も改造できないコードになってしまいます!

次の記事

更新したら書き換えます。

-ブログ, Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[Meisyo] 探索

これは何? 名将と呼ばれた者達の1機能である探索(2020年4月実装)について書いた記事です。 実装目的 1・別目的の追加練習を追加したい  これまでは選手の獲得・育成をメインにした追加練習しかなかっ …

スッキリわかるSQL入門 第2版 題材A 問75

回答が非常に長い気がするのはなぜだろうか。 /* 自己結合を用いた場合 */ SELECT DISTINCT K1.名義, K1.口座番号, K1.種別, K1.残高, K1.更新日 FROM 口座 …

Flask-Babelを使って、Pythonアプリで多言語対応を行う

Pythonで多言語対応してみたいなーと思っていました。 思っていましたが、実際になかなか使うタイミングがない・・・。 今回自作ゲームでユーザー数の増加がみられ、かつ海外からのアクセスも複数確認できた …

(VPSでつくる) WinSCPでFTP接続

連載第十回目です。 これまではVPSサーバーに対し、viエディタで色々なファイルを編集してきました。 ただ、今後はFlaskアプリなど、かなり作り込んだサービスの導入テストを行いますので、一ファイルず …

【初心者向け】mysqlclientのインストールで詰まったときの補足

コマンドラインでmysqlを使いたい!と思ったら、思わぬ罠がありましたので紹介します。 *僕の場合はpythonで使いたい!というものでしたが、他でも使えることを確認しています。 まずコマンドラインで …