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

[第2回] Webサービス開発講座

notch_man
August 23, 2023

[第2回] Webサービス開発講座

2023年度の筑波大学enPiTで使用した資料です。全4回+αでWeb開発の基礎を学ぶことが出来ます。

※notion資料は近日公開予定です。

notch_man

August 23, 2023
Tweet

More Decks by notch_man

Other Decks in Education

Transcript

  1. 5 ⾃⼰紹介 クラウドソーシングサービスなどを 開発しています notch_man twitter: @notch_man8600 • 認定スクラムマスター(CSM) •

    ラボのシステム開発の全責任を負う(⾟い) • 学類パンフに載ったけど留年したよ(笑) • 現場で都合良く使われています [概要] • 2020年3⽉ ⾹川⾼専卒業 • 2021年4⽉ 筑波⼤編⼊ • enPiT2021(受講)&2022〜(メンター) [略歴]
  2. 6 この講座のゴールについて 1. シンプルなWebアプリを作れるようになる 2. Webアプリケーションを作る上でのお作法を学ぶ 3. 汎⽤的なスキルとノウハウを知る 4. オレオレFWを作りたくなる気持ちになる

    5. オレオレFWを安易に使うと⽕傷をすることを知る 6. 巷のFWが何故受け⼊れられたのか考えられるようになる 7. おまけ話を聞いて世間を知る ⽬標段階のレベルを定義しました。 これらいずれかを⽬指しましょう!
  3. 7 本⽇の⽬標:シンプルなWebアプリを作れるようになる • コピペしたらフロントとバックエンドが動くコードを作ります ◦ Pythonなので分かりやすい! ◦ クリーンなコードでGPL3だから使いやすい! • それを写経したら何かが作れます

    • ちょっと弄ると⾃分らしさが出せます • 良い感じに弄られるようになると、⾊々なサービスが作れます ◦ ロジックとかで使い回せるようになると⾮常に楽になります
  4. 13 Web開発の学び⽅ 1. 基本的な流れを理解する a. 情報が表⽰されるまでの流れ b. フロントエンドとバックエンドの役割 2. 基本的な流れに従った⼩さなアプリを作る

    or 写経する a. OreChatが最適 3. 2の中で1の流れを実際のコードと対応付ける 4. 実際に⾃分でフルスクラッチで作ってみる
  5. 20 Pythonの良い所 1. さっと動く物が作れる a. FastAPIのあれ、1時間くらいで⽴てられました b. 退屈な事はPythonにさせようみたいな本が出るくらい気軽に書ける 2. ⾯倒なことを考えなくて良い

    a. numpyとかはある程度勝⼿に最適化をしてくれる b. メモリの事を考えなくても良い(?) 3. 使ってる⼈が多い a. 数は正義です。草オレオレFWを⾒てくださいよ、酷すぎます。 b. メンターにC++の話を振ってみてください、多分1⼈くらいしか反応できません
  6. 21 数の正義 • この界隈は⼤体数の正義で成り⽴っています ◦ GitHubのスター数 ◦ Fork数 ◦ コミッター数

    ◦ ダウンロード‧アクセス数 • 数が少ないものはウケていないかヤバい物である可能性が⾼いです
  7. 23 とりあえずPythonを使おう • 数は正義です • 数が多い物には知識が集まります • 我々のゴールは何かを考えましょう • ⼤体の⼈のゴールはサービスを作ることですよね(?)

    ◦ なら、ナレッジが集まっている物を使いましょう ◦ Pythonは⾮常に豊富なナレッジが集積されています ◦ メンターの充実した対応を期待できます(これ⼤事)
  8. 28 今⽇のまとめ • ⻑く⽣きている流⾏り物を使いましょう • 迷った時は多数派に従えば失敗しにくいです • Pythonは初⼼者におすすめの⾔語です(notch_manのお墨付き) ◦ 適当に素早くものが作れる

    ◦ ライブラリが便利 • ⼿段ではなく⽬的にフォーカスしましょう ◦ 極論、バイナリを書いてもええんや ◦ 我々は課題を解決するのが⽬的である