Upgrade to Pro — share decks privately, control downloads, hide ads and more …

N予備校プログラミングコース座談会 in 2021.2

9f2edd3fb2cc8feb20221138ca91d9fc?s=47 Hakoeda
December 10, 2021

N予備校プログラミングコース座談会 in 2021.2

N予備校プログラミングコースでは、毎週行っているプログラミング授業のほかに毎月1回の頻度でプログラミングコース座談会という番組を行っています。

この番組では、授業中での回答が難しい質問や悩み、エンジニア就職に関する話など、授業ではメインで扱うことが難しい話題を取り扱っています。

9f2edd3fb2cc8feb20221138ca91d9fc?s=128

Hakoeda

December 10, 2021
Tweet

Transcript

  1. プログラミングコース座談会 N予備校プログラミングコース

  2. プログラミングコース座談会 プログラミングコース座談会は、プログラミ ングに関する相談・悩みへの回答や、N予備 校プログラミングコースについての意見交換 会などを行う番組です。

  3. • 津野 貴大(つの たかひろ) • ハンドルネーム labeneko • ドワンゴエンジニア10年目の31歳 •

    過去の担当サービスはニコニコ静画・ニコニコ漫画 • 生放送授業の運営コメントもやってます(不定期) • 趣味 ◦ 折原先生とランチ(緊急事態宣言以降いけてません) ◦ フォーラムの質問への回答(月間ランキング5ヶ月連続1位!) ◦ 貯金の全てを株式投資に回しています 本日のゲスト
  4. 本日のテーマ 1. フレームワークの習得のコツを教えて下さい。フレー ムワークをいくつも使いこなせる人はどうやって習得 しているのでしょうか? 2. 他のプログラミング言語について概説してほしい 3. ライブラリを選ぶときに、都合よくライブラリを比較 できるような情報源はありますか?

    4. 公式ドキュメントが読めるようになるヒントを教えて いただきたいです。 5. - フリータイム - プログラミングコース座談会 at 2021.2.4
  5. フレームワークの習得のコツを教えて 下さい。 フレームワークをいくつも使いこなせ る人はどうやって習得しているので しょうか? 要 望

  6. • 先月もお話がありましたが、もう少し詳しく話をします • 要は「Webサービス作成の基本セット」 • 実はプログラミングよりも難しい • 「フレームワーク使ったことあります」と「フレームワーク使い こなしてます」は全く違う •

    「なんでフレームワークなんて使わないといけないの?」と思っ ていませんか? • まずはなぜフレームワークを使うのか 理解しましょう フレームワークとは?
  7. • 「フレームワークを使わないWebサービスには成長の限界があ る」ためです • 例えば店主が1人で切り盛りするラーメン店 • 1人で全ての仕事をするのはかっこいい ですが、さばける客の数やメニューの 数には限度があります •

    店主もラーメンを作るのに専念したい のに、会計や接客等、専門外の ことをやらされて大変です フレームワークを使う理由
  8. • 役割分担を意識することが習得のコツ • 役割分担をして、その業務に専念することで、大規模サービスを 作ることができます フレームワークは役割分担を意識する ウェイター 会計 ラーメン料理人 中華料理人

    食材配送業者
  9. • だいたいのフレームワークはM(モデル)V(ビュー)C(コン トローラー)と大きく3つに機能を分けています • ブログサービスの例 フレームワークの基本形 Router トップページにアクセス トップページの Controller

    記事一覧ページの Controller ページの表示に必要なもの を持ってきて加工 アクセスに対応する Controllerに振り分け 記事情報の Model 記事のコメント 情報のModel データベースから必要なもの を持ってきて記事情報に加 工 データベース トップページの View ユーザに返すファイルに加 工
  10. • この3つの機能に当てはまらないものもある ◦ ルーター、バッチ処理、トランザクション処理など • 機能をさらに細かくする流れになっている ◦ 様々な考え方が日々生まれています • 考え方は基本的にデザインパターンを逸脱しない

    ◦ 「Java言語で学ぶデザインパターン入門」 ▪ 2004年の本でしかもJavaですが一読するこ とをオススメいたします! フレームワークに正解はない
  11. 他のプログラミング言語について概説 してほしい 要 望

  12. https://pypl.github.io/PYPL.html PopularitY of Programming Language

  13. ライブラリを選ぶときに、都合よくラ イブラリを比較できるような情報源は ありますか? 質 問

  14. • そもそもライブラリの見つけ方 ◦ Google検索 ◦ https://www.npmjs.com/ で探す ◦ などなど ◦

    今やライブラリは無数にあってどれがいいか分からない • 比較するときの基準 ◦ 安定してメンテナンスされそうか ◦ 広く使われているか ライブラリを比較するときの基準
  15. • NodeJS本体や、大企業がメンテナンスしていれば安心 ◦ ExpressはOpenJS財団という名 だたる大企業がスポンサーして いるところがメンテナンス している ▪ https://openjsf.org/ ◦

    テストライブラリのJestは Facebook管理 安定してメンテナンスされそうか
  16. • Expressやjestの依存ライブラリも安心といえる • package.jsonを見てみよう! ◦ https://github.com/facebook/jest/blob/master/package.js on ◦ https://github.com/facebook/jest/blob/master/package.js on

    安定してメンテナンスされそうか
  17. • ユーザ数が多いメリット ◦ 分からないことを検索すれば出てくる可能性が高い ◦ 不具合報告が頻繁で、バグも治る可能性が高い • npmjsでダウンロード数を見てみよう! • Githubのスター数もエンジニアはよく見ます!

    広く使われているか
  18. 公式ドキュメントが読めるようになる ヒントを教えていただきたいです。 要 望

  19. • 新しい技術に飛びつかない ◦ 解説記事が少ない ◦ 文献が英語 ◦ バグが多い 簡単な物を選ぶ

  20. • ページ翻訳機能を使う • 辞書や検索系の拡張を入れる ◦ Google Dictionary など 補助ツールを使う

  21. • 解説記事などをみる • 入門用のテキストを見る ◦ 書籍でもオンラインサービスでもOK 公式ドキュメント以外も使う

  22. フリータイム