始めてまともなアプリ作りました所感

Javaからandroidの勉強に移って、androidがおもしろいなと思ってこれを仕事にできたら幸せなんだろうなと思いながら勉強に勤しんでいます。

javaの勉強は1か月程度、androidの勉強は2週間程度でようやくアプリらしいアプリを作ったので、どこかでアップしたいのですが、まだそのやり方がよくわかっていません。

 

所詮は、素人、初心者が作ったものなので、ニーズがあるとも思えないし、ダウンロードしてもらえるかも疑問が残りますが、作ったものに対する喜びがあります。それが自分にとっての一番の収穫だなと今回思いました。

 

作ってみると、広告を張り付けたり、課金に結び付けたり、収入の糸口が広がることを想像できるようになり、やってみるもんだなと思いました。これをスマホ黎明期に取り組んでいたらきっと億万長者になっていたに違いないと、想像力だけは一人前です。

次にやることは、githubに掲載したり、google playにアップロードするとかそのあたりでしょうか。

 

作ったアプリはそんなたいしたものではなく、ただの割り勘アプリです。数年前、まだ自作アプリがメジャーになり始めた頃でしょうか。テレビで見かけたことがあって、自分でも作ってみました。コード量もそれほど多くはないですが、作ってみると実装に必要なあれこれ知識が必要とわかって、それが次のモチベーションにつながっていくのがわかって楽しいですね。コードはある程度書けるようになったけど、デザインがしょぼいので、デザインマテリアルの講座を受講し始めたりとかそんなんでしょうか。androidiphoneに比べてデザイン面で見劣りがするという話を聞きますが、また機会があれば調べてみたいと思います。

 

1日1アプリ作る予定が、2日目で順調に行ってないです。今日はAWS必死にお勉強。

センサー系を使った筋トレアプリなんかも作ってみたいなと思っています。

 

そんなこんなで、そろそろ就職しないといけない時期なので、ポートフォリオ作成したりそんな毎日です。

そういえば、8月29日までudemyセールですよ!がんばっていきまっしょい

win コマンドプロンプトって初期設定じゃssh使えないんだってじっちゃが言ってた

理由はよくわからない。セキュリティ上、使うことに敷居を上げることにしたのか。

 

さて、windowssshを使う方法

これをやると、コマンドプロンプトでもpower shellでもsshが使えるようになります。

 

あらかたここを見てやりました。

https://www.eaton-daitron.jp/techblog/4627.html

 

1.opensshというソフトウェアをgitからダウンロード、無料です

https://github.com/PowerShell/Win32-OpenSSH/releases

 

2.OSに応じたファイルを解凍。

3.パスを通す

コンパネ>システムとセキュリティ>システム

左側のシステムの詳細設定>(ボタン)環境変数>(下段)システム環境変数>(リスト項目のうち)Path を選び、編集 >新規 >opensshのパスをコピペ

(わかりやすく)

opensshを解凍したファイルディレクトリをコピペ。

コピペ方法は、OpenSSH-Win64(私の場合)フォルダを開いた状態で、ファイル一群の上にあるパンくずの一番左側にあるフォルダのアイコンをクリックすると、

たとえば、Cドライブ直下に置いたとき「C:\OpenSSH-Win64」と表示されるはずです。これをコピペ

 

4.OKを押して終わり。

 

コマンドプロンプトを開いて、sshと入力したら、次のプロンプトが何も表示されていなければ起動成功です。

 

 

ゼロから実践するAmazon Web Service。手を動かしながらインフラの基礎を習得

というudemyの講座を受講中なんですが、苦手意識の強いインフラ界隈の知識をわかりやすく説明してくれます。成果物としては、AWSを使ってワードプレスを設置するという実用重視なコンテンツ内容なので、やりきるまで力が入ります。

LPICを少し勉強したり、ネットワークをかじったりした程度の知識しかないですが、わからない単語が津波のように押し寄せてくるとやっぱり気持ちしんどいところはありますが、AWSの操作自体は難しいことはほとんどありません。AWSを使ってサーバ構築するのがこんなに楽なんだとよくわかりますので、お薦め講座です。

