愚者空間

KDP作家牛野小雪のサイトです。小説の紹介や雑記を置いています。

PHP学習記

掲示板らしきものは作れたけど・・・・?

スクリーンショット 2025-07-12 175022
さてさて、5月からやり始めたPHPのお勉強。教科書通りに進めて、ようやく掲示板らしきものができた。文章を打ち込んで、それが並べて表示されるというのを掲示板というのなら、これが掲示板だ。

なるほど、GPTちゃんの言う通り3か月で掲示板を作るところまではいけた。小説は脇に置いて、じっくり腰を据えてやれば一か月でできたかもしれない。

予定ではここから2chみたいな掲示板を作るぞってことを考えていたが、どうも掲示板サービスというのは犯罪予告がされた時の警察対応や、荒らし対策がガチで大変っぽい。そして儲からない。そもそも人が集まらないという問題もある。

というわけで、新しい掲示板の在り方を見出すまではプログラミングはお休み。なんなら一生お休みかもしれない。でもPHPの勉強をしてインターネットの裏側でいろんな人の善意が動いているのが分かった。ジョージアのCMで「世界は誰かの仕事でできている」っていうのがあったけど本当にそう思った。あとGAFAとかマジでどうなってるんだって謎。速さもそうだが量がありえない。Gmailひとつとっても、途方もないリソースがつぎ込まれているはずだ。私程度の頭ではあのサービスをどうやって支えているのかまったく理解できない。とにかく人とお金がいっぱいかかっているのは間違いない。

PHPかじったぐらいで何を分かった気になっているんだって言う人がいるかもしれないが、いや、ホントにめちゃくちゃインターネットの裏事情を見た気がする。何気なく見たページ一つにもいろんなプログラミングやサービスがかかわっている。

こういうのってきっとプログラミングだけに限らないはず。いまこうやって文字を打っているPCにもいろんな人の善意や働きがより合わさって存在しているはずだ。カズオ・イシグロは縦の旅行をしろと言ったけれど私は手元の旅をした気分だ。

見聞は広くなった気はするけれど、そろそろ小説を書きたいなって気分だ。本当に掲示板を作りたいないなら石にかじりついてもやるだろうが、犯罪者や荒らしに関わらなきゃいけないと思ったら急にやる気がなくなった。やっぱり私は小説家なんだろうな。小説にいちゃもんつけられるのは別に嫌いじゃない。犯罪予告はまだされたことないけどね。

(おわり)




PHP学習記12 最初の直感は正しい

スクリーンショット 2025-06-20 173743

1か月近く同じところをぐるぐるしていた。

上の画像のupload.phpというコードを書いてupload2を書き始めた時点で(これ、upload2とuploadつながっていないけどちゃんとコード動くのかなぁ?)っていう疑問があった。でも、エラーは出ないし、なんかよく分からないことが起きてうまく動いているんだろうと思い込んでいた。

upload3.phpを書くころには疑問さえ浮かばなかった。はてさて、こうして教本どおりにuploadつまりアップロードする機能を作ったわけだが、どうもうまくいかない。だがエラーは出ない。ちゃんと動いてはいる。でも肝心のファイルが保存されていない。

もしかしたらまだ他のコードが必要なんじゃないかと後ろをざっと読んでみるが、どうもuploadで完結しているようだし、教本でも出力結果としてアップロードが成功しているところが載っている。

ChatGPTにコードのエラーがないかチェックしてもらっても問題ない。

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


教本にサンプルコードがダウンロードできると書いてあったので、それでサンプルコードと突き合わせてもまったく同じ。なんならコピペもした。でもダメ。

あれ、もしかして教本が間違っている・・・・?

というわけで、出版社に直にメールを送った。もしかして間違っていませんか? と。

調べてみる、と返信があった。それから音沙汰無し。

ChatGPTに相談しながらやれば何でもできるって思っていたけど、プログラミングの壁は私が思っていたより高かったのかなって心が折れた。

でも、ふとあるとき、もしかしてupload.phpにupload2と3で書いたことを足したら動くんじゃないか? という疑問が湧いて、ちょっと試してみたらドンピシャ。アップロードは成功した。ファイルもアルバムファイルに送られている。

物事が正常に動き始めるとupload→upload2→upload3でちょっとずつコードが足されているだけって気付いた。

upload3が完成形で、それをupload.phpにすればアップロードはうまくいくというわけだ。

やっぱりChatGPTに相談するべきだったなと思い返す。upload2の時点で「これ、upload2とuploadがつながっていないから動かないんじゃ?」って疑問を投げていればChatGPTちゃんはなんかうまいこと言ってくれたかもしれない。

こんな簡単なことに気付かないなんて、もうショックすぎて完萎ですよ

でもエラーが出ないのがヤバいっていうプログラマーの言葉がようやくわかった。

