포스트 목록
-
[학습기록] 안전한 파일 업로드 기능을 구현하는 방법: (3) KISA 소프트웨어 개발보안 가이드 살펴보기
-
[학습기록] 안전한 파일 업로드 기능을 구현하는 방법: (2) OWASP File Upload Cheat Sheet 살펴보기
-
[학습기록] 안전한 파일 업로드 기능을 구현하는 방법: (1) 안전한 파일 업로드란 무엇인가?
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (별첨) Hash란 무엇일까?
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (6) 해시 충돌과 서비스 거부 취약점
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (별첨) Exception과 Error는 무엇이 다를까?
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (5) 안전한 예외 처리와 서비스 안정성
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (별첨) 최댓값에 1을 더하면 왜 음수가 될까?
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (4) 정수 오버플로로 인한 자원 제한 우회
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (별첨) 람다식이 어려웠던 이유
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (3) 시스템 자원 반환의 중요성
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (2) 과도한 자원 소비의 위험성
-
[학습기록] Java 개발자가 알아야 할 서비스 거부(DoS) 취약점: (1) 서비스 거부 취약점이란?
-
[잡담] 바둑 하수인 팀장이 AI에 의존하는 신입 개발자를 보며...
-
[잡담] 개발자는 바쁜데 개발팀은 왜 느려질까?
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (7) Scouter Alert 외부 연동 방법과 PagerDuty On-call 검토
-
[회고] 직장 내 갈등, 문제 제기보다 중요한 것은 전달 방식이었다
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (6) XLog 오류를 이용한 Alert 발생 테스트
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (5) Scouter Alert 설정과 장애 감지 테스트
-
[트러블슈팅] Spring Boot 3 + Scouter 2.17.1에서 XLog가 표시되지 않는 문제 해결
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (4) JMeter로 부하를 발생시키며 운영 정보 확인하기
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (3) Scouter Client 설치와 운영 정보 모니터링
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (2) Spring Boot 애플리케이션에 Scouter Agent 연동
-
[토이프로젝트] Scouter와 PagerDuty로 장애 감지부터 On-call까지: (1) Scouter Server 설치와 모니터링 환경 준비
-
[학습기록] CI와 DI의 차이점: 개인정보 식별자는 어떻게 관리해야 할까?
-
[잡담] 40대 이직 현실, 추천 입사와 낙하산이라는 시선
-
[지식공유] Lombok @ToString 사용 시 로그에 개인정보가 기록될 수 있는 이유와 안전한 사용법
-
[도서리뷰] 리더존망: 왜 조직의 속도는 리더에서 멈추는가
-
[토이프로젝트] Vault 클러스터 구축: (4) Load Balancer로 단일 진입점 구성
-
[토이프로젝트] Vault 클러스터 구축: (3) Leader Election과 Failover 검증
-
[토이프로젝트] Vault 클러스터 구축: (2) 클러스터 구성하기
-
[토이프로젝트] Vault 클러스터 구축: (1) 개념과 동작 원리
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (7) 정적 콘텐츠 처리 기능 검증
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (6) SSL 종료 기능 검증
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (5) 로드밸런싱 기능 검증
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (4) 애플리케이션 서버 보호 기능 검증
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (3) Reverse Proxy 서버 구축
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (2) 애플리케이션 서버 구현
-
[토이프로젝트] Nginx로 Reverse Proxy 구성하기: (1) 개념과 동작 원리
-
[트러블슈팅] 가상머신은 생각보다 빨리 디스크가 가득 찬다: Docker No space left on device 해결
-
[학습기록] JMeter를 이용한 Vault Transit Engine 성능 테스트
-
[학습기록] 유틸리티 클래스에 private 생성자가 필요한 이유: SonarQube 권고사항
-
[회고] 블로그 리라이팅은 왜 해야 할까? 5개월 운영하며 느낀 변화
-
[토이프로젝트] Vault를 이용한 KMS 대체 검토: (4) Java 애플리케이션에서 Vault Transit Engine 연동하기
-
[토이프로젝트] Vault를 이용한 KMS 대체 검토: (3) Transit Engine을 이용한 암·복호화 실습
-
[토이프로젝트] Vault를 이용한 KMS 대체 검토: (2) KV Engine을 이용한 암호화 키 저장과 조회 실습
-
[토이프로젝트] Vault를 이용한 KMS 대체 검토: (1) Vault 개념과 설치
-
[토이프로젝트] Spring Boot Retry + Circuit Breaker 구현: 장애 대응 패턴 실습
-
[학습기록] 서킷 브레이커(Circuit Breaker)란? 장애 확산을 막는 동작 원리와 재시도(Retry)와의 차이
-
[학습기록] 데이터 품질을 지키는 방법: 정규화(Normalization)와 검증(Validation)
-
[학습기록] Java AES-GCM 구현 시 실수하기 쉬운 4가지
-
[학습기록] AES 암호화 모드 비교: ECB, CBC, GCM 차이와 GCM을 사용하는 이유
-
[학습기록] 폐쇄망 개발환경에서는 라이브러리를 어떻게 관리할까? Nexus Repository가 필요한 이유
-
[토이프로젝트] Nexus Repository로 내부 라이브러리 저장소 구축하기: 라이브러리 배포와 사용까지
-
[학습기록] 소프트웨어 아키텍처: (6) 토폴로지(Topology)
-
[학습기록] 소프트웨어 아키텍처: (5) 아키텍처 결정 레코드(Architecture Decision Record, ADR) 문서 작성법
-
[학습기록] 소프트웨어 아키텍처: (4) 서비스 디스커버리 with 마이크로서비스 아키텍처(MSA)
-
[학습기록] JWT(JSON Web Token)란? 구조(Header, Payload, Signature)와 동작 원리
-
[학습기록] 소프트웨어 아키텍처: (3) 서비스 기반 아키텍처 스타일
-
[학습기록] 소프트웨어 아키텍처: (2) 계약에 의한 설계(Design by Contract)
-
[학습기록] 소프트웨어 아키텍처: (1) 도메인,모듈,컴포넌트,아티팩트 그리고 퀀텀
-
[토이프로젝트] Spring Boot Logback 로그 마스킹 구현: (3) 동작 검증과 한계
-
[토이프로젝트] Spring Boot Logback 로그 마스킹 구현: (2) PatternLayout 확장으로 로그 마스킹 구현하기
-
[토이프로젝트] Spring Boot Logback 로그 마스킹 구현: (1) PatternLayout 방식을 선택한 이유
-
[학습기록] Spring 애플리케이션 설정 관리: (2) @ConditionalOnProperty 사용법과 활용 예제
-
[학습기록] Spring 애플리케이션 설정 관리: (1) @ConfigurationProperties를 사용하는 이유
-
[토이 프로젝트] DB 컬럼 암호화: (5) 동작의 흐름 및 제약사항
-
[토이 프로젝트] DB 컬럼 암호화: (4) 핵심 구현체
-
[토이 프로젝트] DB 컬럼 암호화: (3) 프로젝트 구조 살펴보기
-
[토이프로젝트] JPA DB 컬럼 암호화: (2) AttributeConverter를 선택한 이유
-
[토이프로젝트] JPA DB 컬럼 암호화: (1) 애플리케이션 레벨 암호화를 고려한 이유
-
[트러블슈팅] Spring JPA Auditing이 동작하지 않는 문제 해결: @EnableJpaAuditing 설정 누락
-
[학습기록] Spring 생성자 주입을 사용하는 이유: @Autowired 필드 주입과 차이점
-
[학습기록] JPA @MappedSuperclass로 공통 엔티티 속성 관리하기
-
[회고] 2025년 한 해를 돌아보며....
-
[학습기록] 폐쇄망 네트워크에서 Trivy로 소스코드의 보안 취약점 진단하기
-
[회고] API 게이트웨이를 DMZ에서 TrustZone으로 이전한 이유
-
[잡담] GitHub에 블로그 개설 with ChatGPT