| Ko

Web Authentication with Cookies, Sessions, and JWT

Web authentication solves a basic problem created by HTTP’s stateless nature: how a server can recognize the same user across multiple requests. Since Lou Montulli of Netscape Communications invented cookies in 1994, authentication has evolved from session-based approaches to token-based ones. Modern web applications widely use hybrid methods that combine JWT and Refresh Tokens to meet both security and scalability requirements. Understanding Authentication and Authorization The Difference Between Authentication and Authorization ...

June 2, 2024 · 11 min · 2300 words · In-Jun

Baekjoon 27440 Make it One 3 Solution

Baekjoon 27440 “Make it One 3” is a problem that asks for the minimum number of operations needed to reduce a very large integer up to 10^18 to 1 using three operations (divide by 3, divide by 2, subtract 1). Since the input range reaches 10^18, the standard dynamic programming approach (O(N) time, O(N) space) is infeasible. The problem must be solved efficiently using a recursive recurrence relation and hash map-based memoization, achieving O(log² n) time complexity. ...

May 29, 2024 · 7 min · 1446 words · In-Jun

Adjusting Git Commit Timestamps

Structure of Git Timestamps Git’s timestamp system was designed to record two separate times from when Linus Torvalds designed Git in 2005. This was because in Linux kernel development, the time a patch was written and the time it was actually committed could differ. AuthorDate and CommitDate Git commits have two timestamps. AuthorDate represents when the code was first written, meaning when the original author made the change. It is set via the git commit --date option or the GIT_AUTHOR_DATE environment variable. ...

May 25, 2024 · 5 min · 949 words · In-Jun

Spring Boot Development Best Practices

History and Background of Layered Architecture Layered architecture is a design pattern that emerged in 1990s enterprise application development to support the principle of separation of concerns. It was later systematized in Martin Fowler’s “Patterns of Enterprise Application Architecture” (2002). The traditional three-layer architecture consists of the presentation layer, business logic layer, and data access layer. Spring Framework made this structure easy to implement through @Controller, @Service, and @Repository annotations, and it became the de facto standard for Java enterprise development. ...

May 25, 2024 · 6 min · 1237 words · In-Jun

Entity Relationship Diagram (ERD)

History and Origins of ERD An Entity Relationship Diagram (ERD) is a visual representation of database structure. It shows relationships between database tables and helps make database design and structure easy to understand. Entity-Relationship modeling was developed for database design by Peter Chen and published in a 1976 paper. While serving as an assistant professor at MIT’s Sloan School of Management, he published a groundbreaking paper titled “The Entity-Relationship Model: Toward a Unified View of Data.” The paper was published in ACM’s Transactions on Database Systems and remains relevant today. ...

May 25, 2024 · 13 min · 2594 words · In-Jun

Understanding HTTP Methods GET, POST, PUT, PATCH, DELETE, and More

HTTP (HyperText Transfer Protocol) methods define how clients and servers communicate on the web. HTTP/1.1 (RFC 7231) defines 9 standard methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT, and TRACE. Each method has important properties such as safety and idempotency, which shape caching, retry behavior, RESTful API design, and web application development. History and Evolution of HTTP Methods What is HTTP (HyperText Transfer Protocol)? An application layer protocol for transferring hypertext documents between clients and servers on the web. It operates on a request-response model where the method used in each request defines the semantics of the operation to be performed. ...

May 25, 2024 · 13 min · 2717 words · In-Jun

Call by Value vs Call by Reference

Parameter passing determines what a function receives when you call it. The choice affects program behavior, safety, and performance across languages. Call by Value and Call by Reference are the two most familiar models, and understanding how they differ helps you write code that is both safer and more efficient. Overview of Function Parameter Passing What is Parameter Passing Mechanism? A parameter passing mechanism defines how actual parameter values or references are passed to formal parameters during function calls. Various methods exist including Call by Value, Call by Reference, Call by Name, and Call by Need. ...

May 16, 2024 · 10 min · 2097 words · In-Jun

Getting Started with Spring Boot

History and Background of Spring Framework Spring Framework is a Java-based enterprise application framework that first appeared in 2003. Its core ideas were introduced earlier by Rod Johnson in his 2002 book “Expert One-on-One J2EE Design and Development.” Spring emerged as an alternative to the complex and heavyweight EJB (Enterprise JavaBeans) 2.x model of the time, promoting a lighter approach built on POJOs (Plain Old Java Objects). EJB 2.x was tightly coupled to application containers, made unit testing difficult, and relied heavily on XML configuration. Spring addressed those problems by making IoC (Inversion of Control) and DI (Dependency Injection) its central concepts, which reduced coupling and improved testability. ...

May 16, 2024 · 6 min · 1213 words · In-Jun

Linux as a Development Operating System

Linux is an open-source operating system that has evolved for more than 30 years since Linus Torvalds first developed its kernel in 1991. It now runs on over 90% of the world’s servers, along with Android smartphones, embedded systems, and supercomputers. For developers, it is an especially practical platform because it aligns closely with server environments, provides powerful CLI tools, and works naturally with container technologies. History and Philosophy of Linux Evolution from Unix to Linux ...

May 16, 2024 · 8 min · 1557 words · In-Jun

Introduction to Java Programming

Java is an object-oriented programming language created in 1995 at Sun Microsystems by a team led by James Gosling. Under the slogan “Write Once, Run Anywhere,” it provides a platform-independent execution environment. As of 2024, Java consistently ranks among the top languages in the TIOBE index, making it one of the most widely used programming languages in the world. It remains a core language in fields such as enterprise applications, Android apps, big data processing, and web services. Java continues to evolve through its strong type system, rich standard library, and active community. ...

May 16, 2024 · 11 min · 2214 words · In-Jun
[email protected]