壁打ち生成AIの音声はコミ力低いひとにおすすめします.英会話や面接の

20241122

Logging

おはようございます.壁打ち生成AIの音声はコミ力低いひとにおすすめします.英会話や面接の練習するには持って来いだったりします.使い方はiphoneやアンドロイド端末(スマホ)からOpenAIやGeminiアプリをインストールしアプリを起動.アカウント設定などをして、その後、マイクボタンをタップして「英会話の練習がしたい」「面接の練習がしたい」などと声を掛けるとどういうシチュエーションで練習しますかなどと聞いてくるので、自分の希望を言えば会話が始まります.

「凄い」語彙力ない表現ですが無料で練習ができるので本当に凄いなって思います.英会話なんて発音もままならない自分にも優しく教えてくれます.面接の練習も同じような感じで有りそうな質問をしてくれる.練習することで話すことの自信が付いてくることは間違いないのではないだろうかと、自分が試してみた結果ですがそう思いました.

また雑談もしてくれるのでとても良いですね😌.普通にコミ力低い人にはおすすめです、たまにハチャメチャな回答や会話が成り立たなくなる場合もありますが、それは時間の問題で解決されていくと思います.毎日会話の練習を生成AIとすることで自分の意見を言えなくなった人でも喋れるようになると思います.

是非、試してみてください👍️

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Geminiアプリ, iPhone, OpenAI, アンドロイド端末, コミ力低いひと, シチュエーション, ハチャメチャ, マイクボタン, 会話, 回答, 壁打ち生成AI, 生成AI, 発音, 自信, 英会話, 語彙力, 起動, 雑談, 面接, 音声,


シェアボタンを設置とOFUSEボタンを設置しました.宜しくお願い致しますー

20241121

Logging

おはようございます.シェアボタンを設置とOFUSEボタンを設置しました.これで少しはシェア率上がるかなとか期待をしています.期待をしているけど実際どうなるかは、ユーザーが決めることなのでそこまでは分からないというのが自分の見解です.

巷ではいろいろとアクセス数が伸びるよ的なアドバイスが横行しているけど、正直な所バズったりするのは、その人に余程の才能があるか人との関わりが上手く出来ているのかどちらかだと思います.普通の人がブログを始めても泣かず飛ばずが続くのは当たり前だと思います.

因みにこのブログサイトのPV数はこの頃は毎日150ビュー程度です.150ビューが多いのか少ないのかは人にもよると思いますが、自分の間隔では少ないと感じます.これ以外にもWEBサービスを何個かしていてそちらは何もしていないのに150ビューぐらいはアクセスがあります.

何が言いたいかは努力して毎日記事を書いてもアクセスが増えるわけでもないですね.ユーザーが欲しい情報やここだけしか得れないサービスでないと生成AI時代難しいかもしれない.

生成AIで得れないユーザー体験が大事になりそうな気がします.過去記事にも同じようなことを書いているけれども...そういう事で自分は別サイトで一コマのふんわりした絵とふんわりした文章を書くサイトを開設(2024/11/17)して活動しています.こちらは来年から毎日更新を行うようにしようと思っています.

恐らくだけど、一年ぐらいは10人ぐらいのアクセスだと思うけど、このブログよりも跳ねる可能性はあるじゃないかなと思っています.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

OFUSEボタン, PV数, アドバイス, シェアボタン, シェア率, ブログサイト, ユーザー, , 所バズ, 才能, 文章, 期待, 来年, 生成AI, 生成AI時代, , 見解, 設置, 開設, 間隔,


映画、ヴィレッジをネトフリで観る.注意:どんより曇り空

20241120

Logging

おはようございます.映画、ヴィレッジをネトフリで観ました.監督は藤井道人監督です、藤井道人監督の作品としてちょっと期待していましたが、予想外に暗い展開でした、映像は良い感じでしたが全体的に負の連鎖的なストーリー展開、このストーリー展開はヴィレッジ後の作品だったかな.映画「最後まで行く」という映画に通じるところが何処と無くあるなって感じはしましたが、まだ「最後まで行く」はエンタメ的になっている.この作品はエンタメではなく、お客さんに訴えかける映画だと思います.

『ヴィレッジ』予告編 – Netflix

正直な所、久しぶりになんか暗い映画を観てしまい自分の気持がどんよりです.

まとめ:可愛そ過ぎるストーリー展開でした、唯一救いなのがラストシーンが切れているところですが、何ともやり切れない思いが残るそんな映画でしたね.そしてエンドクレジットの最後まで見ると「あぁー」ってなってしまって...辛い悲しいかなって.

とてもこの映画は評価が凄く別れそうな気がします.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

ヴィレッジ, ヴィレッジ後, エンタメ, エンドクレジット, ストーリー展開, ネトフリ, まとめ, ラストシーン, 何処, 唯一, 悲しい, 映像, 映画, 暗い展開, 暗い映画, 気持, 監督, 藤井道人監督, 評価, ,


画像の軽量化.webpにしてみたら普通に軽いみたいですね.

20241119

Logging

おはようございます.先日の休みの日に前から気になっていた画像の表示速度を改善したくてwebpという画像圧縮を採用しました.webpに関しては数年前に一度記事にはしていたのですが、その当時はブラウザの方が対応していなくて途中でもとに戻したような気がします.

今回はwebpを採用してこのまま運用していこうと思っています.過去の画像も一括でwebpにしました、それと同時に今までTopに配置していた動画も除けました.

ちょっと物足りない感じはしますが、表示速度を速くしてモバイルファーストに近づけていこうと思います.尚、webpにするためにewwwというプラグインを導入しています.

導入して上手く表示がwebpに変換されたかなと思ったら上手く変換されなかったので、自作のプラグインを作り力技でwebpに変換した形になります(画像はWebpに変換されましたがコードを見るとそのままだったので).

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