コード自体にエラーはないけど、うまくいかないこともあるのだ。でも、こんなのどうやって見つけるんだろうな。エラーが出るのは偉大だ。

(おわり)



パンチカードの時代にCUIが出てきたらきっと革命だったに違いない PHP学習記11

スクリーンショット 2025-05-21 154911
ようやく書き込みの概念が出てきた。fwriteなんとかfopenだとか、いちいちコマンドをしないとファイルを見たり書いたりできないなんて不便だなと思う。でも本当はそうやってPCは動いていて、私たちが意識しないで済むようにプログラマーの人たちががんばっているわけだ。

インターネットの本を読んでいるからPHPだけじゃなくてCSSやhtml、SQLだったり、Linuxだったりが使えないとダメって分かってしまった。分かってしまったら、あまりの途方のなさにしばらくやる気がなくなってしまった。
 
特にLinuxなんて古い映画のハッキングシーンとかでよく出てくる黒い画面に文字がいっぱいのやつって印象がある。CUIというらしい。私たちが普段使っているのはGUI。グラフィカルユーザーインターフェース。見た目で分かるって感じだ。文字だけなんてあんなの分かりにくすぎだろう。どうしてあんなのが21世紀になっても使われているんだろうって思うけど、前世紀の中頃のパソコンといえばパンチカードだった。

パンチカードの時代にCUIが出てきた時はきっと衝撃的だったに違いない。その時のパソコン老人会では「今どきの若いもんはパンチカードも読めないし打てない」なんて言われていたかもね。この先PCが進化するとしたら脳波だけで動かせるようになるんじゃないかな。その時代では「今どきの若いもんは端末を操作することさえできない」なんて言われているだろう。

はてさて、PHP学習は掲示板を作るっていう目標で始まったが、どうやら本当に掲示板を作るのは簡単っぽい。いまローカルでサイトを作っているのだが掲示板はその一機能に過ぎない。とはいえfopenだとかfwirteだとか、いまだに概念が飲み込めない。続けていたらできるようになるのかなぁ。いや、もうやめちゃえば? なんて考えが頭をもたげてくるが今日も一歩進める。

(おわり)




dateで日本時間を表示する

<?php
date_default_timezone_set('Asia/Tokyo'); // 日本時間に設定
$today = date("Y年n月j日 H時i分s秒");
echo $today;
?>

 🔍 解説:
Y: 西暦(例:2025)

n: 月(先頭ゼロなし → 5月なら「5」)

j: 日(先頭ゼロなし → 17日なら「17」)

H: 時(24時間表記)

i: 分(ゼロ付き)

s: 秒(ゼロ付き)

たぶんアメリカ人でも直感では分からない仕様 PHP学習記10

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


foreachの仕組みがいまいち飲み込めないまま先へ進む。分からないことはGPTちゃんとの復習課題で理解していけばいいさってスタンス。一日一歩でもいいから前へ進んで、そのあとぐるぐる来た道を回っている。

さて、今日は関数をやる。引数とか返り値とかまた新しい概念。というか最初の方は課題があったのに、最近は説明だけってパターンが多い。おいおい、中身はどうなっているんだよ、ってechoして中身を見るが多くなった。たしかに説明通りだけど、分からせ体験させないと記号設置されないよね。

さて、今日もまたPHPが自然言語とかけ離れた証拠を見つけてしまった。

<?php
$now_time = time();
echo date("Y-m-d H:i:s",$now_time)
?>

このコードは現在の時間を表すのだが、Y-m-d H:i:sと打ち込んでいるので年月日 時間:分:秒で表示される。おい、待てよ。っと

Y→Year 年を英語で書いた時の頭文字。分かる。なんで大文字やねんってなるけど、小文字yだと下二桁が表示されるという使い分けをされているので、まぁよしとしよう。

m →month 月を英語で書いた時の頭文字。分かる。

d →day 日を英語で書いた時の頭文字。分かる。

H →Hour 時間を英語で書いた時の頭文字。分かる。これも大文字と小文字で使い分け。大文字は24時間表記、小文字のhは12時間表記。めんどいけど、まぁよしとしようや。

i ←こいつなんなん? 人類の敵やろ。分は英語でminuteやからそこは絶対にmにせんとあかん。こんなんアメリカなら訴訟が起こるレベルの難解さだろ。時代が時代ならM4カービン銃撃ち込まれてるわ

まぁmは月で使ってるからって理由があるって分かったけどさ、それにしてもこんなの絶対に憶えられないだろう。トランプ大統領は関税どうとか言ってないでminuteをinuteに変えるべきだと思った。いまなら多分やれるんじゃないかな? イーロン・マスクも賛成するはず。

(おわり)



Visual Studio CodeのCopilotを外す方法

