プログラミング勉強日記

つけていくか。なんか本当に無計画にいろいろ手をつけているから、まとめ的な感じで。

 

去年の8月に始めている。何気に初月にプログラミングスクールに通って、やっていたんだが、結局コードを移すばかりの行為で、途中で飽きてしまった。いやカネを出してもらったのに本当に申し訳ない。(書いてて、本当にダメなやつだなと自覚している)

んであれから10ヶ月近く一応プログラミングをいじり始めて経つわけだど、いやはや進捗はわりーな。何か成果物を作れるだろうに、何もやってねーわ(これ書いてて、罪悪感がひしひしと、そういう内罰的なところが自分のスペックを落としている)理由としてはやはりモチベ。あとネットサーフィンと読書が楽しすぎて、手につかないっていうのがある。特にネットはネット上にあるもので勉強している時に、息抜きにネットサーフィンをやるとそれをやり続けてしまって、勉強の効率が悪い。

猿みたいにプログラミングするには、とりあえずプログラミングをできるようになって、できるようになれば面白くなるわけで、そのできる、という状態になるまでは、辛くでも根気よく続けていくってことが大事だ。

ネットの無料の遊び、特にツイッターでだらみなんていう非生産的な行為をやってしまうのは、結局人生ができていないから起きてしまう現象で、何をやってもつまらないから(一応読書は面白いから続けている。読書だって難しい本を読めなくても文字を追っているだけのことを続けているだけでも、そのうち読めるようになった)そんな人生をふいするような行為をする。

 

人生を楽しくするには、人生をできるようにすればいい。できさえすればなんだって楽しくなる。しかし人生をできるようにするには、どうすればいいか?

端的に言って、金銭と人間関係を充実させればいい。もっと俗物的な言い方をすれば、金と女さえあれば男は幸せってことだ。原始時代における、金は食べ物で、女は繁殖のためだ。食欲と性欲を満たせば、大抵ハッピーハッピーだ。承認欲求なんて、それらを満たそうとすればおのずとついてくる。

 

今僕がやっている行為は、いわばカネを稼ぐための行為だ。スキルがあればカネを儲けやすくなる。Fランク大学のノースキルは永遠に奴隷として働かされる。その状態から脱するために今は頑張っている。

 

人生をできるようにして、人生を充実させたいのだ。

 

てわけで、その架け橋のために今は勉強中な訳だ。しかしながら、できるようになるにはできない状態の中で、できるものと信じて、頑張る必要があるわけで、多分人生の若い時期っていうのは、その連続なんだと思う。

 

その辛い時期に勉強しなかった人間は、できなくてもできるものと信じて頑張れなかった人間っていうのは、一生人生ができなくて、一生不幸なままなのだろう。逆に言えば今頑張れは、人生ができるようになるスタートダッシュをすることができて、一生幸福になれる可能性がぐんと上がるわけだ。

もうすでにドロップアウト負け組寸前の僕だが、今頑張れば希望が見えてくるのだ。

 

つーわけで、プログラミンの勉強で今までやってきたことを順を追ってふり返ろう。(正直言って自分のことを話すのはかなり恥ずかしい。恥ずかしいというよりも、この世界にいないふりを続けてきた僕が、俺はここにいるんだと俺の経歴をみろという風に晒すのに、かなり抵抗があるということなのだろう)

 

・プログラミング教室の課題

何気に通った。ある程度独学してから入るべきだった。変な癖がついてもダメかなと思って入ったが、やはり独学してから入るべきだった。そもそも何がわからないくて何を質問すればいいのか、ということがわからなければ、通うメリットがなくなる。

Rubyjavascriptを使ってwebサービス立ちあげようとというもの。途中でコードを移すだけの行為に飽きてやめてしまった。多分今やり直したらいい感じに復習できて、質問もできると思うのでいいんじゃないかと思う。質問代のためにまたやるかもしれない。

・paiza

パイザにあるルビーとジャバスクリとPHPJAVAアルゴリズムとエンジニアのやっていること、と言う動画をみた。一通りやった

・progate

プロゲイトにある、ルビーとジャバスクリとPHPJAVAと一通りやった。答えをみながらコードを移すということをやっていた。途中で飽きたので成果物が作れるドットインストールに移った。しかし改めて見ると、意外にjavaをやっていて、逆にルビーをやっていない。インターンに行く前にルビーをやっておきたい。

f:id:Shinrei:20170616230734p:plain

・ドットインストー

何か成果物を作りたかったので、ジャバスクリプトの有料のゲームを作れるやつを全てやった。が、あまり理解しているとは言い難い。本当にコードを移す移す移すばかりのことをやっていて、ギリギリでこのコードでこういう動きをするのね、ってことは理解できるんだけど、いざ自分でそれやれってい言われても、絶対できない。感覚的にはリーディングはできるけど、喋ることのできない英語みたいなものだろうか。

その他PHPも成果物が出せるってことでやってみたが、これも同様だ。このコードでどう動くのかなんとなくわかるけど、自分でやれと言われたらなんとも。なんだろうな、ただみているだけで、自分でできないとあまり面白くない。スポーツ観戦しているもものだ。もっとイチローみたいにコードが書きたい!!!プログラミング使いこなしているぜ!!!がやりたい!!!

 

