@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
駄目だなと思うこと。
2020.08.10
cloudworksやLancersはもうお仕事としては駄目だなと感じる。
お小遣い稼ぎに使うか、依頼用の決済処理として使うかぐらいのものでこれで生計をたてていくのは非情に厳しい。ここ数ヶ月でおそらくフリーランスの人々や副業するユーザーがかなり増えたと感じます。
前より1件の案件に対して、数十件の募集が付くようになりこれでは選ばれるのは至難だと感じるようになってきた。こんなでは駄目だと思い、クラウドワークスやランサーズは自動化して確率の低い案件だけに応募するシステムを作ろうと思っています。
飽和状態の市場では価格の下落が始まる・・・いま、簡単なものはノーコードで開発できるようになってきていて、今からプログラマー目指している子供や青年たちがおとなになる頃には、それほどプログラマーの人材は必要とされていない気がします。
それよりか、これからは英語が話せるグローバルな人材が求められると思っていてそういう人材が重宝されると、中小企業などにもこれからはグローバルな人材が必要とされるようになるから、そちらを目指したほうが良いと思っています。逆にプログラマーは今は需要高いけど今後は必要とされない。
サブスクやノーコードなどのサービスで本当は完結できることが殆どです。いまの中小企業の権限を持っている人はまだそういう事を知らない人や地元のIT企業との繋がりでそのサービスを使っている会社が多いけど、世代交代すれば徐々にサブスク型のサービスやノーコードを使用して自社の業務を効率化していく企業は増えていくので、プログラマーはそれほどいらない。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, cloudworks, Lancers, いま, オトナ, お仕事, お小遣い, かなり, クラウド, グローバル, コード, ここ, こと, これ, システム, それ, ノー, フリー, プログラマー, もの, ユーザー, ランサーズ, ランス, ワークス, 下落, 中小企業, 人々, 人材, 今, 依頼, 価格, 処理, 前, 副業, 募集, 子供, 市場, 必要, 応募, 数, 数十, 案件, 気, 決済, 状態, 生計, 確率, 簡単, 自動, 至難, 英語, 重宝, 開発, 青年, 非情, 頃, 飽和, 駄目,
良いのかこれでと思ってしまう、小心者。
2020.07.25
クラウドでお仕事をした、支払い完了はまだだけど、納品はしている状態です。あまりにも納品ファイルのコードが行数が少ないので、ソースコードみたら絶句するかもしれないなとは思いますが、条件は満たしているので文句は言えないじゃないかなと思ってしまう。某YOUTUBEさんなどはメンバーシップで月千円以上で動画流しているけど、あんなもので客が集まるわけだから、世の中不思議なものですね。それに比べればマシなのかも。
因みに本日、レギュラーからブロンズランクに昇格しました!、これでお金が来月入っていたら良いのですがね。支払いがなかったらどうなるのだろうか?ちょっとオロオロしてしまうかも?
自分は今回の案件を最低の金額で応募しました、他の人はもっとボッタクっていたのかな?皆、実績いっぱい取っているひとが多かったけど、自分は実績0件です、今回の案件が支払い完了までいけば実績1件になると思います。
もっと案件を取って安定の収入を得れればと思います、今回の案件の相場ってこれでいいのかな?本当はもっと高くて良いのかもしれないと思いました。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 1, youtube, いっぱい, お仕事, お金, クラウド, コード, これ, ソース, それ, ひと, ファイル, ブロンズ, ボッタク, まし, メンバーシップ, もの, ランク, レギュラー, わけ, 不思議, 世, 中, 人, 今回, 他, 動画, 千, 収入, 安定, 完了, 実績, 客, 小心者, 応募, 文句, 昇格, 最低, 月, 本日, 条件, 来月, 某, 案件, 状態, 皆, 納品, 絶句, 自分, 行数, 金額,
おつりアルゴリズム番外編。
2020.07.10
おつりアルゴリズムのアクセスがまぁまぁ好評なので番外編を記載します。硬貨や紙幣の制限がない場合、単なるこれだけのアルゴリズムで動作させることが可能です。尚、自動販売機などは硬貨の枚数なども計算しておつりを算出しているだろうと思います。因みにこのアルゴリズムに硬貨の枚数などのアルゴリズムを追加することにより比較的に簡単に導入できるかと思います。
デモ21としてリンクを載せときます、実際に使用してみて勘どころを掴んでください。なお、このコードはHTMLとJSで動させています。PHPなどは使用していません。ジャバスクリプト(JavaScript)で結構いろいろなことを処理することが可能だと感じますね。WEBでなにか勉強しようと考えている場合、JS(ジャバスクリプト)は必須であり、ブラウザさえあれば普通に動くのでお勧めな言語かなと思います。
ソースコードは下記になります。https://zip358.com/tool/demo21/
document.getElementById("money").addEventListener("input",function(){
var money = document.getElementById("money").value;
var change = {
calc1:{yen:10000,change:0,str1:"紙幣",str2:"枚"},
calc2:{yen:5000,change:0,str1:"紙幣",str2:"枚"},
// calc33:{yen:2000,change:0,str:"紙幣",str2:"枚"},
calc3:{yen:1000,change:0,str1:"紙幣",str2:"枚"},
calc4:{yen:500,change:0,str1:"硬貨",str2:"個"},
calc5:{yen:100,change:0,str1:"硬貨",str2:"個"},
calc6:{yen:50,change:0,str1:"硬貨",str2:"個"},
calc7:{yen:10,change:0,str1:"硬貨",str2:"個"},
calc8:{yen:5,change:0,str1:"硬貨",str2:"個"},
calc9:{yen:1,change:0,str1:"硬貨",str2:"個"}
};
money = money.replace(/[,|,]/g,"");
if(money.match(/[0-9]{1,}/g)){
for (const key in change) {
if (change.hasOwnProperty(key)) {
const obj = change[key];
change[key].change = Math.floor(money / obj.yen);
money = money % obj.yen;
}
}
var anser = function() {
var str = "";
for (const key in change) {
if (change.hasOwnProperty(key)) {
const obj = change[key];
if(obj.change){
str+= obj.yen + "円、" + obj.str1 + "が" + obj.change + obj.str2 + "<br>";
}
}
}
return str;
};
document.getElementById("change_print").innerHTML = anser();
}else{
document.getElementById("change_print").innerHTML = "入力が不適切です!";
}
});
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
21, document, getElementById, html, javascript, JS, php, quot, web, アクセス, アルゴリズム, いろいろ, おつり, お勧め, コード, こと, これだけ, ジャバ, スクリプト, ソース, デモ, ブラウザ, リンク, 下記, 使用, 処理, 制限, 勉強, 動, 動作, 勘どころ, 可能, 場合, 好評, 実際, 導入, 必須, 普通, 枚数, 番外編, 硬貨, 算出, 簡単, 紙幣, 自動販売機, 言語, 計算, 記載, 追加,
英語を話したい人、必見!YOUTUBER、ATSUさん。
2020.07.07
英語を話したい人、必見!YOUTUBER(ユーチューバー)、ATSUさんを紹介します。動画見ていただければ分かる通り、毎日、反復して声に出して覚えることにより嫌でも覚える。そうだよな、世界で結構難しい日本語を使いこなせているのに何故か英語に拒否感を持つ人の多いこと、多いこと。
特にいまの30代から上の人は話す英語というより覚える英語ということで受験等を乗り切ってきたと思います。でも殆どのひとは覚えていないですよね、自分なんて英語は不得意分野から未だに抜け出せないでいます。ですがIT業界では英語は大事です、数学も大事ですが英語も結構大事な分野です。それは何故か、変数名やクラス名の名前付けするときに大事になりますし、人のコードを読むときにも大事になります。なので数学がわからずとも英語は分からないはあまりよろしくないです。
自分でゴニョゴニョとコードを書くのでは困りませんが、チームでなにか開発を行うときは英語が身についていないと困ります。なので英語がわからない人は日々、英語を勉強することからはじめた方が良いです。因みに自分も英語を勉強していますが、なかなか身につかないなと思っていた時にATSUさんの動画見てそうだよなと思いました。
そして違う言語を覚えるには効率の良い方法で何回も何回も頭に叩き入れないと駄目だなと感じます。好きこそものの上手なれですが、好きじゃない場合はそれを毎日毎日続ける努力が必要かなと思いました。
なにかスキルをプラス1する場合は努力が必要かなと、最後にYOUTUBEチャンネル登録はこちらです。
https://www.youtube.com/user/fzsdjbncf2000/about
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-XBVCE, 0, 30, ATSU, com, https, IT, UlCz, watch, www, youtube, YOUTUBER, いま, クラス, コード, こと, それ, とき, ひと, ユーチューバー, 上, 不得意, 世界, 人, 分野, 動画, 反復, 受験, 名前, 声, 変数, 大事, 必見, 拒否感, 数学, 日本語, 未だ, 業界, 殆ど, 毎日, 紹介, 自分, 英語, 通り,
QiitaのTシャツが欲しい。
2020.06.30
QiitaのTシャツが欲しい。因みにこれが一番、欲しいやつです!!
Qiitaは、最近ユーザー置き去り事件がありユーザーが一時期減少しました。自分にはよくわからないですが、流れで解約したひとも中にはいるでは無いかな。その時、自分も解約しようかなと思ったのですがQiitaはよく見ているしなと思いとどまったタチです。
Qiitaは日本でよく使われているだけで海外認知はあまりなく、使われてはないと思うのですが、これからもユーザーは増えていくとは思っています。Qiitaの良いところは質問形式ではないところ、どっちかというとプログラムのおすそ分けみたいなサービスだと思います。
話が飛びますが、デジタルなサービスは徐々にゼロに近づいていくと思っています。殆どのサービスはいずれフリーで使用できる時代が来るはずです。今世紀中には無理だと思いますが・・・、いずれはそうなるということです。何故ならプログラムコード(ソース)をオープンに提供する人々がいるからです。今でも無料でサービスを提供して一部の人から寄付をもらって開発をしている人がいます。システムがよければ寄付だけで生活していけるということは今でも成り立っている話です。そして無料でサービスを提供するというのはサービスの広がりが速いです。なのでこういう事が長い年月をかけて蓄積することでオープンソースのサービスは増えていくことになり、最終的には殆どのサービスが無料で使用できる時代が来るという考えです。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
qiita, いずれ, おすそ分け, コード, こと, これ, サービス, しな, シャツ, ゼロ, ソース, タチ, デジタル, ところ, どっち, パス, ひと, フリー, プログラム, やつ, ユーザー, 一時期, 中, 事件, 今世, 使用, 引用, 形式, 日本, 時, 時代, 最近, 殆ど, 海外, 減少, 紀中, 置き去り, 自分, 解約, 話, 認知, 質問,
数値を日本語桁数の読み方に変換するWEBサービスを作りました。
2020.06.20
数値を日本語桁数の読み方に変換するWEBサービスを作りました。リンクは下記になります。何故、作ったのか?、検索すると同じようなサービスがありましたが、リアルタイムに数値を漢字に変換してくれないので自分でリアルタイムで検索できるものを作った次第です、コードはあまりキレイではないし改良できる部分はあります、Qiitaなどに公開しないので良いかと思い変数の命名も適当な感じです。
https://zip358.com/tool/ketayomi/ (?リンク先には数字の読み方 表もあります)
直でリンクに飛んでもらうのも良いですし、無料サービスから試していただくのもありです。これも無料サービスの一環として作りました。それなりに使えるじゃないかなと思ったりしています?。数値を日本語全漢字にするロジックを考えたとき、面倒くさいなと思ったので、、、データとして持つことにしました。
こういうのあまり使う人がいないけど、使う人は仕事などで使用する可能性があるかなとか思ったりしています。こういうニッチなサービスを無料サービスとして公開していけば数撃ちゃ当たるじゃないかと思います。今回の数値を日本語桁数漢字にするサービスは単純なものなので誰でもプログラマーなら出来る範囲だと思います。駆け出しプログラマー、エンジニアでも作れる品物ではないかと…。
次回はもっといろいろな人が使うお手軽サービスを作りたいですね。シェアして頂けると幸いです。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
qiita, エンジニア, コード, プログラマー, リアルタイム, ロジック, 一環, 命名, 品物, 変数, 手軽サービス, 数値, 数字, 日本語桁数, 日本語桁数漢字, 次回, 漢字, 範囲, 表, 駆け出しプログラマー,
わざわざ対策した、これでも。
2020.06.18
非同期通信する部分にデータ投げてアクセスカウンターをわざわざ増やしてくれる人がいたので、わざわざ対策した、これでも抜けてくるようだと違法な領域かと思います。
わざわざ対策しないといけないというのが、自分としては変だなと思うところ。
何故、そこまでするのか・・・。
意味がわからないが…。
そもそもあんぽんたんな自分に関わっても意味がないのではと思っている。トイレで目が覚めてアレ、アクセスが増えていると思って・・・。
一時間ばかり、ぼーけーってして10分ぐらい、対策用のコードを書いてバグとりして、まぁネタになるので今、ブログを書いています。
話全然変わるけど、Twitterで音声投稿が可能になるだってさってのをタイムラインで見てすぐにRTしました。
実装されたら面白そうだけど、いろいろと問題も出てきそうだと思います。デジタルツールってそういう所がありますよね。
ちなみに話戻して、ページを切り替えるとアクセスカウンターは増えます。その対応は出来ますがしません。どうぞアクセスカウンターを増やしてください。SEO的にもとても有り難いことなので・・・。
アクセスカウンターが増えて得することはあるけど、損することはないじゃないかと思います。初めて訪問されるユーザーにとってはアクセス数が多いページは信頼されやすいです。仕様的にはアクセスカウンター増えやすい仕様にあえてしてますよ。
数字マジック、数の印象は大体あると思います。客が並んでいるお店はもしかしたら美味しいかもと思い込むのと同じです。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, rt, Twitter, アクセス, アクセスカウンター, アレ, あんぽんたん, いろいろ, コード, これ, そこ, タイムライン, ツール, データ, デジタル, トイレ, ところ, ネタ, バグ, ブログ, ページ, わざわざ, 一, 人, 今, 可能, 同期, 問題, 変, 実装, 対策, 意味, 所, 投稿, 目, 自分, 話, 通信, 違法, 部分, 音声, 領域,