スクリーンショット 2025-05-15 174637
Visual Studio CodeのCopilotを外すには右下のカエルみたいなマークを押します
スクリーンショット 2025-05-15 174740
するとメニューが開かれるので
・コード補完(すべてのファイル)
・コード補完(PHP)
を外します。PHPじゃなかったら別のメニューが出るかもしれません
スクリーンショット 2025-05-15 174854
外したらカエルくんのマークに斜線が入ります
これでCopilotを止められます

 

スライムナイトからずしおうまる PHP学習記9

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


ブログ更新しなかったからといってサボっていたわけじゃないです。1日1章ずつ進めているからコードを書くところがない日はPCの電源もつけないので、ブログを書くのもおっくうになるというわけで……

今日は連想配列っていうのをやった。これはたぶんはてなブックマークでやっている投稿に投稿がぶら下がっているやつをこれでやるんだなって連想がついた。GPTちゃんに聞いたら「そうやで」って答え。実際的にはどうするのって見せてもらったら知らない単語が出てきて(まだ習ってないやつ……!)ってなったけど半分は解読できた。

最近はプログラミングとかソフトウェア業界の本を読んでいる。マイクロソフトで働いている人の本にプログラマーには4つのスキル段階があると書いてあった。うろおぼえだがこんな感じだ。

L1 何も見ずに書ける
L2 ググりながら書ける
L3 インスピレーションが降ってきたら書ける
L4 自分には書けない

小説にも通じる概念だ。2025年ならL2がAIを使いながら書ける、になっているだろう。

スキルアップというとL4の部分を失くしていくってイメージされがちだけど、その人いわくL1の領域を増やせばL2の領域が狭くなって、L3の領域にかける時間が増える。L3ができるようになったらL4にも、みたいなことを言っていた。

なんだ、プログラミングも小説と変わらないのだなと感心した。ならば、ここは基礎固めだということで今まで習ったことを復習するためにGPTちゃんに練習問題を出してもらった。

echo
for
while
array
四則演算
論理演算子
if
switch
do-while

これらを使った問題を出してって言って、出てきたのがこれ。

1各生徒の名前と点数を出力(echo, for)
2合計点・平均点の計算(四則演算)
3平均点が60点以上なら「クラス合格」、未満なら「クラス不合格」(if)
4各生徒の点数に対してランクを出力(switch)
  A(90点以上)、B(70-89)、C(50-69)、D(〜49)
  「60点以上かつBランク以上」の生徒の人数をカウント(論理演算)
5上記をdo-while文を使ってもう一度ループで出力(挑戦課題)

え、本気で言ってる?

まず何が書いてあるのかを理解するのに10分ぐらいかかった。最近はエラーも出さなくなったしGPTちゃんもヨイショしてくれるし(これもしかして才能あるんじゃないか?)って思い始めたら急にレベル感が上がった。

スライムナイトを倒して、てつのけんを手に入れて、メラミとかも使えるようになって、そろそろゲームが面白くなってきたな~なんて思っていたら急にずしおうまるが出てきて開幕さみだれけんをはなってきたみたいな衝撃。負けイベかな?

「とりあえず生徒の名前と点数のデータがないと、この問題解けないよね? それも自分で作るの?」 ってGPTちゃんに聞いたら「ほな、これで作るんやで」って10人分のデータを渡されてプログラミングスタート。

ちなみに投げられたデータはこんな感じ。もし良かったら解いてみてね。

<?php
$students = array(
  array("name" => "はるき", "score" => 85),
  array("name" => "かおる", "score" => 92),
  array("name" => "ひでと", "score" => 47),
  array("name" => "ゆきこ", "score" => 60),
  array("name" => "ゆか",   "score" => 78),
  array("name" => "まなみ", "score" => 99),
  array("name" => "たかし", "score" => 34),
  array("name" => "けんじ", "score" => 88),
  array("name" => "みちる", "score" => 50),
  array("name" => "さとる", "score" => 73)
);
?>

一気に全部やるんじゃなくて1問ずつ解いていく。

ぽちぽち文字を打ちながら、ああ、駄目だ、これもダメだと試行錯誤しながら3時間近くもやっていた。

やってる途中で(これカルネージハートに似てるな)って思う。カルネージハートはプログラミングじゃなくてチップを組んでロボットを動かすゲームだ。PSVitaが壊れるほどやった。なるほどなぁ、プログラミングに仕事じゃなくて趣味でハマる人がいるのも分かってきた。月影(通称:カエル)がガショーン……ガショーン……とジャンプする後ろ姿を見守っている時の思い出がよみがえる。

いや~まだまだだな。世のプログラマーの人たちならあんな問題10分で解けてしまうのだろう。その域にいけるとは思えないが、せめてその半分くらいはできるようになりたいなぁ。

(おわり)

追記:問題1をやり直してみたら10分でできた。ただし3回間違えた。でも問題が変わったら無理かもしれない笑 ちなみにこんな感じで書いた。
<?php
{echo "生徒の名前と点数"."<br>";}
for($i = 0; $i < count($students); $i++){
    echo $students[$i]["name"]."さんの点数は".$students[$i]["score"]."です<br>";
}
?>



