EC管理サイトを作っています.外観デザインは生成AIに作ってもらったら平均.

20250117

Logging

おはようございます.EC管理サイトを作っています.外観デザインは生成AIに作ってもらったら平均的なデザインが出てきました.因みに自分は無料会員の生成AIを使っているのだけど、もう無料で十分な気がします、とても便利です.内部処理は自分でコードを書いているわけです、今までデザインでなかなか前へ進まなかったEC管理システムがなんか作れそうな気がしています.

外観デザインは生成AIにしてもらって、後の処理部分を仕事が休みの日を使ってごとごとと作っていきたい.3ヶ月ルールを目標にして3ヶ月でリリースまで漕ぎ着けれると思いますが、会員登録してくれたりするのは別の話かと思います.自分の予想では使われないかもなって思っているけど、こういう予想ははずれる場合もあるので何ともですね😌.

今回は有料プランもあるので決済処理会社に申請を出さなくてはならないけど、申請が下りるかは未知数です.通らなかった場合はフリープランの商品登録数の上限を少し変えて運用していくつもりではいます.心が折れて途中で頓挫する可能性も少しはありますが今のところはたぶん出来るだろうと思っています.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

ヶ月ルール, コード, デザイン, フリープラン, リリース, 上限, 予想, 休み, 会員, 内部処理, 処理部分, 外観デザイン, 有料プラン, 未知数, 決済処理会社, 生成, 申請, 目標, 管理システム, 途中,


Photo by Pixabay on Pexels.com

あれもこれも終わっていないものばかり.そうあれもこれも終わっていない.

20250116

Logging

おはようございます.あれもこれも終わっていないものばかり.そうあれもこれも終わっていないのです.何がといえばファイナルファンタジー16とファイナルファンタジー7リバースが未だにクリアしていない.どちらも中盤前でプレイしているのですが、なかなかクリアするまで云ってません.

ファイナルファンタジー16もファイナルファンタジー7リバースも悪くないと思っています.なのに中々ゲームプレイ出来ないのには理由があります、休みの日も何だかんだでコードを触っている、コードを書かない日はない、やっぱコードを書くことがゲームプレイするより面白いと自分は感じている自分がいます.

WEBアプリやWEBサービスを作る過程が楽しいですね、作って終わると「運用」という物が始まります、これは自分にとってちょっと負担です.

WEBサービスをリリースしユーザーが付いてしまうと終わらすのが難しい.運営が赤字でも運営しているサービスなんかもあると思います.広告貼っているからガンガン収入が入ってくるわけでもないので難しいところです.

積みゲーは当分積みゲーなのかも知れないですねー.目標としては今年中にどちらかをクリアしたいです.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

アプリ, ゲー, コード, ファイナルファンタジー, ファイナルファンタジーリバース, ユーザー, 中盤前, 休み, 収入, 広告, 未だ, , 理由, 目標, 負担, 赤字, 運用, 過程, 難しいところ, 難しい運営,


VPSサーバーのお試しをお試している、契約するかは考え中です.

20250115

Logging

おはようございます、さくらのVPSサーバーのお試しをお試している、契約するかは考え中です.一応、XでもポストしているようにDockerで構築するつもりでいるのだけど、どうなるかは未定.

WEBで管理できるコンテナ管理のツールを入れるかどうかに悩んでいる.入れたら管理は楽になりそうなんだけど、セキュリティ的に弱くなるかなという思いがあるので考え中です.GUIで可視化できるコンテナ管理できるものを社長に教えてもらったとても良さげportainerポーテナー)というものです.

ポーテナーは良い感じなツールですが、自分がセキュリティ知識が乏しいので自信がないですよね.今回は頑張りたいですが、やや慎重に運用したいと思っています.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

お試し, こんてな, コンテナ管理, サーバー, さくら, セキュリティ知識, ツール, ポーテナー, 可視化, 未定, 社長, 管理, 自信, 自分, 良い感じ, 良さげ,


映画、孤独のグルメを観てきました.いやこれ.たぶん、そう.

20250114

Logging

おはようございます.先日の日曜日に映画、孤独のグルメを観てきました.今回はJERAジェラのクーポンコードを使用して日曜日というちょっとコミコミの映画館に行ってきました.ジェラのクーポンコードを使用すると300円の割引になるので、ムビチケよりは割引感はないものの普通に見ると2000円だからお得感はあります.

そんなジェラの話は置いといて映画、孤独のグルメですが今年の始めてみる映画としては幸先良いかなって思いました.全く孤独のグルメのドラマや漫画などは全く見ていない自分でしたが、まずまず良い感じなストーリー展開でし、この映画を観た後に何か食べたいという気持ちになりました.

映画を観た後に何か食べたいな、美味しいご飯を食べたいという気持ちになったのは初めてです.

今年はなんか幸先良い出だしなので楽しみですねぇー.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

