본문 바로가기
회고/코드스테이츠 교육생

Full SEB 33기 Section 3 회고 (112일차)

by 안뇽! 2021. 11. 7.
반응형

 

어려웠던 Section 3

 

HA 후기

확실히 코플릿은 쉬웠다.

 

Section3에서 가장 중요하게 다룬 부분이 인증/보안 부분이었고 Section3 HA는 통과기준이 훨씬 높다고 들었기에 , 매일 인증/보안 스프린트를 복습했다. HA를 보기 1주일전에 백신을 맞고 이틀간 앓았다. 기수이동을 하게 될까봐 불안했지만, 막상 HA 당일에는 술술 풀려서 '공부한 보람이 있군!' 이란 생각을 했다.

점심을 여유롭게 먹고 HA의 남은 부분을 작성해나가는데 갑자기 퍼즐이 맞춰지지 않는 느낌이 들었다. 오랫동안 고민을 했다. 다행히도 인증/보안 알고리즘의 흐름을 2주간 반복학습하며 머리에 새겨놓았기 때문에 바로 정신을 차리고 문제를 해결할 수 있었다. 

 

Section3는 백엔드

 

 

Section 2에는 프론트엔드, Express기초를 배웠었고 Section3는 백엔드다.

 

내 기억에 남는 내용들 위주로 요약하자면

 

Linux 심화

환경변수,권한설정등을 배운다. env파일 속의 데이터를 꺼내쓰는 방법도 이때 배운다.

자료구조/알고리즘

알고리즘문제이다. 내 생각에 초보들은 토이에 올인하는건 오히려 알고리즘에 대한 거부감만 키우는것같다.

나는 계속 토이문제하고만 씨름하다가 Section3에 와서야 다른사람들처럼 프로그래머스를 레벨1부터 풀어봤는데, 랭킹올리는 재미가 쏠쏠했고, 토이에서 너무 스트레스를 받았어서 그런지 몰라도 프로그래머스 문제들은 공부라고 느껴지지 않았다.

 

솔직히 토이 레퍼런스만 보면서 고민하던 시간이 조금 아깝기도 하다.

 

관계형DB

Mysql을 이용해 DB 데이터들을 CRUD하는 방법을 배웠다.

MVC

MVC 설계패턴은 유지보수가 쉽도록 코드를 '이렇게 짜보자!' 라고 하는 하나의 아이디어이다. 여기서 ORM도 배웠는데 난 ORM이 젤 어려웠다. 이때 프론트로 가기로 결정했다. 

며칠 뒤 페어에서 만난분과 이야기를 하는데 그분은 리액트는 어렵고 스트레스 받는 반면, DB,ORM 같은건 재밌다는 페어분이 계셨다.

나랑 완전히 정 반대였다. 나는 리액트는 공부하면 해결되고 그 과정에서 희열을 느낀 반면 ORM에서는 해도 모르겠다는 느낌을 많이 받았다. 사람마다 취향이 있나보다.

NoSQL

Mysql이 규칙적인 DB라면 NoSQL은 규칙성이 상대적으로 없기 때문에, 확장이 편하고 변화에 대응하기가 좋은 DB이다.

유아클래스에서는 MongoDB로 실습을 했다.

인증/보안

Section3의 꽃.

token,session,oauth 뿐만 아니라 CSRF공격, 암호화하는 Hashing등을 배웠다.

인증/보안 개념뿐만 아니라 Express와 React를 복습할 수 있는 좋은 시간이었다.

특히 나는 인증/보안 스프린트를 하면서 Express의 부족함을 느끼고 주말에 Section2로 돌아가 Express 기초를 다시 공부하였다. Express를 처음 공부할때는 먹구름같았던 반면에, 시간이 지난후 다시 돌아와 보니 전체를 바라보는 관점에서 코드를 볼 수 있었다. 이때 프론트엔드와 백엔드가 데이터를 어떻게 주고 받는지 구체적으로 연구해보았다.

 

이래서 결핍이 성장을 만든다고 하는 것 같다.

컴퓨터 공학 기초, 네트워크 심화

첨엔 지루했는데 마지막 가비지컬렉션이랑 캐시는 줌 수업에서 크루님이 설명을 재밌게 해주셔서 흥미를 갖게 되었다.

전날 줌 수업의 영향인지 다음날의 '네트워크 심화 ' 부분에서 배우는 TCP, UDP도 머리에 쏙쏙 들어왔다.

HTTP 헤더는 인증/보안 스프린트시간에 궁금해서 이것저것 찾아봤던 부분이기 때문에 관심을 가지고 공부를 했다.

 

특히 가비지컬렉션은 백엔드의 면접단골질문이라고 한다.

나는 프론트를 지망하기 때문에 프론트의 면접질문도 알려달라고 물어봤다.

