Home
의사줌치
Cancel

카프카, 정확히 한 번(kafka, exactly once)

개요 카프카의 생산자(producer)의 메시지가 소비자에게 정확히 한 번만 배달되도록 할 수 있을까? 결론은 소비자(consumer)의 작업이 카프카 내부에서만 이뤄진다면 정확히 한 번 메세지를 배달하는 것이 가능하다. 하지만 소비자의 작업이 RDBMS와 같은 외부 저장소까지 포함한다면 정확히 한 번 메세지를 배달한다고 보장할 수 없다...

Support for the experimental syntax 'decorators-legacy' isn't currently enabled

현상 next.js에서 api 개발 시 typeorm을 적용하려고 하니 에러가 발생한다. 아마 typeorm의 데코레이터 문법이 원인으로 보이며 바벨에서 데코레이터 문법으로 지원하게 설정해주면 된다. 해결방안 @babel/plugin-proposal-decorators 설치 npm install @bab...

solana DApp 인증 구현

개요 solana DAPP에서 지갑인증을 구현해본다. 지갑으로 인증된 유저만 특정 페이지를 조회할 수 있도록 처리할 수 있다. How to Integrate Sign-in Authentication with a Solana Wallet을 그대로 따라 진행한다. 중요한 부분만 설명을 추가한다. 환경 next.js로 DApp을 ...

certbot, DNS 인증 시 자동 갱신하게 만들기(AWS Route 53)

설명 certbot에서는 여러 방식으로 웹서버 소유권 인증을 지원한다. getting-certificates-and-choosing-plugins 와일드카드 인증서를 발급받기 위해서는 DNS를 사용하여 인증을 받아야 한다. 여러 DNS를 지원하지만 여기서는 AWS Route53 기준으로 설명한다. 최초 발급 방법과 자동갱신 방법을 함...

certbot, webroot 방식으로 인증서 발급받기

설명 webroot 방식으로 certbot 인증서를 발급받는다. certbot 도커를 활용하여 인증서를 발급 받는다. 예시에서 인증 받을 도메인은 helloworld.com으로 가정한다. 사전 준비 nginx를 띄우고 Route 53 DNS에서 서버IP와 도메인을 연결한다. 이를 통해 도메인을 입력하여 서버로 http 접속이 가능...

next.js 빌드 시 ReferenceError: self is not defined 해결

설명 컴포넌트를 import 할 때 생길 수 있는 오류이다. import 대상 컴포넌트에 오직 클라이언트에서만 사용할 수 있는 기능이 포함된 경우, 사전 렌더링에 실패할때 이 오류가 발생한다. next/dynamic을 사용하여 ssr를 사용하지 않고 import를 하면 된다. 예시 import dynamic from "next/dyna...

multiple sheets 사용 시 tableOverflow 활성화하기(jspreadsheet-ce)

설명 jspreadsheet-ce에서 sheet를 생성할때 tableOverflow를 지정할 수 있다. tableOverflow를 false로 설정하면 사용자 커서가 화면 밖으로 넘어가도 화면이 커서를 따라지 않는다. tableOverflow를 true로 설정하면 사용자 커서가 화면 밖으로 넘어가면 자동으로 화면이 커서를 따라 이동한다....

useEffect cleanUp 함수를 이용하여 react state를 순차적으로 제어하기(zustand)

설명 어떤 react state를 순차적으로 제어하고 싶을때 trigger 용 react state를 생성하여 제어할 수 있다. const [target, setTarget] = useState("") const [trigger, setTrigger] = useState("wait") useEffect(()...

juqery library element에 React component 연동하기(react portal)

설명 react로 개발하다보면 react를 지원하지 않는 library(비react library)를 사용해야할 경우가 생긴다. 비react library element에 react component를 연동해야할 일이 있다면 react portal을 사용하여 해결할 수 있다. react portal이란? 공식홈페이지 createPo...

javascript, 개별 instance를 전역에서 접근할 수 있도록 변경

설명 javascript legacy 소스코드 중 class(이하 OldClass)로 처리하고 있는 부분을 발견. OldClass의 특정 method를 다른 js파일(이하 NewFile)에서 호출해야하는 상황 발생. 문제는 OldClass에는 contructor 문이 작성되어 있어 NewFile 내에서 OldClass instanc...