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

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

関連記事

手書き数字診断士(機械学習)ver 0.0

手書き数字診断士、まずは動くようにしました。 ただ、初っ端から間違えています・・・! 動画 http://webmaking.rei-farms.jp/wp-content/uploads/2018/ …

機械学習の勉強から見えた「間違いだらけのAI認識」

「AI」という字面が新聞にもネットニュースにも数多く出てくるようになりました。 ただ、機械学習を勉強してて思ったんですが・・・・AIの定義が曖昧すぎる 内容が書いてある記事も殆ど無いし…。 AIが行っ …

no image

TechCrunch(英語版)のススメ

「英語」と聞いただけで敬遠する方もいらっしゃるかもしれません。 しかし、「やらないと慣れない」のは事実。 慣れるには「好きなものだけ」読めばいい! すごく簡単ですよね? 1週間に1記事だけでも、全く別 …

Python可読性高すぎてすごい

コード ちょっと詰めて書いていますが year = int(input("あなたの生まれ年を西暦4桁年で表記してください:")) eto_list = (‘子’, ‘丑’, ‘寅’ …

for内で選手個人データをSQLで呼び出すより、辞書型を利用した方が読み込みは早い

for内でSQLを呼び出すと遅い…。 自作野球ゲームMeisyoでは、明示的にデータを呼び出すためにfor内でSQLを利用していました。 CDs = {} # Cardデータ(選手id, 選手データ) …