Austin
취소

실시간 채팅방 구현(3) - (프로젝트 수행시 고려점2)

잘못된 이해로 비롯된 에러 1. spring-data-jpa save(S entity) 본 프로젝트에서는 Service Layer에서 트랜젝션처리를 수행한다. 또한 Repository는 data-jpa를 사용했다. 필자는 서비스 내 예외 발생 시, 원하는 값을 반환하고싶었다. 따라서 service내 try-catch로 UniqueKeyViolation...

실시간 채팅방 구현(2) - (프로젝트 수행시 고려점1)

프로젝트 수행 시 고려할 문제점 문제점1. 메모리 누수 front-back으로 기존 모노서버를 분산하던 중, JPA로 Chatting 을 저장할 때 메모리 누수가 관찰되었다. 먼저 Kafka를 통해 전달받는 메세지 구조는 다음과 같다. public class ChatMessage { private Long roomId; private S...

[INFO] Kafka Topic Naming Conventions

Kafka Topic은 다음의 문자열만 사용 가능하다. val legalChars = "[a-zA-Z0-9\\._\\-]" / : X Topic 네이밍의 추천하는 기존 컨벤션들은 다음과 같다. <namespace> .<product>.<event-type> <application&gt...

실시간 채팅방 구현(1) - (STOMP 프로토콜 연동완료)

현재의 단계 현재까지 version1 실시간 채팅방 구현을 위한 STOMP/Spring 연동이 완료되었다. 상세한 내용과 코드는 다음의 github 링크에서 확인할 수 있다. GITHUB : https://github.com/ghkdqhrbals/spring-chatting-server/tree/v1 v1 동작 : https://www.you...

Kafka에서 메세지를 처리하는 방식

카프카 용어정리 Producer : 이벤트를 보내는 주체 Consumer: 토픽의 파티션에 저장되어 있는 메시지를 소비(consume)하는 역할. Consumer Group : 하나의 Topic의 모든 파티션들을 구독하는 consumer 그룹. Partition : Producer로부터 전달받은 메세지를 저장하는 공간 ...

메세지 큐(MQ)의 개념 및 장점

메세지 큐(MQ) MQ 란? 클라이언트의 요청을 큐에 저장하고 Consumer이 필요할 때 꺼내쓰는 아키텍처. 장점 비동기(Asynchronous) 메시지 큐는 생산된 메시지의 저장, 전송에 대해 동기화 처리를 진행하지 않고, 큐에 넣어 두기 때문에 나중에 처리할 수 있다. 낮은 결합도(Decoupling)...

Database-Transaction 격리수준

모든 데이터베이스는 아래의 트랜젝션 격리 수준을 가진다. READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE 이해를 돕기 위해 A,B 트랜젝션이 동시에 특정 데이터에 진입할 때를 가정한다. 1. READ UNCOMMITTED 트랜젝션간 아무런 격리가 되지 않는 격리레...

등산코스 정하기

문제 설명 산에 n개의 지점이 존재하며, 지점들은 아래와 같이 정의된다. 출입구 쉼터 산봉우리 각각의 지점들은 그래프로 주어진다. 등산코스를 정할 때, 산봉우리 중 한곳만 한번만 방문하고 다시 출입구로 돌아와야한다. 등산코스를 따라 이동하는 중 쉼터 혹은 산봉우리를 방문할 때마다 휴식을 취할 수 있으며, 휴식 없이 이동해야 하는 시간...

이 후 포스팅은 한글로 진행하려합니다

회고 필자는 현재 학사/석사를 마치고 28살 취준을 시작하였다. 취준 중, 취업에 도움이 되고자 내 개인 지식들을 영어로 정리하는 블로그를 현재까지 운영해보았다. 영어로 운영한 이유는 단 하나였다. “영어에 익숙해지자!” 하지만 한국에서 개발자로 취업한다면 영어로 내 생각을 정리한 것은 그리 도움이 되지 않는것 같다. 여러 코딩테스트를 통과 후 ...

Spring-2

In Korea, Spring framework usage takes first place Above figure shows the trend of Spring verses Golang Thus, from now I will study about the whole Spring framework and also the Java. Referenc...