ミラーワールド「メタバース」とAI!ええっ!?

2020.11.01

Logging

Softbank Group, NVIDIA CEOs on What's Next for AI (Courtesy of SoftBank World 2020)

二人が語っている動画を視聴して数年後には彼らが語っていることは全て具現化されていくだろうなと思いました。その中で一番、興味深い話はAI(人工知能)がミラーワールド=メタバース(仮想現実世界)を作りその中でものや機械を生産やシュミレーションを行い、人工知能が試した結果を現実世界で同じように取り入れるという事です。これを見て凄く違和感を感じてしまいました…。

これってリアルワールドと思っている現実世界も実はシュミレーションの中かもしれないという事、まさに映画、マトリックスの世界だなと感じました。

映画『マトリックス』製作20周年特別予告 2019年9月6日(金)期間限定上映

メタバースの世界とは別にやはりAIがプログラミングコードを生成するということはそれほど難しくない、近い将来、複雑なプログラミングも行えるようになるのだなと感じました。これからITエンジニアを目指す方はコード書くよりAIが書き出したコードを修正できる能力の在るひとが必要になるかと思われます。そして数年後にはノーコードでいろいろな事がAIに置き換わるのだなと、それほどITエンジニアはいらないですね。

AIは脅威だと思います、全然大丈夫とは思えない、AIを作る側はこれからも安泰かもしれないけれど、一般人は間違いなく今後数年で仕事はなくなると思います。皆がクリエイティブなことが出来るわけでもないのだから、これはかなり大変な時代になると思います。こういう動きは大企業から始まります、お気をつけて就職活動や転職活動を行ったほうが良さそうです。1時間ほどの動画ですがこれからどう社会を変えていくのかが分かる動画です見る価値ありかな!?。

タグ

AI, IT, エンジニア, コード, こと, これ, シュミレーション, ノー, バース, ひと, プログラミング, マトリックス, ミラー, メタ, リアル, ワールド, 世界, , , 二人, 人工, 仮想, 修正, 全て, 具現, 動画, 将来, 彼ら, 必要, , , 映画, 機械, 現実, 生成, 生産, 知能, 結果, 能力, 複雑, 視聴, , 違和感,

プログラミングは世界共通語なのかも。

2020.10.26

Logging

JavaScript ES6 Modules

英語がわからない方でもプログラミングコードを見れば何を書いているのか、わかってしまうのでそういう意味でプログラミングは世界共通語なのかもしれないなと思います。プログラミングで会話ができるそんなプログラミング言語ができたら、それはITエンジニアにとってかなり朗報なのかもしれないなとふと思いました。

そうなればバグの指摘なども簡単になるし、意思疎通も簡単に。これからITエンジニアになりたい方は英語は必須ですね。英語がわかれば海外からの仕事もうけれるし会社に雇われないフリーランスの仕事も軌道に乗りやすいかと思います。クラウドワークスやランサーズなどでは中々厳しいですね…。それで生活ができる人はほんの一部のひとだと思います。

お小遣い稼ぎならクラウドワークスやランサーズで出来るかと思いますが、生計を立てる事はほとんどの人が出来ないでしょう、なのでもしクラウドワークスやランサーズのような仕事の請負を行って生活していくには海外でも同じような活動を行っていかなければならいでしょう。

そういう意味でも英語は必須。新たな世界共通語を秀才なITエンジニアが開発してくれれば話は変わりますが、今の処、英語ができれば海外から仕事が取れます。因みに翻訳に頼らない日常の英会話ができると尚良いと。トイウコトデ、それらが出来ない方は、自分も含め学ばなければなりません。

地球語を読んで想像したことでした。

タグ

IT, エンジニア, お小遣い, かなり, クラウド, コード, これ, それ, バグ, ひと, フリー, プログラミング, ほとんど, ランサーズ, ランス, ワークス, 一部, 世界, , , 仕事, 会社, 会話, , 共通語, 必須, 意味, 意思, 指摘, , 朗報, 海外, 生活, 生計, 疎通, 簡単, 英語, 言語, 請負, 軌道,

[悲報]無職になりました?。

2020.10.12

Logging

一週間ぐらいまえにお仕事が決まって働いていたのですが、先週の金曜日にそのお仕事を辞めることにし、社長さんにそのお話をして今に至っています。

就いた職種はプログラマーです。お仕事としては某大手企業が開発したおそらくフレームワークでの開発(特殊なプログラムコード)になります。そのコードはどちらかと言えばN88BASICのようなプログラム仕様です。そちらを覚えるのにはそれほど時間もかからず、辞める前にはほぼ理解していたのですが辞めました。

コロナ禍でお仕事につけたのは感謝です。ただ自分自身のこころの問題(葛藤)で辞退しました。小さな会社でしたが社員さんや社長さんも良い人ばかりでしたが、なんか今まで培ってきたことが全然活かすことが出来ない。出しゃばってこれも出来るよとか言えなかったです。やっぱり難しいですね、効率化が全てではないし、それで運用しているということはそれで仕事が成り立っているわけなので、そこに技術を入れることにより仕事が短縮化してしまうわけです。

