@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。

AI時代のマーケティング激変に備えよグーグル検索の60%がクリックされない
2025.07.05
おはようございます.先日、自分が言っていた事は間違いなかったんだなって下記の動画を見て思いました.これから先、SNSとAIを駆使しないと集客出来ない時代になるということですね.要するに検索というものは廃れていくということです.最後にサイトとして残るのはユーザーが体験出来るサイトしか残らないような気もしています.
動画を内容をGeminiに解説してもらいましたのでマーケティングしている人は必見だと思います.
HubSpotのCEO、ヤミニ・ランガン氏が語るAIがビジネスに与える影響についての要点は以下の通りです。
AIの現状と影響
- AI開発の中心はサンフランシスコで、OpenAIやAnthropicがLLMの主導権を争っています [03:54]。
- AIは人間の仕事を「拡張」するものであり、一部の職種では人員削減に繋がる可能性もありますが、営業や開発のように生産性向上により、より多くの人間が必要となる職種もあります [06:30]。
- AmazonやMicrosoftもAIによる効率化と人員削減に言及しています [05:53]。
HubSpotにおけるAIの活用
- HubSpotは2023年にAI中心の製品ロードマップに転換し、社内でもAIを積極的に導入しています [09:50]。
- カスタマーサポートでは、ティア1のサポートチケットの約50%をAIで解決し、人員を維持しながら顧客ベースを拡大しています [10:56]。
- 営業では、AIを活用してアカウント調査、メール作成、会議設定を自動化し、数万件の会議設定に成功しています [11:48]。
- マーケティングでは、AIでウェブサイト訪問者の意図を分析し、パーソナライズされたコンテンツを提供することで、コンバージョン率を80〜100%向上させています [13:26]。
- ヤミニ氏自身も、ChatGPT、Claude、GeminiなどのAIツールを個人的に活用しているとのことです [14:10]。
AIによる検索とSEOの変革
- Google検索のAI概要が直接回答を提供するため、従来のSEOは通用しなくなりつつあります [17:09]。
- 人々がGoogle検索だけでなく、ChatGPTのようなLLMから直接情報を得るようになっているため、ウェブサイトへの訪問者数が減少する可能性があります [18:02]。
- 「AI最適化」という新しい分野が台頭しており、AIが特定の質問に回答できるようにコンテンツを最適化することに焦点を当てています [18:47]。
- HubSpotは、ブログトラフィックの減少に対応するため、ポッドキャスト、メールニュースレター、YouTubeなど、多様なチャネルへのコンテンツ戦略を拡大しています [21:07]。
AIによる営業とカスタマーサービスの変革
- 営業: AIは、アカウント調査、メール作成、デモ準備など、営業担当者の非対面業務の多くを自動化できます [24:22]。
- AIは、通話やメールの記録から自動的に顧客情報をCRMに取り込み、パーソナライズされたメールのドラフト作成などを支援します [25:32]。
- AIは営業における「人間的なつながり」を強化するものであり、置き換えるものではないとヤミニ氏は考えています [28:00]。
- カスタマーサービス: AIはティア1のサポート質問に最適であり、顧客満足度を維持しながら迅速な問題解決を可能にします [29:33]。
- HubSpotの顧客は、AIエージェントによって平均52%のチケット解決率を達成しており、中には80%を解決している顧客もいます [30:56]。
この動画は、AIがビジネスのあらゆる側面に深く浸透し、企業がその変化に適応する必要があることを強調しています。
トイウコトでやっぱりこれから先はECサイトやアンサーサイトはかなりダメージを受けてくると思っています.逆に影響を受けないのはBtoBのサイトなのかも.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
)。, アカウント, アンサーサイト, いた事, ウェブサイト, エージェント, カスタマーサービス, カスタマーサポート, こと, コンテンツ, コンバージョン, サイト, サポート, サンフランシスコ, ため, ダメージ, チケット, チャネル, ツール, つながり, ティア, デモ, トイウコト, ドラフト, ニュースレター, パーソナライズ, ビジネス, ブログトラフィック, ベース, ポッドキャスト, マーケティング, マップ, メール, もの, ヤミニ, ヤミニ・ランガン, ユーザー, よう, ロード, 一部, 下記, 中心, 主導, 人々, 人員, 人間, 仕事, 以下, 企業, 会議, 体験, 作成, 個人, 側面, 先日, 内容, 分析, 分野, 削減, 効率, 動画, 可能, 台頭, 向上, 問題, 営業, 回答, 変化, 変革, 多く, 多様, 対応, 対面, 導入, 平均, 強化, 強調, 影響, 従来, 必要, 必見, 情報, 意図, 成功, 戦略, 担当, 拡大, 拡張, 提供, 支援, 明日, 時代, 最後, 最適, 検索, 業務, 概要, 活用, 浸透, 減少, 満足, 準備, 焦点, 特定, 現状, 生産, 直接, 社内, 積極, 維持, 職種, 自分, 自動, 自動的, 自身, 製品, 要点, 解決, 解説, 言及, 記録, 訪問, 設定, 調査, 質問, 転換, 迅速, 通り, 通用, 通話, 達成, 適応, 開発, 間違い, 集客, 顧客, 駆使,

