YK
← Posts

[WEEK8] Network and Thread

2026-04-23

This week's learning keywords were BSD Sockets, IP, TCP, HTTP, File Descriptors, and DNS.

I allocated the first day to conceptual learning and proceeded with writing code afterward. As most functionalities were handled by libraries, the code remained concise and I was able to grasp the overall implementation patterns. However, it was difficult to fully comprehend the fundamental operating principles beneath the abstracted layers. Nevertheless, while directly handling network resources, I practically experienced the Linux philosophy that "everything is a file." Ultimately, I realized that understanding lower-level systems requires looking directly into the kernel space, which makes me look forward to next week's curriculum dealing with deeper system internals.

The topic of this AI project was building a Mini DBMS - API Server. The primary focus during the implementation was on Thread Pools and Lock mechanisms. Previously, I only vaguely knew that thread creation involved significant overhead. Through this learning process, I clearly defined that threads are not simply collections of data structures, but independent execution flows, and that a process is essentially a group of these flows sharing virtual memory.

Through multiple AI projects, my understanding and utilization of AI tools have improved. Moving beyond simple code generation, I am now attempting a structural approach to modularize and efficiently reuse repetitive elements. Since my current focus is on establishing the overall architecture of the system, I have not yet introduced advanced techniques like harness engineering to structurally verify and fortify the code. However, I plan to actively apply such engineering methodologies in future projects that heavily utilize AI.