본문 바로가기
728x90

분류 전체보기126

카프카 스트림즈를 왜 사용했을까? 현재 다니는 회사에서는 카프카 스트림즈를 사용하고 있다. 사실 마이크로서비스도 아니고 서비스 몇개만 분산시킨 환경인데 왜 굳이 카프카 스트림을 사용하고 있는지 궁금했다 CTO에게 왜 카프카를 사용하는지 물어봤었다 초기에 사용할 때는 변환엔진이 cpu로 돌아가 시간이 오래 걸렸고 (5 ~ 10초) http로는 처리하기 힘들어 카프카를 사용했다고 한다 아마 커넥션이 5 ~ 10초 이상 물리면 문제가 될 수 있기 때문인 것 같다 gpu를 도입하면서 gpu 또한 계속 띄우고 있을 수는 없어서 카프카를 계속 유지하는 것 같다 추가로 설명한 장점은 다음과 같다 이벤트가 독립적으로 실행되니 트랜잭션 걱정이 필요없다 예외처리가 편하다 시간이 오래걸리거나 작업이 많은 경우 완전 분리된 실행흐름을 처리할 수 있다 기존에 .. 2022. 2. 17.
OSIV 해결하기 문제점 Constroller에서 Lazy Loading이 실패하고 no Session 에러 발생 문제진단 현재 open in view 옵션은 기본값인 true이다 즉, 원래라면 open in view가 동작하는 것이 맞다 하지만 실제로 영속석 컨텍스트가 열리는 곳은 @Transactional 어노테이션이 붙은 곳 부터 시작한다 1. 컨트롤러 시작 2. 영속성 컨텍스트(=세션) 오픈 3. 트랜잭션 시작 4. 서비스 진입 5. 서비스 반환 전 6. 영속성 컨텍스트(=세션) 닫음 7. 컨트롤러 재진입 a.a.b.d.conversion.InspectionFeedbackController [findByInspector] - =====>> 검수 컨트롤러 시작 org.hibernate.internal.SessionI.. 2022. 1. 26.
자바스크립트로 만들어 보는 리액트 프레임워크 - 3. hook을 이용한 상태처리 이번 시간에는 hook을 이용하여 컴포넌트의 상태를 관리해보도록 하겠습니다. 자바스크립트로 만들어 보는 리액트 프레임워크 - 1. 기본 컨셉 자바스크립트로 만들어 보는 리액트 프레임워크 - 2. jsx 자바스크립트로 만들어 보는 리액트 프레임워크 - 3. hook 자바스크립트로 만들어 보는 리액트 프레임워크 - 4. redux 자바스크립트로 만들어 보는 리액트 프레임워크 - 5. thunk 모든 소스 코드는 github를 참고해주시기 바랍니다 hook hook은 함수형 컴포넌트에서 상태관리나 라이프사이클을 제어하도록 리액트에서 제공하는 함수입니다. 예를들어 useState의 경우 함수형 컴포넌트 내에서 컴포넌트의 상태를 변경시킬 수 있습니다 function App() { const [name, setNa.. 2021. 6. 21.
자바스크립트로 만들어 보는 리액트 프레임워크 - 2. jsx로 화면 렌더링 이제 jsx를 이용하여 리액트와 비슷한 형태의 프레임워크를 만들어 보겠습니다. 자바스크립트로 만들어 보는 리액트 프레임워크 - 1. 기본 컨셉 자바스크립트로 만들어 보는 리액트 프레임워크 - 2. jsx 자바스크립트로 만들어 보는 리액트 프레임워크 - 3. hook 자바스크립트로 만들어 보는 리액트 프레임워크 - 4. redux 자바스크립트로 만들어 보는 리액트 프레임워크 - 5. thunk 모든 소스 코드는 github를 참고해주시기 바랍니다 jsx jsx는 Javascript XML의 약자로 자바스크립트로 html 태그와 같은 마크업 형태를 표현할 수 있습니다. function App() { return ( 안녕하세요 ) } 하지만 우리는 앞서 element만을 이용하여 충분히 화면에 잘 표현을 할 .. 2021. 6. 21.
자바스크립트로 만들어 보는 리액트 프레임워크 - 1. 기본 컨셉 자바스크립트로 리액트 프레임워크를 만들어 보는 시간을 가졌습니다. 실제 리액트 프레임워크 동작과정에서 많은 부분이 생략되어 있습니다. 프레임워크의 동작 과정의 큰 그림만 봐주시기 바랍니다. 자바스크립트로 만들어 보는 리액트 프레임워크 - 1. 기본 컨셉 자바스크립트로 만들어 보는 리액트 프레임워크 - 2. jsx 자바스크립트로 만들어 보는 리액트 프레임워크 - 3. hook 자바스크립트로 만들어 보는 리액트 프레임워크 - 4. redux 자바스크립트로 만들어 보는 리액트 프레임워크 - 5. thunk 모든 소스 코드는 github를 참고해주시기 바랍니다 element 리액트는 element라는 단위로 dom을 생성합니다. element를 간단히 설명하면 태그의 정보를 담은 객체입니다. 리액트는 eleme.. 2021. 6. 20.
MySQL의 Like 조회 MySQL에서 like 조회는 성능 때문에 잘 사용하지 않는다 현재 개발중인 토이 프로젝트에서 MVP 개발을 위해 검색 API는 추상화하기로 했다. 나중에 시간이 되면 Elasticsearch를 사용하여 검색 API를 마이그레이션 하도록 하고 현재는 간단하게 MySQL의 조회 기능만 사용하도록 할 예정이다. Like의 성능 다시 본론으로 돌아가서 왜 like 조회는 성능이 잘 나오지 않는다고 주변에서 말할까? 그것은 바로 %(wild card)가 단어 앞에 붙었을 때 full table scan을 하기 때문이다 MySQL은 단어의 첫번째 문자열로 인덱싱을 하게 된다. B-Tree 인덱스를 활용한 검색은 100% 일치 혹은 값의 *앞부분만 일치하는 경우에 사용할 수 있다. 예를들어 WINAND라는 단어를 .. 2021. 4. 30.
728x90