🏠️Top Page

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

⏩️飯を食うのは難しい

おはようございます、「飯を食うのは難しい」ですね。フリーランスで生活をしている人が羨ましい限りです。お話が上手くない自分はそれで結構損をしている気がします、未だに何処まで話して良いのやらと思って生きてきたタイプです。そんな自分がこの頃、ひろゆきさんの奥さんの動画を視聴してそうなんだなぁって思えることがあったので、自分も変わろうかなって思えた話を記事に起こしています。

人のことを気にするタイプだった奥さんとは正反対のひろゆきさんですが、奥さんはそう捉えていたのかと思うとなるほどなぁと思えたのです。人にどう思われるかということを気にしない、自分が言いたいことをいうというひろゆきさんの考え方、そこが良いと思えたそうです。

「なるほどなぁ」

確かに自分の意見を言うというのは自分みたいなタイプには難しいことでもあるのですが、これを変えると何か変わる気がしています。

ham burger with vegetables
Photo by Valeria Boltneva on Pexels.com

明日へ続く。

⏩️Tensorflow.jsの画像認識って

おはようございます、Tensorflow.jsの画像認識ってドキュメント通り書いて上手く画像認識できますか?自分が試してみたら、どうも下記のエラーがでて上手く動作してくれなかったのでもしかしたらと思いバージョンをアップしたら動作してくれました。

Uncaught (in promise) Error: Tensorflow Op is not supported: _FusedConv2D
<!-- Load TensorFlow.js. This is required to use MobileNet. -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@4.17.0"> </script>
<!-- Load the MobileNet model. -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet@2.1.1"> </script>

<!-- Replace this with your image. Make sure CORS settings allow reading the image! -->
<img id="img" src="cat.jpg"></img>

<!-- Place your code in the script tag below. You can also use an external .js file -->
<script>
  // Notice there is no 'import' statement. 'mobilenet' and 'tf' is
  // available on the index-page because of the script tag above.

  const img = document.getElementById('img');

  // Load the model.
  mobilenet.load().then(model => {
    // Classify the image.
    model.classify(img).then(predictions => {
      console.log('Predictions: ');
      console.log(predictions);
    });
  });
</script>

因みに自分は画像投稿系のサイトで使用するために今回のTensorflow.jsを使用するのですが、よくよく調べているとファインチューニングが出来るようです。ファインチューニングとは一度学習したものに再学習を埋め込む手法といえば良いのかな?要するにカスタマイズしてある分類に特化させる手法のことを指します。今のところ学習済みのモデルで全然判定されるのでOKだと思うのですが、ユーザーさんから認識できないという不満の声が上がれば対応しないといけなくなりそうです。

明日へ続く。

⏩️FFリバースやってみた。

おはようございます、FFリメイクのユフィ版を攻略してプレイしようかなって思っていましたが発売日になって欲が出てきましたので、少しプレイしてみました。プレイしてみた結果、オープンワールドが凄い良いです。これには希望しか生まれない気がします。

ファイナルファンタジー7を高校生だったか中学生だったか忘れましたが、その時の衝撃とワクワク感を思い出す映像だなって思い良いですね~。

ボリュームも結構ありそうです、かなりやり込める内容になっていると思います、リバースでここまで作り込まれているとすると完結版となる次回作って一体どんな感じになっているのか、はたまたこれをクリアした時点でゲームは完結してたりして…と今からいろいろと考えてしまいますね。

因みに自分は体験版も予告もあまり見ないようにしてリリースしたものをプレイした感想です、体験版は本当はプレイしたかったのですが、それをしてしまうと新鮮さを失ってしまうと思って避けました。

結果的に体験版を避けて正解だったと思います。

さて、どうしようかなユフィ版をクリアするの…。w

明日へ続く。

⏩️量子AIの話を聞いて

おはようございます、量子AIの話を聞いて研究している人も何故、0と1が重なった状態になっているのか、何故、認識した時点で0,1が確定するのかなどは理解しているわけではなく、そういう事象がありそれを使用して演算処理をすると超光速な処理ができるということが分かっているという事が動画を視聴してわかったのですが…。

これは0∞1の振る舞いをする量子さんですが、何故、認識すると確定するのかが自分は不思議で仕方が無い本当に。そんなことを考えると今は存在しているのかという事すら不確定になる気がします。

