@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
SNSすれっずのここを直してほしいは一つだけ。
2023.07.14
おはようございます、SNSすれっずのここを直してほしいは一つだけです。スレッズとは旧フェイスブックが作ったTwitterのようなSNSサービスです。そのスレッズを二、三日使用してみた感想はまぁTwitterに似てるよね。でもフォローしていない人のつぶやきも表示されるのが、ちょっと困る。Twitterにもおすすめ機能があるのだけど、Twitterと違って結構、NG系(グロい)がたまに表示されたりします。
そこがTwitterとは違うところですね。それさえなければ全然良いのだけどそれがあるので今のところ、自分はスレッズはサブで使用する感じですね。あとこれがそのうち登場するだろうけど、開発者向けにAPIを公開してほしいなぁと思っています。これは先の話だと思いますがメタ(旧フェイスブック)社も実装するとは思っています。
トイウコトデ、ここ直してほしいでした~🐓。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
API, NG系, SNSサービス, SNSすれっ, Twitter, うち, おすすめ機能, グロい, サブ, スレッズ, トイウコトデ, ところ, メタ, 人, 先, 感想, 旧フェイスブック, 自分, 話, 開発者向け,
あなたの感想やご意見などをお聞かせ下さい。
2023.05.24
おはようございます、あなたの感想やご意見などをお聞かせ下さい。この頃、記事のネタに困っておりまして、記事にフォームを設けることにしました。設置することにより一方的な配信から少しは改善するかなという思いもあります。設置しても大体、コメントを書いてくれる人って稀な存在なのかもしれません。
こういう所は指定して頂けると有り難いです、例えばプログラムコードが間違っているとかの問題や解説文が変だとかいうのは、極力少なくしたいですけど、中々、過去のプログラムにまで手がまわらないので・・・・。
因みになんですが、このブログはもう5年以上続いています。自分が書けなくなるまで書いていこうと思います。個人的見解がほぼ大半を占めるのですが、たまに自分が書いた過去記事を読んであのときはこういう考えだったんだと思うところがあったり、これは不味いなと言うような記事もあったりします。そういう記事を見つけたら自分で極力アップデートしていってます、、、、。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アップ, あなた, コメント, ご意見, ところ, ネタ, フォーム, プログラム, プログラムコード, 問題, 大半, 少し, 感想, 所, 手, 見解, 解説文, 過去, 過去記事, 配信,
先週は予約投稿ではなくリアルな投稿でした。#ムビチケ
2023.05.21
おはようございます、先週は予約投稿ではなくリアルな投稿でした。今週は予約投稿です。
先週、予約投稿だったのには訳があって休日に熱を出していたので予約投稿を書く暇がなかったのです、今週からまた、基本的に予約投稿で書いていきます。
今月、翌月から8月までいろいろと観たい映画があって結構楽しみです。どれも気になる作品ばかりですが、6月から映画のチケット代が上がってしまって2000円になりました、1800円の時も高いなと思っていたのですが、2000円は高いぞ。そういう訳もあってムビチケで映画のチケットを購入するようになってます。ムビチケで購入すると1500円で映画のチケットが大体購入出来ます。
但し上映している映画を全て取り扱っている訳では無いので、たまに2000円払わないといけない物もあるので注意が必要です。でも、CMや広告を出している映画はムビチケで購入出来ます。
今のところ、6月になっても値は上がらないようです。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1800円, 2000円, CM, チケット, チケット代, ところ, ムビチケ, 予約投稿, 休日, 作品, 値, 全て, 広告, 映画, 気, 注意, 熱, 物, 翌月, 訳,
映画、最後まで行く。韓国映画リメイク版。#激ヤバ
2023.05.20
おはようございます、最後まで行くを昨日観てきました。自分は単純なので笑いを堪える場面が数箇所ありました。映画自体はかなりヤバイストーリーです、最後の最後まで見応えたっぷりで激ヤバです。
これを観たあと、韓国版の最後まで行くも観てみたいなって思いましたから、不思議。特に落ちは日本版と韓国版では違いがあるのかなど、気になるところですよね。因みに自分の記憶だとネットフリックスで韓国版の最後まで行くが見えるようになっていたと思います。
まとめ、いや~ほんと、普通の映画じゃない激ヤバ映画でした・・・。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
かなりヤバイストーリー, ところ, ネットフリックス, まとめ, ヤバ映画, 数箇所, 日本版, 映画, 映画自体, 最後, 気, 笑い, 自分, 見応え, 記憶, 韓国版,
迷ったら買えという言葉が正しいのか? #FF16
2023.04.20
おはようございます。朝起きたらYOUTUBEのオススメにこれが出てきました(笑)。ファイナルファンタジー16の盛りだくさんな映像です。これを見てしまうと悩ましいですね、今までのFFとはかなりの差別化です、もう別次元でついていけない人もいるじゃないのかな?
自分も迷っていて、あまりアクションプレイは出来ないのですね。そんな人のためにも補助機能があるので大丈夫そうだとは思います。一番悩んでいるのがPS5を購入しないと今のところ、FF16が遊べないということです。一年後にはSteamとかで発売されていることだと思いますが、どうなんかなぁ。
6月に発売されるということ・・・。悩んだら買えで買っちゃう確率も自分の場合、全然あるのでもうしばらく悩み続けることにします。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
6月, FF, FF16, PS5, STEAM, アクションプレイ, かなり, ところ, ファイナルファンタジー16, 一年後, 人, 別次元, 差別化, 映像, 朝起きたらYOUTUBE, 確率, 笑, 自分, 補助機能,
映画、生きるを観てきました。 #感想 #リメイク
2023.04.03
おはようございます、映画、生きるを観てきました。感想は意外にも良かったです、武士道的な話なのかもなって思いますが、その心は紳士にも繋がるところがあるなって思います。結構、ぐっとこみ上げてくるものがありました😭。
この映画は女性向けというよりは男性向きの映画かも知れませんが、なんか、人生を考えるきっかけになったり、支えになる結構意味深な映画かなって感じましたね。そして、どんなに文明が発展しても人の心は変わらないものかもなって思いました。
生きるとは何だの一つの答えなのかも知れません。そして、あらためて黒澤明監督は偉大さな人だとも思いました、今の時代にリメイクさせようと思わせる作品を残したわけですからね。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
きっかけ, ところ, 一つ, 人, 人生, 作品, 女性向け, 心, 意味, 感想, 文明, 映画, 時代, 武士, 男性向き, 紳士, 話, 黒澤明監督,
43インチだけにした話。 #display43inch
2023.03.30
おはようございます、今までメインのパソコンでは4画面を使用して作業をしていたのだけど、この度、1画面だけの液晶ディスプレイに変更しました。一画面だけど43インチという普通は選択しないような画面の大きさなのですが、こちらの方が使いやすさを感じます。
使い方は1画面を分割して使用するで4画面を並べていたのとさほど変わらないのですが、電気代は確実に減りましたね。エコですね~。
このディスプレイにしてのデメリットは液晶ディスプレイが壊れたときに、スペアがなければ作業が出来なくそれだけが唯一のデメリットですが、今まで使用していたディスプレイは2台ほど残しておくのでそこら編は今のところ大きなデメリットではありません。
あとの2台のディスプレイは売却しディスプレイアームも売りました。そして、新たなディスプレイアームと43インチとサブディスプレイという組み合わせです。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2台, 43インチ, 4画面, エコ, サブディスプレイ, スペア, そこら編, ディスプレイ, ディスプレイアーム, ところ, パソコン, メイン, メリット, 作業, 使い方, 唯一, 度, 液晶ディスプレイ, 画面, 電気代,
世界2.0を今頃、読了しました。人となり。
2023.02.19
おはようございます。
昨日、皮膚科の待ち時間に世界2.0を読了しました。数日前に「ダァー」って読んで8割ぐらい読了していたので、あと2割しか読むところがなかったので待ち時間に読了。
中盤、自分が知らないキーワードとかも出てきたりしたので良い発見も有りました。因みにテクノロジーに疎い人が読むとこの本に記載された事全てが新鮮に伝わること間違いないです。
知らないことを知るということはとても良いことですよね😄。
自分が印象にとても残ったのは、テクノロジーとかよりも佐藤航陽さん自身のことを書かれていた最終章ですね。その章を読むと人となりを垣間見えることができます。なので、その章を読んだあと、最初の章を読むとテクノロジーが苦手な人でも頑張って読んでみようと思えるかも知れません。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2割, 8割, キーワード, ダァー, テクノロジー, ところ, 中盤, 人となり, 佐藤航陽さん自身, 全て, 印象, 待ち時間, 最初, 最終章, 本, 疎い人, 皮膚科, 章, 良い発見, 読了,
TwitterのAPIが有料になるのはなんとなく想像は付いていた。
2023.02.08
おはようございます、イーロン・マスクさん。
TwitterのAPIが有料になるのはなんとなく想像は付いていたけど、本当に有料化に踏み切るところがイーロン・マスクだと思った。今まで無料でAPI使えていたわけだから、グーの手も出ないという訳ではない。
多分、これで使えなくなるサービスは確実に出てくると思うけど、これ誰得なのか?何だかTwitter離れが加速しそうなそんな予感すらする。小鳥たちは大空へ羽ばたいて行く一方ですね。。。
因みに有料化になったら値段によりけりですが、お金を支払う可能性ありですが高額ならBOTはストップすることになります。
自分としてはBluesky Socialを推しています。Twitter創業者が関わっているサービスなのでもしかすると、広まる可能性が高い気がします。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
API, Bluesky Social, BOT, Twitter, Twitter創業者, Twitter離れ, イーロン・マスク, イーロン・マスクさん, グー, サービス, ところ, 予感, 値段, 大空, 小鳥たち, 想像, 手, 有料, 有料化, 訳,
南海トラフ巨大地震が起こる確率ある条件の下で。
2023.01.12
おはようございます、先日、南海トラフ巨大地震の発生確率の記事をニューズピックスで読みました、タイトルって大事ですよね。タイトルだけ読んだ人はご認識を生む場合があるような記事は如何なものかと思います。
その記事の内容を読むと南海トラフ巨大地震が起こる確率ある条件の下で4.3%~96%だそうです。正直なところまだ起きない気がするのですが、この4.3%の確率が5%を超えると恐らく3年以内に起きる可能性が高いじゃないかな。なので・・・今年は起きないかもしれないが、やはり数十年後には起きるかもしれないと思っていたほうが良い気がします。この確率はある条件の下での確率計算です。
それよりも室戸漁港の隆起量から南海トラフの確率を求めているサイトが当てになりそうです、この考えで行くと1999年に掲載された記事なので今後30年に発生する確率は26%~32%ぐらいです。2030年までは大丈夫な気がします。その後はやはり巨大地震は日に日に発生する確率が上がるので、恐らく2045年以降には必ず発生するもしくは発生していたという事になると思います。
地震予知が出来るようになれば良いですけど・・・難しそうですね。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
ご認識, タイトル, ところ, ニューズピックス, もの, 内容, 南海トラフ, 南海トラフ巨大地震, 可能性, 地震予知, 室戸漁港, 巨大地震, 条件, 気, 発生確率, 確率, 確率ある条件, 確率計算, 良い気, 隆起量,
ドラえもんは日本のディズニーかもなって。 #ネトフリ #STANDBYME2
2022.11.26
おはようございます、土曜日の朝、太陽に感謝!🙏
勤労感謝の日にこの記事は書いています、スタンド・バイ・ミードラえもん2を観ました。前作を観たのでその勢いで観ました。何かディズニー映画を観ているようなそんな感覚ですね。のび太を見ていると何だか頑張ろうってなりますし、そして何だか温かな気持ちになりますよね。
こういう作品を作っている人は心優しい人なんだろうなって思います。そして熱い情熱を持って作品を作っているのだろうなって見ていて感じました。藤子不二雄さんが描いていた未来とは違うところはいろいろとあるけれども、ロボットは登場しているし人工知能は着実に進化しています。
まとめ:未来は明るいと思って生きていけそうなそんな作品です、まさに日本のディズニーだと思いますし、夢がある作品だなって思います。子供に見せつつ大人が楽しんでいる作品なのかも。
昔懐かしいドラえもん是非、心温まる作品です。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, BY, ME, STAND, STANDBYME, いろいろ, スタンド, ディズニー, ところ, ドラえもん, ネトフリ, のび太, はい, まとめ, ミー, ロボット, 予告, 人, 人工, 作品, 前作, 勢い, 勤労, 土曜日, 夢, 大人, 太陽, 子供, 心, 情熱, 感覚, 感謝, 日, 日本, 映画, 朝, 未来, 気持ち, 登場, 着実, 知能, 藤子不二雄, 記事, 進化,
結局のところ、今が大事なのかもな。#雌伏
2022.11.20
おはようございます、どんより曇り空らしいですが晴れてるかも知れません😯。
さて、自分がフリー状態なのは自分が悪いからだと思っている。そうなったのは自分の責任でそこから、挽回するのも自分だと。正解には答えがないけど失敗には答えがあるわけで、失敗は改善すれば良いわけです。
時代のせいにはしないこと、時代が悪くても何とかなる人はいるわけですからね。人を恨んだり、人を貶したりしても何も意味がないのです。
そして本当に大事と思うなら諦めないことですよ、雌伏(はやぶさより)ですよ。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
こと, そこ, ところ, はやぶさ, フリー, わけ, 人, 今, 何, 大事, 失敗, 意味, 挽回, 改善, 時代, 曇り空, 本当, 正解, 状態, 答え, 結局, 自分, 責任, 雌伏,
ザ・プレイリストを観ました。 #シーズン1 #ネトフリ#Spotify
2022.11.15
おはようございます、日曜日(2022/11/13)は昼から高知県は夏日でしたね😯。
そんな日曜日にネトフリのザ・プレイリストを観ましたので感想なんかを書いていきます。ザ・プレイリストはSpotifyという会社の創業物語を色々な視点で描いた作品です。今では日本でも認知度は高めかと思いますが、昔はそれほど日本では認知度は高くなかった、そんなスポティファイは社名であり、音楽のストリーミングサービスのアプリ名でもあります。
今では、当たり前になったストリーミングサービスですが、ドラマを観ると技術面や著作権問題なんかでは、かなり苦労されている印象を受けました。特にこのサービスが上手くいったのは技術者と著作権問題をクリア出来たことにあると思います。
そしてプログラマーが難問を解く姿勢には頭下がりますね、本当に偉いなと思った次第です。最後にはルールを作って問題解決をしたところなんて、本当に凄い。天才プログラマー無くしてこのサービスは成り立っていないと・・・。
因みに後には残しての感想なのですが、恐らく印象は変わらないかなと思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 11, 13, 2022, Spotify, アプリ, かなり, クリア, こと, サ, サービス, シーズン, ストリーミング, スポティファイ, ところ, ドラマ, ネトフリ, プ, プレイ, プログラマー, リスト, ルール, 今, 会社, 作品, 創業, 印象, 問題, 夏日, 天才, 姿勢, 当たり前, 感想, 技術者, 技術面, 日曜日, 日本, 昔, 昼, 最後, 本当, 次第, 物語, 社名, 色々, 苦労, 著作権, 視点, 解決, 認知, 難問, 音楽, 頭, 高知県,
POSTとGETの考え方について伝えている動画。 #以心伝心
2022.11.12
おはようございます、11月なのに寒くないって不思議です😗温暖化。
さて、POSTとGETの考え方について無音声(音楽あり)で伝えている動画です、以心伝心で意味が通じると良いですが、それではブログを書いている意味がないので要点だけ解説します。POSTとGETとは、インターネット上でデータの送信を行うのに使用します。POSTの利点はデータを隠して送れることと、比較的に重いデータも送れることにあります。ではGET送信の利点は、SEOに有利と言ったところでしょうか。
今回、POST送信とGET送信を行い、PHPのプログラムでPOSTとGETを受信する方法を動画で伝えています。次回は非同期処理を使用して送受信を行う方法をプログラムで書いていきます。
HTMLとPHPプログラムは下記のソースを参照下さいませ🙇。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>demo site</title>
<style>
html {
width: 100vw;
height: 100vh;
}
body {
background-color: rgb(0, 0, 0);
color: aliceblue;
background-image: url(./assets/images/aig-mid22910-120-xl_TP_V.jpg.webp);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
div.box {
border-color: aliceblue;
border-style: inset;
position: absolute;
width: 300px;
height: 450px;
color: white;
border-radius: 1em;
padding: 1em;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
/* background-color: #ffffff80; */
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
overflow-wrap: break-word;
text-align: center;
}
div>form>p {
font-weight: bold;
margin: 13px;
}
input {
opacity: 0.5;
}
textarea {
opacity: 0.5;
}
button {
padding: 5px;
border-radius: 1em;
border-style: solid;
border-color: aliceblue;
background-color: aliceblue;
color: rgb(0, 0, 0);
}
button:hover{
border-color: rgb(255, 255, 255);
border-style: inset;
background-color: rgb(27, 76, 119);
color: aliceblue;
}
.put:nth-child(2){
overflow: auto;
height: 120px;
}
</style>
</head>
<body>
<div class="box">
<div id="box2">
<form action="submit.php" method="post">
<p>名前:<input type="text" name="name"></p>
<p><textarea name="text" id="" cols="30" rows="10"></textarea></p>
<p><button class="btn" type="submit">確認</button></p>
</form>
</div>
<div id="data">
<p class="put"></p>
<p class="put"></p>
</div>
</div>
<script src="./assets/js/main.js"></script>
</body>
</html>
<?php
var_dump(xss_d($_POST));
print(xss_d($_POST["name"])."<br>");
print(xss_d($_POST["text"])."<br>");
function xss_d(mixed $val){
if(!isset($val))return false;
if(is_array($val)){
foreach ($val as $key => $value) {
$val[$key] = strip_tags($value);
$val[$key] = htmlspecialchars($val[$key],ENT_QUOTES);
}
}else{
$val = strip_tags($val);
$val = htmlspecialchars($val,ENT_QUOTES);
}
return $val;
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
11, 2, css, DOCTYPE, GET, html, lt, no, php, POST, SEO, インターネット, こと, ソース, データ, ところ, ブログ, プログラム, 下記, 不思議, 今回, 以心伝心, 使用, 処理, 初学, 利点, 動画, 参照, 受信, 同期, 意味, 方法, 有利, 次回, 温暖化, 考え方, 要点, 解説, 送信, 送受信, 音声, 音楽,
htmlとcssとjavascript-初学フロント側-No.1#code
2022.11.07
おはようございます。今年もあと2ヶ月もないわけですよね早いものですね😮
htmlとcssとjavascript-初学フロント側-No.1という動画をYOUTUBEにUPしたのが昨日の9時のこと。これで理解出来るか、どうか分からない。解説もない教えもない、唯コードを書いているところを見せてるだけです。ソースコードは下記のサイトから参照できますが、次の動画作成のためにデザインや処理が変わっていたり、動作しなくなってたりするので注意が必要です。
https://358tool.com/sample-site/
自分はHtmlやcssはあまり覚えていないのですが、分かるのはそれなりに基本ベースがあるからだと思ってます。今からHtmlやcssを学ぶ人は全部を覚えようとはせずに、手を動かしてコードを書くことから始めて下さい。そのうち基本ベースは身につくことになると思います。
因みに自分が書いているclassの名前付けなどの書き方は駄目な書き方ですので、そういう所、お仕事として書く場合は会社によってキマりなんかが有りますので、そういう事まで知りたい人はこちらの動画を参照ください。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 2, 358, 9, cl, Code, com, css, html, https, javascript, no, sample-site, tool, UP, youtube, うち, コード, こと, これ, サイト, ソース, それなり, ため, デザイン, ところ, フロント, ベース, もの, 下記, 人, 今, 今年, 作成, 全部, 処理, 初学, 動作, 動画, 参照, 基本, 必要, 手, 昨日, 次, 注意, 理解, 自分, 解説, 身,
Qiitaのfeedを取得して表示するだけのコード非同期編? #phpcode
2022.11.06
おはようございます。昨日の続きのお話ですコードは金曜日に書きました😗。
動画を見ていただければわかるかと思いますが即興で書いたコードです、最後の最後でエラーってる!?ところなんかも編集していない所が伝わってくるかと思います。ちなみに画質HDのフル画面で見ないとコードは見えないかなって思います。
音声も今後入れていくかもしれません。
任意のユーザーを増やしたい場合はmain.jsの先頭行(2行目?)のqiitaIDに任意のIDを追加するだけで取得可能です。解説はなしですけど一応、何をやっているのかそれなりに、わかるように心がけたつもりです。あとは盗んで覚えてください😂。
ソースコードはこちらになります。
<?php
session_start();
$toke_byte = openssl_random_pseudo_bytes(16);
$csrf_token = bin2hex($toke_byte);
$_SESSION['csrf_token'] = $csrf_token;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<style>
.qiita_feed-list>li {
/* font-weight: bold; */
color: aliceblue;
}
.qiita_feed-list>li>a {
color: aliceblue;
}
body {
background-color: #60b111;
}
.shadow-lg {
box-shadow: 0 1rem 3rem rgba(255, 255, 255, .195) !important;
}
</style>
<title>Qiita-feed</title>
<?php
require $_SERVER['DOCUMENT_ROOT'] . "/header_script.php";
?>
</head>
<body>
<input type="hidden" id="csrf_token" value="<?= $csrf_token ?>">
<div class="container">
<div class="row">
<div class="col-12">
<h1 class="text-light">Qiita-feed</h1>
</div>
</div>
</div>
<div class="container mt-2">
<span id="view"></span>
Copyright <?= date("Y") ?> <a href="https://358tool.com">358tool.com</a>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script src="./js/main.js?<?= time() ?>"></script>
</body>
</html>
//qiita feed
["taoka-toshiaki","mpyw","suin"].forEach(id=>{
let data = {
csrf_token:document.getElementById("csrf_token").value,
feedid:[id]
};
let url = "./qiita-feed.php";
qiita_feed(url,data);
});
async function qiita_feed(url, data) {
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(data)
}
await fetch(url, options).then(response =>
response.json()
).then(resultdata => {
document.getElementById("view").insertAdjacentHTML("beforeend",resultdata.reshtmlcode)
}
).catch(error => {
console.log(error);
}
);
}
<?php
session_start();
$obj = json_decode(strip_tags(@file_get_contents("php://input")));
if (isset($obj)) {
if (isset($obj->csrf_token) && $_SESSION["csrf_token"] === $obj->csrf_token) {
$str ="";
foreach ($obj->feedid as $key => $id) {
$str.= '
<div class="row shadow-lg p-3 mb-5 bg-body rounded">
<div class="col-12">
🌿<span class="text-light">://qiita.com/' . xss_d($id) . '/feed :[引用]</span>';
$str .= get_Qiitafeed("https://qiita.com/" . xss_d($id) . "/feed");
$str .= '
</div>
</div> ';
}
$res["reshtmlcode"] = $str;
print json_encode($res);
}
}
function xss_d(mixed $val): mixed
{
if (is_array($val)) {
foreach ($val as $key => $value) {
$val[$key] = htmlentities($value, ENT_QUOTES);
}
} else {
$val = htmlentities($val, ENT_QUOTES);
}
return $val;
}
function get_Qiitafeed(string $feedUrl): string
{
$xml = @simplexml_load_file($feedUrl);
if (isset($xml->entry)) {
$str = "<ul class='qiita_feed-list'>";
foreach ($xml->entry as $key => $val) {
$str .= "<li><a href='{$val->url}'>" . $val->title . "</a></li>";
}
$str .= "</ul>";
}
return $str;
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, feed, HD, ID, JS, main, PHPCODE, qiita, qiitaID, あと, エラー, お話, コード, こちら, ソース, つもり, ところ, プル, ユーザー, 今後, 任意, 何, 先頭, 動画, 即興, 取得, 可能, 同期, 場合, 所, 昨日, 最後, 画質, 画面, 編集, 表示, 解説, 追加, 金曜日, 音声,
休みの日はアクセス数が少ないのを打壊したい人いる!?
2022.11.04
おはようございます、昨日は文化の日でお休みでしたね🫠。
アクセス数ゼロでも毎日のようにブログを書き続けて今のところ、二桁止まりですがアクセス数を維持しています。たまにプレビュー数だと三桁行く時がありますが、今はあまりですね~😗。
さて、そんな自分がアクセス数の増やし方を教えます。アクセス数を増やすには唯、流行の記事を追い求めるだけではダメです。未来を予想してその記事を書くこと。そしてまだ誰もその記事に付いて書いていない事が重要になります。
技術知見の二番煎じです、個人ブログでは検索サイトが拾ってくれません。なので、書くのはほぼ無駄です。たまに自分も書いたりしていますが検索にヒットすることは少ないです。技術知見を書くのなら出し惜しみせず、全力投球で書くことをオススメしますが、初学者への知見は書いても拾ってくれませんので、中級レベルの知見を書くことをオススメします。
上級者の知見は書いても無駄だと思っています。上級者ではないので分かりませんが、そもそも上級者になると論文やドキュメントで事が足りるから、わざわざそこら編を検索するという事は無くなるのではと思っています。
要約するとニッチな戦略で記事を書くべし!古い記事の上書き記事も有効😗
それらの事を注意して記事を量産すると徐々に記事を拾ってくれる確率は増えてきます✌。
尚、SEO戦略なんてブラックボックスのアルゴリズム=重箱(ブラックボックス)の隅のホコリを見つけてこれは宝石だと喜び合うことだと思います。人工知能が文章を理解するよう事を見据えて、今から人が理解できる文章を書くことをオススメします😋。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
アクセス, あまり, おすすめ, お休み, こと, サイト, たま, ため, ところ, ヒット, プレビュー, ブログ, レベル, 三, 上級, 上級者, 中級, 予想, 事, 二, 二番煎じ, 人, 今, 休み, 個人, 全力投球, 初学者, 技術, 数ゼロ, 文化の日, 日, 昨日, 時, 未来, 検索, 毎日, 流行, 無駄, 知見, 維持, 自分, 記事, 誰, 重要,
常時ディレクトリ監視を行う方法。 #CPU使用率 #炎上
2022.11.03
おはようございます。何だかアカウントを作ってまでコメントする人の考えがわからない🤔。
Qiitaに、このコードのsleep関数がないバージョンをアップしたら、何やらアカウントを作ってまでコメントする人が現れる、理由はCPU使用率がMax近くになるのが駄目だからです、そんな事は分かっているのが普通だと思っていたのだけども…例文として掲載するのも駄目だそうです、コピペで運用する人が結構いるのかもしれない。
正直なところ、そこまで叩かれるとは思っていなかったので、正直なところ驚きを隠せない。段々と世間の常識とズレていっている気がします😗。
昔はそういうコードは巷に溢れていたのにな・・・そんな事も出来なくなってきたのか・・・。
トイウコトデ、常時ディレクトリ監視を行い任意の画像ファイルだけ別のディレクトリへ移動するコードです。
nohup php File_Check.php &
├── File_Check.php
├── upload
└── data
<?php
while(true){
if($result = is_scandir("./upload")){
foreach($result as $key=>$value){
rename("./upload/$value","./data/$value");
}
}
sleep(3);
}
function is_scandir(string $dirname="",array $ext_list = ["png","jpg"]){
$is_filelest = [];
$result = scandir($dirname);
foreach($result as $key=>$value){
$ext = substr($value, strrpos($value, '.') + 1);
if(in_array($ext,$ext_list,false)!== false){
$is_filelest[] = $value;
}
}
return count($is_filelest)>0 ? $is_filelest : false;
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
check, CPU, file, max, nohup, php, qiita, sleep, アカウント, アップ, コード, コピペ, コメント, そこ, ディレクトリ, トイウコトデ, ところ, バージョン, ファイル, 世間, 事, 人, 任意, 使用, 例文, 別, 巷, 常時, 常識, 掲載, 方法, 昔, 普通, 正直, 段々, 気, 炎上, 理由, 画像, 監視, 移動, 近く, 運用, 関数, 駄目,
FINAL FANTASY XVI #AMBITION #野心
2022.10.30
おはようございます。PS5の在庫はどうなっているのでしょうか?
今日はFINAL FANTASY XVIのお話というか新たな予告が出たので、それを観た感想ですね。
さて、もはや凄すぎてついていけない、特に戦闘システムが不安だなって感じがします。FF7Rは何とかなりましたが、FF16は自分でもプレイが可能なのかが正直なところ不安でしかない。
グラフィック面やビジュアルは申し分なく、ストーリー展開も良さそうな気がするのだけども戦闘システムだけが不安。不安だけどもRPGももうこういう戦闘システムが一般的になってきているので、仕方が無いと言えばそれだけの事なのかもしれないけれども…。
FF16発売までに一番の不安はPS5が購入できるのかどうかが不安でしか無いですね。因みにPS4の値段も高騰しているのだとか・・・大丈夫だろうかソニーさん。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
16, 4, 5, 7, AMBITION, FANTASY, FF, FINAL, PS, RPG, XVI, お話, グラフィック, システム, ストーリー, ソニー, それ, それだけ, ところ, ビジュアル, プレイ, 一, 不安, 予告, 事, 今日, 値段, 可能, 在庫, 展開, 感想, 戦闘, 正直, 気, 申し分, 発売, 自分, 購入, 野心, 高騰,
phpでソケット受信をする事だけ覚えとけば良い。#php #code
2022.10.27
おはようございます。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
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0.0.0.0, API, Code, Composer, io, JS, localhost, node, php, ra, ratchet, require, Socket, webSocket, あれ, クライアント, こと, ご存知, サーバー, サービス, ソケット, ところ, ドメイン, なん, ライブラリ, 事, 今, 使用, 処理, 前提, 割愛, 受信, 可能, 名所, 定石, 常時, 意味, 接続, 有, 気, 確立, 自分, 送受信, 通信,
ポッドキャストの良さに気づく。 #Podcast #時間短
2022.10.24
おはようございます🌅。本日、ワクチン接種してきます💉💉💉💉。
さて、今になってポッドキャストの良さに気づいてしまいました。動画よりも効率的に情報収集ができます。ながら聞きが出来るので良い。ラジオと違ってダウンロードして聞くことが出来ます。また、ラジオと違うところは自分の聴きたい人、聴きたいジャンルを聞くことが出来ます。
尚、結構ポッドキャストでは無料で色々なジャンルの方が発信してたりしています。お試しじゃなくて全部、無料で話が聞けたりして凄くお得感があります。
ポッドキャストにはグーグルポッドキャストやApplePodcastなど色々なポッドキャストが存在しますが、前文で記載したポッドキャストを覚えておけば事足りると思います。また、ポッドキャストのようなWEBサービスでボイシーという物もあります。こちらのサービスは有名人もいるので良いじゃないかな。
自分もいつまで聞くかは分かりませんが、今は聴いていて飽きないですね。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
ApplePodcast, Podcast, web, いつ, お得感, お試し, キャスト, グーグル, こちら, こと, サービス, シー, ジャンル, ダウンロード, ところ, ボイ, ボット, ポッドキャスト, ラジオ, ワクチン, 人, 今, 全部, 前文, 動画, 収集, 存在, 情報, 接種, 方, 時間, 有名人, 本日, 無料, 物, 発信, 短, 自分, 色々, 記載, 話,
これ無料で見えるのか、これはニッチな戦略かな。 #的を得た #労働者2
2022.10.17
おはようございます、月曜日の朝は憂鬱だね🙄。
さて、深いビジネス話が聴きたいビジネスマンや意識高い系にフォーカスを置いてメディアサービスを提供しているPIVOTという配信サービスが伸びてきている気がしますので改めて紹介します。PIVOTはスマホアプリ片手で新鮮な情報、深い話が聞けるのはPIVOTだけだと思っています。今のところこういうサービスは他にないですね。
NewsPicks StudiosのCEOだった佐々木紀彦 社長が立ち上げただけあってPIVOT(ピポッド)は質と方向性が今に合っているような気がします。そしてPIVOTはNewsPicksとは何だか敵対関係というよりは、相乗効果のある良きライバル的な立ち位置になりそうな気がします。NewsPicksとは少し色が違うのかなって見ていて思います、WEBでも公開しているNewsPicksとは違いモバイル端末で完結しているPIVOT。恐らくPIVOTはモバイル端末完結型でこれからも配信していくというのが自分の読みです。
これから、YOUTUBEチャンネルが何処まで伸びるかで今後が決まりそうです。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, CEO, newspicks, PIVOT, Studios, web, アプリ, これ, サービス, スマホ, ところ, ニッチ, ビジネス, ビジネスマン, ピポッド, フォーカス, メディア, モバイル, ライバル, 今, 他, 位置, 佐々木, 公開, 労働者, 効果, 完結, 少し, 情報, 意識, 憂鬱, 戦略, 提供, 敵対, 新鮮, 方向性, 月曜日, 朝, 気, 無料, 片手, 的, 相乗, 社長, 端末, 系, 紀彦, 紹介, 色, 話, 質, 違い, 配信, 関係,
映画、護られなかった者たちへを観ました。遅れながら。 #映画レビュー #感想
2022.10.16
おはようございます、おはよう御座います二回書いてみました😋。
さて、今日は映画、護られなかった者たちへという作品を観ました。結構、重い内容の映画ですが観てよかったと思います。この作品は今、上手く行っていない人達が見ると思うところがあるじゃないかって思います。
自分もあまり上手く人生が行っているとは言えないものの、何とかなっているのは少なからず人との縁だったり、良い映画作品に出会っているお陰なのかなって思います。人との出会いで人生が変わったり、一つの映画作品を観るだけで考え方が変わったりする事もあると思います。
今回観た、護られなかった者たちへという映画はまさにそんな映画になっています。良い映画に出会えました。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
お陰, ところ, レビュー, 一つ, 事, 二, 人, 人生, 今, 今回, 今日, 作品, 内容, 感想, 映画, 縁, 考え方, 者, 自分,
何気なく書いていた事が結構な確率で当たる。#未来予知 #高的中か?
2022.10.09
おはようございます、コロナが収まりそうなのに戦争はまだ収まりそうにないです。ロシアは領土を奪って何得なんでしょうか。意味が分かりません。
さて、過去のブログ記事を定期的に見たり修正したりしています。これを行う理由は一つだけ意味不明な文章表現があり本人しか意味がわからないモノが存在します。その為、定期的に変な文章は直したりしています。
毎日書けば文章力や表現力は、どんな人でもUPします。泥臭いことですが技術力を上げようと思ったらひたすら真っすぐ頑張るしか無いです。必要な知識は日々の勉強でしか埋め合わせは出来ないです、技術や知識を身につける方法はひたすら覚える事から始まります。覚えて基礎が身につけば応用学習するその反復を行って身につく。この方法しかなく脳にデータをインストールは今のところ出来ない、記憶力は人それぞれなので、身につく事が早い人と遅い人がいるけれど反復学習をすれば身につきます(脳に障害がある人は難しいけども)。
タイトルの話になりますが、結構な確率で自分の未来予想があたっているなって最近思います。特に科学的な進歩や社会にどう浸透していくなどは、結構、的を得た予想をしているなと自画自賛😐。未来予測が当たっても何の得にもならないけれどもアタルのは良いことです。
此処で一つ未来予想を書きます、昨日きな臭い記事の書いたけど、来年の夏までにはロシアVSウクライナの戦争は終わるじゃないかって思っています、なんかそんな気がします。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
UP, インストール, こと, これ, コロナ, それぞれ, データ, ところ, ブログ, もの, ロシア, 一つ, 不明, 予知, 事, 人, 今, 修正, 勉強, 反復, 基礎, 変, 存在, 学習, 得, 必要, 応用, 意味, 戦争, 技術, 技術力, 文章, 文章力, 方法, 日々, 未来, 本人, 毎日, 為, 理由, 的中, 知識, 確率, 結構, 脳, 表現, 表現力, 記事, 記憶力, 身, 過去, 障害, 領土,
数珠繋ぎのツイートシステムに予約機能を付けました😂 #php #code
2022.10.07
おはようございます、偏頭痛持ちは雨が降るが一番大変です☔。
先日、数珠繋ぎのツイートシステムを作ったのですが、そのシステムに予約機能を付けました。尚、TwitterAPIのバージョン2でスケジュールのパラメーターが今のところ無いですね。これから先、機能が付くかも知れないですが今のところ無いようです。因みにソースコードは近日中にQiitaとGithubにUPします。此処ではソースコードの一部を掲載します(※記事を更新しました下へスクロール🫠)。
尚、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
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, 3, 39, Asia, Code, crontab, date, default, github, ini, lt, php, qiita, Se, set, Sqlite, timezone, Tokyo, TwitterAPI, UP, コード, これ, システム, スクロール, スケジュール, ソース, ツイート, ところ, バージョン, パラメーター, ファイル, 一部, 下, 予定, 予約, 事項, 今, 使用, 偏頭痛, 先, 先日, 変更等, 大変, 投稿, 掲載, 数珠繋ぎ, 更新, 機能, 機能等, 此処, 注意, 管理, 編集, 記事, 近日, 追加, 雨,