こんにちは 。色々未設定ですが投稿しました 。伊藤 大智です 。

6カ月弱、プログラミングを学び始めて経ってしまいました 。完全初心者がこれまでに取り組んだことと今思うことをまとめました 。

 

はじめに

 

マトリョーシカのイメージをいつも持とうと思いました 。
プログラミングでやっていることって、「地球があって土地があって家があるから人が住んでいます 。」みたいな、現象を、Webの世界では1つ1つ分解して考えて、「通信」っていう素材と「言語」っていう表現方法で「それはこういうものです 。」って1つずつ定義して、それを繋げて(合体させて)架空の世界を作っていくって感じだと思います 。
そして地球は人間が作ったものではありませんが、その本当に細かくて細かくて細かい所まで、Webの世界はちゃんと人間が作ってきたもののようです。(らしい)だから作った通り、なんでも実行の命令の通りに動きます 。世界征服できる人が地球作りから始める感じをイメージしました 。
そういった自分の意識のないところでも(大きくも小さくも)ずーーっとプログラムされているということは(知らないんだということ)理解している。というスタンスを持っていると「プログラミング」っていう世界のしくみが理解し易くなるのかなと思いました 。(自分の中ではこんな感じに言い聞かせて続けてみます。)
自分が勉強しようとはじめたプログラミング言語も、また、プログラミング言語で作られているそうです 。

 

経緯

 

公務員試験勉強のかたわら、「この内容が何に使われるのかな~」と疑問に感じる。
行政って地域のために実際は色々なことをやっているけどのに、地域の人すら知ってないこと多いんじゃないかな~と感じる。
どうせ勉強するならそういった時、実際に使えることを勉強したいと思い、プログラミングを学ぶことを決意しました。

そしてある程度こんな機能があったら便利だ ! (作りたい)というものがありました 。

 

やったこと

2015年9月あたま...

・色々な言語の存在は知っていたので名前とそれぞれの特徴を知る。
[プログラミング 言語 種類 → 検索]
ざっくりと体系的に知るのに参考にさせていただいたページの1つ

9月中旬...

・自分がイメージしているものはweb系と知る 。JAVA、PHP、Ruby辺りを検討する。
・名前の響きの良さや、ざっくり考えてRubyにする。・・・・・(実際には色々考えました 。が後で)
・Rubyの基本的なことをgoogle検索で学ぶ

そのうち、とりあえずコードを書いてみながら、かつ基礎の基礎の一部分の体験をしたページ

どう使っていくのかは分からないので作る過程の中でそれは知ろうと判断

・ブートキャンプの受講(当時フレームワークの意味はきちんと理解していませんでした・・・今もだと思いますが)

10月初旬から12月初旬まで...

techacademyのRuby on railsオンラインブートキャンプ

学んだこと・実際に手を動かしたこと

・HTMLの基礎的な仕組み
タグ、要素名、属性名、属性値、どういった種類があるか 。
・CSSの仕組み
セレクタとプロパティ、それぞれの用途に充てられている値の表現やルール、種類。
・Bootstrapの使い方とその種類
HTMLタグの属性に値を入れていくということ。グリッドシステム、ボタン、ナビゲートバー

・git、Githubの概要の理解とgitコマンド
使って使い時と意味をある程度覚えたもの・・・

init,add,clone,remote,commit,push,merge,status,diff,log,branch,checkout

不安なところ・・・オプション、通信設定(接続の設定、通信方式の違い・使い分け)

分からないところ・・・ワーキングツリーとインデックスの概念

全然分からないところ・・・チーム(複数)での使い方

      ↓

静的なプロフィールページの作成
付随的に使い、表面的に覚えたUNIXコマンド・・・pwd,cd,ls

 存在は知ったけどそこまで使いこなせないコマンド(上記以外のここの中のコマンド)

・Rubyを使った基礎知識・操作、関数・処理の種類、表記とルール
分かったところ・・・変数、処理、こういうことができますよ。ということ

 不安なところ・・・表面的に点で得た情報として頭に入ってる程度なこと。用語の概念と理解、オブジェクト指向

