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
60k
0
Share
HTTPサーバー開発課題について / About_HTTP_server_development
Cybozu
PRO
August 19, 2020
More Decks by Cybozu
See All by Cybozu
新卒1年目QAが リリース基準の"なぜ"をたどってみた
cybozuinsideout
PRO
1
27
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
80k
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
70
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
310
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
770
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
1.2k
LLMアプリの品質保証
cybozuinsideout
PRO
1
570
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
230
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
200
Other Decks in Technology
See All in Technology
Loadbalancing exporter internals
ymotongpoo
1
120
R&D 祭 2024 アニメエフェクト作成の効率化
olmdrd
PRO
0
110
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
0
300
その英語学習、AWSで代替できませんか?
suzutatsu
1
190
GCASアップデート(202603-202605)
techniczna
0
240
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
0
280
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
150
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
2
420
LT準備のToilを削減 〜決定論×確率論のスライド生成CLI〜
shukob
0
120
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
3
270
社内RAGの導入で気を付けたポイント
yakumo
1
140
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Six Lessons from altMBA
skipperchong
29
4.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
How to Talk to Developers About Accessibility
jct
2
200
Are puppies a ranking factor?
jonoalderson
1
3.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
How GitHub (no longer) Works
holman
316
150k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
140
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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