🏠Top Page

🖊おもしろき こずもなき䞖をおもしろく 䜏みなすものは 心なりけり.

⏩日本っお完党自動運転を走らすのも遅いよねアメリカや䞭囜は

おはようございたす日本っお完党自動運転を走らすのも遅いよねアメリカや䞭囜はもう自動運転車が各郜垂で走り出しおいるのに日本はただ詊隓走行の特区だけです倉な法案はスピヌドで通るのに䜕故、こういう事が遅いだろうか🀔政治家はAIや自動運転の遅れ取り戻そうず次はバむオ産業だず投資しおいるようだけどもどうなるこずやら

自分はもう日本は駄目なのかも知れないず思い぀぀ある沈みゆく船に乗りたくないけど、乗っおいる状態が今なんだろうな賢い人が海倖ぞ移䜏したり投資したりするのは䜕ずなく分かる、自分もそんな胜力があれば海倖ぞ行っおいるそれぐらい垌望を政治に持っおいない

䜙皋の切れ者が政治の指導者になっおいろいろず倉えおいくこずが出来たら䞖の䞭倉わるのだろうけども、そんな人が掻躍できない構図が出来䞊がっおいるので難しいだろう日本は沈みゆく船いたの若者たちが倧人になる頃は海倖ぞ出皌ぎ行く事が圓たり前ような囜になるじゃないかず思い぀぀ある

明日ぞ続く

⏩Push通知っおブラりザ閉じおも通知出来る様に出来るのか

おはようございたす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';
    }
}

明日ぞ続く

⏩Yahooみたいな怜玢ボタンを付けおみた挙動が若干䞍審気味かもしれない

おはようございたす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);
}

明日ぞ続く

⏩映画、アむミタガむを芳おきたした䞀蚀で衚すずいやヌ良かった

おはようございたす先日の金曜日に映画、アむミタガむを芳おきたしたこの頃、金曜日に仕事がないのでその関係䞊、新䜜映画を初日に芳えたり火曜日の合間に映画が安く芳えたりず良いこずもありたすが、その分、働いおいる日数は少なくなりたすので絊䞎にも圱響しおきたすが前向きに考えお生きおいたす

前眮きはそれずしお、アむミタガむはいやいやいや無いず思う方もいるず思うけど巡り巡ぐっお良いこずも悪いこずも繋がっおいるず自分は思っおいお、そう思っおいる人がこの映画を芳るず良かったなっお思える䜜品になっおいるこずは間違いないです

アむミタガむ盞身互いを是非劇堎でみお心揺さぶられおください

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

明日ぞ続く

⏩あのYahoo!ず同じ機胜を远加しようか悩んでいる遞択した文字を

おはようございたすあのYahoo!ず同じ機胜を远加しようか悩んでいる遞択した文字をサむト内怜玢する機胜やり方はこのサむトを参照するず導入できそうなんだけど、ちょっずりザいかもしれないず蚀う気持ちが自分の䞭にあるので悩んでいたす

もし远加するなら䌑みの日に機胜远加をする぀もりですなので、盎近の䞉連䌑䞭に远加しおいなかったら远加しなかったんだなず思っお頂いお構わないです

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

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

その堎合でもこんな感じになりたす的なコヌドは公開しようず思っおいたす

明日ぞ続く

⏩Let's encryptのSSLを適応しおもブラりザ等で閲芧するずブロックされるかも

おはようございたすLet's encryptのSSLを適応しおもブラりザ等で閲芧するずブロックされるかも2024幎10月31日以降に発行されるOCSPはブロックするずGさんから通告があった

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

OCSPは、ナヌザヌがりェブサむトにアクセスする際、蚌明曞の有効性をリアルタむムで確認するプロトコルですが、プラむバシヌリスクや運甚コストの問題が指摘されおいたす。䞀方、CRLは倱効した蚌明曞の䞀芧を提䟛する方匏で、プラむバシヌ保護や運甚の簡玠化に寄䞎したす。Let's Encryptは、OCSPに䟝存しおいるナヌザヌに察し、早急にCRLぞの移行を怜蚎するよう掚奚しおいたす。

トむりコトデ、普通に倧䞈倫そうです

明日ぞ続く

⏩npushに改善したい事はプシュ通知远加した機胜はこれ

おはようございたす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');

明日ぞ続く

⏩meta旧Facebook、凄いなこれ無料かよいろいろず広告で叩かれおいる

おはようございたす䌑みの日にPythonを勉匷しおいる勉匷しおいるずいうか機械孊習のサンプルを動かしおちょっずでも理解しようず奮闘しおいたす自分は銬◯なので、数孊的な芳点から曞かれた本ではなく、䞀切そういうこずを曞かれおいない手を動かしお理解する本で理解しようず奮闘しおいたす

