Notes on software development and lessons learned.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Compare local storage and session storage by persistence and scope, see how they differ from cookies, and review common interview questions.
This article has not been translated yet.
Learn the first three normal forms, why reducing duplication matters, and the trade-offs of using denormalization to reduce JOINs and improve read performance.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Learn how database indexes improve SELECT performance, why indexing everything is impractical, and how faster reads trade off against slower writes.
This article has not been translated yet.
This article has not been translated yet.
Learn about actors, use cases, and scenarios, and write a use case specification with basic, alternative, and exception flows.
This article has not been translated yet.
Understand why a software requirements specification matters, what it contains, and how to write functional and nonfunctional requirements with concrete examples.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Review the characters and concepts from the three-day series, revisit easily confused Hanja, and prepare for exam day with last-minute tips.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Start preparing for the Hanja Level 4 exam from scratch. Learn common radicals and memorize 40 frequently tested characters with examples and memory aids.
Install Wireshark, learn the capture interface and display filters, and analyze a real HTTP request to see how network communication works.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Compare the seven-layer OSI model and the TCP/IP model, learn what each layer does, and follow a web request through the layers.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
A Python divide-and-conquer solution for counting monochromatic pieces of colored paper.
A Python solution to the Lost Parentheses problem using a greedy approach and expression parsing.
A Python BFS solution for counting connected cabbage groups and the minimum number of protective worms.
A Python graph-traversal solution for counting regions with and without red-green color weakness.
A Python BFS solution to finding the fewest die rolls in a game of snakes and ladders.
Prepare for developer hiring assessments with common personality questions, timed aptitude practice, and ways to answer honestly and consistently.
Connect the operating-system concepts from days 1–19 into a complete picture of processes, memory, files, protection, virtualization, and networks.
This article has not been translated yet.
Understand virtualization, virtual-machine architecture, hypervisors, hardware support, and their trade-offs.
Understand protection principles, domains, access-control matrices, ACLs, capabilities, and operating-system protection policies.
Learn how operating system security protects systems and user data, with examples of common threats, encryption, authentication, and app security.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Understand I/O hardware, controllers, kernel subsystems, drivers, system calls, DMA, STREAMS, and I/O scheduling.
Understand how virtual memory provides an address space larger than physical memory, with examples of demand paging, page replacement, and copy-on-write.
This article has not been translated yet.
This article has not been translated yet.
Understand deadlock, the Coffman conditions, and prevention, avoidance, detection, and recovery strategies with process and thread examples.
Explore practical synchronization scenarios, from classic problems to code examples, to prevent resource conflicts in concurrent environments and prepare for interviews.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
An operating system manages computer resources and connects users with hardware. Explore its core roles, structure, resource management, security, and virtualization.
Solve the Programmers SQL exercise by comparing each E. coli colony's size with the maximum for its year.
This article has not been translated yet.
A Python solution to the Representable Binary Tree problem from Programmers' 2023 Kakao Blind Recruitment.
A Python solution to Programmers' PCCP past-exam question 3, Finding Collision Risks.
Use collections, heapq, bisect, and itertools for data structures and coding-test problems in Python.
A practical overview of Python lists, tuples, dictionaries, and sets.
A solution to Baekjoon problem 1927.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Learn how to check independence and compute the expectation and variance of independent random variables through worked examples.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
TCP Reno congestion windows, slow start, congestion avoidance, AIMD, and responses to packet loss.
Network management infrastructure, managed devices, agents, and management information bases.
ICMP error reporting, echo messages, and its role in traceroute.
BGP operation, eBGP and iBGP sessions, route selection, and hot potato routing.
Scaling routing with autonomous systems and the operation of the OSPF link-state protocol.
Routing goals, network graphs, link-state and distance-vector algorithms, Dijkstra, Bellman–Ford, and their trade-offs.
An overview of the network control plane.
This article has not been translated yet.
Router architecture, input and output ports, switching fabrics, buffering, and packet scheduling.
Network-layer forwarding and routing, data and control planes, and network service models.
Learn the roles of models, views, and controllers and how they interact, with Java examples and comparisons across frameworks.
This article has not been translated yet.
Explore the core object-oriented design principles SOLID (SRP, OCP, LSP, ISP, DIP). Learn what each principle means and why it matters through Java examples, and how to apply them to build flexible, maintainable software.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Software verification and validation, inspections, testing stages, black-box and white-box testing, and equivalence partitioning.
Unit testing, regression tests, drivers and stubs, JUnit assertions, fixtures, and test-method structure.
Turn UML design class diagrams and interaction diagrams into classes, method bodies, and collection-based implementations.
Understanding visibility when designing interactions between objects.
Use case realization and operation contracts in object design with GRASP.
An introduction to the nine GRASP patterns, object responsibilities, coupling, and cohesion in software design.
Design class diagrams, association perspectives, keywords, stereotypes, and deriving classes and code from interaction diagrams.
This article has not been translated yet.
Object-level design in software engineering, including static and dynamic models.
An overview of logical architecture design in software engineering, including layers, UML package diagrams, and the separation of models and views.
This article has not been translated yet.
An overview of contention-free protocols in mobile communications, including FDMA, TDMA, CDMA, and radio link duplexing.
Multiple-access techniques in the MAC layer of wireless mobile communications.
Network architecture, SDUs and PDUs, and the OSI, TCP/IP, and hybrid reference models.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
Source coding, prefix codes, compression efficiency, and the Huffman coding algorithm.
Source coding and channel coding in wireless mobile communications.
Network congestion, its causes and costs, retransmissions, duplicate packets, and throughput under different scenarios.
Study notes for the third subject of Korea's Engineer Information Processing exam, covering database design and implementation.
This article has not been translated yet.
This article has not been translated yet.
Message authentication codes, HMAC construction and security, and block-cipher-based CBC-MAC.
Cryptographic hash requirements and the design of SHA-1, SHA-2, and SHA-3.
This article has not been translated yet.
This article has not been translated yet.
Digital signature algorithms, correctness, message authentication, and security against chosen-message attacks.
An explanation of ElGamal encryption used in public-key cryptography.
The Diffie–Hellman key-exchange algorithm, examples, computational assumptions, and man-in-the-middle attacks.
This article has not been translated yet.
This article has not been translated yet.
This article has not been translated yet.
An explanation of public-key encryption.
Stream ciphers, random and pseudorandom numbers, RC4, and an introduction to block-cipher modes.
This article has not been translated yet.
Feistel structure, DES permutations, S-boxes, key scheduling, security, and Triple DES.
The structure and computational security of block ciphers.
An introduction to symmetric-key encryption, block ciphers, and stream ciphers.
Classical encryption techniques: shift, affine, substitution, Vigenère, permutation, and LFSR ciphers.
An introduction to the basic concepts of cryptography.
Computer security, the CIA triad, vulnerabilities, attacks, countermeasures, and security strategies.
This article has not been translated yet.