Photo by Clem Onojeghuo on Pexels.com

びっくり髭剃りスムースが凄い! #ニベアメンシェービングフォームスムース

2022.12.06

Logging

おはようございます、高知県はどんより曇り空が続きますね🙄今日はどうかな?

今日は昨日、使用したシェービングフォームスムースの話を書きます。女性には全然関係ない話なのでスルーしてください。今までシェービングフォームスムースは外国製のスムースを使用していましたが、この度、日本製のシェービングフォームスムースを使用してみようかなって思って使ってみました。

使用してみてめちゃ驚きです😳、泡が今までと全然違うし本当に泡が分厚いです!!。髭を剃った感覚も今までよりも綺麗に剃れたような気がします。

そして、何だか理髪店のシェービングフォームスムースのような香りもするし、なんかすごいよコレ。因みに自分は一昔前までは電動髭剃りで剃ってたのだけど、この頃は自分で剃るようになりました、その理由は肌荒れがあるから仕方無く剃るようになったですが、今ではそれ程苦にならないぐらいになりました。

著者名  @taoka_toshiaki

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

タグ

アメン, コレ, シェービング, スムーズ, スルー, ニベ, びっくり, フォーム, , , 今日, 使用, 外国, 女性, , 感覚, 日本, , 昨日, 曇り空, 本当, , , 理由, 理髪店, 綺麗, 肌荒れ, 自分, , , 電動, , 高知県, , 髭剃り,

映画、THE FIRST SLAM DUNKを観てきました。🔥 #感想

2022.12.03

Logging

映画、THE FIRST SLAM DUNK(ザ・ファースト スラムダンク)を観てきましたので感想を残しておきます、スラムダンクファン必見の映画になっていました。スラムダンクの原作者(漫画家)、井上雄彦 氏の初監督作品ですが、バスケットの試合はめちゃめちゃ躍動感があり内容も良くてめちゃスラムダンク好きには必見の映画です。是非、劇場に足を運んでいただきたい🙇。

逆に言えば、前提知識がないと若干ついていけないのかもしれないけれども、でもバケットの試合シーンを観るだけでも価値ありです、本当にカッコいい映画を有難う!!

映画『THE FIRST SLAM DUNK』CM30秒 試合開始まであと1日【2022.12.3 公開】

今の映画評価は炎上があったりして良くないですが、全然良かったです星5です、学生時代に漫画を読んだ事の有る方なら観るべし映画ですね。因みに最後の最後の最後まで観るとまたまた、おまけ映像が有りますので、エンドクレジットの終わりまで観るべしです。

著者名  @taoka_toshiaki

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

タグ

5, DUNK, FIRST, SLAM, The, エンド, おまけ, クレジット, , シーン, スラムダンク, パケット, バスケット, ファースト, ファン, , 井上雄彦, , 作品, 価値, 内容, 初監督, 前提, 劇場, 原作者, 学生, 必見, 感想, , , 映像, 映画, 時代, 最後, 本当, 漫画, 漫画家, 炎上, 知識, 若干, 評価, 試合, , 躍動感, ,

Chromeブラウザの拡張機能を新たに作ったお話。 #拡張機能

2022.11.22

Logging

おはようございます、転職活動はあまりしていません😯。

本当なら就職出来ている頃だと思います。なぜならハローワークだけで活動しているので、他のスカウトは無視しているという変な転職活動をしています。今年欲しいという求人は人手不足な会社かなと思いますし、年末押し迫って転職できるとはとても思い難いです。頑張っている事は確かですが、今は難しいという思いもあります。

そんな中でChromeブラウザの拡張機能を新たに作ったお話です、一応、皆さんが使えるようにGさんに申請しました。どんな拡張機能を作ったのかと言えば、サイト内検索が出来る拡張機能です、特に難しいコードなどは使用していませんが、人様の拡張機能は少し不安なので自分で自作した訳です。どんな時に使用するかは人によって違うかも知れませんが、例えばITエンジニアならサイト内のドキュメント検索に使用できるかなって思います。今のリファレンスサイトなどはサイト内検索が出来るようになっているモノのそれでも抜け落ちている部分があるので、それを拡張機能の力で補えるかなと思います。

Chrome拡張サイト内検索機能の動作手順。
サイト内、検索のChrome拡張機能の動作手順。

因みに中のmainコードはこれだけです。コレでサイト内検索を行っています。

