SMAIVNN
article thumbnail
[웹개발] 면접에 나오는 몇 가지 백엔드 지식 돌아보기
Web 2024. 10. 24. 16:58

최근에 면접을 볼 기회가 있었는데요.. 몇가지 질문에 확실히 답을 못했습니다. 더 아쉬운 것은, 해당 질문들이 분명 과거에 프로젝트를 하고 공부를 하면서 한 번은 본 내용이라는 것입니다. '아 그렇구나' 하면서 분명히 기억하던 내용인데 막상 면접에 들어가니 긴장해서인지 기억이 나지 않더라고요.. 면접장을 나오면서 차분히 떠올리니 스멀스멀 머릿속에 떠오르덥니다 ㅋㅋ 이와 관련한 내용을 저도 복기 및 숙지할 겸 기록합니다. OSI 7계층, 전송 계층 그리 패킷  우선, 네트워크의 통신 과정을 담는 OSI 7계층은 다들 아실겁니다. OSI 모델의 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신합니다. 그 중 전송 계층은 네트워크 통신을 이해하기 위해 자주 언급되는데요, 주로 데이터 전송의 신뢰성과..

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 -완-
Activity 2024. 10. 15. 00:26

이번에 진행한 Smilegate의 테크 하이킹 세션이 오늘로서 끝났습니다! 그래서 오늘은 종료 기념 오프라인 회고 미팅에 참가하였습니다~! 후기를 남기기에 앞서, 테크 하이킹이라는 프로그램의 정의를 정확히 말을 안한 것 같더라구요. 테크 하이킹을 이런 프로그램 입니다!  오늘은 후기 미팅이 어떻게 진행 되었는지, 그 간의 후기, 앞으로에 대해서 글을 써볼까 합니다! 회고 미팅 들어가니 가장 먼저 보인 것은 책상 위에 놓인 초록 봉투였습니다!! 정체는 바로 5주 간의 마무리를 축하하는 선물이였습니다.. 내용물은 또 개발자를 위한 손목 마사지기..안그래도 팜레스트 없이 개발해서 요즘 손목이 아팠는데 혹시 이 글을 보신다면 센스있는 선물 너무 감사합니다.. 이번 회고 미팅은 저녁 시간에 진행되었고 든든한 저녁..

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W5 - 돌아보기
Activity 2024. 10. 8. 01:07

어느덧 스터디를 진행한 지 5주가 되었고, 마지막 스터디를 오늘 진행하였습니다. 시간이 참 빠르네요. 이번 시간에는 각자가 목표로 했던 다양한 코드를 고쳐보고, PR 후 서로 리뷰를 하는 시간을 가졌습니다. 그리고 (치킨과 함께) 이런 저런 사는 얘기를 하면서 마무리 하는 시간을 가졌습니다. 코드와 관련된 내용은 아래 링크에서확인할 수 있으며 오늘은 돌아보기, 후기 정도를 진행하려고 합니다.https://github.com/SmilgateTechHiking-CleanCode/PRPractice GitHub - SmilgateTechHiking-CleanCode/PRPracticeContribute to SmilgateTechHiking-CleanCode/PRPractice development by cr..

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W4 - 추상화
Activity 2024. 10. 2. 00:01

책에 따로 존재하는 주제는 아니지만  이번 스터디의 주제는 추상화였습니다.이전 토픽부터 시작해서 객체지향 프로그래밍에서의 추상화와 같이 학창시절부터 꽤나 많이 들었지만 그냥 흘러가는 듯 잡고가던 개념이였습니다. 저에게는 정말 말 그대로 추상적인.. 아직 한 문장으로 정리되지 않는 단어였는데요, 이번 스터디를 진행하며 정리해보았습니다. 책을 읽고책을 읽고 나서는 사실 여전히 애매 했습니다. 6장 객체와 자료 구조부분에서는 구현을 감추려면 추상화가 필요하다고 하는데, 단순히 함수로 작성하는 것이 아니다라고 합니다.public interface Vehicle { double getFuelTankCapacityInGallons(); double getGallonsOfGasoline();}public interf..

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W3 - 주석과 PR
Activity 2024. 9. 24. 16:34

한창 취업을 위해 서류를 작성하고 있습니다. 운이 좋게도 면접을 볼 기회가 있어 면접 준비도 해보고 서류도 계속 쓰고 바쁘네요 ㅠㅠ 올해 가기 전에 취뽀 성공하면 좋겠습니다! 여담으로 면접 후기나 취준 뿐만 아니라 여러가지 생각을 많이 했는데 기회가 된다면 이 부분도 글로 남겨 보도록 하겠습니다. 아무튼, 이번 스터디 주제는 주석과 github의 pr 남기는 법에 관련한 내용입니다. 주석책에서는 어떤 주석을 사용하면 좋은지, 어떤 주석이 나쁜 주석인지를 말해주고 있습니다. 좋은 주석:어떤 인스턴스를 반환하는지와 같이 정보를 제공하는 주석문제 해결을 위한 저자의 의도를 드러내는 주석실행이 오래걸린다와 같이 결과를 경고하는 주석Todo 주석중요성을 강조하는 주석나쁜 주석:좋은 주석을 제외한 나머지.. 대표적..

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W2 - 이상적인 함수
Activity 2024. 9. 23. 17:11

