Timeline

299 posts written so far.

2023 (23)
2020 (34)
How to Avoid Storing _class Field in MongoDB from Spring Boot
Encryption and Decryption in Java
MyBatis Error: Invalid bound statement (not found)
Can Spring Register and Use Multiple DataSources?
Code With Me: Pair Programming with IntelliJ IDEA
RestTemplate and WebClient
Cryptographic Techniques: Substitution, Transposition, Block Ciphers, and Stream Ciphers
How to Use the chmod Command on Linux
How to Measure Code Execution Time in Java
Symbolic Link
Design Your GitHub Profile
How to Fix a Node.js Project Not Being Recognized in IntelliJ
How to Get the auto_increment Key Value After Insert in MyBatis
How to Run Code When a Spring Boot Application Starts
What’s New in Java 14?
Builder Pattern for Many Parameters
Resolving DataBufferLimitException in Spring WebClient
Java Scripting API: Migrating to GraalVM
What Is the crossdomain.xml File?
Java Scripting API: Bindings, ScriptContext, and Execution Performance
Java Scripting API: Calling JavaScript Functions from Java
JSON Schema: Implementing a Validator in Java
JSON Schema: Combining Schemas, Conditional Schemas, and Reuse
What Is RSS? RSS 2.0 Specification and Format
JSON Schema: Basic Schema Definitions and Validation
JSON Schema: What Is JSON Schema?
Spring Cloud Config: Auto Refresh with Git Webhook
Comparing Performance: String vs StringBuilder vs StringBuffer in Java
Spring Cloud Config: Spring Cloud Bus Example
Spring Cloud Config: Introduction and Example
Add Comments to a Jekyll Blog with utterances
Can Spring Include Package Names in Bean Identifiers?
Why Constructor Injection Is Preferred Over Field Injection with @Autowired
How to Fix ClassNotFoundException: JAXBException When Running a Spring Boot Project on Java 9
2019 (70)
Stack Overflow, Growth and Experience Points for Developers
[Effective Java 3rd Edition] Item 11. Always Override hashCode When You Override equals
[Effective Java 3rd Edition] Item 76. Strive for Failure Atomicity
[Effective Java 3rd Edition] Item 23. Prefer Class Hierarchies to Tagged Classes
[Effective Java 3rd Edition] Item 24. Favor Static Member Classes over Nonstatic
[Effective Java 3rd Edition] Item 15. Minimize the Accessibility of Classes and Members
[Effective Java 3rd Edition] Item 86. Implement Serializable with Great Caution
[Effective Java 3rd Edition] Item 89. For Instance Control, Prefer Enum Types to readResolve
[Effective Java 3rd Edition] Item 90. Consider Serialization Proxies Instead of Serialized Instances
[Effective Java 3rd Edition] Item 88. Write readObject Methods Defensively
[Effective Java 3rd Edition] Item 87. Consider Using a Custom Serialized Form
[Effective Java 3rd Edition] Item 85. Prefer Alternatives to Java Serialization
[Effective Java 3rd Edition] Chapter 12. Serialization
[Effective Java 3rd Edition] Item 81. Prefer Concurrency Utilities to wait and notify
[Effective Java 3rd Edition] Item 80. Prefer Executors, Tasks, and Streams to Threads
[Effective Java 3rd Edition] Item 79. Avoid Excessive Synchronization
[Effective Java 3rd Edition] Chapter 11. Concurrency
[Effective Java 3rd Edition] Item 78. Synchronize Access to Shared Mutable Data
[Effective Java 3rd Edition] Chapter 10. Exceptions
[Effective Java 3rd Edition] Item 68. Adhere to Generally Accepted Naming Conventions
[Effective Java 3rd Edition] Item 62. Avoid Strings Where Other Types Are More Appropriate
Factory Method Pattern: Delegating Object Creation to Subclasses
[Effective Java 3rd Edition] Chapter 9. General Programming
What Is the Difference Between #{} and ${} in MyBatis?
[Effective Java 3rd Edition] Chapter 8. Methods
Java Serialization: readResolve and writeReplace
[Effective Java 3rd Edition] Item 44. Favor the Use of Standard Functional Interfaces
Java Serialization: writeObject and readObject
[Effective Java 3rd Edition] Chapter 7. Lambdas and Streams
[Effective Java 3rd Edition] Item 39. Prefer Annotations to Naming Patterns
[Effective Java 3rd Edition] Chapter 6. Enums and Annotations
[Effective Java 3rd Edition] Chapter 5. Generics
[Effective Java 3rd Edition] Chapter 4. Classes and Interfaces
Sorting a MySQL VARCHAR Column as a Number
Handling JSONP in Spring Boot and Solving CORS Issues
[Effective Java 3rd Edition] Chapter 3. Methods Common to All Objects
The Difference Between map and flatMap in Java
Squash Commits with git rebase
Java Serialization: What to Consider and Why It Is Discouraged
Building an IntelliJ Plugin: 3. Build & Publish
Building an IntelliJ Plugin: 2. Define an Action
Building an IntelliJ Plugin: 1. Environment Setup
Why Do We Need Vuex?
Manage Multiple Java Versions with jEnv
Fixing IntelliJ Error: source release 8 requires target release 1.8
Detect JAXB Parsing Errors with ValidationEventHandler
JAXB Marshalling and Unmarshalling
FTP Active vs Passive Mode
Java Exceptions: Checked vs Unchecked
Java Licensing? OpenJDK vs Oracle JDK
[Effective Java 3rd Edition] Chapter 2. Creating and Destroying Objects
Java Streams: 5. Common Mistakes
Java Streams: 4. Examples
Setting Up a Spring MVC + Maven Project in IntelliJ
Java Streams: 3. Terminal Operations
Java Streams: 2. Intermediate Operations
Java Streams: 1. API Overview and Stream Creation
[Effective Java 3rd Edition] Item 17. Minimize Mutability
The final Keyword in Java
[Effective Java 3rd Edition] Item 82. Document Thread Safety
[Effective Java 3rd Edition] Item 74. Document All Exceptions Thrown by Each Method
Numeric Literals and Underscores in Java
[Effective Java 3rd Edition] Item 66. Use Native Methods Judiciously
How to Autowire a Static Field
[Effective Java 3rd Edition] Item 58. Prefer for-each Loops to Traditional for Loops
[Effective Java 3rd Edition] Item 8. Avoid Finalizers and Cleaners
Multiple Tomcat Instances
[Effective Java 3rd Edition] Item 31. Use Bounded Wildcards to Increase API Flexibility
[Effective Java 3rd Edition] Item 50. Make Defensive Copies When Needed
Installing Node.js on macOS and Running an Example
2018 (97)
Getting Started with Node.js
Java Serialization: What Is SerialVersionUID?
Java Serialization: What Is Serialization?
[Effective Java 3rd Edition] Item 42. Prefer Lambdas to Anonymous Classes
Benefits of Java Generics and Pitfalls to Avoid
[Effective Java 3rd Edition] Item 4. Enforce Noninstantiability with a Private Constructor
Java Generics
Java 8 Date and Time
Why Java Date and Calendar Are a Bad Fit
[Effective Java 3rd Edition] Item 28. Prefer Lists to Arrays
Differences Between var, let, and const
[Effective Java 3rd Edition] Item 34. Use Enums Instead of Int Constants
Server-Side Rendering vs Client-Side Rendering
Python switch Statements
[Effective Java 3rd Edition] Item 18. Favor Composition over Inheritance
[Effective Java 3rd Edition] Item 26. Don't Use Raw Types
[Effective Java 3rd Edition] Item 10. Obey the general contract when overriding equals
Python URL Parsing and Calling (urllib)
Entering Korean Comments in Python (SyntaxError: Non-ASCII character)
[Effective Java 3rd Edition] Item 2. Consider a builder when faced with many constructor parameters
Python if __name__ == "__main__" Meaning
Argument and Parameter
Docker: Following Docker Installation and Commands
log4j, logback, and log4j2
Java Kafka Producer and Consumer configs Settings
Java Kafka Producer and Consumer Example Implementation
Installing Jekyll on Windows 10 and Creating GitHub Blog
Cron Expressions
Gradle Project Structure and Gradle Wrapper
What is Gradle?
Java Upcasting and Downcasting
Setting Up Log4j2 in Spring Boot
Setting Up Spring Boot Project in IntelliJ
grep Examples and Options
Java and Behavior Parameterization
Change Git Commit Author (Changing Commit Author)
Difference Between Process and Thread
Naver Interview Review (SW Development, Phone Interview, Technical Interview)
NHN Technology Services Written Test Review (SW Development, NTS pretest)
Software Maestro Interview Review (Group Discussion Evaluation, Coding Test)
Spring Bean Lifecycle Methods and Execution Order
Com2us Interview Review (Platform Development)
Korea Electric Power Corporation Interview Review (IT Information & Communication)
Java Method Overriding and Overloading
LINE Plus Interview Review (SW Development, Technical Interview)
LeetCode 344. Reverse String
Lotte Data Communication Company Spectacle Audition Review
Java String Objects and String Literals
Binary Search Tree: Implementation in Java
Binary Search Tree: Theory and Introduction
Observer Pattern
Java Collection Synchronization
LeetCode 2. Add Two Numbers
LeetCode 3. Longest Substring Without Repeating Characters
Java References and Garbage Collection
Spring Framework Summary: Testing
Java Garbage Collection
Functional Programming and Object-Oriented Programming
Spring Framework Summary: Inversion of Control
Why Are Computers Based on Binary System?
Spring Framework Summary: Design Patterns
Java String replaceAll Method $(Dollar Sign) Issue
Strategy Pattern
Finding Prime Numbers Quickly Using Sieve of Eratosthenes
Singleton Pattern
Java Interface
Java Reflection and Dynamic Loading
Resolving Jekyll Execution Error on MacOS High Sierra
Resolving MySQL Root Password Change Error on Mac OS
Levenshtein Distance Algorithm (Edit Distance Algorithm)
OSI 7 Layer
Time Complexity and Space Complexity
The this Keyword in Java
TCP vs UDP Differences and TCP/IP
Java File Compression and Decompression (ZipInputStream, ZipOutputStream)
Creating Java Executable Files
Abstract Classes and Methods in Java
Java Access Modifiers
Java Inheritance
Why Does Java Main Method Use public static?
NTFS, FAT32, and exFAT Formats
LeetCode 412. Fizz Buzz
LeetCode 292. Nim Game
Big Endian and Little Endian
scp and rsync (Secure Copy & Remote Synchronization)
LeetCode 1. Two Sum
Resolving Maven Tomcat 404 Error
Selection Sort
Quick Sort
Merge Sort
Connecting Apache and Tomcat (apache, tomcat, mod_jk)
jQuery Sortable (Implementing Sorting with Drag and Drop)
Java Finalize Method
Java Swing LookAndFeel
Java Data Types
Java Language Characteristics
Bracket Matching with a Stack (Java)
Migrated to GitHub Blog
January 1, 2018
Started Blog
June 18, 2014