document.getElementsByName("txt")[0].addEventListener("keydown", (elm) => {
    if (elm.key === "Enter") {
        chrome.tabs.query({ 'active': true,'lastFocusedWindow': true }, function (tabs) {
            var site = String(tabs[0].url).match(/https?\:\/\/[a-zA-Z0-9|\.|\-]*\/?/)[0].replace(/https?:\/\//,"").replace(/\//,"");
            chrome.tabs.create({
                url:"https://www.google.com/search?q=site" + encodeURI(":"+ site + " " + document.getElementsByName("txt")[0].value)
            });
        });
    }
});

追伸:公開されました。拡張機能はこちら👉

https://chrome.google.com/webstore/detail/site-search/ipemphkmnkbnfonlpmgacnmhnhfimmll/related?hl=ja&authuser=0

著者名  @taoka_toshiaki

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

タグ

Chrome, IT, エンジニア, お話, コード, サイト, スカウト, ドキュメント, ハローワーク, ブラウザ, リファレンス, 不安, , , , 人手, 人様, , 今年, , 会社, 使用, , 少し, 就職, 年末, 拡張, , 本当, 検索, 機能, 求人, 活動, 無視, 申請, 皆さん, 自作, 自分, , 転職, ,

結局のところ、今が大事なのかもな。#雌伏

2022.11.20

Logging

おはようございます、どんより曇り空らしいですが晴れてるかも知れません😯。

さて、自分がフリー状態なのは自分が悪いからだと思っている。そうなったのは自分の責任でそこから、挽回するのも自分だと。正解には答えがないけど失敗には答えがあるわけで、失敗は改善すれば良いわけです。

obake – Unit-00

時代のせいにはしないこと、時代が悪くても何とかなる人はいるわけですからね。人を恨んだり、人を貶したりしても何も意味がないのです。

そして本当に大事と思うなら諦めないことですよ、雌伏(はやぶさより)ですよ。

著者名  @taoka_toshiaki

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

タグ

こと, そこ, ところ, はやぶさ, フリー, わけ, , , , 大事, 失敗, 意味, 挽回, 改善, 時代, 曇り空, 本当, 正解, 状態, 答え, 結局, 自分, 責任, 雌伏,

Photo by gdtography on Pexels.com

あるアプリをja>>enに対応したお話。 #translation

2022.11.16

Logging

おはようございます、運用資産が爆上がってほしいこの頃です🫠(まぁ上がってるでは意味がない。)。

さて、そんな中、稼ぎ頭のあるWEBサービスを英語圏に対応させました。英語力は全然無いのでGさんの翻訳機能を使って静的サイトを構築してurlパラメーターで日本語サイトと英語圏サイトにわけているという感じです。何故、英語圏にも対応させたかというともっと収益化したいから。

CODE WITH ME: Build a Chrome Extension | How to Build & Publish a Chrome Extension in 10 Minutes?

それに尽きるですけどね。日本の市場だけ狙っていても多分、ココから先上手くいかないだろうなって思っています。英語がわかれば英語圏のお仕事を取れたりすると同じ考えです。

今はリモートワークで海外のお仕事を取れる時代になっていて、コネクションさえあれば日本にいて海外のお仕事を取れたりします。そして今は円安。ドルでお給与もらって円に変えても利益がある状態です…。

これから先もこんな感じが続くかと思います。なので、自分は英語駄目駄目ですけど、英語が分かる方や喋れる方はとても優位なポジションになると思っています。

日本はもう後退国ですからね、日本だけの市場を狙っていても上手くはいかないと思います。

著者名  @taoka_toshiaki

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

タグ

en, ja, translation, url, web, アプリ, お仕事, お話, ココ, コネクション, これ, サービス, サイト, それ, ドル, パラメーター, リモート, ワーク, , , , 円安, 利益, 収益, 対応, 市場, 意味, 感じ, 日本, 日本語, 時代, 構築, 機能, 海外, 状態, 稼ぎ頭, 給与, 翻訳, 自分, 英語, 英語力, 英語圏, 資産, 運用, , 駄目,

ザ・プレイリストを観ました。 #シーズン1 #ネトフリ#Spotify

2022.11.15

Logging

おはようございます、日曜日(2022/11/13)は昼から高知県は夏日でしたね😯。

そんな日曜日にネトフリのザ・プレイリストを観ましたので感想なんかを書いていきます。ザ・プレイリストはSpotifyという会社の創業物語を色々な視点で描いた作品です。今では日本でも認知度は高めかと思いますが、昔はそれほど日本では認知度は高くなかった、そんなスポティファイは社名であり、音楽のストリーミングサービスのアプリ名でもあります。

The Playlist | Official Trailer | Netflix

今では、当たり前になったストリーミングサービスですが、ドラマを観ると技術面や著作権問題なんかでは、かなり苦労されている印象を受けました。特にこのサービスが上手くいったのは技術者と著作権問題をクリア出来たことにあると思います。

そしてプログラマーが難問を解く姿勢には頭下がりますね、本当に偉いなと思った次第です。最後にはルールを作って問題解決をしたところなんて、本当に凄い。天才プログラマー無くしてこのサービスは成り立っていないと・・・。

因みに後には残しての感想なのですが、恐らく印象は変わらないかなと思います。

著者名  @taoka_toshiaki

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

タグ

, 11, 13, 2022, Spotify, アプリ, かなり, クリア, こと, , サービス, シーズン, ストリーミング, スポティファイ, ところ, ドラマ, ネトフリ, , プレイ, プログラマー, リスト, ルール, , 会社, 作品, 創業, 印象, 問題, 夏日, 天才, 姿勢, 当たり前, 感想, 技術者, 技術面, 日曜日, 日本, , , 最後, 本当, 次第, 物語, 社名, 色々, 苦労, 著作権, 視点, 解決, 認知, 難問, 音楽, , 高知県,

cssとjsを動的に読み込むソースコード2。#jscode

2022.11.11

Logging

おはようございます、すずめの戸締まりを本日、観に行きますという事で本日はお休み。感想は帰ったら別途書きます。

以前、ファイルを動的に再読み込みする方法という記事を書きまして、この記事がまぁまぁプレビュー数を取ってくれているので、ソースコードを書き直しました。以前と違うのは正規表現を見てくれればわかるかと思いますが、パラメータを初期からもっているJSファイルやCSSファイルは対象外にしている所です。

メンターがいない中、コードを見直したりするのはやっぱ時間がかかるものですね。いつも自分に必要なのはメンターだと思ったりしますが、なんだかそういう人が見当たらないですよね。やはり東京や大阪にいかないと見つけられないのかな?、今ではSNSがあるから見つけやすくなっているものの、自分よりも50%ぐらい技術力がある人がいないですよね。凄い技術力が上の人は知っているのだけども、そういう人の話を聞いてもさっぱりなので・・・。

近くにいないものなのかな、よく灯台下暗しという言葉もあるからいそうな気がするですけどね🫠。

ソースコードはこちらです。

"use strict";
document.querySelector("button").addEventListener("click",jsandcssreload);
function jsandcssreload(){
    let d = (new Date()).getTime();
    [...document.querySelectorAll("link")].forEach((elm)=>{
        elm.href = elm.href.replace(/(\.css)\??[0-9]{0,}$/,".css?" + d);
    });
    [...document.querySelectorAll("script")].forEach((elm)=>{
        elm.src = elm.src.replace(/(\.js)\??[0-9]{0,}$/,".js?" + d);
    });    
}

著者名  @taoka_toshiaki

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

タグ

2, 50, css, JS, jscode, SNS, お休み, コード, すすめ, ソース, パラメータ, ファイル, プレビュー, メンター, もの, , , , , , 以前, 初期, 別途, 大阪, 対象, 必要, 感想, 戸締まり, , 技術力, 方法, 時間, 本日, 東京, 正規, 自分, 表現, , 記事, ,

htmlとcssとjavascript-初学フロント側-No.1#code

2022.11.07

Logging

おはようございます。今年もあと2ヶ月もないわけですよね早いものですね😮

htmlとcssとjavascript-初学フロント側-No.1という動画をYOUTUBEにUPしたのが昨日の9時のこと。これで理解出来るか、どうか分からない。解説もない教えもない、唯コードを書いているところを見せてるだけです。ソースコードは下記のサイトから参照できますが、次の動画作成のためにデザインや処理が変わっていたり、動作しなくなってたりするので注意が必要です。

https://358tool.com/sample-site/

自分はHtmlやcssはあまり覚えていないのですが、分かるのはそれなりに基本ベースがあるからだと思ってます。今からHtmlやcssを学ぶ人は全部を覚えようとはせずに、手を動かしてコードを書くことから始めて下さい。そのうち基本ベースは身につくことになると思います。

因みに自分が書いているclassの名前付けなどの書き方は駄目な書き方ですので、そういう所、お仕事として書く場合は会社によってキマりなんかが有りますので、そういう事まで知りたい人はこちらの動画を参照ください。

https://www.youtube.com/watch?v=pDhmhB1qI-0

著者名  @taoka_toshiaki

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

タグ

, 2, 358, , cl, Code, com, css, html, https, javascript, no, sample-site, tool, UP, youtube, うち, コード, こと, これ, サイト, ソース, それなり, ため, デザイン, ところ, フロント, ベース, もの, 下記, , , 今年, 作成, 全部, 処理, 初学, 動作, 動画, 参照, 基本, 必要, , 昨日, , 注意, 理解, 自分, 解説, ,

Photo by Pixabay on Pexels.com

休みの日はアクセス数が少ないのを打壊したい人いる!?

2022.11.04

Logging

おはようございます、昨日は文化の日でお休みでしたね🫠。

アクセス数ゼロでも毎日のようにブログを書き続けて今のところ、二桁止まりですがアクセス数を維持しています。たまにプレビュー数だと三桁行く時がありますが、今はあまりですね~😗。

さて、そんな自分がアクセス数の増やし方を教えます。アクセス数を増やすには唯、流行の記事を追い求めるだけではダメです。未来を予想してその記事を書くこと。そしてまだ誰もその記事に付いて書いていない事が重要になります。

技術知見の二番煎じです、個人ブログでは検索サイトが拾ってくれません。なので、書くのはほぼ無駄です。たまに自分も書いたりしていますが検索にヒットすることは少ないです。技術知見を書くのなら出し惜しみせず、全力投球で書くことをオススメしますが、初学者への知見は書いても拾ってくれませんので、中級レベルの知見を書くことをオススメします。

上級者の知見は書いても無駄だと思っています。上級者ではないので分かりませんが、そもそも上級者になると論文やドキュメントで事が足りるから、わざわざそこら編を検索するという事は無くなるのではと思っています。

要約するとニッチな戦略で記事を書くべし!古い記事の上書き記事も有効😗

それらの事を注意して記事を量産すると徐々に記事を拾ってくれる確率は増えてきます✌。

尚、SEO戦略なんてブラックボックスのアルゴリズム=重箱(ブラックボックス)の隅のホコリを見つけてこれは宝石だと喜び合うことだと思います。人工知能が文章を理解するよう事を見据えて、今から人が理解できる文章を書くことをオススメします😋。

著者名  @taoka_toshiaki

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

タグ

アクセス, あまり, おすすめ, お休み, こと, サイト, たま, ため, ところ, ヒット, プレビュー, ブログ, レベル, , 上級, 上級者, 中級, 予想, , , 二番煎じ, , , 休み, 個人, 全力投球, 初学者, 技術, 数ゼロ, 文化の日, , 昨日, , 未来, 検索, 毎日, 流行, 無駄, 知見, 維持, 自分, 記事, , 重要,

Manifest V3、ブラウザ拡張機能のアレに対応した解説動画。

2022.11.02

Logging

おはようございます、カサカサ肌には大変な季節です🫠。

今日はManifest V3、ブラウザ拡張機能(Chrome拡張)のアレに対応した解説動画がありましたのでご紹介します。こちらの動画で基本は分かる感じになっています。いつまで掲載されるかわからないので、リンクだけ貼っときます。こちらになります。

尚、マニフェストの書き方だけがV3になってから変わっただけではないので、そこの所が注意しないといけない所です。自分もグーグルクロームに拡張機能を公開していたので、そちらの使用されている拡張機能は修正しました。

今、自分用に作っているV3のマニフェストの書き方だけ載せときますね。

{
  "name": "lancers footpoints",
  "version": "1.0.0",
  "manifest_version": 3,
  "description": "ランサーズ。",
  "permissions": [
    "tabs",
    "scripting"
  ],
  "action": {
    "default_icon": "icon20221101.png"
  },
  "background": {
    "service_worker": "src/background.js"
  },
  "content_scripts": [
    {
      "matches": [
        "https://www.lancers.jp/work/search*"
      ],
      "css":["src/style.css"]
    }
  ]
}

あと、backgroundとcontent_scriptsの送受信の関係などが記載されているサイトを見つけたので、そちらもリンクを貼っときます、こちらのページになります。

著者名  @taoka_toshiaki

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

タグ

1.0.0, , Chrome, footpoints, Lancers, Manifest, name, quot, Version, アレ, いつ, グーグル, クローム, こちら, ご紹介, そこ, そちら, ブラウザ, マニフェスト, リンク, , 今日, 使用, 修正, 公開, 動画, 基本, 大変, 季節, 対応, 感じ, , 拡張, 掲載, 書き方, 機能, 注意, , 自分, 解説,

Photo by Pixabay on Pexels.com

不安・不満をつぶやくのは景気が良くない証拠。 #twitter #nowar

2022.10.31

Logging

おはようございます、会社に行きたくない休みたいと呟く月曜日の朝ですね。仕事をしたいのに出来ない人にとっては何とも贅沢な話にも聴こえます🫠。

さて、不安・不満をつぶやくのは景気が良くない証拠です。コロナ不況で戦争が起こると予言した経済学者がいましたよね。そのロシアVS民主国家の戦争は恐らくこのまま続けばロシアは負けるでしょう。ロシアが手を引く停戦をすればロシアという国は残りそうだけど手を引かなかったら、ロシアを解体させる所まで持っていくだろうと思います。

命懸けで今も戦っている人がいるのとは別に、民主国家の思惑はロシアを解体して民主国家にしてしまうことを考えていると思います。そうなるとアジアの脅威は残るは中国と北朝鮮ぐらいになります、だから中国や北朝鮮は軍人路線に進もうとしている(解体されたら困るから)。

planet earth
Photo by Pixabay on Pexels.com

最悪のシナリオは第三次世界大戦になることです、これだけは避けてもらいたいけれども国の上層部が考えることは民衆とは違い利益優先に物事が運びます。そして大体、予想とは違う結果になってしまい後悔するのです。

そうなって欲しくはないので一刻も早く停戦してもらいたいですね。各国、自国の利益のことしか考えていないので、いつまで続くのか分かりませんが。

自分の予想では来年の夏頃まではこの戦争は続くと見ています。その後、ロシアが崩壊しないことを祈るのみです。

No War.

著者名  @taoka_toshiaki

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

タグ

BY, com, nowar, ON, Pexels, Photo, Pixabay, Twitter, VS, アジア, こと, コロナ, シナリオ, ロシア, , 不安, 不況, 不満, 中国, 予言, , , 仕事, , 会社, , 停戦, , 北朝鮮, 命懸け, , 国家, 学者, 思惑, 戦争, , , 景気, 最悪, 月曜日, , 民主, 経済, 脅威, 解体, 証拠, , 路線, 軍人,

Photo by Pixabay on Pexels.com

休憩時間は一人が良い理由は之だったのか? #理由が欲しいのは人の性分。

2022.10.28

Logging

おはようございます。出来ることから前に進める、今、出来ないこと、疲れる事は頓挫させる。自分を責めない。

さて、昔から昼休みは皆と会話することもなく、寝てた自分は別に人が嫌いでもないし仲良く出来ればしたいなと思っていましたが、人が思う以上にどっと疲れる身体なんだという事を最近、ツイーターで知りました。

グレーゾーンか発達障害なのか分かりませんが発達障害に当てはまる部分はあります。これが悪い事とは思いませんが、そういうのは特徴・個性があるという事だと思います。特に皮肉は自分は理解しにくい所で後から考えると皮肉を言っていたのかという事が後に分かる事が多いです。

その皮肉などが嫌がらせレベルになる事もあるのですが、そもそも皮肉や嫌がらせをするという考えが自分にはないので、相手の感情が正直な所わからないのです。

それが発達障害の症状なのかは分かりませんが、恐らくそういう事なんでしょう。相手の感情が分からないので対応するのも難しいのです。グレーゾーンと自分で言っているように全てが当てはまっている訳ではないのですが、半分ほどは何か自分に当てはまるなと思います。

自分は発達障害というと面談すらしてくれない会社もあると思います。なのでそれ程、酷くない場合は言うのを控えた方が良いじゃないだろうかと思いますね。そして寛容な社会へとか言いながら発達障害を受け入れない、障がい者への大きな賃金の格差があるのも変な話だと思います。

著者名  @taoka_toshiaki

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

タグ

グレー, こと, これ, ゾーン, それ, ツイーター, レベル, 一人, , , , , 以上, 休憩, 会話, 個性, , 嫌い, 嫌がらせ, , 性分, 感情, , , 昼休み, 時間, 最近, 正直, 特徴, 理由, 理解, 症状, 発達, , 皮肉, 相手, 自分, 身体, 部分, 障害, 頓挫,

Photo by Aleksandr Slobodianyk on Pexels.com

phpでソケット受信をする事だけ覚えとけば良い。#php #code

2022.10.27

Logging

おはようございます。Socket.ioというサービスをご存知ですか。あれ良いですよね。

さて、Socketとはいう意味は割愛させて頂き、知っていることを前提に話しますとPHPでSocketサーバーは立てれないじゃないかなって今のところ思っています。localhostや0.0.0.0とかならSocketサーバーは立てれるけど、ドメイン有りきでは難しいような気がします。

なので、Socket.ioなんかを使用してnode.jsなんかでサーバーを立てるのが定石かと思います。尚、webSocketのサーバーに対してPHPで送受信は可能です。要するにクライアント側はPHPでも可能ですね。

自分もAPIサーバーに対して常時通信処理を行っています。

PHPライブラリの使用して接続を確立しています、ライブラリはratchetという有名所のライブラリを使用しています。

composer require ratchet/pawl
<?php

require __DIR__ . '/vendor/autoload.php';

\Ratchet\Client\connect('wss://example.com')->then(function($conn) {
    $conn->on('message', function($msg) use ($conn) {
        echo "Received: {$msg}\n";
        $conn->close();
    });

    $conn->send('Hello World!');
}, function ($e) {
    echo "Could not connect: {$e->getMessage()}\n";
});

上記のようなPHPのソースコードで送受信が可能です😋

著者名  @taoka_toshiaki

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

タグ

0.0.0.0, API, Code, Composer, io, JS, localhost, node, php, ra, ratchet, require, Socket, webSocket, あれ, クライアント, こと, ご存知, サーバー, サービス, ソケット, ところ, ドメイン, なん, ライブラリ, , , 使用, 処理, 前提, 割愛, 受信, 可能, 名所, 定石, 常時, 意味, 接続, , , 確立, 自分, 送受信, 通信,

そういやインフラ系やサーバーサイドのYOUTUBERってあまり知らないよね。

2022.10.26

Logging

おはようございます。先日、コロナワクチンを接種して熱が出たので昨日、薬を飲みました。本日は通常と変わらないですという予約投稿を書いている日曜日の夜。

さて、今日はサーバーサイドのYOUTUBERを見かけたのでご紹介です、お名前はうんちゃまさん、何故、そんな名前なのかや動画をまだ三本しか見ていないので、どんな人なのか等は分からない部分は有るものの。そんな悪人さんではないみたいなので、今回、ご紹介します。

マイクラサーバーのセキュリティ対策って何をするの?【マイクラサーバーお悩み相談室】

サーバーを建てるに当ってどういう所を気にしているのかとか、自分の知見はどの程度なのかの答え合わせが出来て良かったと思っています。

因みにうんちゃまさんは、マイクラサーバーを運営している人です、自分も昔、マイクラサーバーを運営したいなと思って友人にマイクラサーバーは儲かるのか質問した事があります。結果、儲からないとの返答を得たので結局、運営せずに今に至っています。うんちゃまさんは、有志などがいて何とかなっているらしいです。自分もそういうITエンジニアの横のつながりが欲しいなというこの頃。

トイウコトデ、うんちゃまさんのYOUTUBEチャンネルはこちら

散財系鯖主うんちゃま

著者名  @taoka_toshiaki

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

タグ

YOUTUBER, インフラ, うん, コロナ, ご紹介, サーバー, マイクラ, ワクチン, 三本, 予約, , , , 今回, 今日, , 先日, 動画, 友人, 名前, , 悪人, , 投稿, 接種, 日曜日, , 昨日, 有志, 本日, , , 知見, 程度, 答え, 結果, 自分, , 質問, 返答, 通常, 運営, 部分,

ポッドキャストの良さに気づく。 #Podcast #時間短

2022.10.24

Logging

おはようございます🌅。本日、ワクチン接種してきます💉💉💉💉。

さて、今になってポッドキャストの良さに気づいてしまいました。動画よりも効率的に情報収集ができます。ながら聞きが出来るので良い。ラジオと違ってダウンロードして聞くことが出来ます。また、ラジオと違うところは自分の聴きたい人、聴きたいジャンルを聞くことが出来ます。

尚、結構ポッドキャストでは無料で色々なジャンルの方が発信してたりしています。お試しじゃなくて全部、無料で話が聞けたりして凄くお得感があります。

ポッドキャストにはグーグルポッドキャストやApplePodcastなど色々なポッドキャストが存在しますが、前文で記載したポッドキャストを覚えておけば事足りると思います。また、ポッドキャストのようなWEBサービスでボイシーという物もあります。こちらのサービスは有名人もいるので良いじゃないかな。

自分もいつまで聞くかは分かりませんが、今は聴いていて飽きないですね。

著者名  @taoka_toshiaki

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

タグ

ApplePodcast, Podcast, web, いつ, お得感, お試し, キャスト, グーグル, こちら, こと, サービス, シー, ジャンル, ダウンロード, ところ, ボイ, ボット, ポッドキャスト, ラジオ, ワクチン, , , 全部, 前文, 動画, 収集, 存在, 情報, 接種, , 時間, 有名人, 本日, 無料, , 発信, , 自分, 色々, 記載, ,

Photo by Canva Studio on Pexels.com

クラウドワークスとかランサーズとかではないプラットフォームを使いたい! #安価 #低報酬

2022.10.20

Logging

おはようございます、朝晩涼しくなってきましたね😱。

さて、クラウドワークスとかランサーズとかではないプラットフォームを使いたいという話です。何故、クラウドワークスとかランサーズとかは駄目なのか?答えは簡単でまず仕事が取れない、取れた場合も報酬額が安くて割に合わないケースが多いので自分としては見限ったサービスです。たまに入札することもあるのですが、殆ど使わないですね。

今はクラウドワークスやランサーズ以外で働けるサービスを探しています。ある程度の収入が確保出来るモノがあれば良いのになって思いますが、なかなか見つからないのが現状です🙄。

フリーランスの高額なお仕事もあるにはあります、またフルリモートのお仕事も有るにはありますが躊躇してしまう(自分の技量で大丈夫かなと・・・・)。

【完全版】クラウドワークスを使うメリットと稼げない理由【闇が深い】【フリーランス初心者必見】

なので、その中間のようなサービスがあれば良いのになって・・・迷える羊はそう思ってます、めぇ~🐏w。

クラウドワークスとフリーランス案件の中間のようなサイトがあれば、多分、それで生きていけるような気がします。そんなサイトを探しているのですが未だに無いですね。

そして、思う事はクラウドワークス側が最低価格保証を設定してほしい。そうすれば変な案件等はなくなるじゃないかって思います。3,000円とか5,000円の案件とかあり得ないですね。

なんだか書いていて愚痴になるので此処らへんで〆ます。

ともあれ、そろそろ年末年始です。
頑張ろう🦾。

著者名  @taoka_toshiaki

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

タグ

お仕事, クラウド, ケース, こと, サービス, たま, プラットフォーム, フリー, プル, めぇ, もの, ランサーズ, ランス, リモート, ワークス, 中間, , 仕事, 入札, 収入, 報酬, 場合, 安価, 技量, 朝晩, 殆ど, 現状, 確保, 答え, 簡単, , 自分, , 躊躇, 駄目, 高額,

Photo by Tracy Le Blanc on Pexels.com

iphone14に買い替えたいけどね。#けどが付く。

2022.10.18

Logging

おはようございます、昨日、試験を受けに市内に出かけておりました😤。

さて、iphone14に買い替えたいけど金銭的な余裕はあるにはあるだけど、収入が入ってきている訳では無いので、やはり買わないで置こうと思っているのですが・・・欲しいことは欲しいですね。

iPhone 14 Pro Max | ProRes vs STANDARD vs CINEMATIC MODE

iPhone15になれば、USBタイプCに変わる可能性もあるので此処は我慢、我慢と思っています。因みにiPhone14 PROMAXを余裕で買える金額はあるにはあります。でもなぁ・・・今のiPhoneでも別によくてこの頃、撮影もしないからコレで良いじゃねと思っている所もあります。

でも、iPhone14で撮影した動画等を見ると買いだなって思うですよね🤑。

凄く悩みどころです、、、、。

今日は心のつぶやきをそのまま書いてみました、凄く優柔不断な文章になっています。最後に結論づけると毎月、固定収入が入ってきていたら間違いなくiPhone14購入しています👍。

著者名  @taoka_toshiaki

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

タグ

14, 15, iPhone, PROMAX, USB, こと, コレ, タイプ, , 今日, 余裕, 優柔不断, 動画, 収入, 可能性, 固定, 市内, , 我慢, , 撮影, 文章, 昨日, 最後, 此処, 毎月, , 試験, 購入, 金額, ,

これ無料で見えるのか、これはニッチな戦略かな。 #的を得た #労働者2

2022.10.17

Logging

おはようございます、月曜日の朝は憂鬱だね🙄。

さて、深いビジネス話が聴きたいビジネスマンや意識高い系にフォーカスを置いてメディアサービスを提供しているPIVOTという配信サービスが伸びてきている気がしますので改めて紹介します。PIVOTはスマホアプリ片手で新鮮な情報、深い話が聞けるのはPIVOTだけだと思っています。今のところこういうサービスは他にないですね。

【超円安時代の資産の増やし方】4000億円ファンドマネジャーの思考法/労働者1.0と労働者2.0の違い/ジブンポートフォリオを創れ/トヨタでもテスラでもなくフェラーリを買う理由/投資家思考の3つの特徴
PIVOT

NewsPicks StudiosのCEOだった佐々木紀彦 社長が立ち上げただけあってPIVOT(ピポッド)は質と方向性が今に合っているような気がします。そしてPIVOTはNewsPicksとは何だか敵対関係というよりは、相乗効果のある良きライバル的な立ち位置になりそうな気がします。NewsPicksとは少し色が違うのかなって見ていて思います、WEBでも公開しているNewsPicksとは違いモバイル端末で完結しているPIVOT。恐らくPIVOTはモバイル端末完結型でこれからも配信していくというのが自分の読みです。

【インフレ・不況時代の投資戦略】世界はすでに不況/日本はスタグフレーション/「株式の死」に備えよ/FRBが利上げする3つの理由/S&P500も横ばう?/成長率と参入障壁/コストコの最強ビジネスモデル

これから、YOUTUBEチャンネルが何処まで伸びるかで今後が決まりそうです。

著者名  @taoka_toshiaki

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

タグ

2, CEO, newspicks, PIVOT, Studios, web, アプリ, これ, サービス, スマホ, ところ, ニッチ, ビジネス, ビジネスマン, ピポッド, フォーカス, メディア, モバイル, ライバル, , , 位置, 佐々木, 公開, 労働者, 効果, 完結, 少し, 情報, 意識, 憂鬱, 戦略, 提供, 敵対, 新鮮, 方向性, 月曜日, , , 無料, 片手, , 相乗, 社長, 端末, , 紀彦, 紹介, , , , 違い, 配信, 関係,

映画、護られなかった者たちへを観ました。遅れながら。 #映画レビュー #感想

2022.10.16

Logging

おはようございます、おはよう御座います二回書いてみました😋。

さて、今日は映画、護られなかった者たちへという作品を観ました。結構、重い内容の映画ですが観てよかったと思います。この作品は今、上手く行っていない人達が見ると思うところがあるじゃないかって思います。

映画『護られなかった者たちへ』特報(ロングver.)

自分もあまり上手く人生が行っているとは言えないものの、何とかなっているのは少なからず人との縁だったり、良い映画作品に出会っているお陰なのかなって思います。人との出会いで人生が変わったり、一つの映画作品を観るだけで考え方が変わったりする事もあると思います。

今回観た、護られなかった者たちへという映画はまさにそんな映画になっています。良い映画に出会えました。

著者名  @taoka_toshiaki

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

タグ

お陰, ところ, レビュー, 一つ, , , , 人生, , 今回, 今日, 作品, 内容, 感想, 映画, , 考え方, , 自分,

制限付きのクロンを無限寿限無にする方法。 #php #無限 #cron

2022.10.12

Logging

おはようございます🦏。昔の文章を読んでくれて今の記事を読まないユーザーさんがいます、凹む😖。

さて、今日はさくらレンタルサーバーでcronを制限以上に使う方法を数年前に書いた記事が未だに読まれたりするのでプログラムコードを直してタイトルも直してQiitaGithubにUPしました。

そのUPした記事があまりアクセスが跳ねなくて少しがっくりしたのがスポーツの日の朝の事です。Qiitaは何だか触りの記事かとても専門性の高い記事が人気を集めるだなって事を、この頃理解したのですが、自分は何方にも寄っていない記事なので跳ねないのかも知れません。

ソースコード貼り付けて置きます。尚、使い方などはQiitaGithubを参照してください。

<?php
date_default_timezone_set('Asia/Tokyo');
class cron
{
    public function __construct(mixed $filepath = "")
    {
        $val = @file_get_contents($this->pval($filepath));
        $obj_ = @json_decode($this->pval($val));
        $obj = (object)[];
        foreach ($obj_ as $key => $value) {
            $obj->name = "month";
            $obj->val = $value->m;
            if ($flg = $this->trigger_check($obj,"m",1,12)) {
                $obj->name = "day";
                $obj->val = $value->d;
                if ($flg = $this->trigger_check($obj,"d",1,31)) {
                    $obj->name = "hour";
                    $obj->val = $value->H;
                    if ($flg = $this->trigger_check($obj,"H",0,23)) {
                        $obj->name = "minutes";
                        $obj->val = $value->i;
                        if ($flg = $this->trigger_check($obj,"i",0,59)) {
                            $obj->name = "week";
                            $obj->val = implode(",", $value->w);
                            if ($flg = $this->trigger_check($obj,"w",0,0)) {
                                $this->command($value->command);
                            }
                        }
                    }
                }
            }
        }
    }
    public function command(mixed $command_val = "")
    {
        $command_val = $this->pval($command_val);
        exec($command_val . " > /dev/null &");
        // print "よろしくお願いします~~~!!".PHP_EOL;
        return true;
    }

    public function pval(mixed $val = "")
    {
        if (is_array($val)) {
            foreach ($val as $key => $value) {
                $val[$key] = strip_tags($value);
            }
        } else {
            $val = strip_tags($val);
        }
        return $val;
    }

    public function trigger_check(mixed $variable = "",mixed $d="",int $min=0 ,int $max=0)
    {
        if (!$variable) return false;
        if ($variable->val === "*") return true;
        switch ($variable->name) {
            case 'week':
                $value = @explode(",", $variable->val);
                return (int)$value[(int)date($d)] === 1 ? true : false;
                break;
            default:
                if (preg_match("/^(\*\/[0-9]{1,})$/", $variable->val)) {
                    $value = @explode("*/", $variable->val)[1];
                    if (is_numeric($value) && $value >= $min && $value <= $max) {
                        return (int)date($d) % $value === 0 ? true : false;
                    }
                }
                if (preg_match("/^([0-9]{1,}\,{1,})/", $variable->val)) {
                    $value = @explode(",", $variable->val);
                    $value = array_map('intval', $value);
                    return in_array((int)date($d), $value, true) === true ? true : false;
                }

                $value = (int)$variable->val;
                if (is_numeric($value) && $value >= $min && $value <= $max) {
                    return $value === (int)date($d) ? true : false;
                }
                return false;
                break;
        }
        return false;
    }
}

if($argv[1]){
    //argv
    new cron($argv[1]);
}


著者名  @taoka_toshiaki

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

タグ

39, Asia, class, cron, date, default, github, lt, php, public, qiita, set, timezone, Tokyo, UP, アクセス, クロン, コード, サーバー, さくら, スポーツ, ソース, タイトル, プログラム, ユーザー, レンタル, , 人気, , 今日, 何方, 使い方, 制限, 参照, 寿限無, 専門性, 少し, , 文章, 方法, , , , 未だ, 無限, 理解, 自分, 記事, ,

WP予約投稿ツイートプラグイン作り方。#php言語 #code #v2

2022.10.11

Logging

おはようございます😤 お仕事に飢えてます…寒い季節ですね…。

さて、今日はWP予約投稿ツイートプラグイン作り方を記載していきます。ワードプレスでプラグインを作る場合はWordPressの下記の場所に任意のフォルダを作り、その中にディレクトリ名(任意名)と同じファイル名でphpファイルを作ります。※昔の名残なので今は命名が違っても動くかも知れませんが・・・。

cd /wp-content/plugins
mkdir mytweets
vi mytweets.php

そして、命名したファイル名を開き、ファイルの上部に下記のコメントを記載します。プラグイン名やプラグインの説明、プラグインバージョンをそれぞれ変更して頂き保存、その後サーバーサイドにアップロードします(フォルダごと)。

<?php
/*
Plugin Name: My tweets
Description: tweets
Version: 1.0
*/

これで何も動作しないプラグインが出来上がります。

後はコマンドラインからプラグインフォルダにcomposerをインストールしtwitteroauthのライブラリを入れます。

此処までが前手順です。此処までで挫折した人は結構いると思います🙄。

因みに此処までの事がすんなりと出来る人は、このブログの情報は必要ないものです。なのでココからはソースコードを記載します。WP予約投稿ツイートプラグインなんてオチャノコサイサイだと思います。

<?php
/*
Plugin Name: My tweets
Description: tweets
Version: 1.0
*/
if (!defined('ABSPATH')) exit;
require_once  "tw-v2-config.php";
require_once  "./vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

function mytweets($new_status, $old_status, $post)
{
    
    if ($new_status == 'publish' && $old_status != 'publish') {
        try {
            $connection = new TwitterOAuth(APIKEY, APIKEYSECRET, ACCESSTOKEN, ACCESSTOKENSECRET);
            $connection->setApiVersion('2');
            $response = $connection->post('tweets', ['text' => get_the_title($post->ID) . "\n" . get_permalink($post->ID)], true);
        } catch (\Throwable $th) {
            //throw $th;
        }
    }
}
add_action('transition_post_status', 'mytweets', 10, 3);

上記のコードを記載した上で上書き保存&アップロードします。その後ワードプレスの管理画面よりプラグインを有効にして出来上がり、今回はtwitteroauthのライブラリを使用しましたがcrulなどのを理解している人はライブラリは特に必要ないのかなとも思います。ライブラリを使用すればお手軽ですが、万が一何かあった時に困るのでライブラリを使用せずにコードを書くという方もいらっしゃると思います。

自分も極力、公式のライブラリしか使わないようにしています🙇。

トイウコデ、ワードプレスのプラグインの作り方でした。

著者名  @taoka_toshiaki

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

タグ

2, cd, Code, description, lt, mkdir, My, mytweets, name, php, plugin, plugins, Tweets, Vers, vI, WordPress, wp, wp-content, アップロード, お仕事, コメント, サーバー, それぞれ, ツイート, ディレクトリ, バージョン, ファイル, フォルダ, プラグイン, プレス, ワード, 上部, 下記, , 予約, , 今日, 任意, 作り方, 保存, 名残, 命名, 場合, 場所, 変更, 季節, , 投稿, , 言語, 記載, 説明,

Photo by Pixabay on Pexels.com

何気なく書いていた事が結構な確率で当たる。#未来予知 #高的中か?

2022.10.09

Logging

おはようございます、コロナが収まりそうなのに戦争はまだ収まりそうにないです。ロシアは領土を奪って何得なんでしょうか。意味が分かりません。

さて、過去のブログ記事を定期的に見たり修正したりしています。これを行う理由は一つだけ意味不明な文章表現があり本人しか意味がわからないモノが存在します。その為、定期的に変な文章は直したりしています。

Tesla AI Day in 23 Minutes (Supercut) (2022)

毎日書けば文章力や表現力は、どんな人でもUPします。泥臭いことですが技術力を上げようと思ったらひたすら真っすぐ頑張るしか無いです。必要な知識は日々の勉強でしか埋め合わせは出来ないです、技術や知識を身につける方法はひたすら覚える事から始まります。覚えて基礎が身につけば応用学習するその反復を行って身につく。この方法しかなく脳にデータをインストールは今のところ出来ない、記憶力は人それぞれなので、身につく事が早い人と遅い人がいるけれど反復学習をすれば身につきます(脳に障害がある人は難しいけども)。

タイトルの話になりますが、結構な確率で自分の未来予想があたっているなって最近思います。特に科学的な進歩や社会にどう浸透していくなどは、結構、的を得た予想をしているなと自画自賛😐。未来予測が当たっても何の得にもならないけれどもアタルのは良いことです。

此処で一つ未来予想を書きます、昨日きな臭い記事の書いたけど、来年の夏までにはロシアVSウクライナの戦争は終わるじゃないかって思っています、なんかそんな気がします。

著者名  @taoka_toshiaki

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

タグ

UP, インストール, こと, これ, コロナ, それぞれ, データ, ところ, ブログ, もの, ロシア, 一つ, 不明, 予知, , , , 修正, 勉強, 反復, 基礎, , 存在, 学習, , 必要, 応用, 意味, 戦争, 技術, 技術力, 文章, 文章力, 方法, 日々, 未来, 本人, 毎日, , 理由, 的中, 知識, 確率, 結構, , 表現, 表現力, 記事, 記憶力, , 過去, 障害, 領土,

Photo by Gladson Xavier on Pexels.com

戦争や何か物騒なことが今にも起こりそうな気配だった #war #きな臭い

2022.10.08

Logging

おはようございます。この頃、北朝鮮ミサイルが飛んでくるようになりました。

これが戦争にならないことを切に願うと共にウクライナとロシアの戦争も年内に終止符になって欲しい所です。戦争して何も生まれない、生まれるのは憎しみ合う気持ちだと思います。独裁国家は滅びる、どんな国でも独裁国家は滅びてきました。一個人が権力を持つとろくなことが起きない。そしてその人物がどんなに賢くても国は滅びます。

映画『囚われた国家』予告篇|4.3[金]全国公開

映画、囚われた国家に描かれているような国が世界に何ヶ国かあると思いますが、時間はかかると思いますが諦めずに戦うしか無いのだと。まだ日本は戦争になってない国ではあるものの、今後、どうなるのか本当に読めないです。ただ、中国は最後の最後まで動かないと思います。

著者名  @taoka_toshiaki

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

タグ

war, ウクライナ, こと, これ, ミサイル, ロシア, 一個人, 世界, 中国, 人物, , 今後, , 何ヶ国, 北朝鮮, , 国家, 年内, 憎しみ, 戦争, , 日本, 映画, 時間, 最後, 本当, 権力, 気持ち, 気配, 物騒, 独裁, 終止符, ,

数珠繋ぎのツイートシステムに予約機能を付けました😂 #php #code

2022.10.07

Logging

おはようございます、偏頭痛持ちは雨が降るが一番大変です☔。

先日、数珠繋ぎのツイートシステムを作ったのですが、そのシステムに予約機能を付けました。尚、TwitterAPIのバージョン2でスケジュールのパラメーターが今のところ無いですね。これから先、機能が付くかも知れないですが今のところ無いようです。因みにソースコードは近日中にQiitaGithubにUPします。此処ではソースコードの一部を掲載します(※記事を更新しました下へスクロール🫠)。

Twitter API v2 ツイート数珠繋ぎ

尚、crontabでPHPファイルを叩くようにしています、あと注意事項ですが予約を一度した投稿については変更等は出来ません、編集機能等の機能追加の予定はないです。また、予約管理はsqlite3を使用して管理しています。

<?php
date_default_timezone_set('Asia/Tokyo');
ini_set("display_errors",0);
require_once "./data/tw-config-v2.php";
require_once "../vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

class tw
{
    var $connection = null;
    var $pdo = null;
    function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET, ACCESSTOKEN, ACCESSTOKENSECRET);
        $this->connection->setApiVersion("2");
    }
    function db_connection()
    {
        try {
            //code...
            $res = $this->pdo = new PDO("sqlite:./data/tw-tweets-db.sqlite3");
        } catch (\Throwable $th) {
            //throw $th;
            //print $th->getMessage();
            $res = false;
        }
        return $res;
    }

    function timecheck($timeonoff, $times)
    {
        if (!$timeonoff) return true;
        $n = new DateTime();
        $t = new DateTime($times);
        return $t <= $n ? true : false;
    }

    function pickup_tweets(mixed $tw_text = null, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        if (!$times) return false;
        $obj = (object)[];
        $times = preg_replace("/\-/", "/", $times);
        $times = preg_replace("/T/", " ", $times);

        if ($this->timecheck($timeonoff, $times)) {
            if (isset($tw_text) && is_array($tw_text)) {
                foreach ($tw_text as $key => $value) {
                    if (preg_replace("/[ | ]/", "", $value)) {
                        $obj = !$key ? ($this->connection->post("tweets", ["text" => $value], true)
                        ) : ($this->connection->post("tweets", ["reply" => ["in_reply_to_tweet_id" => $obj->data->id], "text" => $value], true)
                        );
                    }
                }
                return true;
            }
        } else {
            return $timeonoff ? $this->save_sqlite($tw_text, $timeonoff, $times, $id): true;
        }
    }

    function save_sqlite($tw_text = null, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        if ($this->db_connection()) {
            try {
                //code...
                if (isset($tw_text) && is_array($tw_text)) {
                    foreach ($tw_text as $key => &$value) {
                        if (preg_replace("/[ | ]/", "", $value)) {
                            $stmt = $this->pdo->prepare("insert into tweets (tw_id,user,times,tw_text)values(:tw_id,:user,:times,:tw_text)");
                            $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                            $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                            $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                            $stmt->bindValue(":tw_text", $value, PDO::PARAM_STR);
                            $stmt->execute();
                        }
                    }
                }
                $this->pdo = null;
                return true;
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }
    }
    function tweets_load(string $id = "")
    {
        if (!$id) return false;
        try {
            //code...
            $value = null;
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("select * from tweets where user = :user order by times,tw_id asc;");
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $res = $stmt->execute();
                $value = $res ? $stmt->fetchAll() : false;
                $this->pdo = null;
            }
            return $value;            
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
    }
    function tweets_update(int $key = 0, int $timeonoff = 0, mixed $times = null, string $id = "",mixed $tw_text="")
    {
        try {
            //code...
            if(!preg_replace("/[ | ]{0,}/","",$tw_text))return false;
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("update tweets set tw_text = :tw_text where tw_id = :tw_id and user = :user and times = :times");
                $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                $stmt->bindValue(":tw_text", $tw_text, PDO::PARAM_STR);
                $stmt->execute();
                $this->pdo = null;
            }
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
        return true;

    }

    function tweets_delete(int $key = 0, int $timeonoff = 0, mixed $times = null, string $id = "")
    {
        try {
            //code...
            if ($this->db_connection()) {
                $stmt = $this->pdo->prepare("delete from tweets where tw_id = :tw_id and user = :user and times = :times");
                $stmt->bindValue(":tw_id", $key, PDO::PARAM_INT);
                $stmt->bindValue(":user", $id, PDO::PARAM_STR);
                $stmt->bindValue(":times", $times, PDO::PARAM_STR);
                $stmt->execute();
                $this->pdo = null;
            }
        } catch (\Throwable $th) {
            //throw $th;
            return false;
        }
        return true;
    }

    function bat_tweets(mixed $value = null)
    {
        if (!$value) return false;
        $obj = (object)[];
        $t = "";
        foreach ($value as $key => $val) {
            if ($this->timecheck(1, $val["times"])) {
                $obj = ($val["times"]<>$t)? ($this->connection->post("tweets", ["text" => $val["tw_text"]], true)
                ) : ($this->connection->post("tweets", ["reply" => ["in_reply_to_tweet_id" => $obj->data->id], "text" => $val["tw_text"]], true)
                );
                $this->tweets_delete($val["tw_id"], 1, $val["times"], $val["user"]);
                $t = $val["times"];
            } else {
              //  var_dump($val);
              //  break;
            }
        }
    }
}

