@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
kabu.com APIする前にビットフライヤーライトニングで頑張ってみるのが良いかも、自動売買のはなし。
2020.06.04
kabu.com APIする前にビットフライヤーライトニングで頑張ってみるのが良いかも、自動売買のはなしです。そんなに単純なものではないとは思うものの、プログラミング書けばある一定の利益を得ることができそうな気がするので近々、じぶんもAPIを使用してプログラミングしてみます。上手く動作してもコードを公開することはないとは思います。ただしコードの仕組みなどは公開するかもしれません。もしくはコードの一部分とかは公開すると思います。
ちなみに動画で仮想通貨自動売買の方法をレクチャーしているサイトがあります、世の中、、、どうなっていくのだろうかと思ってしまう。仮想通貨自動売買で上手く利益を得ることが出来たらkubu.com APIを使用して取引を使用と思ってます、収入がないと来月からマイナスになる一方なので。手当り次第、収入に繋がるものは手を動かしてトライしていきます。
追記1:kubu.com APIは個人は駄目だそうです、ビットコインの方は高くて買えないのでロジックだけ作りました。
おそらくシンプルなコードでもずっと動作させていれば収益化できるはずです、但しそのコードを改善させようとしてコードを書き換えたりすると逆に損するような気がしますね。そんな事もあるのか、APIは複数申請が可能みたいです。
なお、映画ハミングバード・プロジェクトにも取り上げられているけど、取引には処理速度はかなり大事なような気がします。
追記2:
ビットコインの価格が高いので断念しました?詳しくは下記参照。
https://zip358.com/?p=9310
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
API, com, kabu, kubu, コード, こと, サイト, じぶん, トライ, はなし, ヒット, フライヤー, プログラミング, もの, ライトニング, レクチャー, 一定, 一方, 一部分, 世, 中, 仮想, 使用, 公開, 利益, 前, 動作, 動画, 単純, 収入, 取引, 売買, 手, 方法, 来月, 気, 自動, 通貨,