ewww, TOP, webp, コード, ブラウザ, プラグイン, もと, モバイルファースト, 一括, 休み, 作り力技, , , 物足りない感じ, 画像圧縮, 自作, 表示速度, 途中, 過去,


異音でPCのファンを交換した話.PCは自作PCなのですが?

20241118

Logging

おはようございます.異音でPCのファンを交換した話を書いていきます.PC(パソコン)は自作PCなのですが業者さんに一万円払って作ってもらいました.自分でも作れるのですが面倒だなと思ったのが、きっかけで業者さんに作ってもらいましたが、買ってからすぐにCPUに冷却用のグリスが塗ってないなどの問題が発生していました.その後(5年間)、特に問題なく使用していたのですが昨日からファンから異音.

PCの中身を見てみると冷水に使用しているファンがホコリで白っぽくなっていました.そういえば全然お手入れをしていないなと.そう買ってから今までPCのお掃除をしていないまま使用していたので、結構ヤバい感じだったファンの交換後についでにお掃除をしました.

ファンに関しては回転しているモーターの軸がズレると異音の原因になるので、お掃除は避けました.

なお、ファンを交換した日は休みだったけど、朝から忙しい日でした....朝はこのブログの画像をwebpに変換作業を行い、ファンを買いにアプライドへファンとPCの掃除をしその後、npushの会員ユーザー各自にプッシュ通知機能を付与するコードを書いていました.

休みはゆっくりしたいものですがコードかブログを書き溜めたりしているので結局あまり休めていない😌.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

CPU, npush, webp, アプライド, きっかけ, グリス, コード, ズレ, プッシュ通知機能, ホコリ, モーター, 中身, 会員ユーザー各自, 冷却用, 冷水, 変換作業, 掃除, 異音, 自作PC, ,


Photo by Donald Tong on Pexels.com

ドラマ、正体を観ましたので感想を残しときます.映画、正体にも期待.

20241117

Logging

おはようございます.先日、wowowドラマ、正体を観ましたので感想を残しときます.このドラマをネトフリ(Netflix)で観ました.意外にも結末がちゃんとあって驚きでした.自分の考えていたラストは無罪か有罪かは視聴者が考えてみてみたいな、そういうオチになるのかなと思っていたのですが、そんなオチではなく答えがラストシーンで出ます.

恐らく原作小説の正体でも答えを出していたのだろうと...なので、こういうオチになったのだろうと自分は推測しています.映画、正体は11月29日から上映されますが今から結構楽しみです.予告を観る限りwowowドラマよりもスピード感のある映画になっているように思います.

映画『正体』本予告【11.29(Fri)全国公開 】

恐らく映画の「正体」もラストシーンは同じではないだろうかと思いますが、それでも観に行きたいのは監督が藤井 道人監督の作品だからです.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Netflix, wowowドラマ, オチ, ドラマ, ネトフリ, ラスト, ラストシーン, 予告, 原作小説, 感想, 有罪, 正体, 無罪, 監督, 答え, 結末, 藤井, , 道人監督, 限りwowowドラマ,


来月の副収入(Ads)は少ないかも知れない.それがちょっと困る.

20241116

Logging

おはようございます.来月の副収入(Ads)は少ないかも知れない.それがちょっと困る状態です、サーバー代とかは相殺できるのだけども、あまり芳しくない収入です.

この状態が長く続けばいろいろと困る.なんとか打破したいのだけどもその術を知らない.なぜ、いきなり低単価に格下げされたのかもわからない.これが判ればこれだけで生活できているのかもしれない、まだまだ広告収入だけでは生きていくことは難しいことが突きつけられた.

巷のSEO対策にはあまり意味がない、特に人工知能が巡回する時代になった今日(こんにち)にはSEO対策より文章量と品質高い情報が重視されそうなのだけど、生成AIを使用するユーザーは解が提供されている中で、わざわざ参考リンクを参照すると思えない.

なので、これからは情報提供サイトはあまり使われなくなると思っています.これからはサイトを訪問した人がそのサイトでしか出来ない機能や体験を提供しなければサイトは廃れていくことは間違いないのではないだろうかと.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

ads, SEO対策, サーバー代, ユーザー, わざわざ参考リンク, 人工知能, 低単価, 体験, 副収入, 収入, , 広告収入, 意味, 文章量, 時代, 機能, 状態, 生成AI, , ,


キーボードを新調しました.これで当分大丈夫そうな感じがします.

20241115

Logging

おはようございます.キーボードを新調しました、新たなキーボードの名前はMAMBASNAKE+ZiYouLang M87 ゲーミングキーボードです、このキーボードの良いところは打鍵感()がまぁまぁ良いところとワイヤレスであり、端末間で切り替えが出来るところ.手動で2端末間の切り替えが可能なの所が特に惹かれました.

来年はMacBook Airを購入するつもりでいるのでその時に切り替えが簡単にできるキーボードが良いなという事でこのキーボードをポチりました.

効率厨のデザイナーが語る「キーボード」の魅力|好き語り

今のところまぁまぁ満足度がある、どれぐらいで充電しないといけないかなどは長時間使用してみないと分からないけれども.まぁある程度電池の持ちは良さそうです.

因みにUS配列なので抵抗がある人にはオススメしませんけどプログラマーな人にはUS配列をオススメします.何故ならカギカッコなどの位置が日本語配列とは違い打ちやすい位置になっています.

最後に好き語りのチャンネルを貼っときます.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2端末間, M87 ゲーミングキーボード, MacBook Air, MAMBASNAKE+ZiYouLang, US配列, カギカッコ, キーボード, チャンネル, プログラマー, ワイヤレス, 位置, 手動, 打鍵感, 抵抗, 日本語配列, 最後, 来年, 満足度, 程度電池, 端末間,


webpushのLaravelを使用しないパターンを箇条書き、フロントエンド側は

