ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [우테코 프리코스] 4주차 회고
    카테고리 없음 2024. 11. 12. 22:31

    우테코 프리코스가 종료되었습니다.

    지난 4주 간

    위와 같은 상태로 무엇이든 해내고야 만다는 마음으로 임했었는데요,

    3주차까지 잘 마쳐서 4주차에서 3주 간 발전한 모습을 최대한 담자고 마음 먹었습니다. 그러나 4주차를 시작하면서 쉽지 않다는 걸 바로 깨달았습니다. 

    절망의 계곡으로 순식간에 곤두박질치고 있었습니다. 정말 아는 게 없더라구요. 결론적으로 말하자면 저는 예기치 못한 오류로 테스트를 통과하지 못했습니다. 너무 슬픕니다....너무 슬프고요.....정말 열심히 했다고 생각했는데 어딘가 틀림없이 부족한 부분이 있었을테지요. 슬퍼서 마주하고 싶지 않았던 회고였지만, 그래도 우테코를 끝냈으니 (일부 기특한 마음으로..) 적기로 했습니다.

     

     

    제가 4주차에 배운 것들은 총 다섯 꼭지로 적어볼 수 있을 것 같습니다.

    1. 제~발 제출은 일찍부터 시도하자.
    2. 단위 테스트는 반드시 바로바로 생성하자.
    3. Enum을 가지각색 방법으로 사용할 수 있음을 기억하자.
    4. 요구사항은 보고 또 보고, 또 봐도 부족하다.
    5. 아쉬워도, 슬퍼도 앞으로 가는 것.

     

    1. 제~발 제출은 일찍부터 시도하자.

    저의 경우, 제출을 3시간 정도 일찍 했습니다. 이미 소감은 전날 적어놓았어서(막바지에 오류를 발견하는 경우도 있을 수 있으니까요..) 지금보니 그래도 그나마 다행이었네요. 처음부터 제출은 1/4만 통과한 상태였습니다. 마감 2시간 전 쯤에는 2/4였구요, 그런데 제출 시간에 가깝게 다가왔을 때 제출하니 테스트 시간이 무척 늘어났고, 그러다가 마지막엔 "예기치 못한 오류" 에러가 뜨면서 성공적인 제출은 못하게 되었습니다.

     

    물론 예제테스트가 채점 결과엔 반영되지 않는다고 하니, 다행이지만...검색해보니 대부분의 예기치 못한 오류는 코드의 잘못인 것으로 보여 부족한 점이 있었구나, 라는 생각을 하게 되었습니다. 너무 슬픕니다. 그렇지만 이것이 지금 저의 코딩 수준 위치임을 마주할 수 있었습니다. 

     

    다음에도 도전할 수 있게 된다면, 이런 테스트를 이용할 수 있는 과제인 경우엔 미리 제출을 시도하면 좋겠다고 생각했습니다. 소감문 수정도 가능하니, 일단 제출하면서 부족한 점을 생각하는 것도 좋은 방법인 것 같습니다.

     

    2. 단위 테스트는 반드시 바로바로 생성하자.

    4주차는 특히 구현에 급급하며 진행하다보니, 단위 테스트에 소홀하게 되었습니다. 기능 구현 막바지 쯤 되니, 코드의 허점이 유독 많아 보였습니다. 그렇다고 오류를 체크하기 위해 매번 입력을 일일이 해줄 순 없으니까 구현 후에 뒤늦게 테스트를 작성하는 경우가 종종 있었습니다. 이럴때 테스트를 위해 코드를 수정하는 경우가 생기고, 테스트 코드를 만들기 위해 시간을 허비하는 일이 생기게 됩니다. 

     

    4주차에서는 단위 테스트를 위해 기존의 NsTest를 수정해서 커스텀 하는 것이 필요했는데요, 테스트가 가능하도록 입력을 받아 코드를 실행시킬 수 있도록 구현해야 했습니다. 이 과정을 고민하면서 많이 성장했다고 생각할만큼, 고통스러웠지만 해결 후 성취감도 컸습니다. 단위테스트를 하기 위해 어디까지 입력을 받으면 좋을지, 다른 함수들과 최대한 독립적으로 테스트가 가능할 수 있도록 작성하는 것도 중요하다는 것을 배울 수 있는 시간이었습니다.

     

    3. Enum을 가지각색 방법으로 사용할 수 있음을 기억하자.

    Enum을 선언하는 방식이 다양할 수 있다는 것을 배웠습니다.

    public enum EnumExample{
        NAME(value1, value2),
        NAME2(value1, value2);
    }

    이렇게 이름 옆에 소괄호로 여러가지 상수를 저장하는 것만 알고 있었는데요, 함수를 매개변수로 받을 수 있다는 것을 알게 된 뒤, 람다식만이 아니라 긴 함수를 넣을 순 없을까 생각했었습니다.

    더 검색해보다가 알게 된 사실은 apply 자체를 각각의 Enum value에 따라 동작이 다르도록 override 해줄 수 있다는 것입니다. 이렇듯, Enum을 잘 사용하면 생각보다 엄청난 무기가 하나 생기는 것이라는 걸 알게 되었습니다.

    앞으로 다양한 문제 해결 상황에서 Enum을 활용할 방안을 많이 고민하고 연습해야 되겠다고 마음 먹었답니당.~

     

    4. 요구사항은 보고 또 보고, 또 봐도 부족하다.

    요구사항을 다 구현했다고 생각했었는데, 처음에 파악했다고 생각하고 다시 보면 또 부족한 점이 보였습니다. 구현 중간에도 그랬구요, 구현 마지막까지도 요구사항은 봐도 봐도 해석할 여지가 다양해 부족했습니다. 기능 요구 사항 뿐만 아니라, 프로그래밍 요구 사항까지도 구현하면서 계속 다시 볼 필요가 있는 것 같습니다.

     

    5. 아쉬워도, 슬퍼도 앞으로 가는 것.

    글에서도 뚝뚝 묻어나지만, 너무 아쉽습니다.

    그러나, 제출까지 최선을 다했다고 생각합니다. 이번엔 여기까지가 제 실력의 최선이었던 것 같습니다. 다음 기회가 올 때까지 더 열심히 차곡차곡 지식을 쌓고, 실제 코딩 문제도 많이 풀어보면서 발전하고 싶습니다. 적당히 아쉬움에 젖어있다가, 다시 앞으로 가는 시간을 가져보려 합니다. 더 잘할 수 있을 거라고 믿고 있습니다.

     

    이 글을 보고 계실 많은 우테코 지원자분들, 정말 고생많으셨습니다!!!

    여러분 모두에게 좋은 소식 있기를 바랍니다. 혹시 아쉬운 결과를 얻게 되시더라도, 너무 슬퍼하지 말고 계속 킵 고잉 하시길 바랍니다. 미래에 보면 떨어진 것 조차도 감사하게 될, 더 좋은 상황이 오게 된다고 생각합니다. 주저 앉지 말고 계속 앞으로 가는게 가장 중요한 것 같습니다. 우리 모두 파이팅!!!

     

     

Designed by Tistory.