if ($argv[0]) {
    $tw = new tw();
    $value = $tw->tweets_load(xss_d($argv[1]));
    $tw->bat_tweets($value);
}
function xss_d($val = false)
{
    if (is_array($val)) {
        foreach ($val as $key => $value) {
            $val[$key]  = strip_tags($value);
            $val[$key]  = htmlspecialchars($val[$key]);
        }
    } else {
        $val  = strip_tags($val);
        $val  = htmlspecialchars($val);
    }
    return $val;
}

追記:予約編集機能なども付けました🙄。

GithubとQiitaのリンクはこちらです。
Github:https://github.com/taoka-toshiaki/tweets-system-box1
Qiita:https://qiita.com/taoka-toshiaki/items/5ef12b60b267742bf584

著者名  @taoka_toshiaki

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

タグ

2, , 39, Asia, Code, crontab, date, default, github, ini, lt, php, qiita, Se, set, Sqlite, timezone, Tokyo, TwitterAPI, UP, コード, これ, システム, スクロール, スケジュール, ソース, ツイート, ところ, バージョン, パラメーター, ファイル, 一部, , 予定, 予約, 事項, , 使用, 偏頭痛, , 先日, 変更等, 大変, 投稿, 掲載, 数珠繋ぎ, 更新, 機能, 機能等, 此処, 注意, 管理, 編集, 記事, 近日, 追加, ,