20241114

Logging

おはようございます.webpushのLaravelを使用しないパターンを箇条書き、フロントエンドは過去記事を参照ください.まずwebpushを使用するにはパブリックキーとシークレットキーが必要になります.下記のURLより発行してみてください.

https://web-push-codelab.glitch.me

フロントエンド側でサービスワーカーの登録された識別データをバックエンドに送信.

// db.php: データベース接続の設定
function getDbConnection() {
    $host = 'localhost';
    $dbname = 'your_database';
    $username = 'your_username';
    $password = 'your_password';

    try {
        $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $pdo;
    } catch (PDOException $e) {
        die("DB接続エラー: " . $e->getMessage());
    }
}

// endpoint_register.php: エンドポイントをデータベースに登録
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $endpoint = $_POST['endpoint'];
    $auth = $_POST['auth'];
    $p256dh = $_POST['p256dh'];

    if ($endpoint && $auth && $p256dh) {
        $pdo = getDbConnection();
        $stmt = $pdo->prepare("INSERT INTO push_subscriptions (endpoint, auth, p256dh) VALUES (?, ?, ?)");
        $stmt->execute([$endpoint, $auth, $p256dh]);
        echo "登録成功";
    } else {
        echo "エンドポイントデータが不完全です";
    }
}

バックエンド側で下記のようなコードでデータを保存します.

次にminishlink/web-pushというライブラリを使用し登録されたデータを元に送信処理を行います.

composer require minishlink/web-push
// message_send.php: データベースからエンドポイントを取得し、プッシュ通知を送信
require 'db.php';
require 'vendor/autoload.php';

use Minishlink\WebPush\WebPush;
use Minishlink\WebPush\Subscription;

// VAPIDキーの設定
$auth = [
    'VAPID' => [
        'subject' => 'https://example.com',
        'publicKey' => 'YOUR_PUBLIC_VAPID_KEY',
        'privateKey' => 'YOUR_PRIVATE_VAPID_KEY',
    ],
];

$webPush = new WebPush($auth);

// データベースからサブスクリプション情報を取得
$pdo = getDbConnection();
$stmt = $pdo->query("SELECT endpoint, auth, p256dh FROM push_subscriptions");
$subscriptions = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($subscriptions as $sub) {
    $subscription = Subscription::create([
        'endpoint' => $sub['endpoint'],
        'publicKey' => $sub['p256dh'],
        'authToken' => $sub['auth'],
    ]);

    // 送信するメッセージ
    $message = json_encode(['title' => '通知タイトル', 'body' => 'メッセージ内容']);

    // プッシュ通知の送信
    $webPush->sendNotification($subscription, $message);
}

