컬리

마켓컬리

개발팀 리뷰

위 내용은 컬리 전 • 현 재직자의 응답 결과입니다.

기술 스택

언어

typescript

javascript

프론트엔드

React

데브옵스

Github

재직자가 작성한 글

profile picture

조서희

컬리 백엔드 개발자

🕊️ [Medium] 300개 이상의 리트코드 문제를 해결한 방법

마침내 리트코드에서 300개의 문제를 해결했습니다. 이 여정에서 중요한 부분은 다음과 같습니다.   1. 고급 토픽에 집중하기: 동적 프로그래밍(DP), 이진 검색, 그래프, 트리 및 우선순위 큐와 같은 주제는 인터뷰에서 자주 질문을 받으며, 익숙해 지기 위해서는 시간과 인내심이 필요하기 때문에 계속해서 집중합니다. 2. 다른 사람과 비교하지 않기: 우리는 모두 다른 개체이기 때문에, 자신의 학습곡선을 그대로 받아들이는 것이 좋습니다. 당신의 여정을 다른 사람과 비교하지 마세요. 3. 일하면서 300개의 문제를 해결하는 데 10개월이 걸렸고, 일부 사람들은 그 절반의 시간만을 투자할지도 모르지만 괜찮습니다. 그것은 저만의 여정이니 다른 사람을 생각하며 내 기분을 상하게 하지 않을 것입니다. 4. medium 단계의 문제는 최소 30분 동안 시도하기: 30분 동안 최선을 다하고, 그 후에는 힌트를 보는 것을 주저하지 마세요. 아무 문제가 없더라도 내가 모르는 특정한 기술이나 개념이 있을 수 있으므로 힌트를 찾아보세요. 5. 최고가 되기 위한 동기를 가지기: 최고가 되기 위한 열망은 장애물을 극복하도록 도와줍니다.  6. 훈련하기: 처음에는 그것이 숙제처럼 느껴질 수 있지만, 서서히 적응하게 되어 삶의 일부가 될 것입니다.  번역: [https://ducktopia.tistory.com/122] 원문:

profile picture

조서희

컬리 백엔드 개발자

🕊️ 개발 세계에서 인기 있는 API 아키텍처 스타일

REST (Representational State Transfer) REST는 애플리케이션을 설계하기 위해 널리 채택된 API 아키텍처 스타일입니다. 리소스 조작, 상태-비저장 및 균일한 인터페이스를 위해 표준 HTTP 메서드(GET, POST, PUT, DELETE)를 기반으로 합니다. REST API는 리소스를 식별하기 위해 URI(Uniform Resource Identifier)를 사용하며 JSON 또는 XML과 같은 다양한 형식으로 데이터를 교환합니다.   SOAP (Simple Object Access Protocol) SOAP는 네트워크를 통해 구조화된 정보를 교환하기 위한 XML 기반 프로토콜입니다. 엄격한 규칙을 따르며 메시지의 구조를 정의하기 위해 XML 스키마를 사용합니다. SOAP API는 일반적으로 HTTP 프로토콜을 사용하지만 SMTP나 TCP와 같은 프로토콜도 사용할 수 있습니다. SOAP API는 높은 수준의 프로토콜 추상화를 제공하고, 암호화 및 트랜잭션 관리와 같은 고급 기능을 지원합니다. 은행 및 금융 산업에서는 보안을 이유로 일반적으로 SOAP를 사용합니다.   SOAP는 서로 다른 시스템 간의 복잡한 연결이 필요한 환경에서 사용됩니다. 암호화, 디지털 서명 및 신뢰할 수 있는 메시징과 같은 고급 기능을 지원하는 엄격하고 표준화된 메시징 프로토콜을 제공합니다. 따라서 보안, 신뢰성 및 트랜잭션이 중요한 시나리오에 적합합니다.    GraphQL GraphQL은 API 쿼리 언어로 클라이언트가 서버에 특정한 데이터를 요청할 수 있습니다. 클라이언트가 필요한 데이터만 요청하여 데이터 패치에 대해 유연하고 효율적인 접근 방식을 제공합니다. 각 엔드포인트가 고정된 데이터 세트를 반환하는 REST와 달리 GraphQL API는 단일 엔드포인트가 있으며 클라이언트는 요구 사항에 따라 응답을 형성할 수 있습니다.   facebook, GitHub, Shopify, Twitter등의 회사가 사용합니다.   gRPC (Google Remote Procedure Call) gRPC는 구글이 원격 프로시저 호출 API 구축을 위해 개발한 고성능 오픈 소스 프레임워크입니다. protobuf를 사용하며 여러 프로그래밍 언어를 지원합니다. gRPC API는 양방향 스트리밍 및 인증과 같은 기능을 제공하며 전송을 위해 이진 직렬화 및 HTTP/2를 사용하여 서비스 간의 효율적인 통신을 가능케 합니다.    gRPC는 효율적이고 확장 가능한 분산 시스템을 구축하게 합니다. 구글, 넷플릭스, 스퀘어 등의 회사가 사용합니다.   WebSocket WebSocket은 단일 TCP 연결을 통해 이중 통신 채널을 제공하는 통신 프로토콜입니다. 요청-응답 기반의 전통적인 HTTP와 달리 WebSocket은 클라이언트와 서버 간의 실시간 양방향 통신을 허용합니다. 이것은 클라이언트와 서버가 반복적인 요청 없이 서로에게 메시지를 보낼 수 있게 합니다. WebSocket은 채팅 애플리케이션, 협업 도구, 스트리밍 서비스와 같은 실시간 업데이트가 필요한 애플리케이션에서 사용됩니다.   WebSocket을 사용하는 메시징 어플리케이션은 Slack, Discord, Trello, Robinhood 등이 있습니다.    Webhook Webhook는 HTTP POST 요청을 다른 시스템의 미리 정의된 URL로 전송하여 한 시스템에서 이벤트를 자동으로 알리거나 트리거하는 메커니즘입니다. 두 시스템이 거의 실시간으로 데이터를 전송하여 통신할 수 있도록 합니다. 특정 이벤트나 조건이 발생하면 Webhook를 트리거하고, Webhook는 대상 시스템의 엔드포인트로 관련 데이터 페이로드를 전송합니다. 일반적으로 서로 다른 서비스와 시스템을 통합하는 데 사용되며 실시간 데이터 동기화, 이벤트 기반 워크플로우 및 자동 알림을 가능하게 합니다.   번역: [https://ducktopia.tistory.com/121] 원본:

재직자가 좋아한 글

좋은 개발자가 알아야하는 9가지 포인트들 - 3. 의사 소통 잘하기  |   1. 기본기 확실히 하기 2. 학습 능력 키우기 3. 의사 소통 잘하기 4. 문제 정의 잘하기 5. 태스크 완료 시간 추정 잘하기 6. 운영을 고려한 코드 작성하기 7. 서비스 사고 대처 능력 키우기 8. 결과를 내는데 집중하기 9. 영향력 갖기 (코딩 멍키) 레벨이 올라가고 연차가 쌓이기 시작하면 기술적인 역량 만큼 어쩌면 더 중요해지기 시작하는 것이 평판이고 영향력이다. 나의 존재로 인한 주변 동료나 팀의 역량이 올라가는 사람이 바로 영향력이 있는 사람인데 영향력의 시작은 좋은 평판이며 좋은 평판의 시작은 바로 의사 소통 능력이다. 의사 소통 능력이란 무엇일까? 기본은 질문을 잘 하는 것과 질문하기 쉬운 사람이 되고 질문을 잘 대답해주는 것이라 생각한다. 1. 경청하기(Active Listening): 질문을 잘 하는 것 그리고 질문에 대답을 잘 해주는 것은 기본적으로 상대의 말을 경청하는 태도와 습관에서 비롯된다. 이는 특히 상대가 내가 신뢰하지 못하는 사람일 경우 더 중요해지는데 상대 말에서 잘못된 논리나 구멍을 찾기 위해서가 아니라 상대를 이해하기 위해서 잘 들으려 해야 한다 ("호기심"의 중요성). 2. 질문 잘 하기: 이는 타고나는 재능의 영역이라기 보다는 연습이 필요한 스킬 영역인데 첫 번째는 모르는 것을 남의 이목 신경쓰지 않는 어린아이처럼 순진하게 물어보는 것이 첫 번째이고 (동일한 질문을 반복하지만 않으면 된다) 두 번째는 본인이 이해한대로 설명(paraphrasing)하면서 맞게 이해했는지 확인하는 형태로 물어보는 것이다. 질문을 잘 안하는 혹은 자신이 없는 팀원들의 경우 일대일 미팅할 때 다음 팀 미팅에서는 질문 하나 하기 등을 숙제로 주곤 했었다. 3. 상대에 따라 소통 내용의 기술적 수준을 달리하기: 동료 개발자, 매니저(디테일을 잘 아는 사람인지 아닌지), 고객 등 상대에 따라 사용하는 기술 용어의 수준은 달라야 한다. 상대의 백그라운드와 기대치를 미리 알고 거기에 맞춰 사용할 언어를 달리하는 것이 필요하다. 다수의 사람앞에서 발표하는 기회가 생기면 꼭 손 들어보자. 4. 글 쓰기: 생각이란 글로 표현될 때 더 분명해지며 더 많은 사람들에게 전달이 가능하다. 코딩을 할때 막힌다면 혹은 시스템 디자인을 하는데 생각이 잘 정리가 안된다면 글로 본인의 생각을 정리해보자. 잘 쓸려고 하는 것 보다는 많이 꾸준하게 써보는 것이 중요하다 5. 롤 모델 찾기: 같은 회사 내에서 의사소통 능력이 뛰어난 사람을 찾아서 그 사람의 행동을 유심히 살펴보고 따라해보는 것도 아주 효과적인 방법이다. 앞서 이야기한 방법들은 환경에 따라 쉽지 않을 수도 있기에 환경을 잘 선택하는 것, 아니다 싶은 곳에서 빨리 떠나는 결정을 하는 것도 필요하다. 의사소통 능력이 있다면 다음 단계인 문제 정의가 쉬워지며 본인이 맡은 업무의 완료 시간 추정도 쉬워진다. 영향력을 증대하려면 꼭 필요한 어려운 대화를 하는 기술도 시작은 의사소통 능력이다. 이는 타고난 능력이 아닌 실수와 연습을 통해 시간을 두고 발전하는 스킬이란 점을 명심하자.

좋아요 85 저장 100