お得感, クーポンコード, ジェラ, ストーリー展開, ドラマ, ムビチケ, , 割引, 割引感, 幸先良い, 幸先良い出だし, 日曜日, 映画, 映画館, 気持ち, 漫画, 美味しいご飯, 自分, 良い感じ, ,


3本のブログ運用は大変なので本命だけを残してあとは不定期.

20250113

Logging

おはようございます.3本のブログ運用は大変なので本命だけを残してあとは不定期にします.昔より体力が低下しているのか、なかなか3本のブログ運用は大変です、書くことは簡単なことなのですが消耗している気がします.パソコンの前で毎日、作業するのは楽だと思われがちですが実際は結構たいへん.

デスクワークの最強の敵はお腰です、長年このデスクワークという仕事に従事すると腰痛になります、ならない人もいるかもですけど、大体の人がお腰が痛くなります.自分の作業部屋のデスクは昇降のデスクなのでお腰に負担が来たら立って作業をするようにしていますが、それでも腰痛になります.

昇降デスクでなかったら、恐らくもっと大変です.腰痛って結構体力を奪います.そういう事もあり、ブログ運用はこの本命ブログを残してあとは不定期ブログとして更新します.

更新頻度はこのブログはほぼ毎日のように更新されます.兎のはなしは週一か週二程度で更新します.我らウェブ主義は不定期です.

正月そうそう、この決断は自分としてもどうかと思いますが長く続けたいと思うなら無理はしないことだと思います.それが続けれる秘訣だと思います.

イチローさんは先送りする人は出来ないと言います.確かにそうかも知れないけれど嫌々しても続かない.そもそも嫌なものは続かないとも言えます.向いていないものは続けれないのではないだろうかと.

なので好きなものや興味があるものが嫌にならない為にも頑張らないことです.そして自分が毎日して苦にならないものが適職です.適職は一つしか無いというのも思い込みです、適職が2つ3つある人もいると思います、その逆もしかりです.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

イチローさん, デスク, デスクワーク, はなし, 不定期, 不定期ブログ, 体力, , 我らウェブ主義, , 昇降, 昇降デスク, 最強, 本命, 正月, 決断, 腰痛, , 適職, 長年,


Photo by Markus Spiske on Pexels.com

一万円という数字が高いと感じる.インフレなのに.インフレだから.

20250112

Logging

おはようございます.「一万円という数字が高いと感じる.インフレなのに.インフレだから.」というお題で今日は書いていきます.インフレとはモノやサービスの価格が継続的に上昇することを意味します、なのでお給与が上がるわけではないので商品が高いと感じるわけです.

年間固定費が高い.サブスクリプションでYOUTUBEに1万2千円が来月発生します.そしてアドビ税が3万円が発生します.年間契約にしているので少し割引価格で使用できるのだけど、これだけで4万2千円の現金が消えていくのは痛い.そしてなんだか勿体ない感もある.特にアドビ税を支払っている割にはこの頃はアドビのイラストレーターを使用していないだよね.

だったら、契約しないという選択肢もあるのですが…無いと困るので継続するつもりではいます.YOUTUBEなんて無料で良いだろうという意見もあるけどCMがうざっと感じるのでその為にお金を支払っていたり音楽も聞けるので何だかんだで契約を継続したい.

その他にもウイルス対策のソフトなどにもお金を支払ってる.これ無駄と言われるかもだけど、何度かブロックしてくれた事(誤検知かもだけど)もありなんか入れとかないとと思っている.

そんなわけでサブスクリプションに年間、7-8万円支払っている気がする.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

アドビ, アドビ税, イラストレーター, インフレ, ウィルス対策, お題, サブスクリプション, その他, , 勿体ない感, 少し割引価格, 年間, 年間固定費, 年間契約, 意見, 数字, 誤検知かも, 選択肢, 音楽, 高いサブスクリプション,


VPSサーバーに今年移行するかも🦆.する場合はDocker運用で!?

20250111

Logging

おはようございます.VPSサーバーに今年移行するかも🦆.する場合はDocker運用で行いたいなって思っているのだけど考え中です.Dockerの場合、環境構築は簡単なんだけど環境を後から追加したいとかいうのが、面倒なところがあるので…考え中.

先日、Xにもポストしたけどこんな感じの構成で運用しようと思っています.

そもそもVPSサーバーに切り替えるとなると結構面倒なのとレンタルサーバーから上手く切り替えることが出来れば良いけど、自分の場合は無料のSSLで運用しているので一旦停止みたいな事が発生する.少しずつドメインを以降するとほど金銭的に余裕資金はないので悩みどころです.

書いていて思ったのだけどVPSサーバーに移行する前に自宅サーバーで試してみてDockerコンテナ運用が良いかもと思ったら移行してみます.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

コンテナ運用, サーバー, ところ, ドメイン, レンタルサーバー, 一旦停止, 余裕資金, 感じ, 構成, 無料, 環境, 環境構築, 自分, 自宅サーバー, 運用,


