How to

【みんなで】プログラミングを学び始めて、一番最初に悩んでたコト【振り返ろうよ】

本題の前に: 台風に備えておきましょう…

皆様、こんにちは。どんぶラッコです。

台風の影響がすごいですね…。皆様も十分お気をつけください。

プログラミングを学び始めた当初、プログラム以前のところですごく悩んでいたなあ、と思っています。

なので、私が詰まっていたポイントをいくつか整理してみました!

今から学ぶ人の学習の助けになったり、エキスパートなエンジニアが「そんな時代もあったね」と懐かしんでいただければと思っています!

名前ってどうやってつけたらいいの?

私が地味に困ったのはこれでした。
変数や定数を宣言する時どうやって書いたらいいのか、全くわかりませんでした。
そんな方は、

  • リーダブルコード

を読むことを強くオススメします!

また、各言語によって、変数の英単語を宣言する方法が異なっています。

  • パスカルケース
    • TestName
  • ケバブケース
    • test-name
  • スネークケース
    • test_name
  • キャメルケース
    • testName

といった具合です。
言語によって↑のどれが使われているのかは異なりますが、そのほとんどの理由は”それを使っている人が多いから”です。
なので、極論自分が好きな宣言方法で記述すればいいのですが、使っている人が多いルールを使ったほうがチームで開発する時にはルールを共通化しやすいです。
なので、言語ごとの傾向がそのまま残っているんですね。

ちなみに、大まかな傾向として定数は大文字(Name, NAME など)を使うことが多いです。

テストって何?

テストがなんで必要なのか、そもそもテストってなんなのか。全く理解できていませんでした。

テスト駆動開発の先駆者である @t_wada さんがde:code2017で講演されている内容がとてもわかりやすいです。
https://channel9.msdn.com/Events/de-code/2017/DO03

非同期通信って何?

名前もわかりづらいし、結局なんでこれをやらなきゃいけないのか、全然わかりませんでした。
こういうのは、たとえ話で解決するしかないです!←
まとめると、こういうことです。

image.png

詳細の説明は、Qiitaに投稿した記事があるので併せて参照ください。

[JS] 図で理解する 同期 / 非同期処理 の概念と実際の実装方法 – Promise, Generate, async

Webサーバって何してるんだ?

これが一番わからなかったです。さくらのレンタルサーバやXAMPPを使ってそこにファイルを置くとWebサービスが公開できるらしい、ということまでは理解していましたが、それが実際問題どのような動きが後ろ側で起こっているのか、全く理解できていませんでした。

オススメとしては、Webブラウザがそもそもどのように情報をとってきて表示しているのか、そのプロセスを追ってみることです。

リクエスト、レスポンスという言葉を聞いてピンとこない場合、ぜひ一度学習してみてください。
ちなみに、私はこんな感じで整理をしています。
(スクレイピングの説明資料用に色々省いちゃってますが。。)

image.png

↑の資料はSpeakerdeckにアップロードされています。


ほとんど私が過去に作った資料になってしまいましたが、まさに私が詰まったところをひたすらアウトプットしていたので、そりゃあ当然の結果ですよ(開き直り)

また思いついたら追加していきます〜。皆さんも”ここ詰まってた!”や”これ悩んでた〜!”なことがあったら教えてください!

おまけ: 全部知ってたよ!というナイスなエンジニアの皆様

その知見を生かしてコードレビュアーとして活躍しませんか?

コードレビューをするエンジニアとして活躍いただけるサービスの展開を考えています!

現在、事前登録を受付中です。

お問い合わせフォームに必要事項を入力いただいたら、後日サービスに関するご案内をお送りいたします。

皆様の応募、お待ちしています♪