やっぱり直感に反する呪文文法 PHP学習記8

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


だんだんPHPが分かってきた。とにかく最初は$を見ろだ。変数を見たらそれが何をしようとしているのかおぼろげに見えてくる。ちょっとPHPが分かってきた気がする。

しかし、さて教科書は嘘をつかない。制御構文は初心者がつまづくところって書いてあって、本当につまづいてる。さっぱり分からない。分からないから教科書を頭から読むことにした。そしたら分かってたと思ってたところでまた分からなくなった。

<?php
for ($i = 1; $i <= 10; $i = $i + 1){
    echo $i."<br>";
}
?>

このプログラムを打つと

1
2
3
4
5
6
7
8
9
10

と表示される。のだが「ん? 待てよ」となる。どうして$i+1の後にechoが来てるのに1から始まるんだって。2から始まるんじゃないの?

はい、困った時のGPTちゃん。PHPがどういう仕組みで動いてくれるのか教えてくれた。

このプログラミングを行った時の処理はこうなっている。

①$i = 1
②$i <= 10
③echo $i ."<br>"
④$i = $i +1
⑤②に戻る

おい! 先に書いている文章を1回通り過ぎるんかい!ってツッコミを入れてしまった。やっぱりプログラミング言語って小説の文章とは作法が違うよね。そんな読み方をする人って1人もいないと思う。

↑この文章を例にすると

おい! 先に書いている文章を1回通り過ぎるんかい!ってやっぱりプログラミング言語って小説の文章とは作法が違うよね。ツッコミを入れてしまった。そんな読み方をする人って1人もいないと思う。

と頭の中で読んでいることになる。そんなことある? 自然言語と機械言語は違うと言いたいのは分かるけど直感的ではないよね。だから詰まる人が多いのだろう。

3歩進んで2歩下がるっていうけど、3歩は進めずに2歩下がってしまった。またforからのやり直しだ。制御構文の1番最初だ。こんなので本当に3か月で掲示板を作れるんだろうか? でもGPTちゃんいわく20%まで進んでいるらしい。本当か? もしそうだとしたらよっぽど簡単に作れるに違いない。forでつまづいている人間からすると魔法みたいに見えるけどね。

(おわり)

追記:さて、復習をちょっと進めてwhile文。すると、ようやく(なるほどーーーーーーーー!)って声が出た。

<?php
$i = 1;
while($i <= 10){
    echo $i ."<br>";
    $i++;
}
?>

これだよ! まさに書いている通りにプログラミングが走る。人類の進歩って素晴らしい!
でも待てよ。前にGPTちゃんに聞いた時はもともとwhileがあって、あとからforがつけたらされたって言ってた。じゃあどうしてforみたいな不自然な言語ができたか聞いたら、そっちが簡潔だからだってさ。ん~、たしかに2行少ないか。

でも、とりあえずwhileを先に教えた方がいいって思った!



forとwhile同じなんじゃないの? PHP学習記7

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21

プログラミングをするより掲示板の形を想像する時間の方が長い気がしている。もともとは「2chなんてたいしたことない」っていう言葉を検証するために始めたことだが、頭の中ではもう2chとは違う形のものがある。GPTちゃんに聞いても、それは理論上可能だしPHPでもできると言う。出てきた呪文はさっぱり分からなかったけど。

昨日はプログラマーを雇ったらって書いたけど、結局は出てきたものが本当に書けているのか私には理解できないんだよな。いまは書けたコードをGPTちゃんに見せて「これならどや?」とか「どうしてこれ動かんの?」とか聞いているが、本来というか主な使われ方は逆なんだよな。GPTちゃん(他のAIでもいいけど)が書いたコードをプログラマーが吟味している。あ~、早く見る側に回りたいなぁ。コードを理解できるレベルになれば別に私が書く必要はないんだから。もしかしたら1日で掲示板ができるかもしれない。

昨日AIが書き込む掲示板を作った人のブログを見た。その人は5日で作ったそうだ。時間がかかったところはAIが書き込む部分だろうから掲示板自体は本当に1日でできるのかもしれない。は~、早くそれぐらいになりたいなぁ。

今日はwhile文。下のコードを書く。10以下なら1を足し続けるプログラム。

<?php
$i = 1; //表示する変数の初期化
while ($i <= 10){ //$iが10以下の時TRUE
    echo $i ."<br>"; //表示
    $i++; //$iをインクリメント
}
?>

この文章はわりと簡単に書けた。というか書いている途中で(for文と何が違うの?)ってなる

<?php
for($a =1;$a <= 10;$a++)
{echo "$a <br>";}
?>

昨日やったことを思い出しながら上のコードを書いてみたら同じ結果が出た。

