機械学習や人工知能とかいう事に興味ありで自分の教師なし学習?

2020.09.08

Logging

機械学習や人工知能とかいう事に興味ありで自分の教師がいない場合、本で勉強してもなかなか上手く頭に入らない方も多いと思います。じぶんがいろいろな参考書を購入して思ったことは、本はあとで手を動かすことが大事でわからないことはその都度、調べたり参考書をめくったりするのが大事かなと思いました。

最初に参考書を最初から最後までペラペラめくります。そして出来そうなところからやってみる。難易度が低いのは機械学習の教師ありのライブラリを使ってみる方法です。

今では本を購入しなくても良いかなと思います。動画(ユーチューブ)で機械学習などの動画を片っ端見るということで事が足りる。

https://twitter.com/zip358com/status/1302428313512624128

じぶんがこの動画が分かりやすいと思ったのはチームラボの勉強会や筑波大学の講義などが分かりやすいかなと思いました。他にも機械学習や人工知能の講義などをアップしてたりするのでググってみて学習してみてください。

因みに殆どの人がしているのは賢い人達が作ったライブラリを使って、下記の2点のことをしています。
1.モデル生成し、そのモデルで未知なるデータを推測させてる。
2.ライブラリをチューニングしてモデルを生成したりするという事。

あくまでもイメージですが、難しいと思う前にまずは手を動かすことが大事です。

タグ

アップ, あと, いろいろ, こと, じぶん, チームラボ, ところ, ユーチューブ, ライブラリ, , , 人工, , , 勉強, 勉強会, 動画, 参考書, 場合, 大事, 学習, , 教師, , 方法, 最初, 最後, , 機械, 殆ど, 片っ端, 知能, 筑波大学, 自分, 興味, 講義, 購入, 都度, 難易, ,

ノーコードって知ってますか?

2020.08.25

Logging

ノーコードって知ってますか?ITエンジニアだったら一度は聞いたことがあるとは思いますが、ノーコードってのはプログラムを書かずにUI(ユーザーインターフェース)上でウェブサイトやアプリが制作することが可能になるというものです。これって中小企業や零細企業にはかなり痛い話です。

こういうサービスを使えば簡単にアプリやウェブサイトが作れてしまいます。それも無料で作れるのです、広告表示が気にならないなら無料で広告表示を退けたい場合は月1000円ぐらい払えば退けてくれるので本当に便利なんです。

じぶんはノーコードをお勧めします、10万円のお金を払うなら自分たちで作ったほうが良いかなと特にアプリは企業に依頼すると高額な請求になるので簡単な仕様ならばノーコードのサービスを使用して自分たちで作ることをお勧めします。

ちなみにノーコードってこんなだよって話をしている動画がユーチューブで検索するといろいろな人が解説しているので見てみてください。

今話題のノーコード(NoCode)って?その特徴から未来まで、現役プログラマが徹底解説!

タグ

10, 1000, IT, UI, アプリ, いろいろ, インターフェース, ウェブ, エンジニア, お勧め, お金, かなり, コード, こと, これ, サービス, サイト, じぶん, それ, ノー, プログラム, もの, ユーザー, ユーチューブ, 一度, , , 中小企業, , 仕様, 企業, 使用, 依頼, 便利, 制作, 動画, 可能, 場合, 広告, , 本当, 検索, , 無料, 簡単, 自分, 表示, 解説, , 請求, 零細, 高額,

メガネかけたら

2020.08.03

Logging

メガネかけたら、『誰、お前は?』『お前は誰だ?』状態になります。
マスクをすると一段と不審者みたいな人になる。
でも、メガネをかけないと狐の目ぐらい細い瞳になっているみたいです。

視力は両目で0.7ぐらいです。メガネを掛けるとシャープに見えるようになります。片眼では0.5ぐらいです、パソコンのディスプレイとか観る場合はメガネを掛けることは無いだけど、遠くの何かを識別しないといけない仕事などにはもう付けない、アウトだ。

遠くは、いい具合にぼやけて見えてしまいます。これで今まで困ったことはないのだけどね・・・悪化すると困るだろうね。

因みにパソコンの前で寝落ちとかして、目が覚めるとたまに世界がぼやけて見えるときがあります、数十秒続いて回復するのですが、はじめてなった時はこのままぼやけた世界のままかと焦りました?

遠くを見ることと自然を見ることは本当に意味があるだって、そして、視力検査のまえに遠くを見る、近くを見るの数分間続けると視力検査の時に視力がある程度、改善された状態になります。嘘だと思って試してみてください。

タグ

