본문 바로가기

📚 전체글170

macOS 개발 환경 설정과 자주 사용하는 앱 소개 (Karabiner, Alfred, Go, Java, Jetbrain, ...) 최근 회사에 입사하며 맥북 설정을 하였습니다. 자주 사용하는 앱과 개발 환경 설정을 정리하였습니다. 목차 - Commom - macOS App (Karabiner, Alfred, Magnet, itsycal) - Terminal - Jetbrain(Intellij, Goland, plugins) - 개발 언어 설정(Go, GVM, Java, JVM) - Infra (Docker, k8s kubectl, redis-cli) Commom System Preferences - Keyboard 키보드 입력 속도 변경 맥북 기본 키보드 입력속도가 느리기 때문에 키보드 입력 속도를 빠르게 설정하는 편입니다. 키보드 입력 automatically 제거 macOS App Karabiner (무료) 키보드 입력키를 변경.. 2023. 3. 12.
[회고] 글쓰기 모임 '글또', 7기 회고와 8기 시작하며 글또란? 글또 (글 쓰는 또라이가 세상을 바꾼다)는 글 쓰는 개발자 모임입니다. 약 6개월의 기간 동안, 2주마다 1개의 글을 작성합니다. 본인이 속한 개발 직군 채널(e.g. 백엔드)에 글을 공유합니다. 채널 멤버들끼리 글을 피드백을 합니다. 종종 오프라인(커피챗, 공식 행사 등) 모임도 있습니다. 7기를 마치며 글또 7기 22년 5월~10월 기간 동안 MySQL, GitHub Actions, TestContainers, Git, Static program analysis, Terraform, Jira, AWS(VPC, ALB, Route53, S3, CloudFront)의 주제로 약 24개의 글을 작성하였습니다. 부족한 글들도 많지만 이렇게 모아서 보니 많은 것을 기록했구나 되돌아보았네요. (작성한 .. 2023. 2. 11.
Maven Standard Directory Layout과 plain jar, executable jar 이번 글에서는 간략하게 Maven Standard Directory Layout와 plain jar, executable jar에 대해 소개하려 합니다. Maven Standard Directory Layout 흔히 spring boot 프로젝트를 생성하면 아래와 같은 패키지 구조를 가지게 됩니다. > tree src src ├── main │ ├── java │ │ └── com │ │ └── kukim │ │ └── recipe │ │ └── RecipeApplication.java │ └── resources │ ├── application.properties │ ├── static │ └── templates └── test └── java └── com └── kukim └── recipe └─.. 2022. 12. 28.
[간단 장애 회고] Redis + @Transactional (트랜잭션에서 Redis Get은 항상 null을 리턴한다. 트랜잭션 없는 상위 메서드에서 트랜잭션 있는 하위 메서드 호출은 에러다.) 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 사건의 개요 Spring Boot에서 @Transactional 어노테이션을 사용하여 Redis에 대해 트랜잭션을 사용했습니다. 하지만 문제가 발생했습니다. 하나의 트랜잭션에서 Redis Get와 Redis Set을 사용할 때 Redis Get가 조회되지 않고 항상 null을 발생시켰습니다. +a 배경지식 : Spring Data Redis + @Transactional Spring Boot에서 Redis 저장소를 사용합니다. 연결하기 위해서는 spring-boot-starter-data-redis 의존성을 사용합니다. 해당 의존성은 Redis Client인 lettuce 라이브러리를 사용합니다. JDBC나 JPA에서 사용하는 @Transactiona.. 2022. 12. 18.
RDB 동시성 문제를 해결하는 RDB Lock, Redis 활용방법과 의사결정 이 글은 최상용님의 '재고시스템으로 알아보는 동시성 이슈 해결방법' 인프런 강의 토대로 개인 생각을 덧붙여 작성되었습니다. (공유 허락 o) 원본 저장소는 이곳과 실습한 저장소는 이곳에서 확인하실 수 있습니다. 🙇‍♂️ 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 동시성 문제(이슈)란 여러 스레드/프로세스/서버가 동시에 같은(공유) 데이터를 변경하면서 발생하는 문제라고 볼 수 있습니다. 예를 들어 하나의 자바 프로세스가 있습니다. 여러 스레드가 동시에 하나의 필드를 수정할 때 동시성 문제가 발생할 수 있습니다. 또 다른 예로 선착순 100명에게 전달해주는 티켓이 있습니다. 이를 구현하는 Spring 서버 여러 대가 존재합니다. 100명 티켓 데이터가 DB에 저장되어 있을 때, 여러 서버가 동시에.. 2022. 12. 14.