そして活かす事が出来ないなという思いともう一つの葛藤があります。それはプログラムの楽しさがこの頃なくなってきたという事です。昔はプログラムを書くことが楽しかったのですが、ここ数年でその楽しさがあまりなくなってきています。なので、辞める理由としてプログラムという職があってないという理由で辞めました。

仕事だから楽しさを求めるなという意見もあるでしょう。でも何か楽しさややりがいがあるから仕事は続けられると思います。そういう面では運送会社に勤めていたころが楽しかったなと思っています。その職に将来性があるかどうかは分からいないし、いまもう一度、同じ職に就いたとして楽しく出来るのかと言えばそれは正直なところ分からないです。その一番の理由として心のモチベーションや今まで経験(人生経験)したことにより、20代と同じ感情になるのかなと思うとそれはまた違うのかもしれないという事です。もう40代になるけれど・・・なんかなぁと自分でも思います。

そんな中で昨日、映画、浅田家を観て救われました。世の中にはあんな人もいるだなって別に自分は大きな成功を収めたいとは思っていないのですが、安定した生活や周りの人に心配されないようにとか、、、上手く言えないけれどまぁ何とかしたいなと思っています。

タグ

88, BASIC, お仕事, お話, コード, こころ, こと, これ, コロナ, そこ, そちら, それ, どちらか, フレームワーク, プログラマー, プログラム, まえ, わけ, , , , 仕事, 仕様, 企業, 会社, 先週, 全て, , 効率, 問題, 大手, 悲報, 感謝, 技術, 時間, 無職, 特殊, 理解, 短縮, 社員, 社長, , 職種, 自分, 自身, 葛藤, 辞退, 運用, 金曜日, 開発,

ノーコードって流行っているけど。

2020.10.07

Logging

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

ノーコードは流行っているけど、たぶんまだまだだというのが自分の考えかな?
まず、ノーコードは田舎のIT業界以外のひとは知らないと思います。IT界隈では流行っているけど、一般人は知らないレベルの話だと思います。

これから先、ノーコードは進化していくかと思いますが、いまのところ、驚異ではないかなと、もしノーコードがワードプレスなどの立ち位置になっても驚異ではないと自分は考えています(中小企業の痛手になるとは思いますが、驚異ではないかなと思います)。

何故か?

本屋が潰れないのと同じです。電子書籍が浸透しても本を買う人はいます。そんな感じで世の中、最先端のテクノロジーが出てきても使用する側がアナログなのでそれほど、驚異ではないかなと考えています。

昔はデジタル書籍に置き換わると思っていましたが、デジタル書籍が登場してから数年は経過していると思いますが、本屋は潰れずです・・・。たぶん、自動運転車が登場しても全ての人々が自動運転車に乗るには1世紀ぐらいかかるのではないかなと、いまは思っています。

タグ

IT, アナログ, いま, コード, これ, テクノロジー, デジタル, ところ, ノー, ひと, プレス, レベル, ワード, 一般人, , , 中小企業, , 人々, 位置, 何故, 使用, , , 全て, 感じ, , , 書籍, 最先端, , 本屋, 業界, 浸透, 田舎, 界隈, 痛手, 登場, 経過, 自分, 自動, , 進化, 運転, 電子, 驚異,

IT業界で勉強していないとどうなる?

2020.10.06

Logging

IT業界で勉強していないとどうなる?勉強していないとまず、仕事ができない。それはどこの業界でもそうだとおもうけど、勉強していないとお仕事ができません。特にIT業界は基盤となる知識がベースにないと仕事を覚えることが大変です。ただ覚えてしまえば別の言語を覚えようとするときに何とかなります。

なので、ひとつの言語を極めると大体、違う言語でもやり抜けることが出来るので不思議です。いま、プログラムコードはオブジェクト指向で書かれているのでひとつのオブジェクト指向の言語を極めると他のオブジェクト指向の言語を極めることは、それ程、時間がかからないと思います。覚えが早い人は、1ヶ月もしないうちに、その言語を覚えてしまう可能性が高いです。遅くとも3ヶ月もすれば覚えてしまいます。

ちなみに最初、java言語から勉強したひとは、おそらくIT業界で食いっぱぐれないです・・・。それぐらいjava言語は使われていますし、他のオブジェクト指向での思考の元になっている言語かと言えます。

C言語やC++言語などを覚えるとメモリの概念がわかります、ただとても大変です・・・。C言語やC++言語などを極めるよりJava言語を極めると良いかと思います。でも、情報処理系ではC言語やC++言語の勉強をしますよね。それには訳があります。C言語やC++言語はいろいろな言語のベースになっている言語だからです。例えばPHP言語などもC言語で作られています。なので情報処理の勉強ではC言語などの勉強がいまでもベースになっています。

タグ

, , IT, java, いま, うち, オブジェクト, お仕事, コード, こと, それ, それぐらい, とき, どこ, ひとつ, ひとは, プログラム, ベース, 不思議, , 仕事, , , , 勉強, 可能性, 基盤, 大体, 大変, 思考, 指向, 時間, 最初, 業界, 知識, 言語,

カラーコード表をjson形式で取り込み背景をランダム表示。

2020.10.04

