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

彼のVue.jsの入門解説動画が分かりやすいかも。超入門は理解しました。
2021.07.12
vue.jsを勉強したい方はよしぴーのYouTubeプログラミングスクールの超Vue.jsの入門解説動画が分かりやすいかも。自分は入門版は理解しました。尚、bodyにID付けて試すのは辞めとけよ。bodyにIDを付けて動かないなぁとかしないように!!ドキュメントにもbodyにIDを付けるのは推奨しないと記載しております。動画を見て背景の色を動的に変えるvue.jsの簡単なサンプルプログラム作りました。コード書いていてjavascriptで書くよりもvue.jsなどのライブラリ?を使用して書くほうが短いコードで書けるので良いなと実感。
htmlコードとvue.jsのコードは下記になります、最終的にはvue.jsでアプリ作りたいな(時間がない?^^;)。SPAに関して難しいという意識がある人も触っていくうちに慣れると思います。因みに学習能力が高い人はこんなの作れちゃうみたいですね、学習してまだ二週間しか経過していなくてゴニョゴニョ作れている所がへぷさん(@HEP1147)、凄いところ!!ですね。
<!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">
<meta name="Description" content="Enter your description here"/>
<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.3/css/all.min.css">
<style>
#el{
width: 100vw;
height: 100vh;
}
</style>
<title>背景の色を変える</title>
</head>
<body>
<div id="el" v-on:mousemove="mouseXY($event)">
<span v-on:click="colorclick('#000')"style="color:#000">■</span>
<span v-on:click="colorclick('#fff')"style="color:#fff">■</span>
<span v-on:click="colorclick('#4eaeec')"style="color:#4eaeec">■</span>
<span v-on:click="colorclick('#4eeccc')"style="color:#4eeccc">■</span>
---{{ color }}---
X={{x}},Y={{y}}
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.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="https://cdn.jsdelivr.net/npm/vue@2"></script>
<script src="./main.js?<?=time()?>"></script>
</body>
</html>
var vm = new Vue({
el:"#el",
data:{
color:"#fff",
x:0,
y:0
},
methods:{
colorclick:function(c){
this.color = c;
document.body.style.backgroundColor = c;
return true;
},
mouseXY:function(event){
this.x = event.clientX;
this.y = event.clientY;
}
}
});
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
body, html, ID, javascript, JS, SPA, vue, youtube, アプリ, うち, コード, サンプル, スクール, ドキュメント, プログラミング, プログラム, よし, ライブラリ, 下記, 人, 使用, 入門, 勉強, 動画, 学習, 実感, 彼, 意識, 推奨, 方, 時間, 理解, 簡単, 背景, 能力, 自分, 色, 解説, 記載, 超,

Twitterプロフィールからスパムみたいなアカウントかを機械学習で判定してみた。
2021.06.28
Twitterプロフィールからスパムみたいなアカウントかを機械学習で判定してみました。
何故、このような事を考えたかはスパムみたいなアカウントってぱっと見で人は区別できるよねって思ったのでLobeというソフトを使って画像解析(機械学習)してモデルをエクスポートし、そのモデルをテンソルフローで使用して動作確認してみました。
結果は、まぁまぁの精度だったのでモデルをお裾分けしますね。因みにTwitterのプロフィール画像のスクリーンショットを行った時のソースコードも提供します。
尚、機械学習に使用したプロフィール画像は400枚ほど(少ない?)です、ok-image(一般人)とng-image(スパムみたいなアカウント)というラベルを付けて学習させてます。
model::https://zip358.com/ai-model/tw-profile/saved_model.pb (?モデルの中身はtensorboardでご確認を!)
zip358com
zip358
# Generated by Selenium IDE
import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import Select
class twss():
def setup_method(self):
self.driver = webdriver.Chrome(ChromeDriverManager().install())
self.vars = {}
def teardown_method(self):
self.driver.quit()
def screenshots(self):
self.driver.get("https://twitter.com/")
self.driver.set_window_size(945, 900)
with open('twname.dat','r',encoding="utf-8") as f:
for line in f:
FILENAME = "X:\\var\\www\\html\\labo_ai\\twss\\image\\screen_" + line.replace('\n', '') +".png"
self.driver.get("https://twitter.com/" + line.replace('\n', ''))
time.sleep(2)
self.driver.save_screenshot(FILENAME)
f.close()
self.driver.quit()
twss = twss()
twss.setup_method()
twss.screenshots()
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
358, 400, ai-model, com, https, lobe, model, ng-image, ok-image, SA, tw-profile, Twitter, zip, アカウント, エクスポート, お裾分け, コード, ショット, スクリーン, スパム, ソース, ソフト, テンソル, フロー, プロフィール, モデル, ラベル, 一般人, 事, 人, 何故, 使用, 判定, 動作, 区別, 学習, 提供, 時, 機械, 画像, 確認, 精度, 結果, 解析,

クロスプラットフォーム開発(アプリ)をPythonで行う。
2021.05.21
PyQt5でクロスプラットフォーム開発(アプリ)を行う事が出来るだってさ。ただし、PyQt5は商用利用に縛りがあるのだとか、個人で使用する分には問題なしだということ。CSSとPythonの記述が分かっていればそれほど難しくない難易度かと自分は下記の動画を見て思いました。
pip install PyQt5
Python:パイソンがインストールしている環境で上記のコマンドを打つことでPyQt5はインストール可能です。あとはコードを書いて実行するだけでアプリが実行されます。
PyQt5の使い方を解説している人がいます。リンク先のように書けばチェックボックスなども設置可能です。因みにコードを一々書くのは面倒だという方はQt Designerと連携することでGUIの設計は楽になると思います。
環境構築を説明しているリンクを貼っときます。こちらでPyQt5のプログラムを使用しQt Designerで開発を行えます。
この頃はクロスプラットフォーム開発も多様化していろいろな言語で開発ができるようになってきてますね。楽になったものだと・・・。
追伸:商業利用でクロスプラットフォーム開発が行いたい場合はPySideを使用するべしです。理由はこちら
https://www.kimoton.com/entry/20181202/1543724518
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
5, css, Designer, GUI, install, pip, PyQt, Python, Qt, あと, アプリ, インストール, えま, クロス, コード, こちら, こと, コマンド, チェック, パイソン, プラットフォーム, プログラム, ボックス, リンク, 上記, 下記, 事, 人, 使い方, 使用, 個人, 分, 利用, 動画, 可能, 商用, 実行, 方, 構築, 環境, 縛り, 自分, 行, 解説, 記述, 設置, 設計, 説明, 連携, 開発, 難易, 面倒,