0.5, 0.7, アウト, お前, こと, これ, シャープ, たま, ディスプレイ, とき, パソコン, まえ, マスク, まま, メガネ, 不審者, 世界, 両目, , 仕事, 何か, 具合, , 回復, 場合, 悪化, 意味, 数分, 数十, , 本当, 検査, 片眼, 状態, , , , 自然, 落ち, 視力, , 識別, 近く, 遠く,

実はとてもとても*リピート。

2020.08.01

Logging

実はとてもとてもとても・・・・痛いの永遠ループ。
偏頭痛というものは、痛いのです。そしておいらの様にひどい人になると
仕事もできなくなるぐらい、痛いのです。

どんな痛みかと言えば、ズキズキンが頭の中で絶えず続きます、
ひどい時になるとズキズキンの痛みで吐き気がするのです、こうなると
何も手につかない。

珈琲などを飲むと偏頭痛が和らぐといいますが、かなり強い偏頭痛はそんな事では全然和らがないのです、病院に行ってお薬を貰い服用するか、その日は何もせず横になり安静にするかだと思います。

気圧の谷に偏頭痛は起こりやすいといいます、あれは確かに本当なんですが、おいらの場合は、、、、若干、遅れてくる場合が多くて正直な所、『今かよ!』という時に偏頭痛になることが多いです。

偏頭痛が治れば良いのになあ・・・とつくづく思ったので今回ネタにしました?

タグ

あれ, おいら, お薬, かなり, こと, ズキ, ズキン, ネタ, もの, リピート, ループ, , , , , 今回, 仕事, , 偏頭痛, 吐き気, 場合, 安静, , , , , 服用, 本当, , 正直, 気圧, 永遠, 珈琲, 病院, 若干, , ,

お金を手に入れたワンランクアップ。

2020.07.28

Logging

クラウドでお仕事をしてお金を手に入れた。『おいらでもお金を支払ってくれる人がいるだなぁ』としみじみした。初めてのクラウドです、クラウドで申し込んでを何回か繰り返して、初めてお金をいただきました。

クラウドで働くことは非効率的な感じだけど、単価は良いよね。自分がこんぐらい時間を使って出来る仕事に対して、『これぐらいで出来ますよ』という値段を掲示し、双方の折り合いがあえば仕事が出来るシステムは『まぁいい感じ』。

これは副業という面ではとても良いかなと思いますが、本業というのでは非効率的な所があるかなと思います。なぜならブッキングしないような感じで仕事を請け負うということが結構難しい。

あの仕事もこの仕事も出来るけど…全部、一斉に依頼が来ると大変かと思います。なので例えば失業手当がもらえなくなったけど、仕事が見つからない場合などはクラウドでお仕事をする場合は悪くはないかもなと思います。

但し、ある一定の技術者じゃないと稼げないと思います。おいらみたいな感じなら何とかなると思います。自分の技術はどんなものか知らないけれど・・・。

タグ

アップ, おいら, お仕事, お金, クラウド, こと, これ, これぐらい, こん, システム, ブッキング, ランク, ワン, 一定, , 仕事, 但し, 何回か, 依頼, 値段, 全部, 初めて, 副業, 単価, 双方, 場合, 大変, 失業, 感じ, , , 手当, 技術者, 掲示, 時間, 本業, 自分, ,

音飛びしないブルートゥースは?

2020.07.27

Logging

音飛びしないブルートゥースの選び方を教えます?、パソコンにブルートゥースで接続する場合、ブルートゥースの規格は双方同じバージョンにするべしです。まず、ヘッドホンのブルートゥース5.0推奨の場合でパソコンのほうがそれよりバージョンが低いブルートゥース4.0とか使用していると音飛びが必ず発生します。ブルートゥースには下位のバージョンとの互換性はあるもののブルートゥース5.0と4.0では伝送通信速度にはかなりの差があります。

例えばYOUTUBEの動画の音源をブルートゥース4.0でワイヤレス(ブルートゥース)ヘッドホンに飛ばす場合、4.0で音データを飛ばすよりブルートゥース5.0で飛ばすほうが飛躍的にデータ量を飛ばすことができます。

例えるならYOUTUBEを4G回線で見るとたまに遅延しますよね、それと同じ現象がブルートゥース4.0で起きているのです。だから音飛びが発生するのです。なので音楽を音飛びしないで聞きたい場合はブルートゥース5の規格を選ぶことを強くお勧めします。それでも音飛びがする場合、初めて外部の妨害電波か機器がブルートゥース5.0非対応もしくは機器の故障を疑いましょう。

タグ

