🏠️Top Page

🖊️おもしろき こともなき世をおもしろく 住みなすものは 心なりけり.

⏩️基本情報技術者試験を今月の末に受けてくる事にしました.

おはようございます.基本情報技術者試験を今月の末に受けてくる事にしました.当初は2月に受ける予定だったけど、延長、延長して4月まで先延ばしにしてようやく勉強しようとなったので1ヶ月間、少し勉強しようと思っています.

ITパスポートも情報セキュリティも何一つ勉強して無くて受かったのだけども、流石に基本情報技術者試験は勉強しないと受からないと思っています.

勉強をせずに受かる人もいることも知っていますが、それほど情報のことに詳しくはないし情報なのに経営ことなんかの問いや経理の問いなども出てきたりして昔は結構幅広く勉強しないと受からない試験だった.

その時の蓄積もあったのでITパスポートも情報セキュリティも受かったわけだけども基本情報技術者試験はいつもニアなんだ.勉強量から言えばニアになるのが当たり前なのかも知れないけど、受かりたいよねって思いはいつも落ちてから思います.

https://www.fe-siken.com/fekakomon.php

基本情報技術者試験が受かった後は英検の試験でも受けてみようと思っています.

トイウワケデ、4月1日から基本情報技術者試験の勉強をはじめました.

明日へ続く

⏩️yieldの発音としては「イィールドゥ」が該当するが、日本語では「イールド」と読むのが一般的らしい

おはようございます.yieldの発音としては「イィールドゥ」が該当するが、日本語では「イールド」と読むのが一般的らしい、そもそも自分は読むことすら最初は出来なかったのですが、イールドの意味は生む、生産する、収率などなどの意味があります.PHPではジェネレータ処理の時に使用されますね.

ジェネレータ(generator)とは生産機などの意味があります、因みに古のPHP 5.5 から導入されたイテレータ(iterator)を簡単に実装できる機能で、反復処理においてメモリを節約しながら処理できるというものでとても理にかなっています.

イテレータという古の呪文を唱えなくても簡単にできる点で言えばアレに似ています.JavaScriptのasync awaitが登場する前にとても似ています...

ジェネレータ処理はストリーミング処理と相性が良いです.ストリーミング処理といえば大量のデータを扱う時に相性が良いということです.

尚、LaravelではLazyCollection(レイジーコレクション)というものがジェネレータ処理に当たります.レイジーとは怠け者🦥という意味らしいです.

最後にLazyCollection(レイジーコレクション)のドキュメントリンクを貼っときます.

https://readouble.com/laravel/11.x/ja/collections.html#:~:text=LazyCollection

明日へ続く

⏩️田原総一朗さんちょっと的外れだと今まで思っていたけどそうでもないと思った話.

おはようございます.養老先生と田原総一朗さんが話した対談を見てこの二人ともに学ぶことがあるなと感じました、今までテレビで田原総一朗さんが話していたのを何度か見たことがあって、その時、自分が思った印象は人の質問に答えていないじゃないかと思っていましたが、今回の対談をよくよく聞くと質問にちゃんと答えている.

質問者が意味が分かっていない感じだったけど自分は意図するところが分かったので分かる人には分かるだろうなって思えた対談でした.結構回りくどいところがあり分かりにくいかもですけど、その言葉の意図することを考えると分かるだなって思います.

また養老先生がおしゃっていた通り、日本が変わるには大地震でも起きないと変わりそうにないなと自分も思いました.

あとお金を稼がないといけないと質問者の発言に養老先生が「そうかなぁ」と首を傾げていたところが個人的に印象に残った場面でしたね.お金はあとから付いてくれば良いし、そもそもお金があれば幸せとも限らないと自分は思っています.養老先生もどちらかと言えばそう云う考えを持たれているように感じました.

最後に対談動画を見て養老先生と田原総一朗さんともにどちらも自分の思ったように生きているように感じました.なお長寿の秘訣は対談の最後に語っています.

明日へ続く

⏩️何もわからない??デフォルト. null合体演算子

おはようございます.??(クエスチョンマーク二つ)ってのはnull合体演算子と言います.PHP以外にもあります.三項演算子などは知っている人いると思いますが、null合体演算子は知らない人もちらほらいるかもです.

因みにいま関わっているシステムには出てきますね.自分が開発にジョインしたときに自分もnull合体演算子を使用したことはあります.

三項演算子はまぁ適度に使用しますが深い階層にはしません.昔もあまり深い階層にはしなかったと思いますがしていたら後釜に迷惑が行ったかもです、そんな感じで深い階層にするのはあまり可読性が宜しく無い気がします.

null合体演算子は三項演算子よりもわかりやすいかもです.nullだったら別の値に変えてしまう処理だと思ってください.