Photo by eberhard grossgasteiger on Pexels.com

映画、歩いても歩いてもを観ました.

20250110

Logging

おはようございます.映画、歩いても歩いてもを観ましたので感想を残しときます.この映画、家族や人を凄く丁寧に描いている.観終わった後に考えさせられる映画でした.ストーリーに浮き沈みというものは無く何処か映画、東京家族(山田洋次監督)にているものを感じました.

これは20代とかで観ると何も響かなったかもしれないけど、いまの年代で観るといろいろと思う所がある.この映画を70代で観たらまた違った捉え方が出来るのかも知れないと思いますね.

是枝裕和監督はこういう映画を撮るのがとても上手だなって感じました.人をとても見ていないとこういう映画は撮れないかと思います.今見れて本当に良かったです.

因みにこの映画はネトフリでもアマプラでも見れます.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

$代, アマプラ, ストーリー, ネトフリ, , 何処か映画, 家族, 山田洋次監督, 年代, 感想, , 捉え方, 映画, 是枝裕和監督, 東京家族, 浮き沈み, ,


生成AIでポートフォリオサイトを作ってでどれぐらい物(単純な指示で)が生成されるのか?

20250109

Logging

おはようございます.生成AIでポートフォリオサイトを作ってでどれぐらい物(単純な指示で)が生成されるのか?を試してみた結果、ダークモードにも対応出来ていたけどもやっぱ微妙かなと思いました.確かにまずまずの物は作れるようになっているけど、凝ったものを作るのは知識が必要になる.

ひろゆき氏の切り抜きの動画をたまたま見たけど、ひろゆき氏の生成AIに対しての考え方は今のところ間違っていない感じがします.生成AIは平均的なものが生成されます、そして生成AIで生成されたコードを直せない人は生成AIを使えない.それはソースコードも絵や音楽でも同じでそれなりものは出来るけど、その調整を出来るのはそれを専門にしている人だけです.

そして生成AIが作ったものが正しいものなのかが判断する人がいないと難しい.生成AIの提供会社が100%保証してくれるわけでもなく、生成AIで生成されるものは間違いがあることを認めている現状ではやはり普及はしないし専門家の仕事は奪われないというのがひろゆき氏の見解です.AGI(汎用人工知能)やASI(人工超知能)というのは幻想かもしれない.

シンギュラリティは当分来ない、早くても10年、20年後になるじゃないだろうかと.

ただAIはこれからも徐々に進化していくとは思っています.それに伴って医療などの進展は今まで以上に加速すると思っています.そういう訳でエヌビディアの株も今年が天井なのかもしれません.

最後に今回、生成AIが生成したhtmlファイルを添付致します.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Portfolio</title>
  <!-- Bootstrap CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
  <style>
    body {
      font-family: Arial, sans-serif;
      transition: background-color 0.3s, color 0.3s;
    }
    .hero {
      background: url('https://picsum.photos/1200/600') no-repeat center center/cover;
      height: 60vh;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    }
    .project img {
      border-radius: 8px;
    }
    footer {
      background: #343a40;
      color: white;
      padding: 1.5rem 0;
      text-align: center;
    }
    .dark-mode {
      background-color: #121212;
      color: #e0e0e0;
    }
    .dark-mode .hero {
      text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.7);
    }
    .dark-mode footer {
      background: #1f1f1f;
    }
  </style>