어느덧 2주차 진행되는 스터디입니다. 이번 스터디의 주제는 이상적인 함수 작성하기입니다.우리 스터디는 매주 한명씩 돌아가면서 스터디를 리드하기로 하였는데요. 이번주는 제가 하게 되었습니다..뛰어나신 현업자분들 사이에서 준비해보려고 하니 생각보다 부담이 크더라구요.  그럼 스터디 내용을 시작하기에 앞서 책을 읽고난 후의 느낀점 정리를 먼저 해보겠습니다. 스터디 전 책 읽기함수를 무조건 작게!책의 저자는 함수를 무조건 작게 만들라고 합니다. 한 화면을 넘어가지 않도록, 그리고 if/else 등의 블록은 한 줄이면 충분하다. 들여쓰기는 1단 2단이면 충분하다..등 많은 의견을 추가하지만 결국 작고 가독성 좋은 함수가 좋다! 라는 의견입니다. 사실 저 의견들은 가독성의 측면에서 정말 좋은 의견이라도 생각합니다...

article thumbnail
[NestJS] 진짜 에러 처리 더 잘하기
Web 2024. 9. 16. 01:06

'부끄럽지만 나는 지금까지 'try-catch'가 없으면 혹시 모를 이유로 에러가 발생하면 서버가 crash되지 않을까?'라는 생각으로 냅다 코드블럭을 'try-catch'로 감싸는 습관이 있었다.  하지만 이번 배포를 진행하고, 클린 코드 스터디를 진행하며 내가 작성한 코드를 돌아보는 시간을 가졌다. 내 코드는 특히 'try-catch'와 에러처리 때문에 명백하게 '좋은 코드'는 아니라고 생각했다. 또한, 해당 글 에 남겨준 함께 스마일게이트 캠프를 진행한 형의 아래 댓글을 읽고 이참에 확실히 정리하고, 나도 제대로 알고 코드 작성하자는 마음가짐으로 글을 쓴다. NestJS의 에러결론적으로 앞서 내가 한 서버 crash의 고민은 조금 덜어놔도 된다. NestJS의 공식 홈페이지에는 아래와 같이 써있다...

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W1 -클린 코드란
Activity 2024. 9. 10. 02:58

스마일게이트 개발 캠프를 성공적으로 마친 기수들은 커뮤니티 활동을 이어갑니다!커뮤니티에서는 이전 기수들과 새로운 기수들이 함께하며 다양한 스터디 활동, 세미나 활동이 이루어지는데요. 그렇게 캠프의 인연이 계속해서 이어집니다. 저 또한 이번에 스마일게이트 커뮤니티에서 주관하는 스터디인 테크 하이킹_협업을 위한 클린 코드와 아키텍처를 5주간 진행하는데요. 취준생인 저를 제외하고 현업을 뛰시는 N년차의 뛰어나신 분들과 함께할 수 있게 되었습니다. 이 글은 해당 스터디의 첫 번째 글입니다. 시작 스터디는 로버트 C 마틴의 클린 코드라는 책을 읽고 해당 책의 내용에 대해 다양한 토론 및 사례를 확인하는 것으로 계획되어 있습니다. 구글에 클린 코드를 쳐보면 "클린 코드 비판"이 가장 먼저 나오는 만큼 다양한 의견이..

article thumbnail
[Next.JS / Nest.JS] S3와 이미지가 포함된 게시글 그리고 성능
Web 2024. 7. 27. 23:38

조만간 운영할 사이트를 하나 만들며 이미지와 글이 혼합하여 보이는 블로그 형식의 게시글을 구현하고 있었습니다.C(R)UD를 구현하며 느낀것, 어떻게 더 성능을 끌어 올릴까 등 다양한 방법과 후기를 남기고자 합니다. 우선 CRUD는 어떻게 보면 기본적인 플랫폼/서비스의 기본이 되는 작업이죠. 블로그도 sns도 모두 여기서부터 시작됩니다. 저는 이러한 CRUD에 있어서 가장 중요한 것은 데이터 정합성, 효율적인 데이터 처리라고 생각합니다. 문제이번 고민 또한 이러한 데이터 정합성 문제에서 부터 시작되었습니다.  제가 원하는 형식은 블로그처럼 글과 글 사이에 이미지가 첨부 가능한 게시글입니다. 이를 블로그형 게시글이라고 부르도록 하겠습니다.  블로그형 게시글은 크게 보면 다음과 같은 순서의 작업이 필요합니다...

article thumbnail
[API 디자인] Response 어떻게 return해야 할까?
Web 2024. 7. 12. 02:56

현재 혼자 진행중인 프로젝트는 Next.js + Nest.js 조합으로 진행중입니다. 프로젝트를 진행하며 백엔드 로그인 코드를 조금 수정하였는데, 기존에 잘 작동하던 프론트 부분 코드가 작동하지 않는 상황이 발생하였습니다. 분명 로직은 그대로이고 (오히려 단순화 되었고) 변한 부분이 크지 않은데 왜 갑자기 안되지 싶었는데, 원인은 아래 코드였습니다. 해당 코드의 const result = await res.json() 부분이 문제였습니다.그냥 return받은 response의 json객체를 사용하는 것인데 왜? 라고 생각하실 수 있는데, 문제는 백엔드 로직이 json객체를 더 이상 반환하지 않게 수정 되었다는 것입니다. 기존에는 다양한 정보와 토큰을 주었지만 로직이 변경되며 정보 객체를 반환하지 않도록 ..