반응형

개발 50

MVC 패턴의 이해와 적용 방법

기술 면접에서 자주 나오는 질문 중 하나가 "MVC 패턴에 대해 설명하라"는 것입니다. 이 질문에 대해 정확히 대답할 수 있도록, MVC 패턴이 무엇인지, 각각의 역할이 무엇인지 정리해보겠습니다.MVC 패턴이란?MVC (Model-View-Controller) 패턴은 사용자 인터페이스, 데이터, 그리고 논리 제어를 구현하는 데 널리 사용되는 소프트웨어 디자인 패턴입니다. 이 패턴은 애플리케이션을 세 가지 주요 구성 요소로 분리하여 개발을 체계적으로 할 수 있도록 돕습니다. MDN 웹 문서에서는 이를 다음과 같이 설명하고 있습니다:MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다.출처: MDN Web DocsMVC 패턴의 구성 ..

코딩테스트 2024.06.30

퇴사와 새로운 시작: 나의 여정

2023년 5월 31일, 가인지컨설팅그룹에서 퇴사했습니다.퇴사 전, 대표님과의 미팅에서 그는 말씀하셨습니다. "에디, 프로젝트를 함께 마무리하고 좋은 안녕을 하자."저는 아직 다음 행선지가 확정되지 않은 상황이었지만, 돈을 벌며 개발을 마음껏 하고 싶었습니다. 이전에는 개발팀장이어서 온전히 개발에 집중하기 힘들었고, 팀의 매니징도 병행해야 했기 때문입니다. 그리고 가장 중요한 것은 "좋은 안녕"을 하는 것이었습니다.프로젝트 여정프론트엔드 기술 스택은 Next.js, 백엔드는 NestJS를 사용했습니다. 풀스택의 길은 멀고도 험난했지만, 열심히 달렸습니다. 기획자와 많은 대화를 나누고, 디자이너와 의견 충돌도 있었으며, 동료 개발자와의 갈등도 겪었습니다. 그럼에도 불구하고, 개발을 하면서 느끼는 기쁨은 컸..

개발 커리어 2024.06.30

"일 잘하는 사람은 단순하게 말합니다" 독후감

책 소개 및 소통의 중요성'일 잘하는 사람은 단순하게 말합니다'는 다양한 포지션과 상황에서 어떻게 소통을 해야 일을 잘하는 사람으로 평가받을 수 있는지 설명합니다. 이 책을 통해, 일 잘하는 사람이란 어떤 사람인지, 어떻게 소통해야 하는지에 대한 두 가지 질문에 대해 답을 찾을 수 있습니다.제가 이해한 일 잘하는 사람의 특징책을 읽으며 일을 잘하는 사람은 다음과 같은 특징을 가지고 있다고 이해했습니다:누가 들어도 상황을 이해할 수 있게 말하는 사람문제를 단순히 지적하는 것이 아니라 해결책을 제시하는 사람소통의 선을 잘 지키는 사람특히, 세 번째 특징인 소통의 선을 지키는 것은 제가 자주 실수하던 부분입니다. 이전에는 누군가를 깊이 알기 위해 그 사람의 사생활이나 고민까지 알고 해결해줘야 한다고 생각했습니..

독후감 2024.06.30

검색 기능 구현: Algolia 사용기

최근 회사에서 검색 기능을 구현해야 했습니다. 여러 검색 엔진을 검토한 끝에, 한 개발자분이 이전에 사용한 경험이 있고 비용도 합리적인 Algolia를 사용하기로 결정했습니다.Algolia 소개Algolia의 공식 홈페이지는 여기에서 확인할 수 있습니다. 현재 Algolia는 전 세계에서 6번째로 많이 사용되는 검색 엔진입니다 .물론, 재정적으로 여유가 있다면 Elastic Search를 추천하지만, 대부분의 스타트업은 자원이 많지 않기 때문에, 스타트업 개발자에게는 Algolia를 사용하는 것이 더 적합하다고 생각합니다.Algolia 설치 및 예제 코드먼저 Node.js 환경에서 Algolia 패키지를 설치합니다:npm install algoliasearch다음은 Algolia를 사용하는 간단한 예제 ..

Node.js 2024.06.30

결제 기능 개발 시 고려 사항

결제 기능을 개발할 때 직접 구현하는 경우는 많지 않으며, 현명한 선택도 아닐 수 있습니다. 요즘은 다양한 결제 기능을 제공하는 회사들이 많지만, 어느 회사를 선택해야 할지 고민하는 분들을 위해 저의 경험을 바탕으로 개인적인 기준을 말씀드리려 합니다.(다른 의견이 있으시면 댓글로 남겨주세요~!!)1. 요구사항에 맞는 PG사를 결정하자!이것이 가장 중요합니다. 아무리 좋고 편리한 PG사라도 회사의 요구사항에 맞지 않는다면 불편하더라도 요구사항에 가장 적합한 PG사를 선택해야 합니다. 특히 스타트업에서는 하루아침에 방향이 바뀔 수 있습니다. 예를 들어, '단품 결제' 방식에서 '구독 결제' 방식으로 변경하거나 국내 타겟에서 해외 타겟으로 변경할 수도 있습니다.미리 이러한 변화를 예측하고 개발하는 개발자가 있..

개발 커리어 2024.06.30