</head>
<body>
  <header>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
      <div class="container">
        <a class="navbar-brand" href="#">My Portfolio</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNav">
          <ul class="navbar-nav ms-auto">
            <li class="nav-item"><a class="nav-link" href="#about">About</a></li>
            <li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
            <li class="nav-item"><a class="nav-link" href="#contact">Contact</a></li>
            <li class="nav-item">
              <button class="btn btn-outline-light ms-3" id="darkModeToggle">Toggle Dark Mode</button>
            </li>
          </ul>
        </div>
      </div>
    </nav>
  </header>

  <section class="hero text-center">
    <div>
      <h1>Welcome to My Portfolio</h1>
      <p>Showcasing my work and projects</p>
    </div>
  </section>

  <section id="about" class="py-5">
    <div class="container">
      <div class="row">
        <div class="col-md-6">
          <img src="https://picsum.photos/500/400" alt="About Me" class="img-fluid rounded">
        </div>
        <div class="col-md-6">
          <h2>About Me</h2>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce aliquam magna in odio malesuada, vitae vulputate libero sodales. Nulla facilisi.</p>
        </div>
      </div>
    </div>
  </section>

  <section id="projects" class="py-5 bg-light">
    <div class="container">
      <h2 class="text-center mb-4">Projects</h2>
      <div class="row">
        <div class="col-md-4 project mb-4">
          <img src="https://picsum.photos/400/300" alt="Project 1" class="img-fluid">
          <h4 class="mt-2">Project 1</h4>
          <p>Short description of the project goes here.</p>
        </div>
        <div class="col-md-4 project mb-4">
          <img src="https://picsum.photos/400/300" alt="Project 2" class="img-fluid">
          <h4 class="mt-2">Project 2</h4>
          <p>Short description of the project goes here.</p>
        </div>
        <div class="col-md-4 project mb-4">
          <img src="https://picsum.photos/400/300" alt="Project 3" class="img-fluid">
          <h4 class="mt-2">Project 3</h4>
          <p>Short description of the project goes here.</p>
        </div>
      </div>
    </div>
  </section>

  <section id="contact" class="py-5">
    <div class="container">
      <h2 class="text-center mb-4">Contact Me</h2>
      <form>
        <div class="mb-3">
          <label for="name" class="form-label">Name</label>
          <input type="text" class="form-control" id="name" placeholder="Your Name">
        </div>
        <div class="mb-3">
          <label for="email" class="form-label">Email</label>
          <input type="email" class="form-control" id="email" placeholder="Your Email">
        </div>
        <div class="mb-3">
          <label for="message" class="form-label">Message</label>
          <textarea class="form-control" id="message" rows="4" placeholder="Your Message"></textarea>
        </div>
        <button type="submit" class="btn btn-primary">Send Message</button>
      </form>
    </div>
  </section>

  <footer>
    <p>© 2025 My Portfolio. All Rights Reserved.</p>
  </footer>

  <!-- Bootstrap Bundle with Popper -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
  <script>
    const darkModeToggle = document.getElementById('darkModeToggle');
    darkModeToggle.addEventListener('click', () => {
      document.body.classList.toggle('dark-mode');
    });
  </script>
</body>
</html>

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

エヌビディア, シンギュラリティ, ソースコード, それなりもの, ダークモード, ひろゆき氏, ポートフォリオサイト, 人工超知能, 天井, 幻想, 指示, 普及, 最後, , 汎用人工知能, 現状, 生成, 見解, 進展, 難しい生成,


グーグルカレンダーの予定を一部表示させたい時のPHPコード.

20250108

Logging

おはようございます.グーグルカレンダーの予定を一部表示させたい時のPHPコードは下記になります、参考にしたサイトはこちらですが参考にしただけでコードは違うものになります.APIを毎日叩いていると課金しなくてはならないかもなのでデータベースに保存する形にしました.これも良い方法かと言えばどうだろうと言う思いもあります.

<?php
ini_set('display_errors', 0);
require_once './vendor/autoload.php';
require_once './config.php';

use Carbon\Carbon;
use Google\Client;
use Google\Service\Calendar;
use Illuminate\Database\Capsule\Manager as DB;

class openSchedule
{
    public $DB = null;
    public function __construct()
    {
        $database = new DB();
        $database->addConnection([
            'driver' => 'mysql',
            'host' => DB_HOST,
            'port' => PORT,
            'database' => DB_DATABASENAME,
            'username' =>  DB_USER,
            'password' => DB_PASSWORD,
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_general_ci',
        ]);

        $database->setAsGlobal();
        $database->bootEloquent();
        $this->DB = $database;
    }

    public function saveSchedule($dateTimeString):void
    {
        //$this->DB::table('schedules')->delete();
        try {
            $client = new Client();
            $client->useApplicationDefaultCredentials();
            $client->addScope(Calendar::CALENDAR_READONLY);
            $client->setAuthConfig(JSONPATH);
            $service = new Calendar($client);
           // カレンダーID
            $calendarId = GOOGLECALENDARID;

            // 取得時の詳細設定
            $optParams = [
                'maxResults' => 10,
                'orderBy' => 'startTime',
                'singleEvents' => TRUE,
                'timeMin' => (new \DateTime($dateTimeString))->format(DATE_RFC3339),
                'timeZone' => 'Asia/Tokyo',
            ];
            $results = $service->events->listEvents($calendarId, $optParams);
            if (empty($results->getItems())) {
                echo "イベントが見つかりませんでした。";
            } else {
                foreach ($results->getItems() as $event) {
                    $this->DB::table('schedules')->insert([
                        'start' => Carbon::parse($event->getStart()->dateTime)->format('Y-m-d H:i:s'),
                        'end' => Carbon::parse($event->getEnd()->dateTime)->format('Y-m-d H:i:s'),
                        'title' => $event->getSummary(),
                        'detail'=>$event->getDescription()
                    ]);
                }
            }

        } catch (Google\Service\Exception $e) {
            echo 'Google Service Exception: ' . $e->getMessage();
        } catch (Exception $e) {
            echo 'General Exception: ' . $e->getMessage();
        }
    }

    public function getWeekDays($dateTimeString):string
    {
        // Carbonインスタンスに変換してフォーマット
        $carbon = Carbon::parse($dateTimeString);

        // 日本語の曜日名配列
        $japaneseWeekdays = ['日', '月', '火', '水', '木', '金', '土'];

        // 曜日の数値を取得し、日本語の曜日名に変換
        $weekdayNum = $carbon->dayOfWeek;
        $japaneseWeekday = $japaneseWeekdays[$weekdayNum];
        return $japaneseWeekday;
    }

