🏠️Top Page

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

⏩️24年12月26日にて仕事納めでした.10連休ですー!.

おはようございます.24年12月26日にて仕事納めでした.10連休ですー!でで~ん.この記事は26日の早朝に書いた記事になります.今年より来年がより良い1年でありますように.

この10連休も毎日ブログが更新されるように仕事が終わった後から記事をある程度、貯めていこうと思っています.ちなみに今の段階で4本のストックがありますが、来年からこのブログの他にIT戦記(絵)みたいなものを始めようと思っています.リンクはこっそりフッターの兎さんにもう仕込んでいたりしてます.

そちらの日誌も書かないといけないので来年は結構大変かもと思いつつもメインのブログはこちらです.こちらは毎日更新ですねー.大変でも副収入になると思えば頑張りがいはあります.

副収入だけで生活できればそれは言う事無いですが、そんなに簡単なことではないです.

来年の目標は副収入がコンスタントに入ってくるようにしたいという思いがあります.仕事も頑張りつつ副収入も試行錯誤して安定させたい.その次の目標は副収入が給与水準になることです.

それを可能にするにはカナリ大変なことだと思いますが、今年少し希望が持てたので長期的な目標にしたいと思っています.

明日へ続く

⏩️ガチで知らなかった.もう何年もPHP言語使っているのに恥

おはようございます.ガチで知らなかった.もう何年もPHP言語使っているのに恥...下記のコードで動くことを知らなかった.そもそもそんな返却の仕方が出来ないと思い込んでいたのでlist関数を使用していた.

function abc(){
    return ['a','b','c'];
}
[$a,$b,$c] = abc();
echo "a={$a} b={$b} c={$c}";

改修とか機能追加とか、新規開発で他の人のコードとかを見るけど、そういう使い方をしている人を見たことがなかったので、知る由もなく今の今まで来てしまった.これphpのサンドボックスでバージョンの違うものを実行してみたらphp7.4系でも動いたので絶句してしまった.因みに7.0系は動かない.

自分はphp5系のからPHP言語を主とした仕事をしてきたわけです.仕事で使用するコードってある程度似ているので同じような関数などを使う反面、バージョンアップで追加された機能を使うことはほぼ無い.非対応になった関数を置き換えることはあっても.そういう事もあり今の今まで知らずにいた.

知るきっかけになったのは、プルリクエストしマージ後に自動でコードの正規化が行われた時にコードが置き換わった事によることで知ることに...

知るは一時の恥、知らぬは一生の恥.

明日へ続く

⏩️とある掲示板的なサービスにソフトデリート機能を追加した話.

おはようございます.先日、あるユーザーから一通の問い合わせが届きました.そこには「削除依頼」という文字だけで何を削除すれば良いのかや削除の理由などは書かれていなかった.

陳腐するぎると内心思ったのだけど、実際どんな年代が使用しているのかは分からないので「削除」ボタンを追加し本人と管理人以外、削除出来ないようにその日のうちに対応しました.

これによって誤って投稿したものを削除することが可能になったので、ユーザーさん的には使いやすく少しはなったんじゃないかな?

とある掲示板的なサービスは、こちらの無料サービスのリンク紹介に貼っています.どのサービスがそうなのかはご自身で調べてみてください.

明日へ続く

⏩️映画、市子を観ました.#アマプラ #壮絶

おはようございます.先日、休みに映画、市子をAmazonプライムで観ました.壮絶過ぎるストーリー展開でした.ラストシーンはこう終わるだなってので終わり方だったんだけど、中盤から一体どうなるだろうかという感じの物語の進み方だったんで見応えはあるには有ったけども、ちょっとテーマが考えさせられる物だったのでこの映画に良し悪しはないかなと.

まぁでも前々から気になっていて見るタイミングがなかった映画をウォーキング中に大体観てあとは42インチのディスプレイで残りをその日の内に消化した感じです.見終わった後に何かモヤモヤ感は残るものの、観てよかったと思います.

