본문 바로가기

전체 글147

KAFKA 알아보기(By Spring) 메시징 큐의 학습이 필요하여 카프카(KAFKA)를 학습하고 정리하는 글입니다. 출처 데브원영님의 카프카 강의 1. 카프카(KAFKA)란? Apache Kafka는 고성능 데이터 파이프라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 오픈 소스 분산 이벤트 스트리밍 플랫폼이다. 비동기 처리를 위한 메시징 큐의 한 종류이지만, 동기 처리도 가능하다! 기본적으로 프로듀서/컨슈머 구조를 가진다. 1-1. 카프카는 메일 시스템과 비슷하다! 메일 시스템 보내는 사람은 메일 서버로 메시지를 보낸다. (메일 서버에 저장됨) 받는 사람은 원할 때 메일을 볼 수 있다. 카프카 프로듀서는 카프카로 메시지를 보낸다. 컨슈머는 카프카에 저장되어 있는 메시지를 필요할 때 가져옴 2. 카프카 Quicksta.. 2023. 5. 8.
카카오 수시채용 합격후기 지원한 방식 카카오에 지원할 수 있는 방법은 다음과 같습니다. 인턴 공채 수시 채용 저는 수시채용으로 지원하였습니다. 수시 채용 지원 하기 전 ‘수시 채용은 경력으로만 지원할 수 있는 것이 아닌가?’라고 생각할 수도 있지만 잘 살펴보면 경력무관/신입이 적혀있는 경우도 있습니다. 원하는 기업의 수시채용을 원한다면 수시로 채용 사이트를 확인하는 과정이 필요합니다. 수시채용을 진행하면서 느낀 장점은 다음과 같습니다. 팀이 요구하는 기술 스택을 확인하고 지원할 수 있다. 내가 관심있는 도메인에 지원할 수 있다. 공채와 다르게 채용일정 조정이 가능하다. 제가 지원한 팀은 제가 관심있는 도메인이며 신입을 뽑고, 그리고 크루의 한마디(팀 분위기) 모두가 마음에 들어 지원하게 되었습니다. 지원자격의 기술스택과 신입지원.. 2022. 12. 13.
객체지향과 의존성 객체지향에서 제시하는 다양한 설계원칙과 개념이 있다. 실제 프로젝트나 현업에서 사용하고 고려할 수 있는 중요한 요소인 의존성에 대해 공부해보고자 한다. 이전부터 듣고싶었던 조영호님의 객체지향과 의존성에 대한 강의를 듣고 해당 내용을 정리해보고자 한다! https://www.youtube.com/watch?v=dJ5C4qRqAgA&t=5724s 의존성이란? 의존성은 한마디로 변경에 초점을 두는 것이다. A가 B에 의존할 경우[A → B], B가 변경될 때 A도 같이 변경될 수 있다. 의존성 종류에는 클래스 의존성, 패키지 의존성이 있다. 클래스 의존성 종류 크게 4가지가 있다 다음과 같다. 연관관계 class A { private B b; } 의존관계 class A { public B method(B b).. 2022. 11. 1.
[이펙티브 자바 3판] 아이템 28. 배열보다는 리스트를 사용하라 배열과 리스트에 대해 설명해주세요 최근 카카오 면접 때 받았던 질문이다. 배열과 리스트에 대한 차이를 잠깐 이야기하고, 이펙티브 자바에서는 배열보다 리스트 사용을 권장합니다. 그 이유는 배열은 런타임 시 에러가 발생하지만 리스트는 컴파일 시 에러를 잡아줍니다. 여기에 이어진 질문에 대답을 못했고 이어서 공부해보겠다고 말씀드렸다. 이번 기회에 다시한번 정리해보고자 한다. 배열과 제네릭 타입의 차이 배열은 공변(covaiant)이다. 공변은 함께변한다라는 뜻이다. 예를 들어 Sub가 Super의 하위 타입이라면, Sub[]는 배열 Super[]의 하위 타입이 된다. 이를 공변이라 한다. 즉, 함께 변한다. 제네릭은 불공변(invariant)이다. 불공변은 함께 변하지 않는다라는 뜻이다. List는 List의.. 2022. 10. 31.
[내 편] 내 마음을 편지로 우아한테크코스에서 꾸준히 달려온 프로젝트를 소개해보려한다! 프로젝트 간단 소개 내 편은 내 마음을 편지로라는 뜻으로 모임 기반 롤링페이퍼 서비스이다. 아래에서 자세히 확인할 수 있다. [사이트] [깃허브] [소개 및 이용가이드] 내편은 어떻게 사용되었을까? 1. 크루들 생일 크루들 생일 때 직접 롤링페이퍼에 작성하여 고마움을 표시할 수 있었다. 우리가 만든 서비스를 다른 사람들이 사용했을 때 정말 매우 뿌듯했다! 2. 회고나 수다 익명이나 비밀글도 작성할 수 있어 회고할 때 좀 더 맘편히 할 수 있었던 것 같다! 내 편을 잘 마무리하며 레벨3, 4 모두 팀원들과 기능개발, 이벤트 등 여러가지를 해볼 수 있었다. 실 사용자들이 사용하는 모습을 보며 이게 서비스를 만드는 재미구나를 느꼈다! 마지막 스프린트까.. 2022. 10. 29.
JPA에서 낙관적 락을 적용해보자 문제이슈 내편(내 마음을 편지로) 서비스에서 롤링페이퍼의 메세지에 좋아요를 누를 수 있는 기능이 있습니다. - 메세지 좋아요에 엄청난 연타를 누르거나 - PC, 모바일에서 좋아요를 동시에 눌렀을 때 다음과같은 이슈가 발생하였습니다. 중복된 데이터가 쌓였습니다! 메세지 좋아요 테이블에는 같은 member_id, message_id가 공존하면 안됩니다. 기존 코드 public MessageLikeResponseDto likeMessage(Long memberId, Long rollingpaperId, Long messageId) { // 메세지 좋아요 대상 "메세지"를 찾는다. final Message message = messageRepository.findById(messageId) .orElseThro.. 2022. 10. 27.