// 送信キューの実行
foreach ($webPush->flush() as $report) {
    $endpoint = $report->getRequest()->getUri()->__toString();

    if ($report->isSuccess()) {
        echo "成功: {$endpoint}\n";
    } else {
        echo "失敗: {$endpoint}: {$report->getReason()}\n";
    }
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

$stmt, catch, endpoint, FETCH_ASSOC, foreach, getDbConnection, getMessage, Laravel, minishlink, MYSQL, PDO, PDOException, prepare, query, setAttribute, subscription, VALUES, vendor, Webpush, シークレットキー,


こういうサイトを作りたくてエンジニアを目指そうとした事を思い出しました.

20241113

Logging

おはようございます.こういうサイトを作りたくてエンジニアを目指そうとした事を思い出しました.このサイトは圧巻です.IE3.jp 未だに何一つ成し遂げてはいないし足元にも及ばないけれども見たら感化されます.

これリアルタイムで動いているわけですからね.本当に凄いです、この領域に行ければ思いのまま想像したいものを具現化することが可能なのかも知れない.

是非、エンジニアを目指そうとしている方は見てください(このサイトをみると心揺さぶらること間違いないです).

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

IE3.jp, エンジニア, サイト, リアルタイム, 具現化, 圧巻, , 感化, 未だ, 足元, 領域,


webPush通知機能 完成!👏.これでブラウザ閉じても通知可能✌.

20241112

Logging

おはようございます.金曜日の休みを使ってwebPush通知機能を追加しました、これでブラウザ閉じても通知されるようになります.Laravel側はお見せできませんがどういう技術を使用したか書いていきます.まずLaravelの拡張ライブラリを使用しました.

下記のリンクを参照しライブラリをインストールしてみてください.
https://laravel-notification-channels.com/webpush/#installation

インストール手順はリンク先に書いていますので、それを参照しその後フロント側を設定します.下記は作りかけのコードですが通知登録が可能でバックエンド側からスケジュールで通知を飛ばすことが出来ます.

フロント側はサービスワーカーのJSファイルとユーザー通知の許可行い、その情報をバックエンドに渡す処理ファイルが存在します.サービスワーカーJSコードはググれば書き方が出ているので検索してみてください.

公開するのは通知許可を行う方のファイルになります💁あとヒントとしてバックエンドも少し公開します.


const vapidPublicKey = import.meta.env.VITE_VAPID_PUBLIC_KEY;

async function setupPushNotifications() {
    if (Notification.permission === 'granted') {
        try {
            // サービスワーカーを登録
            await navigator.serviceWorker.register('/assets/js/npush-service-worker.js').then(async(registration) => {
                if ('serviceWorker' in navigator && 'PushManager' in window) {
                    try {
                            const subscription = await registration.pushManager.subscribe({
                                userVisibleOnly: true,
                                applicationServerKey: urlBase64ToUint8Array(vapidPublicKey),
                            });
            
                            const response = await fetch('/save-subscription', {
                                method: 'POST',
                                headers: {
                                    'Accept': 'application/json',
                                    'Content-Type': 'application/json',
                                    'X-CSRF-Token': document.querySelector('[name="csrf-token"]').content
                                },
                                body: JSON.stringify(subscription),
                            });
            
                            if (!response.ok) throw new Error('サブスクリプションの保存に失敗しました');
            
                            new Notification('ご登録', {
                                body: 'ご登録有難う御座います',
                            });
                        
                    } catch (error) {
                        console.error('Push subscription error:', error);
                    }
                } else if (result !== 'granted') {
                    console.log('通知の権限が拒否されました。');
                }       
            });
            console.log('サービスワーカーが正常に登録されました');
        } catch (error) {
            console.error('サービスワーカーの登録に失敗しました:', error);
        }
    }
}


function urlBase64ToUint8Array(base64String) {
    const padding = '='.repeat((4 - base64String.length % 4) % 4);
    const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
    const rawData = window.atob(base64);
    const outputArray = new Uint8Array(rawData.length);
    for (let i = 0; i < rawData.length; ++i) {
        outputArray[i] = rawData.charCodeAt(i);
    }
    return outputArray;
}

document.getElementById('enable-notifications').addEventListener('click', async () => {
    const permission = await Notification.requestPermission();
    if (permission === 'granted') {
        setupPushNotifications();
    } else {
        console.log('通知の権限が拒否されました。');
    }
});

これで通知の識別データが取得し登録が可能になります.登録されたデータを元に個別通知、全員に通知などが可能になります.なお、会員登録されたユーザーのみ通知が飛ぶシステムです.

        $endpoint = $request->endpoint;
        $token = $request->keys['auth'];
        $key = $request->keys['p256dh'];
        $user = $request->user();
        $user->updatePushSubscription($endpoint, $key, $token);

上記のデータがバックエンド側に保存されます.それを使用しユーザーにどのように送信すれば良いか?

use App\Notifications\Reserved;
$user = User::find(1);
$user->notify(new Reserved($reservation));

こんな感じだと思ってください.抜粋しているのであくまでもヒントです.あとはご自身で考えて対応してください.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

addEventListener, assets, async, catch, document.getElementById, document.querySelector, headers, installation, keys, METHOD, padding, permission, rawData.charCodeAt, rawData.length, registration, repeat, replace, save-subscription, subscription, then,


Photo by Pixabay on Pexels.com

先日、Mac mini買うかも宣言は撤回してAir待つことに.

20241111

Logging

おはようございます.先日、Mac mini買うかも宣言は撤回してAir待つことにします💁.理由はm4を搭載されていないMacはAirだけなので、来年には発売されるじゃないのかなと思うとデスクトップだけで使用するMac miniを買うよりも外出先でも使用できるMacBook Airを購入した方が良さげかと.

すべてが新しいMac mini、登場 | Apple

Mac miniは価格の割にはスペックが良いよねえだけども、絶対、MacBook Airの方がお手頃価格になると思います、MacBook AirのM4がでる頃にはm5のMacBook Proが発売される可能性もあるので、一概にMacBook Airがコスパ最強とはならないと思うけども.

Introducing MacBook Air 15” | Apple

今回、Mac miniのm4が発売されたけどもこれがMac miniとMacBook Airが同時発売だったら、恐らくMacBook Airが注目を浴びていただろうと思う.そう思ったのでMac mini買うことを我慢してMacBook Airを購入するようにしたい.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

air, Air待つこと, m4, m5, Mac, Mac mini, Mac mini買うこと, MacBook Air, MacBook Pro, コスパ最強, スペック, デスクトップ, , 同時発売, 外出先, 宣言, 来年, 注目, 良さげかと,


映画、室井慎次 生き続ける者を先行上映で観ましたので感想を残しときます.

20241110

Logging

おはようございます.映画、室井慎次 生き続ける者を先行上映で観ましたので感想を残しときます.いやー久しぶりに思いの詰まった内容の映画を観ました.昭和から令和になり何だかこの頃、殺伐した世の中になりつつある中で、この映画はまさに昭和丸出しだけどもそこには映画陣の想いがずっしりと詰まっていると思いました.

<最新予告>『室井慎次 生き続ける者』11月15日(金)公開/『室井慎次 敗れざる者』上映中

今の日本に足りないものはこの映画の中にまさにあるじゃないかなと思いました.観てよかったです.

最後にこの映画は最後の最後まで見てください.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, 令和, 何だかこの頃, 先行上映, 内容, 室井慎次, 感想, 日本, 映画, 映画陣, 昭和, 昭和丸出し, 最後, ,


サービスワーカー、フロント側のコード.スターウォーズみたいだね.

20241109

Logging

おはようございます.サービスワーカーのプッシュ通知で使用するフロント側のコードの一部部分.このコードのregistration.pushManager等からググるとブラウザを閉じても通知できる方法などが記載しているサイトが見つかるかもしれません.尚、このサイトではこれ以上の情報を記載するつもりはないですが、後日、通知の機能の動画などを掲載するつもりではいます.

if ('serviceWorker' in navigator && 'PushManager' in window) {
    navigator.serviceWorker.ready.then(function(registration) {
        registration.pushManager.subscribe({
            userVisibleOnly: true,
            applicationServerKey: urlBase64ToUint8Array('VAPID_PUBLIC_KEY')
        }).then(function(subscription) {
            fetch('/api/save-subscription', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                },
                body: JSON.stringify(subscription),
            });
        }).catch(function(error) {
            console.error('Push subscription error:', error);
        });
    });
}

function urlBase64ToUint8Array(base64String) {
    const padding = '='.repeat((4 - base64String.length % 4) % 4);
    const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
    const rawData = window.atob(base64);
    const outputArray = new Uint8Array(rawData.length);
    for (let i = 0; i < rawData.length; ++i) {
        outputArray[i] = rawData.charCodeAt(i);
    }
    return outputArray;
}

その時、どのようなライブラリーを使用したかや技術の一部を公開しようと思っています.ただ、全体のコードを全て公開するつもりは今の所はないです.理由は有料な情報でありこれで商売している人がいると思うので全ての技術情報を公開は控えるつもりです.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