Logging

カラーコード表をjson形式で取り込み背景をランダム表示する、あまり使用しないかもしれない、プログラムコードを書きました?。
実際、必要とするのはオブジェクトで出来ているカラーコード表かなと思っています。ウェブの初心者だったとき、ジャバスクリプトで背景の色が変わったりすることが、新鮮で楽しかったのですが今はそういう感覚が昔より抜け落ちているなと感じます。プログラムを書くことが楽しいという感覚がここ数年、抜け落ちていて、休日はコードを前より書くことが少なくなっています。

何年もコードを書くと飽きるのかもしれないなというのは仕方がないことなのかもしれません。でもそこでモチベーションを下げずに要られるひとは更に上への技術が身につくのかもなと思っています。

飽きるというのは言い換えれば、上達が止まったことを指すそうです。

var h = {
	color: [
		{ name: "black" }
		, { name: "aliceblue" }
		, { name: "darkcyan" }
		, { name: "lightyellow" }
		, { name: "coral" }
		, { name: "dimgray" }
		, { name: "lavender" }
		, { name: "teal" }
		, { name: "lightgoldenrodyellow" }
		, { name: "tomato" }
		, { name: "gray" }
		, { name: "lightsteelblue" }
		, { name: "darkslategray" }
		, { name: "lemonchiffon" }
		, { name: "orangered" }
		, { name: "darkgray" }
		, { name: "lightslategray" }
		, { name: "darkgreen" }
		, { name: "wheat" }
		, { name: "red" }
		, { name: "silver" }
		, { name: "slategray" }
		, { name: "green" }
		, { name: "burlywood" }
		, { name: "crimson" }
		, { name: "lightgray" }
		, { name: "steelblue" }
		, { name: "forestgreen" }
		, { name: "tan" }
		, { name: "mediumvioletred" }
		, { name: "gainsboro" }
		, { name: "royalblue" }
		, { name: "seagreen" }
		, { name: "khaki" }
		, { name: "deeppink" }
		, { name: "whitesmoke" }
		, { name: "midnightblue" }
		, { name: "mediumseagreen" }
		, { name: "yellow" }
		, { name: "hotpink" }
		, { name: "white" }
		, { name: "navy" }
		, { name: "mediumaquamarine" }
		, { name: "gold" }
		, { name: "palevioletred" }
		, { name: "snow" }
		, { name: "darkblue" }
		, { name: "darkseagreen" }
		, { name: "orange" }
		, { name: "pink" }
		, { name: "ghostwhite" }
		, { name: "mediumblue" }
		, { name: "aquamarine" }
		, { name: "sandybrown" }
		, { name: "lightpink" }
		, { name: "floralwhite" }
		, { name: "blue" }
		, { name: "palegreen" }
		, { name: "darkorange" }
		, { name: "thistle" }
		, { name: "linen" }
		, { name: "dodgerblue" }
		, { name: "lightgreen" }
		, { name: "goldenrod" }
		, { name: "magenta" }
		, { name: "antiquewhite" }
		, { name: "cornflowerblue" }
		, { name: "springgreen" }
		, { name: "peru" }
		, { name: "fuchsia" }
		, { name: "papayawhip" }
		, { name: "deepskyblue" }
		, { name: "mediumspringgreen" }
		, { name: "darkgoldenrod" }
		, { name: "violet" }
		, { name: "blanchedalmond" }
		, { name: "lightskyblue" }
		, { name: "lawngreen" }
		, { name: "chocolate" }
		, { name: "plum" }
		, { name: "bisque" }
		, { name: "skyblue" }
		, { name: "chartreuse" }
		, { name: "sienna" }
		, { name: "orchid" }
		, { name: "moccasin" }
		, { name: "lightblue" }
		, { name: "greenyellow" }
		, { name: "saddlebrown" }
		, { name: "mediumorchid" }
		, { name: "navajowhite" }
		, { name: "powderblue" }
		, { name: "lime" }
		, { name: "maroon" }
		, { name: "darkorchid" }
		, { name: "peachpuff" }
		, { name: "paleturquoise" }
		, { name: "limegreen" }
		, { name: "darkred" }
		, { name: "darkviolet" }
		, { name: "mistyrose" }
		, { name: "lightcyan" }
		, { name: "yellowgreen" }
		, { name: "brown" }
		, { name: "darkmagenta" }
		, { name: "blush" }
		, { name: "cyan" }
		, { name: "darkolivegreen" }
		, { name: "firebrick" }
		, { name: "purple" }
		, { name: "seashell" }
		, { name: "aqua" }
		, { name: "olivedrab" }
		, { name: "indianred" }
		, { name: "indigo" }
		, { name: "oldlace" }
		, { name: "turquoise" }
		, { name: "olive" }
		, { name: "rosybrown" }
		, { name: "darkslateblue" }
		, { name: "ivory" }
		, { name: "mediumturquoise" }
		, { name: "darkkhaki" }
		, { name: "darksalmon" }
		, { name: "blueviolet" }
		, { name: "honeydew" }
		, { name: "darkturquoise" }
		, { name: "palegoldenrod" }
		, { name: "lightcoral" }
		, { name: "mediumpurple" }
		, { name: "mintcream" }
		, { name: "lightseagreen" }
		, { name: "cornsilk" }
		, { name: "salmon" }
		, { name: "slateblue" }
		, { name: "azure" }
		, { name: "cadetblue" }
		, { name: "beige" }
		, { name: "lightsalmon" }
		, { name: "mediumslateblue" }
	]
};
document.body.style.backgroundColor = h.color[getRandomInt(h.color.length)].name;
function getRandomInt(max) {
	return Math.floor(Math.random() * Math.floor(max));
}