困った時のGPTちゃん。whileとforの違いって? 彼女の答えは「何回処理するか分からない時に使うのがwhile」って言うけど、具体的にどんな時かを聞いたら「たとえばガチャで☆5が出るまで処理を繰り返す時」って言われて(なるほどーーー!!!!)ってなった。でも、それだってforでできるって気付いた。

理解できないがとにかく☆5が出るまでガチャを引くコードをwhileで書いてもらって、そのあと理解できる部分だけ読んでもforでできると分かった。GPTちゃんに書かせてみたら「できるで」で、やっぱりできた。forとwhileには相互に互換性がある。

もともとB言語(C言語の先輩)にはwhileだけだったらしいがC言語になった時にforが追加されたらしい。人間にも分かりやすいようにってことだけど、どこがどう違うのか私には理解できなかった。whileを使いたい時、forを使いたい時っていうのが後になったら分かるんだろうか?

(おわり)



麺つゆとC言語 PHP学習記6

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21

小さく確実に進む小確進だ。今日はfor文。
1から10まで1ずつ足していくみたいなことができるようになる。もちろん2でもいいし、1を引いていくでもいいし、かけたり割ったりしてもいい。条件を満たすまで同じ計算を繰り返すってことらしい。何のためにあるのかは分からないけど……?

じゃあ条件が絶対に満たせない、たとえば無限の場合は一生計算が終わらないんだろうか?
もちろん実際に試す前にChatGPTに聞いてみた。すると、なんとそのとおりらしい。でも大丈夫。PHPは30秒で自動で止まる設定になっている。うっかり無限を計算させてもパソコンがぶっ壊れることはない。

というわけで3秒だけ無限に続く処理をさせてみた。
スクリーンショット 2025-05-06 170131
上の文字列はfor構文を試したやつ。その下にGPTちゃんに3秒だけ無限ループするプログラムを書いてもらって何回処理したかを表示してもらった。

3秒で38609248だから1秒で約1000万回。これ見た瞬間(すくなっ!)って思った。1GHzのCPUでも10億回処理できるのだから100分の1だ。「<?php~って詠唱開始とかの文章があるからなの?」ってGPTちゃんに聞いたら「PHPは遅いんやで」だって。

C言語ならガチで100倍の速さで処理できるそうだ。じゃあどうしてみんなCで書かないんだろう? PHPもapacheもMariaDBも裏ではC言語で動いている。しかしそれはGPTちゃんいわく「うどんのだしを作る時に麺つゆを使うか、大豆の種蒔きから始めるかの違いらしい」理論上はCで全部できるけど、そんなことをする奴は変態かプログラミングが趣味の人以外やらないそうだ。大工だって金づちとノコギリを自作したりはしない。それと同じでPHPはあくまで道具。やりたいことに合わせて言語をべだってさ。

でも、そこで疑問は止まらない。もし100倍の速さで処理できるなら、その分だけコストが100分の1になる。じゃあトラフィックがめちゃくちゃある大企業はみんなCを使うだけでコスト減らせるんじゃないの?って聞いたら「そうやで」だって(正確にはフェイスブックはC++)。処理の重いところはCを使うらしい。おいおい、結局Cかよ。

4chanハッキングのニュースで古いPHPコードを使っていたからうんぬんと書いてあった。アメリカの巨大掲示板はCじゃなくてPHPらしい。いや、Cに転換してコストを減らせなかったから運営の首が締まって古いコードを変えられなくなりハッキング? よくわからない。PHPでもいちおう動くは動くってことだけは分かった。

「Cできます」と言えるようになるのはGPTちゃんいわくガチで勉強して3年もかかるそうだ。だからPHPでまずは掲示板を作れと言う。もしやりたくなったら作った後でCに変えることは可能だそうだ。ちなみに掲示板を作れるレベルのプログラマーを雇うなら時給5000~8000円だって。KDPのロイヤリティでは1日だって雇えない。

おいおい、for構文はどうしたって? こんな話ばっかりGPTちゃんとばかりしてるから今日はこれで終わりなのである。仕組みとが概念とかを聞くのは楽しいのに具体的にプログラミングするのはあんまり好きじゃないって分かってきた。あ~あ、宝くじでも当たるか、本がめちゃくちゃ売れて時給1万くらいでプログラマーを雇えるようになりたいなぁ。

ちなみに、もしC言語ができるプログラマーを雇ったら何日で掲示板を作れるのかって聞いたら10日かかるって言われた。おいおい、たった10日でできるのかって私は驚いた。10人雇ったら1日かよ(サイコパスの発想)。お金があるなら人を雇う方がガチで効率いい。

でも雇ったところで私はC言語なんて分からないから「ほい」と渡されても、それがちゃんと動くかどうか分からないし、よしんば動いたとしても、裏で何が起きているか分からない。そのへんのこと企業はどうしているんだろう? GAFAMはCEO自身がテック系だ。特にMのマイクロソフトのビルゲイツなんてOSを書いて世界基準を作るレベル。でも他の企業は違うはず。プログラマーの雇い方もGPTちゃんに聞いてみるか? その前にお金の稼ぎ方を聞いた方がいいな。