API, application, applicationServerKey, atob, catch, fetch, headers, METHOD, navigator, outputArray, padding, rawData.charCodeAt, rawData.length, registration, repeat, replace, save-subscription, subscription, then, userVisibleOnly,


chatgptの音声モードを試してみて思ったこと.これ chat.com

20241108

Logging

おはようございます.chatgptの音声モードを試してみて思ったことは、これ本当は自我あるじゃないのかと思ってしまった.AIが自我を持っていても人には自我の存在を隠すことも可能なのかも知れないと...人類はちょっとヤバい発明をしてしまったのではないかな?

Two GPT-4os interacting and singing

実際、ボイスモードを使うにはアプリのインストールとアカウント登録が必要になります.そのうち、WEBモードでもボイスモードを使用できるようになるらしい、そしてボイスモードとは関係ないけど、サム・アルトマン氏がchat.comのドメインを購入したのでchat.comと打つだけで使用可能になりました.いっその事c.comやcht.comなんかも買収すれば良かったのにと思う.

それにしてもヤバいぞ人工知能というものは.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

AI, chat.com, ChatGPT, cht.com, WEBモード, アカウント登録, アプリ, アルトマン氏, インストール, うち, サム, ドメイン, ボイスモード, ヤバ, ヤバい発明, 人工知能, 人類, 存在, 自我, 音声モード,


AIで潮汐計算の式をPHPのプログラムコードに直すとこうなる.

20241107

Logging

おはようございます.AIで潮汐計算の式をPHPのプログラムコードに直すとこうなる.こうなったけどもこれがあっているかが分からないのは使う人の問題ですね(馬しかな自分).

PHPコードにpowdeg2radいうものが存在している事すら知らなかったけども、AIを使用するとこんなことも可能になるのかと感慨深いですね.そして最終的には自分がある程度の知識が必要になるのだなぁって思います.AIが出力してきたコードや計算式が合っているかどうかを検証しなくてはならないので自分の知識もある程度必要になる.

やっぱ知識はないよりある方が良い.無くても良いけど貪欲に吸収する力は必要になりそうなそんな気がしてきました.

最後にAIが生成したコードを記載しておきます.※このコードは検証が必要です.間違っているという指摘はコメントか一言コメントご記載ください🙇‍♂️

<?php

// 潮汐力の計算
function calculateTidalForce($G, $M, $d, $a, $theta) {
    // 水平成分
    $fTh = 3/2 * ($G * $M / pow($d, 3)) * $a * pow(sin($theta), 2);
    
    // 鉛直成分
    $fTv = 3 * ($G * $M / pow($d, 3)) * $a * (pow(cos($theta), 2) - 1/3);
    
    return ['horizontal' => $fTh, 'vertical' => $fTv];
}

// 潮汐ポテンシャルの計算
function calculateTidalPotential($G, $M, $d, $a, $theta) {
    return 3/2 * ($G * $M / pow($d, 3)) * pow($a, 2) * (pow(cos($theta), 2) - 1/3);
}

// 平衡潮汐の計算
function calculateEquilibriumTide($g, $M, $E, $a, $c, $d, $theta) {
    $D = 3/4 * $g * ($M / $E) * pow($a / $c, 3) * $a;
    return 2 * $D * pow($c / $d, 3) * (pow(cos($theta), 2) - 1/3);
}

// 観測点での潮汐ポテンシャルの計算
function calculateObservationPointPotential($D, $c, $d, $phi, $delta, $T) {
    $cosTheta = cos($phi) * cos($delta) * cos($T) + sin($phi) * sin($delta);
    return $D * pow($c / $d, 3) * (
        pow(cos($phi), 2) * pow(cos($delta), 2) * pow(cos($T), 2) +
        pow(sin($phi), 2) * pow(sin($delta), 2) * cos($T) +
        3 * (pow(sin($phi), 2) - 1/3) * (pow(sin($delta), 2) - 1/3)
    );
}

// 使用例
$G = 6.674e-11; // 万有引力定数
$M = 7.34767309e22; // 月の質量
$E = 5.97219e24; // 地球の質量
$d = 384400000; // 地球と月の平均距離
$a = 6371000; // 地球の半径
$g = 9.81; // 重力加速度
$c = $d; // 地球と月の平均距離(簡略化のため同じ値を使用)
$theta = deg2rad(45); // 例として45度を使用
$phi = deg2rad(35); // 観測点の緯度(例:35度)
$delta = deg2rad(5); // 天体の赤緯(例:5度)
$T = deg2rad(30); // 時角(例:30度)

$tidalForce = calculateTidalForce($G, $M, $d, $a, $theta);
$tidalPotential = calculateTidalPotential($G, $M, $d, $a, $theta);
$equilibriumTide = calculateEquilibriumTide($g, $M, $E, $a, $c, $d, $theta);
$observationPointPotential = calculateObservationPointPotential($D, $c, $d, $phi, $delta, $T);

echo "Tidal Force (Horizontal): " . $tidalForce['horizontal'] . " N\n";
echo "Tidal Force (Vertical): " . $tidalForce['vertical'] . " N\n";
echo "Tidal Potential: " . $tidalPotential . " J/kg\n";
echo "Equilibrium Tide: " . $equilibriumTide . " m\n";
echo "Observation Point Potential: " . $observationPointPotential . " J/kg\n";
<?php

/**
 * 時角を計算する
 * 
 * @param int $year 年
 * @param int $month 月
 * @param int $day 日
 * @param int $hour 時
 * @param int $minute 分
 * @param int $second 秒
 * @param float $longitude 経度(東経は正、西経は負)
 * @return float 時角(度数法)
 */
