ErrorResponse로 전달할 필드에 대한 고민
·
프로젝트/COTATO.KR
프로젝트를 본격적으로 운영하며 예외처리에 대한 고민이 되기 시작한다. 예외가 발생하면 ErrorResponse를 통해 클라이언트가 해당 요청에서 무엇이 잘못되었는지를 알려줘야하고 또한 서버에도 적절한 로그를 남겨 어떤 문제가 발생했는지를 기록해야한다. 즉, 예외가 발생했을때 적절한 처리를 통해 2가지 목적을 달성해야한다. 클라이언트에 발생한 정보를 정확하게 전달해서 클라이언트가 적절한 예외처리를 할 수 있게 하자. 서버에 로그를 남겨 어디서, 왜 에러가 발생했는지를 기록해야한다. 이 글에선 비즈니스 로직 내부에서 발생한 에러에 대한 ErrorResponse에 들어갈 필드가 어떤 역할을 해야하는지를 고민하고 글을 정리할 계획이다. 기존 반환 값 현재 전달하고 있는 ErrorResponse는 다음과 같다. ..
어떤 개발자가 될 것인가
·
글을 써봐요/인사이트
요즘 자소서를 많이 쓴다. 흔히 생각하는 대기업류 자소서에는 항상 ‘입사 후 펼치고 싶은 꿈은?’, ‘우리 회사에 지원한 이유는?’ 이런 질문이 존재한다. 정말 흔한 자소서 질문이지만 매번 대답하기 어렵다. 사실 지독히 현실적으로 생각하면 지원동기란 ‘나는 개발자가 되고싶고 이곳에선 개발을 할 수 있으니까’인데 왜 이 회사여야하는가?가 항상 자소서를 쓰기 어렵게 만드는 것 같다. 그렇다면, 지원하는 회사는 제각각이니 회사를 선택하는 이유는 둘째치고 나는 왜 개발자가 되고 싶은지가 명확할까? 이런 의문이 들었다. https://youthing.tistory.com/89 (왕감자)개발자는 어떻게 나아가야 할까 한때 개발자라는 직업의 붐. 꽤 높은 초봉과 비전공자까지 끌여들이는 인력 부족으로 개발자의 인기는 ..
IT연합동아리 코테이토 교육팀 활동 회고록
·
활동/cotato
지난 2월 16일부로 공식적으로 코테이토 8기 교육팀 활동이 종료되었다. 7기부터 시작해서 8기엔 교육팀장으로, 대학생활에서 가장 열심히 참여했던 활동 중 하나로 꼽을만큼 열정적으로 임했던 교육팀 활동 후기를 남겨보려한다. 교육팀이란? IT연합동아리 코테이토에서 진행하는 정규 세션에서 매주 'CS 또는 면접에서 나올만한 기술 주제'를 바탕으로 10 ~ 15분간 교육을 진행하고 이에 대한 퀴즈를 진행하는 팀이다. 따라서, 매주 주제와 발표자를 선정하고 세션 전 팀원간의 회의를 통해 문제 제작 및 검증, 발표자료 피드백을 진행한다. 교육팀에 들어간 이유 처음 교육팀에 들어간 이유는 '발표능력을 기르자'였다. 정규세션은 매번 20 ~ 30명의 사람들이 참석을 하고 CS교육은 매번 진행되기에 이 사람들 앞에서 ..
DB인덱스
·
CS/교육팀
이번 교육 주제는 DB인덱스로 정했다. 교육팀 하면서 꼭 한 번은 다루고 싶던 주제이기도 했고 8기의 후반부라 부원들도 살짝 난이도 있는 주제를 정해도 이해가 쉽지 않을까 싶어서 해당 주제를 선택했다. 사례 우선, 단적인 상황에 대한 예시를 먼저 보자. 8기 코테이토 카페, CS교육 자료들이 업로드 되어있다. 이 많은 자료 중에 특정 단어, SOP에 대한 개념을 배웠던 것 같은데 기억이 나지 않아 해당 자료가 어디 있었지? 하며 찾아보는 중이다. SOP라는 단어가 어디에 위치하는지 아무 정보도 없다면 어떻게 탐색해야할까? 시작부터 끝까지 순차적으로 탐색하며 존재하는지, 아닌지를 찾아야한다. 하지만, 아래와 같이 용어와 용어의 위치에 대한 정보를 나타내는 표가 있다면 어떨까? 용어가 사전순으로 정렬되어있으..
코테이토 3회차 해커톤 회고록
·
활동/cotato
지난 1월 5일에서 6일 IT 연합동아리 코테이토에서 3번째 해커톤이 열렸다. 진행 과정 1월 5일 19시부터 다음날 08시까지 약 13시간 진행하는 코테이토 해커톤은 기획, 디자인, 백엔드, 프론트엔드로 팀을 구성해 현재 진행되는 기수(8기) + OM의 참가신청을 받아 진행하는 해커톤이다. 정해진 주제와 팀원을 전날 미리 공지했고 이번 주제는 사랑, 스포츠로 팀원은 기획 1, 디자인1, 백엔드3, 프론트엔드2로 진행되었다. 왜 참여했는가? 지난 2번의 해커톤 참여 기억이 너무 좋았다. 결과적으론 두 번의 해커톤 모두 우승을 한 것도 있지만, 해커톤이 끝나고 나면 항상 배우는 것이 많았기에 이번 해커톤에서도 그런 것들을 기대할 수 있지 않을까 싶었다. 첫 번째 해커톤에선 단순 Spring MVC패턴만 안..
CORS
·
CS/교육팀
이번 주 CS 교육은 다다음주 해커톤을 맞아 백과 프론트를 연결할 때 발생할 수 있는 문제인 CORS를 주제로 선정했다. 해당 글을 통해 CORS 정책이 무엇인지와 Origin에 대한 개념을 정리하겠다. API 요청 예시 우선, 아래와 같이 프론트엔드에서 백엔드로 API 요청을 보내는 경우를 생각해보자. 요청은 브라우저를 통해 백엔드 서버로 전달될 것이다. 아무런 설정 없이 요청을 보내면 아래와 같이 CORS 정책에 의해 요청이 차단되었다. 는 에러가 발생한다. CORS가 무엇이길래 다음과 같은 에러가 발생할까? CORS를 이해하기 위해선 SOP와 Origin의 개념을 먼저 이해해야한다. 출처 (Origin) 웹 개념상에서 출처는 프로토콜 + 도메인 + 포트번호 를 합친 개념을 의미한다. 아래 일반적인 ..
[이용 후기] 신촌 캐치카페 대관 후기
·
카테고리 없음
12월 22일 IT 연합동아리 코테이토 정규세션을 신촌 캐치카페에서 진행했다. 신촌 캐치카페는 6기부터 정기적으로 대관해 사용하고 있는데 음료제공과 공간 분리에 용이함, 무료 이 세 가지 요소가 세션을 진행하는데 도움이 되어 자주 대관하는 것 같다. 이번 세션은 크리스마스 이벤트로 진행해 기존의 진행상황을 제외하고 CS교육 + 기획팀 이벤트로 진행해 약 1시간 30분 정도로 진행되었다. CS 교육 이번 CS 교육은 내가 진행했는데 CORS에 관해서 진행했다. 다다음주 해커톤을 맞아 백엔드와 프론트엔드를 연결하고 테스트할 때 발생할 수 있는 에러에 관한 내용을 다루고 싶어 진행했다. 자세한 CORS관련 글은 추후에 정리하도록 하겠다. 레크레이션 또한 크리스마스 이벤트로 레크레이션을 진행했느데 공간이 적절하..
[우아한테크코스 6기] 프리코스 - 4주차
·
BE/우아한테크코스
이번 4주차 과제는 지난 3주간의 기존 과제와는 달랐다. 지난 3주의 과제는 작년 프리코스에 나왔던 과제로 레퍼런스들이 상당했지만, 이번 과제는 완전 새로운 과제가 나올 것이 예상되었기에 1주일이 모자랄 수도 있겠다는 생각이 들었다. https://github.com/Youthhing/java-christmas-6-Youthhing GitHub - Youthhing/java-christmas-6-Youthhing Contribute to Youthhing/java-christmas-6-Youthhing development by creating an account on GitHub. github.com 역시나, 새로운 과제 크리스마스 프로모션 과제가 나왔다. 나온건 나온건데 기능 요구사항이 이전과 달랐다..
[우아한테크코스 6기] 프리코스 - 3주차
·
BE/우아한테크코스
이번 과제는 패턴 상 작년에 마지막 과제였던 로또가 나올 것 같았다. https://github.com/woowacourse-precourse/java-lotto-6 GitHub - woowacourse-precourse/java-lotto-6 Contribute to woowacourse-precourse/java-lotto-6 development by creating an account on GitHub. github.com 설계 목표 지난주에 테스트 과도한 캡슐화로 인해 테스트 코드 작성에 어려움을 겪은 점, 클래스 간의 과한 의존성으로 책임을 분리하기 어려웠던점을 기억해 이번엔 더욱 책임을 어떻게 분리할 것인가? 에 대한 고민을 많이했다. 이러한 소프트웨어 설계적 고민에 따른 해결책이 디자인패턴..
MVC 패턴이란?
·
CS/소공
프리코스 과제를 하며 초기 설계 단계에서 가장 많이 하는 고민이 클래스를 어떻게 분리할까? 이다. 한 객체당 기능을 최소화하고, 책임을 분리하는데 초점을 맞추고 싶었지만 생각보다 어려웠다.~~ 지금까지는 MVC 패턴과 유사한.. 흉내만 낸 패턴을 적용했는데, 의미를 제대로 인지하지 않고 흉내만 내니 한 메서드가 하나의 역할을 하지 못한다거나, 객체의 역할의 불명확하다는 등 문제를 안은 코드를 개발하는 것 같았다. 한 번 MVC 패턴에 대해 정리하고자 한다. 우선, 디자인 패턴에 관한 정의부터 하면 다음과 같다. 디자인 패턴이란? 특정 문맥과 상황에서 반복해서 일어나는 문제에 대한 해결방안을 정리한 것을 의미함. 특별한 문제가 아니라, 보편적인 문제상황에서의 해결방안을 이야기한다. 느낌으로 정리하면 반복되..
유쓰응
글쓰는 개발자 Youth