WPの記事を検索し一括カテゴリ変更する方法。
2020.05.25
WPの記事を検索し一括カテゴリ変更する方法は下記になります。ワードプレスのwp-load.phpを読み込み、下記のようなソースコードのファイルをcommandで実行すると、カテゴリが任意のカテゴリに変更されます。
重要点はwp_set_post_categoriesの引数です。arrayの配列の数値ですが、この数値をカテゴリIDのナンバーに変更することによってカテゴリが更新されます。
企業でご使用する場合はカテゴリ更新部分を一度、コメントアウトしCSVか何かでうまく記事が抽出できているか確認した後に、更新するようにお願い致します、当然ながら不具合等の苦情は受け付けません。自己責任でご使用くださいな。
尚、この下記のコードの意味がわからないという方は下記のURLからそれぞれのワードプレスようのメソッドが何を意味しているか調べてくださいね。
https://elearn.jp/wpman/
<?php
require_once(__DIR__ . '/../wp-load.php');
if ($argv[0]) {
$args = array(
'post_type ' => 'post',
'posts_per_page' =>-1,
's' => '映画'
);
$posts = get_posts($args);
foreach ($posts as $val) {
$href = get_permalink($val->ID);
$title = get_the_title($val->ID);
$cnt++;
echo $cnt.":".$title."\n".$href."\n";
wp_set_post_categories($val->ID,array(1,2,3));
}
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-Command, 39, array, categories, CSV, DIR, ID, lt, once, php, POST, require, set, url, wp, wp-load, アウト, お願い, カテゴリ, コード, こと, コメント, ご使用, ソース, それぞれ, ナンバー, ファイル, プレス, メソッド, ワード, 一度, 一括, 下記, 不具合, 任意, 企業, 何, 何か, 使用, 場合, 変更, 実行, 引数, 当然, 後, 意味, 抽出, 数値, 方, 方法, 更新, 検索, 確認, 自己, 苦情, 記事, 責任, 部分, 配列, 重要点,
昔といまの変わらないプログラマーさん。
2020.05.21
簡単なコードをむかしはいろいろ調べながらプログラムを書いていた、いまはその調べる時間が短くなって来ている、特によく使用している言語はそんなに時間がかからない、長くても1時間だと思います。それ以上はあまりない。。。『えっそんなにも』と驚く人もいると思うけれど、誰も聞く人がいない環境だとあたりまえに、そんな環境はあると思います。
学習方法は今も昔やあまり変わらない手を動かしてプログラミングして覚えるという事につきます。YOUTUBEなどの解説を聞いただけで覚える人も中にはいると思うけれど、普通の人は解説を聞き手を動かし、そこからプログラムを可変してやっと身につくことになると思います。
自分はそんな感じです?だから・・・
皆がおなじという考えではなく、中小企業で働くIT戦士を長年見てきて皆、そんな感じで経験を積み、中小企業のプログラマーになっていくという形が大半です。中には素質ありの方もいます、そういうひとは最初から大企業のプロパになります。>生きている道が違いますが皆、プログラマーです(´・ω・`)。
プログラマーにもランクがあります。SランクにはなれなくともAランクやBランクのプログラマーを目指して日々精進じましょう。
ひとつコードを記載します。さてこのJSのコードの無駄はなにか考えてみてください。分かっても一人ほくそ笑む事にしてください(*´?`*)
https://zip358.com/tool/demo16/
let i = 0;
const btn = document.getElementsByTagName("button");
const evt = (e) => {
const view = document.querySelector("#view");
str = `
<div class="alert alert-primary" name="pop" role="alert">
Content ${i++}
</div>
`;
view.innerHTML += str;
const rm = (e) => {
e.target.remove();
};
const pop = document.getElementsByName("pop");
for (var x = 0; x < pop.length; x++) {
pop[x].addEventListener("click", rm);
}
};
btn[0].addEventListener("click", evt);
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, IT, youtube, アタリマエ, いま, コード, こと, そこ, それ, ひと, プログラマー, プログラミング, プログラム, プロバ, むかし, 中, 中小企業, 事, 人, 今, 企業, 使用, 大半, 学習, 形, 感じ, 戦士, 手, 方, 方法, 昔, 時間, 普通, 最初, 環境, 皆, 簡単, 素質, 経験, 聞き手, 自分, 解説, 言語, 誰, 身, 長年,
Visual Studio Codeの話とビデオ通話API。
2020.05.19
Visual Studio Code(ビジュアルスタジオコード)の話とビデオ通話APIをわかりやすく解説している動画を見つけたので紹介します。下記の動画を見ていただければビデオ通話APIの導入とVisual Studio Codeの使い方の基本が一通りわかるかなと、2017年の動画なので3年前(現在:2020年)の話になる。
今では、Visual Studio codeにはいろいろな機能追加がされているが基本的な機能はほぼ同じ、機能追加されてこれ以上に使いやすさが増している部分もあるけど、上記の動画解説の内容を知っていない人は見るべしかなと思います。あと、ビデオ通話APIの話が割愛されているが、NTTが提供しているSkywayというAPIサービスがある、これを使用することにより簡単にビデオ通話が導入ができるみたいです。動画ではnode.jsやtypescriptで動かしている部分も垣間見える。あとAzureにデプロイする事も紹介しているので初心者向きの講義ではないかなと思いますが、見習いIT戦士が見るには良い講義かなと思えたのでご紹介しました。
見る限り、APIを使用すれば簡単にビデオ会議システムなどが導入できるなと言う印象を持ったものの、有料版はお高いなという感じがします。あのお値段を支払うのは結構きついなと思います。このAPI機能で無料のサービスなどを立ち上げる場合などはビデオ通話の時間に制限を設けないといけない気がします。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2017, 2020, 3, API, Az, Code, JS, node, NTT, Skyway, Studio, TypeScript, Visual, いろいろ, コード, こと, これ, サービス, スタジオ, ビジュアル, ビデオ, 上記, 下記, 人, 今, 使い方, 使用, 内容, 割愛, 動画, 垣間, 基本, 導入, 提供, 機能, 現在, 簡単, 紹介, 解説, 話, 追加, 通話, 部分,
ちょっとしたツール。
2020.05.11
サイト内の検索をするためのURLを生成してくれるツールを作りました。
ドメインを入力するとあらかじめ登録しているURLの候補が表示されます。
なお、プログラムでドキュメント検索する場合などに最適かなと思います、URLもプログラム関係のサイト(ドメイン)を登録しています。
因みにこれを作った経緯は単なる自分が使用するために作りました、そのお裾分けですので機能追加などは自分の判断で追加いたします(問い合わせなどは受け付けておりません)。
最後にリンクを貼っときます。
https://zip358.com/tool/site_search/ (サイト内検索URL生成)
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
358, com, https, search, site, tool, url, zip, お裾分け, これ, サイト, ため, ツール, ドキュメント, ドメイン, プログラム, リンク, 使用, 候補, 入力, 判断, 問い合わせ, 場合, 最後, 最適, 検索, 機能, 生成, 登録, 経緯, 自分, 表示, 追加, 関係,
AudibleよりiPhoneやipadはこれでOKです。
2020.05.08
昨日、ツイートした方法でiPhoneやipadではオーディブルと同じように本を朗読してくれる。但しキンドルアプリを閉じたりiPhoneやipadをロックにすると朗読をやめてしまいます。それが気にならなければオーディオブック=オーディブルを使用しなくとも十分、使えるのではないかなと思います。
方法はこちらを参照してください。
https://www.businessinsider.jp/post-212388
ということで、自分はオーディブルを解約してこちらの方法で積本を読む方法に変更しました。
尚、上記の方法を設定したのに上手く動作しないという方は一度、iPhoneやipadを設定した後、再起動すると良いです。自分は上手く動作しなくて=朗読しなくて一時間ほど、いろいろ試していました。何度も落ちたので、これはもしやと思って再起動すると上手く動作しました。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
212388, Audible, businessinsider, https, iPad, iPhone, jp, OK, POST, www, アプリ, オー, オーディオ, キンドル, こちら, こと, これ, それ, ツイート, ディブル, ブック, ロック, 一, 一度, 上記, 何度, 使用, 再起動, 動作, 参照, 変更, 後, 方, 方法, 昨日, 朗読, 本, 気, 積本, 自分, 解約, 設定,
pip3がうまく動かない(´・ω・`)v
2020.04.30
pipがうまく動かないときの対応。下記の3点が入っていないとpython3をインストールしたとしてもpipが動かないそうだ。これが分かるまでに2時間を費やした時間を返してください(´・ω・`)v
yum install -y openssl-devel
yum install -y libffi-devel
yum install -y zlib-devel
ちなみにPython3のインストールは下記のURLの説明を参考しました。ソースコードをビルドしインストールしている。こうすることでバージョンの使い分けができる。PHPは慣れたもので簡単に使い分けできるですけどね・・・。PythonはPythonは・・・。
最後にソースコードをビルドしてインストールしてpipを使用する場合、pip3で動かない場合はpip3.8とか試してみてくださいね。
コピペでWEBスクレイピングしてみた動画をUPしています。ちなみにpython 初心者vlogをアップして駄目駄目さ見せつけています。PHPはスイスイ?と出来るのですがPythonはズブの素人です。
徐々に上達するでしょう。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-y, 2, 3, 3.8, install, libffi-devel, openssl-devel, php, pip, Python, UP, url, v, web, yum, zlib-devel, インストール, コード, こと, コピペ, これ, してい, スク, ソース, とき, バージョン, ビルド, ピング, もの, レイ, 下記, 使用, 動画, 参考, 場合, 対応, 時間, 最後, 簡単, 説明,

予備校のノリで学ぶYOUTUBER
2020.04.22
成人になるまでろくに勉強することをしなかった、じぶんが社会人になって勉強の楽しみを知るきっかけになった一人の講師系YOUTUBER、たくみさん。
知っている人は知っていると思います、いつの間にか中堅YOUTUBERになっているし本も出版されています。そしてTVにも出てたんじゃないかな?
『たくみ』さんの動画は分かりやすいし自分も勉強してみようという気持ちに人を持っていく話術が上手いなと思います。分からないことを知ることって楽しいとか、そういう気持ちになる動画かと思います。是非、大人になって勉強したいなと思っている方や受験生などは必見のYOUTUBEだと思います。今がもし学生時代だったらYOUTUBE見て勉強している気がします。
自分は大学受験を今の所していないですが、受験する皆さんに自分が声をかけるなら高校一年から受験勉強しなさいということかな?高校の勉強を今ならネットなどを使用すれば飛び級みたいに3年間の勉強が出来るので勉強するべしかな。予習して学校の授業を受けると理解が増すように、一年間で高校の勉強を全て頭に入れると楽ですよ。難関校は難しいかもしれないですが、まぁまぁの偏差値レベルだったら、おそらく自分は一年間で高校の勉強を詰め込む事が可能だったと思います。いま戻れるなら、そういう事をすると思います。
最後にチャンネル登録はこちら 予備校のノリで学ぶ「大学の数学・物理」
https://www.youtube.com/channel/UCqmWJJolqAgjIdLqK3zD1QQ
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, TV, youtube, YOUTUBER, きっかけ, こと, じぶん, たくみ, ネット, ノリ, 一, 一人, 中堅, 予備校, 人, 今, 使用, 出版, 勉強, 動画, 受験, 声, 大人, 大学, 学生, 必見, 成人, 所, 方, 時代, 本, 楽しみ, 気, 気持ち, 生, 皆さん, 社会人, 自分, 話術, 講師, 飛び級, 高校,
NPO法人検索サービスを作りましたよ。
2020.04.05
全国各地のNPO法人を検索できるサービスです。閉鎖されているサービスも検索にヒットするのがたまに傷ですが・・・。非表示にすることも可能ですがあえて表示させています。
NPO法人を使用されたい方、NPOで活動されたい方は是非、下記のURLより御活用くださいませ。
https://zip358.com/tool/NPO/
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
NPO, url, こと, サービス, たま, ヒット, 下記, 使用, 傷, 全国, 可能, 各地, 御活用, 方, 検索, 法人, 活動, 表示, 閉鎖,

アロー演算子の数珠繋ぎの作り方?
2020.03.17
コロナウィルス対策の一環として東京都が“GitHub”に開設した新型コロナウイルス対策サイトがすごいと話題になっているらしいので自分も見てみました。ソースコードはVue.js,TypeScript,React.js,PHPなどなどいろいろな言語が使用されていました。PHPはLaravelの機能が使われてたりして、書き方が綺麗で勉強になるなぁと思ったわけです。参考になりますよね、きれいな書き方のコードを見るとやはり参考になります。
もともと、書き方が古いと自分は古い書き方に合わせます。特に上がプライドが高い人だと出る杭は打たれるみたいな状態になりますので要注意ですね…。そういう人が上にいると徐々にコードを書くのが面白くなくなります。そういうのは大いにあるなと思います。名も知らないひとのコード書きが自分の上司だったらなと思うときがあります。
そう愚痴ってもしょうが無い、その環境を選んだのは自分自身な訳ですからね。
ただ技術力を伸ばしたければやはり環境は大事、辞めたいなら辞めて自分の力を表現できる環境に身をおいた方が断然良い。
前置き長くなりました、、アロー演算子を数珠繋ぎする考え方はこんな感じです。考え方を知っとくと応用が出来るようになります、やはり基準を知るが大事かなといつも思います。
追記:これを応用するとこんな感じになります。追記のソースコードを記載しました(2021.07.05)
<?php
class testA{
public $a = "";
public function __construct($a)
{
$this->a = $a;
}
public function test1($a=""):string{
return (string)$this->a." ".$a."<br>\n";
}
public function test2($a=""):string{
return (string)$this->a." ".$a."<br>\n";
}
}
class test{
public function main($a="Hello"):object
{
$this->a = $a;
return new testA($this->a);
}
}
$test = new test();
print $test->main()->test1("PHP");
print $test->main("by")->test2("C");
<?php
class test{
function main(){
return new class{
function testA(){
return "testA";
}
function testB(){
return "testB";
}
};
}
}
$test = new test();
print $test->main()->testA();
print $test->main()->testB();
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
github, JS, Laravel, php, react, TypeScript, vue, アロー, いろいろ, ウィルス, きれい, コード, コロナ, コロナウイルス, サイト, しょう, ソース, とき, ひと, プライド, もともと, わけ, 一環, 上, 上司, 人, 作り方, 使用, 勉強, 参考, 名, 対策, 技術力, 数珠繋ぎ, 新型, 書き方, 杭, 東京都, 機能, 注意, 演算子, 状態, 環, 環境, 綺麗, 自分, 自身, 言語, 訳, 話題, 開設,
株式会社ディーアンドジーネクストのサービスをリバースエンジニアリングした?
2020.03.13
高知県にあるディーアンドジーネクスト社には上記のサービスがあります、これは自分でも作れそうだと思い試した所できました。ソースコード公表は営業妨害になるので、掲載しませんが考え方は至ってシンプルです。翻訳したデータをパラメーターに付与して飛ばすだけです。
アイディアはとても面白いと感じたのだけど、これはパクれるかなと思いました。ちなみに翻訳APIを無料で使用する方法を見て作りました。いまは動かないようにしています。見た目はこんな感じになります(上記の画像)。
https://zip358.com/tool/demo10/ 動作はしません?処理部分秘密?
参考サイト
https://qiita.com/satto_sann/items/be4177360a0bc3691fdf
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, 358, API, com, demo, https, tool, zip, アイディア, いま, エンジニアリング, コード, これ, サービス, サイト, シンプル, ソース, データ, ディーアンドジー, ネクスト, パラメーター, リバース, 上記, 付与, 使用, 公表, 処理, 動作, 参考, 営業, 妨害, 感じ, 所, 掲載, 方法, 株式会社, 無料, 画像, 秘密, 翻訳, 考え方, 自分, 見た目, 部分, 高知県,

ペチパー会議:PHPerKaigi。YOUTUBEチャンネル登録お願いします?!(陰ながら応援)
2020.03.12
ペチパー会議:PHPerKaigi。YOUTUBEチャンネル登録お願いします?!(陰ながら応援)ペチパーとは何か、それはPHP言語を使っている人、これから使おうとしている人達のことをペチパーと呼ぶみたいですね。PHP言語を愛していてやまない方々と思って頂ければよいのかと。そんなペチパーの方々が年に一度、PHP会議を行っています。そこでは技術のいろいろな情報交換が行われているという。
ただ、PHPerKaigiがあまり知られていないのか、分かりませんがYOUTUBEチャンネル登録者数が少ないのです。PHPを使用している方は日本でもこれ以上の人達が日々使っているはずなのに…なぜか少ない。内容は結構良い感じなのでこれから増えていくとは思いますが、何だか少し寂しいのでここで陰ながら応援してます。
最後にチャンネル登録はこちらから。
https://www.youtube.com/channel/UCjRTsAj3qtcvnTj6IriRwgg
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
co, https, php, PHPerKaigi, www, youtube, いろいろ, お願い, ここ, こちら, こと, これ, そこ, それ, チャンネル, バー, パス, ペチ, 一度, 交換, 人, 会議, 使用, 内容, 少し, 年, 応援, 情報, 感じ, 技術, 方, 方々, 日々, 日本, 最後, 登録, 登録者, 言語,
?Ponanza(ポナンザ)の作成者さんが作ったお天気のアレを真似たひとり用。
2020.02.22
Ponanza(ポナンザ)の作成者さんが作ったお天気のアレを真似たひとり使用?ものです。下記のものを作りました。開発者の場合、自分で作りたい衝動にかられると思います。まんまと駆られて作りました…なので考え方をお裾分けです。今までQiitaで公開したソースコードも必要になりますので、リンクを貼っときます。そしてメインのソースコードは下記になります( Twitterのoauthライブラリを呼び出しが必要になります。 )。
※個人の開発者様用なので位置情報は引っ張って来てません、天気の都道府県を変更されるか、Twitterの位置情報を使用し天気のAPIへ投げるなりしてください(本家はIP情報から位置情報を特定しようとしているようです)。乱暴な説明ですが駆け出しのプログラマーじゃない限りできると思います。
本家はこちら
https://note.com/issei_y/n/ne128a0cf27ca
追記:ソースコードをComposerで使用できるようにしました。
https://qiita.com/zip358com/items/8c1a128e24cc33ca7ca7
composer require zip358/tw_name_change
<?php
require_once ("vendor/autoload.php");
require_once ("moon.php");
require_once ("tenki.php");
use Abraham\TwitterOAuth\TwitterOAuth;
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$user_data=$connection->get("users/show",["screen_name"=>$user_screen_name]);
$name = $user_data->name;
date_default_timezone_set('Asia/Tokyo');
$icons = moon::$icon + tenki::$icon + array("@"=>"@");
$year = date("Y");
$mon = (int)date("m");
$day = (int)date("d");
$H = (int)date("H");
if($H>=6 and $H<=17){
tenki::main();
tenki::$url = "https://api.openweathermap.org/data/2.5/weather?id=".tenki::$ken->kochi["id"]."&appid=".tenki::$appid;
tenki::api();
$chg = tenki::$icon[str_replace("n","d",tenki::$response->weather[0]["icon"])];
}else{
moon::main($year,$mon,$day);
$chg = moon::icon();
}
foreach($icons as $key=>$val){
if(preg_match("/$val/",$name)){
$hit = $val;
}
}
$name = str_replace("$hit",$chg,$name);
$connection->post("account/update_profile", ["name" =>$name]);
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 128, 27, API, ca, cf, com, https, IP, issei, ne, note, oauth, Ponanza, qiita, Twitter, アレ, お裾分け, コード, こちら, ソース, ひとり, ひとり用, プログラマー, ボナンザ, メイン, もの, ライブラリ, リンク, 下記, 位置, 作成者, 使用, 個人, 公開, 場合, 変更, 天気, 必要, 情報, 本家, 特定, 考え方, 自分, 衝動, 説明, 都道府県, 開発者, 限り, 駆け出し,

検索サイトが無かったら、仕事ができないプログラマー。
2020.02.21
検索サイトが無かったら、仕事ができないプログラマーはいっぱいる。たぶん90%ぐらい締めているじゃないかな?どこかのライブラリを使用したい場合とかもだいたい検索サイト使っているし、何かフリーツールが欲しくても検索サイトが無いと中々、お仕事ができないのが今のIT企業の人だと思います。
そして日進月歩如く、IT技術は次から次へと新しい技術が生まれては消えていきます。サイクルは年々早くなる一方で、こんな事を隅から隅まで知識として詰め込める人は1~2%の天才的なIQの持ち主です。その他の人達は検索サイトやSNSの情報がないと何かしらお仕事が止まります。それぐらいIT業界は検索サイトのお世話になっているのだなと思うのと、検索サイトがダウンすると、自分はお仕事が全然はかどらなくなるなぁ?と少し思うときがあります。
今はそうでもないですけど、新しい事を始めるときは特に検索サイトは使いますね。だからやはり検索サイトがダウンすると経済的にかなり打撃になると感じます。今までGから始まる会社の検索サイトがダウンしたって事ありましたかね?もしなかったら、100%の稼働率って事になりますよね、凄すぎ?
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 2, 90, IQ, IT, SNS, いっぱい, お世話, お仕事, サイクル, サイト, その他, それぐらい, ダウン, ツール, とき, どこか, フリー, プログラマー, ライブラリ, 一方, 中々, 事, 人, 今, 仕事, 企業, 使用, 場合, 少し, 情報, 技術, 持ち主, 日進月歩, 検索, 業界, 次, 知識, 自分,
NTTのCOTOHA API(コトハAPI)でWordPressの自動タグ生成プラグインを作ってみた。
2020.02.20
GUIはこんな感じになります。
jp-auto-tagというプラグインをYahoo!APIを使用し作っていましたが
何だか、バージョンが変わるらしくてその対応するのが…。コトハAPIで同じ感じのものを作ってみました。
面倒くさいなぁと感じたので
尚、jp-auto-tagを使用している方はjp-auto-tagを停止してjp-auto-tag2をご使用ください。また圧縮ファイルを解凍しワードプレスのプラグインフォルダにフォルダごと、アップロードしプラグイン有効にしAPIの設定すると自動タグが生成可能です。
ブログ投稿時にタグが自動生成されますので、確認の際は画面を再読み込みしてご確認ください。
尚、オプションデータは残り続けますので悪しからず?
プラグインのソースコードはこんな感じになります。
<?php
/*
Plugin Name: jp-auto-tag2
Version: 0.1.10
Description: auto jp tag2
Author: taoka toshiaki
Author URI: https://zip358.com/
Plugin URI: https://zip358.com/plugin/jp-auto-tag2.zip
*/
class jp_auto_tag2
{
public $db_option = "jp_auto_tag2";
function frm_page2()
{
add_menu_page('jp-auto-tag2', 'jp-auto-tag2', 'manage_options', __FILE__, array($this, 'show_text_option_page2'), '', 8);
}
function show_text_option_page2()
{
wp_enqueue_style('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css', array(), '3.3.6');
wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js', array(), '3.3.6');
$options = get_option($this->db_option);
if (!empty($options)) {
$Access_Token_Publish_URL = $options["Access_Token_Publish_URL"];
$API_Base_URL = $options["API_Base_URL"];
$Client_ID = $options["Client_ID"];
$Client_secret = $options["Client_secret"];
$max_keyword_num = $options["max_keyword_num"];
}
include_once dirname(__FILE__) . '/jp-auto-tag-tmp2.php';
}
function ajax_event2()
{
$options["max_keyword_num"] = $obj["max_keyword_num"] = (int)$_POST["max_keyword_num"]<5?5:(int)$_POST["max_keyword_num"];
$options["Access_Token_Publish_URL"] = $obj["Access_Token_Publish_URL"] = $_POST["Access_Token_Publish_URL"];
$options["API_Base_URL"] = $obj["API_Base_URL"] = $_POST["API_Base_URL"];
$options["Client_ID"] = $obj["Client_ID"] = $_POST["Client_ID"];
$options["Client_secret"] = $obj["Client_secret"] = $_POST["Client_secret"];
update_option($this->db_option, $options);
print json_encode($obj);
die(0);
}
function api_tag2($post_id)
{
$cuthttp = function ($str = "") {
if (!$str) return $str;
return preg_replace("/https?:\/\/[a-zA-Z0-9|%|\?|_|=|-|\.|\/]*$/m", "", $str);
};
$post = get_post($post_id);
$title = $post->post_title;
$content = strip_tags($post->post_content);
$document = $title . $cuthttp($content);
$options = get_option($this->db_option);
if ($options["Access_Token_Publish_URL"] && $options["Client_ID"] && $options["Client_secret"]) {
$curl = function ($ptn, $options, $token = "", $token_type = "", $document = "") {
switch ($ptn) {
case "token":
$data = [
'grantType' => 'client_credentials',
'clientId' => $options["Client_ID"],
'clientSecret' => $options["Client_secret"],
];
$header = [
'Content-Type: application/json;charset=UTF-8',
];
$url = $options["Access_Token_Publish_URL"];
break;
case "tag":
$data = [
'document' => $document,
'max_keyword_num'=>$options["max_keyword_num"],
];
$header = [
'Authorization: ' . ucfirst($token_type) . ' ' . $token,
'Content-Type: application/json;charset=UTF-8',
];
$url = rtrim($options["API_Base_URL"],"/")."/nlp/v1/keyword";
break;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
$response = curl_exec($curl);
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
$res = (object)json_decode($body, true);
curl_close($curl);
return $res;
};
$res = $curl("token", $options);
$access_token = $res->access_token;
$token_type = $res->token_type;
if ($options["API_Base_URL"] && $document && $access_token){
$res = $curl("tag", $options, $access_token, $token_type, $document);
foreach($res->result as $key=>$val){
$tags[] = $val["form"];
}
wp_set_post_tags($post_id, implode(",", array_unique($tags)), false);
}
}
}
}
$jp_auto_tag2 = new jp_auto_tag2();
add_action('save_post', array($jp_auto_tag2, 'api_tag2'));
add_action('publish_post', array($jp_auto_tag2, 'api_tag2'));
add_action('admin_menu', array($jp_auto_tag2, 'frm_page2'));
add_action('wp_ajax_ajax_event2', array($jp_auto_tag2, 'ajax_event2'));
<form id="ajax-frm">
<table class="table">
<tr>
<td>
プラグイン説明:jp-auto-tag2はapi.ce-cotoha.comのAPIを<br>
使用し投稿文を解析しキーワードをタグを抽出します。<br>
</td>
</tr>
<tr>
<td>
<a href="https://api.ce-cotoha.com/contents/index.html" target="new">https://api.ce-cotoha.com/contents/index.html</a><br>
上記のURLよりユーザー登録を行いAPI情報をそれぞれ入力ください。全て必須項目になります。
</td>
</tr>
<tr>
<td>
Access Token Publish URL:<br>
<input type="text" name="Access_Token_Publish_URL" value="<?=$Access_Token_Publish_URL?>" class="form-control">
</td>
</tr>
<tr>
<td>
API Base URL:<br>
<input type="text" name="API_Base_URL" value="<?=$API_Base_URL?>" class="form-control">
</td>
</tr>
<tr>
<td>
Client ID:<br>
<input type="text" name="Client_ID" value="<?=$Client_ID?>" class="form-control">
</td>
</tr>
<tr>
<td>
Client_secret:<br>
<input type="text" name="Client_secret" value="<?=$Client_secret?>" class="form-control">
</td>
</tr>
<tr>
<td>
抽出するキーワード(タグ数)5以上:<br>
<?php
$max_keyword_num = (int)$max_keyword_num<5?5:$max_keyword_num;
?>
<input type="text" name="max_keyword_num" value="<?=$max_keyword_num?>" class="form-control">
</td>
</tr>
<tr>
<td colspan="2"><input type="button" id="frmsubmit" value="登録する" class="form-control"></td>
</tr>
</table>
</form>
<script>
jQuery(function($){
$("#frmsubmit").on("click",function(){
var ajaxurl = '<?=admin_url( 'admin-ajax.php');?>';
var data = $("#ajax-frm").serializeArray();
data.push({name:"action",value:"ajax_event2"});
$.ajax({
type:'POST',
url:ajaxurl,
data:data,
success:function(obj){
console.log(obj);
alert("更新しました");
}
});
});
})
</script>
プラグインダウンロードはこちら
https://zip358.com/plugin/jp-auto-tag2.zip
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, API, COTOHA, GUI, jp-auto-tag, lt, name, NTT, php, plugin, WordPress, Yahoo, アップロード, オプション, コード, ことば, ご確認, ソース, タグ, データ, バージョン, ファイル, フォルダ, プラグイン, プレス, ブログ, もの, ワード, 使用, 停止, 可能, 圧縮, 対応, 感じ, 投稿, 方, 有効, 生成, 画面, 確認, 自動, 自動生成, 解凍, 設定, 際,
天気予報を取得するアレを使用してみた(Openweathermap_api)。
2020.02.19
ご自由にお使いください。尚、openweathermap.orgより
アカウントを作成後、APIKEYを取得しお使いください。
下記のソースコードをコピーしての可変等は可能です。
余談
天気予報の絵文字が合致していていないかもしれません。
また都道府県のIDもズレている場合、お好みで変更ください。
ZIPコードで情報を取得するとより正確な天気予報となるそうです。
下記のコードを実行するとこんな感じになります。
ソースコードはこんな感じになります。
<?php
class Openweathermap_api{
public $url = "https://api.openweathermap.org/data/2.5/weather?id=";
public $appid = "apikey";
public $ken ="";
public $response ="";
public $icon = array(
"01d"=>"?",
"02d"=>"?",
"03d"=>"?",
"04d"=>"?",//?
"09d"=>"?",
"010d"=>"?",
"011d"=>"?",
"013d"=>"?",
"050d"=>"?",
);
function __construct()
{
$this->ken = (object)(json_decode(@file_get_contents("ken.json"),true));
}
function api(){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$this->response = (object)json_decode(curl_exec($ch),true);
curl_close($ch);
}
}
$tenki = New Openweathermap_api();
$tenki->url = "https://api.openweathermap.org/data/2.5/weather?id=".$tenki->ken->kochi["id"]."&appid=".$tenki->appid;
$tenki->api();
print($tenki->icon[str_replace("n","d",$tenki->response->weather[0]["icon"])]);
var_dump($tenki->response);
{
"hokkaido": {
"id": "2130037",
"kenmei": "北海道",
"kenfurigana": "ほっかいどう"
},
"aomori": {
"id": "2130656",
"kenmei": "青森県",
"kenfurigana": "あおもり"
},
"iwate": {
"id": "2112518",
"kenmei": "岩手県",
"kenfurigana": "いわて"
},
"miyagi": {
"id": "2111888",
"kenmei": "宮城県",
"kenfurigana": "みやぎ"
},
"akita": {
"id": "2113124",
"kenmei": "秋田県",
"kenfurigana": "あきた"
},
"yamagata": {
"id": "2110554",
"kenmei": "山形県",
"kenfurigana": "やまがた"
},
"fukushima": {
"id": "2112923",
"kenmei": "福島県",
"kenfurigana": "ふくしま"
},
"ibaraki": {
"id": "2112669",
"kenmei": "茨城県",
"kenfurigana": "いばらき"
},
"tochigi": {
"id": "1850310",
"kenmei": "栃木県",
"kenfurigana": "とちぎ"
},
"gunma": {
"id": "1863501",
"kenmei": "群馬県",
"kenfurigana": "ぐんま"
},
"saitama": {
"id": "1853226",
"kenmei": "埼玉県",
"kenfurigana": "さいたま"
},
"chiba": {
"id": "2113014",
"kenmei": "千葉県",
"kenfurigana": "ちば"
},
"tokyo": {
"id": "1850144",
"kenmei": "東京都",
"kenfurigana": "とうきょう"
},
"kanagawa": {
"id": "1860291",
"kenmei": "神奈川県",
"kenfurigana": "かながわ"
},
"niigata": {
"id": "1855429",
"kenmei": "新潟県",
"kenfurigana": "にいがた"
},
"toyama": {
"id": "1849872",
"kenmei": "富山県",
"kenfurigana": "とやま"
},
"ishikawa": {
"id": "1861387",
"kenmei": "石川県",
"kenfurigana": "いしかわ"
},
"fukui": {
"id": "1863983",
"kenmei": "福井県",
"kenfurigana": "ふくい"
},
"yamanashi": {
"id": "1848649",
"kenmei": "山梨県",
"kenfurigana": "やまなし"
},
"nagano": {
"id": "1856210",
"kenmei": "長野県",
"kenfurigana": "ながの"
},
"gifu": {
"id": "1863640",
"kenmei": "岐阜県",
"kenfurigana": "ぎふ"
},
"shizuoka": {
"id": "1851715",
"kenmei": "静岡県",
"kenfurigana": "しずおか"
},
"aichi": {
"id": "1865694",
"kenmei": "愛知県",
"kenfurigana": "あいち"
},
"mie": {
"id": "1857352",
"kenmei": "三重県",
"kenfurigana": "みえ"
},
"shiga": {
"id": "1852553",
"kenmei": "滋賀県",
"kenfurigana": "しが"
},
"kyoto": {
"id": "1857907",
"kenmei": "京都府",
"kenfurigana": "きょうと"
},
"osaka": {
"id": "1853909",
"kenmei": "大阪府",
"kenfurigana": "おおさか"
},
"hyogo": {
"id": "1862047",
"kenmei": "兵庫県",
"kenfurigana": "ひょうご"
},
"nara": {
"id": "1855608",
"kenmei": "奈良県",
"kenfurigana": "なら"
},
"wakayama": {
"id": "1848938",
"kenmei": "和歌山県",
"kenfurigana": "わかやま"
},
"tottori": {
"id": "1849890",
"kenmei": "鳥取県",
"kenfurigana": "とっとり"
},
"shimane": {
"id": "1852442",
"kenmei": "島根県",
"kenfurigana": "しまね"
},
"okayama": {
"id": "1854381",
"kenmei": "岡山県",
"kenfurigana": "おかやま"
},
"hiroshima": {
"id": "1862413",
"kenmei": "広島県",
"kenfurigana": "ひろしま"
},
"yamaguchi": {
"id": "1848681",
"kenmei": "山口県",
"kenfurigana": "やまぐち"
},
"tokushima": {
"id": "1850157",
"kenmei": "徳島県",
"kenfurigana": "とくしま"
},
"kagawa": {
"id": "1860834",
"kenmei": "香川県",
"kenfurigana": "かがわ"
},
"ehime": {
"id": "1864226",
"kenmei": "愛媛県",
"kenfurigana": "えひめ"
},
"kochi": {
"id": "1859133",
"kenmei": "高知県",
"kenfurigana": "こうち"
},
"fukuoka": {
"id": "1863958",
"kenmei": "福岡県",
"kenfurigana": "ふくおか"
},
"saga": {
"id": "1853303",
"kenmei": "佐賀県",
"kenfurigana": "さが"
},
"nagasaki": {
"id": "1856156",
"kenmei": "長崎県",
"kenfurigana": "ながさき"
},
"kumamoto": {
"id": "1858419",
"kenmei": "熊本県",
"kenfurigana": "くまもと"
},
"oita": {
"id": "1854484",
"kenmei": "大分県",
"kenfurigana": "おおいた"
},
"miyazaki": {
"id": "1856710",
"kenmei": "宮崎県",
"kenfurigana": "みやざき"
},
"kagoshima": {
"id": "1860825",
"kenmei": "鹿児島県",
"kenfurigana": "かごしま"
},
"okinawa": {
"id": "1854345",
"kenmei": "沖縄県",
"kenfurigana": "おきなわ"
}
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2.5, API, APIKEY, appid, class, data, ID, lt, Openweathermap, org, php, pub, public, quot, url, weather, zip, アカウント, アレ, お好み, コード, コピー, ご自由, ズレ, ソース, 下記, 予報, 余談, 作成, 使用, 取得, 可能, 合致, 場合, 変更, 天気, 実行, 情報, 感じ, 正確, 絵文字, 都道府県,
知ってます?ちょいWINDOWS10便利機能。IT関係者は!
2020.02.10
知ってます?ちょいWINDOWS10便利機能。IT関係者は知っているひと多めです、逆に知らないのが少ないぐらいかなと思います。あのカズさんも知ってます。ちなみに仮想デスクトップは1画面の時はとても重宝しますね。これが出来るようになってかなり感激でした。
実際、WIN+CTR+Dはとても良いですよ!コード作業用とかデバック用とか切り替えるとさっと確認できるのはとても良いです。ただ、自分は3画面を使っているので仮想デスクトップはあまり使用していません。会社は2画面だったのでたまに使用したりしていました。ついでに吉田さんの動画も載せときますね。圧縮系の話は良い感じかな。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 10, 2, 3, CTR, IT, win, Windows, カズ, かなり, コード, これ, たま, デスクトップ, デバッグ, 仮想, 会社, 作業, 使用, 便利, 動画, 吉田, 圧縮, 多め, 実際, 感激, 時, 機能, 画面, 確認, 自分, 話, 逆, 重宝, 関係者,
補助金のそこんトコロ知りたい。
2020.01.26
自分が知っている補助金といえばIT補助金なのだけど、これはIT関係のサービスを導入したいと思っている企業が国から費用を貰える制度なのだけど、これ国の税金を中小企業にばら撒いていると思う。日本は中小企業を大事にしているが倒産しそうな会社は倒産したほうが良いのではないかと思っていた最近まで。ただよくよく考えると自己破産した場合はお金が消えてなくなるわけだから難しいなと思えてきた。どちらの方が損失多いのだろうか?
もし自分が企業した場合は、このIT補助金というものを使用したいと考えるだろうか。実際、経営が困難になるとどうしても頼れるもの、使える制度は使うことになるだろうか?国は企業にあまり支援制度を設けない方が良いじゃないかと思います。支援制度は途中で辞めれないよね、日本銀行が日本株を買っているのと同じ感覚のような気がする。
『辞められない止まらない』状態だよね。黒田総裁、安倍首相が交代するまで日本企業の株を買い続けるつもりなのかな。首相が変わった途端に化けの皮が剥がれて暴落が起きるじゃないかと不安視しているのは自分だけでしょうか?
補助金にせよ、日本銀行にせよ。優しさが逆に国や企業をダメにするというパターンもあるじゃないのかと、たまに思う時がある。優しさって難しいですね。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
IT, お金, こと, これ, サービス, そこ, つもり, トコロ, どちら, ばら, もの, わけ, 中小企業, 交代, 企業, 会社, 使用, 倒産, 制度, 困難, 国, 場合, 変, 大事, 安倍, 実際, 導入, 感覚, 損失, 支援, 方, 日本, 日本株, 日本銀行, 最近, 株, 気, 状態, 税金, 経営, 総裁, 自分, 自己破産, 補助金, 費用, 途中, 関係, 首相, 黒田,
webpに対応しましたプラグインでカバーしました。 Safariめ!!
2020.01.25
WebP Express(ウェッピーエクスプレス)というWordPressのプラグインがあるので、そちらでコンバート(変換)すれば良いのですが、大量に画像があるサイトはそれで変換できないので下記の対応方法で対応をお願いします。
1. WebP Express使用してコンバートする際に webpが生成されます。webpの生成場所を確認する。現在は下記の配下にwebp画像が作られています。
/wp-content/webp-express/webp-images/doc-root/wp-content/uploads
2.1の配下にwebpの画像を生成するために下記のコマンドを実行します。自分の場合、アップロードしている画像をリスト化して一括処理するプログラミングを実行しました。尚、cwebpがインストールされていない場合、インストールする必要があります。さくらレンタルサーバーには入っているみたいです。
cwebp -q 90 元画像名(階層を含む).png -o 変換後のファイル名.webp (変換先の階層を含む)
こうすることで画像は全てwebpに変換することが可能ですが、これだけでは表示が切り替わらないので下記の画像を参照しプラグインの設定を変更してください。
ちなみにこのwebp(ウェッピー)はグーグルさんが開発したものらしいです、大体のブラウザが、こちらの webpに対応しているのですがSafariとIEは非推奨みたいなんですよね。何れwebpに対応すると思います…思いたい。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 2.1, cwebp, doc-root, Express, Safari, uploads, webp, webp-express, webp-images, WordPress, wp-content, アップロード, インストール, ウェッピーエクスプレス, お願い, カバー, コマンド, コンバート, サーバー, サイト, さくら, そちら, それ, ため, プラグイン, プログラミング, リスト, レンタル, 一括, 下記, 使用, 処理, 場合, 場所, 変換, 大量, 実行, 対応, 必要, 方法, 現在, 生成, 画像, 確認, 自分, 配下, 際,
WEB担当者様各位、サジェスト機能(予測変換)を意識している?
2020.01.24
サジェスト機能(予測変換)を意識しているブロガーやアファリエターの方は結構多いと思いますが、自分はそれを全然意識はしていませんし、調査して文章を書いていません。本当は意識した方が良いだろうけれど、例えば人工知能でサジェスト機能を使用すると下記のような候補が表示されます。
サジェスト機能で候補が現れる単語(キーワード)の単語を散りばめて記事を書いても上位表示は難しいでしょう。候補が現れるという事は激戦区状態です、そんな内容で記事を書くと殆どはGさんは拾ってくれません。それよりかこれから検索されそうなキーワードを散りばめて記事を書くことをオススメします。
前から自分のブログに書いているように好きな事を書くことのほうが大事です。そして有益な情報をオープンに公開している記事はいづれ検索サーチが進化すると拾ってくれます。三年後には人工知能が記事の意味を理解できるところまで技術は進化すると思っています。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
web, アファ, おすすめ, キーワード, こと, これ, サーチ, サジェスト, それ, たー, ブロガー, ブログ, リエ, 三, 上位, 下記, 予測, 事, 人工, 使用, 候補, 公開, 内容, 再生, 動画, 単語, 各位, 変換, 大事, 情報, 意味, 意識, 担当者, 文章, 方, 有益, 本当, 検索, 機能, 殆ど, 激戦区, 状態, 理解, 知能, 自分, 表示, 記事, 調査, 進化,
テキストを日本語ボイスに変換してくれるしょぼいWindowsソフトを作ったよ。
2020.01.21
VS2017のC#で、テキストを日本語ボイスに変換してくれるしょぼいWindowsソフト( 滑舌が悪いけどYOUTUBERしたい人用)を作ったよ。自分はかなり滑舌悪いくてどもるので、YOUTUBER向かないのですがユーチューバーしてみたい願望があったので、Gさんの「Cloud Text-to-Speech API」で適当に作ってみた。ちなみにまだYOUTUBERするかは決めてない!
APIですが月に0?100万文字までは無料枠なので、大量に使わない限り無料枠で収まると思います。これを他の人に提供しようとするとアウトだろうけど・・。
自分だけが使用するのには何とかその範囲内かと思います。
尚、ソースコードを提供します可変してお好みで使ってください。大量のテキストをボイス変換した場合、ビジーになるかもしれません。そこら辺の処理は入れてません。またGさんからダウンロードしたJSONファイルを置いている階層に合わしてください。
参考にしたサイトは下記になります。
https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries?hl=ja#client-libraries-install-csharp
フォームのオブジェクトの配置は下記になります。画像を参照ください。
ソースコードは下記になります。
using System;
using System.IO;
using System.Windows.Forms;
using Google.Cloud.TextToSpeech.V1;
namespace テキストを日本語ボイスする
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if(richTextBox1.Text.Replace("\r", "").Replace("\n", "") == "")
{
MessageBox.Show("文字を入力してください");
return;
}
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\\xxxxx\\xxxxx\\xxxxx\\xxxxx.json", EnvironmentVariableTarget.Process);
TextToSpeechClient client = TextToSpeechClient.Create();
SynthesisInput input = new SynthesisInput
{
Text = richTextBox1.Text.Replace("\r", "").Replace("\n", "")
};
VoiceSelectionParams voice = new VoiceSelectionParams
{
LanguageCode = "ja-JP",
Name = "ja-JP-Wavenet-A",
SsmlGender = SsmlVoiceGender.Neutral,
};
AudioConfig config = new AudioConfig
{
AudioEncoding = AudioEncoding.Mp3,
SpeakingRate = f1(trackBar1.Value),
Pitch = f2(trackBar2.Value),
};
var response = client.SynthesizeSpeech(new SynthesizeSpeechRequest
{
Input = input,
Voice = voice,
AudioConfig = config
});
DateTime dt = DateTime.Now;
string dttimename = dt.ToString("yyyy-MM-dd-HH-mm-ss");
using (Stream output = File.Create("voice-" + dttimename + ".mp3"))
{
response.AudioContent.WriteTo(output);
Console.WriteLine($"Audio content written to file 'voice - " + dttimename + ".mp3'");
MessageBox.Show("生成しました=>>voice - " + dttimename + ".mp3");
System.Diagnostics.Process.Start(Directory.GetCurrentDirectory());
}
}
private void trackBar1_ValueChanged(object sender, EventArgs e)
{
label3.Text = string.Format("{0:0.00}", f1(trackBar1.Value));
}
private void trackBar2_ValueChanged(object sender, EventArgs e)
{
label4.Text = string.Format("{0:0.00}", f2(trackBar2.Value));
}
private double f1(int a) {
return Convert.ToDouble(a) / 100;
}
private double f2(int a)
{
return Convert.ToDouble(a) - 20;
}
}
}
変換したボイスはこんな感じです!
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 100, 2017, API, Cloud, json, Text-to-Speech, VS, Windows, YOUTUBER, アウト, お好み, かなり, コード, これ, ソース, そこら辺, ソフト, ダウンロード, テキスト, ビジー, ファイル, ボイス, ユーチューバー, 万, 人, 他, 使用, 処理, 場合, 変換, 大量, 提供, 日本語, 月, 枠, 滑舌, 無料, 範囲, 自分, 適当, 限り, 願望,