4, 4.0, 5, 5.0, youtube, かなり, こと, それ, たま, データ, バージョン, パソコン, ブルートゥース, ヘッドホン, ワイヤレス, 下位, 互換性, 伝送, 使用, 動画, 双方, 回線, 場合, , 接続, 推奨, 現象, 発生, 規格, 通信, 速度, 遅延, 選び方, , 音楽, 音源, 音飛び,

ブログで飯が食えない。だがしかし!

2020.07.17

Logging

ブログで飯が食えないですよね。だがしかし!小銭が増えていっています。でもブログ記事はもう4年ぐらいの蓄積データがあるのに、あまりアクセス数がないのが自分としては驚きです。毎日、福沢諭吉さんが1枚ほど入れば良いのになぁと思っています。昨日、このブログをちょっとテコ入れをしたのですが、その結果が吉であること祈りたいです。

ブログぐらいしか、取り柄がありません。プログラムできますがそれをどう活かせば収益を得れるのかがわからないのです。たぶん宝の持ち腐れみたいなものかなと思っています。因みにこのイラストは敢えてダサく作りました。

ブログの攻略が年々難しくなってきているように思えてなりません。Gさんのサイト分析するアルゴリズムは年々、精巧に作られてきていることが分かります。もうブラックハットやホワイトハットとか言っている場合ではない。むしろそんな領域は人工知能の前では通じないのではないかと思えてなりません。

いまSNSからの流動性が高いサイトがおそらく検索上位表示なっている気がします。なので気になった記事があればシェア拡散してください。

あぁお腹空いたーー!

タグ

, 4, SNS, アクセス, アルゴリズム, いま, イラスト, こと, サイト, それ, データ, テコ入れ, ハット, ブラック, ブログ, プログラム, ホワイト, もの, 人工, 分析, , 収益, 取り柄, , 場合, 宝の持ち腐れ, 小銭, 年々, 攻略, 昨日, 毎日, 流動性, 知能, 福沢諭吉, 精巧, 結果, 自分, 蓄積, 記事, 領域, ,

おつりアルゴリズム番外編。

2020.07.10

Logging

おつりアルゴリズムのアクセスがまぁまぁ好評なので番外編を記載します。硬貨や紙幣の制限がない場合、単なるこれだけのアルゴリズムで動作させることが可能です。尚、自動販売機などは硬貨の枚数なども計算しておつりを算出しているだろうと思います。因みにこのアルゴリズムに硬貨の枚数などのアルゴリズムを追加することにより比較的に簡単に導入できるかと思います。

デモ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 = "入力が不適切です!";
	}
});

タグ

21, document, getElementById, html, javascript, JS, php, quot, web, アクセス, アルゴリズム, いろいろ, おつり, お勧め, コード, こと, これだけ, ジャバ, スクリプト, ソース, デモ, ブラウザ, リンク, 下記, 使用, 処理, 制限, 勉強, , 動作, 勘どころ, 可能, 場合, 好評, 実際, 導入, 必須, 普通, 枚数, 番外編, 硬貨, 算出, 簡単, 紙幣, 自動販売機, 言語, 計算, 記載, 追加,

アプリ(APP)を紹介しているYOUTUBER

2020.06.21

Logging

スマホのアプリを紹介しているユーチューバー(YOUTUBER)、マメさんが伸びていきそうなので紹介します。何故、伸びそうか?それは声です、紹介が分かりやすいというのも有るのだけど、顔出ししていないYOUTUBERさんは何が大事なのかと言えば、動画の質もそうだけども。一番は聴きやすい声なんです。

好きな芸能人の出演番組を見逃したくない、を叶えるiPhoneアプリ。外出自粛の今こそテレビみよう。

それは結構重要なんですね?。声ってのは真似出来ない才能ですね。特にトークする動画は基本的に声の質が良い人が人気になります。マメさんの声も優しそうで落ち着きのあるラジオで行けそうな声の質。これはすごく伸びる材料になります。話戻してマメさんは、いろいろなアプリを短い動画枠で上手く紹介しています。自分の場合、玄人よりなので大体は知識ありなのですが、一般の人は良い話が聞けるのではないかなと思い今回、紹介に至りました。

【決定版】機種変更でキャッシュレスアプリを引き継ぐ方法

最後にマメさんのチャンネル登録はこちら
https://www.youtube.com/channel/UCAaThwhgEMfisl0GMsd4SIg

タグ

App, YOUTUBER, アプリ, いろいろ, こちら, これ, スマホ, それ, チャンネル, トーク, マメ, ユーチューバー, ラジオ, , 一般, , 人気, 今回, , 動画, 場合, , 大事, 大体, 才能, 最後, 材料, , 玄人, 登録, 知識, 紹介, 自分, , , 重要, 顔出し,

bingから画像を一括ダウンロードするアプリ。

2020.06.14

Logging