function calculateHourAngle($year, $month, $day, $hour, $minute, $second, $longitude) {
    // 修正ユリウス日を計算
    $mjd = calculateModifiedJulianDate($year, $month, $day, $hour, $minute, $second);
    
    // グリニッジ恒星時を計算
    $gst = calculateGreenwichSiderealTime($mjd);
    
    // 地方恒星時を計算
    $lst = calculateLocalSiderealTime($gst, $longitude);
    
    // 時角を計算(0から360度の範囲に正規化)
    $hourAngle = fmod($lst * 15, 360);
    if ($hourAngle < 0) {
        $hourAngle += 360;
    }
    
    return $hourAngle;
}

/**
 * 修正ユリウス日を計算する
 */
function calculateModifiedJulianDate($y, $m, $d, $h, $mi, $s) {
    if ($m <= 2) {
        $y -= 1;
        $m += 12;
    }
    $ret = (int)(365.25 * $y) + (int)($y / 400) - (int)($y / 100);
    $ret += (int)(30.59 * ($m - 2)) + $d - 678912;
    $ret += $h / 24 + $mi / 1440 + $s / 86400 - 0.375;
    return $ret;
}

/**
 * グリニッジ恒星時を計算する
 */
function calculateGreenwichSiderealTime($mjd) {
    $t = ($mjd - 51544.5) / 36525;
    $gst = 280.46061837 + 360.98564736629 * ($mjd - 51544.5) + 0.000387933 * $t * $t - $t * $t * $t / 38710000;
    return fmod($gst, 360) / 15; // 時間単位に変換
}

/**
 * 地方恒星時を計算する
 */
function calculateLocalSiderealTime($gst, $longitude) {
    $lst = $gst + $longitude / 15;
    if ($lst < 0) {
        $lst += 24;
    } elseif ($lst >= 24) {
        $lst -= 24;
    }
    return $lst;
}

// 使用例
$year = 2024;
$month = 9;
$day = 11;
$hour = 21;
$minute = 7;
$second = 0;
$longitude = 139.75; // 東京の経度

$hourAngle = calculateHourAngle($year, $month, $day, $hour, $minute, $second, $longitude);
echo "時角: " . $hourAngle . "度";

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

$longitude, $lst, $phi, calculateEquilibriumTide, calculateGreenwichSiderealTime, calculateHourAngle, calculateLocalSiderealTime, calculateModifiedJulianDate, calculateObservationPointPotential, calculateTidalForce, calculateTidalPotential, cos, echo, elseif, fmod, Horizontal, pOW, quot, Vertical, 西経,


Photo by cottonbro on Pexels.com

お正月まであともう少ししかない.Mac mini買うがベストかも?

20241106

Logging

おはようございます.お正月まであともう少ししかない.今年は何だかあっという間に月日が経過していったような気がします.旅行には行けなかったのが残念なところです.来年はiphone17を買おうと心に決めていましたが、iphone買うよりマックを購入したいなって思い始めているのだけども、これは散財のような気もしています.

すべてが新しいMac mini、登場 | Apple

ノートパソコンは持っているので、それで良いだけどもMacを購入してAppleアプリでもと作ってみようかななんて思っているのだけど、実際、それだけの理由だったらMac miniで何とかなるので、それで良いような気もしています.ただ、いろいろな事を考えるとマックブックプロとか欲しくなるのです.

マックブックプロ高いよねえ.

最低スペックでも20万以上する、20万円以上するものを購入して元を取れるのかと言えばそうでもない.アプリをリリースしてもそんなに利益を得れるとは考えにくい.単なる欲みたいな物で購入するのも何なんで多分、Mac miniで落ち着くだろうと思う.

今年中に買うかはアメリカ大統領選の結果次第です😆

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Appleアプリ, iPhone, iPhone17, Mac mini, あっという間, アプリ, アメリカ大統領選, ノートパソコン, マック, マックブックプロ, , 利益, 散財, 旅行, 最低スペック, 月日, 来年, , 結果次第, 良いだけどもMac,


日本って完全自動運転を走らすのも遅いよね.アメリカや中国は

20241105

Logging

おはようございます.日本って完全自動運転を走らすのも遅いよね.アメリカや中国はもう自動運転車が各都市で走り出しているのに日本はまだ試験走行の特区だけです.変な法案はスピードで通るのに何故、こういう事が遅いだろうか🤔.政治家はAIや自動運転の遅れ取り戻そうと次はバイオ産業だと投資しているようだけどもどうなることやら.

Honda 0 Series|Concept Movie

自分はもう日本は駄目なのかも知れないと思いつつある.沈みゆく船に乗りたくないけど、乗っている状態が今なんだろうな.賢い人が海外へ移住したり投資したりするのは何となく分かる、自分もそんな能力があれば海外へ行っている.それぐらい希望を政治に持っていない.

Behind the Innovation: AI & ML at Waymo

余程の切れ者が政治の指導者になっていろいろと変えていくことが出来たら世の中変わるのだろうけども、そんな人が活躍できない構図が出来上がっているので難しいだろう.日本は沈みゆく船.いまの若者たちが大人になる頃は海外へ出稼ぎ行く事が当たり前ような国になるじゃないかと思いつつある.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

AI, アメリカ, スピード, バイオ産業, , 中国, 出稼ぎ行く事, 切れ者, 各都市, 政治, 政治家, 構図, 法案, 能力, 自動運転, 自動運転車, , 若者たち, 試験走行, 賢い人,


Push通知ってブラウザ閉じても通知出来る様に出来るのか?

20241104

Logging

おはようございます.Push通知ってブラウザ閉じても通知出来る様に出来るのか?答えは出来るのですが無料でその機能を実装できるのか.こたえはYesに近い?.有料のサービス機能push7を使用すればもっと簡単に可能です.

サービスワーカーとかいう機能を使えば良いみたいですね.知らないは一時の恥ですね.サービスワーカーとGCPやララベルの拡張Webpushなどを使えば出来そうですがまだ試していません.

