<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Project on blog.212clab</title><link>https://212clab.pages.dev/en/project/</link><description>Recent content in Project on blog.212clab</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://212clab.pages.dev/en/project/index.xml" rel="self" type="application/rss+xml"/><item><title>PlayBall — Baseball Ticket Booking Platform</title><link>https://212clab.pages.dev/en/project/playball/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://212clab.pages.dev/en/project/playball/</guid><description>&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Item&lt;/th&gt;
 &lt;th&gt;Details&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Period&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;2026.01 ~ 2026.04&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Team Project (KTCloud TechUp Alliance)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Team size&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;16 members&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Role&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;DevOps / Infrastructure Engineer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Service&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://playball.one"&gt;playball.one&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/212clab/330-playball-infra"&gt;330-playball-infra&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Slides&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://drive.google.com/file/d/1rKzKeAB9tI6TFs3Nn6q-Tsc2rfzjcL-Z/view?usp=sharing"&gt;Presentation Deck (Google Drive)&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://212clab.pages.dev/en/troubleshooting/?project=330-playball-infra"&gt;Full list&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;I designed and operated the full infrastructure for PlayBall, a baseball ticket booking platform. The infrastructure was shaped around five key requirements: fast dev environment setup, cost efficiency, operational observability, security, and handling traffic spikes.&lt;/p&gt;</description></item><item><title>Protocol Deep Dive — Network Protocol Layer-by-Layer Analysis</title><link>https://212clab.pages.dev/en/project/protocol-deep-dive/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://212clab.pages.dev/en/project/protocol-deep-dive/</guid><description>&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Item&lt;/th&gt;
 &lt;th&gt;Details&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Period&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;2026.05 ~ (in progress)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Personal learning project&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Language&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Go&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://github.com/212clab/315-protocol-deep-dive"&gt;315-protocol-deep-dive&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;A project to implement the inner workings of network protocols directly in code, and compare differences across layers through benchmarks. Questions like &amp;ldquo;why is gRPC faster?&amp;rdquo; and &amp;ldquo;how different are TCP and UDP in practice?&amp;rdquo; are answered through direct measurement.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="protocols-compared"&gt;Protocols Compared&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Layer&lt;/th&gt;
 &lt;th&gt;Protocol&lt;/th&gt;
 &lt;th&gt;Key Characteristics&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L3&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;ICMP&lt;/td&gt;
 &lt;td&gt;No handshake, raw ICMP header, TTL&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L4&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;3-way handshake, ordered delivery, flow control&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L4&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;UDP&lt;/td&gt;
 &lt;td&gt;Connectionless, unordered, packet loss possible&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L7&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;HTTP/1.1&lt;/td&gt;
 &lt;td&gt;Text headers, 1 request per connection vs keep-alive&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L7&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;HTTP/2&lt;/td&gt;
 &lt;td&gt;TLS+ALPN, multiplexing, HPACK header compression&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L7&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;gRPC&lt;/td&gt;
 &lt;td&gt;Protobuf over HTTP/2, Unary/ServerStream/Bidi&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;L7&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;gRPC-Web&lt;/td&gt;
 &lt;td&gt;gRPC from the browser via HTTP/1.1 proxy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="structure"&gt;Structure&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;├── l3/icmp/ ICMP ping
├── l4/tcp/ TCP echo server/client
├── l4/udp/ UDP echo server/client
├── l7/http1/ HTTP/1.1 server/client
├── l7/http2/ HTTP/2+TLS server/client
├── l7/grpc/ gRPC server/client + proto
├── l7/grpcweb/ gRPC-Web proxy + browser demo
├── benchmark/ Full protocol benchmark suite
├── dashboard/ Chart.js web dashboard
└── cmd/ CLI entrypoints
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Each protocol is implemented as a server/client pair, benchmarked with the same payload to compare latency, throughput, and overhead.&lt;/p&gt;</description></item></channel></rss>