勉強を継続するための3つの方法
現在私が実践している勉強を継続するための方法について書いていきます。皆様方それぞれ異なる生活スタイルがあるかとは思いますが、その一例として参考にしていただけたらと思います。
まず、なぜ勉強を継続するための方法について能動的に考えたかというと、単純ですが私自身もなかなかプログラミングの勉強を継続することができなかったからです。私の心境としては、熱意はあるのになぜか続かない、といったところでした。今の職場だといつまでたっても技術が身につかないだろうから転職したい、そのために自分のスキルを高めておかなきゃ、あと単純にもっとコード書きたい!熱意はあったつもりです。でも続かなかった。
それは熱意が足りないんだよ、という意見の方もいると思います。私も一時期そうなのかなと思っていました。でも、この考え方って全然ダメなんです。全くもってダメ。なぜなら全く建設的ではないからです。熱意が足りないんだよ、の後にじゃあどうすれば勉強を続けられるか、という話につながっていかないんです。というわけで考えをあらためて、勉強が続かなかった→じゃあどうしたら続けられるか→続けるための仕組みを考えなきゃ、という風になり、私は勉強を継続するための方法について能動的に考えることになりました。
長い前置きがやっと終わって、いよいよ本題です。
私が大事にしていることは3つだけです。
- 先に勉強時間を確保すること
- アウトプットすること
- 勉強仲間を作ること
ふたつめですが、キレイにまとめなくてもいいからとにかくアウトプットする、です。まず、アウトプットした方が、自分がやってきたことの履歴を後で確認することができるので、長く続けていく場合には絶対にやっていた方がいいと思います。また、巷ではもはや常識ですが、アウトプットした方が理解が深まります。さて、キレイにまとめるとは、自分が学んだことをちゃんと説明するようにブログにまとめる、といったことです。最初のうちは私もそうやろうと思っていましたが、なかなかアウトプットが続かなくなりました。だってちゃんとまとめようとするとそこそこ時間がかかるもん。というわけで、最初のうちは単純に自分がやったことをそのままアウトプットすればいいんじゃないかと思います。楽ですし。慣れてきたところで、単純にやったことを書いた下書き、と、ちゃんとまとめた下書き、を用意して並行して書いていくようにしたらそこそこ長続きするんじゃないかと思います。すぐ出す用のアウトプットとちゃんとまとめたアウトプットを両方用意しておく、といった感じです。アウトプットのハードルを低くしましょう。ミクシィは一瞬で飽きたけどツイッターは長く続いている人は多いのではないかと思います、これはきっとつぶやくという行為のハードルが低いからではないでしょうか。
みっつめですが、これが一番大事だと思います。正直、これがあれば、最初のふたつはいらないんじゃないかと。人は社会的な生き物ですので何かを長く続けていくためには他者との関わりが必須です。ここだけすごいいいこと言ってる風です。例えば、周りのオタクを見てください。たいてい群れてます。みんなで集まってわいわい話した方が楽しいからです。たまにソロプレイする人もいますが、そんな茨の道をわざわざ歩く必要はありません。誰かと一緒にやった方が楽しいですし長続きします。これはプログラミングでも他の趣味でも同じだと思います。私の場合だと、仕事の帰りが遅くなかなか勉強会のようなコミュニティに参加できてはいませんが、幸いにも同じようにプログラミングを始めた友人がいるのでモチベーションを高く保つことができています。それでも、やはり関わる人が多いに越したことはないので、早く帰れる日にはぜひ勉強会に参加したいとは思っています。
私が意識している、勉強を継続するための方法は以上です。ネットにも溢れてるような当たり前のことかもしれませんが、当たり前のことってやはり大事だなと思います。勉強することに対してなかなかモチベーションを高く保てないという方がいたらぜひ参考にしてみてください。
JavaScript 始めました
初めてのHTTP
自分の理解のため、そして、ネットで探してみても自分がしっくりくる説明がなかったので書いてしまおうってことで、HTTPについて説明していきます。(理解が誤っている箇所もあるかもしれませんが、ご了承ください。)
そもそもHTTPとは
Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル、略称 HTTP)とは、WebブラウザとWebサーバの間でHTMLなどのコンテンツの送受信に用いられる通信プロトコルである。 ハイパーテキスト転送プロトコルとも呼ばれる。httpは略称なんですね。WebブラウザとWebサーバがメッセージをやりとりする際の間を取り持つ何かってことも分かりました。ここまではわかったんですけど、通信プロトコルってなんやねん、という疑問が浮かびました。プロトコルとか日常生活でまず使わない単語ですし、スッと理解できません。というわけで、次は通信プロトコルについてWikipedia で調べてみました。
通信プロトコル(つうしんプロトコル、Communications protocol)、あるいはネットワーク・プロトコルは、ネットワーク上での通信に関する規約を定めたものである。「通信規約」や「通信手順」と訳す場合もある。
ここまで来るとちょっとわかってきました。httpとは、WebブラウザとWebサーバとの間でメッセージをやりとりするときのルールである、と。メールに例えると、
メールを送信するときのルールとして、タイトル、宛先、本文、が必要。ただし、本文は空でもいいけど宛先は必須。
- スタートライン
- ヘッダー
- 空行
- ボディ
筋骨隆々なボディビルダーの写真とまるでおじいちゃんがパソコン教室で作成したかのようなサイトが表示されたかと思います。(ちなみに別にボディビルをdisってはないです。むしろ私はボディビルはこれから来るんじゃないかと思ってます。)
Networkタブを選択し、Nameのところで一番上の「http://www.jbbf.jp/」を選択してみてください。すると、右側にResponse HeadersとRequest Headersが表示されたと思います。(WebブラウザからWebサーバに送ったメッセージがRequest Headersに、WebサーバからWebブラウザに返ってきたメッセージがResponse Headersに対応します。)初期表示としてはparse(整えられた)されたhttpメッセージが表示されていますが、view sourceをクリックすると、httpメッセージ本文が表示されます。Request Headersを見ていきましょう。
1行目の「GET / HTTP/1.1」がスタートラインに対応します。2行目以降がヘッダーです。今回の場合、ボディはありません。このように、Chromeを使用していれば低いハードルでhttpメッセージを確認することができます。
以上で、こんな感じでWebブラウザとWebサーバはメッセージをやり取りしてるんだ、というのがなんとなくわかったかと思います。ただし、「1行目のGETってなに?」とか「どんなときにボディにメッセージが書かれるの?」とかまだまだ疑問は残るかとは思います。私も全てを理解できているわけではないので、継続して理解を深めていきたいです。今回は初めてのHTTPということで、私がここ1週間くらいで初めてHTTPについて理解したことを書いていきました。続編があるかはわかりませんが、今後も定期的に自分が理解したことを、自分の理解のために、説明していくつもりです。
HTML 始めました
つい先日にRuby on railsを始めたばかりですが、HTML始めました。
Ruby on rails始めました
タイトルの通り、Ruby on railsを始めました。
Ruby始めました
しばらく自分が覚えたこと、学んだことのメモとしてブログ書いていこうと思います。
感想
- Macで始めると標準でRubyが入っているので、環境構築のコストが低くて始めるハードルが低い
- Webに初心者向けの記事やサービスが多い
- 書きやすい。javaみたいにいちいちセミコロン文末にうたなくていいし、必ずしもクラス作らなくてもよいので。
ちなみにProgate | プログラミングの入門なら基礎から学べるProgate (プロゲート)でRubyの基礎編、応用編を無料で勉強できました。なので、一通りやりました。
あと、書籍はたのしいRuby 第5版:Amazon.co.jp:本を買って辞書的に使用していきました。
今後
技術ブログを始めようと思った経緯
ブログを読んで、
- 自社サービスの知識ばかり身につく
- 社外に出るとエンジニアとしてやっていけないのでは
そして、それを解決するために汎用的な領域を意識し、その部分をアウトプットすることが重要!っていう学びを得ました。
というわけで、技術的なことをアウトプットするための第一歩として、今回技術ブログを始めようと思うに至りました。
ちなみに、なんではてなブログか、に関しては技術ブログやってる人ははてな使ってる人多いし流れに乗るか、くらいの理由です。
以後、よろしくお願いします。