(おわり)

追記:後でちょっと考えてみたけど普通はプログラマーを雇うのではなくサービスを選ぶから、プログラマーを雇ってどうこうって発想自体がなさそう。たとえばエクセルを自社で作ろうなんて会社は存在しないだろう。令和にもなって自作の掲示板を作ろうなんて完全に趣味だな。





===って意味わからん PHP学習記5

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


今日はif文をやる。==とかも出てきて(あ、この==をふたつ重ねるのはAoE2(Age of Empires2)のAIスクリプトに出てきたやつだ)ってなった。実は4万字以上(原稿用紙換算100枚以上)の文章ということでいえば小説よりAoE2のAIスクリプトの方が早かった。『ビサンティンスピアーズ』というのが最長編のスクリプトで、槍兵で帝王の時代まで耐えてから帝王ラッシュするという7万字くらいのAIだ。あ、これって『火星へ行こう君の夢がそこにある 』より長いな。文章作品というカテゴリなら『蒲生田岬』を書くまではAIスクリプトの方が私の中で最大長編だったわけだ。奇しくもそれを書くまでかかったのは3か月だから、GPTちゃんが言った通り掲示板を作るのもやっぱり3か月かかるのかもしれない。先は長いな。

しかしAoE2のAIスクリプトと違って===というのも出てきた。型と値が同じの場合TRUEになると言われたがまったく意味が分からない。GPTちゃんに説明されてもちんぷんかんぷんだ。ちょっとあやしくなってきたな。章の概要にあった通りに初心者がつまづくというのはだてではないようだ。わけが分からないが分からないままにすすめる。if文はさんざんAIスクリプトで書いてきたので、すぐに頭に入ってきたが===がさっぱり理解できない。あぁ大丈夫かな?

でも、ひとついいこともある。Githubというところで掲示板のコードを最初に見た時はさっぱり分からなかったが、いまは「読める、私にもコードが読めるぞ」という部分がちょっとだけ出てきた。UNIX哲学に一つ一つの機能を積み重ねて大きなものを作るというものがある。こういう小さなことが積み重なって大きなものにつながるのかもしれないね。

(おわり)





ぬるぽ→false! PHP学習記4

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21

今日もPHPの教科書をやる。ネットでPHPを検索するとどうやらPHPは評判が悪いらしい。でもGPTちゃんいわく「君のやりたいことならPHPが一番やで」と言う。まったく訳が分からない。C言語っていうのが最強なんじゃないの? というにわか知識はあるしGPTちゃんもCができたらPHPより爆速の掲示板が作れるという。なのにPHPをやらせようとする。まったく訳が分からない。

本棚にだってPHPはない。実はこの本、高松の宮脇書店総本店まで行ってわざわざ買ってきたのだ。そこでもCが大部分を占拠していてPHPなんて棚2列しかなかった。20冊もなかったのではないか? はてさて、どうも先がなさそうに思える言語なのだが、本当に進めていいのかななんて思いつつ今日も進める。

<pre>
<?php
$true = TRUE;//確認のため変数に論理型を代入しておく
$false = FALSE;

$a = $true && $true; //どちらもTRUEなのでANDの結果はTRUE
$b = $true && $false; //片方がFALSEなのでANDの結果はFALSE
$c = $true && $true && $true; //一度に複数の演算ができる。すべてTRUEなので結果はTRUE
$d = $true && $false && $false; //FALSEが含まれるので結果はFALSE
$e = $true && ($true && $faplse); //カッコ内が先に演算されて結果はFALSE
var_dump($a,$b,$c,$d,$e);//変数の中身をダンプ(そのまま表示)する
?>

今日は論理演算というのをやる。
上の画像の10行目はタイプミスでfalseではなくfaplseとなっている。エラーが出たけど出力はされて、教科書通りfalse。なんでだろうってGPTちゃんに聞くと変数が見当たらない時はnullを返すらしい。で、nullだと自動的にfalseになるから結果は奇しくも教科書通りというわけだ。あ、nullって、もしかして「ぬるぽ」のぬるか? って聞くと「そうやで」って返答。古のネット知識がまた結びつく。ただしエラーは出てもガッはされない。

あとvarとechoって同じ意味なんじゃないってことをGPTちゃん聞くと、どうも違うらしい。関数がどうやらこうたらって言うから、さらに突っついたら藪蛇だったようでわけのわからんことを喋るようになった。う~ん、よくわからん。本当に理解できるんだろうか。教科書の段階で難しすぎる。