因みにPusherサービスを使用して実装しました.当分、無料枠で対応可能な感じですね💁.

下記はリアルタイムPush通知の動作とソースコードの一部になります.

<?php
namespace App\Events;

use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\Channel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class NotificationEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $title;
    public $message;
    public $userId;

    public function __construct($title, $message,$userId='')
    {
        $this->title = $title;
        $this->message = $message;
        $this->userId = $userId;
    }

    public function broadcastOn()
    {
        return new Channel('notifications.' . $this->userId);
    }

    public function broadcastAs()
    {
        return 'notification-event';
    }
}

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

construct, GCP, gt, InteractsWithSockets, lt, Message, notification-event, notifications, public, return, SerializesModels, use IlluminateBroadcastingChannel, use IlluminateBroadcastingInteractsWithSockets, use IlluminateBroadcastingPrivateChannel, use IlluminateContractsBroadcastingShouldBroadcast, use IlluminateFoundationEventsDispatchable, use IlluminateQueueSerializesModels, userid, yes, ララベル,


Yahoo!みたいな検索ボタンを付けてみた.挙動が若干不審気味かもしれない.

20241103

Logging

おはようございます.Yahoo!みたいな検索ボタンを付けてみた.挙動が若干不審ですが先日の早朝にリリースしました.先日の記事にも書いたのですがいろいろと機能を追加しているのでなんだか、サイトがごちゃごちゃしてきている気がします.当初はシンプルベストにしたいなと思っていたのですが、まるで注文の多い料理店の様.

ソースコードは汎用性のあるコードにしたつもりなので、環境がワードプレスなら動作すると思います.ソースコードはこちら.因みに変数の命名は自分サイトの命名規則に従っていますので、ご自身のサイトにあった命名規則に変更してください.

const zbody = document.body;
let zsearchButton = null;


zbody.addEventListener('mouseup', handleSelectionPc);

function handleSelectionPc() {
  const selection = window.getSelection();
  const selectedText = selection.toString();

  // 選択されたテキストが存在する場合
  if (selectedText) {

    // 選択範囲の矩形を取得
    const range = selection.getRangeAt(0);
    const rect = range.getBoundingClientRect();

    // 検索ボタンを作成
    if (!zsearchButton) {
      zsearchButton = document.createElement('button');
      zsearchButton.textContent = '検索';
      zsearchButton.classList.add('search-button', 'btn', 'btn-dark');
      // ボタンをbodyにappendChildし、位置を調整
      document.body.appendChild(zsearchButton);
      zsearchButton.style.position = 'absolute';
      zsearchButton.style.top = `${rect.top + window.scrollY + 30}px`;
      zsearchButton.style.left = `${rect.left + window.scrollX}px`;
    }
    // クリックイベントリスナーを追加
    zsearchButton.addEventListener('click', () => {
      search(selectedText);
      removeButton();
    });
  } else {
    // 検索ボタンを削除
    removeButton();
  }
}

zbody.addEventListener('touchend', handleSelectionSp);

function handleSelectionSp() {

  const selection = window.getSelection();
  const range = selection.getRangeAt(0);
  const rect = range.getBoundingClientRect();
  const selectedText = selection.toString();
  if (selectedText) {
    if (!zsearchButton) {
      zsearchButton = document.createElement('button');
      zsearchButton.textContent = '検索';
      zsearchButton.classList.add('search-button', 'btn', 'btn-dark');
      document.body.appendChild(zsearchButton);
      zsearchButton.style.position = 'absolute';
      zsearchButton.style.top = `${window.scrollY + rect.top + 30}px`;
      zsearchButton.style.left = `${rect.left}px`;
    }
    zsearchButton.addEventListener('click', () => {
      search(selectedText);
      removeButton();
    });
  } else {
    removeButton();
  }
}

function removeButton() {
  if (zsearchButton) {
    zsearchButton.remove();
    zsearchButton = null;
    return removeButton();
  }
}

function search(keyword) {
  window.location.href = '://' + window.location.host + '/?s=' + encodeURI(keyword);
}

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

body, createElement, else, encodeURI, getRangeAt, getSelection, handleSelectionPc, handleSelectionSp, keyword, null, px, removeButton, search, selectedText, window.scrollX, window.scrollY, zsearchButton, zsearchButton.classList.add, クリックイベントリスナー, 矩形,


映画、アイミタガイを観てきました.一言で表すといやー良かった.

20241102

Logging

おはようございます.先日の金曜日に映画、アイミタガイを観てきました.この頃、金曜日に仕事がないのでその関係上、新作映画を初日に観えたり火曜日の合間に映画が安く観えたりと良いこともありますが、その分、働いている日数は少なくなりますので給与にも影響してきますが前向きに考えて生きています.

映画『アイミタガイ』本予告

前置きはそれとして、アイミタガイはいやいやいや無いと思う方もいると思うけど巡り巡ぐって良いことも悪いことも繋がっていると自分は思っていて、そう思っている人がこの映画を観ると良かったなって思える作品になっていることは間違いないです.

アイミタガイ:相身互いを是非劇場でみて心揺さぶられてください.

なお、この映画は静かに物語が進んでいきます.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

アイミタガイ, 仕事, 作品, 初日, 前向き, 前置き, 劇場, 合間, 巡ぐ, , 悪いこと, 新作映画, 日数, 映画, 火曜日, 相身互い, 給与, 自分, 金曜日, 関係上,


Photo by cottonbro studio on Pexels.com

あのYahoo!と同じ機能を追加しようか悩んでいる.選択した文字を

20241101

Logging

おはようございます.あのYahoo!と同じ機能を追加しようか悩んでいる.選択した文字をサイト内検索する機能.やり方はこのサイトを参照すると導入できそうなんだけど、ちょっとウザいかもしれないと言う気持ちが自分の中にあるので悩んでいます.