ham burger with vegetables
Photo by Valeria Boltneva on Pexels.com

そんな量子ですが、その量子コンピュータがAIを兼ね備えると万能知能が出来そうですね。ただ万能知能に人が質問してもその答えが正しいのかわからない問題。

さて人は何を作ろうとしているのだろう…。

明日へ続く。

⏩️悲報:PIVOT

おはようございます。悲報です、いままでYOUTUBEでフル視聴出来ていたPIVOTの動画がフル視聴できなくなりました、前半配信だそうです。公式サイトやアプリではフル視聴可能です。ただ配信して一週間は視聴可能だけど、それ以降は有料会員でないとフル視聴が出来ないだとか。

この対応は正直なところ残念だなって思いますが、まぁ今迄、無料で見れていたのがラッキーだと思って受け入れるしか無いですね。

これからは、公式サイトかアプリで視聴することにします。

自分がPIVOTでよく見ているのはビジネス関係ではなくて、茂木健一郎さんが出ているEXTREME SCIENCEと投資関係だけです。特にEXTREME SCIENCEはコアな人しか見ない可能性が高いので打ち切りになりそうな感じがします。個人的は残してほしいものの微妙ですね…。

ということで悲報でした~。

明日へ続く。

⏩️DockerとMysql

おはようございます、Dockerデスクトップのコンテナが別れている時、他のコンテナからMysqlサーバーに繋ぎたいという事がありますよね。その繋ぎ方を自分は勘違いしていたので記事として残しときます。Dockerを使いだして一年目で気づく間違いです(泣)。外部コンテナのMysqlサーバーに繋ぎたい場合、下記の画像のようにmysqldbに繋がないとコネクションが出来ません。自分はMYSQL_HOSTだと思っていたのですがどうも違うようです。

これを知った時、正直なところ「えっ」って声が出たぐらい衝撃的でした。Dockerを使う前はバーチャルボックスというものを長年使っていたのですが、いまではDocker系が使いやすいです。Dockerデスクトップに慣れていたのに、DockerCLOUDの時代なんですよねぇー。

明日へ続く。

⏩️ブルースカイを使っている方に朗報です。

おはようございます、ブルースカイを使っている方に朗報です、Twitterで以前、無料で使えていたTwitterDeckと言うものをご存知でしょうか?、フォローしているユーザーのポストがリアルタイムに情報が流れてくるWEBアプリです。これと同じアプリがブルースカイでも可能になるアプリが登場していました、それも無料でアプリ名はDeck.blueです。

Deck.blueの使い方を説明している方がいますので、こちらを参照ください。このDeck.blueは無料版と有料版があります。複数のアカウントをマルチに使いたい場合は有料版になります。ひとつのアカウントだけで使用される場合は無料版で事が足ります。

これを知ってXから離れようかなと真剣に考えだしたのだけど、まだブルースカイはフォロワーも少ないしブルースカイを使用しているアクティブユーザーも少ない、でも徐々にだけどユーザーが増えてきていることは確か。

悩ましいところです。

明日へ続く。

⏩️githubのworkflowsを

おはようございます、個人用に初めてgithubのAction用のymlを作ったって話です。githubで個人でactionを使う場合、公開設定、非公開設定ともに使えるようですね、使えないみたいな記述の記事を見かけましたが…。因みに静的解析ツールは導入していません。PHPStanみたいなものは導入していません。仕事では静的解析ツールも導入していますが個人で今回のように雛🐣レベルの開発には必要ないかなって。後々、追加するかもしれませんが?

black flat screen computer monitor
Photo by Markus Winkler on Pexels.com

自分が作ったYmlファイルはこちらでも公開しときますね。actionが成功するまでにかなりの失敗(エラー)を繰り返しましたところが(泣)ですね~。一回では上手く動作してくれず試行錯誤しました良い学びにはなりましたが👍。

name: testing

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
defaults:
  run:
    working-directory: ./turi-map-app