외주 업체와의 협업: API 호출 문제 해결기

제가 입사하기 전, 우리 회사는 외주 업체를 통해 앱을 개발했습니다. 입사 후, 저는 앱에 푸시 기능을 구현해야 했는데, 외주 업체가 제공한 API를 사용해야 했습니다. 문제는 그들이 제공한 예제 코드가 JavaScript 함수였고, 우리의 클라이언트 프레임워크는 React라는 점이었습니다.처음에는 당황하지 않고 시도해봤습니다. const returnValue = (response: any) => { console.log('response: ', response);};// API 호출 시도하지만, ReferenceError: returnValue is not defined라는 오류가 발생했습니다. 약 2시간 동안 여러 가지 방법을 시도했지만 해결되지 않았습니다. 결국, 그냥 JavaScript 코드로 ..

React 2024.06.30

주니어 개발자에게 추천하는 책: "커리어 스킬"

벌써 개발자를 직업으로 삼은 지 3년이 흘렀습니다. 회사의 첫 개발자, 첫 개발팀장, 그리고 퇴사와 첫 프리랜서, 첫 이직까지, 아직도 새로운 영역을 많이 걷고 있는 저에게 최종 목표는 무엇일지 막막하고 두려운 생각이 듭니다. 이러한 상황은 많은 주니어 개발자들도 마찬가지일 것 같습니다.만약 그러한 상황에 있다면, '커리어 스킬'이라는 책을 강력히 추천합니다.커리어 스킬 | 존 손메즈 - 교보문고이 책은 신입, 주니어, 시니어, CTO, 프리랜서 등 여러 직책을 가진 개발자들이 어떻게 커리어를 쌓아나가야 하는지 알려주는 책입니다. (심지어 여자 개발자에 대한 이야기도 나와서 책 내용을 보면서 당황스러웠던 기억이 나네요 ㅎㅎ)제가 이 책을 읽고 느낀 점은 '일단 해보자'라는 마음가짐이 굉장히 중요하다는 것..

독후감 2024.06.30

JavaScript에서 forEach와 for문의 차이점

JavaScript를 사용하는 개발자라면 Array의 각 요소를 통해 작업하는 상황이 반드시 옵니다. (이미 경험해보셨을 것입니다.) 그렇기에 Array.forEach 문법과 for 문법 중 하나를 보셨을 것입니다.저는 주로 for 문을 자주 사용했었는데, 같이 작업하시는 개발자분이 "저는 이런 문법 처음 봐요."라는 말씀을 듣고 "나도 처음 봤을 때 저런 느낌이었는데!"라고 생각했던 것이 떠올랐습니다. 그러면서 다음 질문이 떠올랐습니다:"그러면 for 문과 forEach의 차이점이 무엇일까?"1. 성능forEach 문이 for 문보다 성능이 더 좋습니다. forEach는 배열의 크기를 구할 필요가 없기 때문입니다.2. 동기/비동기 방식for 문은 동기(sync) 방식이고, forEach는 비동기(asy..

Javascript 2024.06.30

개발자의 글쓰기: 변수명부터 비즈니스 블로그까지

https://product.kyobobook.co.kr/detail/S000001766399"개발자의 글쓰기"는 변수명, 주석, 릴리즈 노트, 블로그 글쓰기, 비즈니스 글쓰기 등 개발자로서 글을 쓰는 활동에 대한 전반적인 가이드를 제공합니다.책을 읽고 난 후, 저의 전반적인 느낌을 세 가지로 요약해보겠습니다.의미 있는 변수명, 주석은 최소화변수명은 최대한 의미 있게 정해서, 함께 작업하는 사람이나 나중에 자신이 쉽게 이해할 수 있도록 해야 합니다. 이 책에서는 변수명을 최대한 3단어로, 클래스명은 5~6단어로 나타내는 것을 권장하고 있습니다. 저도 이 원칙을 지키려고 노력할 것입니다.주석은 왠만하면 쓰지 않는 것이 좋고, 코드 자체로 이해할 수 있게 작성하는 것이 중요합니다. 이 내용은 "클린 코드"와..

독후감 2024.06.29

다른 개발자들은 어떻게 생각할까? 나의 개발 노하우를 공유하며

개발을 하다 보면 종종 이런 생각이 들곤 합니다. "다른 사람은 개발할 때 무슨 생각을 할까?" "다른 사람들은 어떻게 개발 역량을 늘려갈까?" 그래서 제 개발 습관을 공유하고, 다른 분들의 생각도 들어보고자 이 글을 씁니다.개발 노하우에는 정답이 없으니 다양한 의견 남겨주시면 정말 감사드리겠습니다.저의 개발 노하우개발을 시작하기 전에 전체적인 설계를 생각합니다저는 어떠한 기능을 개발하기 전에 변수와 함수, API 명칭 등을 어떻게 설정할지 머릿속에서 간략하게 설계합니다. 이렇게 하면 작업 중 방향을 잃지 않게 되고, 예외 케이스를 미리 생각해 오류를 방지할 수 있습니다. 저에게는 필수적인 루틴입니다.무분별한 복사는 하지 않습니다"복사를 하지 않다니, 그러면 작업 속도가 느려지지 않나요? 월급 루팡이신가..

개발 커리어 2024.06.29
반응형