@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
ChatGPTで記事を生成するWordPressの無料非公式プラグイン
おはようございます.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
タグ
APIKEY, ChatGPT, chatgpt-auto-article.zip, Open API, plugin, url, WordPress, キー, キーワード, タイトル, フォルダ, プラグイン, プラグインフォルダ, プラグイン管理画面, 保存, 最後, 無料非公式プラグイン, 生成, 生成AI, 生成記事,
What’sNext?ビル・ゲイツと考える未来の展望を観ました.
おはようございます.What’sNext?ビル・ゲイツと考える未来の展望を観ましたので感想を残しときます.まず、二話目だったかなビル・ゲイツの娘に駄目だしをされていたのが印象的だった.ビル・ゲイツさん未だにメールを主とした連絡方法なんだとか和むところは合ったものの.基本的にビル・ゲイツさんが興味関心や取り組んでいることが主(おも)です.
これを見ているとビル・ゲイツさんは本当に人類のために貢献していると思います.そしてこんなに出来る人はなかなかいない.寄付する人はいるものの行動に移して社会に貢献している所が素晴らしいと思います.そして今でも貪欲に学んでいるところが違うなと思います.
あの歳になっても新しいことを勉強している人はあまりいない感じがします.世界を変えようとしている想いや熱意を番組をみて感じました.
この番組のメリットは結構真面目ぽっい感じですがいろいろな事が学べることだと思います.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
What'sNext, ところ, ビル・ゲイツ, ビル・ゲイツさん, ビル・ゲイツさん未だにメール, メリット, 主, 人類, 娘, 展望, 感じ, 感想, 所, 未来, 歳, 熱意, 番組, 社会, 興味関心, 行動,
上手く行っているときは何も言わないことが多いのは.#お金
おはようございます.上手く行っているときは何も言わないことが多いのは知られたくないという気持ちと不満がないので発信しないという気持ち.そしてセキュリティの観点から何も言わない人が多いのかもしれない.
お金を稼ぐひとは能力のあるひと、能力がなくても稼ぐことも出来る.代表的なものが投資信託だと思っている、毎月、決まったお金を入金して自動運用してもらう.因みに毎月5万円を投資信託で回せば5年後、10年後、15年後には2000万円問題が軽く解決できるらしいのだ.これが能力がなくても出来る唯一無二のお金の増やし方なのです.
みんな、投資信託とか株式投資とかしないらしい.お金はお金を読んでくる、ただお金が増えれば何故かお金が増える.でも、お金が増えてもなんも楽しくないのだということに気づく人が多い.お金が増えたら不安材料が消えるが正解なのかもしれない.
最近まで自分は老後が不安材料でいまを楽しんでいなかった.よくよく考えると、将来どうなるのか分からない.明日、何かの災害や事故、事件に巻き込まれてこの世にいないかも知れない.そう思うと今を楽しんだ方が良いという思いに.
収入は多いほうが良いけども、それよりも大事なものは健康と時間だと思う.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
この世, セキュリティ, ひと, みんな, 不安材料, 事件, 事故, 収入, 唯一無二, 増やし方, 将来, 投資信託, 株式投資, 気持ち, 災害, 老後, 能力, 自分, 自動, 観点,
githubのIPアドレスを取得したい方へ送るコード.
おはようございます.以前、さくらレンタルサーバーにデプロイするためにGithubのIPアドレスを許可しなくては成らなくなり下記のコードを作りました.今回はそのコードのお裾分けです.Githubは使用されているIPアドレスをJsonデータとして公開しているので、そのJSONデータを取得するPHPコードです.
大したコードではないものの、ユーザーエージェントが無いと取得できないのでそこは気おつけてください.それはfile_get_contentsでも同様ですのでお気をつけください.
ソースコードは下記になります.尚、IPアドレスは下記のページから参照可能となります.
https://zip358.com/tool/github-ip-address
class githubIpAddress
{
public $url = 'https://api.github.com/meta';
public function getIpAddress($key)
{
$data = [];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_USERAGENT, 'getgithubaddress');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$obj = json_decode(@curl_exec($curl));
if ($obj?->$key) {
foreach ($obj?->$key as $val) {
$data[] = $val;
}
}
curl_close($curl);
return $data;
}
public function saveIpAddress($key, $data)
{
$filename = "data/{$key}-ip-address.txt";
file_put_contents($filename, implode("\n",$data));
return $filename;
}
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
curl, curl_close, curl_exec, curl_init, curl_setopt, false, filename, foreach, github, gt, implode, ip-address.txt", json_decode, obj, quot, quot;data, return, true, val, ユーザーエージェント,
SHOGUN 将軍 を全話観ましたので、感想を残しときます.
おはようございます.SHOGUN 将軍 を全話観ましたので、感想を残しときます.虎永様というのは後の徳川家康のことを指します.徳川家康といえば「鳴かぬなら鳴くまで待とうホトトギス」と言われたぐらい性格.そんな徳川家康が天下人になるまでのお話です、日本人の視点で言えばお金を掛けたごく有りふれた時代劇のようにも感じました....が
役者さんの自然な演技で違和感なく最後まで観れました、因みにこの将軍というドラマは9話目が胸熱ですが、その前の奈落の底も良いですねー.一話目からのストーリーを観ないとやっぱこのドラマの良さは感じられない.
今となっても武士道というものは、日本人の心の何処かに流れているものなのかも知れないなっていう思いになりました.いやー観て良かったです.
因みに関ヶ原合戦はこのドラマではかすかに描かれていますが合戦前までの話です.勝ったのは虎永様、後の徳川家康です.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
SHOGUN, ぐらい性格, ストーリー, ドラマ, ホトトギス, 合戦前, 天下人, 奈落, 将軍, 底, 役者さん, 徳川家康, 時代劇, 武士道, 演技, 胸熱, 虎永様, 視点, 違和感なく最後, 関ヶ原合戦,
ネットを一日使用せずに生活をしてみた.結果.
おはようございます.休みの日にネットを一日使用せずに生活をしてみました.結果.とても空き時間が増えました.そういえば学生時代はこんな感じだったなと、ネットを見ない分テレビを見たり本を読んだりとすることが多くなりましたが、下記の動画のようにスマホをONにした途端、友達からLINE通知が飛んでくることもなかったので.
二三日だったら、それほど困らない感じがします.ネットをしないことでわかったことは調べ物が瞬時にわかるということはどれほど楽なことだということと、日頃から情報を浴びている為か覚えていないということ.調べれば瞬時にわかるということは逆に言えば覚えるという行為をしないことだとも感じました.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
LINE通知, ON, スマホ, ネット, 一日, 下記, 休み, 分テレビ, 動画, 友達, 学生時代, 情報, 日頃, 本, 生活, 瞬時, 空き時間, 結果, 行為, 調べ物,
自サイトのBBSをTOPページから消しました.今のところURLを
おはようございます.自サイトのBBSをTOPページから消しました.今のところURLを叩けば見ることも投稿することも出来ます.そのうち、投稿機能は停止するつもりでいます.
因みにBBS設置したのだけど、誰も投稿してくれないので消しました.なかなか難しいのでしょうか🤔.
大体の人はなにか意見があったとしても投稿しないのが普通のことなのかもしれません.特に日本人はそんな感じなんだと思います.だから匿名で投稿できるxが今でも根強いだろうと思います.
これからは閲覧者が欲しい機能を追加していこうと思っています.なんだかんだ言ってアクセス数はそれなりにありますから、あとミニサービスもいろいろと作っていこうと思います.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
BBS, TOPページ, X, アクセス数, うち, ところURL, ミニサービス, 人, 匿名, 意見, 投稿, 投稿機能, 日本人, 欲しい機能, 自サイト, 閲覧者,
号外NETの記事タイトルをポストするようにコードを組みました.tosajin.info
おはようございます.号外サイト記事タイトルをポストするようにコードを組みました.これによって少しは高知県の人に貢献できたのではと思っています.この号外NETというサイトはとても良いです.新しいお店の紹介などが逐次わかるというのは良い感じですよね.
因みにソースコードはこんな感じになります.これをLaravelのスケジュールを使用して叩いている形になります.ポストするコードに関してはご自身で考えて作らないとポストすることは出来ないです.
/**
* Execute the job.
*/
public function handle(): void
{
$xmlobj = @simplexml_load_file('https://kochi.goguynet.jp/feed/');
if($xmlobj?->channel?->item){
$str = [];
foreach($xmlobj->channel->item as $key=>$val){
if($this->dateCheck($val->pubDate)){
$str[] = "{$val->title}
{$val->guid}
引用元:号外NET 高知市
";
}else{
break;
}
}
$str = array_reverse($str);
if(count($str)){
$TwitterController = new TwitterController();
foreach($str as $val){
$TwitterController->tweet($val);
}
}
}
}
private function dateCheck($inputDate)
{
$inputDateTime = new DateTime($inputDate);
$inputDateTime->setTimezone(new DateTimeZone('UTC')); // UTCに合わせる
// 現在の日付(UTC)
$currentDateTime = new DateTime('now', new DateTimeZone('UTC'));
// 今日の日付を取得
$today = $currentDateTime->format('Y-m-d');
// 昨日の日付を取得
$yesterday = $currentDateTime->modify('-5 day')->format('Y-m-d');
// 入力された日付のフォーマット
$inputDateFormatted = $inputDateTime->format('Y-m-d');
// 比較
if ($inputDateFormatted === $today || $inputDateFormatted > $yesterday) {
return true;
}
return false;
}
Xなどにポストするにはライブラリを使用してポストすることが簡単だと思っていますが、それが難しいという方は生成AIを使用してクラス化したXにポストするPHPコードを書いてと指示をすればコードを書いてくれると思います.
ちなみにこのソースコードは高知県の号外に特化したコードになります.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
array_reverse, break, count, dateCheck, else, foreach, format, gt, guid, item, Laravel, modify, pubDate, quot, setTimezone, Tweet, val, void, yesterday, 号外,
レンタルサーバーでデスクトップ通知はPush7がおすすめ.
おはようございます.今日から10月ですね~.この頃はクーラーを夜な夜な付けることもなくなり快適な生活を送っています.夏は好きですけど今年の夏は暑かった.
さてレンタルサーバーでデスクトップ通知はPush7がおすすめです、今のところプッシュ通知を行っている日本企業はここしか知りません.おそらく海外で同じようなAPIサービスはあると思います.
因みにこのサービス、無料版では購買者に一括送信しか出来ませんが980円支払えば個別送信することも可能です.自分がいま作っているサービスは「npush」というものです.このサービスはNHKの番組表から自分が見たい番組をチェックすると前の日にデスクトップ通知が送信されるというもの.あまり需要がなさそうだけど、自分には必要なものなので運用しようと思っています.まずは自分だけ使う感じで他のユーザーさんは番組検索機能だけ開放します.ただし番組表は東京だけですけどね.
技術的な話.デスクトップ通知などはレンタルサーバーが開放されているポートだけでは機能しません.なので、APIサービスを使用せずに制作したい場合はAWSやVPSサーバーなどを使用することをおすすめします.今回、使用したAPIサービスでPushするPHPコードを抜粋して貼っときます.あくまでもテスト用なので、ここから改修が必要になります.また、個別送信したい方は新たにパラメーターを付与してください.詳しくは公式ページのドキュメントを参照くださいませ.
$apiurl = "https://api.push7.jp/api/v1/";
$appno = config('app.push7no');
$apikey = config('app.push7apikey');
$icon_url = 'https://dashboard.push7.jp/uploads/example.png.webp';
// 送信データ
$data = array(
'title' => "通知タイトル", // 通知タイトル
'body' => "通知テキスト", // 通知テキスト。記事タイトルなど
'icon' => $icon_url, // アイコンファイル
'url' => "https://example.com/", // リンク先。記事URLなど
'apikey' => $apikey
);
// JSON形式に変換
$json_data = json_encode($data);
// cURLセッションを初期化
$ch = curl_init($apiurl . $appno . '/send');
// オプションをセット
curl_setopt($ch, CURLOPT_POST, true); // POSTメソッドを使用
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); // ヘッダーにJSON形式を指定
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // レスポンスを文字列で返す
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); // POSTデータをセット
// 実行してレスポンスを取得
$response = curl_exec($ch);
// エラーチェック
if (curl_errno($ch)) {
$error_msg = curl_error($ch);
log::error("cURLエラー: " . $error_msg); // エラーログ
} else {
// レスポンスをデコード
$response_data = json_decode($response, true);
log::info($response_data); // レスポンスをログに記録
}
// cURLセッションを終了
curl_close($ch);
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
application, array, config, Content-type, curl_errno, cURLエラー, cURLセッション, else, Error, json_decode, json_encode, log, npush, quot, response, true, アイコンファイル, エラーログ, デコード, パラメーター,
4Kの42インチのディスプレイが欲しいと思っている.来月考える.
おはようございます.4Kの42インチのディスプレイが欲しいと思っている.いまのディスプレイの解像度はHDなんです、それを4Kの解像度に変更したい.実際こうにゅうしたいと思っているディスプレイはAmzで売っているJAPNNEXTの商品.
HDはディスプレイの分割化がやりにくいので4Kに変更したいんです.
いまのディスプレイを買って一年とちょっとぐらいでこのままでも問題ないといえば問題ないものの、やっぱ効率的な感じにしたいという俗に言う欲みたいなものです.
買おうと思っているものは色々ありますがディスプレイは優先順位が高い方にあります.欲しいものリストにMacbookがあるのですが、10月頃になんだかシークレット発表があるらしいので、その発表後に考えたいと思っています.あぁー爆買いしたいなー(笑).
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10月頃, 42インチ, 4K, Amz, HD, JAPNNEXT, MacBook, シークレット発表, ディスプレイ, 優先順位, 分割化, 商品, 問題, 問題ないもの, 実際, 欲, 欲しいものリスト, 発表後, 笑, 解像度,
この記事は何投稿目かをWordPressで表示する関数を生成AIで生成💮
おはようございます.この記事は何投稿目かをWordPressで表示する関数を生成AIで生成しました、これぐらいの事は生成AIでも出来るのですねーそれも無料のChatGPTで.こういう事が出来るので少しPHPコードができる人でもなんとかなるだなぁーって思いましたが、実際の現場では1ファイル数百行ー数千行は当たり前なので仕事としては大変かと思うものの.ホームページを主としている会社では充分な助っ人になると思います.
この頃は分からないことは生成AIに聞いてそれでも明確な答えが出ないものはググってます.自分でも思うのですが、ちょっと煩雑な文章で書いているからもう少し丁寧に情報提供して実行すれば良いかなと思うものの、それを用意するのが少し億劫で答えに満足せずにググっている自分がいます.
function getArticleCount($post_id)
{
global $wpdb;
// 指定された投稿の公開日時を取得
$post_date = $wpdb->get_var(
$wpdb->prepare("SELECT post_date FROM $wpdb->posts WHERE ID = %d AND post_type = 'post' AND post_status = 'publish'", $post_id)
);
if (!$post_date) {
return 0; // 投稿が存在しない場合
}
// この投稿より古い投稿の数を数える
$post_rank = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) + 1 FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND post_date < %s",
$post_date
)
);
return $post_rank;
}
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
$post_date, $post_id, $post_rank, $wpdb, ChatGPT, from, function getArticleCount, global, gt, gt;get_var, if, lt, posts WHERE post_type, prepare, quot, quot;SELECT COUNT, quot;SELECT post_date, return, 助っ人, 関数,
映画館で映画を観る人です.因みにシネマ会員になってからこれまで.
おはようございます.映画館で映画を観る人です.因みにシネマ会員になってからこれまで観たログとして残っている映画の本数は335本です.これは会員になってから物なのでもっと本数は観ていると思います、いやー創作する人は凄いですね.
因みに335本を1500円として計算してみると502500円です、まさにチリツモですねー.
当初は来月は観に行く予定ではなかったのだけども最低1本は観に行く予定でいます.映画館は一人で観に行くことが多く、飲食も買わずに大体前列で観ることが多いです.前列で観る理由はベストポジションであり、そして田舎という事も関係し客がいないので貸し切り状態で鑑賞している感覚でみえることが多いので好んで前列で観ています.
趣味でお金を払っているのは映画と音楽ぐらいのものです.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
シネマ会員, チリツモ, ベストポジション, ログ, 予定, 会員, 前列, 当初, 感覚, 映画, 映画館, 本数, 物, 理由, 田舎, 観, 貸し切り状態, 趣味, 音楽, 飲食,
一部のツールを非広告にした話.ぼーっと生きているとかけ算
おはようございます.一部のツールを非広告にした話.ぼーっと生きているとかけ算を忘れる話を書いていきます.まず、一部のツールを非広告にしました、1つ目は九九表を表示させるツールです、2つ目は100問算数というツールです.100問算数はランダムに算数の問題が出題され回答を入力しボタンを押すと採点するというツールです.案外、算数大事です.
社会人になっても算数だけはなんか使いますよね.でも何も考えずに生きていると算数すら使わずに生きている場合があります.そんなことが長く続くとかけ算すら忘れてしまう場合があります.そんな人達のために作ったのが九九表と100問算数というサービスです.恐らく毎日のように解くと間違いなくボケ防止になります.
そういう事(解く時に邪魔にならないため)もあって非広告にしました.なので元に戻すことは無いと思いますので、活用して頂ければ幸いです.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
100問算数, 1つ目, 2つ目, かけ算, サービス, ツール, ボケ防止, ボタン, ランダム, 一部, 九九表, 人達, 元, 問題, 回答, 社会人, 算数, 話, 非広告,
NHKの番組を検索してデスクトップ通知するWEBアプリを作ろうとしている.
おはようございます.NHKの番組を検索してデスクトップ通知するWEBアプリを作ろうとしています.NHK番組表はAPIから取得しそれを検索及びデスクトップ通知する機能を自分のために作ろうとしています.環境としてはPHP8.3で動き、フレームワークはLaravelを使用.フロント側はReatで作ったものをBABELで変換してJsとして動かしています.
因みに動作しているところはこんな感じですね.
今週の土曜日に一通りのことが出来るようにして一旦公開しようと思っています.最初は自分だけが使用できるものにしてバグ等がなければ正式に告知して運用していこうと思っています.
あまり重要はなさそうだけども、nasuneを使っている人なら分かるかも知れないけど番組名で録画予約する機能がないので不定期な番組は録画予約できないのが、作ろうと思ったきっかけです.何故、NHKの番組表しか無いのかは番組表のAPIはNHKしかなかったからです、クローラーを作って取得する手もあるのだけど、自分は民法で見るのは固定番組なので時間設定で事足りるから、こういう仕様になってます.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
API, BABEL, JS, Laravel, nasune, NHK, NHK番組表, Reat, きっかけ, クローラー, デスクトップ, バグ, フレームワーク, 一旦, 仕様, 固定番組, 土曜日, 最初, 民法, 録画,
ディズニープラスで将軍を見ています.2話まで見てやっと.
おはようございます.秋ぽっい連休最終日に記事を書いています.この頃、将軍をウォーキング中に見るようになったんだけど、5日前に足を痛めて少しウォーキングを中断していました.
やっと二話目を見終わりなんか面白い作品かもと思いが芽生えてきました.たぶん、将軍面白い作品かもなので全話見たら感想を改めて記載します.
将軍は友との飲みの席で話題に上がったので見てみようと思ったわけで最初は将軍のドラマすら知らなかった.因みに今月の28日までにディズニープラスを一年契約すると、一年間は5千円弱で見えるので結構お得です.
自分が一番見ているサブスクはネトフリで次にディズニープラスになりそうな予感.アマプラはあまり見ない感じです、何故かといえばアマプラで見れるものはネトフリで大体見れるようになっているから見なくなりました.
因みに動画という分類で言えばYOUTUBEを一番見ている気がします.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
youtube, アマプラ, ウォーキング中, サブスク, ディズニープラス, ドラマ, ネトフリ, 予感, 分類, 友, 将軍, 将軍面白い作品, 少しウォーキング, 席, 感想, 最初, 秋, 足, 連休最終日, 面白い作品,
生成AI、正直、絵に関しては見分けがつかないレベルまで来ているパッと見分からないけど.
おはようございます.生成AI、正直、絵に関しては見分けがつかないレベルまで来ているパッと見分からないけどよく見ると線が不自然な書き方があったり、微妙に歪みが絵にあるだけどそんなの多分、絵師さんしか分からない.
最近、自分の職業があと数十年で仕事を失うだろうという記事を読んで有り得るかもしれない?、でも実際そうならない気もする.理由は殆どの生成AIは有料じゃないと精度が良くないから、そして無料化して人々がコードを出力しだしても結局それを理解して使える人はあんまりいない.
コードを生成したりアプリを生成したりすることは出来るようになってきているけど、それは一から作られたアプリやホームページなど.そこからオリジナリティを出すためや自社製品としてカスタマイズするにはプログラマーが必要になる.これから一から製品を作ることが少なくなりAIが作ったものを手直しする事が増えそうな気がしてならない(当分はなさそうだけども).
あのノーコードアプリが登場したときも、これでプログラマーの職が消えると騒いでいたのに結局のところ、あまり変化がなかった.それに今の現状は酷似している😆.
因みにGさんが生成AIを浸透させるために無料化に舵を切ったけど使いこなせる人の割合は変わらないよね.たぶん.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AI, オリジナリティ, コード, ノーコードアプリ, プログラマー, 人々, 割合, 変化, 有料, 正直, 殆ど, 現状, 生成AI, 精度, 絵, 絵師さん, 職, 職業, 自社製品, 舵,
データベースサーバをアップグレードしました.MYSQL8系
おはようございます.本日、レンタルサーバーのデータベースサーバをアップグレードしました.MYSQL8系に....少々恐いが出来ていると思います.
連休最終日に夜な夜な起きてアップグレードを行ったわけだけど、データベースの以降や何やらは苦手ですねー.シームレスに移行できればよいのだが、何処かで大なり小なりトラブルが起きるわけでそれを迅速に対応できるかが焦点になると思います.
何故、サーバー以降が深夜帯が多いかと言えば深夜はやっぱ皆さんお休みされていて、閲覧者さんが日中よりも比較的に少ない場合が多いので大体、深夜帯にサーバー以降が多い.
それは昔も今もあんまり変わってなくて金融系は今でも深夜帯にサーバーメンテナンスを行っている.何かトラブルがあっても翌朝までに対応できればセーフというわけです.何か有れば最悪だけども大体、トラブルがあった場合は昨日まで動いていた状態で運用することが多い.要するにアップデートを取りやめたりアップグレードを取りやめたりする.
はぁーこわやこわや.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
MYSQL8系, アップグレード, サーバーメンテナンス, サーバー以降, セーフ, データベース, データベースサーバ, トラブル, やっぱ皆さんお休み, レンタルサーバー, 何処か, 多い., 日中, 昔, 深夜, 深夜帯, 焦点, 翌朝, 連休最終日, 金融系,
自サイトのバニラJS(javascript)をvue.jsへ書き換えた話.
おはようございます.先日、友が東京から帰ってきてたみたいでお見上げを貰いました.いつも頂いているばかりでお返ししないといけないなって思うのですが、いつ帰って来るのかがさっぱり分からないのでお返しできないでいる.
さて、今日は自サイトのバニラJS(javascript)をvue.jsへ書き換えた話を書きます.少し前からバニラJSからvue.jsへ変更しようと思っていたのだけど、変更する意味が見いだせずにいた.
先日からReactを仕事で触りだしてなるほど、ちょっと便利かもって思い出したので勉強がてらに自サイトをvue.jsに編集しました.
自サイトの全部を置き換えていないけれど、置き換えたほうが良さげな部分は置き換えた形になります.尚、vue.jsをモジュール呼び出しで使用したい場合は呼び出す参照ファイルに下記のタグを追加すると呼び出せます.またモジュールファイルのインポートの書き方も記載しときます.参考にしてみてください.
<script src="./js/example.js" type="module"></script>
import { ref, createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js';
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
createApp, from, gt, import, javascript, JS, js", lt, module", react, ref, script src, script>, type, vue.js, インポート, お見上げ, バニラJs, モジュールファイル, モジュール呼び出し,
vue3.jsでWordPressを無限スクロールするコードを書いた話.
おはようございます.長いので説明は省きますが、これは生成AIと自分との合作みたいなコードです.一度目の指示では上手くコードを生成してくれなかったので何度か壁打ちみたいなことをしました.尚、WordPressと言ってもREST APIとかいうのを使用した奴です.WordPress側でREST APIを有効にしないと上手く機能しませんのであしからず🙇.
そして、このコードはスマホとPCではスクロール位置が違うようになっているサイト用の専用コードです.なので、普通のレスポンシブ対応サイトだったら判断部分を削除してbody対応のコードだけで無限スクロールが可能になります.
因みにこんな事をしなくてもv3-infinite-loadingのライブラリが合ったりします.それを使用するともっと効率的なコードが書けるみたいだけども、自分はvue初心者さんなのでこんな感じになってます.
<div id='app' class="page">
<?php if (have_posts()):?>
<div v-for="post in posts" :key="post.id" class="blogpage">
<h3>{{ post.title.rendered }}</h3>
<p> {{ formattedDate(post.date) }}</p>
<p v-html="post.content.rendered"></p>
</div>
<?php endif; ?>
</div>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/moment@2.30.1/min/moment.min.js"></script>
<script src="<?= get_template_directory_uri() ?>/asset/Infinity.js?<?=time()?>" type="module" ></script>
import { ref, onMounted, onUnmounted, createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js';
createApp({
setup() {
const posts = ref([]);
const page = ref(1);
const loading = ref(false);
const hasMore = ref(true);
onMounted(async () => {
await fetchPosts();
if (window.innerWidth < 600) {
window.addEventListener('scroll', handleScroll);
} else {
document.querySelector('#app').addEventListener('scroll', handleScroll);
}
});
onUnmounted(() => {
if (window.innerWidth < 600) {
document.documentElement.removeEventListener('scroll', handleScroll);
} else {
document.querySelector('#app').removeEventListener('scroll', handleScroll);
}
});
const formattedDate = (dateString) => {
return moment(dateString).format('YYYY年MM月DD日');
};
const fetchPosts = async () => {
if (loading.value || !hasMore.value) return;
loading.value = true;
try {
const response = await axios.get(`/wp-json/wp/v2/posts?page=${page.value}`);
if (response?.data?.length) {
posts.value = [...posts.value, ...response.data];
page.value++;
hasMore.value = true;
}else{
hasMore.value = false;
}
} catch (error) {
//console.error(error);
} finally {
loading.value = false;
}
};
const handleScroll = async () => {
let scrollHeight = null;
let clientHeight = null;
let scrollTop = null;
if (window.innerWidth < 600) {
scrollHeight = document.documentElement.scrollHeight;
clientHeight = document.documentElement.clientHeight;
scrollTop = document.documentElement.scrollTop;
} else {
scrollHeight = document.querySelector('#app').scrollHeight;
clientHeight = document.querySelector('#app').clientHeight;
scrollTop = document.querySelector('#app').scrollTop;
}
if (scrollTop + clientHeight >= scrollHeight - 100 && hasMore.value) {
await fetchPosts();
}
};
return { posts, page, loading, hasMore, fetchPosts, handleScroll, formattedDate };
}
}).mount('#app')
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
addEventListener, asset, async, catch, createApp, dateString, document.querySelector, finally, formattedDate, handleScroll, loading.value, mount, onMounted, onUnmounted, removeEventListener, response, response.data, setup, window.addEventListener, window.innerWidth,
Githubアクションでレンタルサーバーにデプロイさせる話.
おはようございます.将軍が米エミー賞を受賞しましたね、これを機会に自分はディズニープラスを契約してウォーキングのときに将軍をみています、これは田舎だから出来る特権かと思います💁.
さてGithubアクションでレンタルサーバーにデプロイ(アップロード)させる方法を書いていきます.まず前提条件としてIDとPASSでの認証ではなくて鍵での方法です.事前に公開鍵をレンタルサーバーに登録しとく必要があります.
では最初に対象となるリポジトリのセッティングから下記の順にクリックしてください.
次、アクションシークレットに必要な値を登録します(SSH_PRIVATE_KEYやSERVER_USERNAMEなどです)
最後にアクションの設定(yml)を行えば完了です.完了ですがレンタルサーバーによっては海外IPアドレスをブロックするように設定しているレンタルサーバーがあります.なので、海外IPを解除する必要があります.GithubのIPアドレスはこちらを参照して設定ください.
https://api.github.com/meta
※ルート直下をデプロイ対象すると.gitもアップロードされ大変危険ですので対策を取るか、直下をアップロードしないようにするか等が必要なります.
name: sakura
on:
push:
branches: [ "main" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa_sakura
chmod 600 ~/.ssh/id_rsa_sakura
- name: Deploy Files via rsync
run: |
rsync -avz -e "ssh -i ~/.ssh/id_rsa_sakura -o StrictHostKeyChecking=no" ./path ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.SERVER_DEPLOY_DIR }}
これでメインにプシュしたものはレンタルサーバーにアップロード(Deploy)されるようになります.
簡略化した説明なので分からない方もいると思います.そんな方は生成AIやググると何とかなるかと思いますので諦めずにトライしてみてください.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
actions, branches, deploy, echo, git, github, jobs, path, push, quot, run, sakura, SSH, steps, StrictHostKeyChecking, ubuntu-latest, uses, yml, デプロイ,
武蔵美電音研が良いって話でこの音源すべて欲しい、誰か知ってませんか?
おはようございます.武蔵美電音研が良いって話でこの音源すべて欲しい、誰か知ってませんか?今日は情報提供ではなくてブログを見ているユーザーさんの中で知っている方へお問い合わせ.
このYOUTUBEの音源を知っている方は一言メッセージをください🙇.
この曲には恐らく続きがあると思うのですが、shazam使っても見つからないですよね.因みにshazamってのは音楽の音から音源を検索してくれるツールです.Chromeの拡張でもありますがshazamってアプリが存在していてiPhoneでもAndroid端末でもインストールしていれば、この曲いいと思った時にアプリ起動させると瞬時に音源を検索してくれるので便利です.
最後にShazam(シャザム)のアプリリンクを貼っときます.
ios端末(iPhone 、ipad)
https://apps.apple.com/us/app/shazam-find-music-concerts/id284993459
Android端末
https://play.google.com/store/apps/details?id=com.shazam.android&hl=ja
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Android端末, Chrome, hl, ios端末, iPad, iPhone, ja, shazam, youtube, シャザム, ツール, 一言メッセージ, 拡張, 曲, 最後, 武蔵美電音研, 瞬時, 音源, 音源すべて欲しい,
この投稿は1年以上前に公開されました。という文言を表示するようにコードを生成した話.
おはようございます.この投稿は1年以上前に公開されました。という文言を記事の上部に表示するようコードを生成した話.これぐらいのコードなら手を動かして書くより生成AIに指示したほうが楽ですねー🎈.
function display_old_post_warning() {
// 現在の日付
$current_date = new DateTime();
// 記事の公開日
$post_date = new DateTime(get_the_date('Y-m-d'));
// 日付の差
$interval = $current_date->diff($post_date);
// 記事が1年以上前に公開された場合
if ($interval->y >= 1) {
$warning_message = '<div class="alert alert-danger shadow-lg" role="alert" style=\'background-color: #ff5162!important;\'>';
$warning_message .= '<strong>この投稿は1年以上前に公開されました。</strong> 現在の情報とは異なる可能性がありますので、ご了承ください。';
$warning_message .= '</div>';
}
return $warning_message;
}
楽にコードが生成出来るけど、ソースコードを生成してもソースコードを読む力がないと何処にコードを当てはめたら良いのか分からないし、またコードがバグだった時の対応ができないので結局のところプログラマーは永遠に必用な職業かもしれない.
先日も書いたけど、これから義務教育でアルゴリズムの勉強をした子供たちが大人になっていく中でプログラマーの存在は変わってくるとは思っている.
優秀なプログラマーしかプログラマーと呼ばれないかもなってーーてへ😆.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
$current_date, $interval, $interval->, $warning_message, background-color, diff, gt, if, important, lt, new DateTime, quot;alert alert-danger shadow-lg", quot;alert", return, role, strong>, style, アルゴリズム, プログラマー, 文言,
室内から外へ出た際に目が痛くなる、または光に対して敏感になる傾向は、発達障害に関連するのか?
おはようございます.室内から外へ出た際に目が痛くなる、または光に対して敏感になる傾向は、発達障害に関連するのか?と調べてみた結果.やっぱ関連するみたいです.
前々から室内から外へ出た時に太陽の光で目が痛くてなれるまで少し時間がかかるのです.特に真夏の太陽は痛い.いちばん、恐いのはトンネルから出たときにもそんな感じなのでこの頃はサングラスを付けています.
フォトフォビアかもしれないですけど、自分でも少し自閉スペクトラム症の傾向はあるなって思っている.俗に言うグレーゾーンにいるんじゃないかなって思っている.
因みに自分は勉強をあまりしないでも出来た方なのかも知れないけれども、コミュニケーション能力は劣っていた感じになり社会適合から言えばマイナスな人かなって思っている.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
グレーゾーン, コミュニケーション能力, サングラス, トンネル, フォトフォビア, 傾向, 光, 前々, 勉強, 外, 太陽, 室内, 少し自閉スペクトラム症, 感じ, 発達障害, 目, 真夏, 社会適合, 結果, 際,
エネルギーを得るためには力を使わないといけない.それが戦争の根源.
おはようございます.この世から戦争がなくなれば良いのにって思うだけども進化の過程で必用だった、動物を狩って食するという行為、この行為が遺伝的に刻まれているホモサピエンス最大のバグ.今となっては人類最大のバグなのかも.
エネルギーを得るためには食するという行為が必用だけども.これもいずれ遺伝子改造で消えていくのだろうなって思っている.光を浴びるだけでエネルギーに変換する人類2.0が誕生するかもしれない、誕生するまえに争いというバグで人類が滅亡する可能性もある.
馬鹿なことを書いてみたけど、実際に人類が人類2.0に進化する場合、エネルギーをどう摂取するかは大事な課題かと思います.また、巷ではAIブームだけど、これからの子供たちは遺伝子研究の分野に進むことが良いんじゃないかな.プログラミングを勉強している人たちが大人になる頃には、自然言語処理でコードを生成してくれる事が普通になり、最終的にはプログラミング言語は機械語しか残らないと思っているので、今からプログラミングを勉強している人達は無駄にはならないけれど、20年後に職業として存在しているかは疑問ですね.
プログラミングは誰もが知っているレベルになるから、これからは遺伝子分野に焦点を当てた方が良いと思っている派です.
たまにはお花畑的な記事もよいですねえw.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AIブーム, エネルギー, この世, バグ, プログラミング, プログラミング言語, ホモサピエンス最大, まえ, 人類, 分野, 巷, 必用, 戦争, 焦点, 職業, 進化, 過程, 遺伝子分野, 遺伝子改造, 遺伝子研究,
Kindle(キンドル)とアレクサアプリで読み上げが出来なくなりキンドルアプリ単体で.
おはようございます.Kindle(キンドル)とアレクサアプリで読み上げが出来なくなりキンドルアプリ単体で読み上げが出来るように変わっていた.方法はアマゾンの公式サイトにも書いていますが、キンドルアプリのフォントサイズ設定のAaという項目を選択して次にメニューのその他を選び、最後にアシスタントをONに設定すると読み上げが出来るようになっています.
昔はアレクサアプリでキンドルの読み上げが出来ていたのですが、どうもその機能は消失したぽっいです.やり方を知っているという方は方法を一言メッセージなどで教えて頂けると幸いです.
因みに自分は音声に合わせて文字をハイライトもONにしています.ONにした理由は、読み上げは音声合成なので読み間違いがあります.特に登場人物の名前を読み間違えたりする場合があるのでONにしています.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AA, Kindle, ON, アシスタント, アマゾン, アレクサアプリ, キンドル, キンドルアプリ, キンドルアプリ単体, その他, フォントサイズ設定, メニュー, 一言メッセージ, 文字, 昔, 最後, 登場人物, 音声, 音声合成, 項目,