jobs:
  laravel-test:
    runs-on: ubuntu-latest
    services:
      mysql:
        image: mysql:5.7
        ports:
          - 3306:3306
        env:
          MYSQL_ROOT_PASSWORD: turi
          MYSQL_DATABASE: turi
          MYSQL_USER: turi
          MYSQL_PASSWORD: turi
          MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        options: --health-cmd "mysqladmin ping -h 127.0.0.1" --health-interval 20s --health-timeout 10s --health-retries 10
    strategy:
      matrix:
        node-version: [21.x]
    steps:
    - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
      with:
        php-version: '8.2'
        extensions: mbstring, dom, fileinfo, pdo_mysql, PDO, zip
    - uses: actions/checkout@v4
    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.testing', '.env');"
    - name: Install Dependencies
      run: composer install -n --prefer-dist
    - name: Generate key
      run: php artisan key:generate
    - name: storage link
      run: php artisan storage:link
    - name: Directory Permissions
      run: chmod -R 777 storage bootstrap/cache
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v4
      with:
        node-version: ${{ matrix.node-version }}
    - name: npm install
      run: npm i
    - name: Build Assets
      run: npm run build
    - name: migrate
      run: php artisan migrate
    - name: Execute tests (Unit and Feature tests) via PHPUnit
      run: php artisan test

明日へ続く。

⏩️文章を解析して#を付与して返却。

おはようございます、文章を解析して#を付与して返却...Qiitaの丸コピです
SNSでの使用することを考えて作りました。文章を解析して名詞と形容詞の文字の先頭に#を付与して返却します😌。

レンタルサーバーでは動きませんがawsやgcp,vpsなどでは動く作りになっています。
作った経緯はこういうサービスが無かったので作りました?。

因みにexecの脆弱性が気になるところですので対応が必要かもです🙇。

※phpやPythonのインストールはご自身で行ってください。

#前処理 mecab-python3バージョンは1.0.8です
sudo apt-get install mecab libmecab-dev mecab-ipadic-utf8
sudo pip install mecab-python3
pip install unidic-lite
<?php
class sharpPost
{
    /**
     * mecab.pyを使って文章を解析(名詞と形容詞を取り出す)
     * @param $posstData
     * @return array|null
     */
    public function analysis($postData)
    {
        if(!$postData)return null;
        $word = null;
        exec('python py/mecab.py "'.strip_tags(htmlentities($postData)).'"',$output);// 2>&1
        if(is_array($output)){
            foreach($output as $val){
                $analysisWord = explode("\t",$val);
                if(isset($analysisWord[1]) && preg_match('/(名詞|形容詞)/',$analysisWord[1])){
                    $word[] = $analysisWord[0];
                    $word = array_unique($word);
                }
            }
        }
        return $word;
    }
    
    /**
     * 文字列を置き換える処理
     * @param $postData
     * @param $word|null
     * @return string
     */
    public function replacePostData($postData='',$word=null)
    {
        if(is_array($word)){
            foreach($word as $val){
                $postData = preg_replace("/({$val})/u"," #{$val} ",$postData);
            }
        }
        return $postData;
    }
}
$textData = '単なる自分が使いたい機能です、無かったので作ってみただけです。';
$sharpPost = new sharpPost();
$word = $sharpPost->analysis($textData);
print(($sharpPost->replacePostData($textData,$word)).PHP_EOL);
import MeCab
import sys
args = sys.argv
if(args[1]):
    tagger = MeCab.Tagger()
    print(tagger.parse(args[1]))

⏩️データサイエンティストって

おはようございます、chatGPTとGeminiに「これから先に未来がありそうな職業はなにか」と質問したところ、人工知能に関わっている職業を提示された、人工知能以外には遺伝子医療やクリエイターなどだそうだ(Geminiの結果では)。

人工知能技術はこれから先、需要は伸びそうだけどもエンジニア止まりな気がしてならない。いまから勉強する人はPythonは必須だと思います。そして出来ればAPIを使用してナニカするより人工知能にデータを学習させてモデルを生成しそのモデルを使用して画像認識や制御するなどが出来る人が優遇される気がします。

プロンプトという職業は、誰もが慣れるのでたぶんすぐに飽和すると思います。先行有利なのでいますぐに(2024年)始めないと無理だと思います。速い人は2020年頃に始めているので、今からなかなか厳しいのではないだろうかと。

先日、OpenAIが発表したテキストから一分間の動画が生成される「Sora」を見てこれからは誰でもクリエイターだなって。でも誰もが人工知能でクリエイターに慣れる中で、本物のクリエイターは生き残るだろうなって感じました、そしてこれからは今まで以上に作る過程も大事になるだと思います。

明日へ続く。