코드잇 스프린트

[코드잇 스프린트 4기] 1월 회고

trophy98 2024. 1. 4. 02:29

계기

2023년 12월 인턴십 기간이 마무리 되면서 졸업을 목전에 두고 취업 시장을 바라보니 기업들이 요구하는 기술 역량이 예상보다 훨씬 더 다양하고 깊이 있었다.

 

당장 원티드와 같은 채용 플랫폼에서 기업들의 채용 공고를 살펴보면서 단순히 React와 Typescript에 능숙한 것만으로는 충분하지 않는다는 것을 느꼈고 추가적으로도 상태관리 라이브러리인 Recoil과 Redux 떠오르는 프론트 Nextjs, 통신을 위한 socket.io등 많은 기술을 필요로 했었다. 또한 관련해서 CS지식도 많이 부족했고 기초를 좀더 탄탄하게 다질 시간이 필요했다.

 

그래서 2024년을 시작으로 코드잇 스프린트 4기에 참여하게 되었다. 코드잇 스프린트는 서류-코딩테스트-면접 순으로 이루어져 있었으며 선착순으로 지원을 마감하는 형식 이였다.

 

코딩 테스트는 자바스크립트를 배울 때 정말 기본적인 코딩 테스트 였다. 또한 프로그래밍 학습 경험이 없어도 코드잇 사이트에서 관련된 프리코스 교육을 들을 수 있었다. 코딩테스트선형 검색 문제나 Reference Types(참조 타입) 객체를 다루는 문제였다.

면접은 기술 면접은 아니였다. 단순히 제출한 포트폴리오나 이력서에대해 말하는 내용이였다. 하지만 개발 관련된 경험이 있으면 해당 경험에 대해 물어보았다.

 

진행 방식

코드잇 스프린트는 월 ~ 목 09:00 ~ 19:00, 금 ~ 토 09:00 ~ 18:00 에 집중적인 학습을 요구한다. 어떻게 보면 6개월동안 하루도 쉬지않고 저 시간을 온전히 지키면서 학습한다고 하는 것은 정말 쉽지 않겠다고 생각을 했다.

1주차가 시작되고 데일리 팀 미팅이라는 것이 생겼다. 데일리 팀 미팅은 실제 회의처럼 화면을 켜고 미팅을 진행했다. 스프린트 교육 수료전(6개월)까지 진행된다. 학습 상황을 공유하고 학습하다가 잘 모르는 내용을 질문하고, 팀 안에서 답변이 가능한 것들을 서로 얘기를 해준다. 또한 팀 미팅 시간에 팀원 한명한명씩 돌아가면서 문제를 내고 그 문제에 대해 답변하는 시간인 팀 데일리 미션을 진행 한다. 

 

 

학습 내용(이해도)

1~2 주차의 주된 학습 내용은 HTML과 CSS의 개념을 이해하면서 HTML의 태그와 CSS의 레이아웃 과정 또한 Git 사용방법까지 학습을 한다.

 

HTML 태그와 구조

HTML에서는 <div>, <p>, <a> 와 같은 기본 태그 부터 <header>, <footer> 같은 구조적인 태그를 배웠다 또한 메타태그를 배우면서 기존에는 몰랐던 지식이 늘었다. <meta> 태그에서는 <head>,<body> 안에 들어가는 것 외에 일을 한다.

예를들어 charset utf-8 같은 인코딩 형식 지정, 폰트지정, 모바일 기기에서 보여줄 비율을 조정하는 코드 등 많은 기능이 있었는데 소셜 공유 미리보기 같은 것  또한 수정할 수 있었다. 추가적으로 <video>, <audio> 와 같은 HTML5에서 새롭게 등장한 태그들의 속성과 해당 태그들이 어떠한 역할을 할 수 있는지 알게 되었고 <iframe>과 같은 html 파일을 렌더하는 태그들도 새롭게 알게 되었다.

 

또한 시맨틱 태그에서는 <header>, <main>, <footer>, <article>, <section>, <figure>, <nav>, <footer> 와 같은 여러가지 태그들이 있었고 각 태그는 블록형 형식인 <div> 태그와 동일한 역할을 하지만 시맨틱 태그를 사용하면 좋은점도 많았다. 후에 HTML 태그와 구조에대해 글을 작성할 계획이다.

 

CSS 레이아웃과 스타일링

CSS 는 HTML 웹 페이지를 보다 매력적으로 만드는 스타일링 언어이다. 주로 색상이나 디자인 및 버튼 등을 웹사이트에 추가한다. 

CSS를 사용하면 장점이 무엇이 있을까?

 처음엔 CSS를 사용하는게 당연하다고 생각했다 디자인이 없다면 왼쪽 맨위로 쏠려있는 페이지가 만들어 질 것이기 떄문이다. 이처럼 사이트 전체의 일관성이나, 접근성, 효율성 등 많은 것들을 고려해보면 장점이 너무나 많다.

CSS를 사용했을때 단점은 없을까?

어떤 웹페이지든 전부 CSS를 사용하거나 CSS 기반으로된 라이브러리를 사용한다. 그런데 단점은 없을까? 라고 생각하면 단점도 있다. 이는 주로 CSS의 기본 설계에 정답이 있다.

  1. 글로벌 네임스페이스 : CSS는 기본적으로 전역 네임 스페이스를 사용한다. 예를들어 여러 CSS 파일에서 같은 클래스 이름을 사용하면 예상치 못한 스타일 오버라이딩이 발생할 수 있다.
  2. 유지 보수성이 떨어짐 : 규모가 크고 복잡한 프로젝트에서 CSS를 유지 관리하는 것은 어렵다. 스타일 규칙이 워낙 많아지면 어떤 규칙이 특정 요소에 적용되는지 추적하기가 어렵다. 또한 중복 코드도 생길 수 있으며 가독성과 유지 관리를 어렵게 만든다.

이외에도 반응형 디자인의 한계나 브라우저의 호환성 등 많은 단점이 있다. 이것도 후에 CSS관련 내용들을 블로그에 작성할 예정이다.

 

 

Git

git에 관해서도 자세하게 알려주었다. 왜 Git이 되었는지 vim 은 또무엇인지 sudo란 무엇인지 이외에도 git에 관한 명령어들과 실제 실무에서도 많이 사용하는 add,commit,pull,merge 등 다양한 명령어들을 배우고 그안에 어떠한 속성들이 존재하는지 배웠다. 이것도 후에 블로그에 작성할 예정이다.

 

지금 무슨생각해?

1.생각보다 커리큘럼과 진행방식에 대해 재밌었다. 하지만 너무 많은 일정을 받아들이고 중간에 상담과 멘토링 까지 합치면 솔직히 까먹을 수도 있다고 생각했다. 학습도중이나 그때그때마다 달력과 메모장에 계속 기록을 남기고 있다.

 

2. 공부한 내용들을 블로그에 정리할 예정이다 (HTML, CSS 등) 

3. 멘토님과의 질문 답변 후에 내 생각 메모장에 적어두고 후에 블로그에 적어보자!

 

마치며

2주차가 아직 다 끝나지 않은 시점이지만 기존에 알고 있던 지식은 좀더 deep하게 들어가서 개념을 배우고 모르는 것은 기록하면서 학습을 했다. 사람마다 학습방식은 다르겠지만 아직까진 이 방식이 힘들거나 하진 않았다.