셀메이트 개발그룹의 기술블로그 입니다.
개발그룹 구성원 누구나 자유롭게 작성 가능합니다.
셀메이트 개발그룹의 기술블로그 입니다.
개발그룹 구성원 누구나 자유롭게 작성 가능합니다.
Intro 항상 설계에 대한 발표를 한번 해보고 싶었습니다. 그래서 이번에 설계에 대한 발표를 했는데 개인적으로 아쉬움이 많이 남았습니다. 시간이 없어 준비를 많이 못하기도 했고 (사실 블로그도 애기 재우고 새벽에 쓰고 있답니다.) 하고 싶은 이야기의 반도 하지 못한것 같습니다. 그래서 하고 싶었던 이야기를 좀 더 블로그를 통해 해보도록 할게요 팀이 설계한다. 팀장을 처음 하게된 날 부터 생각하는 팀의 이상적인 모습이 있습니다. 아마 개발자라면 한번 쯤 생각해 보았을 그런 팀이죠. 자유롭게 의견을 나누고, 바쁠때는 함께 고생하고, 서로 부족한 부분을 케어해주고, 기술적으로 성장하는 그런 팀이요. 그래도 요즘은 셀메이트 개발팀이 점점 그런 팀이 되어 가는것 같아 좋습니다. ...
안녕하세요, 2025년 상반기 셀메이트 개발자 컨퍼런스 D²에서 모바일 직무자 대표로 발표를 하게 된 POS팀 장지은입니다.👋🏻 Flutter 어플리케이션으로 gRPC 통신을 하는 방법에 대한 주제로 발표를 진행하였는데요, 블로그를 통해 다시 인사드리면서~ 많은 관심 부탁드립니다!🙇🏻♀️ 🙋🏻♀️ 새로운 기술을 도입사고자 하는 당신의 선택은?! 1️⃣ 이론부터 빡세게 준비한다! 2️⃣ 공식문서를 훑어보고 바로 적용해보면서 알아가본다! 3️⃣ 바로 프로젝트 만들어본다! 컨퍼런스 당일 많은 분들이 2번 항목에 손을 들어주셨는데요. 저 또한 2번의 방식으로 새로운 기술을 배워가기 때문에 이번 주제에 대해서도 해당 기술 이론에 살짝 접근해보고 접목해보려고 합니다. ...
🛠️ 디버깅을 잘하는법? 🤝 페어 디버깅 경험 제가 일을 하며 있었던 하나의 에피소드에 대해 얘기해보려고 합니다. 저는 제 업무를 보고 있던 중 한가지 긴박한 슬랙이 오게 됩니다. ⚠️ 문제 상황 : 메이크샵 자동발송 누락 특정 주문건이 배송준비중 상태로 남음 다른 주문건은 정상적으로 발송 처리됨 정리하자면 API를 통해 데이터를 넘겼는데 일부만 반영된 상황이였죠 저는 그 질문을 듣고 10초 채 되지 않아 이렇게 답변을 드렸습니다. 그러자 화진님은 당황하여 얼굴에 물음표가 가득하게 됩니다. 이 에피소드를 통해 디버깅 역량을 키우기 힘든 이유를 말해주기도 합니다. ...
이번 컨퍼런스에서 기존에 사용하던 Vue.js와 Quasor 대신에 새롭게 Next.js를 사용하여 프로젝트를 진행한 경험에 대해서 발표를 하게되었습니다. 새로운 기술인 Next.js의 대표적인 장점과 도입하는 과정 및 문제에 대한 내용이였습니다. 앞으로 Next.js를 새롭게 도입하려는 계획이 있거나 관심이 있으신 분들에게 도움이 되었으면 하고자 컨퍼런스에서 발표했던 내용들을 포스트를 통하여 다시 한번 정리하고자합니다. 📖 Next.js의 대표적인 장점 커뮤니티의 크기 Vue.js는 낮은 러닝커브와 가벼운 크기, 반응형 데이터 바인딩 등 다양한 장점을 가지고 있는 언어입니다. 다만, 상대적으로 프론트엔드 개발의 주류를 차지하고있는 React와 비교했을때에는 유저수가 작습니다. ...
🧑💻 GraphQL이란? GraphQL은 클라이언트가 서버로부터 데이터를 효율적으로 요청하고 가져오기 위해 설계된 데이터 쿼리 언어입니다. Facebook에서 2015년에 공개했으며, 하나의 엔드포인트를 통해 필요한 데이터만 정확히 요청할 수 있는 API 설계 방식입니다. 클라이언트 주도형 쿼리: 클라이언트가 원하는 데이터 구조를 지정하여 요청 가능 스키마 기반: API의 데이터 구조와 타입을 명확히 정의 유연성: 다양한 데이터를 단일 요청으로 가져올 수 있음 🔍 GraphQL의 탄생배경과 목표 GraphQL은 기존 REST API가 가진 한계를 극복하고, 데이터 전송과 요청 방식을 더 효율적이고 유연하게 만들기 위해 만들어졌습니다. ...
개발자라면 피할 수 없는 성능 고민 개발을 할때 가끔 성능에 대해 고민할때가 가끔 있습니다. 예를 들면 미묘한 차이지만 for~in 을 쓸지, index를 이용하여 loop를 할지.. 가끔 이런 고민에 빠집니다. 아니면 LinkedHashSet을 쓰는게 좋을지, HashSet을 쓰는게 좋을지도 있겠네요. 결과적으로는 제공하는 메서드들은 비슷할텐데 말이죠.? 목표 오늘은 다트에서 제공하는 성능 프로파일러를 사용해서 각 유사 반복문들을 비교하며 성능측정을 해보려고 해요. 또한 어떤 컬렉션이 좀더 성능에 기여할 수 있는 컬렉션인지 찾아보려고 해요. IDA를 이용하여 직접 실시간으로 셈블리어로 확인하여 좀더 좋은 지표가 될 수 있도록 하려 했지만.. 컨버터정도로 사용해서 지표를 확인해보려고 해요. ...
셀메이트의 API 대부분은 REST 를 기반으로 설계되고 만들어지고 있습니다. 그렇다면 REST 가 무엇이고 REST API 또는 RESTful API 라고 부를수 있는 설계 원칙과 특징에 대하여 이번 컨퍼런스를 통하여 발표를 진행 하였습니다. REST? REST는 REpresentational State Transfer 의 약자로, 분산 하이퍼미디어 시스템(ex. web)을 위한 소프트웨어 프로그래밍 아키텍처 스타일입니다. REST라는 개념은 Roy T.Fielding이 자신의 박사학위 논문에서 처음 소개하였으며, 기본적으로 HTTP 프로토콜을 더욱 잘 활용할 수 있도록 만들어진 아키텍처 스타일입니다. REST의 일반적인 오해 REST API 에 대하여 정의를 검색해보면 많은 자료들에서 REST를 아래와 같이 정의하고 있습니다. ...
본 내용은 셀메이트 개발자 컨퍼런스 D² 에서 발표된 내용을 조금 각색하여 구성하였습니다. 안녕하세요. 셀메이트 상품개발팀에서 벡엔드 직무를 맡고 있는 최성욱입니다. 상품개발팀은 많고 다양한 판매처에서 주문을 수집하고 정제하여 저장합니다. 수십개의 많은 판매처를 다루는 만큼 에외처리가 복잡하고 다양한데요. 때문에 로직을 수정할 경우 높은 집중력이 요구됩니다. 하지만 신중히 작업을 진행하더라도 사람인 만큼 작업 중 실수가 나오는 경우가 종종 있습니다. 주문수집은 고객의 업무와 직결되는 만큼 작은 실수가 치명적일 수 있는데요. 이에 작업자의 실수가 일어났을 경우 미리 파악하고 방어할 수 있는 시스템이 필요합니다. ...
이번 컨퍼런스에서 Refactoring 이란 주제를 통해 설계와 소프트웨어의 가치에 대해 이야기 해 보는 세션을 진행했습니다. 사실 제가 해당 세션을 통해 전달하고자 한 것은 리팩토링 자체 보다는 이 주제를 매개로 소프트웨어와 개발에 대한 이야기를 하고 싶었습니다. 본 포스트를 통해서 해당 내용을 다시한번 정리 해 보도록 하겠습니다. 리팩토링(Refactoring) 이란? 개발 직무를 수행하는 분 중에 리팩토링이라는 용어를 처음 접하는 분은 아마도 찾기 힘들정도로 보편적으로 알려진 개념중에 하나일 것입니다. 하지만 세션 중 질문을 통해 볼 수 있었듯이 여러분 각자가 생각하는 리팩토링의 정의나 리팩토링이라는 용어가 주는 무게감이 다를 수 있을거라 생각합니다. 마틴 파울러Martin Fowler가 이와 관련 된 주제를 Refactoring 이라는 제목의 책으로 출간하기 전 까지는 리팩토링에 대한 시도와 연구가 활발히 이루어지던 스몰토크Smaltalk 커뮤니티에서도 이해의 차이가 많이 있었습니다. ...
📖 개요 SPA와 SSR, 그리고 브라우저 동작 원리에 대해 알아보겠습니다. 이전 사내 개발자 컨퍼런스에서, SPA와 SSR, 그리고 브라우저 동작 원리에 대한 내용을 주제로 발표를 하게 되었는데 아무래도 다른 분야에서는 크게 중요하지 않은 내용이지만 결국엔 우리가 개발하는 모든 과정이 서로 긴밀하게 연결되어 있고 그 과정에서 다른 직군의 기술이나 정보를 얻게 되면 각자의 역할을 이해하며 더 좋은 결과를 만들어낼 수 있다고 생각합니다 앞으로도 이런 기초적인 원리들을 잘 이해하고, 최신 기술들을 적극적으로 도입하여 더 나은 제품을 만들기 위해 노력하면 좋겠습니다. ...