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
HTTPサーバー開発課題について / About_HTTP_server_development
Search
Cybozu
PRO
August 19, 2020
Technology
0
60k
HTTPサーバー開発課題について / About_HTTP_server_development
Cybozu
PRO
August 19, 2020
Tweet
Share
More Decks by Cybozu
See All by Cybozu
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
39k
2024/11/25 ReDesigner Online Meetup 会社紹介
cybozuinsideout
PRO
0
330
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
47k
テクニカルライティング
cybozuinsideout
PRO
4
480
サイボウズのアジャイルクオリティ2024
cybozuinsideout
PRO
3
400
モブに早く慣れたい人のためのガイド2024
cybozuinsideout
PRO
3
530
モバイル
cybozuinsideout
PRO
3
280
ソフトウェアライセンス
cybozuinsideout
PRO
4
250
ソフトウェアテスト
cybozuinsideout
PRO
3
410
Other Decks in Technology
See All in Technology
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
150
🌏丸い地球を効率的に平たくする 〜🗺️地図の幾何学とWeb地図技術〜
syotasasaki593876
0
120
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
6
1.5k
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
4
910
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
420
「完全に理解したTalk」完全に理解した
segavvy
1
270
20240513 - 框裡框外_文學院學生如何在AI世代安身立命 @ 淡江大學
dpys
0
630
TypeScript開発にモジュラーモノリスを持ち込む
sansantech
PRO
3
880
30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120
kazaneya
PRO
17
4.2k
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
710
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
980
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Adopting Sorbet at Scale
ufuk
74
9.1k
Scaling GitHub
holman
459
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Language of Interfaces
destraynor
155
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
850
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
HTTPサーバー開発課題について 2020/6/22
コンセプト ▌必修講義と同様 l 誰に: 開発/運⽤本部に配属される新⼊社員 l 何を: どのチームに⾏っても必要となる基礎的な知識/技術/ ツールを学び、体験できた ▌具体的には、HTTPという基礎についてRFCを読んで実現する
という活動を通して知識を学び、開発を体験してほしい
やること ▌HTTPサーバーを開発し、最終⽇に成果発表をしてください l 期間: 6/22(⽉)-26(⾦) ▌ルール l チームで⼀つのHTTPサーバーを開発してください l チームにつき⼀⼈メンターがつくので、相談しながら進め
てください l 利⽤する⾔語/ライブラリもチームやメンターと相談して決 めてください
利⽤するライブラリの決め⽅ ▌なるべく学びを多くするという⽬的で選択してください l スキルが弱いチームはライブラリを使って期間内に終えら れた⽅が学びがあるでしょう l ⼒のあるチームはなるべくライブラリを使わず作った⽅が 学びがあるでしょう ▌メンターと相談しつつ決めてください
参考: 2018年の条件 ▌⾔語: Python 3.x ▌ルール l 標準ライブラリの「21.インターネットプロトコルとサポー ト」は利⽤禁⽌ l
それ以外の標準ライブラリは利⽤可能 l 外部ライブラリは利⽤禁⽌
課題のレベル 1. HTTPのリクエストを解析して、解析した結果をコンソールに表⽰する 2. HTTPのリクエストを受け取ったら、固定の値でいいので正しいレスポ ンスを返す l リクエストが不正の時はエラーのレスポンスを返す 3. リクエストのパスに応じて、サーバー上のファイルを読み込んで、その
内容を返す 4. マルチプロセスやマルチスレッドにより、同時に複数のリクエストを処 理できるようにする 5. HTTP/1.1の仕様にできる限り準拠する
進め⽅ ▌社内githubにリポジトリを作ってください l こまめにcommit, pushしてください l branchやPull Requestの使⽤はお任せします ▌課題のレベルに沿って進めるとやりやすいと思います ▌モブプロで実装を進めるのが推奨です
l モブプロをしない場合の作業分担はチームにお任せします lペアプロにしたり、個⼈作業にしたり ▌メンターは1⽇1時間程度サポートするくらいを想定してます
参考情報 ▌今まで実施した講義、演習、技術書精読 l HTTPのRFCは特に⼤事です l 「Webアプリケーション基礎」のEchoサーバーを拡張するといいか も l 正規表現使えるかも l
余裕があればユニットテストを書いてみてください ▌RFC 7230 l https://tools.ietf.org/html/rfc7230 ▌RFC 7231 l https://tools.ietf.org/html/rfc7231