タグ

Black, color, json, name, quot, var, ウェブ, オブジェクト, カラー, コード, ここ, こと, ジャバ, スクリプト, そこ, とき, ひと, プログラム, モチベーション, ランダム, , 上達, , 休日, 何年, 使用, 初心者, , 実際, 形式, 必要, 感覚, 技術, , 新鮮, , 背景, , 表示, ,

自動化の波。

2020.09.11

Logging

自動化の波がすぐそこまで来ているような気がする。ITエンジニアの驚異はノーコードアプリだと感じます。あれはかなり驚異です。カスタマイズが柔軟性をましていくと思います、その背景には人工知能技術による自動プログラム技術の進化が著しい。

自動化の話で言えばFF7Rでは人工知能がゲームをプレイしてバグを感知するそうです、こういうのは今までテストプレイする人がいて、その人達が人海戦術でこなしていたことですが、スクウェアエニックスではそれを自動化し24時間体制でバグ取りしています。この方法は他社のゲームメーカーも取り入れるでしょう。

人工知能が出来ることは何なのか、必ず正しい答えがある、ルールが存在する。この2つがある仕事は全て人工知能に自動化されることは間違いないでしょう。いまは置き換わっていなくとも徐々に人工知能に仕事は奪われていき、7割の人は解雇されるかと思います。あと30年後にはほとんどのホワイトカラーの仕事は何も規制を設けなければ人工知能に置き換わってしまうと思います。

最後に残されているのは労働の仕事やクリエイティブ、サービス業になりますが、クリエイティブな仕事も徐々に人工知能に置き換わってしまうと自分は思っています、なので最終的にロボットでは出来ない仕事だけ残ると思います。

ただ、それはまだまだ先の話でありますが、近いうちにITエンジニアの仕事は人工知能に置き換わってしまうとは思っています。それは今後、10年の間に起きると思います。なのでこの職業で働けるのもあと10年ぐらいだなと・・・。

タグ

2, 24, 30, 7, FF, IT, アプリ, あれ, いま, エンジニア, カスタマイズ, かなり, ゲーム, ゲームメーカー, コード, こと, スクウェアエニックス, そこ, それ, テスト, ノー, バグ, プレイ, プログラム, ほとんど, ホワイトカラー, ルール, , 人工, 人海戦術, 仕事, 他社, 体制, , 全て, 存在, 感知, 技術, 方法, 柔軟性, , , 知能, 答え, 背景, 自動, 規制, 解雇, , 進化, 驚異,

鳴子を機械学習で認識させる事が出来たよ!

2020.09.02

Logging

高知県なのでよさこい、よさこいと言えば鳴子を持って踊るがルール。
鳴子を持っているかを判断する機械学習を作ってみようという事で今回の考えが思いつき、早朝から機械学習で鳴子認識させる事に取り組んでみました。

難易度はかなり低いのでそこらへんのITエンジニアなら出来ると思います、出来なければITエンジニアなのかな?と思ってしまうぐらいの難易度かと思います。

大変だったことは教師あり学習なので認識させるのが面倒だった。
鳴子の写真を30枚ぐらい機械学習で認識させました、、、。

今回、使用した機械学習のライブラリはDlib(ディーリブ)というものです、
ググるとインストール方法からプログラム方法まで参考サイトが結構あります。

自分のサイトでは機械学習させた後、静止画を認識させるコードを掲載しときます。

import cv2
import dlib
detector = dlib.simple_object_detector("yosakoi.svm")
image = cv2.imread("yosakoi.jpg")
naruko =detector(image)
for f in naruko:
        print("left, top, Right, bottom : ", f.left(), f.top(), f.right(), f.bottom())
        cv2.rectangle(image, (f.left(), f.top()), (f.right(), f.bottom()), (255,0,0), 2)
print("{} naruko".format(len(naruko)))
photo = dlib.image_window()
photo.set_image(image)
photo.add_overlay(naruko)
cv2.imwrite("yosakoi-naruko.jpg",image)

因みに動画も認識させてみようと思ったのですが、こちらは上手く認識できなかったです・・・。

鳴子の機械学習モデルを置いときますのでご自由に使用ください。
学習したモデルを読み込んで上記のソースコードで試してみてください、尚、リナックス環境で動作します!!?

鳴子機械学習モデル?ダウンロード?

https://zip358.com/ML/YOSAKOI/yosakoi_Model.zip

タグ