bingから画像を一括ダウンロードするアプリ。
2020.06.14
任意のキーワード検索でbing画像からを一括ダウンロードするアプリを作りました。img-dl-bing-sss.exeファイルを起動すると動画のようなコンソール画面が開くので入力してダウンロードを開始してください。ダウンロードが終わると勝手に閉じます。
なお、一応R指定にも対応しています、キーワードがR指定項目かもと思う場合、Yと入力ください。
新垣結衣さんの熱烈なファンでもないですが、綺麗な方だとは思います。ということで例として使用させて頂きました、、、関係者の皆様ごめんなさい。
このアプリはウィンドウズ10環境で動作します。また、動作しないブロックされる場合は下記のURL等を参照しブロックを解除しお使いください。ブロック解除方法:https://forest.watch.impress.co.jp/docs/news/1130655.html
※なお、Bingサイトのデザインが変わった場合、動作しなくなりますのであしからず。
画像ダウンロードアプリのソースコードはこちら(古いコードですので動かない場合がありますVS2019C#)
using System;
using System.Runtime.CompilerServices;
namespace img_dl_bing_sss
{
class Program
{
static void Main(string[] args)
{
string keyword = "",R18="";
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("処理中は画面や立ち上がったブラウザを閉じないでください。\n" +
"処理が完了すると「***終了します***」と表示されます。\n" +
"何かキーを押し終了してください\n\n");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("↓検索キーワードを入力しエンターを押してください");
keyword = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("↓R指定ですか?\nY or N かの文字を入力しエンターを押してください");
R18 = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***画像のダウンロード量(画像数ではありません) 1?999 ***");
var scroll = 9999;
try
{
scroll = int.Parse(Console.ReadLine());
if(scroll >=1 && scroll <= 999)
{
scroll = scroll * 9999;
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***検索キーワードが不適切です。***");
}
SuiteTests img = new SuiteTests();
if (img.Imgdlok(keyword, R18, scroll))
{
img.Dispose();
}
else {
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***検索キーワードが不適切です。***");
}
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***終了します***");
}
}
}
// Generated by Selenium IDE
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions;
using Xunit;
using AngleSharp;
using AngleSharp.Html.Parser;
using AngleSharp.Html.Dom;
using AngleSharp.Dom;
using System.Runtime.InteropServices;
using Newtonsoft.Json;
using System.IO;
using System.Net;
public class SuiteTests : IDisposable {
public IWebDriver driver {get; private set;}
public IDictionary<String, Object> vars {get; private set;}
public IJavaScriptExecutor js {get; private set;}
public SuiteTests()
{
driver = new ChromeDriver();
js = (IJavaScriptExecutor)driver;
vars = new Dictionary<String, Object>();
}
public void Dispose()
{
driver.Quit();
}
public bool Imgdlok(string keyword="", string R18= "",int scroll = 999999)
{
if (keyword == "") return false;
Console.Clear();
string path = System.IO.Directory.GetCurrentDirectory() + "\\IMG\\";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
driver.Navigate().GoToUrl("https://www.bing.com/?scope=images&nr=1&FORM=NOFORM");
driver.Manage().Window.Size = new System.Drawing.Size(945, 1030);
driver.FindElement(By.Id("sb_form_q")).Click();
driver.FindElement(By.Id("sb_form_q")).SendKeys(keyword);
driver.FindElement(By.CssSelector(".search.icon.tooltip")).Click();
try
{
if (R18 == "Y")
{
driver.FindElement(By.LinkText("設定の変更")).Click();
driver.FindElement(By.CssSelector("#settings_safesearch div:nth-child(3)")).Click();
driver.FindElement(By.Id("adlt_set_off")).Click();
driver.FindElement(By.Id("sv_btn")).Click();
driver.FindElement(By.Id("adlt_confirm")).Click();
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***R指定ではありません***");
}
try
{
double ps = 0;
for (int i = 99; i < scroll;i+=1000)
{
js.ExecuteScript("window.scrollTo(0," + i + ")");
Console.CursorLeft = 0;
ps = (double)(((double)i / (double)scroll) * 100);
Console.Write("処理中::{0:D2}%",(int)ps);
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***Max画像まで到達しました***");
}
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\n***ダウンロード処理開始***\n");
int cnt = 0;
var elm = driver.FindElements(By.ClassName("iusc"));
driver.Manage().Window.Minimize();
foreach (var e in elm) {
dynamic jsondata = JsonConvert.DeserializeObject(e.GetAttribute("m"));
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine((string)jsondata.murl + "::wait.....");
string imgurl = (string)jsondata.murl;
if(4 <= Path.GetExtension(imgurl).Length && Path.GetExtension(imgurl).Length <= 5)
{
try
{
cnt++;
string ext = Path.GetExtension(imgurl);
WebClient myWebClient = new WebClient();
myWebClient.DownloadFile(imgurl, path + "No-" + cnt + "-" + keyword + ext);
myWebClient.Dispose();
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("***" + cnt +"::" + imgurl + "\n::ダウンロード中、画面を閉じないでください...***");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("***" + cnt + "::ダウンロード済***");
}
catch
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***ダウンロードが失敗しました***");
}
}else{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("***画像の拡張子が不明のためダウンロードが失敗しました***");
}
}
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("***ダウンロード完了しました***\n" + path);
return true;
}
}
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
10, bing, exe, img-dl-bing-sss, url, VS, アプリ, ウィンドウズ, キーワード, コード, こちら, こと, コンソール, サイト, ソース, ダウンロード, デザイン, ファイル, ファン, ブロック, 一括, 下記, 任意, 使用, 例, 入力, 動作, 動画, 勝手, 参照, 場合, 対応, 指定, 新垣結衣, 方, 方法, 検索, 環境, 画像, 画面, 皆様, 等, 綺麗, 解除, 起動, 開始, 関係者, 項目,
JavaScriptのPromise例えが分からない人のために。
2020.06.06
自分は『Promiseってなんやねん、わからんわ。』という人でした。皆さん賢いので複雑怪奇なコードで教えてくれていて…わかんない。
Promiseって非同期処理にするための道具です。Promiseって書いてその中に非同期処理の内容を書いてあげる。値を戻したい場合は命名した名前のカッコの中に値を返してあげれば良いが!!、どうも渡せる値は一つだけなのだ。
ちなみにthen(その後)で、非同期処理が終わった後にする処理が書けるですね(´・ω・`)。thenの中に非同期処理の値も返ってくる‥但しひとまとめで、、そんだけの話。またエラーになった時の処理も対応できるってさ…、そしてチェーン(数珠繋ぎ)の様に書くことも可能です、ここではそれらは割愛しますね?。
ちなみに最初、asyncとawaitと混合していて悩んでおりました。asyncとawaitは対になっていると同じような感覚でPromiseとthenは対になっていると考えてください。あまり複雑怪奇に考えずサンプルコードを動かして出来るできないを判断した後に賢い人が書いたリファレンスなどを読むことをオススメします。
最後に単純なソースコードとコンソールの結果を載せときますね。
"use strict";
var a = 0;
const q1 = new Promise((zaru)=>{//zaru...名前付けは何でも良い(予約されているものでなければ
a++;
zaru(a + "1..");//データをまとめて返す
});
const q2 = new Promise((zaru)=>{
a++;
zaru(a + "2..");
});
const q3 = new Promise((zaru)=>{
zaru("3~~~~n");
});
const qdaaaaaaaa = new Promise((zaru)=>{
zaru([1,2,3,"Dahahaha!!"]);
});
Promise.all([q1,q2,q3,qdaaaaaaaa]).then((val)=>{
console.log(val);
}
);
qdaaaaaaaa.then((val)=>{
console.log(val);
});
Array(4) [1, 2, 3, "Dahahaha!!"]
move.js:26
length:4
__proto__:Array(0) [, …]
0:1
1:2
2:3
3:"Dahahaha!!"
Array(4) ["11..", "22..", "3~~~~n", Array(4)]
move.js:21
length:4
__proto__:Array(0) [, …]
0:"11.."
1:"22.."
2:"3~~~~n"
3:Array(4) [1, 2, 3, …]
length:4
__proto__:Array(0) [, …]
0:1
1:2
2:3
3:"Dahahaha!!"
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
async, await, javascript, Promise, then, エラー, かっこ, コード, ここ, こと, それら, そん, ため, チェーン, なん, ひとまとめ, 一つ, 中, 人, 但し, 値, 内容, 処理, 割愛, 可能, 同期, 名前, 命名, 場合, 対, 対応, 後, 感覚, 数珠繋ぎ, 時, 最初, 混合, 皆さん, 自分, 話, 道具,

bitflyer.comでAPI使ってみたよ、遅っいぞ。
2020.06.05
bitflyer.comでAPI使ってみたよ、遅っいぞ。自分の回線が悪いのかわからないけれど、データの結果が返却されるまで2?4分ぐらい時間がかかるのです、レスポンスが遅い恐ろしく遅いのだ。
まるでオイラのようだ(´・ω・`)。
ccxtとかも使ってみたら・・アレ大丈夫?
PHPで再度を自作してみた「body部分は間違っているかも。いや間違っているよ・・・?。」とぶつぶつ言いながら制作。
追記:
PHPのレスポンスが遅いのは、LinuxのOSをゴニョゴニョしたからでした。OS入れ直して再度コードを走らすと普通にレスポンスが返ってきました、、、。
返ってきたときには「ほんと、何やねん」とボヤきました?。
PHPのソースコードを記載します。
<?php
date_default_timezone_set('Asia/Tokyo');
class Api_Bitflyer_Class
{
var $basic_url = "https://api.bitflyer.com";
public function __construct()
{
require_once __DIR__."/../common/init.php";
}
/**
* @param timestamp $timestamp
* @param string $path
* @param string $method
* @param string $body
*/
public function api_set($timestamp = "", $path = "/v1/me/getbalance", $method = "GET", $body = "")
{
$url = $this->basic_url . $path;
$data = strtolower($method) === "get" ? $timestamp . $method . $path : $timestamp . $method . $path . (function ($body) {
if (!is_array($body)) {
$body = [];
}
return json_encode($body);
})($body);
$access_singn = hash_hmac("sha256", $data, APISECRET);
$headers = [
'ACCESS-KEY: ' . APIKEY,
'ACCESS-TIMESTAMP: ' . $timestamp,
'ACCESS-SIGN: ' . $access_singn,
'Content-Type: application/json',
];
return new class($url, $method, $headers, $body)
{
var $url = "";
var $method = "";
var $headers = "";
var $body = "";
/**
* @param string $url
* @param string $method
* @param string $headers
* @param string $body
*/
public function __construct($url, $method, $headers, $body)
{
$this->url = $url;
$this->method = $method;
$this->headers = $headers;
$this->body = $body;
}
public function api_run()
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $this->method);
curl_setopt($curl, CURLOPT_HTTPHEADER, $this->headers);
strtolower($this->method) == "post" ? curl_setopt($curl, CURLOPT_POSTFIELDS, $this->body) : "";
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
// $response_info = curl_getinfo($curl);
// $response_code = $response_info['http_code'];
// $response_header_size = $response_info['header_size'];
curl_close($curl);
print date("Y/m/d H:i:s");
var_dump(json_decode($response));
// var_dump($response_code);
// var_dump($response_header_size);
}
};
}
}
$Api_Bitflyer_Class = new Api_Bitflyer_Class();
$Api_Bitflyer_Class->api_set(time(),"/v1/me/getbalance","GET","")->api_run();
PHPとは別にnode.jsでリアルタイムAPIを使用した動画を貼っときます。
なお、よく読んだほうが良いAPI Documentation
bitFlyer Lightning では、HTTP API と Realtime API の 2 種類の API を提供しています。
尚、ビットコイン高くて買えないので、ビットコインの売買したい知人は格安で自動売買のシステム作りますよ。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, 39, 4, API, Asia, bitFlyer, body, ccxt, class, com, date, default, Linux, lt, OS, php, set, timezone, Tokyo, アレ, おいら, コード, ゴニョゴニョ, ソース, データ, とき, ほんと, レスポンス, 何, 再度, 制作, 回線, 時間, 普通, 結果, 自作, 自分, 記載, 返却, 追記, 遅, 部分,
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, コード, こと, サイト, じぶん, トライ, はなし, ヒット, フライヤー, プログラミング, もの, ライトニング, レクチャー, 一定, 一方, 一部分, 世, 中, 仮想, 使用, 公開, 利益, 前, 動作, 動画, 単純, 収入, 取引, 売買, 手, 方法, 来月, 気, 自動, 通貨,
JavaScriptを再勉強しているのだが、ある疑惑が!?
2020.06.03
JavaScriptを再勉強しているのだが、ある疑惑が生まれた。それはjqueryで良いじゃねぇという疑惑。自分はjsよりjqueryの方が使いやすく感じる。まぁいまの所なのかもしれないが・・・使いやすいですね。
jqueryはいろいろなブラウザ上で動くことをサポートしてくれるライブラリとして普及したのだけど、IEが消滅時効状態のいまではシェア率は下がっていてネイティブJSが良いじゃねぇという動きですが・・・。いやいやjqueryの方が楽だしコードはあまり書かなくて良い。特にイベント処理時のデータの複数受け渡しでは、今の所、JavaScriptよりjqueryの方が楽だと思います。
あと非同期通信とかもね。ajaxで良いじゃねぇとか思いますよ。
最後に動画のJSコードを載せときますね。
document.getElementById("my-textarea").addEventListener("input",()=>{
document.getElementById("view").innerText = document.getElementById("my-textarea").value;
});
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
addEv, ajax, document, getElementById, IE, javascript, jquery, JS, my-textarea, quot, イベント, いま, いやいや, いろいろ, コード, こと, サポート, シェア, それ, データ, ネイティブ, ブラウザ, ライブラリ, 今, 処理, 勉強, 動画, 同期, 所, 方, 時効, 普及, 最後, 消滅, 状態, 疑惑, 自分, 複数, 通信,
js初心者さんのお勉強:思いつき写経。
2020.06.01
js初心者さんのお勉強をvlogとして昨日撮りました。もっと簡略化できることはあるのだが、敢えてやらない自分がいます。自分のモットーに初心者さんでもわかるコードをという考えがあります。初心者さんに分かりやすいと言うことは馬鹿な自分にも分かりやすいという事です。ぱっと見て読みやすければ良いという事です。javascriptを本当に1から勉強中なんですね。本当に右も左も分からないのでググりながらお勉強しています。知らないと言ってもプログラミングの基本は知っているのでJS用の書き方やお作法を覚えているというような感じです。
ソースコードはこちら
let btn1 = function (e) {
//btn2
console.clear();
console.log("btn1");
let p = document.getElementsByTagName("p");
let style1 = [["backgroundColor", "fontSize", "color"], ["#000000", "20px", "#ffffff"]];
for (const key in p) {
if (p.hasOwnProperty(key)) {
const element = p[key];
for (var i = 0; i < style1[0].length; i++) {
element.style[style1[0][i]] = style1[1][i];
}
}
}
};
let btn2 = function (e) {
//btn2
console.clear();
console.log("btn2");
let p = document.getElementsByTagName("p");
let style2 = {
backgroundColor: "#ffffff",
fontSize: "20px",
color: "#000000"
};
for (const key in p) {
if (p.hasOwnProperty(key)) {
const element = p[key];
for (const key2 in style2) {
element.style[key2] = style2[key2];
}
}
}
};
document.body.style.backgroundColor = "#0b222b";
document.getElementById("btn1").addEventListener("click",btn1);
document.getElementById("btn2").addEventListener("click",btn2);
デモページ
https://zip358.com/tool/demo17/
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 2, btn, Clear, console, document, function, getElementsByTagName, javascript, JS, let, log, quot, Vlog, お勉強, コード, こちら, こと, ソース, プログラミング, モットー, 事, 作法, 写経, 初心者, 勉強, 右, 基本, 左, 思いつき, 感じ, 昨日, 書き方, 本当, 用, 簡略, 自分, 馬鹿,
明日へ続く愚痴。
2020.05.28
この頃、体調不良です。睡眠は大切ですよと本当に思います・・・。
自分の場合、平均的に8時間睡眠が必要となり、3、4時間の睡眠を毎日続けていると食欲不振になります。また寝ることを我慢していると今度は眠りが浅くすぐ目覚めてしまうという悪循環になることがわかりました。なので、明日からは規則正しい生活習慣に戻します。
この頃、お空からお金が舞い込んでこないので、自分でなにか無料のシステムを作り上げてそこから広告収入を得ようかなと考えています。例えばアプリを大量生産してそれで生計を立てているひとも世の中にはいます。自分はアプリではなくWEBシステムで生計を立てようと思っています。その他にもクラウドからお仕事もやらないといけなくなるでしょう、それに付いては明日書きますね。
まぁこの頃、プログラミングを頑張ってレベル上げして毎日頑張っていろいろ取り組んできたのですが、少々、アクセルを踏みすぎた感があります。ちなみにプログラミングは好きなので、休み無くコードを書く癖があります。凄い集中というか、そういう生き物なのだけです。仕事をしていたときからそういう感じでした。真面目ではないですよ…暗いわけでもないですよ。集中するとそうなるだけなんですよね。
逆に電話がなると仕事を中断しないといけないし時間を使うので自分はテキストが非常に良いと感じます。ホリエモンほど極端ではないものの、やはり電話は仕事を奪うという感覚はあります。もし自分が会社の社長になったなら、プログラマーさんには電話には出なくて良いといいますし、打ち合わせにもリーダー以外出なくて良いといいます。生産性を上げるには最初の上流工程でちゃんと設計するという事が大事になります。それをせず口頭だけでやっといて丸投げするような会社は使えないシステムが生産されます。そういう会社は逃げたほうが良いです。責任だけを負わされるだけで何のメリットも生まれません。そんなわけでプログラマーの生産性を上げるには徹底した効率的な職場が必要かと思います。
明日に続く。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, 4, 8, web, アクセル, アプリ, お仕事, お金, クラウド, コード, こと, システム, そこ, その他, それ, ひと, プログラミング, レベル, 不振, 不良, 世, 中, 今度, 休み, 体調, 収入, 場合, 大切, 大量, 少々, 広告, 循環, 必要, 愚痴, 感, 我慢, 明日, 本当, 毎日, 無料, 生活, 生産, 生計, 癖, 睡眠, 空, 習慣, 自分, 頃, 食欲,
(github)=>{git push -u ギットハブ master;}
2020.05.27
github(ギットハブ)を知っている方はIT業界では9割近いかなとか思っているのですが・・・どうでしょうか?名前は聞いたことが有るけれど触ったことはないという方も地方ではいらっしゃると思います。ちなみに自分も名前だけ知っているような状態でした。そもそもソロみたいな感じでコード書いている人はgit(ギット)だけで十分ですし、ソースコードの管理すらしない人もいるかと思います。ひとりでギットハブを使う方は特にブランチ関係は覚える必要はないかなと思います。
git add .
git commit -m "comment..."
git remote add origin https://github.com/test.git
git push -u origin master
なので初回はこんな感じで打ち込みます。3行目でoriginと打ち込んでいると思いますがこれは、『https://github.com/test.git』をoriginとして認識させるよという事になります。originじゃなくても良いです。originじゃない場合、『push』のコマンド行を任意の文字に置き換える必要があります。
尚、ひとりで使っていてPCが壊れた時に『Pull』が必要になるかと思います。それ以外はブランチもぷるも必要ない気がします。
※gitにはいろいろなコマンドオプションがあるようですね…。
例えば下記のようなコマンドを打つと『git add .』を省略することが可能だとか、どういう意味かは割愛します。必ずぐぐってくださいね。
git commit -a -m "comment..."
githubではhtmlやjsは使用できるので無料でサイトを構築することも可能です。ポートフォリオとしてのページをgithubで作っている人も多いみたいです。
『ソースコード管理する事自体が面倒くさい‥な』と思っている方は考え直してください、ソースが消えちゃった事やチームで何かを作ったりレビューしたりするときの事を考えてくださいな。
じぶんの説明がわからない方はこちらに完結に説明している動画がありますので参照くださいね(´・ω・`)
追記:github強制プッシュを無効にする方法
https://next.rikunabi.com/journal/20170516_t12_iq/
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-m, 3, 9, Add, com, comment, commit, git, github, https, IT, master, origin, push, quot, remote, test, u', キット, ギットハブ, コード, こと, これ, ソース, ソロ, ひとり, ブランチ, 人, 初回, 名前, 地方, 必要, 感じ, 方, 業界, 状態, 管理, 自分, 関係,

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, いろいろ, コード, こと, これ, サービス, スタジオ, ビジュアル, ビデオ, 上記, 下記, 人, 今, 使い方, 使用, 内容, 割愛, 動画, 垣間, 基本, 導入, 提供, 機能, 現在, 簡単, 紹介, 解説, 話, 追加, 通話, 部分,

Yahoo!ニュースをPythonで取得するできました(´・ω・`)v
2020.05.01
早朝、YOUTUBEライブ配信で行ったものはタイトルとリンクが若干異なるところがあったので、修正したソースコードを貼っときます。Python言語少しずつ 少しずつ理解できてきた。
書き方が慣れればPHPより書くのは楽かな。$の記号がPHPの変数を書く場合、絶対必要になるけどPythonは書かなくて良いからね。
import requests
from bs4 import BeautifulSoup
r = requests.get("https://news.yahoo.co.jp/")
soup = BeautifulSoup(r.content, "html.parser")
#ニュース一覧のテキストのみ抽出
f = open("link.csv",mode = "a")
for t,a in zip(soup.find_all("div", "newsFeed_item_title"),soup.find_all("a", "newsFeed_item_link")):
f.write(t.text + "," + a.get('href') + "\n")
f.close()
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
4, BeautifulSoup, bs, co, content, CSV, find, For, from, GET, html, https, import, in, jp, link, mode, News, open, parser, php, Python, quot, requests, soup, v, Yahoo, youtube, zip, コード, ソース, タイトル, テキスト, ところ, ニュース, もの, ライブ, リンク, 一覧, 修正, 取得, 場合, 変数, 必要, 抽出, 早朝, 書き方, 理解, 若干, 言語, 記号, 配信,
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, インストール, コード, こと, コピペ, これ, してい, スク, ソース, とき, バージョン, ビルド, ピング, もの, レイ, 下記, 使用, 動画, 参考, 場合, 対応, 時間, 最後, 簡単, 説明,
お部屋の温度と湿度を表示しています。密かに?
2020.04.26
お部屋の温度と湿度を表示しています、その情報を残すようにコードを書きました、スマホなどでは表示できないけれどPCでは表示可能です。自分が引き篭もりってあの時は寒かったなぁとかあの日は暑かったなぁという事を思い出すために作りました。因みにMY-ROOMのソースコードを見ると大体どんな仕様かわかると思います。
基本的に暑い日でも昼間はあまり冷房をつけないようにしていましたが、ここ数年、じぶんの暑さの限度を超えている日があり、そういう日はエアコンをつけてます。暑さは我慢できないのだけど、高知県ということもあり寒さにはある程度、我慢できて足温器だけで何とか生きていけます。今年はそれほど寒い日もなく暖冬かなと思います。ただ今年はとても暑くなりそうな気がします。
温暖化防止したいだけど・・・かなり暑いだよね。フロンは出していないのですが、それでも温暖化に影響有るだろうなぁと思いつつ。エアコンをつけてます。
ごめんなさい。
最後にMY-ROOMはこちら
https://zip358.com/my-room/
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
MY-ROOM, PC, エアコン, お部屋, かなり, コード, ここ, こと, じぶん, スマホ, ソース, ため, フロン, 事, 今年, 仕様, 冷房, 可能, 影響, 情報, 我慢, 数, 日, 昼間, 時, 暖冬, 気, 温度, 温暖化, 湿度, 自分, 表示, 足温器, 防止, 限度, 高知県,
プログラム講師YOUTUBER、たにぐち まことさん。
2020.04.25
たにぐち まことさんという方がYOUTUBEでフロントエンドエンジニアやバックエンドエンジニアに対して有益な情報を公開しています。wordpressやvue.jsなどをわかりやすく解説しています。近々、kintoneの高知県講演(ライブ放送)で登壇される予定です。これからWEBのプログラマーやコーダーになりたい人は視聴して損はないと思います。自分が昔、HTMLなどを学んだときにはあまり本も買わずソースコード(HTMLコード)から勉強をしていましたが、いまはYOUTUBEという便利なツールがあるので、教育系YOUTUBERの動画を見て学習し手を動かして実践することにより短時間で学習することが出来ると思います。
自分がいまプログラミング初心者だったら、下記のようなプログラミング学習方法を取ると思います。YOUTUBEで教育系動画を視聴して動画で説明された物と同じ物を作成します。作成途中に分からない事があればググります、そして再度動画を観る。進まない時はSNSで質問をするなどを行いながら徐々に知識を身に着けていきます。知識がつくと基本を知ることが出来るので、次に違うプログラミング言語を学ぶ時の応用が付きます。尚、違う言語を学ぶときは以前まで使用していたプログラミング言語をいま勉強している言語で同じことを試してみるという事を行います。そうすることで比較的短時間で違う言語の勉強がスムーズになります。
最後にYOUTUBEチャンネル登録はこちら
たにぐち まことのともすたチャンネル
https://www.youtube.com/channel/UCphTq6mefx_15CjD35qgXgA
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
html, JS, kintone, vue, web, WordPress, youtube, YOUTUBER, いま, エンジニア, エンド, コーダー, コード, こと, これ, ソース, たにぐち, ツール, とき, バック, プログラマー, プログラミング, プログラム, フロント, まこと, ライブ, 下記, 予定, 事, 人, 作成, 便利, 公開, 初心者, 勉強, 動画, 学習, 実践, 情報, 手, 損, 放送, 教育, 方, 方法, 昔, 有益, 本, 物, 登壇, 短時間, 自分, 視聴, 解説, 説明, 講師, 講演, 途中, 高知県,
Gさんのリアルタイム検索トレンドを抽出するPHPライブラリ
2020.04.15
Composerをインストールしていること前提条件として書いていきます。まずはライブラリーを入れます。
こんな感じに
composer require x-fran/g-trends
そして次にこんな感じのPHPコードを書きます、これだけでGさん(グーグルさん)のリアルタイム検索トレンドが表示することが可能となります。ちなみにJSONで返す処理として書いています。ライブラリーがしっかりしているので、あとはメソッドを呼び出すだけで簡単に検索のリアルタイムのトレンドが表示できてしまう。
ライブラリーコードは下記から参照できます。
https://github.com/x-fran/g-trends
<?php
include_once "../../vendor/autoload.php";
use XFran\GTrends\GTrends;
$options = [
'hl' => 'ja-JP',
'tz' => -540,
'geo' => 'JP',
];
if((int)$_POST["p"]==1234){
$gt = new GTrends($options);
$ret = $gt->getRealTimeSearchTrends();
if(is_array($ret["storySummaries"]["trendingStories"])){
$jsn = json_encode($ret["storySummaries"]["trendingStories"]);
print $jsn;
}
}
尚、ajaxで表示している部分は割愛します。
https://zip358.com/tool/demo14/ demo14を検証ください。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
autoload, com, Composer, g-trends, github, GTrends, https, include, json, lt, once, options, php, quot, require, use, vendor, x-fran, XFran, あと, インストール, グーグル, コード, こと, これだけ, トレンド, メソッド, ライブラリ, ライブラリー, リアルタイム, 下記, 処理, 前提, 参照, 可能, 感じ, 抽出, 条件, 検索, 簡単, 表示,
高知県のダム貯水率グラフ化2
2020.03.26
以前、高知県のダム貯水率のグラフ化してみた事があるのですがいつの間にかデータが取得できなくなっていたようです。なので取得できるようにPHPコードを変更しました。高知県のダム貯水率をJSON形式で吐き出してほしいなと思う人は少数ながらいると思います。そんな方は私がJSON形式で吐き出したデータを密かに使っていたりするのかな?因みにプログラム出来るよというひとは自身で貯水率のデータが転がっているURLを掲載しますので解析して頂ければ有り難いと思います。
https://suibo-kouho.suibou.bousai.pref.kochi.lg.jp/suibou/main.html?no=4&no2=0&fnm=openTable
<?php
$html = file_get_contents("高知県のダム貯水率のURL");
$html = mb_convert_encoding($html,"UTF-8","SJIS");
$dom = new DOMDocument();
$html = mb_convert_encoding($html, "HTML-ENTITIES", 'UTF-8');
@$dom->loadHTML($html,LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($dom);
$ary=array(
"永瀬ダム"=>"nagase",
"鎌井谷ダム"=>"kamaidani",
"鏡ダム"=>"kagami",
"早明浦ダム"=>"sameura",
"桐見ダム"=>"kirimi",
"坂本ダム"=>"sakamoto",
"大渡ダム"=>"oodo",
"中筋川ダム"=>"nakasugawa",
"以布利川ダム"=>"iburigawa"
);
for($i=1;$i<=9;$i++){
$r[$xpath->query("/html/body/form/div[2]/table/tbody/tr[$i]/td[3]")->item(0)->textContent] = preg_replace("/[\x{00a0}|?]/u","",$xpath->query("/html/body/form/div[2]/table/tbody/tr[$i]/td[7]")->item(0)->textContent);
}
foreach ($r as $key => $value) {
$obj[$ary[$key]] = $value;
}
//echo '{"nagase":"91.16","kamaidani":"77.57","kagami":"39.32","sameura":"100.00","kirimi":"46.09","sakamoto":"99.38","oodo":"98.70","nakasugawa":"77.90","iburigawa":"99.12"}';
print json_encode($obj);
https://zip358.com/tool/demo6/index.html
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0, 2, 4, amp, bousai, contents, convert, encoding, file, fnm, GET, html, https, jp, json, kochi, LG, lt, main, mb, no, openTable, php, pref, quot, suibo-kouho, suibou, 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, アロー, いろいろ, ウィルス, きれい, コード, コロナ, コロナウイルス, サイト, しょう, ソース, とき, ひと, プライド, もともと, わけ, 一環, 上, 上司, 人, 作り方, 使用, 勉強, 参考, 名, 対策, 技術力, 数珠繋ぎ, 新型, 書き方, 杭, 東京都, 機能, 注意, 演算子, 状態, 環, 環境, 綺麗, 自分, 自身, 言語, 訳, 話題, 開設,