英語学習にお金を使うように考えを変えます.今まで何度も
2025.07.04
おはようございます.英語学習にお金を使うように考えを変えます.今まで何度も挫折してきた英語学習にお金をかけようと思っています.自分が望むものはサブスクでスマホやPCで勉強が学べるものです.
そういうものを考えたときに浮かぶのがスタディサプリです.スタディサプリみたいなアプリが他にもないのか調べてみました.
自分で調べるのは面倒なのでGeminiさんに調べてもらいました、下記が返答結果になります.
スタディサプリ以外にも、オンラインで学習できるサービスはたくさんあります。対象年齢や学習内容によって様々な選択肢があるので、ご自身の目的やレベルに合わせて検討してみてください。
いくつか代表的な類似サービスやカテゴリーを挙げます。
大手予備校・通信教育系のオンラインサービス
- Z会: 小学生から高校生、大学受験生まで幅広い層に対応した通信教育の老舗。映像授業と丁寧な添削指導が特徴です。
- 進研ゼミ: ベネッセが提供する、小・中・高校生向けの通信教育。タブレット学習やAIを活用した個別最適化された学習が強みです。
- 東進ハイスクール在宅受講コース / 東進オンライン学校: 有名講師による質の高い映像授業が特徴。大学受験に強いです。
- 学研プライムゼミ: 高校生・浪人生向けのハイレベルな映像授業が中心。難関大学対策に特化しています。
- 河合塾One: 河合塾が提供するオンライン学習サービスで、短時間で手軽に学べるコンテンツが特徴です。
AI学習・個別最適化に特化したサービス
- アタマプラス (atama+): AIが生徒の理解度に合わせて最適なカリキュラムを生成し、個別指導のように学習を進められるサービスです。塾や学校への導入も進んでいます。
- すらら: AIが生徒の学習状況を分析し、最適な問題を提供。特に苦手克服や学習習慣の定着に力を入れています。無学年式なので、さかのぼり学習も可能です。
- スマイルゼミ: タブレットを活用した小・中学生向けの通信教育。AIが学習状況に合わせた問題を出題し、定着を促します。
資格取得・ビジネススキル系のオンライン学習サービス
- Schoo (スクー): ビジネススキルやITスキルなど、幅広い分野のオンライン授業をライブ配信や録画で提供しています。
- Udemy (ユーデミー): 世界中の講師が様々な分野の講座を販売しているプラットフォーム。買い切り型で、セール時には大幅割引もあります。
- スタディング: 簿記やITパスポートなど、資格取得に特化したオンライン講座を多数提供しています。
- ユーキャン / ヒューマンアカデミー / 資格のキャリカレ / フォーサイト など: 各種資格取得に特化した通信講座を提供しています。
その他
- N予備校: KADOKAWAとドワンゴが運営する、高校生向けのオンライン学習サービス。多様な講座やプログラミング学習もできます。
- Classi (クラッシー): 学校で導入されていることが多い学習支援プラットフォームで、学習動画やドリルなどが提供されます。
自分で調べるより本当にチャットAIで調べたほうが早いですね便利です、ちなみに生成AIに勉強を教えてもらうという方法もあるようです、自分もある程度身についたらそういう方向にシフトしていくつもりでいますが、何せ土台がガタガタなのでお金をかけて勉強をしようと思っています.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, アカデミー, アタマ, アプリ, いくつ, オンライン, お金, ガタガタ, カテゴリー, カリキュラム, キャリカレ, クラッシー, コース, こと, コンテンツ, サービス, サブスク, サン, シフト, スキル, スクー, スタディサプリ, スタディング, スマイル, スマホ, セール, セミ, その他, たくさん, タブレット, チャット, つもり, とき, ドリル, ドワンゴ, ハイスクール, ハイレベル, パスポート, ビジネス, ヒューマン, フォーサイト, プライム, プラス, プラットフォーム, プログラミング, ベネッセ, ほう, みたい, もの, ユーキャン, ユーデミー, よう, ライブ, レベル, 丁寧, 下記, 世界中, 中心, 予備校, 代表, 以外, 便利, 個別, 克服, 内容, 出題, 分析, 分野, 割引, 勉強, 動画, 取得, 受講, 受験, 受験生, 可能, 各種, 向け, 問題, 土台, 在宅, 多数, 多様, 大学, 大幅, 大手, 学年, 学校, 学研, 学習, 定着, 対応, 対策, 対象, 導入, 小・中学生, 小学生, 年齢, 強み, 手軽, 指導, 挫折, 授業, 提供, 支援, 教育, 方向, 方法, 明日, 映像, 最適, 有名, 東進, 検討, 様々, 河合塾, 活用, 浪人, 添削, 特徴, 状況, 理解, 生徒, 生成, 目的, 短時間, 簿記, 結果, 習慣, 老舗, 考え, 自分, 自身, 苦手, 英語, 講師, 講座, 販売, 資格, 返答, 通信, 運営, 選択肢, 配信, 録画, 難関, 面倒, 類似, 高校生,

GeminiCliを使ってみました、まぁまぁ使えるかもしれない.
2025.06.30
おはようございます.GeminiCliを使ってみました、まぁまぁ使えるかもしれないというのが第一印象です、ただデザイン修正には使えそうにない.デザインを提示すればその通りになおしてくれると思うのだけどテキストだけの指示ではなかなか難しいと感じました.
ディレクトリ配下にあるソースコードを読ます場合は下記のようなプロンプトを一度打つとスムーズに機能追加してくれるので良いですよ.
コードベースを把握して
最初にこの言葉をGeminiに投げることでどんな機能のプログラムコードなのか把握します.これがないと駄目な訳でもないだけどもスムーズに指示出しが出来ます.
特定のコードに対して修正やらを書けたい場合は@(アットマーク)を入力するとソースコードの候補が表示されるので選択をしてプロンプトを指示を出すと良いです.
あとGeminiCliを終了する場合は下記のコマンドを打てば終了します.
/exit
!を入力しls -aなどと入力するとMacの場合は階層のファイル一覧が表示されます的なことも出来ます.

ともあれ、ジェミナイ(ジェミニ)は無料で使用できるトークンも他よりも比較的に多いので自分としてはかなり嬉しいです、休日の個人開発はこれで何とか頑張っていけそうです.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
あっとまーく, あと, コード, こと, コマンド, これ, ジェミナイ, ジェミニ, スムーズ, ソース, そう, ディレクトリ, テキスト, デザイン, トーク, ファイル, プログラム, プロンプト, ベース, よう, 一覧, 下記, 休日, 使用, 修正, 個人, 候補, 入力, 出し, 印象, 場合, 把握, 指示, 提示, 明日, 最初, 機能, 比較, 無料, 特定, 終了, 自分, 表示, 言葉, 追加, 通り, 選択, 配下, 開発, 階層, 駄目,