任意のキーワード検索でbing画像からを一括ダウンロードするアプリを作りました。img-dl-bing-sss.exeファイルを起動すると動画のようなコンソール画面が開くので入力してダウンロードを開始してください。ダウンロードが終わると勝手に閉じます。

なお、一応R指定にも対応しています、キーワードがR指定項目かもと思う場合、Yと入力ください。
新垣結衣さんの熱烈なファンでもないですが、綺麗な方だとは思います。ということで例として使用させて頂きました、、、関係者の皆様ごめんなさい。

bingから画像を一括ダウンロードするアプリ

このアプリはウィンドウズ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;
  }
}

タグ

10, bing, exe, img-dl-bing-sss, url, VS, アプリ, ウィンドウズ, キーワード, コード, こちら, こと, コンソール, サイト, ソース, ダウンロード, デザイン, ファイル, ファン, ブロック, 一括, 下記, 任意, 使用, , 入力, 動作, 動画, 勝手, 参照, 場合, 対応, 指定, 新垣結衣, , 方法, 検索, 環境, 画像, 画面, 皆様, , 綺麗, 解除, 起動, 開始, 関係者, 項目,

JavaScriptのPromise例えが分からない人のために。

2020.06.06

Logging

自分は『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!!"

タグ

async, await, javascript, Promise, then, エラー, かっこ, コード, ここ, こと, それら, そん, ため, チェーン, なん, ひとまとめ, 一つ, , , 但し, , 内容, 処理, 割愛, 可能, 同期, 名前, 命名, 場合, , 対応, , 感覚, 数珠繋ぎ, , 最初, 混合, 皆さん, 自分, , 道具,

ダラダラとLaravel構築してみた解説あり(*´?`*)

2020.06.02

Logging

https://www.youtube.com/watch?v=UdD5oO2f8ko

Laravelをインストール手順を動画にしました。いらない手順が含まられていますが・・・。気にしないでください!!

ちなみに適当な動画は無音ですみません。尚、PHPがタイムアウトしてComposerがインストール出来ない場合はポートの解放が出来ているか、IPv6が有効になっていないかなど調べてくだいね。なお、自分の場合、IPv6が有効になっていてダウンロードが出来ない状態でした(´・ω・`)。

お世話になったサイトはこちらです。こちらの手順通り対応しvirtualBOX、いや仮想環境を再起動してあげてください。そうするとすんなりダウンロード出来ます。それでもダウンロード出来ない場合はアドレスからgetcomposer.orgからダウンロードする手段もありますが、恐らくその後のComposerインストールで躓くはずです。サーバー環境を見直すと良いでしょう。

https://www.server-memo.net/centos-settings/centos7/disable-ipv6.html
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
composer create-project laravel/laravel example-app

最後にLaravelのドキュメントのリンクを貼っときますm
https://laravel.com/docs/8.x/installation

タグ

6, Composer, getcomposer, https, IPv, Laravel, org, php, server-me, virtualBOX, www, アドレス, いね, インストール, お世話, くだ, こちら, サーバー, サイト, タイムアウト, ダウンロード, パス, ポート, 仮想, 再起動, 動画, 場合, 対応, , 手段, 手順, 有効, 構築, , 無音, 状態, 環境, 自分, 解放, 解説, 適当,

明日へ続く愚痴。

2020.05.28

Logging

この頃、体調不良です。睡眠は大切ですよと本当に思います・・・。
自分の場合、平均的に8時間睡眠が必要となり、3、4時間の睡眠を毎日続けていると食欲不振になります。また寝ることを我慢していると今度は眠りが浅くすぐ目覚めてしまうという悪循環になることがわかりました。なので、明日からは規則正しい生活習慣に戻します。

この頃、お空からお金が舞い込んでこないので、自分でなにか無料のシステムを作り上げてそこから広告収入を得ようかなと考えています。例えばアプリを大量生産してそれで生計を立てているひとも世の中にはいます。自分はアプリではなくWEBシステムで生計を立てようと思っています。その他にもクラウドからお仕事もやらないといけなくなるでしょう、それに付いては明日書きますね。

まぁこの頃、プログラミングを頑張ってレベル上げして毎日頑張っていろいろ取り組んできたのですが、少々、アクセルを踏みすぎた感があります。ちなみにプログラミングは好きなので、休み無くコードを書く癖があります。凄い集中というか、そういう生き物なのだけです。仕事をしていたときからそういう感じでした。真面目ではないですよ…暗いわけでもないですよ。集中するとそうなるだけなんですよね。