2, 30, cv, detector, Dlib, import, IT, object, qu, simple, インストール, エンジニア, かなり, コード, こと, サイト, そこら, ティー, プログラム, べん, もの, よさこい, ライブラリ, リブ, ルール, , 今回, 使用, 写真, 判断, 参考, 大変, 学習, , 掲載, 教師, 方法, 早朝, 機械, 自分, 認識, 難易, 静止画, 面倒, 高知県, 鳴子,

手前味噌な機械学習!?。

2020.09.01

Logging

分類分けで機械学習教師ありのモデルを作り、新たなデータで推測するという一連の過程をやってみたよーーー?
ちなみに分類分けとしてはあまり機能していないだけどね・・・。
何が難しかったか・・・Pythonをサーバで動かすようにするところと・・・何故かすんなり動いてくれなかった。そして機械学習させるデータを作るのがやはり面倒だった、途中から分類分けって感じじゃなく1分類という感覚で重み付けしました。

尚、サンプルとして表示しているのは、機械学習させてモデルを保存させるやつです。この他にもいろいろなファイルがあるのだけど、例えばデータを生成させたりする処理ファイルや保存したモデルから推測させる処理ファイルなどいろいろなファイルがあるのだけど、全て解説するのはちょっと面倒なので今回はこれだけです。

あと質問箱と連携するのは今後の質問によって決めようと思います。いちおう、ほぼその部分も完成しています。コードを手直してそれぞれをファイル連携してゴニョゴニョするという作業が残っています。

追記:きっちり分類分けしてそのデータをansの中に正解解答としていれてあげて学習させるとまぁまぁ良い感じです。

from sklearn.linear_model import LinearRegression
model = LinearRegression()
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
import pickle
X = pd.read_csv("Question.csv", header=None).values.tolist()
ans = []
val = 0
for num1 in range(len(X)):
	for num2 in range(len(X[num1])):
		if float(X[num1][num2])>=0.5:
			val = val + 1
	val = float(float(val) / float(len(X)) * 100)
	ans.append(str(val))
	val = 0
model = DecisionTreeClassifier(max_depth=999)
model.fit(X,ans)
print(ans,"<==>",model.predict(X))
# モデルを保存する
filename = 'Q_model.sav'
pickle.dump(model, open(filename, 'wb'))

タグ

, Python, あと, いろいろ, コード, これだけ, サーバ, サンプル, それぞれ, データ, ところ, ファイル, モデル, やつ, 一連, 今回, 今後, , , 保存, 全て, 処理, 分け, 分類, 学習, 完成, 感覚, 手前味噌, 手直, 推測, 教師, 機械, 機能, 生成, 表示, 解説, 質問, 途中, 連携, 過程, 部分, 重み, 面倒,

質問DATA検索を作りました。

2020.08.29

Logging

質問箱というサービスでじぶんに質問してくれる方がいます、そんな人達が使用してくれればなと思い、ちょこちょこっと作りました。OR検索はできません。ワンキーワードだけの検索ですが、役に立つかなと。

じぶんは重複した(似たような)質問には答えなくて良いかなと思います。なお、質問箱のデータは手動で登録しました。いちぶブログラムでデータを抜き取りましたが、未回答は完璧な手動での登録です…。

ちなみにこういう仕様のサービスは1時間もなく出来上がります、とても簡単なので・・・。ウェブサイトのサービスって基本的に簡単なので長年やっていると飽きます。とくに簡単なものはコードを書くのが面倒くさくなってなんでこんな簡単なコードを書かなくてはならないのかと思ってしまうことも過去に何度かありました。なので汎用性のあるコードを構えておいてコピペで使えるものを構えておくと良いですよ。長年、プログラムをやっていると飽きますね。

URLはこちら
https://zip358.com/QuestionTXT/

タグ

, data, OR, url, いち, ウェブ, キーワード, グラム, コード, こちら, こと, コピペ, サービス, サイト, じぶん, ちょこ, データ, プロ, プログラム, もの, ワン, , 仕様, 何度か, 使用, 回答, 完璧, , 手動, , 検索, 汎用性, 登録, 簡単, 質問, 過去, 重複, 長年,

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

2020.08.25

Logging

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

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

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

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

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

タグ

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

駄目だなと思うこと。

2020.08.10

Logging

cloudworksやLancersはもうお仕事としては駄目だなと感じる。
お小遣い稼ぎに使うか、依頼用の決済処理として使うかぐらいのものでこれで生計をたてていくのは非情に厳しい。ここ数ヶ月でおそらくフリーランスの人々や副業するユーザーがかなり増えたと感じます。

前より1件の案件に対して、数十件の募集が付くようになりこれでは選ばれるのは至難だと感じるようになってきた。こんなでは駄目だと思い、クラウドワークスやランサーズは自動化して確率の低い案件だけに応募するシステムを作ろうと思っています。

飽和状態の市場では価格の下落が始まる・・・いま、簡単なものはノーコードで開発できるようになってきていて、今からプログラマー目指している子供や青年たちがおとなになる頃には、それほどプログラマーの人材は必要とされていない気がします。

それよりか、これからは英語が話せるグローバルな人材が求められると思っていてそういう人材が重宝されると、中小企業などにもこれからはグローバルな人材が必要とされるようになるから、そちらを目指したほうが良いと思っています。逆にプログラマーは今は需要高いけど今後は必要とされない。