どんだけ演算処理しているだよ.もはやリアルな世界なのかも.
2025.06.15
おはようございます.下記のゲーム動画を見て昔のゲームと比べると進化が著しい変化なのでついていけてないですね.でも本当に凄いと思っています.
こういうゲームというのは、どうやって作るのだろうかという事が興味深いです、一応、ユニティやアンリアルエンジンで作られているという事は知っているのですが、どこをどうやってこうなるのかは分からない.今までゲーム開発とかした事がないですし、勉強しようと考えた事もないので未知な領域です.
いまはでは敵キャラなどにもAIアルゴリズム?と言えば良いのかな、そういうアルゴリズムが組み込まれているらしく、自発的に考えて動いたり攻撃したりするそうです.それを並列処理している訳だから、演算処理はかなり高くなり、ゲーム機が発熱するのは避けられないのが現状だとか.
今でも制約がある中でゲームって作られているという認識です.いかに軽く動かすことが出来るかが鍵になりそうですね.また自分には雲の上ようなエンジニアさんたちが日夜必死に働いてこういうゲームが出来ていると思うと頭下がりますね.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アルゴリズム, アンリアルエンジン, いま, エンジニア, キャラ, ゲーム, こと, サン, すいか, そう, それ, タチ, どこ, ユニティ, よう, 下記, 並列, 処理, 制約, 勉強, 動画, 変化, 必死, 攻撃, 日夜, 明日, 未知, 演算, 現状, 発熱, 自分, 自発, 認識, 進化, 開発, 雲の上, 領域,

x.gdのURL短縮機能を利用するためのコードを作りましたので、お裾分け.
2025.06.08
おはようございます.x.gdのURL短縮機能を利用するためのコードを作りましたので、お裾分けです、コードは下記になります.ドキュメントをぱぱっと見て作った感じなので不具合などが潜んでいるかもしれないけど恐らく大丈夫そうという事で木曜日の早朝にXでコードをシェアした形になります.
なお、x.gdからAPIの発行を行う作業をお忘れなく(こちらからAPIを発行).
因みに自分はt2t.jpというドメインを私有していて、こちらで自分専用の短縮URLを発行出来るようにしています.この頃は自分が作った短縮URLをあまり使ってないので、こちらをサービス化しようかな等と考えていたりします.
因みにどうするかは未定ですけどね.もしみんなが使用出来るようにしたら、このサイトでも告知します.
<?php
require 'config.php';
class ShortUrl
{
public $apiKey = null;
public $endPoint = 'https://xgd.io/V1/shorten?';
public function __construct($api_key = null)
{
$this->apiKey = $api_key;
return $this;
}
public function getShortUrl($url = null, $shortid = null, $analytics = true, $filterbots = false)
{
if (empty($this->apiKey)) {
return json_encode(['status' => 0, 'message' => 'api-keyがありません']);
}
if (empty($url)) {
return json_encode(['status' => 0, 'message' => 'URLがありません']);
}
if (isset($url) && !preg_match('/^http[s]?:\/\/(www\.)?/', $url)) {
return json_encode(['status' => 0, 'message' => 'URLが無効です']);
}
if (isset($shortid) && !preg_match('/^([0-9a-zA-Z_]{6,15})$/', $shortid)) {
return json_encode(['status' => 0, 'message' => '短縮コードが無効です']);
}
if (!is_bool($analytics)) {
$analytics = true;
}
if (!is_bool($filterbots)) {
$filterbots = false;
}
$parameter = [
'key' => $this->apiKey,
'url' => $url,
'shortid' => $shortid,
'analytics' => $analytics ? 'true' : 'false',
'filterbots' => $filterbots ? 'true' : 'false'
];
$response = @file_get_contents($this->endPoint . http_build_query($parameter));
return $response;
}
}
if($argv[1]){
$url = $argv[1];
$shortid = isset($argv[2]) ? $argv[2] : null;
$analytics = isset($argv[3]) && $argv[3] === 'true' ? true : false;
$filterbots = isset($argv[4]) && $argv[4] === 'true' ? true : false;
echo (new ShortUrl(APIKEY))->getShortUrl($url, $shortid, $analytics, $filterbots);
}
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, お裾分け, コード, こちら, サービス, サイト, シェア, そう, ため, ドキュメント, ドメイン, みんな, よう, 下記, 不具合, 作業, 使用, 利用, 告知, 大丈夫, 専用, 感じ, 早朝, 明日, 木曜日, 未定, 機能, 無効, 発行, 短縮, 私有, 自分,

