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

2025.01.17

Logging

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

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

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

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

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

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

2025.01.09

Logging

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

生成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で応援を送る

タグ

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

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

2024.12.25

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で応援を送る

タグ

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

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

2024.12.23

Logging

おはようございます.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が恩恵なのかもしれません.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

クラス, コード, コピー, コレクション作成, ドキュメント, メソッド, 何処, 初学者, 初学者さん, 勉強, 勢い, 参考書籍, 反復, 恩恵, 方針, 景太郎, 生成, 界隈, 言語, ,

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

2024.12.21

Logging

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

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

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

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

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

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

コード, ソフトウェア, テキスト指示, メンテナンス, ユーザー, , 中小企業, 厳しい単価, 厳しい時代, 小童, 懸念からに記事, 支障, 既存, 業務, 生成, 生業, 範囲, 米国, 話生成, 零細企業,

読めるのに書けないってプログラムコードでも有り得るようになるのかも.

2024.12.15

Logging

おはようございます.今後、生成AIが進化する中、読めるのに書けないってプログラムコードでも有り得るようになるのかもとふと思ってしまう.例えばPHP言語なら自分はある程度コードはかけるのだけど、Pythonになるとあまり慣れていないせいか、あまり思うように書けない.

ついつい生成AIに頼ってしまう.そうなると生成AIで記載されたコードを読んでカスタマイズすることになる.

そう、読めるのにコードが1から書けない状態に陥ってしまう.これを打開するには自分でコードを書くしかほかならない.これから先、生成AIが進化する中で自分みたいに読めるのに書けない人もエンジニアも仕事をしていくことになるだろうか.

ともあれ生成AIは進化している中でプログラムコードはエンジニアが書くという機会は減っていくのは必然なのかもしれない.

生成AIに頼ってしまうは検索サービスよりも依存してしまいそうだ.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

エンジニア, コード, プログラムコード, , 仕事, 必然, 検索サービス, 機会, 状態, 生成, 程度コード, 自分, 言語,

親子で学ぶ どうしたらお金持ちになれるの?を読了

2024.12.09

Logging

おはようございます.「親子で学ぶ どうしたらお金持ちになれるの?」という本を読んで思うこと.ドライな話だけども実際そうだと言うことが多いのも事実だなって思います.

記載されていた目次を抜粋.

  • 100倍の法則
  • 「奇跡(きせき)は起きない」の法則
  • 「君は友だち5人の平均」の法則
  • 「わたしはわたし」の法則
  • トライ・アンド・エラーの法則
  • 「世界は理不尽(りふじん)である」の法則
  • 「恵まれてないほうが人生は面白い」の法則

目次を読んで凹む人も多いかも知れませんが、これを子どもの時に知っていたら人生の選択肢が多くなっていたのかも知れないなって.自分には子どももいませんが、子どもがいたら滾々と伝えていた可能性が高いです.

人生は一度きりなので、いろんな人が書かれた本を読んでみることが大切だと思います.先人の知恵や経験は今のところ本にしか書かれていません.生成AIに聞いても今のところ定量的な回答しか得れないので是非、本を読むことをオススメします.

本が嫌だという人はドラマや映画から学ぶことも良いかも知れないです.多くのジャンルの読んだり観たりする中で生きるヒントが出てきます.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

エラー, キセキ, ジャンル, ところ定量, トライ・アンド, ドラマ, ヒント, わたし, 事実, 回答, 奇跡, 平均, 抜粋, 法則, 滾々, 生成, 目次, 知恵, 親子, 選択肢,

ChatGPTで記事を生成するWordPressの無料非公式プラグイン

2024.10.09

Logging

おはようございます.ChatGPTで記事を生成するWordPressの無料非公式プラグインを作りました.動作環境はPHP8.1以上です.ご使用する場合、WordPressのプラグインフォルダに解答したフォルダを転送してご使用ください.

記事を量産する前にOpen APIにて事前にAPIKeyを取得してください.プラグイン管理画面より取得したキーを入力欄に入力し「変更を保存」をクリックし保存してください.

「変更を保存」ボタンはAPIKeyを保存するボタンになります.

保存後、タイトルや投稿日時、生成させたい記事に対してのキーワードをそれぞれ入力して「記事を量産する」ボタンをクリックすると記事の生成が始まります.尚、タイトルは生成記事を作るのに影響を与えません.記事生成に影響するのはキーワードのみとなります.

最後にプラグインのURLはこちらになります.

plugin/chatgpt-auto-article.zip

明日へ続く.(明日の記事は生成AIで生成されたものです)

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

APIKEY, ChatGPT, chatgpt-auto-article.zip, Open API, plugin, url, WordPress, キー, キーワード, タイトル, フォルダ, プラグイン, プラグインフォルダ, プラグイン管理画面, 保存, 最後, 無料非公式プラグイン, 生成, 生成AI, 生成記事,

キャッチコピーを考える、昨日の記事続き。

2023.12.05

Logging

おはようございます、メルカリで売るキャッチコピーを考えるために売れるキャッチコピーをみんなが使っているchatGPTさんとBardさんに考えてもらいました。それをXに自動でポストするようにここは人の手でコードを書きました。無料の生成AIは完璧なコードを書けないので?手直しが必要になります。

chatGPT4Turboとかなら、コードの生成も凄いらしいだけども有料で月3000円ぐらいの支払いを行わないといけないので、それだったらそのお金を別のことに使用したいというのが本音。

お金に余裕のある人は試せているのだろうけど、基本的にあまり自分はお金に余裕はないのでポチれないのが本音ですかねぇ。本当は試したいのだけども・・・・。