サブスクやノーコードなどのサービスで本当は完結できることが殆どです。いまの中小企業の権限を持っている人はまだそういう事を知らない人や地元のIT企業との繋がりでそのサービスを使っている会社が多いけど、世代交代すれば徐々にサブスク型のサービスやノーコードを使用して自社の業務を効率化していく企業は増えていくので、プログラマーはそれほどいらない。

タグ

, cloudworks, Lancers, いま, オトナ, お仕事, お小遣い, かなり, クラウド, グローバル, コード, ここ, こと, これ, システム, それ, ノー, フリー, プログラマー, もの, ユーザー, ランサーズ, ランス, ワークス, 下落, 中小企業, 人々, 人材, , 依頼, 価格, 処理, , 副業, 募集, 子供, 市場, 必要, 応募, , 数十, 案件, , 決済, 状態, 生計, 確率, 簡単, 自動, 至難, 英語, 重宝, 開発, 青年, 非情, , 飽和, 駄目,

良いのかこれでと思ってしまう、小心者。

2020.07.25

Logging

クラウドでお仕事をした、支払い完了はまだだけど、納品はしている状態です。あまりにも納品ファイルのコードが行数が少ないので、ソースコードみたら絶句するかもしれないなとは思いますが、条件は満たしているので文句は言えないじゃないかなと思ってしまう。某YOUTUBEさんなどはメンバーシップで月千円以上で動画流しているけど、あんなもので客が集まるわけだから、世の中不思議なものですね。それに比べればマシなのかも。

因みに本日、レギュラーからブロンズランクに昇格しました!、これでお金が来月入っていたら良いのですがね。支払いがなかったらどうなるのだろうか?ちょっとオロオロしてしまうかも?

自分は今回の案件を最低の金額で応募しました、他の人はもっとボッタクっていたのかな?皆、実績いっぱい取っているひとが多かったけど、自分は実績0件です、今回の案件が支払い完了までいけば実績1件になると思います。

もっと案件を取って安定の収入を得れればと思います、今回の案件の相場ってこれでいいのかな?本当はもっと高くて良いのかもしれないと思いました。

タグ

0, , youtube, いっぱい, お仕事, お金, クラウド, コード, これ, ソース, それ, ひと, ファイル, ブロンズ, ボッタク, まし, メンバーシップ, もの, ランク, レギュラー, わけ, 不思議, , , , 今回, , 動画, , 収入, 安定, 完了, 実績, , 小心者, 応募, 文句, 昇格, 最低, , 本日, 条件, 来月, , 案件, 状態, , 納品, 絶句, 自分, 行数, 金額,

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

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

英語を話したい人、必見!YOUTUBER、ATSUさん。

2020.07.07

Logging

【英単語暗記法】20000語を覚えるための方法

英語を話したい人、必見!YOUTUBER(ユーチューバー)、ATSUさんを紹介します。動画見ていただければ分かる通り、毎日、反復して声に出して覚えることにより嫌でも覚える。そうだよな、世界で結構難しい日本語を使いこなせているのに何故か英語に拒否感を持つ人の多いこと、多いこと。

特にいまの30代から上の人は話す英語というより覚える英語ということで受験等を乗り切ってきたと思います。でも殆どのひとは覚えていないですよね、自分なんて英語は不得意分野から未だに抜け出せないでいます。ですがIT業界では英語は大事です、数学も大事ですが英語も結構大事な分野です。それは何故か、変数名やクラス名の名前付けするときに大事になりますし、人のコードを読むときにも大事になります。なので数学がわからずとも英語は分からないはあまりよろしくないです。

自分でゴニョゴニョとコードを書くのでは困りませんが、チームでなにか開発を行うときは英語が身についていないと困ります。なので英語がわからない人は日々、英語を勉強することからはじめた方が良いです。因みに自分も英語を勉強していますが、なかなか身につかないなと思っていた時にATSUさんの動画見てそうだよなと思いました。

そして違う言語を覚えるには効率の良い方法で何回も何回も頭に叩き入れないと駄目だなと感じます。好きこそものの上手なれですが、好きじゃない場合はそれを毎日毎日続ける努力が必要かなと思いました。

なにかスキルをプラス1する場合は努力が必要かなと、最後にYOUTUBEチャンネル登録はこちらです。
https://www.youtube.com/user/fzsdjbncf2000/about

タグ

-XBVCE, 0, 30, ATSU, com, https, IT, UlCz, watch, www, youtube, YOUTUBER, いま, クラス, コード, こと, それ, とき, ひと, ユーチューバー, , 不得意, 世界, , 分野, 動画, 反復, 受験, 名前, , 変数, 大事, 必見, 拒否感, 数学, 日本語, 未だ, 業界, 殆ど, 毎日, 紹介, 自分, 英語, 通り,

QiitaのTシャツが欲しい。

2020.06.30

Logging

QiitaのTシャツが欲しい。因みにこれが一番、欲しいやつです!!

Qiitaは、最近ユーザー置き去り事件がありユーザーが一時期減少しました。自分にはよくわからないですが、流れで解約したひとも中にはいるでは無いかな。その時、自分も解約しようかなと思ったのですがQiitaはよく見ているしなと思いとどまったタチです。