    public function getSchedule($dateTimeString):string
    {   
        $str = '';
        $events = $this->DB::table('schedules')->select(['*'])->where('start','>=',$dateTimeString)->limit(1)->get();
        foreach($events as $event){
            
            $str.= sprintf("%s <br>",$event->title);
            $str.= sprintf("%s %s曜日 <br>",Carbon::parse($event->start)->format('Y年m月d日 H時i分'),$this->getWeekDays($event->start));
            $str.= sprintf("%s<br>",Carbon::parse($event->end)->format('Y年m月d日 H時i分'));
        }
        return $str;
    }

    public function getLastDate():string|null
    {
        $lastRecord = $this->DB::table('schedules')
                   ->orderBy('id', 'desc')
                   ->first();
        return $lastRecord?$lastRecord->start:null;
    }
}

//print (new openSchedule)->getSchedule((new \DateTime())->format('Y-m-d 00:00:00'));

if(isset($argv) && $argv[0]){
    $openSchedule = new openSchedule();
    $dateTimeString = $openSchedule->getLastDate();
    if($dateTimeString){
        $date = new DateTime($dateTimeString);
        $date->modify('+1 day');
        $openSchedule->saveSchedule($date->format('Y-m-d 00:00:00'));
    }else{
        $openSchedule->saveSchedule((new \DateTime())->format('Y-m-d H:i:s'));
    }   
}

因みに近日中にブログに仕事の予定などを記載するようにします.近日中なのでいつになるかは未定です.

そうそうCalendarIDという物がグーグルデベロッパサイトにあると思い込んでいて馬鹿な事をしていました.皆さんは間違わないように(笑).CalendarIDはグーグルカレンダーの設定の中にあります.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

```, インスタンス, カレンダー, グーグルカレンダー, グーグルデベロッパサイト, コード, データベース, フォーマット, 参考, 変換, 年月日, 数値, 時分, 曜日, 曜日名, 曜日名配列, , 皆さん, 近日中,


Radikoに再度課金しました.また解約するかも知れないけれども.

20250107

Logging

おはようございます.Radikoに再度課金しました.また解約するかも知れないけれども今のところ契約中.去年、仕事をしているときは会議以外はラジコを聞き流して仕事をしていました.無音だといろいろと将来の的なことなどを考えだして集中力がかける時があるのでラジコを聞き流しています.

簡単に言えばある程度の雑音のなかで仕事をするほうが自分は効率的に仕事をこなすことが出来る感じです(ラジコが雑音っていう訳ではないですが…).無音も悪くないけどね.超集中したいときは無音にします、そして速くプルリクエストしないといけないときは無音にしています.そういう訳でケースバイケースです.

何故、有料にしたのかと言えば地元のラジオでは飽きがきてしまってと言うのもある少しあるのだけど、その他の地方のラジオに興味を持ったのとあと都市のラジオを聞きたいと思ったのが有料に切り替えた理由かな.ラジオの良いところは知らない曲を聞けるとか知らないことを知れるということかなと思います.それもたまたま感がラジオは強い.たまたま聞いていたらというのがまた良い所です.

そういう訳でラジコでお仕事はオススメですよー.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

ケースバイケース, なか, プルリクエスト, ラジオ, ラジコ, 会議以外, 再度, 地元, 地方, 将来, 強いたまたま, , 有料, 無音, 程度, 興味, , 都市, 集中力, 雑音,


blueskyAPIが処理されなくなったので、対応を行った話.

20250106

Logging

おはようございます.今日から仕事始めの方も多いはず自分もそんな感じです.さてblueskyAPIが処理されなくなったので対応を行った話を書いていきます.ブルースカイの独自処理が上手く処理されなくなったのでその対応を行っていました.今まで公式に落ちているPHP言語のライブラリーを使用していたんだけど、レンタルサーバーの環境が変わった関係により処理がされなくなったので、自前のAPI処理を他のエンジニアが公開されているコードを参考にしてカード板自動投稿を作りました.

ソースコードは下記になります.

    public function cardPost($text, $imagePath = null, $link = null)
    {
        $imageUri = $imagePath ? $this->uploadImage($imagePath) : null;

        $record = [
            "\$type" => "app.bsky.feed.post",
            "text" => $text,
            "createdAt" => Carbon::now()->format('c'),
        ];

        if ($imageUri && $link) {
            $record['embed'] = [
                "\$type" => "app.bsky.embed.external",
                "external" => [
                    "uri" => $link,
                    "title" => $text,
                    "description" => $text,
                    "thumb" => $imageUri
                ]
            ];
        }

        $ch = curl_init("https://bsky.social/xrpc/com.atproto.repo.createRecord");
        curl_setopt_array($ch, [
            CURLOPT_CONNECTTIMEOUT => 10,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST => true,
            CURLOPT_HTTPHEADER => [
                "Content-Type: application/json",
                "Authorization: Bearer {$this->jwt}",
            ],
            CURLOPT_POSTFIELDS => json_encode([
                "repo" => $this->handle,
                "collection" => "app.bsky.feed.post",
                "record" => $record,
            ]),
        ]);

        $response = curl_exec($ch);
        curl_close($ch);

        return json_decode($response, true);
    }

これでカード型のポストが出来ます.参考にしたサイトはこちらの@ma7ma7pipipiさんのソースコードになります.そのコードにカード型のコードを追加した形になります.

https://qiita.com/ma7ma7pipipi/items/bf7fda65ee71c873c70a

一からコードを書かないで良かったのでとても助かりました.感謝ですね😌、ありがとうございます.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

```, エンジニア, カード型, カード板自動投稿, コード, ソースコード, ライブラリー, レンタルサーバー, 下記, 仕事始め, 公式, 処理, 参考, 多いはず自分, , 感謝, 環境, 自前, 言語,


