It is my Style

고정 헤더 영역

글 제목

메뉴 레이어

It is my Style

메뉴 리스트

  • 홈
  • 태그
  • 분류 전체보기 (95)
    • Monolog (4)
    • Travel (26)
      • 여행 정보 (7)
      • 한국 여행 (11)
      • 다른나라 여행 (8)
    • Objective (0)
      • 목표 (0)
      • 계획 (0)
    • Developer (47)
      • Backend (18)
      • Java (5)
      • PHP (1)
      • MsSQL (2)
      • MySQL (6)
      • JavaScript (5)
      • SQLP 자격증 (4)
      • ETC (6)
    • Learning (0)
      • 학습정보 (0)
      • 영어 (0)
      • KH_정보교육원 (0)
    • Desire (1)
      • 신기한 것들 (0)
      • 사고싶은 것들 (1)
      • 유용한 것들 (0)
    • Review (17)
      • 책 (8)
      • 와인 (1)
      • 영화 (7)
      • 사진 (1)

검색 레이어

It is my Style

검색 영역

컨텐츠 검색

Developer/Backend

  • 비동기 처리란? 언제, 왜, 어떻게 사용하는가

    2025.05.29 by 웰크

  • Spring Boot에서 Redis 캐시 적용 전략과 실전 구현: 캐시 히트율 90% 달성하기

    2025.05.29 by 웰크

  • 백엔드 개발자, 협업이 어렵다고요? 스몰토크부터 시작해봐요

    2025.05.27 by 웰크

  • AWS SQS 선택기: Kafka와 RabbitMQ를 제치고 선택한 이유

    2025.05.15 by 웰크

  • JSON을 대체하는 데이터 포맷: LinkedIn, Uber, Slack, Auth0 사례 비교 분석

    2025.04.26 by 웰크

  • Java 19 + Spring Boot 3.1.2 JWT 인증 시스템 구축 가이드

    2025.04.25 by 웰크

  • 이해하기 쉽게 정리하는 클린 아키텍처

    2022.08.02 by 웰크

  • 코드 구성하기

    2022.06.13 by 웰크

비동기 처리란? 언제, 왜, 어떻게 사용하는가

비동기 처리란? 언제, 왜, 어떻게 사용하는가비동기 처리(asynchronous processing)는 백엔드 개발에서 성능, 확장성, 응답성을 높이기 위한 핵심 기법 중 하나입니다. 이 글에서는 비동기 처리의 개념부터 사용 시기, 실무 이슈, 테스트 전략, 실패 대응까지 모두 정리합니다.1. 비동기 처리란?비동기란 작업을 요청한 후, 그 결과를 기다리지 않고 다른 작업을 수행할 수 있는 방식입니다. 이는 주로 블로킹 I/O(예: 데이터베이스 조회, 파일 읽기, 외부 API 호출 등)에서 응답을 기다리는 동안 리소스를 낭비하지 않도록 설계하는 기법입니다.비유: 동기는 전화 통화, 비동기는 문자 메시지. 전자는 상대의 응답을 기다리며, 후자는 메시지만 보내고 기다리지 않습니다.// 동기 방식String r..

Developer/Backend 2025. 5. 29. 10:06

Spring Boot에서 Redis 캐시 적용 전략과 실전 구현: 캐시 히트율 90% 달성하기

🚀 Spring Boot에서 Redis 캐시 적용 전략과 실전 구현- 캐시 히트율 90% 달성하기API 응답 속도가 느리거나 DB 부하가 높을 때 가장 먼저 고려되는 해결책 중 하나는 캐시(Cache)입니다.하지만 단순히 Redis를 붙였다고 해서 성능이 무조건 좋아지진 않습니다.캐시 히트율(Cache Hit Rate)이 낮으면 Redis가 있어도 효과는 미미하죠.이번 글에서는 다음 내용을 다룹니다:캐시 히트율의 개념과 계산 방법DB와 캐시 간 데이터 불일치 문제 해결 전략실전 계층 구조에서의 캐시 적용 예시캐시 히트율을 높이기 위한 실전 팁@Cacheable, @CacheEvict 실전 코드 ✅ 캐시는 어디에 적용하는 게 좋을까? Controller vs Service캐시는 Controller에 직접..

Developer/Backend 2025. 5. 29. 09:22

백엔드 개발자, 협업이 어렵다고요? 스몰토크부터 시작해봐요

백엔드 개발자는 혼자 일하지 않습니다. 대부분의 회사에서 백엔드 개발자는 기획자, 프론트엔드 개발자, 앱 개발자, 그리고 디자이너, 마케팅, 운영팀과 함께 제품을 만들어갑니다. 이 과정에서 협업이 필수인데, 의외로 많은 백엔드 개발자들이 "협업"이라는 키워드에 약한 편입니다. 이번 글에서는 실무에서 제가 경험한 다양한 협업 상황과, 그 속에서 백엔드 개발자가 어떻게 소통하고 협업할 수 있는지에 대한 실전 중심의 협업 가이드를 공유합니다. ☕️ 협업의 시작은 스몰토크에서많은 백엔드 개발자들이 협업을 "회의"나 "기능 구현" 중심으로 생각하지만, 진짜 협업은 관계에서 시작됩니다. 스몰토크는 그 관계를 여는 열쇠입니다.점심시간에 지난 주말 이야기 나누기커피 한 잔 하면서 최근 관심사 이야기업무 중간에 잠깐 쉬..

Developer/Backend 2025. 5. 27. 18:08