・Ruby on rails(Webアプリ)の仕組み、考え方、動き、構造

 通信の仕組み・・・フロントエンド、サーバーサイドについて

 RESTfulな設計について・・・メソッドなど

 動き・・・MVCモデル

 構造・・・フォルダの種類、用途

railsでメッセージボード、ツイッタークローン、アマゾンのAPIを使ったモノリストの作成

 作りながらmodel,view,controllerの物理的な部分に取り組む

4つで学んだことをふまえたサービス開発

今思うこと

これが最初の約3カ月でやったことです 。

rubyとrailsの部分はかなりざっくり書きました。(また後で書きます 。)

 

そうです 。ぶっ飛びすぎです 。

赤ちゃんがハイハイしたり立って歩く前に、いきなり自転車に乗って爆速でこぎ続けてしまったような状態でした 。

フレームワークを使わないでまずは何ができるのか、ということをよく知らないで使ってしまいました 。

よく表面的でさえ、一通りやったと思います 。

自分で考えてやってみようとすると、なかなか上手くいかないと思ったことも、全く手が動かなくなってしまうことも、そして空想的イメージ(作りたい)が物理的なイメージ(コード)に繋がらないのも、フレームワークというマトリョーシカの中のマトリョーシカを知らな過ぎたことが原因のようでした 。

そして一旦、ここの段階(レベル)で作り悩むことは止めよう(なんか違和感を感じる)と思い、そっとパソコンを閉じるのでした

 

総じてまず思ったこと...

言葉の概念を理解すること。

ひたすら、まずはこれだけに尽きると思いました。
このためだけにも様々な視点からアプローチをかけることも必要です 。
これに2カ月くらいかけても良いくらいだと思います 。

人それぞれバックボーンが違うので一概にいえませんが、(というか普通は自然と順を追うのかもしれません)いきなり「プログラミング言語」についての情報を見るのは多分ナンセンスです 。
英語でthis is a penしか分からないのに英語の本を読んでしまうようなことなので 、「これはほげほげ」、「penはn回でてきた」くらいしか理解できないと同じような状況になります 。
コスパが悪いです 。

 

そして、「Web周りの知識」というものが必要だということが分かりました 。

自分はその都度グーグルしましたが、「体系的に理解していない」のと、明らかに知識が足りなさすぎて、「用語を調べてもその説明している用語が分からない」ので 、いつまでも何個もタブを開き続けることになってしまいます 。日本語のなのに日本語じゃなさすぎて何言っているかわからないのです。それは、ネットの情報の同義語や、同意語、類義語を自分の頭の中で統合することができなかったのです。そしてある程度で掘り下げるのをやめて進めていくと「なにが分からないのかも分からない」といった状況になります 。

 

そしてそれからなにをするのかというと...

言葉の概念を理解すること。

を始めます 。

→つづく(3~4カ月目へ)

おわりに

ちなみにブートキャンプではメンターさんがいて、週に2回担当してくださる方とのビデオチャットでの相談、いつでも質問自体は投げて良い受講生とメンターさん共有のチャットツール(メンターさんだけでも10数人いて気付いた方が返答してくれます。注:即レスは15時から23時の間)で躓いたところをサポートしてもらえます 。質問するために何が分からないのかを理解したり、文章として可視化できるので、一人ではじめてしまった 、会って聞ける人がいない、会いに行く時間がないという方にはおすすめです 。また、これらのツールはプライベートでもそういう方がいれば状況が伝えられ、アドバイスを貰い易いので本当におすすめです 。特にappear inはアカウント登録ないし話しながら文字打てるし画面共有もできてしかも複数可なのでかなり便利です 。クオリティもラインよりは良いです。(デメリットは英語なこと)しかし検索する力(習慣)は始めのうちから付けないといけません 。

そして初心者という言葉は「他の言語は学んでて今から学ぶ言語については初心者」という方も初心者なのでした。
プロを目指せる中身は人によっては、「プロがすることのような体験ができる」といった感じになる場合がありました 。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です