がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

共通化についての雑感

いわゆる「コードをひとまとめに、関数とかクラスとかそーゆー感じの箇所にまとめるか否か」ってあたりについて。 おいちゃん的には(一端、現状では)結論が出ていて・「意味が同じ」ものは絶対に共通化しろ ・「機能が同じ」ものは、どっちでもいいけど共通…

phpでざっくりアドバイザリロック

PHP

いわゆる排他制御系。 いやまぁおいちゃん的には「セマフォ使えばいいじゃない終了」で終わるお話なんですが。 PHPのセマフォ、一応「コンパイルで指定が必要(coreじゃない)」ので、稀に、極稀に「入ってない環境」とかあるので……いやまぁ「入れろ」って話な…

3Dダンジョンを作ってみたい

front系苦手なのですがまぁ「3Dダンジョン作りたいなぁ」という欲求は以前からガチガチに強めなので(笑 とりあえず、試行錯誤を記録してみようかなぁ、と。一応想定としては ・一端、JavaScriptのcanvasでワイヤーフレームの3Dダンジョンを作る あたりが一端…

MySQLでUNIQUEに引っかかった時のAUTO INCREMENTの挙動

ちとうちの子から MySQLでユニークキーとPKあるテーブルに対してON DUPLICATE KEY UPDATE張って、uniqueでの重複させるとauto increment値飛んじゃうんだね。。。 という興味深い話を聞いたので、早速実験。 CREATE TABLE test ( id SERIAL, name VARCHAR(25…

「ジャッジをしない(するのが面倒くさい)」という選択

発端は、PHPで割と定期的に見る、こんなコードに起因したお話でございます。 if (!hoge()) { 処理 }まぁ関数でも変数でもよいのですが。 この辺を「良し」とする勢と「悪し」とする勢がいる、と認識をしておりまして。 おいちゃんは「良しとはしない勢(悪し…

PHPで「型宣言された引数の型の名前」を知る方法 続編

PHP

PHPで「型宣言された引数の型の名前」を知る方法 - がるの健忘録 の続編。いやPHP8になって「union typesとか増えたしなぁ」とか思って検証コード書いてみたので、勿体ないんで、忘れる前に(絶対忘れるだろうしw)、記録しておく。

NIZの呪文変換

似ザードリィとか呼称されております(笑)「NIZ」の呪文変換のCSVです。 指針としては ・おいちゃん、PC88の頃からやってるので、英字スペル ・サンダーを「MOLITO」とするお話もあるんだけど、記憶が間違ってなければ「MOLITOは1グループ」なので、サンダー…

「useを使ってクラスが使えるようになる」までの道程

PHP

ちょいとお仕事で、要約すると ・useすればクラス名の解決が可能になるのではないか? → 参照したいクラスがあるファイルのnamespace\クラス名をuseで指定すれば使用はできるはず という趣旨の質問をいただきまして。これはとても興味深い内容だなぁ、と思っ…

探索系アルゴリズム用のメモ

A* とか ダイクストラ法 とかが可視化されてるサイト。 こないだググったら案外うまくヒットしなかったので、メモ用に記録。qiao.github.ioロジック裏で把握するのも大事だけど、こんな風に可視化状態で見れるのもよいよね。

やっぱすげぇ……

元ネタ Linuxを生み出したリーナス・トーバルズが考える「優れたコード」とは何か? gigazine.netとりあえず、すげぇ雑にコード書いてみた。 gccでコンパイル可能( -std=c99 オプション、付けてちょ)。 #include <stdio.h> #include <stdlib.h> #include <string.h> // typedef struct Int</string.h></stdlib.h></stdio.h>…

おいちゃんがプログラムで気にする所

まぁつまり「気にしないところ」も少なからずあるのですが。 「規約がある所では、書いてある範囲で規約を重視しましょう / 書いてない規約は"既存のコード"に出来るだけあわせましょう」とかいう最低限のお話とか、さらにもっと最低限未満のお話として「syn…

0部 まずは初めてみよう

0部 まずは初めてみよう 本書では、最終的にはPHPを「概ねある程度のレベルまでを一通り」文法を中心に学習していけるように作成する予定です。 ここで諸々の蘊蓄をたれてもよいのですが、きっとこういったものを読むからにはなにがしか「プログラムを組む学…

PHP初心者本、書いてみます!!

今年の目標「アウトプットを増やす」の一環として、PHP初心者本を書いていこうかなぁ、と思っています。GItHubで github.com で書いていきますが、同時にここにも内容を記載していこうかなぁ、と……修正までは反映しないと思うので、修正版まで見たいようであ…

派遣と請負と準委任

過去に書いた記事をざっくりとまとめてみようかなぁ、と。 ……多分これくらいだと思うのですが、忘れてる記事とかあったらつっこんでくださいませ ノ 奴隷船の船員たち https://gallu.hatenadiary.jp/entry/20091128/p1 興味深いので:「完成」とは?「約束」…

2a問題が解決した!!!!

PHP

素晴らしき自動的な世界~或いは「型のない」世界~ https://gallu.hatenadiary.jp/entry/20061108/p1 で書いた、こんなお話、記憶にございますでしょうか? PHP驚愕の事実if ('2a' == 2) { ここ通る } ここから幾星霜、涙が大河となるくらいまであちこちで…

Slim4で「404のログ」だけ消したい(&任意のエラー画面出したい)

Slim4です。 エラー周りの基本処理で。 * @param bool $displayErrorDetails -> Should be set to false in production * @param bool $logErrors -> Parameter is passed to the default ErrorHandler * @param bool $logErrorDetails -> Display error det…

あえての「WAF(FW)使わない」PHPサイトの開発(副題: でなきゃ定期的にバージョン上げろ)

微妙暴言のお時間でございます*1。 いやまぁ昨今、サイト作るのにWAF/FW(Web Application Framework で Framework の略な)を使わない、って選択肢も稀かなぁと思っております。 ……いやまぁ「うちのFWはSmartyです」とか言われた頃が(うっすらした殺意と共に)…

心房細動 で 心臓カテーテルアブレーション やってきました

いやまぁタイトルそのまんまなのですが。なんかの参考にでもなればなぁ、と思いまして(笑端的には ・大体言われている通りの事が多かった ・でも「あんまりネットでは書いてない」知見もあった ので、その辺を織り交ぜながら。術前 ネットに書いてある事とそ…

お仕事コードの書き方(の一部)

おいちゃん、経験的に、割合とPHPが長くなってきております。 んで、PHPでコード書くとき、割と色々と「丁寧に」書く癖があって。 特に昔は割と嫌がられたりしてたもんだけど、おかげでバージョンアップしても「平気の平左で」受け入れられるんだよなぁ、と…

駄目なUUIDv4実装

PHP

「実装によってはUUID4が重複しうる」って話を聞いて「じゃぁ駄目な実装を書いてみよう」と思いました(笑 珍しく「徹頭徹尾、非実用」です(笑

魔力と魔法、魔術

世界には不思議な力が満ちていた。 先人はそれを「摩訶不思議な力」と呼称し、それが転じて「魔力」と呼称された。「極度にとがった天賦の才」を持ったもののみが扱い得る魔力であったが、徐々にその法則の端々が判明していった。 「魔力を扱うための法則」…

蛋白質摂取量の計算

カロリー計算にはあんまり心惹かれないのと、糖質はまぁそこそこがっつり制限を入れているので。 そうすると気になるのが「蛋白質は十分な量を摂取しておきたいなぁ」ってあたり。「十分な蛋白質量、とは?」ってのは・体重ベース ・除脂肪体重ベースがある…

ちょっとした小技……の背景

PHP

典型的には「(第一種)ホワイトリスト*1」の実装でありがちなのですが。 declare(strict_types=1); $white_list = [ 'hoge', 'foo', 'bar', 'baz', 'qux', ]; // $input = 'bar'; // if (true === in_array($input, $white_list, true)) { echo "{$input} is …

外掛けフィルターに物理濾過ギミック

うちの水槽が基本的に「生物ろ過特化型」に寄せて作ってあるので、もうちょっと物理ろ過を強化したいなぁ、と思っておりました。 水槽1(30cmキューブ):外掛けフィルター+底面フィルター(吸い込み式) 水槽2(30cmキューブ):外部フィルター+底面フィルター(…

オートミール茶漬け

相方さんじゃなくて当人がそろそろ糖尿病仲間入りっぽいので色々と試行錯誤しているのですが。 オートミール茶漬けが思いのほかよかったので、レシピ込みでmemo。オートミール粥、ってのがあるのですが、若干、風味が「人による」感じ(おいちゃん的にはいけ…

privateやprotectdのメソッドのテストをどうやる? って話の備忘録

「PHPでprivateなメソッドを外から叩く時ってどうやるんだっけ?」で、リフレクションって単語をしょっちゅう忘れるから「それの備忘録用」って見方をしないように*1。 さっきもまぁ「リダイレクト……リファラー……り……り……」で、そこそこ悩んでたのは秘密だ。…

「文字コードを変換しつつCSVファイルを読み込む」時の書き方

PHP

なんか、毎回 ・「書ける」のは覚えてる ・書式を忘れる のループに陥ってるので、備忘録(苦笑 // CSVの読み込み $file_name = ファイル名; $file_name = 'php://filter/read=convert.iconv.SJIS-win%2FUTF-8/resource=' . $file_name; $file_obj = new SplF…

Slim4のRequestインスタンスの作られ方

ほぼメモ。 Slim\Factory\ServerRequestCreatorFactory::create(); Slim\Factory\Psr17\ServerRequestCreator ->createServerRequestFromGlobals() Slim\Psr7\Factory\ServerRequestFactory ->createFromGlobals $request = new Request($method, $uri, $hea…

PHP7.4系のコンパイル

PHP

いやまぁ sh ./configure -hでチェックしろ、って話しではあるのですが。PHP7.3系とPHP7.4系で、configure のオプションがちょいと変わっております。……ちょろっとべっくらこいたよおいちゃん。 おいちゃん、PHPは自力コンパイルする事が多くて、もうちょっ…

アクアリウム覚え書き

貰った水草ミクロソリウム プテロプス エキノドルス オパクス(子株) オレンジミリフィラムミクロソリウム プテロプスは溶岩石に巻き付いて、活着を試みる。 エキノドルス オパクスは前景に植える。「肥料結構喰う」らしいので、固形含めて肥料多めに。 オレ…