・プログラムはこうして作られる

 ゲーム作りとか面白そうだなと思って買った。実際面白かった。言語は関係なく砂場というオリジナル言語で作っていく本。プログラマー思考とでも言うのか。テトリスを作る過程で、どのようにコードを書いていけばいいのかの、過程が描かれているので面白かった。7割まで進めた。ブロックを動かすところまで。しかしこれも途中で飽きて、今はやっていない。やる。

プログラマ脳を鍛える

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問

 

 最近買って数問やった。paizaでAランク取るのが目標なので、プログラミングの問題も解けるようになりたいと思って買った。paizaとかcodelQとか問題はあるのに解説はないから、どうやってできるようになればいいのかわからない。この本には詳しい解説が載っていることを願って購入したのだが、いや解説短すぎだろ。解説目的で買ったのに、なんでこんなに短いんだよ。

誰か解説が詳しい問題集みたいなのがあるサイトがあれば教えて欲しい。ネットで一通りみたんだけど、どれも解説がなくてすげー困ってる。どうやってpaizaでAランク取ればいいんだよ。解説ないと、問題とけねーじゃん。初心者に厳しくねーか?

 

結論

いろいろ手を出しすぎだ。もっと選択と集中をするべきだろう。だから未だに何か自分で作るということをやっていない。ルビーとジャバスクリプトとPHPJAVAと4言語に手を出していて、どれも身についていない感がありありだ。はじめにルビーを習ったのだから、まずそれを使って動くものを作れよ、と。

言い訳をさせてもらうと、なんか新しい言語に手を出すと、新鮮でできた気になってしまうのだ。反省。

 

目標

・やはり成果物、動く物を作りたい。まずはそれだよな。10ヶ月やっていて作れてないって我ながらやばい。なんかいろんなものにうつつを抜かして、結局みに入っていない。やはり動く物を作りさえすればプログラミングも楽しくなるはずだ。

インターンで行こうとしているところはルビーオンレイルズを使うので、そこで腕をあげながら、ルビーを使って成果物を作ることが課題。

作るものはニコニコ動画やpixivみたいなコンテンツを投稿するサイトを作りたいと思っている。やはり自分が一番慣れしたんでいるものの方が作りやすいだろうからだ。

もっと先のことをいえば、クリエーターが違法アップロードサイトで割を食っているという状態にあるので、それに打って変わる、善玉の違法アップロードサイトを作りたいな、と思っている。

具体的には同人本を違法アップロードしているドロップブックスに変わる、正義のドロップブックスを作りたい。同人誌を違法アップロードをするのはいいけど、作り手のツイッターや、公式の販売サイトへのリンクを貼るだけでもだいぶましだ。よかったと思ったら買ってくださいね、みたいな文句をつけるだけでも、クリエータに金が入るようになる。僕自身がそういう違法サイトを利用していることもあるので、その罪滅ぼし的なことをやりたい。

 

インターンで腕を磨く。成果物を作ることと並行して、現場で働きたいと思っている。やはり自室に引きこもっていてはメンタル的にもダメだし、現場を知らずにいてはできるものもできない。金をもらいながら、勉強させてもらうって一石二鳥じゃん。

ってことで、今は応募中。ルビーを使って電子チケットを発券するサービスを作るようだ。結構興味ある。しかしめっちゃ都会だ。住む場所どうするかな。検討中。

あと課題を出されたんだが、Google Custom Search APIAPIアクセスし、内容をDBに保存する、ってあるんだが、これは一体なんなんだ。DBはなんとなくわかるけど、APIは完全に初見。調べる。

 

・プログラミングの問題を解けるようにして、paizaでAランク取る。実は僕には数学コンプレックスみたいなものがあって、根っからの文系脳だから、数学できる人めっちゃ憧れる。数検3級とってから、高校でろくに勉強しなかったから、数学がっつりやりたいなあと思っている。しかし今更数学できるようになっても、仕事の役に立たないので、プログラミングの問題であれば、仕事にも役に立つから、数学コンプレックスを解消する上でもやりたいな、と思っている。しかし、なんで解説がどれもこれもないのだ。解説ないと勉強もできねーじゃん!!!

 

いろいろかなり回り道しているが、今の目標は明確だ。

 

・仕事で使うRubyを極める。そのために仕事が始まる前にprogateでルビーをやる。

・仕事をやりながらも、ルビーを使ってオリジナルの動くものを作る。

 

もうこれだけに集中することにする。今までは手を広げすぎた。目標も定まらないので、モチベがなかった。金を無駄に払ってスクールに通うことになった。本を買うことになった。今は目標に向かって淡々と課題をこなしていけばいい。

 

たのしいRuby 第5版

たのしいRuby 第5版

 

 やる予定の本。10ヶ月前に買って、ほったらかしてた。今こそ進めるとき。やはり仕事で使うってなって、身が引き締まるな。今まではネットにある無料のコンテンツをむやみやたらにやりすぎてた。実践で使うとなって、アウトプットを全体に勉強した方が、効率がいい。

 

やる。一直線にやる。

 

できる。人生できる。人生楽しい。

 

する。