반응형 분류 전체보기130 [Redis] redis,docker로 멀티서버에서 pub/sub 실습해보기 어떤 하나의 서비스를 할 때 하나의 서버를 두는 것이 아닌 여러 대의 서버를 두는 경우가 있다. 해당 서비스가 소켓 통신을 통한 채팅 서비스를 제공한다고 생각해보자. A와 B 두 사람이 채팅을 한다고 할 때 서버가 한대라면 문제가 없다. 그런데 서버가 여러 대이고 각자 다른 서버에 연결이 되어 있다면? 그럴 때는 채팅을 어떻게 할 수 있을까? 이럴 때 redis의 pub/sub 기능을 사용해 이를 해결할 수 있다. Redisredis는 인메모리 데이터 베이스로 거대한 맵 데이터 저장소 형태를 가지고 데이터를 메모리에 저장하여 빠른 읽기와 쓰기를 지원한다. 싱글 스레드로 동시성 이슈가 발생하지 않고 해시 테이블을 사용하기 때문에 매우 빠른 속도로 데이터 검색이 가능하다. 이러한 특징으로 캐시 서버로 많이 .. 2025. 2. 9. [DataBase] 외래키(Foreign Key)에 관한 고찰... 스타트업에 이직 후 업무 중 거의 대부분의 테이블에 외래키 설정이 안되어 있는 것을 알게 되었다. 대학교에서나 기존 직장에서는 왠만하면 외래키 설정이 되어 있었기 때문에 의아한 부분이였다. 다행히 직속 팀장님이 과거 데이터베이스 코어단을 직접 만드시던 디비 전문가셨기 때문에 바로 질문을 드렸고 답변을 해주셨다. 외래키란? 관계형 데이터베이스 관리 시스템(RDBMS)은 테이블 간의 관계를 정의하기 위해 외래키(foreign key)를 사용한다. 외래키는 한 테이블의 열이 다른 테이블의 기본 키(Primary Key)와 연결됨으로써 데이터 무결성을 보장하고, 테이블 간의 관계를 명확하게 정의하는 역할을 한다. 이는 데이터 중복을 방지하고 정합성을 유지하는데 중요한 요소로 작용한다. 과거에는 컴퓨팅 자원이.. 2025. 1. 6. [Prisma] Promise.all과 transaction 동시 사용 시 Transaction API error: Unable to start a transaction in the given time. 에러 발생. 외주 작업을 하면서 추가 의뢰를 받은 기능을 개발하던 중이였다. 해당 기능은 주문이 들어온지 두 달이 지났는데 아직 연결이 안된 접수 건을 조회 해서 취소된 항목 변경해달라는 것. 나는 cron으로 이미 스케줄링 작업을 돌리고 있었기 때문에 cron을 사용하기로 했고 매일 정해진 시간에 조회를 해 업데이트를 하면 된다고 생각했다. 또 이미 주문 취소 함수가 구현이 되어 있었기 때문에 해당 함수를 사용하면 된다고 생각했다. 그리고 문제의 그 코드... @Cron('0 50 23 * * * ', { timeZone: 'Asia/Seoul' }) async deleteOldOrder() { //예전 데이터 삭제 // 기준 날짜: 현재 날짜에서 2개월 전 const .. 2024. 12. 8. 비전공자 출신 개발자 첫 이직 후기 오래간만의 포스팅으로... 개발자로써 첫 이직 후기를 작성해본다. 물론 인턴까지 합치면 두번째 이직이지만 정식 개발자로써는 처음 이직... 나는 인턴이 끝난 이후 구로디지털단지에 있는 작은 중소기업에 다녔다. 시드 단계의 스타트업과 해당 기업 두 곳 다 붙었지만 해당 기업이 좀 더 핵심적인 일을 많이 할 수 있을 거라는 판단, 그리고 연봉의 차이로 인해 해당 기업을 골랐다. 그리고 이직 후 한 달만에 내 생각은 완전히 틀렸음을 알 수 있었다. 모든 중소기업이 그렇지는 않겠지만.. 오래된 중소기업이 작은데는 다 이유가 있다. 나는 거기서 모회사의 erp를 개발하는 업무를 맡았다. 기존 윈도우 프로그램으로 개발된 erp를 웹으로 개발하는 업무였다. 처음에 해당 페이지의 스펙만 있으면 shell scrip.. 2024. 12. 3. 이전 1 2 3 4 5 6 ··· 33 다음 반응형