この頃、PSVRで観ることがなくなっています.理由はSFの映画で見たい映画が今年はなかったのが原因です.ディズニープラス契約しているけど、将軍を観た後にスター・ウォーズでもとか思ったのだけど時間が取れなくてみていないです.映像作品は時間を消費するというのが一番のネックですよね.

時間が勿体ないと思っている反面、休みの日にYOUTUBEとかダラダラと観ている自分がいるので気をつけないとね.

明日へ続く

⏩️クリスマスなのでブラウザに雪を降らすJSコードを生成AIで生成.

おはようございます.クリスマスなのでブラウザに雪を降らすJSコードを生成AIで生成.今年も彼女がいないクリスマスを過ごしました.彼女になってくれる人お待ちしております、この姿勢が彼女が出来ない要素なんだということも分かっていますが.

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>雪</title>
    <style>
        #snowContainer {
            position: absolute;
            /* 親要素に対する絶対配置 */
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            /* 雪が画面外に出ないようにする */
            pointer-events: none;
            /* 雪がマウスイベントを邪魔しないようにする */
            z-index: 9999;
            /* 他の要素より前面に表示 */
        }

        .snowflake {
            position: absolute;
            width: 10px;
            height: 10px;
            background-color: white;
            border-radius: 50%;
            /* 丸くする */
            opacity: 0.7;
            /* 少し透明にする */
            animation: snowfall linear infinite;
            /* アニメーションを指定 */
        }

        @keyframes snowfall {
            0% {
                transform: translateY(-10px);
            }

            /* 開始位置 */
            100% {
                transform: translateY(100vh);
            }

            /* 終了位置(画面下部) */
        }
        html{
            background-color: black;
            width: 100vw;
            height: 100vh;
        }
    </style>
</head>
<body>
    <div id="snowContainer"></div>
    <script>
        const snowContainer = document.getElementById('snowContainer');
        const numSnowflakes = 50; // 雪片の数

        for (let i = 0; i < numSnowflakes; i++) {
            const snowflake = document.createElement('div');
            snowflake.classList.add('snowflake');
            snowflake.style.left = `${Math.random() * 100}vw`; // 横方向のランダムな位置
            snowflake.style.animationDuration = `${Math.random() * 3 + 2}s`; // アニメーション速度をランダムに
            snowflake.style.animationDelay = `${Math.random()}s`; // アニメーション開始時間をランダムに
            snowflake.style.fontSize = `${Math.random() * 10 + 5}px`;
            snowContainer.appendChild(snowflake);
        }
    </script>
</body>
</html>