デジタルアドレスAPIのコードを書いてみました.書いたのは
2025.05.30
おはようございます.デジタルアドレスAPIのコードを書いてみました.書いたのは生成AIだけど一度で上手く正しいコードが生成出来たわけではなくて二、三回の指示出しを行って下記のコードが生成されました.
デジタルアドレスのAPIを使用するには企業もしくは個人事業者で屋号を登録されている方でないとAPIのアカウント登録は今のところ出来ないので、自分はリファレンスと生成AIが出力したコードを見て恐らく正しく処理されるだろうと思ったのでgist.githubに公開しました.
尚、引数にIPアドレスを渡さないといけない所があるけれど、これはサーバーのIPアドレスになります.
<?php
class JapanPostAPIClient
{
private string $clientId;
private string $secretKey;
private string $clientIp;
private ?string $accessToken = null;
private ?array $lastResponse = null;
public function __construct(string $clientId, string $secretKey, string $clientIp)
{
$this->clientId = $clientId;
$this->secretKey = $secretKey;
$this->clientIp = $clientIp;
}
public function authenticate(): self
{
$url = 'https://api.da.pf.japanpost.jp/api/v1/j/token';
$data = json_encode([
'grant_type' => 'client_credentials',
'client_id' => $this->clientId,
'secret_key' => $this->secretKey
]);
$headers = [
"Content-Type: application/json",
"x-forwarded-for: {$this->clientIp}"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpcode !== 200) {
throw new Exception("Token request failed with status {$httpcode}: {$response}");
}
$responseData = json_decode($response, true);
$this->accessToken = $responseData['token'] ?? null;
$this->lastResponse = $responseData;
return $this;
}
public function searchCode(string $searchCode, array $params = []): self
{
if (!$this->accessToken) {
throw new Exception("Access token is not set. Please call authenticate() first.");
}
$defaultParams = [
'page' => 1,
'limit' => 10,
'choikitype' => 1,
'searchtype' => 1
];
$queryParams = http_build_query(array_merge($defaultParams, $params));
$url = "https://api.da.pf.japanpost.jp/api/v1/searchcode/{$searchCode}?{$queryParams}";
$headers = [
"Authorization: Bearer {$this->accessToken}",
"Accept: application/json"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 200) {
throw new Exception("Search request failed with status {$httpCode}: {$response}");
}
$this->lastResponse = json_decode($response, true);
return $this;
}
public function getJson(): string
{
return json_encode($this->lastResponse, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
public function getArray(): ?array
{
return $this->lastResponse;
}
}
// 使い方の例:
// $client = new JapanPostAPIClient('YOUR_CLIENT_ID', 'YOUR_SECRET_KEY', 'IPアドレス.xxx.xxx.xxx');
// echo $client->authenticate()->searchCode('1000001')->getJson();
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, アカウント登録, アドレス, コード, サーバー, デジタルアドレス, リファレンス, 下記, 企業, 使い方, 例, 個人事業者, 屋号, 引数, 所, 指示出し, 正しいコード, 生成, 自分,

AIでは作れないものの例えばこの人の職業は今後数十年は安泰だと思いました.
2025.05.25
おはようございます、AIでは作れないものの例えばこの人の職業は今後数十年は安泰だと思いました.下記のような職業は全然、AIの影響は受けていないと思います.こんな感じでリアルで何かを創作する人達はあまり影響を受けないかと思います.
今から影響を受けてくるのは、エンジニアやデスクワークの方々なんですよ、これ結構な勢いで置き換わっていくと思います.いままでエンジニアしか出来なかったプログラミングの職業もAIを使用してちょっとしたアプリなんかを作れるようになって来ています.
いわゆるバイブコーディングという奴です.でもこれを修正することは素人には難しいので、結局のところプログラミングの素養が必要みたいです.いま一番影響を受けているのはデジタルなクリエイターだと思います.
ちょっとお金を支払えばAIでかなり良い物が作れるようになってきて…正直なところこれから大変になってきそうです.殆どのユーザーが生成AIで良いと思ったらそれはカナリ辛いものだと思います.
因みに何故、日本はAI生成の影響を受けにくいかといえば、生成AIの操作するユーザーインターフェースが英語で表記しているからなんだと思います.ここを取っ払うことが出来てくると浸透してくると自分は思っています.
AIで作ったものが溢れてきてしまうのは時間の問題なのかも知れない.
これからはリアルで創作するか、もしくはAIを上手く使用してモノづくりするべきなのかもと思います.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アプリ, エンジニア, カナリ辛いもの, クリエイター, デスクワーク, ところプログラミング, バイブコーディング, プログラミング, ユーザー, ユーザーインターフェース, 下記, 勢い, 影響, 方々, 殆ど, 生成, 素人, 素養, 職業, 英語,

デフォルトではLaravel12にはapi.phpがないのでインストールが必要かも.
2025.05.15
おはようございます.デフォルトではLaravel12にはapi.phpがないのでインストールが必要かもです.インストールが必要な方は下記のコマンドよりインストールください.
php artisan install:api
この頃、サーバー移行した時に何故かYosakoiのサービスが落ちてしまって最新のLaravel12を入れたりしました.本当はUPDATEで解決したかったのですが、それがライブラリを管理しているオートローダーが変になってしまって新規に入れ直して対応しました、因みにどうもサーバー上のファイルが物理的に壊してしまったようです.
ローカルサーバーではちゃんと動くのにサーバー上では上手く機能しないという超稀な事象に…
これを解決するには時間がかかりそうという事でLaravelのプロジェクトを作って今までのファイルを移植した形になります.
その時にLaravel12にはAPIファイルがないだなって気づいて昨日直しました.
因みにLaravel11から消えたそう🤔
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
インストール, オートローダー, コマンド, サーバー上, サーバー移行, サービス, デフォルト, ファイル, プロジェクト, ライブラリ, ローカルサーバー, 下記, 事象, 形, 時間, 最新,

こんなサイトを作りました.無償で制作します、続きがあるよ.
2025.04.25
おはようございます.こんなサイトを作りました.無償で制作します、続きがあるよ.下記の画像を拡大してみてくれると分かるかと思いますが、無償でWEBサービス制作する代わりに運営権はこちらにあり、広告掲載を行って収益化を図るというもの.
収益化出来なかった場合はデジタル販売出来るところに置いて売る.設置等は分かる人に置いてもらうことになると思うけども、こちらとしては利益を得る可能性があるということでビジネス的には赤字になるけど依頼していたユーザーは買う可能性があるのでペイ出来れば良いかなと思っています.
なぜ、こういうサイトを作ったかというとこの頃アイディアが前よりあまり出てこなくなったので、ユーザーさんからアイディアを頂いて作るという仕組みを作ったのだけど、今のところ誰からも要望はないです.
これが有名なひとだったら依頼が来るだろうけど無名なので当分は来ないだろうなって思っています.
明日へ続く

著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アイディア, この頃アイディア, デジタル販売, ところ, ところ誰, ユーザー, ユーザーさん, 下記, 依頼, 利益, 収益化, 可能性, 広告掲載, 無償, 画像, 良いか, 要望, 設置, 赤字, 運営権,

404画像をそのまま残しておくとSEOに影響があるのでどうするか?#php
2025.04.23
おはようございます.404画像をそのまま残しておくとSEOに影響があるのでどうするか?php の場合、下記のコードで404ページに飛んでいるかどうかの確認は出来る.でも毎回、確認しているとページを表示している時に遅延が発生してとても良い処理とは言えないなのでDBに画像あるなしが確認できるテーブルを作ります.
<?php
class HttpCodeChecker
{
public function getHttpStatusCode(string $url): int|false
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
if (curl_errno($ch)) {
curl_close($ch);
return false; // エラーがあった場合
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpCode;
}
}
画像のステータス確認できるコードで定期的にページをクロールしてステータスをテーブルに保存(更新)することにより404画像によってSEOに影響を与えない作りになります.
他にも方法はあるけど、レンタルサーバーではこの方法がベストプラクティスな解なのかもしれない.クロールするのが出来ない場合は一度、画像URLをJsonデータで出力してフロントエンド側で画像有無を判断し存在するものだけを表示するという案もあるのだけども、今のSEO的にはあまりオススメはしない.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, エラー, コード, ステータス, データ, テーブル, フロントエンド側, ベストプラクティス, レンタルサーバー, 下記, 保存, 影響, 方法, 案, 毎回, 画像, 画像有無, 確認, 良い処理, 遅延,

CSSだけで3Dボックス(箱)が作れるようにいつの間にかなっていた.自動回転!?
2025.04.16
おはようございます.CSSだけで3Dボックス(箱)が作れるようにいつの間にかなっていた話を書いていきます.生成AIにCSSだけで3Dボックス(箱)を作ってと指示を行ったら自動回転してくれるものを出力してくれて驚愕している.
CSSだけで3Dボックスが作れることは知っていたのだけど、自動回転はJSを使用しないと無理だろうと思っていたので、実際生成AIが出力されたのを見て驚きでした.こんな感じで旧の知識を生成AIはアップデートしてくれるのには、凄く良いと思っています.
ただ、質問して実際動かないものも出力されるので要は使う側もそれなりに知識を持っていないと嘘を信じてしまうことにもなるので、生成AIを使う側も最低限の知識は必要になると思っています.
因みにソースコードは下記になります.これをテキストファイルに保存して拡張子をhtmlに変えた後に、そのファイルをブラウザにドロップすると表示されます.
明日へ続く
デモページ:https://zip358.com/tool/demo96/
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>3D Box</title>
<style>
body {
margin: 0;
background: #111;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
perspective: 1000px;
}
.scene {
width: 200px;
height: 200px;
position: relative;
transform-style: preserve-3d;
animation: rotate 10s infinite linear;
}
.face {
position: absolute;
width: 200px;
height: 200px;
background: rgba(0, 150, 255, 0.7);
border: 2px solid #fff;
}
.front { transform: translateZ(100px); }
.back { transform: rotateY(180deg) translateZ(100px); }
.right { transform: rotateY(90deg) translateZ(100px); }
.left { transform: rotateY(-90deg) translateZ(100px); }
.top { transform: rotateX(90deg) translateZ(100px); }
.bottom { transform: rotateX(-90deg) translateZ(100px); }
@keyframes rotate {
from { transform: rotateX(0deg) rotateY(0deg); }
to { transform: rotateX(360deg) rotateY(360deg); }
}
</style>
</head>
<body>
<div class="scene">
<div class="face front"></div>
<div class="face back"></div>
<div class="face right"></div>
<div class="face left"></div>
<div class="face top"></div>
<div class="face bottom"></div>
</div>
</body>
</html>
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
ソースコード, テキストファイル, デモページ, ファイル, ブラウザ, ボックス, 下記, 側, 嘘, 実際, 実際生成, 感じ, 拡張子, 指示, 旧, 最低限, 生成, 知識, 箱, 自動回転は,

VScodeでMCPを試してみました.#playwright-mcp
2025.04.11
おはようございます.IT界隈で流行っているMCPやってみたを自分も試してみました.今回、試したのはplaywright-mcpです.テキスト指示だけでブラウザを開きYahooページに行き、ITニュースを参照してと指示するとITニュースを開いてくれる.
当然、指示だけでログインなんかも出来てしまいます.何気に便利そうでしたがポップアップ画面に文字を入力して投稿なんてのは出来ない感じでしたね.そしてクリックしてという指示は出来るものの「続行」というボタンをこちらでクリックしないといけないので、これでは本末転倒だなって思いました.
そもそもそういう用途に使用するために作られたMCPではないのでしょうが無いですけどね.今回、参考にした記事は下記になります.
https://zenn.dev/dotdtech_blog/articles/9250aa8303a72f
尚、手順通りでは上手くsettings.jsonが開けなかった感じでしたね.これで開く事が出来ます.ctrl+pと押して下記を入力.
>settings.json
尚、MCPを有効にするにはブラウザのアドレスバーに下記を入力してください.
vscode://settings/chat.agent.enabled
後は上記のリンク通りに設定してchatをエージェントに切り替えて実行すれば出来ます.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アドレスバー, エージェント, テキスト指示, ニュース, ブラウザ, ボタン, ポップアップ画面, リンク通り, ログイン, 上記, 下記, 入力, 参考, 手順通り, 投稿, 指示, 文字, 用途, 界隈, 続行,

Not Foundページのある際に画像の存在有無を調べる方法. #画像存在有無
2025.02.18
おはようございます.Not Foundページのある際に画像の存在有無を調べる方法を書いてみました.これでローカルNode.jsサーバーを走らして画像がちゃんとサーバーにアップしているかなどの確認することが出来ます.下記のコードは画像の存在有無だけの処理ですので画像URLリスト処理が必要なります.
Node.jsでもmysql接続可能ですので例えばPHPで画像のURLを発行しているなどの場合はPHPで書いているコードと同じようなコードをNode.jsでも発行して回してあげればサイト内の画像の存在有無を確認することが出来ます.
function checkImage(url, callback) {
const img = new Image();
img.onload = function () {
callback(true); // 画像が正常にロード
};
img.onerror = function () {
callback(false); // 画像が存在しない(404など)
};
img.src = url;
}
checkImage("https://taoka-toshiaki.com/icon.jpg", function (exists) {
if (exists) {
console.log("画像が存在します");
} else {
console.log("画像が見つかりません(Not Found)");
}
});
全然関係ない話ですが、阿修羅のごとくはあと三話でコンプリートです、この記事がUPしている頃にはあと二話ぐらいになっている頃だとは思いますが、ドラマは全話7時間とちょっとなので結構見るのに体力が必要になります.観溜めするひとはマジでリスペクトですねー.コードはずっと書いていられるけど、ドラマは1日、一話か二話が限界です.ではでは~.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
コード, コンプリート, サーバー, ドラマ, ひと, リスペクト, ローカルサーバー, ロード, 下記, 体力, 処理, 存在有無, 接続, 画像, 画像リスト処理, 話, 関係, 阿修羅, 限界, 際,

Vue.jsでコードを書き直してみたけどバニラJSが良い時もある技術的な話といえばそんな感じ.
2025.02.09
おはようございます.何もしていないわけではないけど毎日小銭が入ってきた頃を思うといまは前に戻った感じがあります、やっぱり無いよりある方が良いですね.さてHxH-moji.comサービスのバニラJSコードをVue.jsへ置き換えてみたのだけどもレンダリングが遅くなってこれは駄目だなと思ったので元の状態に戻しました.
たまにバックのソースコードがどんな感じに動いているのかを調べている人がいるのだけど、そんなに大したソースコードが動いているわけではないのでお恥ずかしいですね.最近やっと名前付けを変更してソースコードを見たらわかる感じにしたつもりでいます.
因みに下記がレンダリングが遅くてボツにしたコードです.本当ならVue.jsでサクサクと動くコードを作りたいのですがVue.jsはまだまだ初心者さんレベルです..あまりVue.jsもReactもあまり分からないのが現状です、業務で使用することはあるものの一から作るとなるとあんまり上手く作れないです.
トホホ・・・.
この頃思うのは広告掲載だけで何とか回るものを作りたいなとサブスクは個人ではちょっと荷が重い.重いもありますが何せ審査が通りそうにないECサービスはまだ手を付けていないのはそんな理由です.自分のテンション上がるのを待って作りたいと思います.
const { createApp, ref, onMounted, nextTick } = Vue;
const app = createApp({
setup() {
const canvas = ref(null);
const languageInput = ref('');
const fontsize = ref(16);
const alertMessage = ref('');
const mobileText = ref('');
const isMobile = ref(window.innerWidth <= 768);
const fetchText = async (flg) => {
try {
const body = new FormData();
body.append('txt', languageInput.value);
const response = await fetch("/common/jpcvn", {
method: "POST",
headers: { "X-CSRF-TOKEN": document.querySelector("[name='token']").value },
body: body
});
const resultdata = await response.json();
drawCanvas(resultdata.txt);
mobileHxH(resultdata.txt);
canvas.value.toBlob((blob) => {
const formData = new FormData();
formData.append("upload_data", blob, "canvas_image.png");
formData.append("name", document.getElementsByName("name")[0].value);
formData.append("sns_name", document.getElementById("sns").value);
formData.append("text_data", resultdata.txt);
if (!flg) formSave(formData);
}, "image/png");
} catch (error) {
console.error(error);
}
};
const drawCanvas = async (text) => {
await nextTick();
if (!canvas.value) return; // canvasがnullの場合は処理を中止
const ctx = canvas.value.getContext("2d");
ctx.clearRect(0, 0, canvas.value.clientWidth, canvas.value.clientHeight);
const background = new Image();
background.src = "/images/paper_00107.jpg";
background.onload = () => {
ctx.drawImage(background, 0, 0, canvas.value.clientWidth, canvas.value.clientHeight);
ctx.fillStyle = "rgba(0, 0, 0)";
ctx.font = `${fontsize.value}px HUNTERxHUNTER`;
const lines = textChange(text, fontsize.value);
lines.forEach((line, i) => {
ctx.fillText(line, 3, 10 + fontsize.value * (1.1618 * i + 1));
});
};
};
const textChange = (t, f) => {
let n = parseInt(350 / f);
let s = t.split("");
let LLine = 0;
for (let i = 0; i < s.length; i++) {
if (LLine && (LLine + 1) % n === 0) {
if (s[i] !== "\n") s[i] += "\n";
LLine = 0;
} else {
LLine++;
if (s[i] === "\n") LLine = 0;
}
}
return s.join("").split("\n");
};
const formSave = async (formData) => {
alertMessage.value = '';
try {
const response = await fetch("/common/image_save", {
method: "POST",
headers: { "X-CSRF-TOKEN": document.querySelector("[name='token']").value },
body: formData,
});
const result = await response.json();
if (result.ret === "ok" && result.url) {
window.location.href = result.url;
} else {
alertMessage.value = result.txt;
}
} catch (error) {
console.error(error);
}
};
const mobileHxH = (tt) => {
if (isMobile.value) {
mobileText.value = tt;
}
};
const adjustTextareaRows = () => {
isMobile.value = window.innerWidth <= 768;
};
onMounted(() => {
adjustTextareaRows();
window.addEventListener("resize", adjustTextareaRows);
});
return {
canvas,
languageInput,
fetchText,
alertMessage,
mobileText,
isMobile,
fontsize
};
}
});
app.mount('#app');
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, コード, サブスク, ソースコード, テンション, トホホ, バニラコード, ボツ, ももあまり, レンダリング, 下記, 中止, 何せ審査, 元, 処理, 名前付け, 小銭, 業務, 現状, 荷,

blueskyAPIが処理されなくなったので、対応を行った話.
2025.01.06
おはようございます.今日から仕事始めの方も多いはず自分もそんな感じです.さてblueskyAPIが処理されなくなったので対応を行った話を書いていきます.ブルースカイの独自処理が上手く処理されなくなったのでその対応を行っていました.今まで公式に落ちているPHP言語のライブラリーを使用していたんだけど、レンタルサーバーの環境が変わった関係により処理がされなくなったので、自前のAPI処理を他のエンジニアが公開されているコードを参考にしてカード板自動投稿を作りました.
ソースコードは下記になります.
public function cardPost($text, $imagePath = null, $link = null)
{
$imageUri = $imagePath ? $this->uploadImage($imagePath) : null;
$record = [
"\$type" => "app.bsky.feed.post",
"text" => $text,
"createdAt" => Carbon::now()->format('c'),
];
if ($imageUri && $link) {
$record['embed'] = [
"\$type" => "app.bsky.embed.external",
"external" => [
"uri" => $link,
"title" => $text,
"description" => $text,
"thumb" => $imageUri
]
];
}
$ch = curl_init("https://bsky.social/xrpc/com.atproto.repo.createRecord");
curl_setopt_array($ch, [
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: Bearer {$this->jwt}",
],
CURLOPT_POSTFIELDS => json_encode([
"repo" => $this->handle,
"collection" => "app.bsky.feed.post",
"record" => $record,
]),
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
これでカード型のポストが出来ます.参考にしたサイトはこちらの@ma7ma7pipipiさんのソースコードになります.そのコードにカード型のコードを追加した形になります.
https://qiita.com/ma7ma7pipipi/items/bf7fda65ee71c873c70a
一からコードを書かないで良かったのでとても助かりました.感謝ですね😌、ありがとうございます.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, エンジニア, カード型, カード板自動投稿, コード, ソースコード, ライブラリー, レンタルサーバー, 下記, 仕事始め, 公式, 処理, 参考, 多いはず自分, 形, 感謝, 環境, 自前, 言語,

Pythonの仮想環境で使おうの巻. python3 -m venv
2024.12.19
おはようございます.Pythonの仮想環境で使おうの巻です、この頃PHP言語の技術的なお話は避けようと思っていて代わりにpyの話を書こうと思っています.PHPのお話を避ける理由は業務で使用しているので、何処まで書いて良いのやらになっている事が理由です.
その代わりにPythonは業務で今のところ使用していないので書きやすい.そういう理由からPythonの事を書いていこうと思っています.この頃、Python記事が多いのもそういう経緯があります.
python -m venv 仮想環境名任意「英字」
今日、ご紹介するのはPythonを実行するのは仮想環境下で行おうという話です.上記のコマンドを打つと仮想環境が任意のディレクトリ配下に作成されます.仮想環境をアクティブにしたい場合は下記のコードでアクティブ化出来ます.アクティブ化した後、インストールやPythonを実行しましょうって話です.
Macやリナックス
. 仮想環境名任意/bin/activate
うぃんどーず
.\仮想環境名任意\Scripts\activate
こうすることで何が良いのかと言うことだけどもCドライブやドキュメント配下がライブラリに侵食されないという利点があります.あとDockerで立ち上げなくても良いというのもあるかな?
トイウコトデ、仮想環境のお話でした.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
インストール, コード, コマンド, ディレクトリ配下, トイウコトデ, ドキュメント配下, ドライブ, ライブラリ, リナックス, 下記, 仮想環境, 仮想環境下, 仮想環境名任意, 何処, 利点, 巻, 業務, 経緯, 英字, 言語,

Pythonでノイズキャンセリングアプリ化するコードです😤デスクトップアプリ
2024.12.14
おはようございます.昨日の続きを記載します、Pythonでデスクトップアプリを作りました、デスクトップにPythonが入っている環境で下記のファイルを実行することでノイズキャンセリングが出来ます.
尚、前手順でライブラリを2つインストールください.
pip install scipy noisereduce
import tkinter as tk
from tkinter import filedialog, messagebox
from scipy.io import wavfile
import noisereduce as nr
import os
def select_file():
file_path = filedialog.askopenfilename(
filetypes=[("WAV files", "*.wav")]
)
if file_path:
file_entry.delete(0, tk.END)
file_entry.insert(0, file_path)
def reduce_noise():
file_path = file_entry.get()
if not os.path.isfile(file_path):
messagebox.showerror("エラー", "Please select a valid WAV file.")
return
try:
# Load data
rate, data = wavfile.read(file_path)
# Perform noise reduction
reduced_noise = nr.reduce_noise(y=data, sr=rate)
# Save reduced noise file
output_path = os.path.splitext(file_path)[0] + "_reduced_noise.wav"
wavfile.write(output_path, rate, reduced_noise,stationary=True,prop_decrease=0.7)
messagebox.showinfo("成功", f"出力先:\n{output_path}")
except Exception as e:
messagebox.showerror("Error", f"An error occurred: {e}")
# Create the main application window
root = tk.Tk()
root.title("ノイズキャンセリングツール")
# Input file selection
frame = tk.Frame(root)
frame.pack(pady=10, padx=10)
tk.Label(frame, text="Select a WAV file:").grid(row=0, column=0, pady=5, padx=5)
file_entry = tk.Entry(frame, width=40)
file_entry.grid(row=0, column=1, pady=5, padx=5)
select_button = tk.Button(frame, text="Browse", command=select_file)
select_button.grid(row=0, column=2, pady=5, padx=5)
# Noise reduction button
process_button = tk.Button(root, text="ノイズ除去", command=reduce_noise, bg="lightblue")
process_button.pack(pady=10)
# Run the application
root.mainloop()
因みにこのコードをパッケージ化したい場合はPythonの下記のライブラリをインストールするとパッケージ化が出来ます.
pip install pyinstaller
pyinstaller noise-cut.py
自分でもノイズキャンセリングを試してみましたが精度はいまいちでした、noisereduceの微調整が必要になりそうです.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
エラー, コード, デスクトップ, デスクトップアプリ, ノイズキャンセリング, ノイズキャンセリングツール, ノイズ除去, パッケージ化, ファイル, ライブラリ, 下記, 出力先, 前手順, 微調整, 成功, 環境, 精度, 自分,

Push通知ってブラウザ閉じても通知出来る様に出来るのか?
2024.11.04
おはようございます.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
タグ
```, サービス, サービスワーカー, サービス機能, ソースコード, ブラウザ, ララベル, リアルタイム通知, 一部, 下記, 動作, 恥, 拡張, 有料, 機能, 無料, 無料枠, 答え, 通知,

指定日に記事を削除するWPのプラグインの雛形.
2024.10.24
おはようございます.指定日に記事を削除するWPのプラグインの雛形を作りましたが記事の削除部分(article_del_R)はご自身で作ってください.削除部分をご自身で作り自分のサイト(WP)を定期的にcronで叩けば削除される仕組みです.
毎度のことですみませんがソースコードを解析してお使いいただければと思います.また、このコードは試作品になります.
WPプラグインの画面はこんな感じです.

ソースコードはQiitaで公開しています.
因みにワードプレスで非同期処理を行うのは少し面倒です、たまに間違った情報を掲載しているサイトがあるので注意が必要です.下記で非同期処理を設定しまうとログアウトした状態でも叩けるらしいので気おつけてください!.
“wp_ajax_nopriv_{$action}”
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Action, article_del_R, cron, qiita, wp, wp_ajax_nopriv, WPプラグイン, コード, ソースコード, プラグイン, ワードプレス, 下記, 削除部分, 毎度, 注意, 状態, 画面, 試作品, 雛形, 非同期処理,

ネットを一日使用せずに生活をしてみた.結果.
2024.10.04
おはようございます.休みの日にネットを一日使用せずに生活をしてみました.結果.とても空き時間が増えました.そういえば学生時代はこんな感じだったなと、ネットを見ない分テレビを見たり本を読んだりとすることが多くなりましたが、下記の動画のようにスマホをONにした途端、友達からLINE通知が飛んでくることもなかったので.
二三日だったら、それほど困らない感じがします.ネットをしないことでわかったことは調べ物が瞬時にわかるということはどれほど楽なことだということと、日頃から情報を浴びている為か覚えていないということ.調べれば瞬時にわかるということは逆に言えば覚えるという行為をしないことだとも感じました.
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
LINE通知, ON, スマホ, ネット, 一日, 下記, 休み, 分テレビ, 動画, 友達, 学生時代, 情報, 日頃, 本, 生活, 瞬時, 空き時間, 結果, 行為, 調べ物,

サジェストでautoComplete.jsを使用したときの話.
2024.08.19
おはようございます.サジェストでautoComplete.jsを使用したときの話を書いていきます.まずよさこい祭り動画検索の方でサジェストを導入しようと決めて調べていた所、autoComplete.jsが簡単に導入できて良いよと記載されていたので使用してみました.
使用して分かったことは、一度取り込んだサジェストデータを置き換えたい場合は下記のようにしないと駄目です.SELECT部分がチェンジしたらサジェストデータの再読込みを行えば良いのかなと思っていましたが、データが一向に書き換わらないので、もしやと思って公式サイトのドキュメントを読んでいたら何となくこれは置き換わらないことに気づきました.
autoCompleteJS.unInit();
尚、書き換えるためにautoCompleteJSはグローバル扱いにしました、本当はもっとスマートなやり方があるだろうけど、これが自分にとってはベストかなと思ったのでこのような形にしています.
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
autoComplete.js, autoCompleteJS, autoCompleteJS.unInit, SELECT部分, サジェスト, サジェストデータ, データ, ドキュメント, やり方, 一度, 下記, 公式サイト, 再読, 形, 所, 祭り動画検索, 自分, 話,

DifyというAIサービスをローカル環境で試してみました.
2024.08.15
おはようございます.DifyというAIサービスをローカル環境で試してみましたが良いじゃないかなって思いました.下記の画像が実際動かしてみた感じです.

何が良いかと言えば社内アプリを構築するのに大変良いなということです.APIと連動しないと行けないですが、フェイスブックのOllama使えばAPI連動もローカルで出来るので実質無料で社内アプリが構築することが可能になります.
なお、作成された社内アプリのAPIURLを叩けばAPIとしても機能するのでいろいろと出来る感じがします.巷ではdify自体にアップロード機能は無いから不便との意見がありgithubのイシューにも書かれているらしいので機能追加される可能性は高そうです、それまでは外部で実行してテキストかURLを読み込ますことによって解決出来るのではないかなって思っています.
最後に自分としては良いサービスだと感じました.
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AIサービス, API, APIURL, Dify, dify自体, github, Ollama使えばAPI連動, アップロード機能, イシュー, テキストかURL, フェイスブック, ローカル環境, 下記, 外部, 実質無料, 実際, 巷, 意見, 最後, 社内アプリ,

アクセシビリティという程のものではないけども.機能追加.
2024.07.31
おはようございます.サイトの上部に文字の大きさを変える機能を追加しました.こちら実際に目が悪いひとには気づきにくいのかもしれない.そのことに関しては今後の課題です.

アクセシビリティというのを調べていたら色覚の障害がある人はどのようにこの世界が見えるのかという事が理解できるサイトがあり、その内容が結構衝撃的だった.(サイトは下記のリンクです)
https://www.itra.co.jp/webmedia/color-blindness.html
五体満足で生きていると分からないことが多く、そして障害を持った人達がどんな所で不便や苦労をしているかという事に気づきにくいのかもしれないと思います.デザインしている人でも障害を持った人達のことを考えてサイトやデザインをしている人は恐らく少数ではないのかと思います.
自分はあまり考えてこなかったタイプの人間なので分からないことが多いです.
ですが、障害の持った人達も普通の人と変わらない生活が出来る社会になればと思っています.今後、そんな社会になる可能性は高いと思っています.日進月歩で医学分野も進んでいて再生医療や遺伝子治療も進んできているので今世紀には殆どの障害は克服することが可能になるのではないかと思っています.
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アクセシビリティ, タイプ, デザイン, 上部, 下記, 世紀, 人間, 再生医療, 医学分野, 少数, 悪いひと, 文字, 日進月歩, 殆ど, 社会, 色覚, 苦労, 課題, 遺伝子治療, 障害,

この記事は何分で読めますを導入しました.何分で読めましたか?
2024.07.25
おはようございます.この記事は何分で読めますを導入しました.コードは下記のサイトコピペした後、少し自分のように手直しをしましたがほぼほぼコピペだと思っていただいて間違いないです.
https://fukuro-press.com/wordpress-display-reading-time
これにより購読してくれる人やリピーター様が増えるのを切に願っています.導入するまえに少し調べると購読者が増えるというような記事を見かけたので取り入れた感じです.読んでもらって何かの役に立てばこちらも嬉しいです.先日、書いた通り役に立ちたいという気持ちはありますが喜んでほしいとかいう気持ちはないです.

「これ良いわ、良い話聞いたわ、こんな人がいるだ、自分だけじゃなかった」等などと思って頂けたら幸いです.基本的にこのブログは技術共有と雑記で成り立っています、これで一応、数ヶ月置きに収益も出ているので、一応、恩返してきな要素もあります🌝.皆さんありがとうございます🙇.
ちなみにまだ程遠いですが自分がブログだけで生活が出来るように慣れば、いろいろな人の励みにはなると思っています.自分にも出来そうという思いを持ってほしいですね.
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Photo by Pixabay on Pexels.com, コード, コピペ, リピーター様, 下記, 収益, 少し, 役, 恩返してき, 慣れば, 手直し, 技術共有, 数ヶ月置き, 気持ち, 生活, 皆さん, 要素, 購読者, 通り役, 雑記,

PHP言語でthreads投稿するための雛形を作りました.
2024.06.22
おはようございます、threads-Apiで投稿するための雛形を作りました(たぶんPHP言語では国内最速公開かも).使用したい方は下記のリンクを参照してご使用いただけたら幸いです.Threadsのバージョンが上がれば使用出来なくなる可能性がありますので、ご注意ください.
https://github.com/taoka3/threads-api

Qiitaにも同じ内容のものを記載しています、この頃API関連しか記載しなくなったんだけど何か違う内容で仕事に影響ない範囲の技術共有っていうのは難しいなって思います.今回のAPIソースコードも自動投稿が出来るようになるプログラムコードなので売り物にしようと思えば出来るコードです.
Qiitaの技術共有って難しいなって思います.機械学習の情報も結構オープンソースで出ているわけで、そう思うと対した共有でもないかもなって思います.人によって価値が変わるのではないかなって思うこの頃です、悩ましい😌.
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
APIソースコード, PHP言語, Qitta, threads, threads-Api, オープンソース, この頃API関連, バージョン, プログラムコード, リンク, 下記, 価値, 共有, 国内最速公開, 売り物, 影響ない範囲, 技術共有, 機械学習, 自動投稿, 雛形,