ブログ通知を付けました.4時間置きに通知が飛びます.#サービスワーカー

20250105

Logging

おはようございます.去年の暮にブログ通知を付けました.4時間置きに通知が飛びます.ソースコードは以前に書いたコードをベースとして再構築した形になります.平たく言うとLaravelを使用しないでWEB通知を行うものになります.一度作ってしまえば使いましが出来るようにコードを今回は書いたので使いまわそうと考えています.

以前、Laravelで作っていたので考え方は苦労せずに出来たのですが…

今まで知らないことが出てきてしまってそこでロスしてしまいました.知らなかったこととはjavascriptのfetchです.使用する機会は結構多めなんだけど知らないことがありました.それはurlのパラムに/exampleと書くか/example/index.phpと書くかでphp言語のグローバル変数$_SERVER[‘REQUEST_METHOD’]の値がPOSTで送っているのにも関わらずGETになるのです.

fetchを書く場合は/example/index.phpと書くことでPOST送信と判断されます.これをデバックもせずに悩んでいました(笑).デバック大事.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

グローバル変数, コード, ソースコード, デバッグ, デバック大事, パラム, ブログ通知, ベース, 一度, , 去年, , 時間置き, , 機会, , 考え方, 言語, 送信, 通知,


地声ベースのAI音声合成モデルを再度構築しました話.たぶん似てる.

20250104

Logging

おはようございます.地声ベースのAI音声合成モデルを再度構築しました話を書いていきます.まず地声ベースモデルを作る場合.自分の音声を録音しwavなどファイルにします.それが出来ない環境では音声モデルを作ることは難しいです.それが出来たらstyle-bert-vits2をGitHubから落としてきて、ブランチをdevに切り替えておきます.Windowsの場合、app.batを起動します.前提条件としてPythonがインストールされていることとgitがインストールされた環境であることです.

app.batを起動するとターミナルがターミナル立ち上がり次に任意のブラウザが開くことでしょう.ターミナルは閉じずにブラウザ画面のTOPにタブがあるので左から右へタスクをこなしていくと地声ベースの音声合成モデルが生成されます.

音声合成モデルが生成された後にstyle-bert-vits2内でターミナルを開き下記のコマンドを叩きます.

python convert_onnx.py --model model_assets\モデル名

叩く処理が実行されonnxファイルがモデルフォルダに作られます.

作られたファイルをaivm-generator.aivis-project.comサイトにてコンバートします.コンバートするとAIVM / AIVMX ファイルがダウンロードされます.最後にダウンロードされたファイルをAivisSpeechアプリに取り込めば完了です.

で、こちらが地声ベースの音声合成モデルで今回の記事を読み上げている音源になります.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

コマンド, ターミナル, ターミナル立ち上がり次, タブ, ファイル, ブラウザ, ブラウザ画面, モデルフォルダ, , 再度, 前提条件, , 地声ベース, 地声ベースモデル, , 最後, 音声, 音声モデル, 音声合成モデル, 音源,


ネトフリで映画65 シックスティ・ファイブを中盤まで観てラストまで飛ばし観した話.

20250103

Logging

おはようございます.ネトフリで映画65 シックスティ・ファイブを中盤まで観てラストまで飛ばし観した話を書いています.まずこの映画、大スクリーンかVRで観ないと楽しめない作りになっています.

ストーリー的には地球が舞台になっています.ストーリー展開はこんな感じです、恐竜が存在していた白亜紀後期に不慮の事故で地球に墜落した1基の母船.生存者は2人、果たして地球から脱出することは出来るのか?というストーリーなのですが、ストーリー展開がベタベタ過ぎる.

中盤まで観てヒヤヒヤドキドキがこのままずっと最後まで続くのかと思って中盤まで観て脱出ポッドが見つかったあたりからラストまで観た感じです.自分としては珍しい見方です.