Photo by Pixabay on Pexels.com

Twitter-API-v2ツイート数珠繋ぎ #コード公開 #php

2022.10.04

Logging

おはようございます。土日祝も関係なくブログは毎日書いています🤮。

さて、今日はPHP言語でTwitterAPIバージョン2(v2)を使用してツイート数珠繋ぎをする方法を抜粋して記載していきます。こういうコードは今のところ出回っていないようです。少し調べれば公式サイトに記載しているのだけども・・・。まだ、日本語に対応した記事が少ないようです。v2でツイートする方法やリツイートする方法は何故かあるのだけどリプライ(Reply)[/statuses/update]する方法が記事としては記載していなかったので?記載します。

<?php
require_once "vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

class tw{
    var $connection = null;
    function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET,ACCESSTOKEN, ACCESSTOKENSECRET);
        $this->connection->setApiVersion("2");
    }

    function pickup_tweets(mixed $tw_text=null){
         $obj = (object)[];
        if(isset($tw_text) && is_array($tw_text)){
            foreach ($tw_text as $key => $value) {
                if(preg_replace("/[ | ]/","",$value)){
                    $obj = !$key?(
                        $this->connection->post("tweets", ["text" =>$value], true)
                    ):
                    (
                        $this->connection->post("tweets", ["reply"=>["in_reply_to_tweet_id"=>$obj->data->id],"text"=> $value], true)
                    );
                }
            }
            return true;
        }
        return false;
    }
}