Qiitaは日本でよく使われているだけで海外認知はあまりなく、使われてはないと思うのですが、これからもユーザーは増えていくとは思っています。Qiitaの良いところは質問形式ではないところ、どっちかというとプログラムのおすそ分けみたいなサービスだと思います。

話が飛びますが、デジタルなサービスは徐々にゼロに近づいていくと思っています。殆どのサービスはいずれフリーで使用できる時代が来るはずです。今世紀中には無理だと思いますが・・・、いずれはそうなるということです。何故ならプログラムコード(ソース)をオープンに提供する人々がいるからです。今でも無料でサービスを提供して一部の人から寄付をもらって開発をしている人がいます。システムがよければ寄付だけで生活していけるということは今でも成り立っている話です。そして無料でサービスを提供するというのはサービスの広がりが速いです。なのでこういう事が長い年月をかけて蓄積することでオープンソースのサービスは増えていくことになり、最終的には殆どのサービスが無料で使用できる時代が来るという考えです。

タグ

qiita, いずれ, おすそ分け, コード, こと, これ, サービス, しな, シャツ, ゼロ, ソース, タチ, デジタル, ところ, どっち, パス, ひと, フリー, プログラム, やつ, ユーザー, 一時期, , 事件, 今世, 使用, 引用, 形式, 日本, , 時代, 最近, 殆ど, 海外, 減少, 紀中, 置き去り, 自分, 解約, , 認知, 質問,

数値を日本語桁数の読み方に変換するWEBサービスを作りました。

2020.06.20

Logging

数値を日本語桁数の読み方に変換するWEBサービスを作りました。リンクは下記になります。何故、作ったのか?、検索すると同じようなサービスがありましたが、リアルタイムに数値を漢字に変換してくれないので自分でリアルタイムで検索できるものを作った次第です、コードはあまりキレイではないし改良できる部分はあります、Qiitaなどに公開しないので良いかと思い変数の命名も適当な感じです。

https://zip358.com/tool/ketayomi/ (?リンク先には数字の読み方 表もあります)

直でリンクに飛んでもらうのも良いですし、無料サービスから試していただくのもありです。これも無料サービスの一環として作りました。それなりに使えるじゃないかなと思ったりしています?。数値を日本語全漢字にするロジックを考えたとき、面倒くさいなと思ったので、、、データとして持つことにしました。

こういうのあまり使う人がいないけど、使う人は仕事などで使用する可能性があるかなとか思ったりしています。こういうニッチなサービスを無料サービスとして公開していけば数撃ちゃ当たるじゃないかと思います。今回の数値を日本語桁数漢字にするサービスは単純なものなので誰でもプログラマーなら出来る範囲だと思います。駆け出しプログラマー、エンジニアでも作れる品物ではないかと…。

次回はもっといろいろな人が使うお手軽サービスを作りたいですね。シェアして頂けると幸いです。

タグ

qiita, エンジニア, コード, プログラマー, リアルタイム, ロジック, 一環, 命名, 品物, 変数, 手軽サービス, 数値, 数字, 日本語桁数, 日本語桁数漢字, 次回, 漢字, 範囲, , 駆け出しプログラマー,

わざわざ対策した、これでも。

2020.06.18

Logging

非同期通信する部分にデータ投げてアクセスカウンターをわざわざ増やしてくれる人がいたので、わざわざ対策した、これでも抜けてくるようだと違法な領域かと思います。
わざわざ対策しないといけないというのが、自分としては変だなと思うところ。
何故、そこまでするのか・・・。
意味がわからないが…。

そもそもあんぽんたんな自分に関わっても意味がないのではと思っている。トイレで目が覚めてアレ、アクセスが増えていると思って・・・。

一時間ばかり、ぼーけーってして10分ぐらい、対策用のコードを書いてバグとりして、まぁネタになるので今、ブログを書いています。

話全然変わるけど、Twitterで音声投稿が可能になるだってさってのをタイムラインで見てすぐにRTしました。

実装されたら面白そうだけど、いろいろと問題も出てきそうだと思います。デジタルツールってそういう所がありますよね。

ちなみに話戻して、ページを切り替えるとアクセスカウンターは増えます。その対応は出来ますがしません。どうぞアクセスカウンターを増やしてください。SEO的にもとても有り難いことなので・・・。

アクセスカウンターが増えて得することはあるけど、損することはないじゃないかと思います。初めて訪問されるユーザーにとってはアクセス数が多いページは信頼されやすいです。仕様的にはアクセスカウンター増えやすい仕様にあえてしてますよ。

数字マジック、数の印象は大体あると思います。客が並んでいるお店はもしかしたら美味しいかもと思い込むのと同じです。

タグ

10, rt, Twitter, アクセス, アクセスカウンター, アレ, あんぽんたん, いろいろ, コード, これ, そこ, タイムライン, ツール, データ, デジタル, トイレ, ところ, ネタ, バグ, ブログ, ページ, わざわざ, , , , 可能, 同期, 問題, , 実装, 対策, 意味, , 投稿, , 自分, , 通信, 違法, 部分, 音声, 領域,

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

