Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バックエンドロードマップ(数珠つなぎオンライン勉強会 #02)
Search
Yuki Watanabe
June 04, 2023
Programming
0
460
バックエンドロードマップ(数珠つなぎオンライン勉強会 #02)
Webバックエンドの学び方についての登壇資料
Yuki Watanabe
June 04, 2023
Tweet
Share
More Decks by Yuki Watanabe
See All by Yuki Watanabe
【つよナレ#1】初心者こそバニラなPHPでWebアプリを作るべき
ukwhatn
0
170
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
1
520
10分間でエンジニア就活について話す #ニックトレイン
ukwhatn
3
1.2k
[KC3 Meet! vol.1]ちょっとだけわかるPasskey
ukwhatn
1
360
基礎からわかろうOAuth2/OpenID Connect
ukwhatn
0
370
データベース入門(数珠つなぎオンライン勉強会 #03)
ukwhatn
1
210
サーバ入門(概論〜Webサーバ構築)
ukwhatn
0
280
Other Decks in Programming
See All in Programming
OUPC2024 Day 1 解説
kowerkoint
0
400
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
470
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
ベクトル検索システムの気持ち
monochromegane
30
9k
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
5
1.3k
AHC 044 混合整数計画ソルバー解法
kiri8128
0
300
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
500
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
3.2k
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
370
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
190
PsySHから紐解くREPLの仕組み
muno92
PRO
1
520
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
1.7k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Visualization
eitanlees
146
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
We Have a Design System, Now What?
morganepeng
51
7.5k
Building Adaptive Systems
keathley
41
2.5k
Fireside Chat
paigeccino
37
3.3k
Unsuck your backbone
ammeep
670
57k
Embracing the Ebb and Flow
colly
85
4.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Why Our Code Smells
bkeepers
PRO
336
57k
Building an army of robots
kneath
304
45k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Transcript
技術領域から考える Webバックエンドロードマップ Yuki Watanabe (@ukwhatn) from KINDAI Info-Tech HUB
SPEAKER • 渡邉 雄貴 / Yuki Watanabe ◦ 近畿大学 理工学部
B3 ▪ KINDAI Info-Tech HUB 役員 ▪ KC3運営委員会(NPO法人NxTEND) 理事 ◦ Webバックエンド・インフラエンジニア ▪ 長期インターンシップ・業務委託での開発 ▪ 転職型プログラミングスクール メンター
SPEAKER • 渡邉 雄貴 / Yuki Watanabe ◦ SKILLS ▪
Webバックエンド • Ruby(Rails) / Python(FastAPI, Flask) / Kotlin / TS ▪ Webフロントエンド • TS(React) / JS / HTML-CSS ▪ インフラ・その他 • Linux / AWS / Docker / DB / 認証・認可
今日お話すること Webバックエンドとは? 何がバックエンドなのか / 構成技術は何なのか 01 具体的なロードマップ どう学習していけば良いのか 02 学習のコツ
膨大な技術領域を学習していく方法 03
Webバックエンドとは?
Webバックエンドとは? • Webバックエンド ◦ サーバで行われる処理を担う部分 ▪ Webアプリケーションだけでなく、 モバイルでもゲームでも、バックエンドは大抵Web技術 ◦ 関連する技術領域
▪ API / RDBMS / NoSQL / Webセキュリティ / Webサーバ CI・CD / インフラ / フロントエンド
関連する技術領域(一部) Webバックエンドとは? バックエンドの処理を記述するための言語を知らないと始まりません。 大抵の(主要な)言語にはWebアプリケーションを作成するためのフレームワークが 存在しているので、お好きな言語で取り組んでみるのが良いでしょう。 プログラミング言語・フレームワーク Web API モダンなWebバックエンドの主な仕事は、フロントエンド(Reactなど)からの リクエストに応じて処理を行い、レスポンスを行うことです。
ここには「Web API」が使われることがほとんどです。
Webバックエンドとは? Appがデータを保存しておくのに必要なのがデータベースです。 MySQL/MariaDBやPostgreSQLに代表されるRDBMSや、MongoDBや AWS DocumentDBなどのDocDB、RedisなどのKVSなど、多くの種類があります。 RDBMS・NoSQL Webセキュリティ Webアプリケーションを安全に提供し、ユーザの情報が侵害されないようにするため には、セキュリティの知識が不可欠です。XSSやCSRF、セッションハイジャック、 SQLインジェクションなど、絶対に抑えておくべきものもいくつかあります。
関連する技術領域(一部)
Webバックエンドとは? Webアプリケーションは、NginxやApache HTTP ServerなどのWebサーバソフトに よってインターネットからのアクセスを受け付けます。多くのフレームワークには Devサーバ機能がありますが、Prod環境では別で用意することが一般的です。 Webサーバ インフラ Webアプリケーションを実行する基盤となるインフラ(サーバやNW, 仮想化など)に
関する基本的な知識もバックエンドエンジニアには必要です。最近はVercel等で 簡単にホストできますが、それでも知識として持っておく必要はあります。 関連する技術領域(一部)
Webバックエンドとは? Continuous Integration / Delivery / Deploymentの略で、主にテストやビルド、 デプロイの自動化を指します。最近は個人〜企業までGitHub Actionsを利用する ことが多くなっています。
CI・CD フロントエンド バックエンドエンジニアがWebAppを個人開発する上で必要なのがUIです。APIを 作って終わりではなく、ユーザが触ることのできるUIを作成してはじめて使ってもら うことができるので、最低限のフロントエンドへの知識が必要です。 関連する技術領域(一部)
具体的なロードマップ
Webバックエンドエンジニアになるには? 具体的なロードマップ https://roadmap.sh/backend より
Webバックエンドエンジニアになるには? 具体的なロードマップ https://roadmap.sh/backend より
Webバックエンドエンジニアになるには? 具体的なロードマップ https://roadmap.sh/backend より
Webバックエンドエンジニアになるには? 具体的なロードマップ https://roadmap.sh/backend より
Webバックエンドエンジニアになるには? 具体的なロードマップ https://roadmap.sh/backend より
Webバックエンドエンジニアになるには? 具体的なロードマップ https://roadmap.sh/backend より
学習のコツ 膨大な技術領域をどうキャッチアップするか
各要素技術のキャッチアップ • 手を動かす ◦ これに尽きる! ▪ 知識も大切ですが、実践が伴わなければ身に付かず、 作りたいものを形にする力も育ちません ▪ シンプルに形にならないのに勉強し続けるのつらいです
▪ まずは簡単なもので良いので、なにか作ってみましょう 学習のコツ
各要素技術のキャッチアップ • 好きな言語でやる ◦ テンション上がらない言語でやるのつらい ▪ 主要な言語であればたいていフレームワークがある ▪ 1つの言語でできれば、大抵の言語でできるようになる ▪
書いてて楽しいことが大事! 学習のコツ
各要素技術のキャッチアップ • 必要になったときに調べて実装する ◦ 最初から全部勉強するのはムリ! ▪ インプットだけで数年経っちゃうので、 作りたいものに必要な実装方法だけをとりあえず調べる ▪ 繰り返していけば、いつのまにかできることが増えている
• 一回で学ぶ量を最小限にして、 「できた!」を増やすことが大切 学習のコツ
各要素技術のキャッチアップ • 詳しいことは後から勉強する ◦ とりあえず実装方法だけ調べてやってみる ▪ 実装中は「こうやればできるんだな」にとどめておいて、 後から「どういう仕組みだったんだろう」に入る • 実装はノリが大切
一旦休むと再開するためのコストが高い ▪ 後からちゃんと分かって、その上で修正したほうが楽しい 学習のコツ
各要素技術のキャッチアップ • 技術書を読む ◦ ネットだけでは効率が悪い! ▪ ネット上の記事は玉石混交(石多め) • 取捨選択だけでも時間がかかるし難しい ▪
実績ある著者がまとめてくれた技術書はインプットに最適 ▪ デメリット:高い • 学校の図書館の購入申請などをうまく使おう! 学習のコツ
各要素技術のキャッチアップ • おすすめ技術書 ◦ 〇〇Webアプリケーション入門 ▪ とりあえず好きな言語でやれ ◦ Web技術がこれ一冊でしっかりわかる教科書 ▪
概観を掴むのにおすすめ ◦ プロになるためのWeb技術入門 ▪ これわか読んでから読むとめっちゃわかる 学習のコツ
各要素技術のキャッチアップ • おすすめ技術書(中級者向け) ◦ Web技術 ▪ Webを支える技術, Real World HTTP,
Web配信の技術 ◦ セキュリティ ▪ 徳丸本, フロントエンド開発のためのセキュリティ入門 ◦ DB ▪ 達人に学ぶDB設計/SQL, おうちで学べるDBのきほん 学習のコツ
各要素技術のキャッチアップ • おすすめ技術書(中級者向け) ◦ 仮想化・サーバ ▪ DockerとKubernetes, Linuxのしくみ(増補改訂版) ◦ クラウド
▪ ベンダー資格のテキスト (Solution Architectからがおすすめ) ◦ その他 ▪ 各技術・FWの公式ドキュメント・チュートリアル 学習のコツ
Webバックエンド、やりませんか? ご清聴ありがとうございました