-
항해 99 첫 주(2021.3.1-3.7) WIL 끄적끄적항해99_WIL 이따금씩 TIL 2021. 3. 7. 21:08
항해99 1기로 시작한 2021년 3월 첫 주 항해 99란?
코딩과 프로그래밍을 가르치는 기업 '스파르타 코딩 클럽(대표 이범규)'에서 운영하는 프로그램으로, 개발자를 지망하는 사람들을 99일간의 빡트로 성장시켜주는 과정이다.
나는 왜 항해99에 지원했나?
이공계 대학원에서 박사과정을 했었다. 그러던 중 '세상 사람들의 문제를 해결해줄 수 있는 서비스나 제품을 제공할 수 있는 사람이 사회에서 자신의 가치를 인정 받을 수 있고 행복하게 풍요롭게 살 수 있다. 그러기 위해서는 고도의 집중과 몰입을 발휘해 자기 분야에서 최고가 되어야 한다'는 관점을 멘탈 선생님에게 배우고 그것이 내 가치관이 된 이후로 내 일과 생활을 돌아 보니, 내가 대학원에서 하는 일은 그와 맞지 않음을 알았다. 대학원에서 내 연구하는 기술의 실현 가능성도 낮았고, 세상 사람들의 문제를 해결하는 일과 거리가 멀었다. 이런 회의감에서 내 가치관을 이룰 수 있는 방법을 찾고 싶던 차에 평소 관심이 있던 코딩과 프로그래밍을 사용하는 개발자로 키워준다는 항해99을 알게 되었고, 항해99의 지향점이 나와 맞다고 판단해 지원했다. 다행히 합격해서 합류하게 되었다.
항해99의 지향점과 나의 지향점이 결맞음 3가지
- 고도의 집중과 몰입만이 실력을 기르는 길인데, 99일간의 고도의 집중과 몰입 과정으로 주특기 분야에서는 전문가로 거듭나는 과정이다.
- 스승이 있어야 크게 성장할 수 있는데, 현업에서 실력을 입증한 스승님들 밑에서 피드백을 받으며 성장할 수 있다.
- 실전으로써 성과를 내는 것이 능력을 기르는 가장 좋은 방법인데, 실전을 할 수 있는 시스템이 갖춰져 있다.
이런 방향성을 제공해주는 과정이라면 사람들의 문제와 욕구를 해결해 줄 수 있는 탄탄한 지식과 입증된 실력을 갖춘 개발자가 될 수 있고, 위에서 적은 내 가치관에 맞는 삶을 살 수 있을 것이다.
항해99 첫 시작 주
2021년 3월 1일 첫 날, 스파르타코딩클럽의 대표 이범규님의 OT로 시작했다. 3월 1일 삼일절 공휴일부터 시작하는 걸보니 앞으로 있을 법정공휴일 그런거 없는것 이라는 걸 이범규님이 공식 확인하셨다.
이범규님은 항해99의 지향점을 '좋은 개발자'가 되는 것이라고 하셨다. 요즘 뉴스로 개발자 몸값이 높다는 말이 많지만, 좋은 개발자는 요즘 같은 인력난이 없는 시절에도 적었던 인재라고 하셨다. 좋은 개발자는 실력은 물론이고 사람들과 같이 협업을 잘 수행할 수 있는 인성이 있어야 한다, 그런 인재가 이번 과정을 통해서 되길 바란다고 하셨다. 그리고 이범규님의 '훈화' 말씀 중에 가장 좋았던 것은 그 주에는 그 주에 할 일에만 집중하라는 말이었다. 내 멘탈 선생님의 가르침처럼 집중할 것에만 집중해야지, 앞으로 다가올 프로젝트를 미리 생각하면 겁만 먹게 된다. 왜냐면 사람은 알 수 없는 것을 상상하면 무서운 것만 상상하게 되어 있도록 뇌가 진화했기 때문이다. 내가 배운 진리와 결이 맞는 방향성을 지향하는 사람이 대표라는 점에서 마음에 든다.
첫 과제 : 웹개발 미니 프로젝트
첫 과제는 제공하고 싶은 서비스를 정하고 그것을 웹개발을 통해 서버, DB를 구축하고 웹페이지를 만들어서 서비스를 런칭하는 것이다.
기획 내용 : 조원과 브레인 스토밍을 통해 아이디어 회의를 하면서 조원과 나의 공통 관심사가 전시와 공연을 보는 것이라는 것을 알게 되었다. 그래서 공연 전시 정보들을 스크래핑 하고 정리해서 소개하는 웹페이지를 만들기로 했다. 컨셉을 그 정보들을 공유하는 것이어서 공유를 모델로 무단 선정했다.
필수 포함 사항 : 로그인 기능 구현, 로그인 관련 기술 이슈 다루기(캐시/세션 방식으로도 로그인 구현해보고 JWT 방식의 로그인도 해보기), 서버 사이드 렌더링을 해보고 그것의 장점을 설명하기.
구축 내용과 API 구성 : 내 블로그의 이전 글에 정리 되어 있다.heo-dev-0229.tistory.com/2
항해99 첫 주 첫 프로젝트 : 구현하고 싶은 기능들 정리(Starting Assignment)
미니 프로젝트 제목 / 간단 설명 공연 전시 내비 / 국내 공연과 전시와 관련한 정보를 제공합니다. 와이어 프레임 사진 메인사이트 공연 소개 사이트/ 전시 소개 사이트 구현하려는 기능들 API 설
heo-dev-0229.tistory.com
아래는 결과페이지와 페이지를 소개하는 유튜브 영상.
공유문화 | 전시 공연 정보 길잡이
공유와 함께 하는 전시공연 정보
culturegongyou.shop
배운 것과 아쉬운 점 :
- 서버-클라이언트 관계 이해도 85% 달성.
- 서버 사이드 렌더링, 로그인 개념과 구현 방법을 익힘.
- 프론트엔드 - 백엔드의 개념을 90% 이상 이해
- html-css는 대학원에서 논문 작성용으로 썼던 LaTeX 와 원리가 똑같다. html의 m은 markup인데 이것은 문서를 인쇄하는 활자의 조판을 지정하는 표시라는 뜻이다. LaTeX도 word 같은 문서작성 프로그램이라기 보다 활자 구성을 코딩하는 것에 가깝다. 그리고 LaTeX에서 참고문헌 목록을 같은 폴더 내의 별도 파일을 만들고 그것을 불러오는 식인데, html도 css 파일을 별도로 두고 불러 오는 식이다. 막연히 어렵게만 생각했던 html이 LaTeX와 같은 원리라는 걸 깨달으니 쉽게 느껴졌다.
- 내 코딩 실력이 아직 개발괴발이라서 애를 많이 먹었다. 조원님의 하드캐리가 있어서 겨우 해냈다.
- 조장님이 아쉬워하는 것은 시간이 모자라서 로그인만 해서 할 수 있는 기능인 리뷰 작성 기능이 미흡한 것. 어느 다른 조는 로그인한 사람들만 할 수 있는 서비스가 완벽한 수준으로 구현 되어 있던 점이 부럽다고 했다. 더 할 수 있었다면 더 좋았으리라.
- 내 실력이 모자라면 안 되겠다는 느낌. 더 연습해야 한다.
첫 과제를 수행하며
과제를 하면서 3일이 지났는데, 3달이 지난 것 같았다. 그만큼 힘들었지만, 이게 집중하고 몰입하는 환경에 나를 몰아 넣었다는 증거구나 싶어 뿌듯했다. 그리고 역시 실전만이 실력 기르는 길이라는 가장 좋은 길이라는 걸 몸으로 느꼈다. 이전에는 서버니 클라이언트니 안다고 생각만 했지, 실제론 설명도 못한다는 걸 알고 내 메타인지가 좋지 않다는 걸 알았다. 나의 이런 모자람 때문에 조원에게 누를 끼치지 않고 싶었고 나도 잘하고 싶었다. 공부하고 코드를 직접 손을 대서 코드를 짜고 조원과 소통하면서 설명하기도 하고 설명도 들었다. 그러면서 개발에 필요한 개념을 진짜로 이해하고 설명도 일부 가능할 정도가 되었다.
2주차 시작(3월 5일 금요일부터)
2주차 : 알고리즘 트레이닝
다른 조와 과제를 수행하게 되었다. 과정이 바뀔 때마다 조가 바뀐다. 새로 만난 분들도 실력이 좋은 분들이다. 이런 운 좋은 나는 내가 할 일에만 최선을 다해 집중하면된다.
알고리즘은 조금 쉬어간다고 생각했지만, 아니었다. 대학원을 다니면서 알고리즘 책 한권을 다 해봤고 그게 이번 알고리즘 트레이닝에 도움도 되고 있지만 조금 감이 있다는 정도지 고급 알고리즘이 나오면 완전 헤멜각이다. 그래서 집중을 더 하면서 하루에 1% 성장하는데 온 정성을 들여야 한다.
문제 출제 : 알고리즘 테스트 웹사이트 '백준'
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
백준을 접한 첫 느낌은 신박하다였다. 그리고 조금만 검색해도 어마어마한 사람들이 여기서 알고리즘을 연습하고 있음을 알 수 있었다. 특정 문제로 검색하면 주루루루루룽룽루우후룩 나오니까.
지금까지 가장 난제 : 백준 1157번 단어 빈도 맞추기
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
생각보다 어려웠다. 항해99에서 제공하는 스파르타코딩클럽의 알고리즘 강의에서 비슷한 문제에서 힌트를 얻어서 풀이의 단초를 얻었지만, 중간에 엄청 막혔다. 여기서 GG를 쳤으면 검색해서 답을 찾고 편하게 갔겠지만, 오기가 생기기도 하고 여기서 어려운 걸 해결해야 내 뇌에 개발자의 알고리즘 뇌회로가 생기고 풀었을 때 찾아올 희열에 확신을 갖고 도전했다. 힘들면 누워서 잠시 눈을 감고 이완하면서 문제를 생각하기도 하고 내가 안다고 착각했지만 사용법을 몰랐던 메소드를 검색해서 코드에 넣어서 원하는 대로 로직이 돌아가는지 검사하고 하여간 포기하지 않고 계속 했다. 생각을 거듭해도 풀리지 않자 코드에 print()를 넣어 중간 결과를 보면서 하기 위해서 내가 애용하는 sublime text를 동원했다. 결과 보여주는 건 sublime text가 아주 시원시원하게 잘 보여주니까. 그런 점은 vscode는 조금 모자라다. 내가 알지 못하는 vscode 플러그인은 sublime처럼 잘 보여주는지도 모르지만.
그래서 결국! 풀었다!!!!
고난 끝에 해결한 장면!
해결해서 너무 기뻤다. 일본의 전설적인 기업인은 자기가 차린 회사가 아직 작은 회사이던 시절, 회사 실험실에서 실험이 잘 되어서 뛸듯이 기뻐했는데 같이 있는 젊은 직원은 시큰둥했다. 그래서 그 기업인이 왜 안 기쁘냐, 이런 작은 일에도 기뻐해야 다른 일도 기대를 갖고 해낼 수 있다고 가르쳐줬지만 그 직원은 그 가르침에서도 느낀점이 없었는지 퇴사해버렸다. 그 기업인의 기업인은 엄청나게 큰 회사가 되었는데, 그 직원도 그 기업인의 가르침에 정신각성을 했다면 높은 지위에 이르렀을텐데. 이렇듯 작은 일에도 크게 기뻐 할 줄 아는 사람은 큰 성공을 이루지만 그렇지 못한 사람은 작은 성취만 이룰 수 있다. 나는 그 기업인처럼 기뻐 할 줄 아는 마음 자세가 되어 있으니 분명 세상의 문제를 해결하는 능력을 갖춘 사람으로 성장해 큰 성공을 이루고 말 것이다.
앞으로 마주할 알고리즘 트레이닝 문제들은 더 어렵겠지만 이런 자세라면 많이 풀것이고 못 풀더라도 성장을 하루에 1%씩 할 수 있을 것이다.
'항해99_WIL 이따금씩 TIL' 카테고리의 다른 글
항해99 36일차 TIL : axios 첫 걸음마 지식 (0) 2021.04.05 항해99 5주차(2021.3.29 - 4.4) WIL - 리액트 심화반, 클론코딩 (0) 2021.04.04 항해99 4주차(2021.3.22 - 3.28) WIL - 리액트 유격반에서 지옥도 보고 희망도 보고 (0) 2021.03.28 항해99 3주차(2021.3.15 - 3.21) WIL - 알고리즘의 신박함을 깨닫다 + 리액트 + 멘탈강화 (0) 2021.03.21 항해99 2주차(2021.3.8 - 3.14) WIL - 알고리즘에 푹 빠지기. (0) 2021.03.14