WEBお問い合わせフォームのお値段はいったい幾ら?
2020.01.17
WEBお問い合わせフォームのお値段はいったい幾らなのか?
堀江貴文氏はデジタルの値段は限りなくゼロに近くなると言っていたけど、無料のWEB申し込みフォームやお問い合わせフォームはある。自分もお問い合わせフォームの簡易的な物を作ってみましたのでファイルをアップしますね。
テンプレートエンジンとしてtwig3.0を使用しています、そのため動作環境はPHP7.2以上になります。ソースコードの可変は行って構いません、またこのソースコードの動作保証などは致しません。WEB担当者様が確認を行いバグ等があれば修正を行ってください。
尚、Composerでtwigをインストール済みという事が前提となります。また送信部分やエラー処理についてはご自身で機能の追加が必要となります。
サンプルページ
https://zip358.com/tool/request/
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>お問い合わせ</title>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<script src="js/common.js"></script>
<style>
.jumbotron {
background-color: #2bd4d0;
color: #fff;
}
.btn-primary {
color: #fff;
background-color: #2bd4d0 !important;
border-color: #2bd4d0 !important;
}
.input-group-text {
background-color: #2bd4d0;
border: 1px solid #2bd4d0;
}
</style>
</head>
<body>
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h1 class="display-4">お問い合わせ</h1>
<p class="lead">必須項目を入力し送信ボタンを押してください。<br>DEMOのため送信はできません</p>
</div>
<div class="alert alert-warning" id="error_sendmail" role="alert">
</div>
</div>
<form action="index.php" method="POST">
<div class="container">
<div class="row">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">お名前[必須]</span>
</div>
<input type="text" name="name" class="form-control" id="name" placeholder="name" value="{{name}}">
</div>
<div class="alert alert-warning" id="error_name" role="alert">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">メールアドレス[必須]</span>
</div>
<input type="email" name="email" class="form-control" id="email" placeholder="name@example.com"
value="{{email}}">
</div>
<div class="alert alert-warning" id="error_email" role="alert">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1">@</span>
</div>
<input type="text" name="twitter_account" class="form-control" placeholder="twitter account"
aria-label="twitter account" aria-describedby="basic-addon1" value="{{twitter_account}}">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">お問い合わせ内容[必須]</span>
</div>
<select name="meun" class="form-control" id="exampleFormControlSelect1">
{% for selectop in meun_option %}
<option value="{{selectop.value}}" {{ selectop.value == selectoped ? " selected":"" }}>
{{selectop.name}}</option>
{% endfor %}
</select>
</div>
<div class="alert alert-warning" id="error_meun" role="alert">
</div>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">コメント[必須]</span>
</div>
<textarea name="comment" rows="10" class="form-control" aria-label="コメント">{{comment}}</textarea>
</div>
</div>
<div class="row">
<footer class="blockquote-footer">
<small class="text-muted">
ご自由に記入ください。
</small>
</footer>
</div>
<div class="alert alert-warning" id="error_comment" role="alert">
</div>
<button type="submit" class="mt-2 btn btn-primary btn-lg btn-block">送信する</button>
</div>
</form>
</body>
</html>
<?php
session_start();
require __DIR__ . '/vendor/autoload.php';
use Twig\Environment;
use Twig\Loader\FilesystemLoader;
$loader = new FilesystemLoader(__DIR__.'/templates');
$twig = new Environment($loader);
$meun_option = json_decode(file_get_contents("js/select.json"));
$form = ["name","email","twitter_account","meun","comment"];
$data = [];
if($_POST){
foreach($_POST as $key=>$val){
$_SESSION[$key] = strip_tags($val);
}
}
if($_SESSION){
foreach($_SESSION as $key=>$val){
$_SESSION[$key] = strip_tags($val);
}
}
foreach($form as $key => $val){
$data[$val] = $_SESSION[$val]?$_SESSION[$val]:"";
}
extract($data);
print $twig->render('index.html.twig',["name"=>$name,"email"=>$email,"twitter_account"=>$twitter_account,"selectoped"=>$meun,"comment" => $comment,"meun_option"=>$meun_option]);
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3.0, 358, 7.2, com, Composer, DOCTYPE, gt, html, https, lt, php, request, tool, Twig, web, www, zip, アップ, インストール, エラー, エンジン, お問い合わせ, コード, ご自身, サンプル, ゼロ, ソース, ため, デジタル, テンプレート, バグ, ファイル, フォーム, ページ, 事, 使用, 保証, 修正, 値段, 処理, 前提, 動作, 堀江貴文, 幾ら, 必要, 担当者, 機能, 無料, 物, 環境, 確認, 簡易的, 自分, 追加, 送信, 部分,
お金を燃やすとどうなるか?
2020.01.13
日本の場合、他人のお金を燃やすとそれは罪になります。
これは当たり前なので、まぁそうだろうという考えなのですが、
自分のお金を燃やすとどうなるかというと、答えは違うんですね。
自分の紙幣を故意に燃やすことは罪になりませんが、硬貨を燃やす(溶かす)と
これは罪になります。燃やす以外にも硬貨を曲げたり加工したりすることは
違法です。YOUTUBEで硬貨を曲げたりする行為をアップすると罪に
なりますのでくれぐれもUPしないように、これは日本の法律ではそうなっているので他の国は違うかもしれません。
日本の憲法はかなり古い物が多いです、それを今でも殆ど法律は改正しないで
使用されています。だからトンチンカンな法律は結構ありそれを
悪用する人もいるでしょう。
ちなみにテクノロジーが進んでいるので、自分はそれに対応する法律の
改正などは行ったほうが良いと思いますし、何年間に一回は
見直しを行うことは大事だと考えています。
日本の場合、一度決まると見直しがなかなかされないのが
変だと思います。世の中変わっていっているからそれに合わさないと
やはり時代遅れの法律になってしまう気がします。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
UP, youtube, アップ, お金, かなり, くれぐれ, こと, これ, それ, テクノロジー, 一, 人, 今, 他, 他人, 以外, 何年間, 使用, 加工, 国, 場合, 大事, 対応, 当たり前, 悪用, 憲法, 改正, 故意, 日本, 殆ど, 法律, 物, 硬貨, 答え, 紙幣, 罪, 自分, 行為, 違法,
俳優がCG化される時代に突入。
2020.01.11
あと10年後には誰かがデジタル俳優だけで映画を作ることをするだろうと。
誰かが始めると次々とデジタル俳優で映画を作る映画監督が
増えていくと思います。
ネットフリックスの下記の動画を観てください、CG(コンピューターグラフィックス)だけで精巧にデジタル俳優を造形することが
もう出来てしまっています。
あともう少しで本物かCG画像(VFX)か見分けがつかないように
なると思います。10年後と言いましたが、最高で10年で
最短ではあと数年で見分けがつかないようになると思っています。
繰り返しになりますが、そうなった時に必ずこの技術を使用して、
俳優に演技をさせず、デジタル俳優(仮想俳優)だけで作ると思います。
尚、このネットフリックスのオリジナル映画予告も載せときますね。
アイリッシュマン予告動画↓
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 10, 461, be, Cg, OF-lElIlZM, VFX, youtu, アイリッシュ, あと, オリジナル, グラフィックス, こと, コンピューター, デジタル, ネットフリックス, マン, 下記, 予告, 仮想, 使用, 俳優, 動画, 技術, 数, 映画, 時, 時代, 最短, 最高, 本物, 演技, 画像, 監督, 突入, 精巧, 誰か, 造形,