ハーバード大のプログラミング講座を日本語化(jp)。 無料で学べるCS50を見てみて。
2021.05.20
ハーバード大のプログラミング講座を日本語化(jp)。 無料で学べるCS50を見てみて思ったことは、脱落者が出そうだなと思いました。プログラムが分かる人が読めばわかるだろうけど、ITが苦手な人が読むと拒絶反応を起こしそうな日本語訳だな。プログラミングって得手不得手があるじゃないかなと自分は思っていて誰でもプログラミングが出来るというのは間違いじゃないのかなと思います。
日本でもプログラミングを勉強するのが流行しているけど、その影でプログラミング挫折者がかなり多く出ていることを忘れてはいけないし、プログラミングスクールとかしている人は、IT業者から言えば言葉悪いけど良いカモだなと思います。プログラミングが分かる人は独学で全然いけるという言うのが自分の考えです。そういう人達がCS50.jpを使用して勉強するのはプログラミング学習の近道なのかなとは思いました。
これからIT業界に転職する方は英語と論理的思考(アルゴリズム)と高校生程度の数学知識があれば転職は可能かと思います。なお、英語はこの先、徐々にどんな業界でも重要になってきそうなので身につけておいて損はないと思います。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
50, CS, IT, jp, かな, かなり, カモ, こと, これ, スクール, ハーバード大, プログラミング, プログラム, 不得手, 人, 使用, 勉強, 反応, 学習, 影, 得手, 拒絶, 挫折, 日本, 日本語化, 日本語訳, 業者, 流行, 無料, 独学, 脱落者, 自分, 苦手, 言葉, 誰, 講座, 近道,

カートシステム開発中。
2021.04.20
本日はカートの管理者画面の画面部分だけという何とも手抜きお仕事をしていました。全体の話になりますがデザインは後回しです。
因みに開発を始めたのが4月8日ぐらいだと思います、カート決済部分は7割ぐらい完成しています。あと3割は管理者部分の設定値が関係してくるので、管理者の設定値を変更する機能(処理)ができればほぼ完成かと思います。
真実を述べると実は毎日カート作りをしていたわけではないのです。テンションが低い時は殆ど開発しない日などありましたので、まだ実質開発した日数は5日ぐらいかと思います。
そう思うとLaravelというフレームワークはシステムなどを開発するのにやはり重宝するなという印象を受けます。まだまだLaravelの良い所を活かせてはないと思いますが、ある程度慣れては来ました。プラグインなどを活用すればもっと簡単に開発できるだろうけど、あまりプラグインを使用せずに開発を進めようと思います。
そして作り出して思うことは、このシステムは一体どれぐらいのお値段としたものかと?
一日、1万円のお金が開発に発生すると考えて、利益を9割ぐらいのかな。完成まであと15日とすると20*9=180万という何とも高額な商品になります、しかしながら、このシステムを売るわけではなく使用料金(サブスク)として利益を上げることを考えています。市場を調査するとカートシステム、大体3000円から始まります、なので自分も3千円ぐらいで運営できれば良いかなと思っていますが・・・。
世の中、そんなに甘くない。今の段階では食えないなと思っています。あくまでもこれはお試しで作っているだけです。良いものが出来れば運営はしたいなとは考えていますが、今の所、勝算などのことは考えておりません。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, 4, 5, 7, 8, Laravel, お仕事, カード, こと, システム, デザイン, テンション, プラグイン, フレームワーク, わけ, 何, 使用, 全体, 処理, 印象, 変更, 完成, 実質, 後回し, 所, 手抜き, 日, 日数, 時, 本日, 機能, 殆ど, 毎日, 決済, 活用, 画面, 真実, 管理者, 簡単, 設定, 話, 部分, 重宝, 開発, 関係,