windows使いなので、この部分だけ説明がなかったので大変でした。macだと標準でアクセスできるみたいですね。

ゼロから実践するAmazon Web Service。手を動かしながらインフラの基礎を習得

 

 

 

6月版 気になったIT関連ニュース

際立った活動ではないものの、就職活動をしてました。ちょっと変わった会社で、技術者中心の会社で、あまり詳細は言えませんが変わった(経歴の)人を採用していることも多いそうな。そんな会社の二次面接。当初は年齢的にもスキル的にもほぼ不可能だろうと思っていたところ、感触はよい感じになってきて、もしかして入れるのかな?と思っております。まぁダメならダメで次いくだけですけどね。

給料は天井なしで、おそらく担当はSE。技術はある会社(らしい?)ので、強みを発揮するための採用としては私の場合は年齢的な理由、経歴的な理由でSEとして考えていくといった話の流れになりました。

 

それはさておき、気になったニュースでもまとめておこうと思います。IT関連のニュースはツイッターで勝手に目に入るような感じで収集していますが、時代の変遷を記録しておくのも悪くはないと思います。

特にそれを感じたのが、nanapiの更新停止のニュース。私は直接お世話になったことはあまりありませんでしたが、更新停止するということは外部環境の変化などからサイト運営に旨みがなくなってしまったのかもしれません。

 

ハウツー情報サイト「nanapi」、6月末で更新終了 「成長戦略と合致しない」

(IT media NEWS)

https://www.itmedia.co.jp/news/articles/1906/20/news094.html

 

 

続いて、PoCの話題。PoCとは私もこのニュースが流れてくるまで知りませんでしたが、概念実証のこと。AI業界では、AIを用いていかにしてビジネスを優位に進めるかを日進月歩で検証中ですが、実運用に耐えるシステムを構築するにはコストがかかります。そのコストも安くはありません。

発注側はコストを抑えるためにAIテック企業に発注するわけですが、AIテック企業はこのPoC(概念実証)を行い、企業に活用してもらうことになります。ただビジネス運用に至らないことも多き、実のない結末を迎えることになってしまい、AI全体にマイナス影響を与えてしまいかねないといった話です。

AIの利用は実際にビジネスの局面で使用するのは難しいと言われ続けていましたが、その状況はまだ変わっていない様子です。

 

PoC貧乏とは

(@IT)

https://www.atmarkit.co.jp/ait/articles/1906/21/news020.html

 

 

 

ITとはちょっと関係ないですが、英国人2万人を対象にした研究。

 

週に2時間、自然の中で過ごすだけで心身ともに健康になる(英研究)

(カラパイア)

http://karapaia.com/archives/52275769.html

 

その他、ざっくりツイッターコピペ

 

人工知能学会

 

セールスフォース、Tableau Softwareを買収へ--約1.7兆円

(ZD net)

https://japan.zdnet.com/article/35138275/

 

 

 

 

 

 

 

1年半ぶりに更新 恥を晒して生きる道【現状ポンコツ級エンジニア】

ちょっと気を抜いたらこれだ・・・。

前回の記事がML受講に関する記事でそれ以降何も書いていないという体たらくを打破するために、勉強日記でもつけてみようかと画策しております。

 

「ブログで発信!」なんて気負いするから書かないという無限ループから逃れることができるかできないかは、今後の執筆状態を見ていれば判明することだと思うので、ここではこれ以上のことを言及しません。

ほぼ体裁などは考えず、思考垂れ流しを想定しています。

 

長い前置きですね。

 

勉強状態と現在の状態

初学者の見れば踏み台にできると思います。晒し首どうぞ

 

現在の状態はざっくり、勉強中 && 求職中

 

スペック:LPIC lv1の半分終え、試験待ち(ちょっと期間空いたので、1weekほど再学習)とっととlv1ぐらいは取りたい。

