javascriptとは何か??
HTMLとセットでよく出てくるjavascriptとは一体何なのか?
HTMLは静的画面
HTMLとは、「HTMLはWEBページを作るための言語です。」と以前紹介しましたが、javascriptを理解するために、踏み込んだ言葉にすると「HTMLはWEBページの静的な画面を作る言語です。」になります。
静的な(=動かない)画面(=タイトルやテーブルなど)を作ります。
javascriptは動的画面
javascriptとは、HTMLと対象的に「javascriptはWEBページの動的な画面を作る言語です。」になります。(JAVAとは全くの別物です)WEB上で画面がリロードもしていないのに動いていたりするかと思いますが、大体がjavascriptが関係しているかと思います。
動的な(=動く)画面(=時計やアニメーション画像など)を作ります。
WEB画面は人と同じ!?
WEB画面は、人の身体に似ていると私は思っています。
HTMLは「骨」で、javascriptは「筋肉」で考えると少し分かりやすいのかと思います。
骨は単体では動きませんが、筋肉があることで動くことができます。WEB画面も同様で、HTML単体では動きませんが、javascriptを入れることで動くことができます。
それに筋肉があるとカッコよく見えたり、健康的だったり素敵に見えたりしますよね!? HTMLの中にjavascriptを入れてユーザーに親切な画面にすることで見ている人が「使いやすい!素敵!!」って思えるかと思います。(その割に私のページは、何もしていなくてすいません...)
まとめ
javascriptは優秀なので、様々なプラグインなどを使用してデータを動的に持ってこれたりもします。ただ、初めの理解としては「javascriptはWEBページの動的な画面を作る言語」ということを理解していただければ十分かと思います。
電車の速さを求めてみました!!
突然「電車はどれくらいのスピードで走っているのか!?」気になったため、調べてみました。
鉄道運転規則について
日本の鉄道運転規則によると、列車に非常ブレーキがかかってから600m以内に停止させる必要があるとのことです。
(ex.空走距離(ブレーキが効き始めるまでの距離)+制動距離(効き始めてから止まるまでの距離)=停止距離)
非常用減速度から逆算
非常用減速度は、おおよそ4.0km/h/sになります。
→1秒に時速4.0km(速度)減速すること示します。
この事を[き・は・じ](小中学生で習う速さ計算)で考えると
ⅹ:実際の速さ
ⅹ (km/h) / 4.0(km/h/s)= ⅹ/4.0(s)になります。
→時速ⅹ(km)の速度から停止するまでにかかる時間(秒)を示します。
後々の速度計算をするときに単位がバラバラになってしまうので、秒を時間に直したいと思います。
ⅹ/4.0(s)/3600になります。
→時速ⅹ(km)の速度から停止するまでにかかる時間を示します。
実際の速さⅹですが、ブレーキが効き始めてから止まるまでは速度が徐々に遅くなり変化しますので、効き始めてからの平均速度は、ⅹ/2とします。
ブレーキが効き始めてからの距離は、ⅹ/4.0(s)/3600×ⅹ/2(km/h)になります。
鉄道運転規則の距離600m(0.6km)を代入してみると
ⅹ/4.0(s)/3600×ⅹ/2(km/h)=0.6(km)になります。
少しづつ整理すると、
ⅹ/14400×ⅹ/2=0.6
ⅹ^2/28800=0.6 (^2は2乗(ⅹ×ⅹ)を示します)
ⅹ^2=0.6×28800
ⅹ^2=17280
ⅹ=131.45(km/h)
そのため、鉄道運転規則の列車に非常ブレーキがかかってから600m以内に停止させる必要があるから導き出せるMAX制限速度は、『131.45(km/h)』になります。
(※空走距離は考慮していないため、現実はもう少し遅くなります)
まとめ
鉄道の制限速度は、約130(km/h)ですが、実際は100~120(km/h)前後の速度で走っているようです。もちろん山手線などの駅間の距離が短い鉄道はもっと遅いです。
以上、何にも役に立たない知識でした。
クラウドとは何か??
ふわふわ雲のような名前のクラウドとは一体何なのか!?
クラウドとは
会社のシステムやHP(ホームページ)は、サーバーと呼ばれる機械の上で動いています。(サーバーがよくわからないって方は、パソコンをイメージしていただければ大丈夫です)
システムが使えなくなったりすると困りますし、HPなのに見えない時間帯があると困るので24時間電源を入れておかないといけません。また、色々な仕事(処理)をさせると熱を持ったりもします。熱は故障の原因になるため、クーラーがガンガンの部屋に置いておかないといけません。故障や不具合の度にメーカーに問い合わせを行ったり、メンテナンスを行い維持していかないといけません。
結構お金もかかりますし、手間で面倒なんです!!
クラウドサービスとは
そこで登場するのがクラウド(クラウドサービス)です。
クラウドサービスとは、これらの面倒な管理をすることなく、必要な時に必要な分(リソース)だけサーバーを使用することができるサービスのことを言います。
今話題のAWS(Amazon Web Service)も同じです。
クラウドとレンタルサーバーの違い
ちなみにクラウドサービスに似たレンタルサーバー(ロリポップなど)がありますが、
両者の違いは、サーバー(仮想OS)ごと使用できるか、サーバー内のユーザー単位で使用できるかの違いです。
もっと簡単に言うと、PCを丸々借りれるのがクラウドでPC内の1ユーザーを借りれるのがレンタルサーバーになります。そのため、レンタルサーバーだと機械学習などの負荷のかかる処理は、同じPC内に乗っている他にユーザーに迷惑がかかるため制限されています。(numpyなど使用できません)
HTMLとは何か??
HTMLって言葉よく耳するかと思いますが、まだよくわからないよって方のために簡単に紹介したいと思います。(RPAもHTMLを知らないと少し難しいと感じるかと思います)
HTMLとは
HTMLとはWEBページを作るための言語です。(インターネットで見ているページ全て)GoogleやYahoo!のトップページもHTMLで作られています。
Windowsを使用している方は、GoogleやYahoo!のトップページで「F12」を押してみてください。(知っていると便利なショートカットキーです)右側に出ている~がhtmlで記載されたものになります。
HTMLファイル作成方法
HTMLは特別な環境を用意せずに気軽に作成することができます。試しに「メモ帳」を開いて、 下記の3行をコピーして貼り付けてください。
<html> <p>HTMLテスト</p> </html>
その後、「名前を付けて保存」をして「.txt」の部分を「.html」に変更してください。
作成完了後、ファイルをダブルクリックして実行するとWEBページを開くことができます。
まとめ
もう一度言いますが、HTMLはWEBページを作るための言語です。特別な環境を準備する必要がなくトライアンドエラーが容易で扱いやすい言語になります。
RPA(Robotic Process Automation)とは何か!?
近年、急速に需要が高まり、中小企業から大手企業まで導入の検討を考えられている「RPA」とは一体何なのか!?
RPAとは
RPAとは、Robotic Process Automationの略です。
訳)ロボット、処理、自動操作
つまり、「ロボットが処理を自動操作してくれる」ツールのことを言います。いわゆる業務自動化ツールです。
ここまでの説明だとエンジニアの方は、「処理の自動化なんてプログラムで出来るじゃん!!」と思われるかと思います。(→全然出来ます)「RPA要らないんじゃないか!?」と思われがちですが、そんなに簡単にプログラムを作れる方は、そんなに多くいません。
RPAの強み
RPAの1番の強みは、誰でも簡単に業務を自動化出来ることです。実際に業務を行っている詳しい人(非エンジニア)が自動化出来るってすごいことだと思いませんか?
外部やエンジニアの人にプログラムやシステムの作成依頼する場合、要件を詳細にヒアリングされた上でコストや工数なども考えなくてはいけません。また、エンジニアを育てるにしても人件費諸々でかなりのコストが見込まれます。それなら、RPAツールを使用して、業務に詳しい人がちょろちょろっと作ってしまう方が何倍も効率が良いです。
なので、近年RPAの需要がかなり高まってきています。(AI-OCR技術との連携なども背景にありますが、そちらは追々紹介します)
【人口知能】最短で学ぶAI勉強方法「初心者は本を買うだけ無駄!!」
AIを「勉強してみたい」「作ってみたい」という方のために、
私が実際に効果があったAIの勉強方法を紹介します。
初めに言っておきますが、
「初心者は本を買うだけ無駄!!」
おそらくこの記事を読まれている方は、AIを学びたいけど専門書などで挫折した方が多数かと思います。(線形代数などの理解がある方は本で深く理解した方がいいかもしれません)
私は、理系の大学出身ですが、先のことなど考えずに「単位取れればOK」と思い過ごしていたため、線形代数など微分や式変形はろくに覚えていません。
なので、もちろん私も専門書を何冊か買い挫折を経験しました。(1冊も読破していません)
得られたのは、専門書を広げて勉強してる満足感と自分には向いていないという絶望感です。
重要なのでもう一度言います。
「初心者は本を買うだけ無駄!!」
(無駄と言うと語弊がありますが、初心者には効率良くないです)
最短で学ぶAI勉強方法
本の他に考えられる勉強方法は、「セミナー」かと思います。
ただ、主に東京で主催されているセミナーは数万円など高いです。無料セミナーで得られるのは、製品の紹介などばかりです。
ならどうするのか!!?
セミナーではありますが「オンラインセミナー」を活用します。
オンラインセミナー中でもAIについての講座が多数ある「Udemy」をお勧めします。
実際は、Udemyにある講座が優秀すぎて他のオンラインセミナーは知りません。
Udemyは1度購入したセミナーは何度でも見れます。さらに『質問もできます』。
1度動画を見たただけは、理解は無理です。動画を見ながらノートを取ったり、実際にプログラミングをしたりしてテープが擦り切れるまで見てください。
私は、3~4周ぐらいしました。
Udemyで優秀なAI講座紹介
Udemyにある最短でAIへの理解が深まるAI講座を紹介していきます。
★☆☆☆☆(LEVEL1)
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
内容は、統計学の入り口の「回帰分析」です。
AIによる製品(画像認識や音声認識など)がどの手法を用いられてるのか、機械学習の位置づけなども学ぶことができます。
【キカガク流】は微分や式変形などがとても分かりやすく丁寧に説明されていて、資料も見やすいためすごくオススメです。
あまり数学が得意でない方にもオススメできます。
★★☆☆☆(LEVEL2)
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 -
内容は、回帰分析の次に位置する「重回帰分析」です。
初級編同様に説明がとても丁寧で分かりやすいので、オススメです。
★★★☆☆(LEVEL3)
【NumPy・Python3で】ゼロから作るニューラルネットワーク(バックプロップを徹底マスター)
内容は、「ニューラルネットワーク」です。
ニューラルネットワークは、人間の脳をイメージした手法でありディープラーニングの簡易版のようなものです。
単層パーセプトロンまでの説明はしっかりされていますが、多層パーセプトロンの説明は結構省略されている正直説明不足でした。
ただ、ニューラルネットワークの構造を理解する意味でオススメできます。
ここまで学べば簡単なデータ予測ができるようになります。
Pythonも少しずつ理解できたところで自分でデータを用意してデータ予測を行い、AIを楽しんでみてください。
★★★☆☆(LEVEL3)
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
内容は、前回同様の「ニューラルネットワーク」です。
上記ではなかったライブラリのscikit-learnも使用するため、復習も兼ねてより理解が深めるとともに株価のデータ予測も学べ楽しめる講座です。
まとめ
これらを網羅すれば基礎が固まってきたかと思います。
まだまだ色々なオススメできる講座がたくさんありますが、色々紹介しても結局は何から見るべきなのかわからなくなってしまうため、初めに見て理解を深めるべき講座のみを紹介しました。
理解が深まったら是非興味を持った他の講座を受けていただければと思います。
AIの講座以外にも、色々な講座があるので是非Udemyを有効活用してください。
何度も言いますが、かなり優秀な講座が多数あります。
※頻繁に(かなりの頻度で)セールを行っているため、定価(数万円)ではなく1200(最安値)~1400円の時に購入することをオススメします。