728x90
728x90
오픈소스 기여가 어렵다구요? AI로 딸깍, 끝? (오픈소스 멘토링 8기 후기)
OpenSource2025. 7. 2. 13:53오픈소스 기여가 어렵다구요? AI로 딸깍, 끝? (오픈소스 멘토링 8기 후기)

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

JavaScript 객체는 해시 테이블이 아닌가? – V8의 Hidden Class와 Inline Caching
Tech/JS & TS2025. 6. 26. 17:56JavaScript 객체는 해시 테이블이 아닌가? – V8의 Hidden Class와 Inline Caching

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

Docker로 Redis Sentinel 구성하기.
Tech/데이터베이스2025. 6. 16. 12:54Docker로 Redis Sentinel 구성하기.

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..

Redis의 고가용성(HA: High Availability) 설계를 위한 위한 Redis Sentinel에 대해 알아보자.
Tech/데이터베이스2025. 6. 6. 18:12Redis의 고가용성(HA: High Availability) 설계를 위한 위한 Redis Sentinel에 대해 알아보자.

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

겜스고(GamsGo) - ChatGPT 외 다수 AI, 유튜브 프리미엄, 넷플릭스 등을 싸게 이용하기 (구독 공유 플랫폼)
2025. 5. 24. 15:06겜스고(GamsGo) - ChatGPT 외 다수 AI, 유튜브 프리미엄, 넷플릭스 등을 싸게 이용하기 (구독 공유 플랫폼)

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

주니어 개발자의 Nest + BullMQ 기반 실시간 채팅의 성능/구조 개선기
Tech/트러블슈팅2025. 5. 14. 16:38주니어 개발자의 Nest + BullMQ 기반 실시간 채팅의 성능/구조 개선기

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

25년 상반기(~4월)의 오픈소스 기여
OpenSource2025. 4. 30. 17:5225년 상반기(~4월)의 오픈소스 기여

하루만에 오픈소스에 기여하기 (nest)처음으로 오픈소스에 기여해보았다 (feat. 오픈소스 멘토링)저는 처음 오픈소스에 기여하겠다!!! 라는 생각을 실천하는데 1년이나 걸렸습니다.부끄럽지만 너무 다가가기 어렵고 힘들었습니다. 하mag1c.tistory.com 작년, 오픈소스 기여에 첫 발을 떼게 해주신 인제님의 오픈소스 멘토링 이후, 기여할 수 있는 부분들에 꾸준히 기여를 해왔다.이번에도 nest, nestjs/swagger에 기여를 했고, 아직 머지되지 않은 기여도 있고 바로 반영된 머지들도 있다. 어떤 문제가 있었고 어떻게 해결했는지 따로 정리도 할 겸 포스팅을 남긴다. 파일 타입 검증 강화에 따른 추가 기여최근 포스팅중에 Nest의 파일 타입 검증에 대한 보안 취약점에 기여할 뻔한 이야기라는 ..

TypeScript로 힙(Heap), 우선순위 큐(Priority Queue) 구현하기.
Tech/자료구조2025. 4. 23. 00:02TypeScript로 힙(Heap), 우선순위 큐(Priority Queue) 구현하기.

최근 LeetCode 등의 알고리즘, 구현 문제들을 풀면서 자료 구조를 직접 구현해보기 시작했다. Heap에 대한 개념은 어느정도 있었다고 생각했는데, 막상 구현하려고 보니 입력, 삭제 시 어떻게 정렬을 보장할 수 있지? 에서 멈칫했다. 생각을 정리하고 코드를 짜보려 했지만, 선뜻 키보드에 손이 가지 않아 정리하는 마음으로 이 포스팅을 작성하게 되었다. 힙(Heap)힙은 트리 기반의 자료구조이며, 반드시 부모노드와 자식 노드 사이에는 대소 관계가 성립해야한다는 규칙이 있다. 힙에는 규칙에 따라 최소 힙(Min Heap), 최대 힙(Max Heap)이 있으며, 위 대소관계에 따라 부모 노드가 자식 노드보다 작다면 최소 힙, 반대의 경우는 최대 힙이라 부른다. 이 대소 관계는 반드시 부모 노드와 자식..

728x90
728x90
image