最初に結論とコードのアルゴリズムに付いて解説します。まず、tweetsのパラメーターでリプライ出来るように変更されています。v1.1とはそこが変わっているので同じ仕組みを検索しがちですがそれでは検索にヒットしないようです🤔。まずはエンドポイントの変更点の確認が必要みたい👏。

エンドポイントのv1.1からv2への対応表

エンドポイントのv1.1からv2への対応表が公式から出ているので確認してみてください↑。

次にコードの解説ですがまずTwitterOAuthライブラリをインストールを行い、defineなどの設定なども考慮した上で実行してみてください(コードに追記記載が必要)。変数、$tw_textは配列です。また投稿する文字が入っていると考えてください。そしてこのコードを下記のような考え方で実行してみてください。

<?php
       require_once "tw-index.php";
       $tw_text[0] ="test1";
       $tw_text[1] ="test2";
       $tw = new tw();
       if($tw->pickup_tweets($tw_text)){
        $ret["msg"] = "ok";
       }else{
        $ret["msg"] = "NG";
       }
       var_dump($ret);

※前提条件としてtwitter社にAPIの申請を行って受理されている事。

Twitter API v2 ツイート数珠繋ぎ

これで思った通り実行出来たと思います。尚、自分のように管理画面などを作って数珠繋ぎの投稿するのも良いかも知れません🫠。

著者名  @taoka_toshiaki

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

タグ

2, Abraham, autoload, class, connection, function, lt, null, once, php, quot, Reply, require, statuses, tw, Twitter-API-v, TwitterAPI, TwitterOAuth, UPDATE, use, var, vendor, コード, サイト, ツイート, ところ, バージョン, ブログ, リツイート, リプライ, , 今日, 使用, 公式, 公開, 土日, 対応, 少し, 抜粋, 数珠繋ぎ, 方法, 日本語, 毎日, , 言語, 記事, 記載,