逆に電話がなると仕事を中断しないといけないし時間を使うので自分はテキストが非常に良いと感じます。ホリエモンほど極端ではないものの、やはり電話は仕事を奪うという感覚はあります。もし自分が会社の社長になったなら、プログラマーさんには電話には出なくて良いといいますし、打ち合わせにもリーダー以外出なくて良いといいます。生産性を上げるには最初の上流工程でちゃんと設計するという事が大事になります。それをせず口頭だけでやっといて丸投げするような会社は使えないシステムが生産されます。そういう会社は逃げたほうが良いです。責任だけを負わされるだけで何のメリットも生まれません。そんなわけでプログラマーの生産性を上げるには徹底した効率的な職場が必要かと思います。

明日に続く。

タグ

, 4, 8, web, アクセル, アプリ, お仕事, お金, クラウド, コード, こと, システム, そこ, その他, それ, ひと, プログラミング, レベル, 不振, 不良, , , 今度, 休み, 体調, 収入, 場合, 大切, 大量, 少々, 広告, 循環, 必要, 愚痴, , 我慢, 明日, 本当, 毎日, 無料, 生活, 生産, 生計, , 睡眠, , 習慣, 自分, , 食欲,

YOUTUBE参入の勝算は?

2020.05.26

Logging

いまからYOUTUBE参入の勝算は?
基本、ほぼゼロだと思います。YOUTUBEで底辺YOUTUBEになるという事さえ普通の人は中々難しいと思いますよ。これからYOUTUBEを始めようとしている人はかなりいると思うけど、生き残れるのはほんの一握りです。

そんな生き残る人達の共通点はクオリティが良いか、コアなファンが付いているかどちらかと思います。チャンネル登録者を増やすには最初の段階では毎日、動画を5本UPしないと登録者、1万人にはならないだろうと思います。ある程度、認知度のあるイケダハヤトさんでさえ、最初の頃は頻繁に動画をUPしていたそうです。なので、名のない素人さんはもっと頑張らないと1万人の登録者は無理かと思います。ニッチなジャンルで挑んでいる場合は、それほど激戦区ではない部分があると思いますが、そんなYOUTUBERさんでも初期投資として1日1本の動画をUPしているひとは結構見かけます。

やはりそれぐらいの動画をUPしないと1万人の壁は超えられないと思います。ちなみに1万人の登録者がいると、高知県のハローワークに出ている最低賃金のお給料より収入があるかと思います。ある意味、登録者数が1万人って素人の夢ですよね。

じぶんがYOUTUBEを休止したわけは、ブログの方が効率が良いと気づいたからです。これから自分はYOUTUBEを解説の補助として使用していこうと思います。尚、YOUTUBEはこれから企業の宣伝ツールとしても使用されることが多くなると思います、そうなるとYOUTUBEに流れる動画本数は増えていくばかりなので、ますます後発のYOUTUBERは検索にHITすることが難しくなるのではないかと考えられます。

じゃ?どうすればYOUTUBEで勝つことが出来るのか?
まず、YOUTUBEを見てもらうためにSNSを活用すること、そしてGさんで広告宣伝を打つことだと思います。この両方を行います、特にSNS営業は大事だと感じますし、ユーザーからいろいろな意見も聞けるので動画の改善にも繋がります。一番はYOUTUBE一本で攻めないことだと、YOUTUBE+InstagramやTwitterをかけ合わせて使用して収益化できるYOUTUBEへ誘導することが大切になります。逆にYOUTUBEが収益化できないのならばブログやサイトへ誘導することが大事になります。

結局の所、中身が有るかないか、ユーザーに必要とされる情報かそうではないかになると思います、それはYOUTUBEに限らず商売はそんな感じだと…。

タグ

, 5, UP, youtube, YOUTUBER, イケダハヤト, いま, かなり, クオリティ, コア, これ, ジャンル, ゼロ, それぐらい, チャンネル, どちらか, ニッチ, はり, ひと, ファン, 一握り, , , , 共通点, 初期, 動画, 勝算, 参入, , 基本, 場合, , 底辺, 投資, 普通, 最初, 段階, 毎日, 激戦区, 無理, 登録者, 素人, 認知, 部分, , 頻繁,

WPの記事を検索し一括カテゴリ変更する方法。

2020.05.25

Logging

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));
    }
}

タグ

-Command, 39, array, categories, CSV, DIR, ID, lt, once, php, POST, require, set, url, wp, wp-load, アウト, お願い, カテゴリ, コード, こと, コメント, ご使用, ソース, それぞれ, ナンバー, ファイル, プレス, メソッド, ワード, 一度, 一括, 下記, 不具合, 任意, 企業, , 何か, 使用, 場合, 変更, 実行, 引数, 当然, , 意味, 抽出, 数値, , 方法, 更新, 検索, 確認, 自己, 苦情, 記事, 責任, 部分, 配列, 重要点,