全範囲猛勉強中:python(Django),php(laravel),Java,javascriptなど。

目についたものはとにかく触れてみる。

中途半端が多い。半端は織り込み済み。

業界や勉強内についてよくわかるようになってきた。この3か月ぐらい。

全体から細部に入るというアプローチがワークしそうなので、何をどれだけ勉強するかはその都度考えていきたい。

 

モチベーションコントロールで以前結構な失敗をしているので、考慮している点が、

 

事前に計画してもうまくいかない

計画立案時間が無駄になる繰り返し

やる気をなくす

 

こうならないように、反転させました

 

やる気をなくさないためには

計画を失敗させないように、計画そのものを立てない(立てろよ) 

気になるものを全て調べ、新しいものをどんどん頭に流し込む(ほんとはめちゃ効率悪いぞ)

何も獲得できない(やっぱりダメじゃん)

 

独学におけるプログラミング学習でわかりづらいのは、独学者ならみんな同じ経験をしていると思いますが、文法を学習したところで、その文法の使いどころがわからない or イメージしづらいといったところだと思います。ネットでわかりやすい事例集などあればいいのですが、ドットインストールでもそういう講座は少しあるのですが、自分のレベルに適正があるかなど、思った条件のものがあるとは限りません。なので、レベルの高低に関わらず(ほんとは「サルでもできる」ぐらいからがいいのですが)、できそうなものに触れるととにかくトライし、わかったつもりになって次へいくというスタイルでやってます。情報も主にツイッターがほとんどですが、たとえば、言語習得はどういうものを目指すべきかなどの情報や言語の人気・収入ランキング、kentaさんのyoutubeとか見たりするわけですね。情報にはポジショントークが混じることが多いので、誰が言ってる内容が正しいのかよりも、いろんな人の情報を総合的に捉えながら自分の方向性を模索していくという感じでやっています。

 

Javaは企業で使用されるケースが非常に多く、pythonやgoなどモダンな言語は人気こそ出てはきているものの、初心者が押さえておく言語としては安定感があって(求人も多い)、それに加えていく感じがいいと思いました。もっとも、今はそこまでJavaやってないのですが。あは。

 

pythonphp,javascript周りをやってます。スクリプト言語ばっかじゃん。

 

 

気になったものをとにかくさらっとトライしてみて、webツールや知識に触れることでキャッチアップのモチベーションになるのではないかという推論で動いています。よくない点は、ポートフォリオがないこと。そのうちなんとかなる。

 

その他にも、ラズパイ上にサーバ構築、メールサーバー構築など、apache,bind9,postfix,もろもろ扱いました。nginxとかやってみたいですね。

AWSもcloud9で仮想開発環境できるらしく。私は最近AtomからVSCodeに乗り換えたクチで、スニペット、emmetなんだこの便利おツールはぁぁ?と発狂してるところで、目移りするかどうかは今後の課題。ただ、VScodeでもクラウド直結してほしいと思っていたので、直接クラウド上で開発環境があるとは、もうそういう時代なのかなと思っています。adobeなんかはほぼクラウド管理じゃないのかな(知らんけど)

AWSはまだよくわかってないですが、EC2やS3などのサービスも触れてみたいし、GCPやfirebaseなどでサイト公開も視野に入っています。データ分析でデータが動的に観察できる環境も開発してみたい。データ分析やAI分野に行くのは一時諦めていましたが、規模がそこまで大きくない企業なら勉強すればワンチャンあると、今回の求職活動で思いました。やはり今後プログラミングだけでどうにかなるような世界ではないようです。(AIで自働化、代替される未来が待っている?)

 

あとは、openCVに挑戦中です。画像認識や顔認証はさすがに無理ヤローと思ってましたが、こちらはドローン講座に内包されている顔認識のところでちょっと学習中です。中国の学校で通学時の出席管理システムとして顔認証が採用されているのはおもしろかったです。

