iphone14に買い替えたいけどね。#けどが付く。
おはようございます、昨日、試験を受けに市内に出かけておりました😤。
さて、iphone14に買い替えたいけど金銭的な余裕はあるにはあるだけど、収入が入ってきている訳では無いので、やはり買わないで置こうと思っているのですが・・・欲しいことは欲しいですね。
iPhone15になれば、USBタイプCに変わる可能性もあるので此処は我慢、我慢と思っています。因みにiPhone14 PROMAXを余裕で買える金額はあるにはあります。でもなぁ・・・今のiPhoneでも別によくてこの頃、撮影もしないからコレで良いじゃねと思っている所もあります。
でも、iPhone14で撮影した動画等を見ると買いだなって思うですよね🤑。
凄く悩みどころです、、、、。
今日は心のつぶやきをそのまま書いてみました、凄く優柔不断な文章になっています。最後に結論づけると毎月、固定収入が入ってきていたら間違いなくiPhone14購入しています👍。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
14, 15, iPhone, PROMAX, USB, こと, コレ, タイプ, 今, 今日, 余裕, 優柔不断, 動画, 収入, 可能性, 固定, 市内, 心, 我慢, 所, 撮影, 文章, 昨日, 最後, 此処, 毎月, 訳, 試験, 購入, 金額, 頃,
これ無料で見えるのか、これはニッチな戦略かな。 #的を得た #労働者2
おはようございます、月曜日の朝は憂鬱だね🙄。
さて、深いビジネス話が聴きたいビジネスマンや意識高い系にフォーカスを置いてメディアサービスを提供している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, アプリ, これ, サービス, スマホ, ところ, ニッチ, ビジネス, ビジネスマン, ピポッド, フォーカス, メディア, モバイル, ライバル, 今, 他, 位置, 佐々木, 公開, 労働者, 効果, 完結, 少し, 情報, 意識, 憂鬱, 戦略, 提供, 敵対, 新鮮, 方向性, 月曜日, 朝, 気, 無料, 片手, 的, 相乗, 社長, 端末, 系, 紀彦, 紹介, 色, 話, 質, 違い, 配信, 関係,
映画、護られなかった者たちへを観ました。遅れながら。 #映画レビュー #感想
おはようございます、おはよう御座います二回書いてみました😋。
さて、今日は映画、護られなかった者たちへという作品を観ました。結構、重い内容の映画ですが観てよかったと思います。この作品は今、上手く行っていない人達が見ると思うところがあるじゃないかって思います。
自分もあまり上手く人生が行っているとは言えないものの、何とかなっているのは少なからず人との縁だったり、良い映画作品に出会っているお陰なのかなって思います。人との出会いで人生が変わったり、一つの映画作品を観るだけで考え方が変わったりする事もあると思います。
今回観た、護られなかった者たちへという映画はまさにそんな映画になっています。良い映画に出会えました。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
お陰, ところ, レビュー, 一つ, 事, 二, 人, 人生, 今, 今回, 今日, 作品, 内容, 感想, 映画, 縁, 考え方, 者, 自分,
Next.jsやNuxt.js.コレやアレやでport80は使えない。
おはようございます、土日は雨が降るとか降らないとか🥕。
さて、Node.jsを飛び越えRact.js、Vue.jsを飛び越えてNext.jsやNuxt.jsの事を調べてたりデモページを起動してみたりして、わかったこと。コレはアプリ開発の為の道具なんだという事を改めて認識。
オープンなWebサーバーで動くように設計されていない。ポート80番上で動くように設計されていないのだから、この理由はnode.jsのインストール仕様や動作仕様が関係しているような気がします。
Next.jsやNuxt.jsが出来た背景はHTMLコードを記入したりするのが面倒くさいからだと…w。だからこういうフレームワークが出来たんだろう。フレームワークの概念はLaravel等と概念的にはあまり変わりないので、まぁそんなにって思うけど、初学者はVue.jsを勉強してNode.jsを触った後にRact.js、Next.jsが良いと思います。因みにVue.jsのフレームワークがNuxt.jsです。
Next.jsでlocalhost:3000で表示させるのは簡単なだけど、独自ドメインで表示する方法はドキュメント以外に表示されていなかった。ググっても出てこない事もあるのだなと・・・。
ツイッターにメモとして呟いて置きましたので、そちらを参照ください。この独自ドメインを使う調査に数十分使用してしまった。この時間、とても勿体無いメンターが欲しいなって思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
80, html, JS, Laravel, NEXT, node, nuxt, port, Ract, vue, web, アプリ, アレ, インストール, コード, こと, コレ, サーバー, デモ, フレームワーク, ページ, ポート, 事, 仕様, 初学者, 勉強, 動作, 土日, 後, 概念, 気, 為, 理由, 背景, 記入, 設計, 認識, 起動, 道具, 開発, 関係, 雨,
さくらVPSの仕様なのか、分からないけど。
おはようございます、昨日は暖かい陽気でしたね🫠。
さて、昨日ドハマリして数時間、時間を費やしてしまった問題が有りました。結論から言えばOSのバージョンの関係で上手くいかなかった。さくらの中の人(開発者)、OSバージョンアップした際の挙動を確認して無さそうな気がします。
どんなトラブルになったのかと言えば、こんな感じ。
作業用VPSサーバーを設置してWEBのコントロールパネルからssh鍵の設定して作業に取り掛かろうとテラターム(ローカル)でログインした所、エラーが出る。
何度、トライしてもパーミッションが駄目だよと弾かれるので、ウインドウズでユーザーの設定なんかを変更したりしたのだけど駄目だった。
リナックスやMacからだとログインできるだよね、なのでコレはWindowsの問題だと思っていた、パーミッション原因だと思っていたのだけど、前サーバーはssh鍵付きでログイン出来てたので変だなと思い、前サーバーのssh鍵を変更してみたら、こちらはすんなりとログイン出来てしまった。
ここで何が違うかと言えば、OSのバージョンだけ8系と9系の違いでログイン出来なくなる。恐らくこちら側の設定がどうこうではなく、何か・・・の接続時のデータ送受信で変になっている気がします。
この事象をさくらVPSに問い合わせしていないので、原因は分からないだけど恐らくOSのバージョンの違いで今のところ発生している問題だと思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Mac, OS, SSH, VPS, web, Windows, アップ, ウィンドウズ, エラー, コレ, コントロール, サーバー, さくら, ターム, テラ, ドハマリ, トライ, トラブル, バージョン, パーミッション, パネル, ユーザー, リナックス, ローカル, ログイン, 中, 人, 仕様, 何度, 作業, 原因, 問題, 変, 変更, 感じ, 所, 挙動, 数, 昨日, 時間, 気, 確認, 結論, 設定, 設置, 鍵, 鍵付き, 開発者, 関係, 陽気, 際, 駄目,
windowsパッケージマネージャー平たく言えば #windows
おはようございます、寒さが足元から来る季節になりましたね😖。
さて、今日はwindowsパッケージマネージャーのお話をします。windowsパッケージマネージャーとはなんぞやという方もいると思いますので、簡単な説明を記載しときます。ウィンドウズパッケージマネージャーとは、Windowsにインストールされているソフトの管理をするものです。
Windowsパッケージマネージャーがインストールされていない方は、こちらのURLからインストール下さいませ。
これをインストールする事により何が良いかと言えば、ソフトウェア(アプリ)のアップデートが一括で出来たりします。コマンドプロンプトに下記のコマンドを入力すればほぼ自動でアップデートしてくれてとても便利です。
winget upgrade --all
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
all, upgrade, url, Windows, winget, アップデート, アプリ, インストール, ウィンドウズ, お話, こちら, コマンド, これ, ソフト, ソフトウェア, パッケージ, プロンプト, マネージャー, もの, 一括, 下記, 事, 今日, 何, 便利, 入力, 季節, 方, 管理, 簡単, 自動, 記載, 説明, 足元,
制限付きのクロンを無限寿限無にする方法。 #php #無限 #cron
おはようございます🦏。昔の文章を読んでくれて今の記事を読まないユーザーさんがいます、凹む😖。
さて、今日はさくらレンタルサーバーでcronを制限以上に使う方法を数年前に書いた記事が未だに読まれたりするのでプログラムコードを直してタイトルも直してQiitaとGithubにUPしました。
そのUPした記事があまりアクセスが跳ねなくて少しがっくりしたのがスポーツの日の朝の事です。Qiitaは何だか触りの記事かとても専門性の高い記事が人気を集めるだなって事を、この頃理解したのですが、自分は何方にも寄っていない記事なので跳ねないのかも知れません。
ソースコード貼り付けて置きます。尚、使い方などはQiitaやGithubを参照してください。
<?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
※この記事は著者が40代前半に書いたものです.
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
おはようございます😤 お仕事に飢えてます…寒い季節ですね…。
さて、今日は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
※この記事は著者が40代前半に書いたものです.
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, アップロード, お仕事, コメント, サーバー, それぞれ, ツイート, ディレクトリ, バージョン, ファイル, フォルダ, プラグイン, プレス, ワード, 上部, 下記, 中, 予約, 今, 今日, 任意, 作り方, 保存, 名残, 命名, 場合, 場所, 変更, 季節, 後, 投稿, 昔, 言語, 記載, 説明,
素晴らしい曲と素晴らしいWEBサイト。 #cool #site
おはようございます。いきなり寒くなってきましたね🐙。
さて、素晴らしい曲と素晴らしいWEBサイトを紹介します。Ayako TaniguchiさんのWEBサイト、そして流れる曲も素晴らしいな、自分はこういうサイトを作りたいと思っていても、何処をどうすれば良いのか分からない。おそらくjavascriptかnode.jsなど動いているだろうなって想像は付くのだけど。
そうではないだよね。それは技術的な話で実際にそんな技術があっても、こういうのはセンスの問題が大きく伸し掛かるだなって思います。映像+WEB+音楽が全てレベルが高いサイトってあまり見かけない中、このサイトは秀でる才能の塊だと思います。こういうサイトを見ると自分も頑張ろうって気になります👍。
最後にリンクを貼っときます。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Ayako, cool, javascript, JS, node, site, Taniguchi, web, サイト, センス, それ, リンク, レベル, 中, 何処, 全て, 問題, 塊, 実際, 想像, 才能, 技術, 映像, 曲, 最後, 気, 紹介, 自分, 話, 音楽,
何気なく書いていた事が結構な確率で当たる。#未来予知 #高的中か?
おはようございます、コロナが収まりそうなのに戦争はまだ収まりそうにないです。ロシアは領土を奪って何得なんでしょうか。意味が分かりません。
さて、過去のブログ記事を定期的に見たり修正したりしています。これを行う理由は一つだけ意味不明な文章表現があり本人しか意味がわからないモノが存在します。その為、定期的に変な文章は直したりしています。
毎日書けば文章力や表現力は、どんな人でもUPします。泥臭いことですが技術力を上げようと思ったらひたすら真っすぐ頑張るしか無いです。必要な知識は日々の勉強でしか埋め合わせは出来ないです、技術や知識を身につける方法はひたすら覚える事から始まります。覚えて基礎が身につけば応用学習するその反復を行って身につく。この方法しかなく脳にデータをインストールは今のところ出来ない、記憶力は人それぞれなので、身につく事が早い人と遅い人がいるけれど反復学習をすれば身につきます(脳に障害がある人は難しいけども)。
タイトルの話になりますが、結構な確率で自分の未来予想があたっているなって最近思います。特に科学的な進歩や社会にどう浸透していくなどは、結構、的を得た予想をしているなと自画自賛😐。未来予測が当たっても何の得にもならないけれどもアタルのは良いことです。
此処で一つ未来予想を書きます、昨日きな臭い記事の書いたけど、来年の夏までにはロシアVSウクライナの戦争は終わるじゃないかって思っています、なんかそんな気がします。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
UP, インストール, こと, これ, コロナ, それぞれ, データ, ところ, ブログ, もの, ロシア, 一つ, 不明, 予知, 事, 人, 今, 修正, 勉強, 反復, 基礎, 変, 存在, 学習, 得, 必要, 応用, 意味, 戦争, 技術, 技術力, 文章, 文章力, 方法, 日々, 未来, 本人, 毎日, 為, 理由, 的中, 知識, 確率, 結構, 脳, 表現, 表現力, 記事, 記憶力, 身, 過去, 障害, 領土,
戦争や何か物騒なことが今にも起こりそうな気配だった #war #きな臭い
おはようございます。この頃、北朝鮮ミサイルが飛んでくるようになりました。
これが戦争にならないことを切に願うと共にウクライナとロシアの戦争も年内に終止符になって欲しい所です。戦争して何も生まれない、生まれるのは憎しみ合う気持ちだと思います。独裁国家は滅びる、どんな国でも独裁国家は滅びてきました。一個人が権力を持つとろくなことが起きない。そしてその人物がどんなに賢くても国は滅びます。
映画、囚われた国家に描かれているような国が世界に何ヶ国かあると思いますが、時間はかかると思いますが諦めずに戦うしか無いのだと。まだ日本は戦争になってない国ではあるものの、今後、どうなるのか本当に読めないです。ただ、中国は最後の最後まで動かないと思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
war, ウクライナ, こと, これ, ミサイル, ロシア, 一個人, 世界, 中国, 人物, 今, 今後, 何, 何ヶ国, 北朝鮮, 国, 国家, 年内, 憎しみ, 戦争, 所, 日本, 映画, 時間, 最後, 本当, 権力, 気持ち, 気配, 物騒, 独裁, 終止符, 頃,
数珠繋ぎのツイートシステムに予約機能を付けました😂 #php #code
おはようございます、偏頭痛持ちは雨が降るが一番大変です☔。
先日、数珠繋ぎのツイートシステムを作ったのですが、そのシステムに予約機能を付けました。尚、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, コード, これ, システム, スクロール, スケジュール, ソース, ツイート, ところ, バージョン, パラメーター, ファイル, 一部, 下, 予定, 予約, 事項, 今, 使用, 偏頭痛, 先, 先日, 変更等, 大変, 投稿, 掲載, 数珠繋ぎ, 更新, 機能, 機能等, 此処, 注意, 管理, 編集, 記事, 近日, 追加, 雨,
基本情報技術者試験ワード集と単語帳作りアプリで学習の下準備をする方法! #FE #英語 #効率
おはようございます、朝、3時半頃から起きています😪。
先日から英語の勉強をアプリではじめました、自分が使用しているのはモノグサというアプリです。このアプリをインストールしたのは二年前の話です、そのアプリを使用して効率良く英単語を覚えていってます、なんかよく分からないけど覚えて行けている🙄。
さて、それとは別に本題のお話です、単語帳作りアプリを使って基本情報技術者試験に出てくるワードを再学習しています。ワードの方は基本情報技術者試験ドットコムから引っ張ってきています、そのワードをCSV化してアプリに入れました。個人的に使用している分にはOKですが、これを公開や共有するとNGになりますので使用時はお気をつけてください🙇。
ワードを収取する方法はブラウザのコンソール画面に下記のコードを貼り付けて収集しました。
基本情報技術者試験ドットコムのキーワード集「あ」から「ん」までのリンクページをそれぞれ開きコンソール画面でコードを実行して、それをUTF8のファイルにペーストして一つのファイルにしてCSV保存。本当はnode.jsでコードを書いて実行でもしようかなと思っていたのですが、それすら面倒くさいと思ったので、こちらの地味な方法を選択しました。尚、行末に必要なカンマを追加して上げてくださいね🙄。
let s = [];
let $moji = function(m){
return String(m).replace(/[\,|\n|'|"]/g," ");
};
Object.keys(document.querySelectorAll(".big")).forEach((e)=>{
s[e] = "'" + $moji(document.querySelectorAll(".big")[e].innerText) + "'" + "," + "'" + $moji(document.querySelectorAll("ul > li > div > div")[e].innerText) + "'";
});
copy(s.join("\n"));
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, CSV, FE, NG, OK, アプリ, インストール, お気, お話, キーワード, コード, これ, コンソール, それ, ドットコム, ブラウザ, モノグサ, ワード, 下準備, 下記, 二, 使用, 先日, 公開, 共有, 分, 効率, 勉強, 半, 単語帳, 収, 収集, 取, 基本, 学習, 情報, 技術者, 方, 方法, 朝, 本題, 画面, 自分, 英単語, 英語, 試験, 話,
文字数カウントは奥が深いよ。日本語より𓅇エジプト😇 #javascript #code #プログラミング #unicode
おはようございます、先日(日曜日のこと)は久しぶりに本屋さん巡りしていました😋。本屋📖は良いですね落ち着きます。
さて、文字コードのカウントは奥が深いなって話を記載していきます。人目線からすれば文字をカウントするという至って簡単な話にですが、PC(コンピューター)にとっては奥が深いです・・・日本語漢字も面倒だけどエジプト系の象形文字系(unicode)は本当に面倒そうです。まだ、作りかけですがツイッターの用な文字コードのカウントするjavascriptコードを書きましたのでサンプルコードとしてご使用ください。
※WindowsOSの環境下でChromeブラウザ動作させ検証しました。コピペ文字には対応していません😇。UTF-8 ではない違う文字コードを貼り付けてみてください、変なことになると思います😂。例えばEUC文字コードだとか・・・。
動作サイトはこちらです。
function moji(o) {
let m = o.nextElementSibling;
//ads
let h = ((o) => {
let l = o.value.match(/(https?:\/\/[a-z|A-Z|0-9|\-|_|%|\.|\/]{0,})/giu);
let ml = l ? ((l) => {
return sum = l.reduce((s, e) => {
return s + e.length;
}, 0);
})(l) : 0;
return l ? {
len: (l.length * 23),
mlen: ml
} : {
len: 0,
mlen: ml
};
})(o);
//zenkaku
let k = ((o) => {
let l = o.value.match(/[^\x20-\x7e]/giu);
let ml = l ? ((l) => {
return sum = l.reduce((s, e) => {
return s + e.length;
}, 0);
})(l) : 0;
return l ? {
len: (l.length * 2),
mlen: l.length
} : {
len: 0,
mlen: ml
};
})(o);
m.innerHTML = "【 " + (o.value.length + h.len - h.mlen + k.len - k.mlen) + "文字{半角/280} 】";
if ((o.value.length + h.len - h.mlen + k.len - k.mlen) >= 280) {
m.innerHTML = "<span class='text-danger'>【 " + (o.value.length + h.len - h.mlen + k.len - k.mlen) + "文字{半角/280} 】</span>";
}
}
<label for="my-textarea" class="h3">文字を入力してください。</label>
<textarea id="my-textarea" class="form-control" oninput="moji(this);" name="" rows="3"></textarea>
<span class="h3"></span>
尚、サンプルコードは1バイトを一文字としてカウントしていきます、そしてURL文字はどんなに長くても23文字にカウントされます、これはTwitter社の仕様と合わしています。URL文字はURL短縮が行われ23文字の短縮URLが生成されるからその様にカウントしているのですが、なんか本物と違うですよね挙動が・・・🙇♂。因みに絵文字がどのようにカウントされるかは確認していません。
※UTF8では絵文字(unicode)を3バイトで表記させているそうです。昔、UTF-8は2バイトで表現しているとか習っていたのですが、それはカナリ古い知識だったみたいです😇。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
8, Chrome, Code, EUC, javascript, PC, Unicode, UTF-, WindowsOS, エジプト, カウント, コード, こと, コピペ, コンピューター, サンプル, ツイッター, ブラウザ, プログラミング, 久しぶり, 人目, 使用, 先日, 動作, 変, 奥, 対応, 数, 文字, 日曜日, 日本語, 本屋, 本当, 検証, 漢字, 環境, 用, 簡単, 記載, 話, 象形, 面倒,
Twitter-API-v2ツイート数珠繋ぎ #コード公開 #php
おはようございます。土日祝も関係なくブログは毎日書いています🤮。
さて、今日は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への対応表が公式から出ているので確認してみてください↑。
次にコードの解説ですがまず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の申請を行って受理されている事。
これで思った通り実行出来たと思います。尚、自分のように管理画面などを作って数珠繋ぎの投稿するのも良いかも知れません🫠。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
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, コード, サイト, ツイート, ところ, バージョン, ブログ, リツイート, リプライ, 今, 今日, 使用, 公式, 公開, 土日, 対応, 少し, 抜粋, 数珠繋ぎ, 方法, 日本語, 毎日, 祝, 言語, 記事, 記載,
Dockerは楽だなという事を今頃理解しましたよ。 #vbox #docker
おはようございます、月曜日の朝はテンション低めな方も多いはず😇。
さて、今日は先週の木曜日と金曜日にふと今後のためにDockerをもう少し触ってみようと思い作業終了後触ってみました、触れて気づいた事は開発環境を作るのがとても楽だということ(気づくの遅い?🫠)。自分は昔の人間なのでvisualboxばかり触っていたのですがDockerは素晴らしい。サーバー周りが得意な人にイメージを作ってもらってそれを共有すれば皆、同じ環境下で開発が出来るので良いという事に今頃気づいた・・・。
docker run -it -d -v C:\var\www\html\:/var/www/html --privileged -p 80:80 --name こんてな命名 イメージid /sbin/init
※Visualboxでも可能ですけどね。Dockerのだとそこが楽だしマウント(フォルダ共有)もスムーズに行くので自分は良いなと感じました。
ちょっと残念だった点は自宅で作業している中、バッファローのNAS🍆に作業ファイルを入れているのですが、それとは共有出来なかった点です、対応として実PCをrobocopyしてNASと同期を取るという形にしました。これで問題はなくテスト環境下で開発ができます。尚、高級なNASではそういう問題なく上手くいくそうですよ。※NASはバックアップデータになりました。
robocopy <コピー元> <コピー先> /E /DCOPY:DAT
尚、mirのオプションにしなかったのには理由があります。コピー元のファイルが消えたり、ディレクトリが破損した場合、コピー先のファイルやディレクトリが消えて無くなるらしいので・・・。完璧なミラーリングは辞めました。
こんな感じで快適なテスト環境が作れます(上記のコマンド参考に)。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
--privileged, -p, -v, 80, D-, docker, html, ID, init, IT, name, run, sbin, var, vbox, Visualbox, www, イメージ, こと, こんてな, サーバー, スムーズ, そこ, それ, ため, テンション, パス, フォルダ, マウント, 事, 人, 人間, 今後, 今日, 今頃, 低め, 作業, 先週, 共有, 可能, 周り, 命名, 得意, 方, 昔, 月曜日, 朝, 木曜日, 理解, 環境, 皆, 終了, 自分, 行, 金曜日, 開発,
映画、雨を告げる漂流団地の監督さんの語りを聞いて映画も観てみた。 #雨を告げる漂流団地 #Netflix #Hiroyasu-Ishida
おはようございます🫠、社会との接点はブログになっている今日此の頃です。クラウドワークスは何だか質が落ちているような気がします。
さて、作品を社会に公開すると色々な意見を言われる事になると思います。映画が世に出るという事はそこには色々な人々が関わっています。今回「雨を告げる漂流団地」を7回に別けて観ました。もう色々と感性が抜け落ちているので、良し悪し正直な所分からなかったですが、アイディア等は面白いなと感じました。
これを小学生や幼い子供が観たら、やっぱ特別な感覚や感情を抱くだろうなと思い、そういう作品を作れるというのは特異な才能(石田祐康 監督)なんだと感じます。
こういう作品は大人が観るのではなく子供が観て面白かったと思えば良いですよと、この映画のレビューを見て思いました。そして今回の作品もそうですしペンギン・ハイウェイの作品もそうなんだと思いますが、作品を通して子供が成長して欲しいという想いが伝わる映画でした。
因みにこの映画、自分はネトフリアニメで数回に分けて観ました😌。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
7, Hiroyasu-Ishida, Netflix, アイディア, クラウド, これ, そこ, なん, ブログ, ペンギ, レビュー, ワークス, 事, 人々, 今回, 今日此の頃, 作品, 公開, 団地, 大人, 子供, 小学生, 意見, 感性, 感情, 感覚, 所, 才能, 接点, 映画, 正直, 気, 漂流, 特別, 特異, 監督, 石田, 社会, 祐康, 良し悪し, 色々, 質, 雨,
見えないテコ入れ人の感覚。#スキマ時間 #ブログ
おはようございます、今日も朝に記事を書いています😌。もう10月ですね、これを書いていたのは9月29日です。この頃、少しリアルとタイムラグのあるモノにしています。
さて、今日はブログを毎日書いて意味があるのかというお話です。最初に回答を記載します、アクセス数にはあまり影響を及ぼす事はありません。YさんやGさんの検索サービスがどの記事を拾ってくれるかなんて分からないです。そういう観点から言えば色々な記事を書いてアクセス数の多い記事へ路線変更するとアクセス数は稼げます。
ただ、好きでもない内容の記事がアクセス数が多くなったりする場合があります。その場合、お金のために記事を書くことになります、そう言うのは続かないので辞めたほうが良いです🫠。自分の記事は好きな事しか書いていないけれど、それなりにアクセスが付くようになりましたが・・・。自分が読んでほしい記事にアクセス数が付くとは限らないのが今の悩みどころですね。
そういう事もあって10月から眠らせていたブログを一つ再活動しようと思っています。再活動の理由は収益化です、そしてこのサイトのYOUTUBEもトライしてみようと思います。この2つの活動の共通点は広告が付いていないということYOUTUBEの登録者数は9人です。ブログに至っては訪問者は10桁いかない日さえあるサイトでが、更新頻度を上げれば半年でそれなりの数は付くという勝算はあります。
明日から我らWEB主義というサイトとYOUTUBE(zip358com)、不定期更新という名目で活動しますので良かったらそちらもよろしくお願いします🙇。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, 29, 9, アクセス, お話, お金, こと, これ, サービス, すきま, タイムラグ, ため, テコ入れ, ブログ, もの, リアル, 事, 今, 今日, 内容, 回答, 場合, 変更, 少し, 影響, 意味, 感覚, 時間, 最初, 朝, 検索, 自分, 色々, 観点, 記事, 記載, 路線, 頃,
有難う🎉一年と七ヶ月と二十九日😌で達成。
おはようございます、御機嫌よう😋。
アイキャッチー画像とタイトルでお分かりかと思いますが、振り込み金額の上限を超えた為、振り込まれます。この振り込まれたお金の使い道はまだ決まっていませんが、大切に使います😌。
毎月、大体レンタルサーバー費用と相殺出来る金額を稼いでいるようです。先月からサービスを稼働させて3つのサービスで運用しています。これにより今月からまぁまぁな金額が発生してきましたが、それでもこれだけで生きてはいけません。
毎月、15万ぐらい稼いでいる人は強者ですね。やっぱりYOUTUBE始めた方が良いのかな🤔。昔、1000人の登録者でもYOUTUBEは小学生(高学年)のお年玉ぐらい入ると聞いた事があります。今は広告単価が下がっているようなので、もう少し低いかも知れませんが放っといても稼ぎがでるというのは、素晴らしい事ですね。
自分の今後の運営目標は、毎月、お金が振り込まれるようになる事です。これを達成出来れば何とかなりそうな気がします。今の現状、クラウドワークスの仕事が取れなかったら投資で何とか引き落としペイ出来る感じで生きているので・・・。ちゃんと収入が発生するシステムを構築したいなって切実に思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1000, 15, 3, youtube, あい, お分かり, お年玉, お金, キャッチー, これ, これだけ, サーバー, サービス, タイトル, レンタル, 一, 七, 万, 上限, 事, 二十九, 人, 今, 今後, 今月, 使い道, 先月, 単価, 大体, 大切, 学年, 小学生, 広告, 強者, 方, 昔, 毎月, 為, 画像, 発生, 登録者, 目標, 相殺, 稼働, 自分, 費用, 運営, 運用, 達成, 金額,
人生、レベル20~45の方々。 #人生 #相場下落
おはようございます、このサイトのユーザー(訪問者)さんの年齢層はレベル20~45が多いそうです。特にレベル30の方がよく見てくれています。有難うございます🙇。また、性別は男性が圧倒的に多いです、ここは女性が多かったらなと思う所がありますが、リアルと現状は変わりません(笑)🤔。
さて、自分は30代後半から投資に興味を持ち出して今では証券口座をいくつか持っています。最初は株式投資などに興味があり、アプリで仮想投資(シュミレーション)などをして、どんなモノかを試してみました。本当に株を買い出したのは最近の話です💦。いま、日本市場も米国市場も下がっていますね、自分が思うのに緩やかにこれからも下っていくと思っていますが・・・未来は不確定です。
未来は誰も分からない。特に10年後の相場なんて分からないし誰も予想できない、米国株、今後も成長すると言われていますが、それは過去の成長を見てそう予測しているのに過ぎなくて本当に成長するのかは誰にも予測するのは不可能です。
「未来は不確定」この頃、こう思う事がよくあります。株式相場に限らず自分の未来も分からないのです、明日の事を言えば鬼が笑うということわざがある通り、明日すら予測不能なんですね。80%は平凡な一日になるかも知れませんが100%断言する事は不可能です。それは未来は知り得ることが出来ないからです。
当たり前の話ですが、ほとんどの人は明日も同じような日が続くと思っているわけです。でも実際は違います、世界は徐々に変わっていきます。なので、10年後の未来は変わっているのです。日々の少しの変化が未来を変える。
トイウコトデ、何が言いたいかと言えば、自分を変えることで未来は変わっていくという事です😌。何を言わんとしているか分かってもらえれば何よりです😄。
今日も一日頑張りましょう!
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, 20, 30, 45, アプリ, いくつか, いま, ここ, これ, サイト, シュミレーション, それ, もの, ユーザー, リアル, レベル, 下落, 不確定, 予想, 予測, 人生, 今, 今後, 仮想, 口座, 女性, 市場, 年齢層, 後半, 性別, 成長, 所, 投資, 方, 方々, 日本, 最初, 最近, 未来, 本当, 株, 株式, 現状, 男性, 相場, 笑, 米国, 自分, 興味, 訪問者, 証券, 話, 誰, 過去,
WPのapply_filtersとadd_filterの説明が難解に書いているサイトが多い事に🤬。 #php #wordpress
おはようございます、今月もそろそろ終わります🤔。
さて、来月から毎月一回しか投稿しなかったブログサイトを不定期更新に変更します。指針の変更にあたってブログデザインもデフォルトのテンプレートから無料のcocoonというテンプレートに変えました。
今までYOUTUBE動画URLを記載しているだけの投稿だったので、アイキャッチー画像等は無い状態でした。その為、テンプレートを変えるとノーイメージという画像が表示されるという事象が発生。これをプラグイン側で解決したかったのですが、独自の関数を多く使用しておりプラグイン側だけでは無理だということで、独自のアイキャッチー画像を処理しているコアの部分にapply_filtersを差し込み、プラグイン側でadd_filterで処理するという流れの対応を行いました。
apply_filtersというのはテンプレート側(他のプラグインでも可能)の関数の中に目印(付箋)を付けることが出来る機能(関数)です。
add_filterは目印(付箋)の部分の処理が走った時に、自分が作った処理を割り込ませることが出来る機能(関数)です。
※まずはカッコの中は読まずに理解してください😌。
巷では、これをややこしい例えで解説している所が多いのですが、それだけの話しです。今回、image-funcs.phpファイル(cocoon)の関数get_original_image_tagにapply_filtersを挿入し独自プラグインから呼び出して、ノーイメージの時にYOUTUBEのサムネイル画像を表示させるという事を行っていました。前、次ページのサムネイル画像は現在のページのサムネ画像が表示されるというバグはあるものの、ちゃんと跡のサムネ画像は変わっています。
サンプルコードを掲載します。ご参考程度に😌。
<?php
//オリジナルサムネイルタグの取得
if (!function_exists('get_original_image_tag')) :
function get_original_image_tag($image_url, $width, $height, $class, $alt = null)
{
$html = '<img src="' . esc_url($image_url) . '" alt="' . esc_attr($alt) . '" class="' . esc_attr($class) . '" width="' . esc_attr($width) . '" height="' . esc_attr($height) . '" />';
$html = convert_all_lazy_load_tag($html);
$html = apply_filters("youtubeimage",$html);
return $html;
}
endif;
<?php
/*
Plugin Name: youtube image
Description: youtube image chg
Version: 1.0
*/
if (!defined('ABSPATH')) exit;
function youtubeimage_chg($imgurl){
$url = null;
if(preg_match("/(https:\/\/www\.youtube\.com\/watch\?v=[\-|_|a-zA-Z|0-9]{1,})/",get_the_content(),$matches)){
$url = "https://img.youtube.com/vi/".preg_replace("/(https:\/\/www\.youtube\.com\/watch\?v=)/","",$matches[0])."/hqdefault.jpg.webp";
$url = preg_replace("/(src=\"https:\/\/.*no\-image\-[0-9]{2,3}\.png.webp\")/","src=\"".$url."\"",$imgurl);
}
return $url?$url:$imgurl;
}
add_filter("youtubeimage","youtubeimage_chg");
余談:この対応はテンプレートが更新(アップデート)際にファイルが上書きされる可能性があります。その際にページが見えなくなるという問題を秘めています🙇。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Add, apply, cocoon, filter, filters, php, url, WordPress, wp, youtube, あい, イメージ, キャッチー, コア, こと, これ, サイト, デザイン, デフォルト, テンプレート, ノー, プラグイン, ブログ, 一, 不定期, 事, 事象, 今月, 使用, 処理, 動画, 変更, 多く, 対応, 投稿, 指針, 更新, 来月, 毎月, 為, 無料, 状態, 画像, 発生, 表示, 解決, 記載, 説明, 部分, 関数, 難解,
よんでんコンシェルジュの不具合について考える人。 #日別料金計算
おはようございます。タイトルの不具合が解消されていたらゴメンナサイ。これは昨日に書いた記事です🤔。
夕方頃によんでんコンシェルジュの日別の電力と電力料金を見ようとした所、何やら不具合が発生していたらしく、合計金額が見えなくなっていたのでコードを書いてみました😌。
ざっくりとした金額合計が表示するような物ですので、実際の金額とは差異が発生します。ソースコードはこんな感じです。
let kwh = document.querySelectorAll(".img_area > table > tbody > tr > td");
if(kwh){let s = 0;
for(let i = 0;i < kwh.length ; i++){
if(kwh[i].innerText.match(/(kWh)/)){
s = s + (Number(String(kwh[i].innerText).replace("kWh",""))*100);
console.log(kwh[i].innerText);
}
}
let r = 0;
s = Math.floor(s /100);
if(s >11){
if(s < 120){
r = ((s -11) * 20) + 411;
}
if(s < 300){
r = ((s - 120) * 27) + 411 + 2220;
}
if(s >= 300){
r = ((s - 300) * 30) + 411 + 2220 + 4858;
}
}
console.log("合計金額=" + String(s) + "kWh " + String(r) + "円");
}
尚、消費電力が11kwh以下の人の金額は0円になっていますが、実際は料金が発生します。それにしても四国電力の料金内訳を見ていると何だか、モヤモヤする料金体系になっていて、これは面倒だなと感じました。こんな料金体系じゃなく一律のお値段にして欲しいですね・・・(消費電力によって値段が変動しますし…etc…)。
ソースコードの取り扱い:
上記のソースコードを四国電力(よんでんコンシェルジュ)の日別ページを開いた状態にして、ブラウザのコンソール画面にソースコードを貼り付けて実行してみてください。電力の合計金額などがコンソール画面に表示されます。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, area, document, For, gt, if, img, innerText, kwh, length, let, lt, match, querySelectorAll, quot, TABLE, tbody, td, tr, コード, これ, コンシェルジュ, ソース, タイトル, よんでん, 不具合, 人, 合計, 夕方, 実際, 差異, 感じ, 所, 料金, 日別, 昨日, 物, 発生, 表示, 解消, 計算, 記事, 金額, 電力,
検索されなかったワード埋もれた価値について! #javascript #php
おはようございます、今日は引き落とし日です🫠。
さて、今日は検索されなかったキーワードの価値のお話です。此処で言う検索されなかったというのは、エンターキーや検索ボタンを押さなかった、キーワードの価値のお話です、たぶん、その情報をGさんは収集してそうな気がします。GサイトやYサイト等のキーワード収集は基本出来ませんが、自サイトの検索フォームの情報を収集出来ます。
此処からは技術的なお話になりますが、検索ボタンを押した時とは別に文字入力をしたときの挙動を感知するプログラムを導入する事により比較的簡単に導入できるかと思います。例えば下記のようなjavascriptコードを検索フォームに導入します。
document.getElementById("sh").addEventListener("input",(e)=>{
$.ajax({
type: "post",
url: "example.com/sh.php",
data: {text:this.value},
dataType: "json",
success: function (response) {
}
});
});
あとはPHP側でデータを受信しデータベース等に保存すれば良いだけです。この検索されなかったワードは、結構価値があると思います。より細かな情報を取得したい方はIPアドレスやどのページからの情報なのかも取得可能です。
これらのデータを元に販路開拓は十分出来ると思います。情報を保存する際に大量の情報が収集されるので、保存先に一工夫必要になります。JSで制御する手段もありますが、それだとあまり情報収集出来ないですからね。
因みにこのサイトに情報収集の処理は導入していません(今後の導入は未定)。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
addEventListener, ajax, document, getElementById, gt, input, javascript, php, quot, sh, エン, お話, キーワード, コード, サイト, ターキー, とき, フォーム, プログラム, ボタン, ワード, 下記, 事, 今日, 価値, 入力, 収集, 基本, 導入, 情報, 感知, 挙動, 文字, 日, 時, 検索, 此処, 気, 簡単, 自,
あのサイトをリニューアルしました。👏、やっとのことで。 #renew #site #よさこい祭り
おはようございます、昼間は暑い日もありますが夜は涼しくなりましたね😄。
今日は昨日、一日かけて【よさこい祭り動画検索】サイトをリニューアルしました。ソースコード(プログラム)も1からやり直しています。表示するのに結構時間がかかっていた部分は瞬時に表示されるように調整しました。
以前は検索結果が全て表示されるような仕様でしたが、ページに分割して表示されるように変更しました。また、検索ワードを入力すると検索結果(チーム名)が表示される様に変更しました。チーム名を押すとページへ遷移するようになっています。以前より直感的に操作出来る形になったかと思います。
尚、このサイトを作るにあってYOUTUBEのAPIを使用しているのですが、リアルタイムに動画を検索している訳では無くデータで押さえています。そのデータに関しては数ヶ月置きに更新するように致します。何故、データで押さえている理由はAPIの問い合わせに上限があり、その上限数を超える検索結果が返って来なくなる為です。この上限は申請を行えばある程度増やしてくれるそうですが、それでも上限数量を超えると表示されなくなるというデメリットがあるので、データで押さえています😌。
トイウコトデ、よさこい祭り動画検索サイトよろしくお願いします。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, API, com, https, renew, site, yosakoi-video, youtube, コード, サイト, ソース, チーム, データ, プログラム, ページ, よさこい祭り, リアルタイム, リニューアル, ワード, 一, 今日, 仕様, 以前, 使用, 入力, 全て, 分割, 動画, 変更, 夜, 形, 操作, 数, 日, 昨日, 昼間, 時間, 検索, 瞬時, 結果, 表示, 訳, 調整, 遷移, 部分,
インターネットが常時接続が当たり前になって数年。
おはようございます、予約するのを忘れて今記事を書いています🫠。
先日、ふと思ったことを記載しますね、インターネットの常時接続が当たり前になってから、10年以上の時間が経過しています。
そんな中、この頃TVの劣化が酷いなと感じることもあります、それぐらい劣化している気がします。番組も健康商品などの通販TVが多く感じます、また、コマーシャル(CM)も健康商品か保険のCMが多い気がします。
これはどの局も同じで、どんどんとTVが劣化していっている証拠なのかもしれません。もうTVを見るのは高齢者ばかりになっている気がします。因みに私達の世代ももうインターネットでYOUTUBE等を見る割合が増えているらしいです。
そう思うと自分達が老人になる時にはTVって存在感がますます薄れていくのか、TVがインターネットへ寄り添う形、例えば今、実験的に始まっているTVの放送をインターネットに流す試みを定着させるしか他ならないような気がします。
何にせよ、あと数十年後にはYOUTUBEが老人のプラットホームになることは間違いないでしょう🫠、その頃、若者たちはVR等の違うプラットホームで生きていると思います。
時代の流れを感じる今日此の頃でした。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, CM, TV, youtube, インターネット, こと, コマーシャル, これ, それぐらい, 世代, 中, 予約, 今, 保険, 健康, 先日, 割合, 劣化, 商品, 存在感, 定着, 局, 常時, 当たり前, 形, 接続, 放送, 数, 時, 時間, 気, 番組, 私, 等, 経過, 老人, 自分, 記事, 記載, 証拠, 通販, 頃, 高齢者,