今読まれてますというWPプラグインの作り方
2021.04.19
今読まれてますというWP(ワードプレス)プラグインの作り方はこれだけです。ボット対策の部分はお見せできませんがこんなソースコードで動いています、なお、自分が閲覧してもツイートすることはないようにしています。因みに昨日もボットみたいなのが何度も来たのでその対応を行いました。尚、TwitterOAuthというライブラリを導入してautoload.phpを使用しuseで呼び出し使用しています(※autoloadを置いている任意の場所に変更してください)。
ワードプレスのプラグインの作り方の動画を貼っときます。英語ですが理解できるかと思います。動画で分かりづらかった方は『自作、WordPress、プラグイン、PHP』という様な検索すると先人たちが方法をネットに公開しているのでそちらを参考にしてください。
プラグインを作るにあたってソースコードに書かれているコメント部分は必須なのだけど、プラグインを配布しない人はプラグイン名だけ記載しプラグインと同じフォルダを構えるだけでプラグインとして認識します。
<?php
/*
Plugin Name: article-live-tw
Plugin URI:
Description: 今、ユーザーが読んでいる記事をツイートする
Version: 1.0.0
Author: @zip358com
Author URI: https://zip358.com
*/
session_start();
require "/vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
add_action("wp_head","article_live_tw");
function article_live_tw(){
define("CONSUMER_KEY", "CONSUMER_KEY");
define("CONSUMER_SECRET", "CONSUMER_SECRET");
define("ACCESS_TOKEN", "ACCESS_TOKEN");
define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
global $post;
$flg1 = is_bot();
$flg2 = empty($_SESSION["reading-zip358-".$post->ID.$_SERVER['REMOTE_ADDR']]);
$flg3 = ip_check("reading-zip358-".$post->ID.$_SERVER['REMOTE_ADDR']);
if(!$flg1 && $flg2 && !$flg3 && $post->ID){
$_SESSION["reading-zip358-".$post->ID] = 1;
$tw_title = get_post($post->ID)->post_title;
$tw_link = get_permalink($post->ID);
$kigolist = ["?","?","?","?","?","?"];
$kigo = $kigolist[floor(rand(0,5))];
if(!current_user_can('administrator')){
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$connection->post("statuses/update", array("status" => "#今読まれてます $kigo ??? \n".$tw_title . " \n" . $tw_link . " \n #ブログ zip358.com \n" . date_i18n('Y/m/d H:i')));
//$ua = print_r($_SERVER,true);
//@file_put_contents("./log/".date('Y-m-d-H-i').".log",$ua);
}
}
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
15, 7, autoload, com, https, php, QfH-s-, TwitterOAuth, use, watch, WordPress, wp, www, youtube, お見せ, コード, こと, これだけ, ソ, ソース, そちら, ツイート, ネット, プラグイン, プレス, ボット, ライブラリ, ワード, 今, 任意, 何度, 作り方, 使用, 先人, 公開, 動画, 参考, 場所, 変更, 対応, 対策, 導入, 方, 方法, 昨日, 検索, 理解, 自作, 自分, 英語, 部分, 閲覧,

radiko[ラジコ]のWindowsアプリがないので作りました。
2021.03.24
昔、ラジコのWindowsアプリが存在していたのだけど今は使えなくなっていたのでradiko[ラジコ]のWindowsアプリを作りました。簡単な仕様です・・・とても簡単で単なるwebブラウザをはめ込むようにしているだけです。なのでこのページからリンクを辿れば別のサイトに移動することができます。何故、これを作ったのかというとブラウザとは別にアプリとして開きたかったという経緯があります。動作環境はwindows10です。
使用したい方は下記のURLからダウンロードしてくださいませ。
https://zip358.com/tool/radiko-view-Setup-1.0.0.zip
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1.0.0, 10, 358, com, https, Radiko, radiko-view-Setup-, tool, url, web, Windows, www, zip, アプリ, こと, これ, サイト, ダウンロード, ブラウザ, ページ, ラジコ, リンク, 下記, 今, 仕様, 使用, 別, 動作, 存在, 方, 昔, 環境, 移動, 簡単, 経緯,

FF14を自動起動させてパスワード入力を
2021.03.23
Power Automate Desktop使用してFF14を自動起動させてパスワード入力する事を試みる。パスワード入力の動作を録画して再現して実行してみると動かないので自分で直しました。当初はUI Pathを活用して試してみたけど結局、うまく行かないので凄く単純な方法で動作をさせました。因みにこの方法はFF14が開いている最中に他のアプリを開いたりすると上手く動作することが出来ないので悪しからず。

上記のような設定をします。ウェイト(待ち時間)はご自身のPCによって調整が必要です。キーの送信部分は下記のように設定ください。

これで超長いパスワードを入力することもなくワンパスワードを入力すれば良いようになりました。ワンパスを設定していない方やフリープレイの方は送信するテキストを入力して保存するだけで後は、Power Automate Desktopを起動してフローを再生(実行)することで自動的にFF14が起動してパスワードを入力してくれます。

※前手順としてID保存状態にした状態で上記を実行ください!!!
https://flow.microsoft.com/ja-jp/desktop/

著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
14, Automate, Desktop, FF, path, PC, Power, UI, アプリ, ウェイト, キー, こと, これ, ご自身, テキスト, パス, パスワ, パスワード, フリー, プレイ, フロー, ワン, 上記, 下記, 事, 他, 使用, 保存, 入力, 再現, 再生, 動作, 単純, 実行, 当初, 待ち時間, 後, 必要, 方, 方法, 最中, 活用, 自分, 自動, 設定, 調整, 起動, 送信, 部分, 録画,

広告を挿入される無料レンタルサーバーの仕組み。
2021.03.19
タイトル通り、広告を挿入される無料レンタルサーバーの仕組みはこれだけだと思います。ApacheでWEBサーバーを構築することで可能だということを知っているのですが、nginxではどうかはまだ調査中です。広告をどのタイミングで入れ込んでいるかというと表示する間際でApacheのモジュール、mod_layoutを使用して広告を差し込んでいるだと思います。
差し込み方法はこんな感じです。
AddOutputFilter LAYOUT html htm cgi php
LayoutHeader /header.html
LayoutFooter /footer.html
こうすることで、サーバーの配下に広告を差し込んでいるだと思います。LayoutHeaderやLayoutFooterがどのような役割をしているかはググると解説サイトがありますのでそちらを参照ください。あと、このモジュールの入れ方を解説しているサイトがありましたので紹介します。
Apache2.4.6にmod_layoutを導入する >>https://qiita.com/mr_wednesday/items/8b799aacf41447c004e7
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AddOutputFilter, Apache, cgi, footer, header, htm, html, layout, LayoutFooter, LayoutHeader, mod, nginx, php, web, こと, これだけ, サーバー, サイト, そちら, タイトル, タイミング, モジュール, レンタル, 使用, 入れ方, 参照, 可能, 広告, 役割, 感じ, 挿入, 方法, 構築, 無料, 表示, 解説, 調査, 配下, 間際,

まいど?ショップ開設しました。
2021.03.15
まいど?ショップ開設しました。開設した理由は旨旨飯が食べたいからです、、、いや違います。収入源を確保していきたいからです。スズリというGMOの開発したショップ開設サービスを使用しています。当初はBASEで物を売ろうとBASEショップのTシャツアドインなどを試しましたが、画像の取り込みが綺麗にできていなくて劣化するので諦めました。いろいろ探していたら、スズリというサービスに行き着いたのです。因みに商品が売れても全額、収入にはならないのです、300円から自由に自分の取り分が設定できます。値段を上げると商品も高くなります…。
トイウワケデ、毎日1商品はUPしていくつもりでいます。作った商品はツイートします、気に入った商品があればご検討くださいませ。なお、こことは違うサイトを使用しデジタル商品も売っていくつもりでいます。
最後に自分のショップのURLを貼っときますね。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 300, base, GMO, UP, url, アドイン, ここ, ご検討, サービス, サイト, シャツ, ショップ, スズリ, ツイート, つもり, デジタル, トイウワケデ, 使用, 値段, 全額, 劣化, 収入, 取り分, 商品, 当初, 最後, 毎日, 物, 理由, 画像, 確保, 綺麗, 自分, 自由, 設定, 開発, 開設, 飯,

PAD(Power Automate Desktop)・・・エンジニアの仕事が奪われるかも?
2021.03.06
次ぐらいの大型ウィンドウズアップグレードのときにPADの機能が無償で追加されるようですね。これはかなり仕事の効率化ができると思います。操作方法は下記の動画のとおりです。簡単に自動入力が出来ちゃいますよね。これが搭載されるとクラウドワークスとかのお仕事も少し質が変わりそうな気がします。
因みにPAD(Power Automate Desktop)を今すぐ使用したい方はこちらからインストール出来ます。
https://flow.microsoft.com/ja-jp/desktop/
それにしてもPADのアイコン、flutterのアイコンに似てますよね!?
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Automate, com, Desktop, flow, flutter, https, ja-jp, microsoft, PAD, Power, アイコン, アップ, インストール, ウィンドウズ, エンジニア, お仕事, かなり, クラウド, グレード, こちら, これ, とおり, とき, ワークス, 下記, 仕事, 使用, 入力, 効率, 動画, 大型, 少し, 搭載, 操作, 方, 方法, 機能, 次, 気, 無償, 簡単, 自動, 質, 追加,

なるほど、よくわかりました。
2021.02.22
そういう事だったんだね。いまごろ理解する、いろいろな方法で非同期処理ができるだなと、ちなみにIE11でもPromiseは使用することが出来るみたい。そのかわりライブラリを読み込む必要はあるけれど・・・。IE11を開くとエッジを使用しようと勧めてくる。そろそろIEを強制的に削除すればいいのにと思っています。IEだとjsも制限が出てくるだよね。とくにコードを書くときにグレイヴ・アクセントとかいう記号「`」が使用できないのは痛いなと思います。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
11, IE, JS, Promise, アクセント, いま, いろいろ, エッジ, かわり, グレイヴ, コード, こと, とき, ライブラリ, 事, 使用, 処理, 制限, 削除, 同期, 必要, 方法, 理解, 記号,

自分を充電したい。
2021.02.05
全然関係ない話ですがスマホのバッテリーはギリギリまで使う派ですか?自分は一日一回は充電器に挿して充電しています。たまに自分も充電器に挿して充電したい気持ちになります。そんな機械があれば自殺者なんてこの世から無くなると思うわけです。でもそんな絵空事が実際になろうとしています。それを積極的に行っているのはイーロン・マスクです。
https://www.youtube.com/watch?v=r-vbh3t7WVI
イーロン・マスクは脳に電極を埋め込んで、情報などをやり取りするような事を研究しています。ちなみに結構、脳のことが最近わかってきていて近い将来鬱を治せるようになるかもです。そんな時代になったら、世界から自ら死を選ぶ人はかなりの確率でなくなるのではないかと思っています。
そして、今回、コロナワクチンで使用されているmRNA(メッセンジャーRNA)がどうも凄い技術らしくてこれはかなりの病気を寛容にもっていけるみたいです、なので今、病気で苦しんでいる人たちにも希望の持てる技術かと思います。
災い転じて福となすって言葉が適切な表現かはわかりませんが・・・ね。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, 7, com, https, mRNA, r-vbh, RNA, watch, WVI, www, youtube, イーロン, かなり, ギリギリ, こと, この世, これ, コロナ, スマホ, それ, たま, バッテリー, マスク, メッセンジャー, やり取り, ワクチン, 一, 世界, 事, 人, 今, 今回, 使用, 充電, 充電器, 実際, 寛容, 将来, 情報, 技術, 時代, 最近, 機械, 死, 気持ち, 派, 病気, 研究, 確率, 絵空事, 脳, 自ら, 自分, 自殺者, 苦, 話, 電極, 鬱,

声SNSが流行るらしいじゃなくて。
2021.02.03
声SNSが流行るらしいじゃなくて流行らしている人がいるから流行るが正解だと思います。とくに今、招待制のSNSアプリが見直されているらしく。その中でもClubhouseというアプリが海外では流行っているらしい。招待制なので誰でもできるわけではないけれど、自分もアカウントほしいな。招待してくれる人はツイッターのDMまで招待状を送ってくださいな。mixiが昔、招待制だった時は招待してほしかったんだけど、招待されたら時点やオープン化された時点でなんか、使用することすら、やめてしまい今では、たまにログインしているぐらいです。
SNSでいままでずっと使っているのはTwitterぐらいですよね。なんでだろうと考えたときに匿名性があるということと、気軽さじゃないかな。距離感が絶妙なのかも。。
フェイスブックとかは人と人のつながりがちゃんとしているけれど、疲れるのでつながらないようにしています。もともと、友達というひとも数少ないので繋がりはあまり生まれもしなかったですけど。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Clubhouse, DM, mixi, SNS, Twitter, アカウント, アプリ, オープン, こと, たま, ツイッター, とき, ひと, フェイスブック, ログイン, わけ, 中, 人, 今, 使用, 匿名性, 友達, 声, 招待, 招待状, 昔, 時, 時点, 正解, 海外, 自分, 誰, 距離感,

兎にも角にも
2020.12.08
人工知能で効率化を行う、何でも良いから人工知能の技術で解決できるだろうとか…思っている人もいるかと思いますが、実際、人工知能と言われている技術は機械学習と言われているものが大半です。
機械学習で出来ることは確かにいっぱいあるのだけど、精度の良い結果を出したいのなら失敗データや成功データが膨大に必要になります。いま、それを極力抑えて同じ結果が出るライブラリも登場してきましたが、やはりそれでもデータは必要になります。
データが100件しかないものを機械学習で頑張って勉強させてもポンコツな回答をする人工知能が生まれるだけです。データサイエンスとかいう職業が生まれるぐらい、機械学習にはデータがかなり大事な要素になります。
機械学習ってなにか、膨大なデータをコンピューターに学習させ、そこから共通点を導き出し振る舞いを行うものです。基本的に殆どのエンジニアはライブラリを使用して結果から振る舞う処理を書いたり、ライブラリを微調整してその後の処理を行うなどしかしません。なので機械学習というのは完璧に近いものは出来ますが、完璧ではないのです。
精度が悪い機械学習なら、ちょっと見た目が違っただけでたちまち、間違った回答を示します。なので、いま兎にも角にも機械学習とかいう流れがありますが、機械学習や人工知能というのは万能では有りません。
未だに、翻訳アプリの精度は片言な表現なのですから・・・。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
100, いま, エンジニア, かなり, こと, コンピューター, サイエンス, そこ, それ, データ, ポンコツ, もの, ライブラリ, 人, 人工, 使用, 共通点, 処理, 効率, 勉強, 回答, 大事, 大半, 失敗, 学習, 実際, 後, 微調整, 必要, 成功, 技術, 機械, 殆ど, 登場, 知能, 精度, 結果, 職業, 要素, 解決,

文字の置き換えはよく使うjavascript「吾輩は猫である。」
2020.12.06
文字の置き換えはよく使う。いろいろな参考書にも文字の置き換えは出てくる基本中の基本だ、そしてコレは結構使うことがある、とくに商品名を整理するときなど、連番に命名を置き換えるなどに使用することがある。EC系のシステム開発ではデーターベースへ製品名(product name)を登録するときなどによく使うのである?が、製品名や商品番号が整っていないのは、よくあることだ、だがしかしコレが中小企業の現実なのである。
この頃、再帰処理を使うことが少なくなってきて、何でも良いから再帰処理に当てはまる題材をじぶんに課すべきだと思う今日このごろです?
<p>吾輩は猫である、名前はまだない。</p>
<p>吾輩は猫である、名前はまだない。</p>
<button class="btn btn-primary" id="btn" type="button">名前はまだない?</button>
<script>
document.getElementById("btn").addEventListener("click",(e)=>{
var object= document.querySelectorAll("p");
for (const key in object) {
if (object.hasOwnProperty(key)) {
const element = object[key];
(element).innerText = (element).innerText.replace("名前はまだない。","名前は猫はちだ。");
}
}
});
</script>
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
btn, btn-primary, button, class, EC, gt, ID, javascript, lt, name, product, quot, type, いろいろ, こと, コレ, システム, じぶん, データー, とき, ベース, 中小企業, 今日このごろ, 使用, 再帰, 処理, 参考書, 名前, 吾輩は猫である, 命名, 商品, 基本, 整理, 文字, 現実, 番号, 登録, 系, 製品, 連番, 開発, 頃, 題材,

googleドライブ使ってる?
2020.12.01
googleドライブをパソコンにインストールするとgoogleドライブという領域が作らます。その領域を使用すれば他のパソコン間でファイルを共有することが可能です。それぞれPCでも同じパスにしてファイルを共有したい場合はシンボリックリンクを使用します。
やり方はこんな感じです。まずgoogleドライブ領域にフォルダを構えます、次に同じパスにしたい階層(googleドライブの階層ではなく)にシンボリックリンクでフォルダとリンクします。このことにより、シンボリックリンクの階層で作業したファイルなどは、おわかりの通りGoogleドライブに実際は作成されたことになるので、この方法で別のPCにもシンボリックリンクを使用して作成すれば、複数のPCでも同じファイル環境を整えることが可能です。
ちなみにシンボリックリンク作成は管理者権限でDosコマンドで下記のように打ってください。なお、MacとWindowsではコマンドは違います。Macの場合はターミナルになります。
シンボリックリンクとは何かはこちらを参照ください。?****
mklink /D 階層とシンボリックリンク名 階層とgoogleドライブのフォルダ名
ln -s 階層とgoogleドライブのフォルダ名 階層とシンボリックリンク名
WindowsとMacではコマンド名も命名規則も違う感じです・・・ややこしい?なっと。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Dos, Google, Mac, PC, Windows, インストール, おわかり, こと, コマンド, シンボリック, それぞれ, ターミナル, ドライブ, パス, パソコン, ファイル, フォルダ, やり方, リンク, 下記, 他, 作成, 作業, 使用, 共有, 別, 可能, 場合, 実際, 感じ, 方法, 権限, 環境, 管理者, 複数, 通り, 階層, 領域,

今頃、javaの大切さを知ることになる。
2020.11.24
java言語が理解できたらお仕事の幅は結構広がるし、そもそもプログラミングのお作法てきに源みたいな言語なので、勉強していると凄くソフトやアプリ開発する時に凄く便利なんだとこの頃、気づきました。javaはC#にもSwiftにもある意味繋がるなと思いますし、スプリクト言語にも繋がっていてるし、java言語はとても良いプログラミング教材だと…。
いまDart言語でアプリ開発しているですが、やっぱjava言語を勉強していたらなと思うわけです。そんなわけでjava言語を勉強中です。特にjava言語を使用してアプリを開発するわけではないですが、『スッキリわかるJava入門 実践編 第2版 スッキリわかるシリーズ』を購入して勉強中です?。勉強しないといけないのが、この業界です、、、、。自分は勉強会とかにはあまり参加しないですけど、そのかわり独学でもくもく?と勉強をしています。じぶんの知識は継ぎ接ぎだらけなので、この768ページある参考書を読めば埋め合わせになりそうです。
あと、Swiftもやはり勉強しようと思って中古の本を367円で購入。『Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)』を購入しました。こちらは新刊ではないのですが、ゴニョゴニョと学べそうです。
まずはJava言語を学びつつflutterでアプリ開発を並行して行っています。何故、java言語を勉強しているか?、java言語を学べばなんか色々と克服できそうな気がしています。今までPHP言語での開発が多かったのですが、今後、どう転んでもjava言語をゴニョゴニョ出来れば生きていけそうな気がしています。トイウカ、そういうアドバイスを年上のIT先輩から数ヶ月前に助言を頂きました。その時はピンと来なかったですが、いろいろと勉強していく中でこの頃、そりゃそうだなと感じました。
やはりWEB開発ならフレームワーク使えないと話しならないし、ソフトウェア開発ならjavaはマスターしてフレームワークも使えないと話しならないと思います。今までサボってきた分、勉強しないと生き残れないなと思います。人柄とかも大事ですけど、やはり技術がないと仕事にならない気がします。あとコミュニケーションも必要ですけどね。コミュニケーション身につけるならば自分の場合は自信をつける意味でも技術力を身に着けなければならないと感じています。
まぁ何でもそうですが大変なことが大事なんです。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, 768, Dart, java, swift, アプリ, いま, お仕事, かわり, こと, じぶん, シリーズ, スプリクト, ソフト, プログラミング, わけ, 今頃, 作法, 使用, 便利, 入門, 勉強, 勉強会, 参加, 参考書, 大切, 実践, 幅, 意味, 教材, 時, 業界, 源, 独学, 理解, 知識, 継ぎ接ぎ, 自分, 言語, 購入, 開発, 頃,

Electronの脆弱性でアレをtrue設定はNGですよね。
2020.11.23
Electron(エレクトロン)でrequire(りくわいあ)というものを使用するとエラーになります。Electronの昔のバージョンはこれが使用できたんだって今はこれを脆弱性対策のため、OFF(false)にしている。その設定をtrueにするとOK何だけど、これは公式では認めてない不正解の書き方だとさ。
function createWindow() {
mainWindow = new BrowserWindow({ width: 800, height: 600 , webPreferences: {
nodeIntegration: true
}});
じゃどうするれば良いのか?調べた結果、これが良いみたいです?。下記の書き方はちょっと面倒くさいけれども、こう書かなくては駄目だとさ。requireを使用しない場合はこんな感じで書かなくても良いです。
const path = require('path');
function createWindow() {
mainWindow = new BrowserWindow({ width: 800, height: 600 , webPreferences: {
nodeIntegration: false,
contextIsolation: true,
preload: path.join(__dirname, "preload.js")
}});
const { contextBridge, ipcRenderer} = require("electron");
const request = require('request');//使ってないけど?
contextBridge.exposeInMainWorld(
"hoge_hoge", {
send: (data) => {
consloe.log(data);
document.getElementById("hoge").innerHtml = "Hey!! " + data;
ipcRenderer.send("Hey!! " + data);
},
receive: (data) => {
consloe.log(data);
//ipcRenderer.on(channel, (event, ...args) => func(...args));
}
}
);
<button id="btn">Hey!!</button>
<span id="hoge"></span>
<script>
document.getElementById("btn").addEventListener("click",(e)=>{
window.hoge_hoge.send("hogeO!!");
});
</script>
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
600, 800, BrowserWindow, const, createWindow, Electron, false, function, Height, mainWindow, new, NG, nodeIntegration, off, OK, path, require, true, webPreferences, Width, アレ, エラー, エレクトロン, これ, ため, バージョン, もの, リグ, 下記, 不正解, 今, 何, 使用, 公式, 場合, 対策, 感じ, 昔, 書き方, 結果, 脆弱性, 設定, 駄目,

暑いのか寒いのかわからない。
2020.11.20
暑いのか寒いのかわからない季節を過ごしています。そんな中でアプリ開発してみました。開発したアプリはFBへ飛んで自分のHPが貼ってあるのでそこへ移動して動作動画などを見てみてください(※インストール出来ます)。今回、自分が開発したアプリは基本的なことが出来るよということをアピールするためのアプリなので、大それた開発日数がかかっていませんが基本は押さえていると思っています。自分が開発した環境はflutterとElectronというものを使用して開発しました。クロス開発になっているのでElectronだったら、Windows、Mac、リナックスなどに移植出来ます、flutterはアンドロイド、ios、Webが同時に開発できるので手間いらずです。因みにElectronの方が簡単ですね、flutterはDart言語を理解していることとflutterのドキュメントを見とかないとどんな機能があってどんな事が苦手なのかなどは分からないと思います。あと、Electronは脆弱性があってnode.jsのライブラリを初期設定では呼び出せないようにしています。初期設定をOFFって非推奨でコード開発しましたが、実際は皆さんはどうしているのか知りたいところですね。
そんな訳で、アプリ開発はしていきます?
良いのが出来ればこちらでも紹介します!!
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Dart, Electron, FB, flutter, HP, iOS, Mac, web, Windows, アピール, アプリ, アンドロイド, インストール, クロス, こと, そこ, ため, ドキュメント, もの, リナックス, 中, 事, 今回, 使用, 動作, 動画, 基本, 季節, 手間, 方, 日数, 機能, 理解, 環境, 移動, 移植, 簡単, 脆弱, 自分, 苦手, 言語, 開発,

マウスの動きをトラッキング(追跡)する。
2020.11.17
サイトのマウスの動きをトラッキングして行動パターンを知りたいという案件がクラウドでありました。応募はしていませんが考え方はこのような感じだと思います。ただ楽天サイトだという制約があったのでクロスサイトへ接続可能なのかはわからないけれど…ね?。
考え方のソースコードとdemoサイトのリンクを貼っときます、因みにIPを取れるJSライブラリもあるみたいなので、それを使用すると案件の内容が完結すると思います。
尚、PHPで再度、返却していますが、実際トラッキングする場合はPHP側でJSから送ったデータを保存処理を行う処理とクライアントが開いている状態のページの画面をキャプチャする機能などが必要になるかと思われます。そういう処理をPHP側で行わないといけないので、実際はJS側ではマウスのトラッキングとクライアントがブラウザで開いた画面サイズもPHP側に送信する必要はあるかなと。そういう事をPHP側に追加すれば良いのかと・・・感じました。
Demo22:: https://zip358.com/tool/demo22/
window.onload = function(){
document.body.addEventListener("mousemove",(e)=>{
var timeInMs = Date.now();
document.querySelector("#log").innerHTML = navigator.userAgent + "<br>" + "x=" + e.offsetX + "y=" + e.offsetY;
var data = {timeInMs:timeInMs,userAgent:navigator.userAgent,x:e.offsetX,y:e.offsetY};
move_xy(data).then(function(response){
console.log(response);
});
});
};
async function move_xy(data){
return await new Promise(function(resolve) {$.ajax({
type: "POST",
dataType: "json",
url: "./move_xy.php",
data: data,
success: function (response) {
if(response.res==="ok"){
resolve(response);
}
resolve(false);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
resolve(false);
}
});});
}
<?php
$obj["timeInMs"] = $_POST["timeInMs"];
$obj["userAgent"] = $_POST["userAgent"];
$obj["x"] = $_POST["x"];
$obj["y"] = $_POST["y"];
$obj["res"] = "ok";
print json_encode($obj);
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
demo, IP, JS, php, あるかな, キャプチャ, クライアント, クラウド, クロス, コード, サイズ, サイト, ソース, それ, データ, トラッキング, パターン, ブラウザ, ページ, マウス, ライブラリ, リンク, 事, 使用, 保存, 側, 内容, 再度, 処理, 制約, 可能, 場合, 完結, 実際, 必要, 応募, 感じ, 接続, 案件, 楽天, 機能, 状態, 画面, 考え方, 行動, 返却, 追加, 追跡, 送信,

WPのカレンダーや予約投稿の日付がズレてしまう件:WP5.3以降:?
2020.11.15
WPのカレンダーや予約投稿の日付がズレてしまう件:WP5.3以降に起きるらしい。ワードプレスが大幅なアップグレードしたことが影響しているみたいです。この原因を突き止めるのに結構時間がかかりました。頭の良い人はすごいなと関心、、、。原因ですが簡単に言うとテンプレートやプラグインに下記の関数を使用していたら何やら、日付がズレてしまうというなんとも言えない事象が起きる可能性があります。例えば、テンプレートのFunctions.phpの中にそういう記述があると表示される時にカレンダーがズレてしまうとかそういう現象が発生します。
date_default_timezone_set("Asia/Tokyo");
因みに自分はこの原因を突き止めるのに結構時間を割きました、共通してくれると有り難いです。参考にしたサイトを貼っときます。
https://blog.medical-design.co.jp/archives/2569
元リンクは下記のツイッターのリンクを参照ください。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
5.3, Asia, blog, co, date, default, functions, https, jp, medical-design, php, quot, set, timezone, Tokyo, wp, アップ, カレンダー, グレード, こと, サイト, ズレ, テンプレート, なん, プラグイン, プレス, ワード, 下記, 中, 予約, 事象, 人, 件, 使用, 共通, 原因, 参考, 可能性, 大幅, 影響, 投稿, 日付, 時, 時間, 現象, 発生, 簡単, 自分, 表示, 記述, 関心, 関数, 頭,

Twitterの名前、記号部分を天気予報のアイコン、夜は月のアイコンへと変更する。
2020.11.06
Twitterの名前の特定の記号部分(■や@部分)を天気予報のアイコン、夜は月のアイコンへと変更する。ある有名エンジニアさんのアイディアを拝借して作りました、autoloadとnamespaceの関係で手詰まり、試行錯誤して解決、その次に命名の間違えで手詰まり。そしてファイルの参照で手詰まりしてやっとリリースしました?、長かった。
使用方法はdefineにそれぞれの値をいれてコマンドから定期的に実行すればよいという品物です。Composerでインストールしている環境で下記のコマンドでパッケージをインストールしてください。
パッケージの開発部分は白紙です、今後、この機能に関してはバージョンアップするつもりはないです。
プログラムに改善の余地はありですが、はじめてパッケージ使ったので疲れました?以上、現場からでした。
https://packagist.org/packages/zip358/tw_name_change
https://github.com/zip358/tw_name_change
defineの補足
- OPENWEATHERMAPのAPI_IDが必要です(ユーザー登録が必要です)。
- Twitter API 登録しCONSUMER_KEYなどのキーが必要です。
- Twitterのユーザー名が必要です(自分)。
- KENNOは下記のテーブルを参照ください。
- KIGOUは置き換える文字です。
※正規表現に使われている記号は使用できません。
composer require zip358/tw_name_change
php Twitter_name_change.php
if($argv[0]){
require './vendor/autoload.php';
use zip358\tw_name_change\tw_name_chg;
define("KIGOU","■");
define("KENNO","KENNO");
define("TIME_ZONE","TIME_ZONE");
define("OPENWEATHERMAP_API_ID","Openweathermap_api_id");
define("USER_SCREEN_NAME","user_screen_name");
define("CONSUMER_KEY", "CONSUMER_KEY");
define("CONSUMER_SECRET", "CONSUMER_SECRET");
define("ACCESS_TOKEN", "ACCESS_TOKEN");
define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
$tw_name_change = new tw_name_chg();
$tw_name_change->main();
}
KENNO | 県名 |
---|---|
0 | 北海道 |
1 | 青森県 |
2 | 岩手県 |
3 | 宮城県 |
4 | 秋田県 |
5 | 山形県 |
6 | 福島県 |
7 | 茨城県 |
8 | 栃木県 |
9 | 群馬県 |
10 | 埼玉県 |
11 | 千葉県 |
12 | 東京都 |
13 | 神奈川県 |
14 | 新潟県 |
15 | 富山県 |
16 | 石川県 |
17 | 福井県 |
18 | 山梨県 |
19 | 長野県 |
20 | 岐阜県 |
21 | 静岡県 |
22 | 愛知県 |
23 | 三重県 |
24 | 滋賀県 |
25 | 京都府 |
26 | 大阪府 |
27 | 兵庫県 |
28 | 奈良県 |
29 | 和歌山県 |
30 | 鳥取県 |
31 | 島根県 |
32 | 岡山県 |
33 | 広島県 |
34 | 山口県 |
35 | 徳島県 |
36 | 香川県 |
37 | 愛媛県 |
38 | 高知県 |
39 | 福岡県 |
40 | 佐賀県 |
41 | 長崎県 |
42 | 熊本県 |
43 | 大分県 |
44 | 宮崎県 |
45 | 鹿児島県 |
46 | 沖縄県 |
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
autoload, Composer, define, https, namespace, org, packages, packagist, Twitter, zip, アイコン, アイディア, アップ, インストール, エンジニア, コマンド, それぞれ, つもり, バージョン, パッケージ, ファイル, プログラム, リリース, 下記, 予報, 今後, 余地, 使用, 値, 参照, 名前, 命名, 品物, 変更, 夜, 天気, 実行, 拝借, 改善, 方法, 月, 有名, 機能, 次, 特定, 現場, 環境, 白紙, 解決, 記号, 試行錯誤, 部分, 開発, 関係,

WordPressの公式ウィジェットカレンダー末日がズレている?ので直した。
2020.11.02
WordPressの公式ウィジェットカレンダー末日がズレている?ので直した。直した箇所はこちら変数名に$ooooと書いている部分が今回修正した箇所です。修正したファイルはWordPressのインクルードフォルダにある。ジェネラルテンプレートぴーえぃちーぴー(general-template.php)
wp-includes\general-template.php
このファイルを直しました。コアファイルなので次期UPDATEで修正されるかとは思いますが、それまではこちらの修正でなんとかなるさ?!
因みに何故、$ooooにしたのかは、お???の???という土佐弁からです。ファイルの中にget_calendar(げっとカレンダー)という関数があるのでそちらを修正しています。原因は下記です。
gmdateというものを使用している所をローカルサーバーの時間で対応しました、さくらレンタルサーバーのタイムゾーンは日本時間を指しています。若干の誤差はあるけれど酷い誤差ではないのでdateで大丈夫そうです。
要は日付の末日が正確に取れていないことが原因みたいです?
はやく修正してくれることを願っています。
function get_calendar( $initial = true, $echo = true ) {
global $wpdb, $m, $monthnum, $year, $wp_locale, $posts;
$key = md5( $m . $monthnum . $year );
$cache = wp_cache_get( 'get_calendar', 'calendar' );
if ( $cache && is_array( $cache ) && isset( $cache[ $key ] ) ) {
/** This filter is documented in wp-includes/general-template.php */
$output = apply_filters( 'get_calendar', $cache[ $key ] );
if ( $echo ) {
echo $output;
return;
}
return $output;
}
if ( ! is_array( $cache ) ) {
$cache = array();
}
// Quick check. If we have no posts at all, abort!
if ( ! $posts ) {
$gotsome = $wpdb->get_var( "SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1" );
if ( ! $gotsome ) {
$cache[ $key ] = '';
wp_cache_set( 'get_calendar', $cache, 'calendar' );
return;
}
}
if ( isset( $_GET['w'] ) ) {
$w = (int) $_GET['w'];
}
// week_begins = 0 stands for Sunday.
$week_begins = (int) get_option( 'start_of_week' );
// Let's figure out when we are.
if ( ! empty( $monthnum ) && ! empty( $year ) ) {
$thismonth = zeroise( intval( $monthnum ), 2 );
$thisyear = (int) $year;
} elseif ( ! empty( $w ) ) {
// We need to get the month from MySQL.
$thisyear = (int) substr( $m, 0, 4 );
// It seems MySQL's weeks disagree with PHP's.
$d = ( ( $w - 1 ) * 7 ) + 6;
$thismonth = $wpdb->get_var( "SELECT DATE_FORMAT((DATE_ADD('{$thisyear}0101', INTERVAL $d DAY) ), '%m')" );
} elseif ( ! empty( $m ) ) {
$thisyear = (int) substr( $m, 0, 4 );
if ( strlen( $m ) < 6 ) {
$thismonth = '01';
} else {
$thismonth = zeroise( (int) substr( $m, 4, 2 ), 2 );
}
} else {
$thisyear = current_time( 'Y' );
$thismonth = current_time( 'm' );
}
$unixmonth = mktime( 0, 0, 0, $thismonth, 1, $thisyear );
$last_day = gmdate( 't', $unixmonth );
$oooothisyear = date( 'Y', $unixmonth );
$oooolast_day = date( 't', $unixmonth );
$oooothismonth = date( 'm' , $unixmonth);
// Get the next and previous month and year with at least one post.
$previous = $wpdb->get_row(
"SELECT MONTH(post_date) AS month, YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_date < '$thisyear-$thismonth-01'
AND post_type = 'post' AND post_status = 'publish'
ORDER BY post_date DESC
LIMIT 1"
);
$next = $wpdb->get_row(
"SELECT MONTH(post_date) AS month, YEAR(post_date) AS year
FROM $wpdb->posts
WHERE post_date > '$oooothisyear-$oooothismonth-{$oooolast_day} 23:59:59'
AND post_type = 'post' AND post_status = 'publish'
ORDER BY post_date ASC
LIMIT 1"
);
/* translators: Calendar caption: 1: Month name, 2: 4-digit year. */
$calendar_caption = _x( '%1$s %2$s', 'calendar caption' );
$calendar_output = '<table id="wp-calendar" class="wp-calendar-table">
<caption>' . sprintf(
$calendar_caption,
$wp_locale->get_month( $thismonth ),
gmdate( 'Y', $unixmonth )
) . '</caption>
<thead>
<tr>';
$myweek = array();
for ( $wdcount = 0; $wdcount <= 6; $wdcount++ ) {
$myweek[] = $wp_locale->get_weekday( ( $wdcount + $week_begins ) % 7 );
}
foreach ( $myweek as $wd ) {
$day_name = $initial ? $wp_locale->get_weekday_initial( $wd ) : $wp_locale->get_weekday_abbrev( $wd );
$wd = esc_attr( $wd );
$calendar_output .= "\n\t\t<th scope=\"col\" title=\"$wd\">$day_name</th>";
}
$calendar_output .= '
</tr>
</thead>
<tbody>
<tr>';
$daywithpost = array();
// Get days with posts.
$dayswithposts = $wpdb->get_results(
"SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00'
AND post_type = 'post' AND post_status = 'publish'
AND post_date <= '{$oooothisyear}-{$oooothismonth}-{$oooolast_day} 23:59:59'",
ARRAY_N
);
if ( $dayswithposts ) {
foreach ( (array) $dayswithposts as $daywith ) {
$daywithpost[] = (int) $daywith[0];
}
}
// See how much we should pad in the beginning.
$pad = calendar_week_mod( gmdate( 'w', $unixmonth ) - $week_begins );
if ( 0 != $pad ) {
$calendar_output .= "\n\t\t" . '<td colspan="' . esc_attr( $pad ) . '" class="pad">?</td>';
}
$newrow = false;
$daysinmonth = (int) gmdate( 't', $unixmonth );
$oooodaysinmonth = (int) date( 't', $unixmonth );
for ( $day = 1; $day <= $oooodaysinmonth; ++$day ) {
if ( isset( $newrow ) && $newrow ) {
$calendar_output .= "\n\t</tr>\n\t<tr>\n\t\t";
}
$newrow = false;
if ( current_time( 'j' ) == $day &&
current_time( 'm' ) == $thismonth &&
current_time( 'Y' ) == $thisyear ) {
$calendar_output .= '<td id="today">';
} else {
$calendar_output .= '<td>';
}
if ( in_array( $day, $daywithpost, true ) ) {
// Any posts today?
$date_format = gmdate( _x( 'F j, Y', 'daily archives date format' ), strtotime( "{$thisyear}-{$thismonth}-{$day}" ) );
/* translators: Post calendar label. %s: Date. */
$label = sprintf( __( 'Posts published on %s' ), $date_format );
$calendar_output .= sprintf(
'<a href="%s" aria-label="%s">%s</a>',
get_day_link( $thisyear, $thismonth, $day ),
esc_attr( $label ),
$day
);
} else {
$calendar_output .= $day;
}
$calendar_output .= '</td>';
if ( 6 == calendar_week_mod( gmdate( 'w', mktime( 0, 0, 0, $thismonth, $day, $thisyear ) ) - $week_begins ) ) {
$newrow = true;
}
}
$pad = 7 - calendar_week_mod( gmdate( 'w', mktime( 0, 0, 0, $thismonth, $day, $thisyear ) ) - $week_begins );
if ( 0 != $pad && 7 != $pad ) {
$calendar_output .= "\n\t\t" . '<td class="pad" colspan="' . esc_attr( $pad ) . '">?</td>';
}
$calendar_output .= "\n\t</tr>\n\t</tbody>";
$calendar_output .= "\n\t</table>";
$calendar_output .= '<nav aria-label="' . __( 'Previous and next months' ) . '" class="wp-calendar-nav">';
if ( $previous ) {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-prev"><a href="' . get_month_link( $previous->year, $previous->month ) . '">? ' .
$wp_locale->get_month_abbrev( $wp_locale->get_month( $previous->month ) ) .
'</a></span>';
} else {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-prev">?</span>';
}
$calendar_output .= "\n\t\t" . '<span class="pad">?</span>';
if ( $next ) {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-next"><a href="' . get_month_link( $next->year, $next->month ) . '">' .
$wp_locale->get_month_abbrev( $wp_locale->get_month( $next->month ) ) .
' ?</a></span>';
} else {
$calendar_output .= "\n\t\t" . '<span class="wp-calendar-nav-next">?</span>';
}
$calendar_output .= '
</nav>';
$cache[ $key ] = $calendar_output;
wp_cache_set( 'get_calendar', $cache, 'calendar' );
if ( $echo ) {
/**
* Filters the HTML calendar output.
*
* @since 3.0.0
*
* @param string $calendar_output HTML output of the calendar.
*/
echo apply_filters( 'get_calendar', $calendar_output );
return;
}
/** This filter is documented in wp-includes/general-template.php */
return apply_filters( 'get_calendar', $calendar_output );
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
calendar, general-template, GET, gmdate, oooo, php, UPDATE, WordPress, wp-includes, インクルード, ウィジェット, カレンダー, コア, こちら, サーバー, さくら, ジェネラル, ズレ, そちら, それまで, タイム, テンプレート, ファイル, フォルダ, もの, レンタル, ローカル, 下記, 中, 今回, 使用, 修正, 公式, 原因, 土佐弁, 変数, 対応, 所, 時間, 末日, 次期, 箇所, 部分, 関数,

spaceXには夢があるよね。
2020.10.31
spaceXには夢があるよね。失敗もかなりしたけど諦めずに試行錯誤を続けていまでは、成功が続いています。今年か来年には野口さんを載せて宇宙ステーションへいくらしい。安定した運用しているけれど、やはりそれでも心配します。ミスが許されない現場ってのは本当に大変な仕事だと思います。
spaceXのミッションに火星移住計画ってのも在るけど、それは当分先の話だと思います。それよりも自分はstarlinkが気になるところです、starlinkってのは地球上どこにいても軌道衛星を介してインターネットができるようになるという計画です。いまstarlinkのアプリがダウンロードできるようになっているだとか、使用するには1万円ぐらいの月額費用がかかるので試した人は少ないと思います。自分も高くて手が出せない、これが毎月、使用した金額や安価な金額になると世の中、がらりと変わっていくだろうなという思いがあります。
いままで、情報を得ることが出来なかった人々が、情報にアクセスができるという事は凄く意義のあることだと思うし、そして何より知ることにより新たな化学反応のような事が世界各地で起きる時代になるのではないかと、いまから期待しています。本当に世界規模のデジタル民主化が起きれば良いのになぁと。
あと10年後には世の中、少しは良くなっていることを祈ります。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, spaceX, starlink, アプリ, いま, インターネット, かなり, これ, ステーション, それ, ダウンロード, どこ, ところ, ミス, ミッション, 万, 世, 中, 人, 今年, 仕事, 使用, 地球, 夢, 大変, 失敗, 宇宙, 安価, 安定, 当分, 心配, 情報, 成功, 手, 月額, 本当, 来年, 毎月, 気, 火星, 現場, 移住, 自分, 衛星, 計画, 試行錯誤, 話, 費用, 軌道, 運用, 野口, 金額,