WordPressのメディアライブラリについて愚痴る。
2020.01.08
過去のデータベースを引き継いでいればメディアライブラリのデータは
壊れないが、途中でXMLなどデータをインポートすると
メディアライブラリでは管理出来なくなってしまう。
これを呼び戻すには Add From Server やmedia from ftpなどのプラグインを
使用して呼び戻すしか無いようだと思っていたが、唯これをしてしまうと
いささか問題があるので使えない。
このプラグインは基本的に新規で構築する際に
画像をFTPで一先ず一括アップロードして使用する場合などに対しての
プラグインである物なのでいささか違う。
なので今回、自分で自作しようと思っていたが、、、
特に過去の画像を編集するつもりもないので辞めた。
ちなみにメディアライブラリの画像はwp_postsとwp_postmetaに
保存されている。
下記のURLを見て昔、これでトラブルになった事を思い出した。
WordPressで画像はどのようにデータベースに記録されているか
上記のようなことから、データベースの画像の欠損を復元するのは
正直なところ面倒。投稿データには大体、データは残っているのだが
メタデータが欠損していてメディアライブラリに表示されないということが
殆どだと思うが、このメタデータを復元するのは至難、なぜなら
投稿データって使っているIDとメタデータのIDのリンクを上手く結びつける
事ができないからとてもエンジニア泣かせである。
要するにメタデータIDの方が以前使っていたIDを別の要素のIDが
使っていたりして…。
これを整理しながら元に戻すのは非常に至難だと言うこと。
なので、結論を言えばちゃんとデータベースのバックアップ取りましょう?
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Add, from, FTP, media', postmeta, posts, SERVER, url, WordPress, wp, xml, アップロード, インポート, これ, つもり, データ, データベース, トラブル, プラグイン, メディア, ライブラリ, 一括, 下記, 事, 今回, 使用, 保存, 問題, 場合, 新規, 昔, 構築, 物, 画像, 管理, 編集, 自作, 自分, 記録, 途中, 過去, 際,