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
kintone開発チームの紹介
cybozuinsideout
PRO
0
74k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
60
AIツール開発ワークショップ(Dify)【サイボウズ新人研修2025】
cybozuinsideout
PRO
20
22k
モバイル【サイボウズ新人研修2025】
cybozuinsideout
PRO
3
3.8k
Git/GitHub を使う上で知っておくと嬉しいかも Tips【サイボウズ新人研修2025】
cybozuinsideout
PRO
14
10k
GitHub Copilot活用【サイボウズ新人研修2025】
cybozuinsideout
PRO
15
14k
ソフトウェアライセンス【サイボウズ新人研修2025】
cybozuinsideout
PRO
13
8.3k
エンジニアのためのアウトプット講座 〜知識をシェアするはじめの一歩〜【サイボウズ新人研修2025】
cybozuinsideout
PRO
7
4.6k
Docker入門【サイボウズ新人研修2025】
cybozuinsideout
PRO
13
12k
Other Decks in Technology
See All in Technology
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
Rustから学ぶ 非同期処理の仕組み
skanehira
1
140
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
380
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
250
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
420
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.2k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
220
2025年夏 コーディングエージェントを統べる者
nwiizo
0
170
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
KATA
mclloyd
32
14k
Making Projects Easy
brettharned
117
6.4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Speed Design
sergeychernyshev
32
1.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Facilitating Awesome Meetings
lara
55
6.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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