サンプルコードリンクを貼っときます.
https://www.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.coalesce

尚、null合体演算子は優先順位が低いそうですね.そのため下記のようなことする時はカッコで囲んであげないと正しい結果が得られないそうです.算術とかでもそうみたい.

<?php
// $name が未定義の場合、警告が発生します。
print 'Mr. ' . $name ?? 'Anonymous';
// "Mr. Anonymous" と出力
print 'Mr. ' . ($name ?? 'Anonymous');
?>

明日へ続く

⏩️映画、ミッキー17を観ましたので感想を残しときます.

おはようございます.映画、ミッキー17を観ましたので感想を残しときます.まずこの映画、期待しないほうが良いかもしれない.パラサイト半地下の家族を超えていないということは言えるかな...自分の中では超えなかったというのが正確な感想なのかもしれない.

ストーリー展開もベタだった、そして訴えかける内容も分かる気がするけど、わざわざSFにする事は無かったんじゃないのかという感じがしました.確かに考えさせられる無いようなんだけどもちょっと軽い.

重かったら重かったで問題なのも分かる気がするけど.なんか足りない気がしたのは半地下の家族を超えるモノを期待したからなのかもしれない.

まとめ、半地下の家族は超えていないという結論を持った人が多いかも.映画としては成り立っているけれどもB級SFに観えてしまった.

明日へ続く

⏩️お茶をデスクにぶちまけてしまった話.キーボードがバグる、一週間ぐらい放置して.

おはようございます.お茶をデスクにぶちまけてしまった話を書いていきます.お休みの日にデスク周りを配置換えしようと整理していたらお茶を置いていることを忘れていて手がカツンと当たってしまいキーボードやデスクにお茶をぶちまけてしまったという事が起きてしまいました.

一瞬、フリーズしたのですがティシュなどを使用して溢したお茶を吸い取って何とかなったと思ったのも束の間、キーボードがzを押してもzlとか意味不明な入力が返ってくる.

「あっ基盤かな」と思ったので一週間ぐらい放置して天日干しようかなと思ったのですが、イラレなので1日置いてキーボードを分解して基盤にあった水玉を拭き取って復活.

自分的にはよかったって感じですね.

そう言えば先日からPC周りがトラブルが頻発している、先日の仕事中にパソコンが固まって強制終了、再起動したところ何だか起動音はするのだけど、そこからログイン画面が全然出てこない状態になってしまい「えっ買い替えないといけないのか等など」が頭をよぎったのですが、、、

何とかサブノートパソコンからWindows11をダウンロードしてきてUSBにISOをコピーしてUSB上のWindows11を立ち上げてバックアップ時点にデータを戻して復旧.

因みに何故かUSBに書き込みを行った時にUSBメモリも壊れてしまって一個御臨終になりました.まぁこれで三回トラブルが起きたので当分の間はパソコンでのトラブルは無さそうですがトホホですねー.

明日へ続く

⏩️カメラに向かって独語り出来る人は才能だとか思いながら、YOUTUBE動画を見ている.

おはようございます.カメラに向かって独語り出来る人は才能だとか思いながらYOUTUBE動画を見ている.一人語りと音楽を同時に視聴しているのが仕事休みの日の早朝からお昼にかけてのルーティンになりつつあります.

自分はどんなYOUTUBEを見ているかというと漫画編集者ちよださんと佐藤航陽さんの宇宙会議をこの頃は流し聞きしてたりポッドキャストの一人語りを聞いていたりしています.

自分が一人語りするには台本が必要になりそうな気がします.たぶんそれは殆どの人は台本ありきでYOUTUBEで一人語りしている人が多いと思いますが、この二人にはあまり台本なしで話してそうな気がしています.

そういう事もあって全ての情報が有益な情報かと言えばそうでもない.ちよださんに関しては本当に自分語りです.佐藤さんもそうだけども...

https://youtu.be/pH7B_OO8738?si=lzhlz4BY0ykaMXPI&t=6625

因みに音楽はその日の気分だけどもこんなのをバックで流しつつ早朝なのでヘッドホンで聞いているのが休みのルーティンですね.

あと付け加えるとこのルーティンと合わせてブログを書いたりすることは平日でもあります.平日は仕事なので早朝しか出来ないですけど大体、早朝のルーティンはそんな感じで休みの日だけそれがお昼まで続くという形です.

明日へ続く

⏩️アナログ時計をTOPページに追加しました.ソースコードはこちら.

おはようございます.アナログ時計をTOPページに追加しました.ソースコードはこちらに記載していきます.尚、ソースコードは生成AI、Grokを使用して制作しました.