情熱大陸LITEというYOUTUBEチャンネル。

2020.05.16

Logging

あの情熱大陸がYOUTUBEチャンネル、情熱大陸LITEというチャンネルを開設していた。今年の4月28日にチャンネル登録されていますが、まだ登録者数は少ない感じですね。高視聴率の番組でもないのだけど深夜帯にしてはまぁまぁの視聴率が取れていると思います。

https://www.mbs.jp/jounetsu/

自分はどちらかと言うと好きな人や興味がある人が取り上げられたら見るという感じかなと、自分の場合リアルタイムで見ることはないですね。ほぼ録画で見るという形をとっています。ちなみに全部見るわけではないですけどね。

建築家・安藤忠雄「100歳まで頑張る決意」【StayHome】

いろいろな人を話を聞くことは大事かなと思います、特にトップで活躍されている人の話なんて日常生活で聴くことはないのだから、そんな人達がどういう考えや生き方をしているという事を垣間見える番組は自分は好きです。

ちなみに自分はお笑い番組ほぼ見ないで、こういう番組を見ている方が心弾むのでちょっと変わっているのだろうと思います・・・。

最後にチャンネル登録はこちら
https://www.youtube.com/channel/UChrwWDsptJWqbV_oPKdHk1Q

タグ

28, 4, LITE, youtube, いろいろ, お笑い, こと, チャンネル, どちらか, ドップ, リアルタイム, わけ, , , 今年, 垣間, 場合, 大事, , , , 情熱大陸, 感じ, , 日常, 活躍, 深夜, 生き方, 生活, 番組, 登録, 登録者, 自分, 興味, 視聴率, , 録画, 開設, 高視聴率,

ちょっとしたツール。

2020.05.11

Logging

サイト内の検索をするためのURLを生成してくれるツールを作りました。
ドメインを入力するとあらかじめ登録しているURLの候補が表示されます。
なお、プログラムでドキュメント検索する場合などに最適かなと思います、URLもプログラム関係のサイト(ドメイン)を登録しています。

因みにこれを作った経緯は単なる自分が使用するために作りました、そのお裾分けですので機能追加などは自分の判断で追加いたします(問い合わせなどは受け付けておりません)。

最後にリンクを貼っときます。
https://zip358.com/tool/site_search/ (サイト内検索URL生成)

タグ

358, com, https, search, site, tool, url, zip, お裾分け, これ, サイト, ため, ツール, ドキュメント, ドメイン, プログラム, リンク, 使用, 候補, 入力, 判断, 問い合わせ, 場合, 最後, 最適, 検索, 機能, 生成, 登録, 経緯, 自分, 表示, 追加, 関係,

Yahoo!ニュースをPythonで取得するできました(´・ω・`)v

2020.05.01

Logging

早朝、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()

タグ

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, , Yahoo, youtube, zip, コード, ソース, タイトル, テキスト, ところ, ニュース, もの, ライブ, リンク, 一覧, 修正, 取得, 場合, 変数, 必要, 抽出, 早朝, 書き方, 理解, 若干, 言語, 記号, 配信,

pip3がうまく動かない(´・ω・`)v

2020.04.30

Logging