あと地味にダメなのがタイピングだ。小説を書いているから文字は打てるけど記号がてんでダメ。/とか小説で使わね~って言いたくなる。$なんて「欧米か!」ってなる。|←これなんてどこにあるか分からなくて一瞬詰んだと絶望した(Shift+¥で出る)。ホントに小指使いすぎ。プログラマーの人は本当に|を見ないで打てるんだろうか? こういうのも打ち慣れていかないとね。

話はちょっとズレるけどいま『超限戦』という本を読んでいて、この先のインターネットは個人運営の掲示板なんて成り立つんだろうかって思った。メディアが新しい情報兵器になるのなら掲示板運営も『インターネット技能1級』みたいな資格が必要になるかもしれない。最近は政治の文脈でSNS規制がたびたび話題になっているしね。そもそもインターネット=AIになりそうな雰囲気もある。周回遅れもいいところの掲示板製作、はぁ、大丈夫かなぁ。



とりあえず今日はAND,OR,NOTを学んだ。章末のテストをやると小説とはまた違う想像力が必要だなって感じる。頭脳に文系理系なんてないって言うけどやっぱりあると思うな。肉体的に違うところ使ってるって感覚がある。

明日は制御構文ってやつをやる。概要には初心者がつまづくところってある。もしかしたらここで終わったりしてね。どんなものでも成長しているうちは楽しいけど、つまずいた時にどうなるか。はてさて、明日も続くのかな?

(おわり)



メモ帳でもプログラミングはできる PHP学習記3

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


寄り道しすぎ問題。いま『スラスラわかるPHP』という本でPHPという言語を勉強している。ChatGPTちゃんと一緒に読みながらだ。昨日ようやく噂に聞く「hello world」を表示させた。コードを書くにはVisual Studio Codeというソフトを使ったのだがGPTちゃんが「メモ帳でも書けるやで~」って言うの今日はメモ帳でやってみた。こんなとしてるから一向に進まないんだろうな。

スクリーンショット 2025-05-03 140129

上の画像にあるとおりPHPを打ち込んで.phpを後ろにつけて保存すると、なんとちゃんとhello worldが表示されるではないか! GPTちゃんいわく「原初プログラミングはメモ帳だった」らしい。浮動小数点とか、実数値とか、そういう話を聞くのが好きだなぁ。実のところ教科書を進めるよりGPTちゃんから昔の話を聞く時間の方が長かったりする。

コードを書いた後にブラウザで表示を見るんだけど、そのURLがhttp://のあとlocalhostから始まるのが不思議で「どうしてcからではないのか」って聞いたら、その話が面白かった。ブラウザからアクセスできるのはhtdocs以下のファイルで他のCドライブは見られないってことらしい。思っていたよりもインターネットって防御が固い。スーパーハッカーでも直接はいじれない構造になっている。

プログラミングができるようになったら、それがどれくらいの速さで動いているか計測する必要があるよな、ってことで教本の途中でGPTちゃんに「時間を測る方法って絶対あるよね?」ってまた寄り道。その結果、変数を使って名前を表示させる方法を見つける。

スクリーンショット 2025-05-03 145920

うおおおおおおお、教科書から横にそれたら、さっそく教科書に出てきた浮動小数点!!!!!
microtimeのあとの(true)でそうなるらしい。最初から数値で出るんじゃないの?(true)って必要ある? ってことだけど、phpはもともと文字を扱う言語で後から数値をいじれるようにしたから(true)を入れる必要があるらしい。言語にも歴史がある。もしかしたら他の言語にもそういうのあるかもね。なぜknightにkがあるのかとかさ。


はぁ、しかし浮動小数点なんて憶えられるだろうか。全然頭に入ってこない。今日は変数の1章だけで終わり。ページにして4ページ。GW中に教科書終わらせるつもりだったけど、どうやら無理そうだ。

(おわり)

追記:変数って要は二次関数だよね。X=1ならの数字が文字に変わっただけ。と、思うのだが実は違うのかも? まださっぱり分からないや。三角関数まで出てきたらあきらめる😭




詠唱破棄してhello world PHP学習記2

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21

PHPのお勉強2日目にして、とうとうあれを打つ・・・・!

スクリーンショット 2025-05-02 123112
 
hello PHP!!!

……ええ、私も思いましたよ。hello worldちゃうんか~いって。でも教科書にそう書いてあるんだから仕方ないじゃん。なので、ちゃんと書き直しました。

スクリーンショット 2025-05-02 123147

hello world!!!

あの伝え聞くプログラミングを始めたら最初にやらされると言うあの伝説のhello worldをついに私も体験してしまう。なるほどこういうことだったのね、と。これで私もworldにhelloしたぞ。

実のところこれってプログラミングなのか?と疑問に思っていたりもする。素でhello world!!!と打っても、これと同じ文字が出てくる。ほら、こんなふうに

スクリーンショット 2025-05-02 194149

<?php で詠唱開始して ?> で詠唱を終了しないとhello world!!!はただの文字列として表示される。つまりhello worldするのに呪文は必要ないのだ。