そんな自分でも好きですという奇特な人はいないものかな...(受け身(笑)

そんな自分が生成AIに雪を降らすJSコードを頼んだところ、俊足の解を出してくれました.なんて時代なんだと思いながら出力されたコードをhtmlファイルにペーストしてhtml背景を黒にしてあとは一応、確認.

最後に雪が降っているデモサイトを貼っときます.

https://zip358.com/tool/snow

明日へ続く

⏩️ハッキングかもしくは不具合か分からないので.オーバーフローかな?

おはようございます.ハッキングかもしくは不具合か分からないので問い合わせを行いました.これを書いているのは、問い合わせを行った当日なので、今のところ、自分のプログラムコードの不具合なのか、それともハッキングなのか分からない.

ソースコードは単純なソースコードなので当初はオーバーフローと考えたけど、32ビット際のオーバーフローの桁に加算した値を入れたがオーバーフローはしなかったんです.だとすると何らかのサーバー異常でデータを取得できなかったというそれぐらいの事しか思い当たらない.

念の為にサポートセンターに投げた.あり得ないかもしれないけどハッキングという可能性もあるので、問い合わせした感じになります.

昔、VPSサーバーで運営していた時に何度か変なログインの痕跡があったのでもしかしたらハッキングしたファイルを引き継いでいる可能性もという懸念があり.

こういう時に知識の無さを痛感しますね.

明日へ続く

⏩️Python初学者は無料のあのドキュメントを読めば良いと思った話.

おはようございます.Python初学者は無料のあのドキュメントを読めば良いと思った話を書いていきます.Python言語は飛ぶ鳥を落とす勢いです、とても人気の言語でもありますが自分はクラスやメソッドが{}でしまっていないので読みづらさを感じます.

# コレクション作成
users = {'Hans': 'active', 'Éléonore': 'inactive', '景太郎': 'active'}
# 方針:  コピーを反復
for user, status in users.copy().items():
    if status == 'inactive':
        print(user)
        del users[user]

# 方針:  新コレクション作成
active_users = {}
for user, status in users.items():
    if status == 'active':
        active_users[user] = status
print(active_users[user]) 

さて、この上記のコードは何処のコードかといえばPython公式のドキュメントです.これを読むだけで初学者さんは勉強になると思います.それもこれ日本語で書いてくれています.

これを読むだけで高い参考書籍を買う必要はない気がします.それでも分からない方は参考書籍を買ってみてください.

Pythonの話ではないのですが、最近React公式のドキュメントが読みやすくなっているって界隈でちょっと騒ぎになっていました.

これも生成AIが恩恵なのかもしれません.

明日へ続く

⏩️上には上がいて上しか見ていない.上位1%には成らなくても

おはようございます.40代エンジニアとしてまだ小童レベルだと思うのだけどせめて中間層までなんとかたどり着きたいなっていう思いがあります.

上位1%の技術者は憧れますが、これは持って生まれたDNAが違うのでたどり着くことは到底出来ないという思いがありますが、その他レベルは頑張り次第でそれなりに技術を持つことは誰にでも出来ることだと思うですね.エンジニアが技術を伸ばすのに一番大事なのは環境と人だと思います.

頑張っただけ技術や知識は付いてくるものだと思うのものの.その人の元々の能力によって身につくまでに時間が掛かってしまったりする場合があることも.

@__cp20__さんという人のxのタイムラインを見ていて、この人は上位1%の方だと思うものの、それに掛けている情熱や熱意は見習うものがあると自分は思います.20代だと思うのだけど全然桁違いに凄いなって思います.

上には上がいて彼にもたどり着きたい目標があったりするだと.

明日へ続く

⏩️Qiitaをさよならした話.生成AIの時代に技術的な記事を書くこと.

おはようございます.Qiitaをさよならした話.生成AIの時代に技術的な記事を書くことはデメリットに成りかねない.自分みたいな小童が記事を書いてもそれを生成AIが抽出し学習していく.それを技術的なことを知らないユーザーが使用し中小企業や零細企業に改善してほしいと厳しい単価で要求してくる世の中になるのではないかという懸念からQiitaに記事を記載するのを辞めました.

正確にいうとQiitaの技術的な記事をすべて削除しました.ブログでは今まで掲載した記事を探し出して削除するのは記事数が多いのでしませんが、今後の記事は初心者向けの記事や気づきのメモ的な記事を書いていく事にします.

具体的にはPHPの技術的な記事はこれから少なくなっていくと思います.また業務に支障のない範囲で初心者向けのPythonやReactなどの技術的な記事は書いていくと思います.

WEBサイト制作だけを生業としている企業は生成AIの登場で厳しい時代になってくると思います.もうテキスト指示だけで自分のサイトが作成できる時代になっていてそれをワンアクションで公開出来るようになっています(米国の企業がそんなサービスを提供しています).

これから先、WEBシステムやソフトウェアも一からコードを書かなくて良い時代になってくると思います.ただ既存のWEBシステムやソフトウェアのメンテナンスがあるので直ぐに置き換わるという事はないとは思いますが.それも時間の問題なんだと.

明日へ続く

⏩️mixi2を登録しましたよ. #業務報告?#フォロー宜しくお願い致します.

おはようございます.mixi2を登録しましたよ.いまmixi2は招待制になっていますが自分は知り合いとかではなくてxのタイムラインに招待してくれている人がいたので、それをきっかけにmixi2に登録しました.

まだポスト回数一回です、頻繁にポストしている人もいると思いますがちょっと様子見モードです.mixi2にapi機能が追加されればボット化しそうな気がします.知り合いや友人がフォローしてくれれば話は別です.なのでちょっと様子見モードで運用していきます.

フォローしてくださる人がいればtaoka_toshiakiで検索してみてください.

明日へ続く