<div class="clock">
    <div class="hand hour-hand"></div>
    <div class="hand minute-hand"></div>
    <div class="hand second-hand"></div>
    <div class="center-clock"></div>
</div>
.clock {
  /* width: 200px;
  height: 200px;
  border: 2px solid rgb(226, 226, 226); */
  border-radius: 50%;
}

.hand {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform-origin: bottom;
  background: #333!important;
}

.hour-hand {
  width: 4px;
  height: 60px;
  background: #333!important;;
}

.minute-hand {
  width: 3px;
  height: 80px;
  background: #666!important;;
}

.second-hand {
  width: 2px;
  height: 90px;
  background: rgb(94, 93, 93)!important;;
}

.center-clock {
  width: 10px;
  height: 10px;
  background: rgb(95, 95, 95)!important;;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
        function updateClock() {
            const now = new Date();
            const hours = now.getHours();
            const minutes = now.getMinutes();
            const seconds = now.getSeconds();

            // 角度の計算
            const hourDeg = (hours % 12 + minutes / 60) * 30; // 12時間で360度
            const minuteDeg = (minutes + seconds / 60) * 6; // 60分で360度
            const secondDeg = seconds * 6; // 60秒で360度

            // 針の回転
            document.querySelector('.hour-hand').style.transform = `translateX(-50%) rotate(${hourDeg}deg)`;
            document.querySelector('.minute-hand').style.transform = `translateX(-50%) rotate(${minuteDeg}deg)`;
            document.querySelector('.second-hand').style.transform = `translateX(-50%) rotate(${secondDeg}deg)`;
        }

        // 初回実行
        updateClock();
        // 1秒ごとに更新
        setInterval(updateClock, 1000);

生成AIが最初登場した時はここまで出来なかったので一回目の指示でちゃんとしたものを制作していけるようになったというのは正直なところ驚きです.やっぱり指数関数的に人工知能は成長するのかなとたまに思うことがありますが、それと相反する思いも持っています.

相反するとは、あと5年ぐらいで人工知能も頭打ちになるじゃないかなとも思っています.

明日へ続く

⏩️ドメインを削減した話の続きとWordPressのマルチサイトにしない運用のお話.

おはようございます.ドメインを削減した話の続きとWordPressのマルチサイトにしない運用のお話を書いていきます.先日、ドメインを削減した話を書いたんだけど、いままで運用していた他のブログをこのブログの配下にすべて置きました.

そしてそのブログとは別に、再度レンタルサーバーの運用も行うことにしました.レンタルサーバーで運用するサービスはEC管理システムだけですが、その後いろいろな商用のサイトはレンタルサーバーで運用していくつもりでいます.

本当はVPSで運用したいのですが餅は餅屋に任せるべきかなという判断でレンタルサーバーにお任せします.

前置きはそれぐらいにしてマルチサイト化しないWordPressの運用を書いていきます.ルート配下にWordPressがある事を前提に書いていきます.サブブログはルート配下にサブディレクトリを構えてインストールします.このときに大切なのは.htaccessの存在です.例えばサブディレクトリのディレクトリ名をexample-1とした場合、ルート配下の.htaccessとサブディレクトリ配下の.htaccessはどうすれば良いかの答えなんですがこうするのが今のベスト解です.

#追加 RewriteBase / の下に
RewriteRule ^example-1/.* - [L]
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /example-1/ # <=修正
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /example-1/index.php [L] # <=修正
</IfModule>

# END WordPress

このようにすることでサブディレクトリの単独運用出来ます.これで運用することは可能ですが何も無いサイトならマルチサイトでの運用をオススメしますが、もしサブディレクトリは別のドメインに今後切り替えて運用するとかの場合はこの方法がベストプラクティス(最善の解決策)です.

明日へ続く

⏩️ドメインを半分ぐらい放出しました.苦渋の決断でもないけど.

おはようございます.ドメインを半分ぐらい放出しました.苦渋の決断でもないけど惜しい思いは残りますが、収入と出費を考えると見直しが必要だと思ったので今回見直した感じになります.

そんな感じなので今まで見えていたサブブログも見えなくなっている形になります.サブブログはこのブログに統合する形になりますがまだ統合はしていません.このドメインにサブドメインを取ってそれと紐づける形になるかと思いますが、そのまま消滅するかもしれないです.

以前、釣りマップというドメインを取得していましたが、そちらも放出しています.使用したい方はご活用してみてください.自分は釣りのことを結局ぜんぜん理解していなかったのでアイディアが浮かばなかったのでサービスが頓挫した形になります.

尚、釣りマップのアクセス数は月に1人訪問すれば良い方だったのでドメインを取得した方はそれなりにSEO等の宣伝が必要になります.

このドメイン放出で年間2万円ぐらいは削減できる形になります.

明日へ続く