AWS SQS 선택기: Kafka와 RabbitMQ를 제치고 선택한 이유

큐 시스템 비교 및 선택: AWS SQS vs RabbitMQ vs Kafka서비스를 개발하다 보면 어느 순간 ‘메시지 큐’를 도입할 타이밍이 옵니다.저희 팀도 서비스 간의 비동기 통신과 작업 분산을 위해 메시지 큐 시스템이 필요해졌고, 여러 가지 대안을 검토한 끝에 AWS SQS를 선택하게 되었습니다.이 글에서는 AWS SQS, RabbitMQ, Apache Kafka를 비교하며, 어떤 과정을 거쳐 SQS를 선택하게 되었는지를 공유드리고자 합니다.각 시스템은 특성과 목적이 뚜렷하기 때문에 “정답”은 없습니다. 하지만 실무 선택에 참고가 될 만한 기준은 존재합니다.왜 메시지 큐가 필요했을까?저희 프로젝트는 다음과 같은 요구사항을 갖고 있었습니다:비동기 처리로 서비스 응답 속도 개선비정기적으로 발생하는 대..

Developer/Backend 2025. 5. 15. 20:43

JSON을 대체하는 데이터 포맷: LinkedIn, Uber, Slack, Auth0 사례 비교 분석

JSON을 대체할 형식: LinkedIn, Uber, Slack, Auth0 사례 분석JSON은 오랫동안 데이터 직렬화의 표준처럼 사용되어 왔지만, 대규모 데이터 처리와 성능 최적화가 중요한 환경에서는 몇 가지 한계가 드러났습니다. 이 글에서는 JSON의 한계를 극복하고자 실제 대규모 서비스 기업들이 도입한 대체 형식들을 살펴봅니다. 1. LinkedIn: Protocol Buffers 통합LinkedIn은 성능 최적화를 위해 Google의 Protocol Buffers (Protobuf) 를 채택했습니다.특징: Protobuf는 이진(binary) 형식으로 데이터를 직렬화하여, JSON 대비 크기를 줄이고 파싱 속도를 크게 향상시킵니다.LinkedIn 사례: LinkedIn은 REST API 백엔드와 ..

Developer/Backend 2025. 4. 26. 13:08

Java 19 + Spring Boot 3.1.2 JWT 인증 시스템 구축 가이드

이 글은 Java 19, Spring Boot 3.1.2, Spring Security 6, Gradle 빌드 시스템 환경에서 JWT(JSON Web Token)를 기반으로 인증 시스템을 구축하는 과정을 정리한 중급 개발자용 실전 가이드입니다.✅ JWT의 장점과 단점🔷 장점서버가 상태를 저장하지 않아 확장성과 분산 아키텍처에 유리함사용자 정보와 권한을 클라이언트가 포함하여 요청할 수 있음인증 서버와 리소스 서버의 분리 용이🔶 단점토큰 무효화 어려움 (서버 세션 없음)페이로드 인코딩만 되어 있어 민감 정보 포함 불가탈취 시 위험 → HTTPS 및 토큰 저장 방식에 주의 필요⚙️ JWT 사용 시 고려사항HMAC 또는 RSA 서명 알고리즘 사용 (HS256, RS256 등)Access Token은 짧게, ..

Developer/Backend 2025. 4. 25. 20:44

이해하기 쉽게 정리하는 클린 아키텍처

이 글은 ‘만들면서 배우는 클린 아키텍처’ 라는 책으로 회사 내부 스터디를 하며, 이제 막 개발을 시작하시거나 개발자들과 협업하시는 분들을 위해 이해하기 쉽게 클린 아키텍처란 무엇인지에 대한 글을 작성해 보았습니다 개발자들이 아키텍처 설계하는 기간 동안 무엇을 하는지 이해해보는 시간이 되셨으면 좋겠습니다 아키텍처란 무엇일까? 애플리케이션 아키텍처는 ‘애플리케이션을 설계하고 구축하는 데 사용하는 패턴과 기술’ 입니다. 아키텍처는 애플리케이션을 구축할 때 따라야 할 로드맵과 모범 사례를 제공하여 체계적으로 구성된 애플리케이션을 완성할 수 있게 해줍니다 아키텍처를 조금 더 쉽게 이해하기위해 사에서의 업무 프로세스로 예시를 들어보겠습니다 어느 회사에 업무 프로세스가 없다고 하면, 직원들이 자기 스타일로 업무를 ..

Developer/Backend 2022. 8. 2. 13:03

코드 구성하기

(해당 내용은 '만들면서 배우는 클린 아키덱처'의 책을 공부하여 정리한 내용입니다) 계층으로 구성하기 코드를 구조화하는 첫 번째 접근법은 계층을 이용하는 것으로서, 다움과 같이 코드를 구성할 수 있다 웹, 도메인, 영속성을 계층별로 각각 계층별로 만들었다 의존선 역적 원칙을 적용해서 의존성이 domain 패키지에 있는 도메인 코드만 향하도록 했다 여기서는 domain 패키지에 AccountRepository 인터페이스를 추가하고, persistence 패키지에 AccountRepositoryImpl 구현체를 둠으로써 의존성을 역전시켰다 하지만 이 구조는 최적의 구조가 아니다 첫째, 애플리케이션의 기능 조각이나 특성을 구분 짓는 패키지 경계가 없다 둘째, 애플리케이션이 어떤 유스케이스들을 제공하는지 파악할..

Developer/Backend 2022. 6. 13. 22:02

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
It is my Style © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바