본문 바로가기

전체 글

2019 상반기 회고 나는 우아한형제들에서 운영하는 웹 백엔드 교육과정인 우아한테크코스(이하 우테코)에서 교육을 받고 있다. 1. 우테코 참여하기 전 ( ~ 5월) 우테코에 참여하기 전에는 4학년 2학기를 다니며, 상반기 공채를 준비하고 있었다. SI회사는 지양했기 때문에 지원한 회사가 많지는 않았다. 최종적으로 우테코에 합격을 했고, 삼성전자에 SW직군으로 최종면접을 볼 기회를 얻었다. 근데 삼성전자 면접날짜와 우테코의 교육 날짜가 겹쳐서, 둘 중 하나를 선택해야 했다. (교육을 하루 빠지고 면접을 봐서 합격하더라도 나중에는 최종선택을 해야 했다..) 결국 우테코를 선택했다. 2. 우아한테크코스 (5월 ~ ) 각 단계마다 2개월 과정으로 총 4단계로 이루어져 있다. 2-1. 우테코 레벨 1 (5 ~ 6월) 그중 첫 번째 단.. 더보기
내가 생각하는 서비스 계층에서 Mock을 사용하여 단위테스트를 하는 이유 오늘 프로젝트를 진행하던 중에 한 팀원이 이런 말을 했다. "솔직히 서비스 계층에서 왜 Mock을 사용해서 단위테스트를 해야하는지 모르겠다. repository까지 활용해서 DB에 데이터가 들어가고 수정되는 과정까지 테스트하는게 서비스 계층의 기능을 제대로 테스트하는게 아닌가?" 내 생각은 이렇다. 서비스 계층에는 비즈니스 로직이 있는데, 테스트는 이 서비스 계층의 비즈니스 로직을 검증해야 한다. 그런데, 서비스 계층이 repository에 의존하고 있기 때문에 어떤 데이터베이스를 사용하는지에 따라 테스트가 실패할 수도 있고 성공할 수도 있다. 비즈니스 로직이 아닌 다른 요소에 의해 테스트가 실패하거나 성공할 수 있게 되는 것이다. 그래서 repository를 Mocking하여 서비스 계층의 비즈니스 로.. 더보기
[IntelliJ] 자주쓰는 단축키 ⌃ + ⌥ + space (invoke code completion) : 자동완성 호출 ⇧ + ⌥ + 위아래 방향키(블록으로 지정한 후) : 블록으로 지정한 코드를 한 줄씩 위 또는 아래로 이동 ⇧ + ⌘ + 위아래 방향키(블록으로 지정한 후) : 블록으로 지정한 코드를 statement 단위로 위 또를 아래로 이동 ⌥ + ⌘ + L (reformat code) : code convention 정렬 ⌥ + ⌘ + M : 메서드 분리 ⌥ + ⌘ + C : 상수 분리 ⌘ + P : parameter 정보 보기 ⌘ + K : commit 창 보기 ⌘ + D : 한 줄 복사 ⌘ + backspace : 한 줄 삭제 ⌘ + W : 탭 삭제 ⌘ + 1 : project로 포인트를 이동시킴 ⇧ + F6 : 변수가.. 더보기
[IntelliJ] Unit Test 연습을 위한 gradle projcet 생성하기 1. IntelliJ 실행 후 Create New Project 클릭 2. 왼쪽 메뉴에서 Gradle 클릭 후 Next 클릭 3. GroupId, ArtifactId, Version 입력 GroupId는 프로젝트의 고유 식별자이다. package naming 규칙을 따른다. AritfactId는 jar파일에서 버전 정보를 생략한 이름이다. 자유롭게 적으면 된다. (단, 모두 소문자로 작성) 4. 계속 Next를 클릭 한 후에 finish를 클릭한다. 프로젝트가 생성되면 아래와 같은 폴더 구조를 갖게 된다. 5. src/test/java 에 package 생성(생략 가능) 후 class 생성한다. 그리고 아래 코드와 같이 작성한다. @Test annotation이 붙은 함수에 테스트코드를 작성하면 된다. .. 더보기
우아한테크코스 1기 지원 후기 우아한형제들이 운영하는 우아한테크코스 1기에 지원하였다. 우아한테크코스는 우아한형제들과 같은 일반 사용자용 서비스를 개발하는 회사가 필요로 하는 역량을 가진 프로그래머를 양성하기 위한 교육이다. (사이트 참고) 1기는 자바로 백엔드 교육을 받게 된다. 선발과정은 온라인 지원 -> 온라인 코딩 테스트 -> 프리코스 -> 오프라인 코딩 테스트이다. 온라인 지원을 할 때 4가지 질문에 답을 해야 한다. 프로그래밍 학습 과정과 현재 자신이 생각하는 역량은? 프로그래머가 되려는 이유는?a 마음이 끌리는 무엇인가에 몰입해 일정 수준의 결과물을 만들어낸 경험이 있는지? 우아한테크코스에 참여하려는 이유는? 첫 번째 질문은 지금까지 프로그래밍을 배우고 만들었던 프로그램들을 생각하면서 적어나갔다. 두 번째 질문은 보통 혼.. 더보기
2019 상반기 삼성전자 무선사업부 SW 역량테스트 후기 다른 블로그나 사이트에 기출문제 해설을 한 곳은 많지만, 합격한 사람이 시험을 보는 중에 어떤 생각을 하면서 문제를 풀어나갔는지에 대한 글은 잘 보이지 않아서 간단히 작성해보았다. S직군은 서류에 합격하면 SW 역량테스트를 보게 된다. SW 역량테스트는 오전/오후로 나눠서 시험을 친다. DS가 오전에 보고 CE/IM은 오후에 봤다. 내가 본 CE/IM 시험은 시뮬레이션 1문제, DFS/BFS를 이용하는 완전 탐색 1문제가 출제되었다. (DS는 시뮬레이션 2문제가 출제되었다고 한다) 시험이 시작되고 먼저 첫 번째 문제 설명부터 읽었다. 처음으로 시뮬레이션 문제 설명을 보았는데, 대충 어떤 식으로 풀어야 할지만 생각하고 다음 문제로 넘어갔다. 완전 탐색 문제를 읽고 이 문제를 먼저 풀어야겠다고 생각했다. (.. 더보기