
nest의 e2e이 글을 읽으시는 nest를 활용하는 개발자분들은, e2e를 작성하시나요? 어떻게 작성하고 계신가요?보통은 nest의 공식 문서 가이드에 따라 TestingModule을 통해 NestApplication을 init한 후 사용하실 겁니다.beforeAll(async () => { const moduleRef = await Test.createTestingModule({ imports: [CatsModule], }) .overrideProvider(CatsService) .useValue(catsService) .compile(); app = moduleRef.createNestApplication(); app.use(thirdPartyMiddleWare()); // i..

[SKT 해킹 사태] 2주 간의 타임라인으로 본 사건의 재구성보안업계에서 말하는 ‘골든타임’은 ‘빠르면 빠를수록’이다. 이를 반영하듯 현행 정보통신망법은 사고 인지 후 24시간 내 한국인터넷진흥원(KISA) 또는 과학기술정보통신부에 신고하도록 규www.boannews.com 예스24 ‘랜섬웨어 공격’에 회원정보 유출 정황…개보위 조사 착수개인정보보호위원회가 랜섬웨어 공격으로 ‘먹통’이 된 온라인 서점 예스24에 대한 개인정보 유출 조사에 착수했다. 예스24는 그동안 개인정보가 유출되지 않았다고 밝혔지만, 하루 만에 이와 www.hani.co.kr 최근 뜨거웠던 보안 이슈들과 더불어 TypeScript Backend Meet-Up 의 토스 한상진님의 발표를 듣고해싱 방식들의 안정성을 전혀 생각해보지 않..

⭐오픈소스의 판도를 바꿀, AI로 오픈소스 기여 완벽 가이드와 프롬프트 공유!직접 AI로 오픈소스 기여해본 후 느꼈던 충격을 공유합니다!medium.com 오픈소스에 기여해보고 싶다고 처음 생각했던 때가 2023년 12월 DevFest에서, 첫 PR을 날린건 2024년 11월. 왜 이렇게 오래걸렸을까?오픈소스는 뭔가 어려워보이잖아.. 라고 생각해서? 소위 진입장벽 때문에..? 하지만 이번 오픈소스 멘토링에서 이 진입장벽을 깨부술 엄청난 것을 겪게 되었다. 이슈 선정이 힘들어? AI로 딸깍오픈소스 기여에 막막했을 때를 회고해보자면 기여의 스타트인 이슈 선정부터 막막했다. 정말 막막했다. "내가 이거 해도 되나?""이슈를 어떻게 찾지?""아 전부다 영어네 ㅋㅋ" 오픈소스 멘토링 8기에서는,..

최근 면접 이야기최근 기술면접에서 다음과 같은 질문을 받았다. "JS에서 Array에 모든 데이터를 Array에 넣고, find()로 찾으면 되지, 왜 굳이 객체를 사용할까요?" 이 질문에 대해 "find()는 O(N)이지만, 객체는 프로퍼티를 통해 값을 조회할 수 있어서 O(1)이기 때문에 사용한다고 생각합니다." 라고 대답했고, 다음과 같은 꼬리질문들이 이어지기 시작했다.객체는 어떻게 값을 저장하길래 O(1)인가요?객체는 값을 가져올 때 항상 O(1)인가요? 정말인가요? 최근 학습했던 JS와 V8의 메모리 구조와 관리 내용을 기반으로 알고 있던 지식을 버무려 답하고자 했다. 생각하는 시간을 가질수록 머리가 하얘져서, 객체의 프로퍼티 - 값 형태에 집착했고, 해시 구조로 저장된다는 답을 드렸다. 그 ..

Redis의 고가용성(HA: High Availability) 설계를 위한 위한 Redis Sentinel에 대해 알아보자.주니어 개발자의 Nest + BullMQ 기반 실시간 채팅의 성능/구조 개선기내가 어떤 조직에 속하게 되었을 때, 조직에서 관리하는 애플리케이션을 한 번씩 사용자 관점에서 돌아보고, 개발자 관점에서mag1c.tistory.com 이전 포스팅에 이어서, Sentinel 구성해보자. Redis Master + Replica 구성먼저, Master노드와 Replica 노드를 구성해보자.# docker-compose.ymlredis-master: image: redis:latest command: redis-server container_name: "redis-mas..

주니어 개발자의 Nest + BullMQ 기반 실시간 채팅의 성능/구조 개선기내가 어떤 조직에 속하게 되었을 때, 조직에서 관리하는 애플리케이션을 한 번씩 사용자 관점에서 돌아보고, 개발자 관점에서 돌아보고 문제점을 리스트업하는 습관이 있다. 이를 통해 당장의mag1c.tistory.com 이전 글에서 메시지 큐의 장애 발생 상황을 여러가지로 가정하고, 간단한 해결책들을 생각해서 서술했었다.이번 글에서는 그 중에서도 특히 많은 메시지 큐에서 Redis를 저장소로 사용하거나 지원하는 만큼, Redis의 failover전략 중 하나인 Redis Sentinel에 대해 공식 문서와 실제 사례를 기반으로 공부한 내용을 작성한다. Redis에 장애가 발생한다면?생각해보면 Redis는 애플리케이션을 구성할 때 거..

본 글은 소정의 원고료를 지급 받아 작성한 글임 간단 리뷰를 시작하기 전에, 광고 글임을 다시 밝히고, 추천인이나 프로모션 코드로 조금 싸게 이용해보고 싶은 사람이 있다면 아래 링크나 프로모션 코드를 활용해도 좋다.링크: https://www.gamsgo.com/partner/sVffq프로모션 코드: CEGAD 1년 전쯤에, 고잉버스(GoingBus) 구독 공유를 통해 ChatGPT를 사용했던 후기를 공유한 적이 있었다. 그래서일까, 일종의 광고 문의 같은게 들어왔다. 유튜브, 넷플릭스, 디즈니 등을 비롯해서 최근에는 AI들도 필수 요소들이 되어 필수 소비재가 늘어남에 따라 누군가 겜스고를 이용하고자할 때 싸게 이용했으면 하는 바램에서 작성하는 글이다. 필자는 유튜브 프리미엄 외에는 딱히 ..

내가 어떤 조직에 속하게 되었을 때, 조직에서 관리하는 애플리케이션을 한 번씩 사용자 관점에서 돌아보고, 개발자 관점에서 돌아보고 문제점을 리스트업하는 습관이 있다. 이를 통해 당장의 애플리케이션에 대한 이해를 넘어서, 어느 정도의 주인의식과 우선적으로 해결해야하는 과제는 무엇인지 선정하는 연습(?)을 같이 하고 있다. 이 포스팅은, 속했던 조직에서 가장 먼저 개선해야한다고 판단했던 실시간 채팅 기능의 개선기이며, 2년차인 현재 시점에서 더 개선할 부분은 없었는지가 첨가된 포스팅이다. 모자란 내용에 혹여 더 좋은 의견 남겨주시면 성장에 큰 도움이 됩니다. 감사합니다! 문제 파악하기속했던 조직은, 커머스 비스무리한(?) 서비스를 운영하고 있었지만, 도메인 특성상 결제는 곧 예약이었다.결제 후 오프라인으..