리액트 특징, 바벨과 웹팩의 작동원리, 브라우저 속성, 익스플로어의 단점등을 많이 공부하라 하셨다.

 

1시간의 줌 수업이었지만 아주 알찼던 시간이다.

 

Git 심화

실용적인 Git 사용법이다. 브랜치관리하는법을 배운다. 딱봐도 프로젝트가서 밥먹듯이 쓸 내용들이다.

 

배포

aws와 Docker, 배포 자동화를 배웠는데

따라하긴 했지만 솔직히 아직 잘 모르겠다.

Express를 처음볼땐 몰랐던것처럼 나중에 다시 돌아오면 깨달음을 얻을거란 마음으로 공부했다.

 

Docker는 사용법을 익히진 못했지만 왜쓰는지, 어떤점이 좋은지는 대충 알것같다.

그리고 .yml 파일만 복붙하면 텅빈 컴퓨터에서도 사용할 수 있다는게 정말 매력적이다.

 

 

이제 2주 프로젝트

내일 월요일부터 2주 프로젝트 시작이다.

 

2주프로젝트는 새로운걸 하기 보다는 이제까지 배운걸 제대로 사용해본다는 마음으로 하라는 조언이 있었다.

우선 머릿속에 생각해놓은 서비스들이 몇개 있긴한데 내일 만날 팀원들이랑 이야기를 해봐야 할 것 같다.

 

그리고 Section3를 하면서도 틈틈히 프론트에 대한 검색을 해봤는데, 어쩌다보니 최적화에 대한 내용들을 많이 읽게 되었다.

Next.js를 사용하면 첫 화면 렌더링에서만 SSR을 사용하고 그 이후 페이지를 넘나들때는 CSR을 사용하여 SSR과 CSR의 장점만을 뽑아낼 수 있는데, 현업에서는 Next.js를 사용하여 홈페이지의 로딩시간을 최소화하고 있다고 한다.

 

마침 유아클래스의 도전목록에 'Next.js 사용해보기' 가 있는것을 보고 Next.js를 사용해야겠다는 생각이 들었다.

그리고 TypeScript가 뭔지는 잘 모르겠지만 후기들을 읽어보면 TypeScript는 그냥 모두가 사용하는 필수 관문인듯하다.

 

2주프로젝트에서의 첫번째 목표는 '1인분'이고 그 다음은 '나 자신에게 합리화하지 않기' 이다.

괜히 합리화하면서 어물쩡 넘어가지 않고 문제가 생기면 문제랑 마짱뜨겠다.

 

그리고 어떻게 기수이동을 1번도 안하고 논스톱으로 와버린 내가 자랑스럽다.

 

코드스테이츠 추천하는가?

어려워도 하니까 됐다.

마무리는 Section1 회고때처럼 코드스테이츠에 대한 느낌을 써보도록 하겠다.

 

Section1때랑 다른점은 지금의 난 코드스테이츠가 진짜 좋은 프로그램이란걸 느끼고 있다.

사슴공부법

코드스테이츠는 본인만 포기하지 않으면 어떻게든 따라갈 수 있는 스파르타 코딩 부트캠프이다.

 

사슴은 치타가 쫓아올때 가장 빠르다. 나도 그랬다. 나 혼자 느긋하게 하면 하지 않는다. 항상 스트레스가 있어야 움직였다.

 

 7/19일부터 약 3달반이 지났다. 나 혼자서는 절대 프론트,백엔드를 아우르는 공부를 3달 반만에 할 수 없었을 것이다.

 

하지만 코드스테이츠와 함께하는 나는 매일 치타같은 속도로 들이닥치는 진도에 뒤쳐지지 않도록 그날 배운걸 어떻게든 머릿속에 꾸겨넣어야 했다.

 

낮에는 '이게 뭔소리지? 이걸 어떻게하지?' 라는 생각이 들지만 매일 저녁 이해해버리는 날들이 반복되었기 때문에 나중엔 몰라도 불안하지 않았다. 어차피 계속 보다보면 이해될 것이기 때문이다. 

 

게다가 코드스테이츠는 정말 물고기를 하나도 잡아주지 않는다. 그렇기 때문에 페어랑 어떻게든 낚시대를 만들어 물고기를 잡아야 한다. 

 

영어를 잘하던 못하던 개발자라면 결국엔 파파고를 키고 공식문서, 스택오버플로우를 뒤져보아야 한다.

 

이게 정말 중요한것같다.

 

누구한테 의지할 생각을 하지 않고 스스로 해결하는 것.

(질문을 안한단 뜻으로 오해하진 않길 바람)

 

코드스테이츠가 만들어주는 이런 경험은 취업후에도 큰 도움이 될 것 같다.

 

 

 


코드스테이츠 베스트회고에 뽑혔다 무려 두번째!

감사합니다

 

 

 

 

 

 

 

 

 

반응형