Antigravity Tech BlogA tech blog about engineering, backend, and DevOps.https://023-dev.github.io/- 좋은 API 설계하기https://023-dev.github.io/blog/good-api/https://023-dev.github.io/blog/good-api/Tue, 23 Dec 2025 16:42:00 GMT
- 도메인 동상이몽(同床異夢)https://023-dev.github.io/blog/event-storming/https://023-dev.github.io/blog/event-storming/Thu, 27 Nov 2025 16:42:00 GMT
- 함께 자라기https://023-dev.github.io/blog/growing-together/https://023-dev.github.io/blog/growing-together/Sat, 01 Nov 2025 15:42:00 GMT
- 시스템 규모를 가정하고 추정하기https://023-dev.github.io/blog/backend/estimating-system-scale/https://023-dev.github.io/blog/backend/estimating-system-scale/Fri, 17 Apr 2026 23:00:00 GMT
- 모집 마감일에 몰리는 지원서 제출 동시성 문제 해결하기https://023-dev.github.io/blog/backend/ject-apply-lock-concurrency/https://023-dev.github.io/blog/backend/ject-apply-lock-concurrency/Tue, 17 Mar 2026 23:00:00 GMT
- 실행 계획과 쿼리 최적화https://023-dev.github.io/blog/database/database-explain-query-hint/https://023-dev.github.io/blog/database/database-explain-query-hint/Thu, 16 Jan 2025 18:00:00 GMT
- 이 이름(Naming)이 최선인가?https://023-dev.github.io/blog/smart-convention/https://023-dev.github.io/blog/smart-convention/Sun, 07 Sep 2025 02:00:00 GMT
- 인덱스만 사용하면 성능이 향상될까?https://023-dev.github.io/blog/database/database-index-sql/https://023-dev.github.io/blog/database/database-index-sql/Mon, 27 Jan 2025 18:00:00 GMT
- 서킷 브레이커을 사용헌 Redis 장애 전파 막기https://023-dev.github.io/blog/backend/ject-circuitbreaker-redis/https://023-dev.github.io/blog/backend/ject-circuitbreaker-redis/Sun, 22 Mar 2026 23:00:00 GMT
- DBMS는 트랜잭션을 어떻게 관리할까?https://023-dev.github.io/blog/database/database-transaction/https://023-dev.github.io/blog/database/database-transaction/Wed, 29 Jan 2025 11:00:00 GMT
- 무질서한 스키마를 통제하기https://023-dev.github.io/blog/database/database-migration-flyway/https://023-dev.github.io/blog/database/database-migration-flyway/Mon, 09 Feb 2026 23:00:00 GMT
- Utility Class에서 생성자를 private으로 선언해야 하는 이유https://023-dev.github.io/blog/java/code-style/https://023-dev.github.io/blog/java/code-style/Tue, 15 Apr 2025 00:00:00 GMT
- ArrayList 컬렉션https://023-dev.github.io/blog/java/java-arraylist/https://023-dev.github.io/blog/java/java-arraylist/Sun, 17 Nov 2024 00:00:00 GMT
- Callable, Future, ExecutorService에 대한 이해https://023-dev.github.io/blog/java/java-callable-future-executor/https://023-dev.github.io/blog/java/java-callable-future-executor/Tue, 19 May 2026 00:00:00 GMT
- 자바 코드는 JVM에서 어떻게 실행될까?https://023-dev.github.io/blog/java/java-code-jvm-execution-process/https://023-dev.github.io/blog/java/java-code-jvm-execution-process/Thu, 14 May 2026 00:00:00 GMT
- CompletableFuture에 대한 이해https://023-dev.github.io/blog/java/java-completablefuture/https://023-dev.github.io/blog/java/java-completablefuture/Tue, 19 May 2026 18:00:00 GMT
- SynchronizedMap와 ConcurrentHashMaphttps://023-dev.github.io/blog/java/java-concurrenthashmap-synchronizedmap/https://023-dev.github.io/blog/java/java-concurrenthashmap-synchronizedmap/Fri, 22 Nov 2024 00:00:00 GMT
- 자바 에러(Error)와 예외처리(Exception)https://023-dev.github.io/blog/java/java-exception-error/https://023-dev.github.io/blog/java/java-exception-error/Tue, 05 Nov 2024 00:00:00 GMT
- 동일성(Identity)와 동등성(Equality)https://023-dev.github.io/blog/java/java-identity-equality/https://023-dev.github.io/blog/java/java-identity-equality/Thu, 19 Dec 2024 00:00:00 GMT
- JVM은 컴파일러일까, 인터프리터일까?https://023-dev.github.io/blog/java/java-jvm-is-compile-interpreter/https://023-dev.github.io/blog/java/java-jvm-is-compile-interpreter/Thu, 19 Mar 2026 23:00:00 GMT
- 자바 Object 클래스https://023-dev.github.io/blog/java/java-object/https://023-dev.github.io/blog/java/java-object/Mon, 16 Dec 2024 00:00:00 GMT
- 기본형(Primitive)과 참조형(Reference)https://023-dev.github.io/blog/java/java-primitive-reference/https://023-dev.github.io/blog/java/java-primitive-reference/Fri, 20 Dec 2024 00:00:00 GMT
- 자바 람다(Lambda)와 스트림(Stream)https://023-dev.github.io/blog/java/java-lambda-stream/https://023-dev.github.io/blog/java/java-lambda-stream/Tue, 05 Nov 2024 00:00:00 GMT
- 자바의 문자열 최적화(String Optimization)https://023-dev.github.io/blog/java/java-string-optimization/https://023-dev.github.io/blog/java/java-string-optimization/Tue, 24 Dec 2024 00:00:00 GMT
- 자바 문자열(String)https://023-dev.github.io/blog/java/java-string/https://023-dev.github.io/blog/java/java-string/Tue, 05 Nov 2024 18:00:00 GMT
- String과 StringBuffer 그리고 StringBuilderhttps://023-dev.github.io/blog/java/java-string-stringbuffer-stringbuilder/https://023-dev.github.io/blog/java/java-string-stringbuffer-stringbuilder/Tue, 05 Nov 2024 18:00:00 GMT
- System.out.println()를 사용한 로깅을 피해야 하는 이유https://023-dev.github.io/blog/java/java-systemout-log/https://023-dev.github.io/blog/java/java-systemout-log/Tue, 05 Nov 2024 18:00:00 GMT
- Thread와 Runnable에 대한 이해https://023-dev.github.io/blog/java/java-thread-runnable/https://023-dev.github.io/blog/java/java-thread-runnable/Tue, 19 May 2026 00:00:00 GMT
- throw와 throws 그리고 Chained Exceptionhttps://023-dev.github.io/blog/java/java-throw-chained-exception/https://023-dev.github.io/blog/java/java-throw-chained-exception/Wed, 06 Nov 2024 18:00:00 GMT
- Java 애플리케이션에서 첫 요청이 느린 이유: JIT 컴파일러와 JVM Warm-uphttps://023-dev.github.io/blog/java/jit-compiler-warm-up/https://023-dev.github.io/blog/java/jit-compiler-warm-up/Fri, 15 May 2026 00:00:00 GMT
- JVM 튜닝에서 -Xms와 -Xmx를 같은 값으로 두는 이유https://023-dev.github.io/blog/java/jvm-xms-xmx-same-size/https://023-dev.github.io/blog/java/jvm-xms-xmx-same-size/Thu, 14 May 2026 00:00:00 GMT
- IP 주소 체계https://023-dev.github.io/blog/network/ip-address-system/https://023-dev.github.io/blog/network/ip-address-system/Fri, 03 Oct 2025 23:00:00 GMT
- 네트워크https://023-dev.github.io/blog/network/network/https://023-dev.github.io/blog/network/network/Tue, 30 Sep 2025 23:00:00 GMT
- 라우팅https://023-dev.github.io/blog/network/routing/https://023-dev.github.io/blog/network/routing/Fri, 03 Oct 2025 23:00:00 GMT
- 프로토콜https://023-dev.github.io/blog/network/protocol/https://023-dev.github.io/blog/network/protocol/Tue, 30 Sep 2025 23:00:00 GMT
- GitHub Actions에서 Private 인스턴스로 점프하기https://023-dev.github.io/blog/server/gitactions-connect-private-instance/https://023-dev.github.io/blog/server/gitactions-connect-private-instance/Thu, 20 Mar 2025 02:00:00 GMT
- 배포했더니 서버가 죽을 뻔 했던 건에 대하여https://023-dev.github.io/blog/server/memory-overshooting-when-deployment/https://023-dev.github.io/blog/server/memory-overshooting-when-deployment/Thu, 29 Jan 2026 15:42:00 GMT
- CPU 스케줄링https://023-dev.github.io/blog/os/cpu-scheduling/https://023-dev.github.io/blog/os/cpu-scheduling/Fri, 12 Sep 2025 23:00:00 GMT
- 교착 상태https://023-dev.github.io/blog/os/deadlock/https://023-dev.github.io/blog/os/deadlock/Sun, 21 Sep 2025 23:00:00 GMT
- 커널의 작동 방식https://023-dev.github.io/blog/os/kernel/https://023-dev.github.io/blog/os/kernel/Thu, 04 Sep 2025 23:00:00 GMT
- 리눅스와 친한 척 해보기https://023-dev.github.io/blog/os/linux/https://023-dev.github.io/blog/os/linux/Mon, 10 Nov 2025 00:00:00 GMT
- 메모리 관리https://023-dev.github.io/blog/os/memory/https://023-dev.github.io/blog/os/memory/Mon, 22 Sep 2025 23:00:00 GMT
- 운영체제의 개념과 구조https://023-dev.github.io/blog/os/operating-system/https://023-dev.github.io/blog/os/operating-system/Wed, 03 Sep 2025 23:00:00 GMT
- 프로세스https://023-dev.github.io/blog/os/process/https://023-dev.github.io/blog/os/process/Mon, 08 Sep 2025 23:00:00 GMT
- 프로세스 동기화https://023-dev.github.io/blog/os/process-sync/https://023-dev.github.io/blog/os/process-sync/Fri, 19 Sep 2025 23:00:00 GMT
- 쓰레드 https://023-dev.github.io/blog/os/thread/https://023-dev.github.io/blog/os/thread/Tue, 23 Sep 2025 23:00:00 GMT
- 가상 메모리https://023-dev.github.io/blog/os/virtual-memory/https://023-dev.github.io/blog/os/virtual-memory/Tue, 23 Sep 2025 23:00:00 GMT
- Spring에서 Event 처리하기https://023-dev.github.io/blog/spring/spring-event-processor/https://023-dev.github.io/blog/spring/spring-event-processor/Wed, 21 Jan 2026 09:00:00 GMT
- 디렉토리 스캔 공격은 어떻게 대응해야 할까?https://023-dev.github.io/blog/server/static-resources-attack/https://023-dev.github.io/blog/server/static-resources-attack/Fri, 28 Feb 2025 23:00:00 GMT
- 클래스와 멤버의 접근 권한을 최소화하라https://023-dev.github.io/blog/java/effective-java/item-15/https://023-dev.github.io/blog/java/effective-java/item-15/Thu, 16 Jan 2025 00:00:00 GMT
- public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라https://023-dev.github.io/blog/java/effective-java/item-16/https://023-dev.github.io/blog/java/effective-java/item-16/Thu, 09 Jan 2025 00:00:00 GMT
- 인터페이스는 구현하는 쪽을 생각해 설계하라https://023-dev.github.io/blog/java/effective-java/item-21/https://023-dev.github.io/blog/java/effective-java/item-21/Thu, 16 Jan 2025 01:00:00 GMT
- 제네릭과 가변인수를 함께 쓸 때는 신중하라https://023-dev.github.io/blog/java/effective-java/item-32/https://023-dev.github.io/blog/java/effective-java/item-32/Thu, 23 Jan 2025 01:00:00 GMT
- int 상수 대신 열거 타입을 사용하라https://023-dev.github.io/blog/java/effective-java/item-34/https://023-dev.github.io/blog/java/effective-java/item-34/Wed, 29 Jan 2025 11:00:00 GMT
- 스트림은 주의해서 사용하라https://023-dev.github.io/blog/java/effective-java/item-45/https://023-dev.github.io/blog/java/effective-java/item-45/Wed, 05 Feb 2025 11:00:00 GMT
- 적시에 방어적 복사본을 만들라https://023-dev.github.io/blog/java/effective-java/item-50/https://023-dev.github.io/blog/java/effective-java/item-50/Thu, 13 Feb 2025 21:00:00 GMT
- 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라https://023-dev.github.io/blog/java/effective-java/item-41/https://023-dev.github.io/blog/java/effective-java/item-41/Thu, 30 Jan 2025 11:00:00 GMT
- 라이브러리를 익히고 사용하라https://023-dev.github.io/blog/java/effective-java/item-59/https://023-dev.github.io/blog/java/effective-java/item-59/Fri, 21 Feb 2025 21:00:00 GMT
- 정확한 답이 필요하다면 float와 double은 피하라https://023-dev.github.io/blog/java/effective-java/item-60/https://023-dev.github.io/blog/java/effective-java/item-60/Sat, 22 Feb 2025 21:00:00 GMT
- 다른 타입이 적절하다면 문자열 사용을 피하라https://023-dev.github.io/blog/java/effective-java/item-62/https://023-dev.github.io/blog/java/effective-java/item-62/Sun, 23 Feb 2025 09:00:00 GMT
- 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라https://023-dev.github.io/blog/java/effective-java/item-70/https://023-dev.github.io/blog/java/effective-java/item-70/Thu, 27 Feb 2025 09:00:00 GMT
- 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라https://023-dev.github.io/blog/java/effective-java/item-05/https://023-dev.github.io/blog/java/effective-java/item-05/Wed, 01 Jan 2025 00:00:00 GMT
- 과도한 동기화는 피하라https://023-dev.github.io/blog/java/effective-java/item-79/https://023-dev.github.io/blog/java/effective-java/item-79/Thu, 06 Mar 2025 20:00:00 GMT
- readObject 메서드는 방어적으로 작성하라https://023-dev.github.io/blog/java/effective-java/item-88/https://023-dev.github.io/blog/java/effective-java/item-88/Thu, 13 Mar 2025 20:00:00 GMT
- 나는 항상 모니터링할 수 없다https://023-dev.github.io/blog/server/monitoring/cloudwatch-alarm-monitoring/https://023-dev.github.io/blog/server/monitoring/cloudwatch-alarm-monitoring/Sat, 28 Feb 2026 16:18:00 GMT