技術をキャッチアップするのはほんとに難しいですね。技術革新スピードに対して学習内容を伴わせようとすると幾何級数的に学習内容が増えていくので、一つ一つが薄くなってしまいます。良いエンジニアになるためには、一つの分野に深い造詣と専門性を持たなければなりません。目移りばかりして絞り込める状態ではないのは見ての通りです。院進してる人ほんとスゲーなとリスペクトな眼差しを送り続けておきます。

 

勉強の延長線上で趣味的な。

arduinoraspberry piをいじり始めて、IoTを手触り感から知ろうとする。→初心者級

amazon echo(AIスピーカー的な)スキルという要するに自作対話ツールのプログラミングにトライ。買った当初に一度やろうとしてうまくいかずに放棄していたのですが、あれこれ知識もついてきて、ようやく対応可能な水準に来たイメージ。javascriptとnode.js使いますね。あとAWS Lambda。

 

先月ぐらいまでは、クラウド方面に行きたいとおぼろげに思っていましたが、あまり情報も入ってくる状態でもなく、今はまだ時期尚早かなと思いました。興味が向いた開発系に挑戦しようか考え中です。

udemyで酒井氏のドローン講座をpythonGolangの勉強ついでに受講中で、こういう実践的な課題を通じて言語学習はやっぱりわかりやすくていいなと。

 

という3日坊主 && 付け焼刃でフルコミットしています。

 

ちなみに、開発要員で応募したら、社長にAI人材がほしいと言われ、なんとなく自分推ししておきましたが、まもなく採用通知の返答が来そうです。私があの社長なら不採用にします。

 

courseraML講義week4の課題を終わった。やばいしんどい

courseraのML講義week4の課題提出が終わったところです。

 