pipがうまく動かないときの対応。下記の3点が入っていないとpython3をインストールしたとしてもpipが動かないそうだ。これが分かるまでに2時間を費やした時間を返してください(´・ω・`)v

yum install -y openssl-devel
yum install -y libffi-devel
yum install -y zlib-devel
https://www.youtube.com/watch?v=mVAQTrLLJzw

ちなみにPython3のインストールは下記のURLの説明を参考しました。ソースコードをビルドしインストールしている。こうすることでバージョンの使い分けができる。PHPは慣れたもので簡単に使い分けできるですけどね・・・。PythonはPythonは・・・。

https://www.youtube.com/watch?v=nmTJ2DgYuEw

最後にソースコードをビルドしてインストールしてpipを使用する場合、pip3で動かない場合はpip3.8とか試してみてくださいね。

コピペでWEBスクレイピングしてみた動画をUPしています。ちなみにpython 初心者vlogをアップして駄目駄目さ見せつけています。PHPはスイスイ?と出来るのですがPythonはズブの素人です。

徐々に上達するでしょう。

タグ

-y, 2, , 3.8, install, libffi-devel, openssl-devel, php, pip, Python, UP, url, , web, yum, zlib-devel, インストール, コード, こと, コピペ, これ, してい, スク, ソース, とき, バージョン, ビルド, ピング, もの, レイ, 下記, 使用, 動画, 参考, 場合, 対応, 時間, 最後, 簡単, 説明,

何故、赤の他人にそんなにも敵対心や好意を抱いているのかと思うこの頃。

2020.02.26

Logging

今日の朝というか、朝方?
寝れなかったのでスマホでTWITTERアプリを開くとこんなの事が書かれていた(下記参照)。書いた本人は常識的な意見という事で指摘したのだろう。それに対して意見が大量についたみたいだけど、箕輪厚介氏と関係ある人はどれぐらいいるだろうかと思ったわけです。自分は基本的に名指しで批判はしないし、批判する場合は名前を伏せて時系列でツイートするけど(それは良いとして)。ふと思ったのは自身、箕輪厚介氏に限らずTVなどの有名人に親近感も持ち合わせていない。

メディアに出ている人は、これからの社会の常識を変える側の人間なのだとは思います。そういう人は率先してこうやって発信しているでしょう。その中で社会に受け入れられるものもあればそうではない物もある。たぶん、会議中にスマホにメモ取るのはIT業界ではOKになり、殆どの事務系はOKになるだろうと思います。音声録音機能と音声を文字変換するアプリもありますからね。効率的に議事録取れる可能性が高いです、そしてそうやって常識が崩れていくと思います。

常識を変えたくなければ絡まないことだと思うです、議論の場を与えなければ物事は変わらない。

余談1:
庶民がSNSを持つことにより、今まで声を上げれなかったひとが声を上げれるようになった事は良いことだと思いますが、逆に庶民は操れている感覚があります。それはTVよりもインターネットの方が操りやすいかなと思いますし、SNSのビックデータと人工知能の解析で民衆はかなりの確率で、もうこの日本でも民衆は操り人形化していると思います。

そしてこの頃思った事は賢い人間もいれば、そうではない人もいる。そうではない人たちは結構メディアを鵜呑みする傾向が強い。実際、事実は体験したひとの中にしか無いので、ある時から自分はメディアはあまり信じていない。特にひとの発信するものは感情がついて回る。ときには感情で法律が変わったりもする、それは恐ろしいことだと思います。

余談2:
賢く良識的な人間が考え出した結果に従いますか、それとも低能な人間が考え出した結果に従いますかと質問すると大体の人は賢い人間が考え出した結果に従うと答えると思いますが、日本国は民主主義なので選挙の票は同じ1票で重み付けはありません。本当にコレで良い世の中になるのかと…。

※余談2はある本で読んだ言葉を自分の言葉に置き換えて書きました。

タグ

IT, OK, TV, Twitter, アプリ, ありま, これ, スマホ, それ, ツイート, どれぐらい, メディア, メモ, もの, わけ, 下記, , , 事務, , 人間, 今日, 他人, 会議, , 厚介, 参照, 名前, 場合, 変換, 大量, 好意, 常識, 意見, 批判, 指摘, 敵対心, 文字, 時系列, 有名人, , 朝方, 本人, 業界, 機能, 殆ど, , 率先, 発信, 社会, 箕輪, 自分, 自身, 親近感, , 録音, 関係, 音声, ,

?Ponanza(ポナンザ)の作成者さんが作ったお天気のアレを真似たひとり用。

2020.02.22

Logging

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]);

タグ

0, 128, 27, API, ca, cf, com, https, IP, issei, ne, note, oauth, Ponanza, qiita, Twitter, アレ, お裾分け, コード, こちら, ソース, ひとり, ひとり用, プログラマー, ボナンザ, メイン, もの, ライブラリ, リンク, 下記, 位置, 作成者, 使用, 個人, 公開, 場合, 変更, 天気, 必要, 情報, 本家, 特定, 考え方, 自分, 衝動, 説明, 都道府県, 開発者, 限り, 駆け出し,

もし仕事が見つからなかったらコレしか自分無いなと感じます。

2020.02.22

Logging

下記の動画ようなそんな生き方に。自分はそういう事が嫌いじゃないので、それで生きていきたい。そしてここでは言えないが事情があり、そういう生き方のほうが精神的に生きやすいと思うのだが、フリーランスという道はそんなに甘いものではないのは理解しているつもりで書いてます。今は職につく事を考えているのですが、やはり毎日、精神疲労がひとと違っていつも大変なのですね、ここ数年、仕事に務めてきたけど結構つらい、特に冬場の夕方あたりが精神的に重くなるので辛いのだ。

個人開発で複数のスキルを得るためにやったこと 〜 アプリ開発の企画やプログラミングからデザイン、マネタイズまで全部自分でやれるようになるには?

真面目に働くひとなので、今こういう体調になってしまったのだろうかと…思う。まぁでも体調や心が重くなる意外は基本的に普通なのだけど、これだけは後遺症みたいに何だか残ってしまったようです。なので、もしフリーランスになったとしたら、一番はこういう生き方を望みます。たぶん、自分が頑張ればこういう生き方を望めそうな気もします。自分の場合、収入が25万円あれば生きていけそうなので働き口がなかったら、そこらへんを目指していこうと思います。

トイウコトで動画の感想でした?今は自分でも働けそうな働き口を探すこととかに専念しています。なので労働しながら上記のような仕事へシフトしていくことも有りだなと思えました。

タグ

25, ここ, コレ, これだけ, それ, つもり, ひと, フリー, もの, ランス, , , 下記, , 事情, , 仕事, 体調, 冬場, 動画, 収入, 場合, 夕方, 大変, 嫌い, 後遺症, , 意外, , 普通, 毎日, , 理解, 生き方, 疲労, 真面目, 精神, , 自分, ,

検索サイトが無かったら、仕事ができないプログラマー。

2020.02.21

Logging

検索サイトが無かったら、仕事ができないプログラマーはいっぱいる。たぶん90%ぐらい締めているじゃないかな?どこかのライブラリを使用したい場合とかもだいたい検索サイト使っているし、何かフリーツールが欲しくても検索サイトが無いと中々、お仕事ができないのが今のIT企業の人だと思います。

そして日進月歩如く、IT技術は次から次へと新しい技術が生まれては消えていきます。サイクルは年々早くなる一方で、こんな事を隅から隅まで知識として詰め込める人は1~2%の天才的なIQの持ち主です。その他の人達は検索サイトやSNSの情報がないと何かしらお仕事が止まります。それぐらいIT業界は検索サイトのお世話になっているのだなと思うのと、検索サイトがダウンすると、自分はお仕事が全然はかどらなくなるなぁ?と少し思うときがあります。

今はそうでもないですけど、新しい事を始めるときは特に検索サイトは使いますね。だからやはり検索サイトがダウンすると経済的にかなり打撃になると感じます。今までGから始まる会社の検索サイトがダウンしたって事ありましたかね?もしなかったら、100%の稼働率って事になりますよね、凄すぎ?

タグ

, 2, 90, IQ, IT, SNS, いっぱい, お世話, お仕事, サイクル, サイト, その他, それぐらい, ダウン, ツール, とき, どこか, フリー, プログラマー, ライブラリ, 一方, 中々, , , , 仕事, 企業, 使用, 場合, 少し, 情報, 技術, 持ち主, 日進月歩, 検索, 業界, , 知識, 自分,

天気予報を取得するアレを使用してみた(Openweathermap_api)。

2020.02.19

Logging

ご自由にお使いください。尚、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": "おきなわ"
    }
}

タグ

2.5, API, APIKEY, appid, class, data, ID, lt, Openweathermap, org, php, pub, public, quot, url, weather, zip, アカウント, アレ, お好み, コード, コピー, ご自由, ズレ, ソース, 下記, 予報, 余談, 作成, 使用, 取得, 可能, 合致, 場合, 変更, 天気, 実行, 情報, 感じ, 正確, 絵文字, 都道府県,

システムエンジニアの1日を撮ったvlog(one day)

2020.01.30

Logging

システムエンジニアの1日を撮ったvlogが海外では流行っていたのか、結構検索するとヒットする、大手のIT企業で働いている人もvlogを撮っているので興味のある方は視聴してみてはどうだろうかと。日本の場合、IT企業が宣伝目的で撮ったvlogは結構あるものの、個人が自分の1日を撮った動画はかなり少ない。これが日本と海外の差でもあるなと感じました。

Day in the Life of a Facebook Software Engineer.

見ていただけると分かる通り、やっていることはそこらにいるシステムエンジニアやプログラマーと変わりはあまり無い、ただ、そこに書かれているコード内容が違う、そして一番違うのは彼らの働いている環境がブラックIT企業とは、雲泥の差があるという事だ。彼らと同じような環境に近づけたいのならば、フリーランスのエンジニアとして働くのが一番理想に近くなる可能性が高いが、全責任は自分自身に降りかかるので、そこだけは注意したほうが良さげ。

Day of Amazon Software Developer

タグ

-brF, , 6, com, day, IT, one, SUXbns, Vlog, youtube, エンジニア, かなり, コード, こと, これ, システム, そこ, そこら, ヒット, ブラック, フリー, プログラマー, ランス, , , 企業, 個人, 内容, 動画, 可能性, 場合, 大手, 宣伝, , 彼ら, , 日本, 検索, 海外, 理想, 環境, 目的, 自分, 自身, 興味, 視聴, 責任, 通り, 雲泥,