話し戻しまして無料版でも十分、キャッチコピーを考えてくれるので有り難い。

ちなみにBardさんはこんな感じです。chatGPTに軍配が上がる・・・。

というわけで、メルカリ店よろしくお願いします🙇

https://jp.mercari.com/user/profile/808093563

明日へ続く。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Bardさん, ChatGPT, chatGPT4Turbo, chatGPTさん, X, キャッチコピー, コード, みんな, メルカリ, メルカリ店, 余裕, , 手直し, 有料, 本音, 無料版, 生成, 生成AI, 自分, 軍配,

Laravelのappとresolveでインスタンス。

2023.07.29

Logging

おはようございます、この頃、技術的な記事を書いていなかったのでLaravelのことについて語ります。Laravelのappとresolveでインスタンスしてくれる便利な機能があります。使い方は下記を参照してください。

$result = resolve('App\SomeClass')->someMethod();
$result = app('App\SomeClass')->someMethod();

では、これは何をするでしょうか。Factory(ファクトリー)はどんな機能なのかをBardに説明してもらいました。

LaravelのFactoryは、テストでデータベースを使う代わりに、データの生成方法を定義して、そのデータをテストで使うことができる機能です。
例えば、ユーザーモデルのテストをするときに、Factoryを使ってユーザーを生成することができます。そうすることで、データベースを使う必要がなくなり、テストが高速化されます。
また、Factoryを使うことで、テストで使用するデータの作成を自動化することができます。これにより、テストの保守性が向上します。
Factoryは、Laravelのテストを書くときに、非常に便利な機能です。
// 1つのデータを生成
$user = factory(App\Models\User::class)->create();

// 複数のデータを生成
$users = factory(App\Models\User::class, 5)->create();

appとresolveを知っていた人は恐らくFactoryも知っているかも知れません。Laravelのドキュメントを隅から隅まで読めば参考書は要らない気がします。英語がスラスラと読めるようになりたいなってこういう時に思います。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

App, AppModelsUser, AppSomeClass&#39, Bard, class, create, Factory, gt, Laravel, resolve, result, someMethod, user, users, データベース, ドキュメント, ファクトリー, 生成, ,

Photo by Brett Sayles on Pexels.com

The Peripheral:接続された未来。 #アマプラ

2022.11.08

Logging

おはようございます、昨日の朝はなんだか寒かったですね🫠。

ペリフェラル -接続された未来のシーズン1の一話だけ観ました、一話だけなのでココから面白くなるかも知れませんが、ちょっとグロいシーンが一話の最後あたりにあったりして自分はこれからもこういうシーンが出てくるのかなと思い一話観ただけでお腹いっぱいになり観るのが止まっています。

The Peripheral Season 1 – Teaser Trailer | Prime Video
The Peripheral:接続された未来

ストーリーは面白いけど、結末は現実か仮想なのかが分からなくなって主人公が潰れてしまう気がします。もし自分が現実と仮想世界か見分けがつかないゲームにハマったら多分、一話目で潰れて人格が崩壊してしまいそうです😨。

でも、その内、そういう世界になるという事だけは確かな事です。脳にダイレクトに信号を送り仮想ゲームを楽しめるようになると・・・(何故、言い切れるかといえばこういう事が出来だしたからです「脳波から言葉を生成するAI「Brain-to-Text」 “声道”への指令を解読、言葉に変換」)。

そういう事への警鐘を鳴らす作品だと思います。

トイウコトデ、二話以降は時間の合間、合間に見ていこおうと思っています。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, AI, Brain, Peripheral, The, アマ, ゲーム, ココ, これ, シーズン, シーン, ストーリー, ダイレクト, プラ, ペリフェラル, , 世界, 主人公, , 人格, 仮想, 信号, , 崩壊, 接続, 昨日, 最後, , 未来, , 現実, 生成, 結末, , 脳波, 腹いっぱい, 自分, 言葉,

Photo by Mitchell Henderson on Pexels.com

さくらレンタルサーバー(共有サーバー)の/home🏠はアレが見えてるよ。#知ってた?#駆け出しエンジニアと

2022.09.09

Logging

おはようございます。今日、高知県では雨☔の地域もあったりするそうですよ🙄。

さて、今日はさくらレンタルサーバー(共有サーバー)の/home🏠の話です。さくらレンタルサーバーじゃなくても共有サーバーを借りたことがある人は知っているかも知れませんが・・・常識?🤔。

さくらレンタルサーバーの/homeの階層に複数のディレクトリが存在します。そのディレクトリのディレクトリ名はさくらレンタルサーバーのアカウント名であり、初期のドメイン名になります。

reborn9.sakura.ne.jp

なので、ディレクトリ名.sakura.ne.jpにすれば初期のドメイン名を生成することが可能ですし、ログインでXXXXX…みたいな事が出来たりしまいます。赤の他人のアカウントでログインするのはハッキングにあたりますので、しないように!

でも、初期のドメインを見ることぐらいなら、良いじゃないかなってことで?WEBサーバーな訳ですからね。

という事で、こんなコードを書きました。コマンド ls -a /homeを実行し結果をtxt.txtのファイルに保存します。そのtxtファイルをPHPで読み込み、ディレクトリ名からリンクリストを生成(index.html)という様な流れ。index.htmlの開いてリンクをクリックすれば/homeの配下の初期ドメインへ飛んでいけます😱、ちょっと悪趣味ですがね…。

コードはこんな感じになります。実行するときはls.phpを開いてください。ls.phpを読み込み完了後、index.htmlのリンクをクリックしてみてください🤐。

