gallu’s blog

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

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は自力コンパイルする事が多くて、もうちょっ…

アクアリウム覚え書き

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

その後のアクアリウム

20cmキューブの立ち上げから大体40日ほど、かな。 ………気付いたら30cmキューブが一つ増えてますよ(笑書いてなかった諸々を時系列(一部、思い出した順)でまとめていくと外掛けフィルターをラクラクフィルターMに変更 → 少し細工をして「バイオビーズがグルグル…

Slim4-Skeleton解析のためのSlim4解析のためのPHP-DIの解析

タイトルが長い(笑いやまぁ色々と調べていてそれはそれで後で記事にするのですが。 Slim4で使われているContainerについてちょいと調べたので、備忘録かてがて。Slim3では "pimple/pimple" が使われていたのですが、Slim4では "php-di/php-di" が使われてい…

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

元々は、Laravelで興味深い機能*1を見かけたのが初手で。 その後、(近々公開しますが)Slim4のContainerでも似たような事をやっていたので、ちぃと思い切って調査をしてみました。端的には ・関数(メソッド)宣言で引数に型宣言をしている時に、「なんのクラス…

エアレーションとバイオビーズ

……なんかすっかりアクアリウム色(笑1/28 エアレーションとバイオビーズ対策エアレーションは ・水作 水心 SSPP-7S が手に入ったので、・堅くならないシリコンチューブ 2m ・調整弁 ・逆流防止弁(298円) ・吸盤(90円くらいだったか?) ・ADA ジョイントグラス…

経過観察

1/27 超備忘録。いち。 水槽の縁に微妙に「消えない泡」。汚れが処理仕切れてないみたい。まぁある程度もくろみ通りなので、生体のいない(水草だけの)水槽に、今日もきょうとて、少量の「アカヒレ用のエサ」を投入。 明日くらいまでかなぁ。水曜日は何も入れ…

ボトルアクアリウム

妄想、かつ、メモ。気にしてるのが「いろんなサイクルが回しにくいなぁ」って思ったんだけど、ふと、アイデアが浮かんできてしまったので、とりあえずメモ。 後で推敲しませう。ボトルは「パンドルチェの瓶」。直径8cm、高さ15cmの円柱、なので、多分、お水…

アクアリウム始めました(笑

当初は「ボトルアクアリウム」の予定だったんだけどなぁ……なおいちゃんの、主にメモ書き(笑 1/21に、アクアリウムの先輩(笑)から「ウィローモスならちょうど増えすぎて刈らないとなんで、刈ったやつ送りましょうか?」との申し出があり、ほいほいと好意に甘…

いにしえ(かもしれない)技法:bit演算変

PHP

bit演算を使ったプログラミング、割と「知られてないのでは?」という感じがあったので。 ここでは少し抽象的な部分が混ざってしまうのだけど、まぁなんかの一助になるかなぁ、くらいの感じで、めも。大まかには ・処理が「A」「B」「A+B」みたいな感じの時…

PHP初心者本 覚え書き

ちょっとまぁやりたい事、があって。 まずは「PHPの初心者本」のうち、現在入手可能と思われるやつ(で、版を重ねてるものはそれの最新)を、ざっくりと列挙。PHPの絵本 第2版 https://www.amazon.co.jp/dp/4798151645 よくわかるPHPの教科書 https://www.amaz…

0000-00-00 と PHP:実装側の考察

さて。 とりあえず「0000-00-00を食い止める」を至上命題にする場合、必要なのが ・空文字でINSERTしない ここ。 これを主眼にして、少し実装側の考察をしてみませう。一つ、ガードとして ・sql_modeに STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_DATE を入…

0000-00-00 と PHP

MySQLの、(少なくとも一部では)悪名高き 0000-00-00 について、は、そこそこブログがあるのですが。 「それを、PHP(plain)とか(PHPの)フレームワークとかでどうやってるんだろ?」というのが、ざっくりググった限りだと案外と無かったので。 調査かてがて、…

インフラの(雑)管理方法

https://twitter.com/ndxbn/status/1189735988907536384 マシンの /usr/local 以下に make && make install で直接インストールしてあるミドルウェアのバージョン更新って、どうしてます? 普通に新しいバージョンの tar ball を持ってきて、 make && make i…

一端、メモ

時々、使うし使いたくなる台詞なんだけど「どこにあったっけ?」と「正確な文章を覚えていない」がちょいちょいあるので、めも。魔法少女プリティ☆ベル 18 (BLADE COMICS)作者: KAKERU出版社/メーカー: マッグガーデン発売日: 2016/01/09メディア: コミック…

C/C++のアドレス演算子、と、golang

ちょいと別所(身内のSlack)で「golangの参照渡し周りのお話」が出ていたので、その前提知識……が「長くなりそう」なのと「一部、もしかしたら役に立つかも」なの*1等々、ありまして、こちらに。 お話がgolangなので&おいちゃん、golangは「一定以上に評価し…