基本、映画は飛ばし飛ばしで観ないのですがこの映画は例外です.この映画を小さな画面で観ていたことが一番の問題だと思いますが、ラストまで観て再度観たいとは思えなかったので….

全然悪いわけではないけど何かが足りない気がしました.映画の評価も3と微妙な評価でしたが今回は映画評論が正しかった形になります.尚、映画は字幕で見ています.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

あたり, シックスティ・ファイブ, ストーリー, ストーリー展開, ネトフリ, ヒヤヒヤドキドキ, ラスト, 不慮, 中盤, 再度, 地球, , 字幕, 恐竜, 映画評論, 母船生存者, 珍しい見方, 白亜紀後期, 脱出ポット, 舞台,


LaravelのViteが使用できない環境でログイン画面などを表示させたい対処法.

20250102

Logging

おはようございます.さて正月、2日目の記事はLaravelのViteが使用できない環境でログイン画面などを表示させたい対処法です.レンタルサーバーではnpmコマンドが使えないのでローカルでビルドしてサーバーにビルド後のファイルをUPしている方が殆どだと思いますが、npmをビルドするのも面倒、ビルドが出来ない方はソースコードを読んで何のコードが使われているかを判断して使用されているライブラリーのcdnを貼り付けるだけで大体の解決します.

尚、viteで参照しているところは削除してください(viteと差し替える形になります.).

viteでエラーが出る話はこれで終わりです.ここから余談です今年から無料になったGitHub Copilotを個人開発では使用するようにしました、この事によって今までより開発効率が上がるということならば有料プランも検討したいなと思っています.今のところ、無料プランで使っていくというスタンスです.

因みに自分は正月そうそうからコードを書いています.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

エラー, コード, コマンド, サーバー, さて正月, スタンス, ソースコード, ビルド, ビルド後, ファイル, ライブラリー, レンタルサーバー, ログイン画面, 余談, 対処法, , 有料プラン, 正月そうそう, 殆ど, 開発効率,


新年、あけましておめでとうございます~🎍🐍🎍

20250101

Logging

新年、あけましておめでとうございます~🎍🐍🎍、この投稿を読んで頂いた人に福が来るように祈っています.今年は貫徹の年越しでもしようかなと思っていたんだけど、この投稿が公開している頃は寝落ちしている頃かもしれません.

今年は何だか良いことが起きそうな気がします、何だかそういう気がします.気がする時って自分の場合、大体あたっている事が多いのでそうなると思っています.

去年は何かと厳しいかったので、倍返しに運が廻ってくると良いですよね.運が悪い運が良いって言いますが実はこころの持ちようがカナリ影響しているそうです.なので悪いことが起きても塞翁が馬だと思って考え方を切り替えることが大事らしい.

そういう訳なので、去年イマイチ運が悪かった方も良い方向に進んでいると思って前向きに行きましょい!人生は一瞬らしいので後悔のないように!!

では、皆さんにとって良い一年でありますように!!

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

かなり, こころ, 一瞬, 人生, 倍返し, 前向き, 去年, 去年イマイチ運, 塞翁, 年越し, 後悔, 悪い運, 投稿, 新年, 皆さん, , 良い方向, , 貫徹, ,


Photo by Khanh Le on Pexels.com

皆様のお陰で今年も何とかなりました.有難う御座います.

20241231

Logging

おはようございます.皆様のお陰で今年も何とかなりました.有難う御座います.今年は少々厳しい生活を送っていたのですが、訪問者さまのお陰で何とかなりました心より感謝申し上げます.本当に有難う御座います.

馬鹿な自分でもお金を増やせる唯一の方法はお金に働いてもらうということです.そうすることでお金がお金を生みます.生まない場合もありますが長期的に見れば投資することはプラスになると思っています.

理由は人には欲があるので経済成長を辞めることはないでしょうと思うからです.経済が悪化した場合も増えていた分が減る様に見えて価値そのものは変わらないように思います.特に投資信託の場合、株の抱合せを購入しているわけですから.株単体とは話がまた違います.

投資信託や株などを厳しい生活のなかで購入していました.そのお陰で資産が少し増えました.また引き落としなどは副収入で何とかなった時期もあり助かりました.

有難う御座います.

来年も良い一年でありますように!

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

お陰, なか, プラス, 価値そのもの, , 副収入, 厳しい生活, 唯一, 少々厳しい生活, 感謝, 投資信託, 抱合せ, 時期, 来年, , 株単体, , 経済, 経済成長, 資産,


ビットフライヤーはビットコインのビットコインをリアルタイムで受信するphpコード

20241230

Logging

おはようございます.ビットフライヤーはビットコインのビットコインをリアルタイムで受信するphpコードを書きましたのでお裾分けです.以前書いていたものとは違う感じになります.ビットフライヤーさんのAPIを参照するとルビやJSの例コードはあるものの、何故かPHP言語のコードが無いので書いてみた形になります.ベースは生成AIに出力してもらったの物になります.それを自分の方がクラス化して使いやすくした形になります.