尚、下記のファイル全てを同じ階層のディレクトリに置くこととします。※ファイルはUTF-8で。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<title>Title</title>
</head>
<body>
<a href="index.html">index.html</a>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
</body>
</html>
<?php
exec("sh ls.sh",$output,$result_code);
#!/bin/sh
ls -a /home > txt.txt
/usr/local/bin/php href.php
done
<?php
ob_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>lsit</title>
</head>
<body>
    <button class="btn btn-primary" type="button" id="btn">BTN</button><br>
    <?=setlist()?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
    document.getElementById("btn").addEventListener("click",function(){
        for( let i in document.getElementsByTagName("a")){
            document.getElementsByTagName("a")[i].target = document.getElementsByTagName("a")[i].href;
            document.getElementsByTagName("a")[i].click();
        }
    });
</script>
</body>
</html>
<?php
file_put_contents("index.html",ob_get_clean());
?>
<?php
function setlist(){
    $txt_data =  explode("\n",file_get_contents("txt.txt"));
    $str[] = "<ul>";
    foreach($txt_data as $key=>$val){
        $str[] = (preg_match("/\./",$val) || !$val)?"":"<li><a href='http://".trim($val).".sakura.ne.jp'>".trim($val).".sakura.ne.jp</a></li>";
    }
    $str[] = "</ul>";
    return implode("\n",$str);
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, home, jp, ne, REBORN, sakura, xxxxx, アカウント, アレ, エンジニア, , こと, サーバー, さくら, ディレクトリ, ドメイン, ドメイン名, ハッキング, レンタル, ログイン, , , 今日, 他人, 共有, 初期, 可能, 地域, 存在, 常識, 生成, 複数, , , 階層, , 駆け出し, 高知県,

Photo by Francesco Ungaro on Pexels.com

Laravelで再構築した2bbs-video.comをヨロシク😌

2022.08.10

Logging

こんにちは、よさこいをしている踊り子さん達へ、熱中症にはお気をつけてくださいませ。

本日はあまり使用されていなかった、2bbs-video.comをLaravelで再構築したお話を記載します。2bbs-video.comはYOUTUBE動画を共有するのに特化したサイトになります。当然、YOUTUBEのアドレスのない投稿はできません。今のところ動画の投稿内容は管理人が独断と偏見で管理します、その為、投稿していた内容が削除されるという事もあります。

2bbs-video.comのサイトキャッチャー

サイトをLaravelで再構築していて、ページネーションが半端ないぐらい楽に生成できたのは凄く便利だなって感じましたが、逆にベタで構築できる技術も必要じゃないかなって思います。

そしてLaravelにはパッケージが豊富にあるのだけど、正直な所、どれが良いパッケージ(有名所)なのか分からないので調べる必要があるなって感じました。それまでは自分で作るしか無いかもしれない、そういう所などの経験値を積まないとLaravelゴリゴリ使えますとは言えないなと。ただ、大体の勘所は掴めましたね。あとは習うより慣れろ感覚でいろいろと制作していきます😌。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, bbs-video, com, Laravel, youtube, アドレス, お気, お話, キャッチャー, サイト, ところ, どれ, ネーション, パッケージ, ページ, ベタ, よさこい, , , 使用, 便利, 偏見, 共有, 内容, 削除, 動画, 半端, 必要, , 技術, 投稿, 有名, 本日, 構築, 正直, , 熱中症, 特化, 独断, 生成, 管理, 管理人, 記載, 調, 豊富, 踊り子, ,

Photo by Archie Binamira on Pexels.com

先を読む。未来を読む。

2022.05.31

Logging

おはようございます。5月も最後ですね、今年は梅雨入りしても即、梅雨明けするじゃないかって思っています。それがぐらい晴天の日が多い気がします。

今日のお題は「先を読む。未来を読む。」です、この力は何だか人より自分は強い気がします。そんな自分が今、未来はこうなると思っているのは、プログラマーという職は数十年後にはなくなっている気がする。コードはAIが自然言語から理解し生成してくれるので、AIが書いたコードを修正する人や正しく機能しているかなどを修正する人が必要になるぐらいなる。

デジタルの価値は限りなくZEROに近くなると思います。誰でもサービスが創り出せる世の中が到来する。これからはプラットフォームやコミュニティーを作れる人のほうが将来性があると思っていて、デジタルを知っていてそれを活かしつつ人との繋がりを提供するそういう環境やサービスを提供するほうが良いと考えている。昔も今も人は欲している。特に同じ考えを持った人々と語り合いたいと思っているので、デジタルを入り口にそういう環境を提供する人が生き残っていくだろうと。

banvox – open your eyes (feat. core mc)

自動運転だけが走る世の中になる、これは数十年先の話だけど恐らくそうなる。そうなったら殆ど交通事故がなくなるので、交通事故が重大事件のように放送されるだろうな。

自分たちが生きているうちに若返りが出来るようになる。たぶん、数年後には若返りの方法は発見され治療法が確立されるのに数年かかると思うけど、若返りは可能になると思います。それも注射一本で効果が現れると思います。これで世の中、大きく変わる特に日本は後期高齢者社会だったものが・・・、大きく変わると思います。

自分が考える未来を箇条書きに書いてみました…。こんなの当たらないよとか、失笑するかも知れませんが、多分これ。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

5, AI, ZERO, コード, コミュニティー, これ, サービス, それ, デジタ, デジタル, プラットフォーム, プログラマー, , , , 人々, , 今年, 今日, 価値, 修正, , 到来, , 将来性, 必要, 提供, 数十, , , 晴天, 最後, 未来, 梅雨入り, 梅雨明け, 機能, , 理解, 環境, 生成, , 自分, 自然, 言語, , ,

Photo by Dids on Pexels.com

よもやよもやだ、アンリアルエンジン、凄いわ。これ!

2022.05.23

Logging

おはようございます。月曜日の朝は鬱っぽい…。

前にも少し書いたことがあるかも知れませんがアンリアルエンジンが凄いことになっています。アンリアルエンジンが何者か分からない人のために説明すると、ゲームの背景など基礎部分=土台が作れるツールになります。これを使用することにより簡単に言えば開発コストが軽減します。

Ninety Days in Unreal Engine 5

動画を見ていただければ分かる通り現実に近い映像です。数十年前は2Dだったものが数十年後の時を経てリアルな3D空間が作れるようになりました。技術革新って凄いなって改めて思います。

因みに今の子供達は自分で物語や創造的な物が作れる能力があれば良いのではないかなって思っています。何故なら今の子供達が大人になる頃には粘土細工で物を作ると同じような感覚でリアリティな空間などがデジタルに生成できるようになってしまう、そんな世の中になると思っているのでIT技術力なんか要らないものになるのかもしれないなって・・・。

いやー本当に日進月歩だな。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, , IT, アン, エンジン, ゲーム, コスト, こと, これ, ため, ツール, デジタル, もの, リアリティ, リアル, , , , , 何者, 使用, 動画, 土台, 基礎, 大人, 子供, 少し, 感覚, 技術力, 技術革新, 数十, 映像, , 月曜日, , , 物語, 現実, 生成, 空間, 簡単, 粘土細工, 背景, 能力, 自分, 説明, 軽減, 通り, 部分, 開発, , ,

自身がフォローしているTwitterアカウントでリスト自動仕分けする方法!?

2022.01.24

Logging

昨日は雨がシトシトと降っていた高知県ですが、あまり寒さを感じなくなってきていますね😌。早く春になれば良いのになって思っております。

ソースコードを読んでいただければ大体分かるかとも思いますが、そんなに難しいコードではありません。タイトル通りの処理をしています。コマンドからファイルを叩くと処理が実行されてそれぞれのリストに仕分けされます、ここでポイントなのはlist_idはどうやって導けばよいのという疑問とTwitterOAuthって何という疑問ぐらいかと思います。

list_idは事前に空のリストを生成すると自動的に割り振られるご自身のリストURLの数値部分になります。次にTwitterOAuthというのは何かというと、これはTwitterAPIを簡単に叩けるライブラリになります。これを事前にインストールすることにより簡単に処理ができます。

尚、ソースコードはTwitterAPI2.0バージョンではありません。そのうち廃止される方で書いています。

<?php
require_once("../vendor/autoload.php");

use Abraham\TwitterOAuth\TwitterOAuth;

if ($argv[0]) {
    require_once "./tw-config.php";

    date_default_timezone_set('Asia/Tokyo');
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
    $response_followers = $connection->get("friends/ids", array(
        'screen_name' => 'zip358com',
        'count' => 1000
    ));
    if ($response_followers->ids) {
        foreach ($response_followers->ids as $key => $val) {
            $response_users = $connection->get("users/show", array(
                'user_id' => $val
            ));
            if(preg_match("/(機械学習|人工知能|AI|Learning)/",$response_users->description)){
                print "[機械学習|人工知能|AI|Learning]". $response_users->id . PHP_EOL . $response_users->description . "," . PHP_EOL;
                $connection->post("lists/members/create", array(
                    'list_id'=>1485120628206497798,
                    'user_id'=>$response_users->id
                ));
            }
            if(preg_match("/(web|WEB|Web|プログラマー|エンジニア|プログラム|プログラミング|API)/",$response_users->description)){
                print "(web|WEB|Web|プログラマー|エンジニア|プログラム|プログラミング|API)". $response_users->id . PHP_EOL . $response_users->description . "," . PHP_EOL;
                $connection->post("lists/members/create", array(
                    'list_id'=>1485121383101526018,
                    'user_id'=>$response_users->id
                ));
            }
            if(preg_match("/(イラスト|写真|デザイン|art|Art|絵|漫画)/",$response_users->description)){
                print "(イラスト|写真|デザイン|art|Art|絵|漫画)". $response_users->id . PHP_EOL . $response_users->description . "," . PHP_EOL;
                $connection->post("lists/members/create", array(
                    'list_id'=>1485121210816294912,
                    'user_id'=>$response_users->id
                ));
            }
            if(preg_match("/(電車|メトロ|運行情報)/",$response_users->description)){
                print "(電車|メトロ)". $response_users->id . PHP_EOL . $response_users->description . "," . PHP_EOL;
                $connection->post("lists/members/create", array(
                    'list_id'=>1485121509320687619,
                    'user_id'=>$response_users->id
                ));
            }            
            if(preg_match("/(高知県|高知市)/",$response_users->description)||preg_match("/(高知県|高知市|kochi)/",$response_users->location)){
                print "(高知県|高知市)". $response_users->id . PHP_EOL . $response_users->description . "," . PHP_EOL;
                $connection->post("lists/members/create", array(
                    'list_id'=>1485121289165893632,
                    'user_id'=>$response_users->id
                ));
            }                        
        }
    }
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

ID, LIST, Twitte, Twitter, TwitterAPI, TwitterOAuth, url, アカウント, インストール, コード, ここ, こと, コマンド, これ, ご自身, ソース, それぞれ, タイトル, ファイル, フォロー, ポイント, ライブラリ, リスト, 事前, , 処理, 実行, 数値, 方法, , 昨日, 生成, 疑問, , 簡単, 自動, 自身, 部分, , 高知県,

セレクトメニューの都道府県は毎回、作るよりストックしておくべし。

2021.12.13

Logging

駆け出しフロントエンドエンジニアさんや駆け出しコーダーさんの中にはお問い合わせなどで、都道府県を毎回、書いている人はいると思いますが、大体、同じことを何回もするのは無駄です。なので、自分専用の雛形を作っておくといいですよ。そうする事によって作業は結構、短縮されたりします。今回は自分がよく使う、セレクトメニューの都道府県をJSで都道府県リストを生成するように作りました。

都道府県生成

繰り返しになりますが、こんな感じに自分が使用するデータや独自の関数はストックしておくと作業効率は上がります、毎回調べてプログラミングやコードを書くのは仕事上では手間になるので辞めた方が良いです。

最後にJSコードとGitHubのリンクを貼っときますので、ご自由使用くださいませ。

https://github.com/zip358/select_jp_ken

let useKendata = [
    {'no':'01','name':'北海道'},
    {'no':'02','name':'青森県'},
    {'no':'03','name':'岩手県'},
    {'no':'04','name':'宮城県'},
    {'no':'05','name':'秋田県'},
    {'no':'06','name':'山形県'},
    {'no':'07','name':'福島県'},
    {'no':'08','name':'茨城県'},
    {'no':'09','name':'栃木県'},
    {'no':'10','name':'群馬県'},
    {'no':'11','name':'埼玉県'},
    {'no':'12','name':'千葉県'},
    {'no':'13','name':'東京都'},
    {'no':'14','name':'神奈川県'},
    {'no':'15','name':'新潟県'},
    {'no':'16','name':'富山県'},
    {'no':'17','name':'石川県'},
    {'no':'18','name':'福井県'},
    {'no':'19','name':'山梨県'},
    {'no':'20','name':'長野県'},
    {'no':'21','name':'岐阜県'},
    {'no':'22','name':'静岡県'},
    {'no':'23','name':'愛知県'},
    {'no':'24','name':'三重県'},
    {'no':'25','name':'滋賀県'},
    {'no':'26','name':'京都府'},
    {'no':'27','name':'大阪府'},
    {'no':'28','name':'兵庫県'},
    {'no':'29','name':'奈良県'},
    {'no':'30','name':'和歌山県'},
    {'no':'31','name':'鳥取県'},
    {'no':'32','name':'島根県'},
    {'no':'33','name':'岡山県'},
    {'no':'34','name':'広島県'},
    {'no':'35','name':'山口県'},
    {'no':'36','name':'徳島県'},
    {'no':'37','name':'香川県'},
    {'no':'38','name':'愛媛県'},
    {'no':'39','name':'高知県'},
    {'no':'40','name':'福岡県'},
    {'no':'41','name':'佐賀県'},
    {'no':'42','name':'長崎県'},
    {'no':'43','name':'熊本県'},
    {'no':'44','name':'大分県'},
    {'no':'45','name':'宮崎県'},
    {'no':'46','name':'鹿児島県'},
    {'no':'47','name':'沖縄県'},
];
document.getElementById("ken").insertAdjacentHTML('afterbegin',(function(ken){
    let str = '';
    for (const key in ken) {
        str+= '<option value=' + ken[key].no + '>' + ken[key].name +'</option>';
    }
    return str;
}(useKendata)));

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

01, 39, github, JS, let, name, no, useKendata, エンジニア, エンド, お問い合わせ, コーダー, コード, こと, ご自由, ストック, セレクト, データ, プログラミング, フロント, メニュー, リスト, リンク, , , , 今回, 仕事, 何回, 作業, 使用, 効率, 北海, 大体, 専用, 感じ, 手間, , 最後, 毎回, 無駄, 生成, 短縮, 自分, 都道府県, 関数, 雛形, 駆け出し,

パスコードをランダムで生成するコードです。JavaScriptで書いてみました。

2021.08.27

Logging

今日は朝から蒸し暑さを感じます。あの一週間も続いた雨はどこに行ってしまったのでしょうか?東京では立て続けに悲惨な事件が起きています、報道することにより模倣犯を増やしているような気がします。

さて、今日はパスコード(パスワード)をランダムで生成するコードをJavaScriptで書いてみました。パスコードの強度はそれ程、高くないかもしれませんが一応、パスコードを生成する事が出来ます。ソースコードを書いていてうっかりミスをしてしまいまして、無限ループを発生させてバグ取りに5分ぐらい費やしました。ループした原因は違う変数を判断文で使っていたという初歩的なミスです。この頃はそういうミスは稀ですが・・・その結果、無限ループに陥っていました。

パスコードというものを作ってみて案外簡単に作れるものだと実感。これを作る前にパスコードメーカーを作成するという動画を見ました。githubにソースコードも記載していましたので考え方は参考にしましたがコードは違うと思います。たにぐちさんの動画はvue.jsを使用してパスコードを作っているのに対して、自分はネイティブjsでパスコードを生成しているという違いがあります。

https://zip358.com/tool/PassCode/

JavaScriptでパスコードを生成するコード。
document.getElementById("btn1").addEventListener("click", () => {
    const mode = {
        mode0: !document.getElementById("mode0").value ? 8 : document.getElementById("mode0").value,
        mode1: document.getElementById("mode1").checked ? true : false,
        mode2: document.getElementById("mode2").checked ? true : false,
        mode3: document.getElementById("mode3").checked ? true : false,
        mode4: document.getElementById("mode4").checked ? true : false
    };
    const data = {
        txt_cnt: mode.mode0,
        txt1: mode.mode1 ? "0123456789" : "",
        txt2: mode.mode2 ? "ABCDEFGHIJKLMNOPQRSTUVWXYZ" : "",
        txt3: mode.mode3 ? "abcdefghijklmnopqrstuvwxyz" : "",
        txt4: mode.mode4 ? "#$&*@+-" : "",
    };


    // console.log(mode,data);

    let str = "";

    if (mode.mode1 || mode.mode2 || mode.mode3 || mode.mode4) {
        let txt_str = data.txt1 + data.txt2 + data.txt3 + data.txt4;
        do {
            str = "";
            for (let i = 1; i <= data.txt_cnt; i++) {
                str = str + txt_str.substr((getRandomInt(txt_str.length) - 1), 1);
            }
        } while ((() => {
            let flg = [];
            flg[0] = mode.mode1 ? /[0-9]/.test(str) : true;
            flg[1] = mode.mode2 ? /[A-Z]/.test(str) : true;
            flg[2] = mode.mode3 ? /[a-z]/.test(str) : true;
            flg[3] = mode.mode4 ? /[#|$|&|*|@|+|\-]/.test(str) : true;
            
            return (() => {
                let f = true;
                for (const key in flg) {
                    if (!flg[key]) {
                        f = false;
                    }
                }
                return f;
            })();
            return false;
        })() === false);
        document.getElementById("view").value = str;
    } else {
        alert("どれかを選択してください");
    }

});
function getRandomInt(max) {
    return Math.floor(Math.random() * max);
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

5, github, javascript, コード, こと, これ, ソース, どこ, バグ, パスコード, パスワード, ミス, メーカー, もの, ランダム, ループ, , , 事件, 今日, 作成, 判断, , 動画, 原因, 報道, 変数, 実感, 強度, 悲惨, , , 東京, 模倣犯, , 無限, 生成, 発生, 立て続け, 簡単, 結果, 記載, , ,

写真などからポリゴン(Polygon)を自動で生成(作成)するツール?。

2021.08.23

Logging

本日は写真などからポリゴン(Polygon)を自動で生成(作成)するツール?を紹介します。このツールはMac・windowsともに対応したツールになります。それも無料でポリゴンを作成します。ツール自体は英語表記で書かれていますが、イメージロードとセイブという英単語がよめれば大丈夫かと思います。

使い方は簡単でポリゴンにしたい対象の画像や写真を読み込みます、写真を読み込んだ時点でポリゴンが作成されますので、ポリゴンの線などを表示したくない場合はポイントをクリックすると非表示になります。そこだけ覚えておけば良いのかなと思います。どこからが有料機能なのかはわかりませんが、無料で十分かなと自分は思っています。

ここまで書いてツール名を記載するのを忘れておりました。DMesh(ディーメッシュ)というアプリです。おそらく有料機能(プロ)だと思いますが動画をポリゴン化する事もできるみたいですね?

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

DMesh, Mac, Polygon, Windows, アプリ, イメージ, クリック, ここ, セイブ, そこ, それ, ツール, ティー, どこ, プロ, ポイント, ポリゴン, メッシュ, ロード, , 作成, 使い方, 写真, 動画, 場合, 対応, 対象, 時点, 有料, 本日, 機能, 無料, 生成, 画像, 簡単, 紹介, , 自体, 自分, 自動, 英単語, 英語, 表示, 表記, 記載,

算数問題が100問ランダムで生成されます。そんなツールを作りました。

2021.08.08

Logging

暑い日が続いています、このまま茹でダコにでもなってしまいそうな部屋の温度ですが・・・エアコンは殆どOFFで日中を過ごして夕方から夜中まで稼働させております。そんな日を過ごしていて、たまに外へ出かけると夏休みなのか、学生さんたちが自転車でうろうろしているのを見かけるようになってきました。

そんな中で算数問題が100問ランダムで生成されるそんなツールを作りました。100問を暗算で計算すると中々、100点が取れないという事がわかってしまい、自分でもビックリしてしまいました。簡単なはずなのに何故か、足し算を間違えて引いてしまったりと単純なミスがあり、満点が取れないという事実をしってしまい、少し落ち込んでいます。

あのドラゴン桜の中にある数学教師がやるスパルタのあれは本当にそうなんだなって実感しました。これを毎日解き続けることにより、算数(数学の基礎)に打ち勝つことが出来そうですね。因みに計算などしない日々を過ごしているとロクに計算できない頭になりますよ。自分は計算しない字も書かないので読み書きが出来ない、結構、ヤバい状況になっているようです、皆さんもこんな自分のようにならないように、たまには頭の体操をすることをオススメします。

最後に100問:算数のリンクを貼っときます。

https://zip358.com/tool/arithmetic/

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

100, off, あれ, エアコン, こと, このまま, これ, スパルタ, たま, ツール, ドラゴン, パス, びっくり, ミス, ランダム, , 中々, , 事実, 単純, 問題, 基礎, 夏休み, 夕方, , 夜中, 学生, 実感, 少し, 教師, 数学, , 日々, 日中, 暗算, 本当, , 殆ど, 温度, 満点, 生成, 稼働, 算数, 簡単, 自分, 自転車, 茹でダコ, 計算, 足し算, 部屋,

字幕データ生成ツールを作りましたよ。

2021.06.01

Logging

字幕データ生成ツールを作りましたよ。ツールを作ったのは5月23日になります、その日の午前にちょこちょこ制作し?、その日の午後にリリースしました。どんなツールかと言えば、srt形式のデータを生成するツールです。手動で字幕データを作る方法が記載しているサイトがありました(こちら)。

作った経緯(イキサツ)は、もう少し楽にsrt形式のデータを作りたいなと考えた結果、このようなツールを制作しました。自分の声はどもりがあるので、巷で話題のVrew(ぶりゅう)というAI(人工知能)が自動で字幕を生成してくれるアプリではどうしても字幕が上手く変換されないので逆に手間が発生します。

https://www.youtube.com/watch?v=drELgGLfsEY

そんなこんなで作ったツールがこちらです。https://zip358.com/tool/srt-make-file/

無料ツールのリンクからも参照することが可能です。尚、字幕のデータなどは一切、サーバーに持たない設計にしていますので安心安全です。なお、Vrew(ぶりゅう)というアプリみたいな物も自分は作れますが、こちらになるとどうしてもGCPAWSに音声データを送りテキスト変換する(自動文字起こし)というAPIの力を借りないといけないので、今回は作るのを断念しました?。時間があれば作ってみたいとは思っています。尚、APIのkeyなどは自分のAPIを登録して貰う形のアプリだったらみんな安心して使用できますよね。因みにVrewはあまり信用していないの派です?、便利だけどね。

爆速!テロップ自動作成アプリ。Vrewが便利なので紹介する

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

23, 358, 5, AI, com, https, srt, srt-make-file, tool, Vrew, www, zip, アプリ, イキ, こちら, こと, サーバー, サイト, サッ, そんなこんな, ツール, データ, どもり, ぶりゅう, リリース, リンク, 一切, 人工, 制作, 午前, 午後, 参照, 可能, , 変換, 字幕, 安全, , 形式, 手動, 手間, 方法, , 無料, 生成, 発生, 知能, 経緯, 結果, 自分, 自動, 記載, 設計, 話題, ,

人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応。

2021.05.12

Logging

人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応しているからね。本当に便利だと思います。以前ブログで紹介したかもしれません、もしくはツイートしたか記憶が定かではないのですが再度改めて記載します。このlobeというソフト(アプリ)は人工知能の学習を行い、学習データからテストもできるのです。一番良いところは学習データ=モデルをエクスポートしてテンソルフロー(tensorflow)で動かせるところです。

Introducing Lobe | Build your first machine learning model in ten minutes.

テンソルフロー(tensorflow)で動かし方を解説している記事がありますので、そちらのリンクを貼っときますね。
https://dev.classmethod.jp/articles/lobe-lobe-export-tensorflow-lite/

これから先、人工知能の学習は誰でもできるようになり誰でも人工知能を使ったものがお手軽で作れるようになっていくと思います。あと数年後で自分が思うにはエクセルでも人工知能の学習で判定できるような関数が搭載されてもおかしくはないと思います。それぐらい人工知能は浸透してきていますね。因みに人工知能(教師あり機械学習)ってデータが多いほど、精度の良い結果を出してくれます、なのでデータは結構大事になりますよ!

LobeからTensorflow Lite形式でエクスポートしてMacで推論してみました

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

articles, classmethod, dev, GUI, https, jp, lobe, lobe-lobe-export-tensorflow-lite, tensorflow, アプリ, エクスポート, これ, そちら, ソフト, ツイート, データ, テスト, テンソル, ところ, フロー, ブログ, モデル, もの, やつ, リンク, 人工, 以前, 便利, , 再度, 学習, 対応, 本当, 生成, 知能, 紹介, 解説, 記事, 記憶, 記載, ,

外部VPSサーバーからさくらレンタルサーバーのDBに接続する方法。

2020.12.04

Logging

外部VPSサーバーからさくらレンタルサーバーのDB(データベース)に接続する方法は下記のコードだけでは上手く動かない。だけど、tmpファイルを生成時にパーティションにu+xの権限を与えればこのコードは要件をみたします。因みにプロセスが残ったままになるので接続が終わったら、プロセスを削除してあげてください。なのでどのプロセスを削除する機能として追加しないと使えないかな?、時間があれば完成したコードをアップします。

なお、変数の初期値はご自身で入れてください。あとポート開放expectが入っていない場合はyumなどでインストールする必要もあります。

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<meta name="Description" content="Enter your description here" />
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css">
	<link rel="stylesheet" href="assets/css/style.css">
	<title>ssh sqli</title>
</head>

<body>
	<?php
	print ssh_sqli_connect();
	?>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>

</html>
<?php
function ssh_sqli_connect()
{
	global $dblink,$dbname,$sshuser, $sshhost, $sshpassword,$host,$sshport;
	$ret = null;
	$cmd = "#!/usr/bin/expect -f
set timeout 3
expect -c \"spawn ssh -f -N -L $sshport:$host:3306 $sshuser@$sshhost -oStrictHostKeyChecking=no
expect \\\"$sshuser@$sshhost's password:\\\"
send \\\"$sshpassword\\n\\\"
\"
";

	$tmpfname = tempnam(sys_get_temp_dir(), 'ssh');

	$handle = fopen($tmpfname, "w");
	fwrite($handle, $cmd);
   	shell_exec("sh $tmpfname");
	sleep(3);
	$dblink = db_connect();
	try{
		for($id = 1 ;$id<=99;$id++){
			$ret = $dblink->query("SELECT * FROM $dbname.X.xtbl where $dbname.X.xtbl.id=$id;");
			if ($cnt = (int) mysqli_num_rows($ret)) {
			  $row = mysqli_fetch_assoc($ret);
			  print ($row["id"].", ".$row["name"]);
			}
		}
	}catch(PDOException $e){
		echo "失敗: " . $e->getMessage() . "\n";
	}

	fclose($handle);
	unlink($tmpfname);

	db_close();
	return "未完成";
}

function db_connect()
{
	global $dblink, $host, $user, $password, $dbname,$sshport;
	try {
		$dblink = new  mysqli("127.0.0.1", "$user", $password, $dbname ,$sshport);
		//$dblink->set_charset("utf8");
		return $dblink;
	} catch (PDOException $e) {
		echo "接続失敗: " . $e->getMessage() . "\n";
	}
}

function db_close()
{
	global $dblink;
	$dblink->close();
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

8, charset, db, DOCTYPE, en, expect, gt, head, html, lang, lt, meta, name, quot, tmp, UTF-, vie, VPS, yum, アップ, インストール, コード, ご自身, サーバー, さくら, データベース, パーティション, ファイル, プロセス, ポート, まま, レンタル, 下記, 初期, 削除, 場合, 変数, 外部, 完成, 必要, 接続, 方法, 時間, 権限, 機能, 生成, 要件, 追加, 開放,

ミラーワールド「メタバース」とAI!ええっ!?

2020.11.01

Logging

Softbank Group, NVIDIA CEOs on What's Next for AI (Courtesy of SoftBank World 2020)

二人が語っている動画を視聴して数年後には彼らが語っていることは全て具現化されていくだろうなと思いました。その中で一番、興味深い話はAI(人工知能)がミラーワールド=メタバース(仮想現実世界)を作りその中でものや機械を生産やシュミレーションを行い、人工知能が試した結果を現実世界で同じように取り入れるという事です。これを見て凄く違和感を感じてしまいました…。

これってリアルワールドと思っている現実世界も実はシュミレーションの中かもしれないという事、まさに映画、マトリックスの世界だなと感じました。

映画『マトリックス』製作20周年特別予告 2019年9月6日(金)期間限定上映

メタバースの世界とは別にやはりAIがプログラミングコードを生成するということはそれほど難しくない、近い将来、複雑なプログラミングも行えるようになるのだなと感じました。これからITエンジニアを目指す方はコード書くよりAIが書き出したコードを修正できる能力の在るひとが必要になるかと思われます。そして数年後にはノーコードでいろいろな事がAIに置き換わるのだなと、それほどITエンジニアはいらないですね。

AIは脅威だと思います、全然大丈夫とは思えない、AIを作る側はこれからも安泰かもしれないけれど、一般人は間違いなく今後数年で仕事はなくなると思います。皆がクリエイティブなことが出来るわけでもないのだから、これはかなり大変な時代になると思います。こういう動きは大企業から始まります、お気をつけて就職活動や転職活動を行ったほうが良さそうです。1時間ほどの動画ですがこれからどう社会を変えていくのかが分かる動画です見る価値ありかな!?。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

AI, IT, エンジニア, コード, こと, これ, シュミレーション, ノー, バース, ひと, プログラミング, マトリックス, ミラー, メタ, リアル, ワールド, 世界, , , 二人, 人工, 仮想, 修正, 全て, 具現, 動画, 将来, 彼ら, 必要, , , 映画, 機械, 現実, 生成, 生産, 知能, 結果, 能力, 複雑, 視聴, , 違和感,

手前味噌な機械学習!?。

2020.09.01

Logging

分類分けで機械学習教師ありのモデルを作り、新たなデータで推測するという一連の過程をやってみたよーーー?
ちなみに分類分けとしてはあまり機能していないだけどね・・・。
何が難しかったか・・・Pythonをサーバで動かすようにするところと・・・何故かすんなり動いてくれなかった。そして機械学習させるデータを作るのがやはり面倒だった、途中から分類分けって感じじゃなく1分類という感覚で重み付けしました。

尚、サンプルとして表示しているのは、機械学習させてモデルを保存させるやつです。この他にもいろいろなファイルがあるのだけど、例えばデータを生成させたりする処理ファイルや保存したモデルから推測させる処理ファイルなどいろいろなファイルがあるのだけど、全て解説するのはちょっと面倒なので今回はこれだけです。

あと質問箱と連携するのは今後の質問によって決めようと思います。いちおう、ほぼその部分も完成しています。コードを手直してそれぞれをファイル連携してゴニョゴニョするという作業が残っています。

追記:きっちり分類分けしてそのデータをansの中に正解解答としていれてあげて学習させるとまぁまぁ良い感じです。

from sklearn.linear_model import LinearRegression
model = LinearRegression()
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
import pickle
X = pd.read_csv("Question.csv", header=None).values.tolist()
ans = []
val = 0
for num1 in range(len(X)):
	for num2 in range(len(X[num1])):
		if float(X[num1][num2])>=0.5:
			val = val + 1
	val = float(float(val) / float(len(X)) * 100)
	ans.append(str(val))
	val = 0
model = DecisionTreeClassifier(max_depth=999)
model.fit(X,ans)
print(ans,"<==>",model.predict(X))
# モデルを保存する
filename = 'Q_model.sav'
pickle.dump(model, open(filename, 'wb'))

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, Python, あと, いろいろ, コード, これだけ, サーバ, サンプル, それぞれ, データ, ところ, ファイル, モデル, やつ, 一連, 今回, 今後, , , 保存, 全て, 処理, 分け, 分類, 学習, 完成, 感覚, 手前味噌, 手直, 推測, 教師, 機械, 機能, 生成, 表示, 解説, 質問, 途中, 連携, 過程, 部分, 重み, 面倒,