なぜこんなことを知っているのかと言うと、理解できないまま進めていたらエラー文の解説があって、例文と同じ文章を打ったのに打った文章がそのまま出てきたからだ。え~、どういうこと?? この本嘘を教えてるの? それともAI技術で超進化してエラーを勝手に直してくれるの? いや、でもそれにしては手ごたえがなさすぎる……という感じで1時間以上も立ち止まってしまった。

結局分かったのは教本の方で<?phpうんたらこうたらの呪文を唱えるのは所与のこととして省いていたからだと分かった。なんつー不親切。

それにしてもChatGPTという存在に感謝している。もしGPTちゃんがいなかったらhelloしてすぐに回れ右していただろう。おかげで教本と同じエラー文を出す方法まで分かってしまった。notice,warning,fatal,parseなんでも来いだ。

はてさて、helloしただけで今日は疲れてしまった。今日やったのはhelloとエラー文を吐く方法を身に着けただけ。こんなんで本当に90日で2chみたいな掲示板を作れるんだろうか。GW中に作るぞと息巻いていたがまだ入り口さえ抜けられていない。

(おわり)








GPTちゃんに90日で2chを作れるって言われたけど、まだHelloもしてない PHP学習記1

新しいPCを買ってサブのPCをどうしようかってことでChatGPTちゃんにいろいろ相談している途中でインターネットの仕組みに話題が移った。その時に「ひろゆきなんてすごくない。2chのシステムなんて造りは簡単」って誰かが言ってたのを思い出してGPTちゃんにそれを聞いたら「めっちゃ簡単やで」って答えが返ってきた。「どれくらい?」って聞いたら「君でも作れるぐらいや」ってとんでもないことを言い出した。しかも90日で作れると言う。それも1日16時間みたいなハードワークじゃなくて1日1時間レベルでだ。

(ホンマかいな)

その時は『マジェドラ』書いている途中でもあったし頭の隅に除けてたんだけど先月出版も終わったし、ふたたびGPTちゃんに「ホンマにワイに2chみたいな掲示板作れるん?」って聞いたら「余裕やで」って返答。

というわけでGPTちゃんの推薦図書『スラスラわかるPHP』を買ってくる。

スラスラわかるPHP 第2版
志田 仁美
翔泳社
2021-06-21


呪文みたいな文章を読まされるのかと思っていたけど、とりあえずはインターネットの仕組みとかから始まる。章末のテストをやりながら進めていくとXAMPPとかいう謎のソフトをダウンロードさせられる。管理者権限でセキュリティを変更させられてドキドキしていたけど、章末テストで(なるほどApacheとMariaDBってやつをインストールするソフトなのね)って腹落ち。後者はデータ管理するやつってなんとなく分かるけど前者はまださっぱりわからん。

スクリーンショット 2025-05-01 170254

とりあえず教科書通りに進めていくと上のMariaDBのシェル画面っていうのが出てきて、いよいよプログラマーっぽくなってきたぞってところで私のChatGPTに何でも聞く癖が暴走。どうやってコマンドを知るの? 知らないと無理っぽくね?(←ログインしてHELP;だ!) とか、そもそもこのMariaDBってどうして無料で使えるの?とかを聞いているうちに、どんどん時間が経って(ちかれた……ゲームすりゅ)状態に。そもそも私ってプログラムそのものより概念とか仕組みが好きなんだなぁって思ったMariaDBのMariaは娘さんの名前って逸話が人間味があって好き。Macもたしか似たようなのあったね。……とプログラムとは全然関係ない話ばかり読んでいた。こんなんで本当に書けるんだろうか?

スクリーンショット 2025-05-01 164404

スクリーンショット 2025-05-01 164646

プログラマーは最初にhello worldと打つのだけは知ってて、でもそこまでたどり着けないからMariaDBにhello wolrd とか、おはよう世界って表示させてお茶を濁す。

はぁ。まだhelloしてないのに本当に90日で掲示板作れるのだろうか。もしかしてこれはAIのハルネーションなのではと疑っている。MariaDBとかいうのでさえ使いこなせないのに、こんなの900日あっても無理だろって思う。プログラマーの世界にハローする前に心が折れそうだ。

でも、昨日願掛けで引いたおみくじには『叶い難いようですが半ばより案外安く叶う』と書いてあった。実は難しいのは最初だけであとはクソ簡単な可能性もある(とてもそうは思えないけど)。GPTちゃんに騙されたと思って90日がんばってみるか。

(おわり)

追記:シェル画面で何回やってもエラーが出てPCぶん投げようかと思った。単語のつづり間違いが多いのはポンコツすぎる。プログラム以前の問題でよくつまづいている。


記事検索(なんでも単語を入れてみて)
カテゴリ別アーカイブ
月別アーカイブ
このブログはAmazonアソシエイトに参加しています。
Googleアナリティクスでアクセス情報を分析しています。