<?php
require 'vendor/autoload.php';

use WebSocket\Client;

class bitflyer
{
    public $client = null;
    public $channelName = "lightning_board_snapshot_BTC_JPY";
    public $wsUrl = 'wss://ws.lightstream.bitflyer.com/json-rpc';

    public function connecting()
    {
        try {
            // WebSocketクライアントを初期化
            echo "Connecting to WebSocket server...\n";
            $this->client = new Client($this->wsUrl);

            echo "Connection established. Subscribing to channel...\n";

            // サブスクライブメッセージを送信
            $subscribeMessage = json_encode([
                'method' => 'subscribe',
                'params' => ['channel' => $this->channelName],
                'id' => null,
            ]);
            $this->client->send($subscribeMessage);
        } catch (\WebSocket\ConnectionException $e) {
            echo "WebSocket connection error: " . $e->getMessage() . "\n";
            sleep(1); // 1秒待機して再接続
            $this->client = null;
            $this->connecting()->receive();
        } catch (Exception $e) {
            echo "General error: " . $e->getMessage() . "\n";
            $this->client = null;
            $this->connecting()->receive();
        }
        return $this;
    }

    public function receive()
    {
        try {
            // メッセージ受信処理
            while (true) {
                $message = $this->client->receive();

                // 受信データが空でないか確認
                if (!empty($message)) {
                    $data = json_decode($message, true);

                    // デコードが成功したか確認
                    if (json_last_error() === JSON_ERROR_NONE) {
                        if (isset($data['method']) && $data['method'] === 'channelMessage') {
                            print_r($data['params']);
                        }
                    } else {
                        echo "JSON デコード エラー: " . json_last_error_msg() . "\n";
                    }
                } else {
                    echo "返却値 空.\n";
                }
            }
        } catch (Exception $e) {
            echo $e->getMessage();
            $this->client = null;
            $this->connecting()->receive();
        }

        echo "Ctrl+C にて終了\n";
        return $this;
    }
}

(new bitflyer)->connecting()->receive();

尚、レンタルサーバーなんかでこのコードを動かすのは禁止されていますので、必ずローカルマシンで動かしてください.もし何かトラブルになっても保証出来ないので注意してください.因みに自分はDocker内で動かしています.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

```, エラー, お裾分け, クライアント, コード, サブスクライブメッセージ, デコード, ビットコイン, ビットフライヤー, ビットフライヤーさん, ベース, リアルタイム, ルビやの例コード, レンタルサーバー, ローカルマシン, , 接続, 秒待機, 言語, 返却値,


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

20241229

Logging

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

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

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

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

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

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

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

かなり, コンスタント, ストック, フッター, メイン, 兎さん, 副収入, 年月日, 戦記, 日誌, 早朝, 来年, , 段階, 目標, 給与水準, , 試行錯誤, 連休, 頑張りがい,


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

20241228

Logging

おはようございます.ガチで知らなかった.もう何年も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言語を主とした仕事をしてきたわけです.仕事で使用するコードってある程度似ているので同じような関数などを使う反面、バージョンアップで追加された機能を使うことはほぼ無い.非対応になった関数を置き換えることはあっても.そういう事もあり今の今まで知らずにいた.

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

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

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

```, ガチ, きっかけ, コード, サンドボックス, バージョン, バージョンアップ, プルリクエストしマージ後, 一生, , 仕方, 反面, , 恥下記, 改修, 正規化, , 言語, 返却, 関数,


Photo by Athena on Pexels.com

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

20241227

Logging

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

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

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

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

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

うち, ご自身, サービス, ボタン, ユーザー, リンク紹介, 一通, 削除, 削除依頼, 問い合わせ, 実際どんな年代, 少し, 文字, , 本人, 無料サービス, 理由, 管理人以外,


Photo by Louis on Pexels.com

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

20241226

Logging

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

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

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

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

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

インチ, ウォーキング中, スター・ウォーズ, ストーリー展開, タイミング, ディズニープラス, ディスプレイ, ネック, プライム, モヤモヤ感, ラストシーン, 一体, 中盤, , 前々, 勿体, 反面, 将軍, 物語, 見応え,


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

20241225

Logging

おはようございます.クリスマスなのでブラウザに雪を降らす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

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

```, アニメーション, アニメーション速度, クリスマス, マウスイベント, ランダム, 俊足, 前面, , 姿勢, 最後, 生成, 生成今年, 画面下部, 背景, 要素, 親要素, , 配置, 雪片,


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

20241224

Logging

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

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

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

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

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

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

32ビット際, オーバーフロー, サーバー, サーバー異常, サポートセンター, ソースコード, データ, ハッキング, ファイル, プログラムコード, ログイン, , 当初, 感じ, 懸念, , , 無さ, 痕跡, 知識,