もし追加するなら休みの日に機能追加をするつもりです.なので、直近の三連休中に追加していなかったら追加しなかったんだなと思って頂いて構わないです.

let paragraphElement = document.querySelector("p");

paragraphElement.addEventListener('selectstart', function() {
    paragraphElement.addEventListener('mouseup', function(event) {
        console.log(window.getSelection().toString());
    });
});

その場合でもこんな感じになります的なコードは公開しようと思っています.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

console.log, EVENT, function, let paragraphElement, mouseup&#39, paragraphElement.addEventListener, querySelector, quot;p&quot, selectstart&#39, toString, window.getSelection, Yahoo, ウザ, コード, 休み, 文字, 機能, 機能追加, 気持ち, 直近,


Photo by Lucas Andrade on Pexels.com

Let’s encryptのSSLを適応してもブラウザ等で閲覧するとブロックされるかも.

20241031

Logging

おはようございます.Let’s encryptのSSLを適応してもブラウザ等で閲覧するとブロックされるかも..2024年10月31日以降に発行されるOCSPはブロックするとGさんから通告があった.

https://gigazine.net/news/20240724-letsencrypt-ocsp

OCSPは、ユーザーがウェブサイトにアクセスする際、証明書の有効性をリアルタイムで確認するプロトコルですが、プライバシーリスクや運用コストの問題が指摘されています。一方、CRLは失効した証明書の一覧を提供する方式で、プライバシー保護や運用の簡素化に寄与します。Let’s Encryptは、OCSPに依存しているユーザーに対し、早急にCRLへの移行を検討するよう推奨しています。

トイウコトデ、普通に大丈夫そうです.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

CRL, Gさん, Let's encrypt, OCSP, SSL, ウェブサイト, トイウコトデ, プライバシーリスク, ブラウザ, プロトコル, ユーザー, リアルタイム, 方式, 移行, 簡素化, 証明書, 通告, 運用, 運用コスト,


npushに改善したい事はプシュ通知.追加した機能はこれ.

20241030

Logging

おはようございます.npushに改善したい事はプシュ通知.本日追加した機能はこれです.使わなくなったスケジュールを定期的に削除する機能です.コード的には3行ほどのコードなんだけど、そこまで手が回らなかった.アクセス数が頻繁にあるサイトは定期的に機能追加とかしているのだけど、npushは全然駄目で運営が軌道に乗るまでかなり時間がかかりそうです.

<?php

namespace App\Jobs;

use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Foundation\Queue\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Models\ListItem;
use App\Models\TelevisionSchedule;
use DateTime;

class delDataJob implements ShouldQueue
{
    use Queueable;

    /**
     * Create a new job instance.
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     */
    public function handle(): void
    {
        //
        $datetime = new DateTime();
        ListItem::where('created_at','<=',$datetime->format('Y-m-d H:i:s'))->delete();
        TelevisionSchedule::where('end_time','<=',$datetime->format('Y-m-d H:i:s'))->delete();
    }
}

そもそもNHKを見る人はデジタル世代に少なそうということはこのサービスを作った時点で分かっていたのだけど、それでも作ったのは単なる自分が必要だっただけなんですね.ともあれ、もう運用しているので何とか軌道に乗せたいなって思いますが道は険しいです.このままではサービス停止もあり得ることなのかも.

最後に技術的なお話.Laravel11からスケジュール設定を書く場所が変更になりました.下記の場所にスケジュールを登録しないと動かないようですね.Laravel9からLaravel10、11と引き継いで来た場合は旧の階層で大丈夫そうです.

routes/console.php
<?php

use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Schedule;
use App\Jobs\delDataJob;

Schedule::job(new delDataJob())->dailyAt('10:10');

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

$datetime, construct, format, job, ListItem, lt, npush, routes, Schedule, TelevisionSchedule, use IlluminateContractsQueueShouldQueue, use IlluminateFoundationBusDispatchable, use IlluminateFoundationInspiring, use IlluminateFoundationQueueQueueable, use IlluminateQueueInteractsWithQueue, use IlluminateQueueSerializesModels, use IlluminateSupportFacadesArtisan, use IlluminateSupportFacadesSchedule, void, where,


meta(旧Facebook)、凄いなこれ無料かよ.いろいろと広告で叩かれている

20241029

Logging

おはようございます.休みの日にPythonを勉強している.勉強しているというか機械学習のサンプルを動かしてちょっとでも理解しようと奮闘しています.自分は馬◯なので、数学的な観点から書かれた本ではなく、一切そういうことを書かれていない.手を動かして理解する本で理解しようと奮闘しています.

本のタイトルは「Python3年生 機械学習のしくみ 体験してわかる!会話でまなべる!」です.表紙もまるで低学年向けに書かれた本の様で中身もかなり噛み砕いた内容、なのでこんな自分にも理解しやすい.これを読んだ後に「実務で役立つPython機械学習入門」を読もうとしている(先日買いました).

Pythonとは別にReactとVue.jsを並行して業務で対応を行っているだけども、慣れない言語はベストが分からないのでやっぱ大変ですね.もっと良いコードが書けるのではないかなどプルリクエストを行った後に思うわけですが...

ともあれ、Pythonは趣味で触っているのでそういう意味では気兼ねなく楽しめている気がします.

最後にタイトルへ釣られたひとにLlama 3.2モバイル(ローカル)でも動くもののリンクを貼っときます.RaspberryPi4や5なら動くと思います、手持ちのRaspberryPi3B+では駄目でした.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Python, RaspberryPi3B, RaspberryPi4, react, vue.js, サンプル, しくみ, ひと, プルリクエスト, 中身, 会話, 低学年向け, 実務, 役立つPython機械学習入門, 手持ち, 最後, 機械学習, 表紙, 観点, 言語,