bitflyer.comでAPI使ってみたよ、遅っいぞ。

2020.06.05

Logging

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を使用した動画を貼っときます。

bitflyerAPI_PHPcode

なお、よく読んだほうが良いAPI Documentation

bitFlyer Lightning では、HTTP API と Realtime API の 2 種類の API を提供しています。

尚、ビットコイン高くて買えないので、ビットコインの売買したい知人は格安で自動売買のシステム作りますよ。

タグ

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

Logging

kabu.com APIする前にビットフライヤーライトニングで頑張ってみるのが良いかも、自動売買のはなしです。そんなに単純なものではないとは思うものの、プログラミング書けばある一定の利益を得ることができそうな気がするので近々、じぶんもAPIを使用してプログラミングしてみます。上手く動作してもコードを公開することはないとは思います。ただしコードの仕組みなどは公開するかもしれません。もしくはコードの一部分とかは公開すると思います。

18.仮想通貨自動売買プログラムを作る(5) | TypeScript入門講座

ちなみに動画で仮想通貨自動売買の方法をレクチャーしているサイトがあります、世の中、、、どうなっていくのだろうかと思ってしまう。仮想通貨自動売買で上手く利益を得ることが出来たらkubu.com APIを使用して取引を使用と思ってます、収入がないと来月からマイナスになる一方なので。手当り次第、収入に繋がるものは手を動かしてトライしていきます。

追記1:kubu.com APIは個人は駄目だそうです、ビットコインの方は高くて買えないのでロジックだけ作りました。

おそらくシンプルなコードでもずっと動作させていれば収益化できるはずです、但しそのコードを改善させようとしてコードを書き換えたりすると逆に損するような気がしますね。そんな事もあるのか、APIは複数申請が可能みたいです。

映画『ハミングバード・プロジェクト 0.001秒の男たち』予告編

なお、映画ハミングバード・プロジェクトにも取り上げられているけど、取引には処理速度はかなり大事なような気がします。

追記2:
ビットコインの価格が高いので断念しました?詳しくは下記参照。

https://zip358.com/?p=9310

タグ

API, com, kabu, kubu, コード, こと, サイト, じぶん, トライ, はなし, ヒット, フライヤー, プログラミング, もの, ライトニング, レクチャー, 一定, 一方, 一部分, , , 仮想, 使用, 公開, 利益, , 動作, 動画, 単純, 収入, 取引, 売買, , 方法, 来月, , 自動, 通貨,

JavaScriptを再勉強しているのだが、ある疑惑が!?

2020.06.03

Logging

JavaScriptを再勉強しているのだが、ある疑惑が生まれた。それはjqueryで良いじゃねぇという疑惑。自分はjsよりjqueryの方が使いやすく感じる。まぁいまの所なのかもしれないが・・・使いやすいですね。

jqueryはいろいろなブラウザ上で動くことをサポートしてくれるライブラリとして普及したのだけど、IEが消滅時効状態のいまではシェア率は下がっていてネイティブJSが良いじゃねぇという動きですが・・・。いやいやjqueryの方が楽だしコードはあまり書かなくて良い。特にイベント処理時のデータの複数受け渡しでは、今の所、JavaScriptよりjqueryの方が楽だと思います。

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

あと非同期通信とかもね。ajaxで良いじゃねぇとか思いますよ。
最後に動画のJSコードを載せときますね。

document.getElementById("my-textarea").addEventListener("input",()=>{
	document.getElementById("view").innerText = document.getElementById("my-textarea").value;
});

タグ

addEv, ajax, document, getElementById, IE, javascript, jquery, JS, my-textarea, quot, イベント, いま, いやいや, いろいろ, コード, こと, サポート, シェア, それ, データ, ネイティブ, ブラウザ, ライブラリ, , 処理, 勉強, 動画, 同期, , , 時効, 普及, 最後, 消滅, 状態, 疑惑, 自分, 複数, 通信,

js初心者さんのお勉強:思いつき写経。

2020.06.01

Logging

js初心者さんのお勉強をvlogとして昨日撮りました。もっと簡略化できることはあるのだが、敢えてやらない自分がいます。自分のモットーに初心者さんでもわかるコードをという考えがあります。初心者さんに分かりやすいと言うことは馬鹿な自分にも分かりやすいという事です。ぱっと見て読みやすければ良いという事です。javascriptを本当に1から勉強中なんですね。本当に右も左も分からないのでググりながらお勉強しています。知らないと言ってもプログラミングの基本は知っているのでJS用の書き方やお作法を覚えているというような感じです。

https://www.youtube.com/watch?v=9q6gd5FDelQ

ソースコードはこちら

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/

タグ

, 2, btn, Clear, console, document, function, getElementsByTagName, javascript, JS, let, log, quot, Vlog, お勉強, コード, こちら, こと, ソース, プログラミング, モットー, , 作法, 写経, 初心者, 勉強, , 基本, , 思いつき, 感じ, 昨日, 書き方, 本当, , 簡略, 自分, 馬鹿,

明日へ続く愚痴。

2020.05.28

Logging

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

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

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

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

明日に続く。

タグ

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