우아한테크코스

    [우아한테크코스] 레벨3 프로젝트[커디]를 마치며..

    눈 깜짝할 사이에 우아한테크코스(이하 우테코) 레벨 3 교육 과정이 마무리되었다. 6월 6일, 마지막 포스팅 날짜를 보면 거의 2달 반 동안 포스팅을 작성할 시간이 부족했음을 알 수 있다. (이에 대한 원인은 아래에서 다룰 것이다.) 레벨 3 교육 과정을 아래에 보이는 기승전결 그래프로 요약할 수 있다. 그래프에서 보이는 것처럼, 문제 발생으로 우리 팀은 다른 팀에 비해 부족한 시간을 가지게 되었다. 지금부터 커디 프로젝트에 대해 기승전결로 풀어나갈 것이다. 기(起) : 화목한(?) 프로젝트의 시작 우테코는 레벨3 교육 과정에서 이전 단계에서 배운 지식들을 바탕으로 팀 프로젝트를 진행한다. 여러 크루들은 레벨 2 교육이 종료되기 전에 아이디어를 제출하며, 선정된 아이디어에 따라 크루들을 랜덤하게 배치하는..

    [우아한테크코스] 우아한테크코스 한 달 생활기

    정신없이 살다 보니 우테코를 시작한 지 어느덧 한 달이라는 시간이 지났다. 왕복 3시간 거리를 통학하는 것은 생각보다 쉽지 않았다. 정신을 차려보면 선릉역에 도착한 모습에 헛웃음이 나오기도 한다. 이렇게 어느 크루의 하루가 시작된다. 우테코 전에는 10시가 넘어서 일어나는 경우가 많았다. 눈을 떠도 1시간은 침대에 누워서 휴대폰을 하기 일쑤였다. 그러나, 한 달 사이에 늦잠은 하나의 과거가 되었다. 이제는 적어도 "출석"이라는 목적이 있기 때문이다. 이 또한 내면의 과업을 이룬 것으로 생각하며 소소한 뿌듯함을 느낀다. 사실 첫 주가 시작되기 전에 걱정이 이만저만이 아니었다. 내성적인 성격 탓에 사람들과 잘 어울릴 수 있을지 걱정이 많았기 때문이다. 하지만 쓸데없는 걱정이었다. 대부분의 크루들이 서로 배려..

    [우아한테크코스] 원시값 포장과 일급컬렉션은 무엇이고, 어디까지 감싸야 할까?

    원시값 포장과 일급컬렉션의 사용은 소트웍스 앤솔로지의 객체지향 생활체조로부터 시작되었습니다. 1. 모든 원시값과 문자열을 포장한다. 2. 일급 컬렉션을 쓴다. 해당 포스팅에서는 원시값 포장과 일급 컬렉션이 무엇인지, 그리고 무조건 원시값과 컬렉션을 무조건 감싸주는 것이 옳은가에 대해 알아보겠습니다. 원시값 포장 원시값 포장은 Primitive 타입을 그대로 사용하지 않고, 객체로 사용하기 위해 하나의 클래스를 선언해주는 것을 의미합니다. Lotto 미션에서 로또 번호를 단순히 Int로 사용할 수도 있지만, 우리는 원시값을 포장하라는 요구사항을 받았기에 대부분 아래와 같이 코드를 작성했을 것입니다. class LottoNumber(val value: Int) { init { validateLottoNumb..

    [우아한테크코스] 2주차 - 로또(자동) 미션 회고 및 피드백

    우아한테크코스 로또(자동) 미션에서는 TDD를 도입하여 페어프로그래밍을 하였습니다. 기존과 다르게 TDD 사이클을 기반으로, 3단계(실패하는 테스트 코드 작성 -> 가능한 빠르게 성공하는 테스트 코드 작성 -> 리팩터링)를 거치다 보니 시간이 촉박하였습니다. 하지만 1주차때와 달리, 테스트 코드를 우선적으로 작성하다 보니 가능한 많은 경우에 대해 생각해 볼 수 있었고, 도메인 모델에 기능을 추가할 때 더 높은 신뢰를 가질 수 있었습니다. 기능이 수정되어도 기존에 작성해놓은 테스트 코드를 통해 쉽게 검증할 수 있었기에, 테스트 코드를 믿고 과감하게 리팩터링 할 수 있었습니다. 또한, 코치님의 말씀대로 TDD를 적용하니, Green에서 Refactor 단계로 넘어가는 과정에서 어떠한 로직이 추가되어야 할 근..

    [우아한테크코스 5기] 프리코스 3주차 회고 - Kotlin 안드로이드

    목차 ✏️ 3주차 문제 📃 추가된 요구 사항 🥺 부족했던 부분 🤔 새롭게 알게 된 지식 ✏️ 3주차 문제 미션 - 로또 3주차 미션은 로또 시뮬레이션 구현입니다. 로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다. 로또 1장의 가격은 1,000원이다. 당첨 번호와 보너스 번호를 입력받는다. 사용자가 구매한 로또 번호와 당첨 번호를 비교하여 당첨 내역 및 수익률을 출력하고 로또 게임을 종료한다. 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 종료한다. 만약 금액이 1000원 단위가 아니거나, 로또를 구매할 수 없는 금액이라면 예외를 발생시키고 프로그램을 종료해야 합니다. 이 외에도 숫..

    [우아한테크코스 5기] 프리코스 1주차 회고 - Kotlin 안드로이드

    목차 ✏️ 1주차 문제 🤔 스스로 고민하는 시간 ✏️ 1주차 문제 미션 - 온보딩 기존 우테코 프리코스는 3주차 과정으로 이루어졌지만, 5기부터 1차 코딩테스트가 없어지면서 4주간의 프리코스로 변경되었습니다. 추측이기는 하지만, 아마도 1차 코딩테스트 문제가 1주차 과제로 주어진 것이 아닐까 싶습니다. 총 7개의 문제로 구성되었으며, 백준 기준으로 브론즈 ~ 실버 난이도의 문제였습니다. 또한, 각 문제들은 기능 요구 사항, 프로그래밍 요구 사항, 과제 진행 요구 사항 세 가지로 구성되어 있습니다. 위 미션 - 온보딩 링크를 들어가면 자세히 확인할 수 있습니다. 문제를 구현하기 전에, 각 문제별로 기능 목록을 만들고, 기능 단위로 커밋할 필요가 있었습니다. 따로 정리하라고 주어진 .md 파일 없었기에 개인..