本のタむトルは「Python3幎生 機械孊習のしくみ 䜓隓しおわかる䌚話でたなべる」です衚玙もたるで䜎孊幎向けに曞かれた本の様で䞭身もかなり噛み砕いた内容、なのでこんな自分にも理解しやすいこれを読んだ埌に「実務で圹立぀Python機械孊習入門」を読もうずしおいる先日買いたした

Pythonずは別にReactずVue.jsを䞊行しお業務で察応を行っおいるだけども、慣れない蚀語はベストが分からないのでやっぱ倧倉ですねもっず良いコヌドが曞けるのではないかなどプルリク゚ストを行った埌に思うわけですが

ずもあれ、Pythonは趣味で觊っおいるのでそういう意味では気兌ねなく楜しめおいる気がしたす

最埌にタむトルぞ釣られたひずにLlama 3.2モバむルロヌカルでも動くもののリンクを貌っずきたすRaspberryPi4や5なら動くず思いたす、手持ちのRaspberryPi3B+では駄目でした

明日ぞ続く

⏩以前はAWSを䜿っおいたけどいたはレンタルサヌバヌ

おはようございたす以前はAWSを䜿っおいたけど今はレンタルサヌバヌですそろそろVPSサヌバヌにたた倉えようかなずか思っおいるのだけど、どうなるかは今埌の広告収入を芋お刀断しようず思っおいたす※1倉えなかった堎合は広告収入が安定しおいない堎合か本業の仕事で嬉しい悲鳎になったかだず思っおください

※1先日はコンスタントに入っおきおいるず曞いたばかりだけど、䞀幎間安定しお入っおきた蚳ではないので

デタラメな構成図

レンタルサヌバヌでも䜕ずか運甚出来おいるのだけど、通知機胜などを䜜ろうずした堎合に壁があったりPythonのラむブラリに制限があったりするので困りものですそういうのを取っ払えるのがVPSサヌバヌやAWSサヌバヌですVPSサヌバヌは自分でゎトゎトずサヌバヌ蚭定を行わないずいけないのに察しおAWSサヌバヌはGUI操䜜で蚭定出来るのが良い良いだけどAWSサヌバヌは個人で運甚するには運甚費が銬◯高いこの頃は円安なので苊しい感じかもですヌ自分なら苊しい

曞いおいお思ったのですがもし倉えるならVPSサヌバヌにしたすその方がお手頃で良いから唯倉えるのは面倒ですFTPFile Transfer Protocolでファむル移動するず面倒なのでscpでサヌバヌ間の転送したすが、これでも面倒因みにSCPSecure Copyでのファむル移動は芏玄違反なのかもしれないのでレンタルサヌバヌの芏玄を参照しおください

明日ぞ続く

⏩みんな倧奜きお金の話WEB個人開発の広告収入の方はどう

おはようございたす「みんな倧奜きお金の話WEB個人開発の広告収入の方はどう」ずいうタむトル通り、今日は個人での収入のこずを少し曞いおいきたすねいた、毎日ワンコむンぐらいの収入がありたすそれ乗算する月末数が毎月の収入だず思っおくださいワンコむンが100円を指すのか500円を指すのかはご想像にお任せしたす

収入はコンスタント垞に䞀定に入っおくるようになりたしたがこれが長期的に続くのかは正盎な所、分からないです、たさに氎物みたい商売ずはそういう物なのかもしれないですね

成功の理由は分からないず蚀いたすが、ある皋床は分かりたすナヌザヌに需芁があるから収入に転換出来るですねあずは時代の流れを読むこずだず思いたす、時代よりも先にそこに投資しおいるず倧䜓、䞊手くいきたす

今の時代に合わすより次を読むこずが倧事だず思いたすそこにどれだけ時間、お金、技術を投資できるかだず思いたす

自分の先読み話
この頃のSNSを芋おいるず正瀟員で働いおいる人ず同等ぐらいの収入を埗おいる人が増えおきおいるこの流れは進むかもしれないフォロワヌが100䞇人以䞊ずかそういう人達ではなく1䞇人や5000人などの人達が増えおきおいる※自分は個人開発で正瀟員ぐらい収入を皌いでいる蚳ではありたせんそんな䜕ず蚀うか村瀟䌚のような経枈圏マクロ経枈的なが今埌増えおくるのだず思いたす

自分は安定した状態を奜みたすが時代は倉わっおいる気がしたす

明日ぞ続く