(*´Д`)めちゃくちゃしんどい。

 

実際にそれほど難しいことを聞かれているわけではないと思うんだけど、プログラミング能力がないことによって問題を読んだ上でコードにどう表現するかで七転八倒することになっちゃうのよね。

また、当初講義は3週間で修了しようと思っていたのだけど、全く予定通りに進まず計画を何度も練り直しているところです。予定が狂った理由は、1週目の受講スタート時点、講座のカリキュラム、難易度を確認して、大体このぐらい時間をかけたらこのぐらいに終わるだろうという目測で計画を作り始めるわけです。ただ、1週目はめちゃくちゃ簡単なので、これを比較対象として計画を立てるとおかしくなるのは目に見えています。そして2週目で計画を立て直したところ、少々難易度は高くなったけれど3週間で終わりそうだとまだ思っていました。そして3週目に入るといよいよ立ち行かなくなることが明確になったわけです。

 

そこで急遽、udemyでmachine learningやAI関連講座を購入し、じっくり日本語で学習しようと思い立ちます。その少し前にも線形代数を勉強したり、基本的な英語スキルを上げるために英語の勉強を始め、はたまた、今後役に立つであろうことを見越して、統計学やエクセルの勉強も始めることになりました。そうなると3週目の課題提出の時点でギリギリ間に合うといったスケジューリングになり、3週間終わった時点で、3週間分の課題しかできていませんでした。

 

ここで諦めてしまうわけにもいかないので、理解が怪しくなればお金をつぎこんで別の形でフォローできるならそれに越したことはありません。なるべく短時間で多くのことを学ぼうと思ってはいますが、優先順位トップを機械学習に充てて、トップダウンで必要になる要素を組み立てていこうという思惑です。非常に時間はかかっていますが、今のところなんとかいってるのではないかと思います。いや、正直かなり綱渡りをしている自覚はあります。

 

この他にも大規模データやデータベースの取り扱いをやっていくことになるのかなあとおぼろげに考えています。

 

ふー、ほんと大変。

 

 

ブログってどういう風に書くんだろう 情報発信とは何だろう

落合人気に嫉妬はしていません。太鼓持ちでもありません。

最近再び落合陽一君がフォーカスされるようになっています。以前に比べても活躍の場を広げて、情熱大陸への出演を機にテレビの視聴者にも名を知られるようになって加速感が高まっているようです。そんな彼を見ながら、ちょっぴり刺激を受けて久々に筆を執っているところです。(youtubeで堀江さんと話してるところからウォッチ始めました。魔法の世紀は読みました。おもしろかった。)

 

情報発信に対する気持ち

 

情報発信する人は口をそろえて同じことを言いますね。

「どんどんアウトプットしろ」

みたいな話です。

 

私もいろいろ天邪鬼体質ゆえに、他人にそう言われたからといって素直に受け止められるような感じじゃありません。

「んー、インプットしなきゃなぁ」とか「まずは構成を考えて、ネタは何それで、あぁもう忘れちゃった、まぁいいか」とかなんだかんだ言い訳を作ったりするのは日常茶飯事でございます。

 

別に承認欲求を満たしたいわけでもなければ、ブログで稼ごうなんて気もなく、有名人になりたいわけでもない。余計な観念を捨てて、最後に残った気持ちがブログライティングに対する原始的な欲求でしょ!それを拡張させよう!とか意識高いセリフを口にしながら、自分の中では特に断定する意図もあまり感じていないのが本音です。

 

そうこう考えながらも、一応方針めいたものはあったほうが、書くことを続けるモチベーションにはなるし、必ずしも書き続けなければならないものでもないけど、こう見えて、7,8年ほど前には1日3回ブログを更新するなどヘビーブロガー(アルファではないよ!)だった時期もあります。

「あぁ、あのころは自分の本当の気持ちとは違うところで書いていたのかもなあ」とか「振り返っても見れば、根拠なき自信って恐ろしいなぁ」とか「それも今の自分を作るために必要な時期だったのだろうと言えばそうなんだろう」と思えるぐらいには成長したんだと思います。

 

あんまり片意地張らず、気負わずに取り組むのが今の自分にとってベストだということです。

 

ブロガーにとって大事なことって何?

 

ブロガーにとって大事なことは、基本的なところから言えば、

・誰に向けて記事を書くのか

・一つ一つのクオリティの高い記事を書くこと

 

などがオーソドクスな戦略かと思います。しかしこれらの戦略が必要となる大前提は、それによって「読者のためになる情報をインターネットの海に投下する」ことや「本音の部分でそれに応じたなんらかの便益(承認欲求や金銭的対価)を得る」ですよね。私にとってはそういう意図はそれほど大きな比重を占めていないと前述した通りで、この2つの条件すら私の中で重要性を持ちません。

では何を書くのか。

 

つまり、好きなことを書けばいい。

 

これに尽きます。

ただし、自由というものは制約があったほうが緊張感を生み出して良いものを生み出すきっかけになりやすいよという漠然とした思いはあります。書き始めはその場の思い付きでも構わないけど、書くならそれなりの文章を認めることを目指そう。ついでに、アウトプットを通じて、内観のアップデートも目指せたら良いかな。

 

ゆるりとこんなことを考えています。

 

タイトルの通り、2017年12月現在『IT市民によるAI社会化構想』という大袈裟なネーミングをつけたばっかりに名前負けしないよう勝手な自意識を感じていたのは否定しません。ははは・・・

 

以前のブログ(もうこの宇宙から抹消されて存在しません)から私のことを知っている人も少ないと思われますので自己紹介がてらに書いてみました。

行列(線形代数)の勉強に役立つyoutube情報

文系が機械学習に試みる大掛かり(?)なプロジェクト。

 

はい、蒼志です。

進捗状況のお知らせから

 

coursera 機械学習進捗

7日目になります。week11までの動画は閲覧しました。最初に戻って、week2の課題提出作成中です。2問目までやりました。昨日octaveのセッティングで時間がかかってしまってややモチベーション低下中。

 

予定では3週間ぐらいで全課題提出を終わらせようと思ってましたが、少々焦りが出始めています。机上のお勉強はほどほどに早く企業に突入して実際に手を動かしながら戦力化されたいからです。ただまぁ戦力と呼べるほどの実力は皆無なので、急ぎ力を蓄える必要があるのは言うまでもありません。

個人的にはcourseraの機械学習(ML)を終えたら、python統計学も触りつつ、音声認識やCSなどもやってみたいと思っています。機械学習を勉強してると、あんなことできそうとかこんなことできそうとか妄想が膨らんでいくので、そのへんは楽しいですね。やりたいことを実現しようと思えば、企業のリサーチも並行して、接触も必要になるのかと思ってます。

 

さてそれらはともかく、目標をあまりばらつかせないように目下ML講座を終わらせることにやはり集中すべきですね。PCブラウザを立ち上げているとふらふらSNSの誘惑に駆られて生産性低下。ML講義を始めたときはそんなことはなかったのになあ。

 

week2の課題を迎えてこう思いました。最初のプログラミング課題なんだから、行列の入力とか楽勝だろと高を括っていたのは否定しません。ええ、大いに裏切られてしまいました。

 

ここでポイントなのですが、課題提出はなかなか難問です。難問といっても個人差はあるので、特に私のように行列を始めとする線形代数の基礎知識もない人には、苦労が絶えないかもしれません。週末テストの四択問題では曖昧に理解しているだけでも解けましたが、プログラミング課題ではそれが通用しないようです。英語で記述された問題を読むのは時間をかければどうにかなるものですが、課題の意味を把握してそれをプログラムとしてきちんと反映させるには正確な講座の理解が必要になることがわかりました。

 

今でさえあまりに時間がかかりすぎるので、本気で講座修了に至るか雲行きが相当怪しくなってきました。サラリーマンさんは気を付けて取り組んでください。ご存知の通り1週間ごとの課題提出期限がありますが、1週間ごとに提出するのではなく動画閲覧や課題も含めてどんどん前倒しにやって時間の余裕を持っておくのが安全策でしょうね(コース修了や認定を得るのが目的ならね!)。計画通りに行かないときはすぐさま軌道修正。

その中で課題作成に時間をかけてわかった点だけ押さえておきます。

 

  • 動画講義内で出てくる数式はきちんと意味を把握し、
  • 数式を記述できるようにしておく

 

当たり前すぎる話ですが、ここは大事だなと思いました。

機械学習を実戦で扱うには、単にデータセットを放り込むだけでいいので数式は理解しなくてもいいといった話を時折耳にしたりするものですが、現場でそれが通用したとしても(私はそもそも現場を知らないので想像で言ってます)、本講座では通用しないことがわかりました。

 

というわけで、結果としてやらなければならないのが行列を中心とした線形代数の理解

 

行列の基本知識(主に演算方法)はweek1の動画で十分だと思います。ただ基本知識だけでは分析方法の数式の意味が途中でわからなくなってきます。

 

そこで勉強ツールとしては、古本屋で数冊線形代数の本を購入したりして対応中なのですが、youtubeでも大学数学を扱っている2つのチャンネルを発見したので共有しておきます。

 

 線形代数 オススメyoutuber

www.youtube.com

一つ目は、ヨビノリさんとこ。

東大院生のオリジナルギャグをどう受け止めるかはあなた次第…

なyoutuberの方。

主に大学数学における線形代数の話なので、基本的な行列の解説は次の人が良いかもです。

 

www.youtube.com

古賀真輝(Masaki Koga)氏

京大理学部3回生(2017年現在)

 

めっちゃわかりやすいです。

行列の基本的な解説から始まりますが、行列が全くの初見だとちょっと戸惑うかもしれません。ML講座で飛ばし気味な証明もしっかり解説があり、行列の積の計算も階段状に書く(誰が考えた方法なのかは知りません)ことを教えてくれたり、参考書より説明が抽象的に見えますが、まとめとして最適だと個人的な感想です。(勉強法は、自分に合ったものを探すのが大事ですよ!)

 

私自身あまり数学に通じているわけではないので、他にもオススメyoutuberがいる人という人は教えてくださいね!