$30 off During Our Annual Pro Sale. View Details »

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

Hakoeda
December 10, 2021

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

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

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

Hakoeda

December 10, 2021
Tweet

More Decks by Hakoeda

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

  3. 本日のテーマ
    1. 授業に追いつけていないので、コースの重要なポイン
    トをピックアップしていただけたらうれしいです。
    2. yarnの使いどころ(initやらaddやらの使い分けも)がよ
    く分からないまま写経だけしてる。
    3. (req , res)が引数になるやつ、だいたいよく分かって
    ない。.on とか .endとか。
    4. GitHubの使い方の復習をしてほしい
    5. ドワンゴで働く方法を教えてください
    プログラミングコース座談会 at 2020-12

    View Slide

  4. 授業に追いつけていないので、コース
    の重要なポイントをピックアップして
    いただけたらうれしいです。
    要 望

    View Slide

  5. 入門コースの方針
    プログラミング入門コースのゴールは「インターンやアル
    バイトとして働いて困らないレベル」まで知識・コーディ
    ング力をつけること。
    入門コースの内容はWebアプリケーションを作るために必
    要なことを網羅的に学んでいくコースのため、覚えなくて
    良い部分は少ない。

    View Slide

  6. yarnの使いどころ(initやらaddやらの
    使い分けも)がよく分からないまま写
    経だけしてる。
    解 説

    View Slide

  7. パッケージマネージャの役割
    ● 配布されているパッケージ(≒ライブラリ、モジュー
    ル)をバージョンを指定して簡単にインストールする
    ことができる
    ● そのアプリに依存するパッケージを管理できる
    ● 依存するパッケージを一括でインストールできる
    ● 作ったパッケージを配布することができる

    View Slide

  8. yarn init
    ● そのパッケージを yarn で管理できる様にする
    (package.jsonが作られる)
    ● 他のパッケージをインストールできる様になる
    ● 別のパッケージやアプリケーションから yarn add でイ
    ンストールできる様になる

    View Slide

  9. yarn add
    ● package.json に依存パッケージとして追加される
    ● node_modules ディレクトリにパッケージのソース
    コードがダウンロードされる
    ● アプリケーションでそのパッケージを使える
    (requireできる)様になる
    ● そのパッケージが依存しているパッケージも一緒に
    インストールされる

    View Slide

  10. yarn install
    ● package.json に書かれている依存パッケージを一
    括でインストールする
    ● node_modules にソースコードが置かれる

    View Slide

  11. (req , res)が引数になるやつ、だいた
    いよく分かってない。.on とか .endと
    か。
    解 説

    View Slide

  12. View Slide

  13. Request
    Response

    View Slide

  14. http.createServer
    ● リクエストが来たときに処理する関数を設定する必要がある
    req(http.IncomingMessage)
    ● リクエストに含まれるデータやストリームを取得できる
    res(http.ServerResponse)
    ● レスポンスとして返す情報を設定する
    Node.js “http” module

    View Slide

  15. 基本的に http.on(イベント名, 処理を行う関数) を設定する。
    http.createServerで設定する関数は ‘ request‘ イベントが発
    生したときに実行される。
    req.on(‘data’, func) は分割されたリクエストのデータを受信
    した際に毎回呼ばれるイベント。
    req.on(‘end’, func) は分割されたリクエストのデータを全て受
    信し終わった後に呼ばれるイベント。
    httpモジュールはイベント駆動

    View Slide

  16. GitHubの使い方の復習をしてほしい
    解 説

    View Slide

  17. ソースコードをインターネット上で管理できるWebサービス
    で、ソフトウェア開発のプラットフォーム。
    バージョン管理ツールとしてGitを使用する。
    ユーザーはGitHubにてソースコードを配布、公開したり、
    ソースコード改変のリクエスト(プルリクエスト)を受け付け
    ることができる。
    その他にもソフトウェア開発を補助する様々な機能がある。
    GitHubとは

    View Slide

  18. Web業界ではほぼ必須ツールとなっている。
    近年ではエンジニア以外の職種でも活用されている。
    採用に関するアピール情報としても活用される。個人プロダク
    トのコードや、OSSへの貢献実績などが評価される。
    Web エンジニアと Git / GitHub

    View Slide

  19. ドワンゴで働く方法を教えてください
    要 望

    View Slide

  20. ● コーディングテストをやる企業が多い
    ○ 10分で解ける問題(競プロの問題やるのもあり)
    ● ポートフォリオなどの対外実績が評価される
    ○ 個人プロダクトのコード
    ○ 技術系の記事など
    ○ OSSへの貢献実績
    ● 資格や学歴も考慮されるが、面接での質問に回答できるこ
    とが重要
    ● チームとして働ける程度のコミュニケーション能力は必要
    Web 業界の採用

    View Slide

  21. ● 簡単なページ文言変更(誤字の修正など)
    ● フロントロジックの変更(トランスパイル含む)
    ● バックエンドロジックの変更
    ● インターフェースの変更
    ● データ操作を伴う機能変更
    ● サーバー/クライアントの横断的な機能追加
    ● アーキテクチャ設計を伴う機能更新
    ● 部署連携を伴う大規模機能更新
    ● 新サービスの開発(企画から)
    Web 業界の実務の例









    View Slide

  22. フリータイム

    View Slide