Study/WIL(Weekly I Learned)

크래프톤 정글 - 6Week 24.02.22 - 24.02.28 부제 : 타협과 분함

에린_1 2024. 3. 1. 00:13
728x90

회고

서럽다 서러워 나한테 서럽다!!

지금까지는 회고록으로 내 생각을 조금 적고 TIL을 다시 타이핑하는 식으로 WIL을 작성했는데, 이제부터는 WIL을 바꿔서 작성해보도록 하겠다.

KPT 회고를 통해서 앞으로 WIL을 작성할 생각이다. 잘할 수 있을지는 모르겠지만 하다보면 더, 더욱 늘겠지!

KPT 회고

  • Keep, Problem, Try의 약자로 Keep은 잘 한 것, Problem은 아쉬운 것, Try는 K와 P기반으로 무엇을 할지에 대해 작성하는 방법이다.
    • K : 잘 해와서 유지하고 싶은 것
    • P : 어려움을 느껴서 개선하고 싶은 것
    • T : 구체적인 시도할 내용

프로젝트 설명

  • 네트워크와 관련된 프로젝트를 해야하는 주였다.
  • echo, tiny, proxy 서버를 구현했어야 했다.
  • echo의 경우 내가 보낸 요청을 다시 응답해주는 역할을 하는 서버를 구현해야했다.
  • tiny의 경우 http형식으로 내가 method를 사용해서 요청을 했고, 그 형식에 맞게 응답을 해주는 서버였다. 요구하는 내용에 따라 정적, 동적 컨텐츠를 건내주었고, 동적 컨텐츠를 건내주기 위해서 CGI(Common Gateway Interface)를 사용했다.
  • proxy 서버의 경우 클라이언트와 서버 사이에서의 중계기 역할을 하는 친구로서 요청에 대해서 익명성과 HTTP 버전을 바꿔서 서버에 전달을 해주고, 서버에서 받은 응답을 다시 클라이언트에게 전달하는 순차적 proxy 서버를 만드는 것이 첫 번째 문제였다.
  • 두 번째는 동시병렬 처리를 하는 proxy서버를 만드는 것이였다. 동시병렬 처리의 경우 쓰레드를 사용해서 개발을 했어야 했다.
  • 세 번째는 캐싱을 해주는 역할을 proxy서버에 추가하는 것이였다. 캐싱을 해주는 기능뿐 아니라 동시성 문제 또한 같이 생각을 해주어야하는 문제였다.

K_Keep

  • 개념을 공부하는 방법이나, 키워드, 퀴즈에 신경써서 공부하는 것
    • 처음보는 개념을 공부하는 방법이나, 계속해서 키워드나 퀴즈에 대해서 공부한 것은 잘하고 있는 부분이다. 매주 얻어가야하는 부분 중 키워드라고 하는 부분이 면접이나 아니면 그 주에 하고 있는 주제에 대해서 중요한 말 그대로 키워드라고 생각하는데, 이 부분에 그래도 좀 더 신경을 써서 공부하는건 좋은 것 같다.
  • 코드 분석시 덩어리로 파악하고 그 안의 내용을 분석하는 것
    • 숲보다 나무를 먼저 보지않고, 숲으로 파악한 뒤, 나무를 천천히 분석하는 것은 좋은 것같다.
    • 코드가 짧을 때는 상관이 없지만 코드가 점점 길어지고 비대해질수록 더 필요한 능력이라고 생각한다. 이 기회에 많이 기르도록 노력하자.

P_Problem

  • 스스로하고 타협해서 직접 구현해보지 않고, 클론코딩을 선택한 것.
    • proxy를 구현하려 할 때, 시간이 촉박하다라는 이유로 스스로와 타협하고, 클론코딩을 해서 코드를 이해하고자만 했던 것이 문제가 됐다.
  • 정확하지 않은 정보를 수정하지 않고 계속 가져간 것.
    • 내일해야지 내일해야지 하면서 계속 미루는 그런 습관은 문제가 되니 벗어나도록 하자.
  • 집중하지 못하고 돌아다니면서 노는 것.
    • 차라리 그 시간에 휴식을 취하거나 빠르게 할 것을 끝내고, 들어가서 잠을 청하도록 하자. 그 시간에 놀고, 공부를 안했다는 생각에 늦게까지 남아서 할일을 끝마치지 못하고, 그렇게 다음날의 컨디션 관리조차 실패하지말자.

T_Try

  • 머리 박아가면서 직접 구현하기
    • 절대 네버 편해지려고 하지마라. 김에린, 너는 광부다. 쉴세없이 광질을 해라.
  • 애매한 정보는 바로바로 수정하고, 기록하기
    • 니 머리를 믿지마라. 기록은 신이고 너는 바보다.
  • 시간을 효율적으로 사용하기
    • 놀수도 있지만 자신의 일을 내팽겨치지 마라. 너의 루틴을 지키기 위해 내일, 일주일, 한달을 위해 시간을 효율적으로 사용해라. 넌 항상 모자르니까 남보다 더 더욱 효율적으로 살아야 한다.
  • 잘자기
    • 잘자요~

느낀점

이번주는 사실 많이 힘들었다.

네트워크쪽은 아에 기초지식이 전무한 상태여서 듣고, 공부했기에 머리속에 잘 들어오지 않았고, 그러니까 진도를 나가는게 쉽지 않았다. 어렵다보니 계속 멀어지고 편해지려 했고, 그렇게 하다보니 밤이 되었을때는 공부한 부분이 만족스럽지 않아서 점점 늦게가는 일이 잦아졌다. 그러면서 남들은 잘하는 것 같은데, 나만 이렇게 이해가 잘 안되나? 잘 머릿속에 안들어오나? 라는 생각 또한 했다. 물론 모두가 어렵다는 것을 알고는 있지만.

이기적이게 그렇게 점점 편한 것을 알게 모르게 찾다가 수요일날 일이 터졌다.

proxy를 구현했어야 하는데, 시간이 없다는 생각과 0점 코드를 제출하고 싶지않다는 생각이 사실 다 자기합리화이다. 그냥 난 스스로와 타협을 했다. 조금 더 편하니까.

그렇게 코드를 읽고, 클론코딩한 코드를 분석하다가 내 앞에서 동료가 구현을 끝낸 모습을 보았을 때, 내가 지금 뭐하고 있는가 라는 생각이 들었다.

진짜 정말 분했다. 너무 부끄럽고 분했다. 이러려고 정글에 온게 아닌데, 나는 이렇게 살려고 한게 아닌데 라는 생각이 잠에 들때까지 나를 괴롭혀서 잠들기가 힘들었다.

누군가는 오버하네라고 할 수도 있겠지만, 정말 분했다. 이 분함을 탓할 대상이 나라는 사실도, 내가 편함을 선택했다는 것도 알기 때문에 더 분했다.

그래서 이제는 더는 타협하지 않기로 스스로와 약속했다.

편하게 사는것은 취직한 다음에나 편하게 살아보자. 물론 그것도 효율성에 대한 이야기지. 더욱 더 빡세게 달려나가야겠지. 나는 지금 비기너인데, 마인드는 비기너의 마인드가 아니었다. 반성하고 또 반성하자. 오히려 이 기회를 발판삼아서 더, 더 좋은 개발자로 날아가고 싶다.

나는 짱 멋지니까 할 수 있다

728x90