Just Do IT!

스파르타코딩클럽 내일배움캠프 1일차 본문

스파르타코딩클럽 내일배움캠프/TIL

스파르타코딩클럽 내일배움캠프 1일차

MOON달 2022. 10. 31. 20:50
728x90
본과정 시작!

이제 드디어 본격적으로 본과정이 시작되었다.

오전 9시부터 오후 9시까지 평일 내내 해야 하기 때문에 조금 긴장되고 설레기도 했던 하루였다.

과연 내가 4개월 가량을 열심히 코딩을 할 수 있을지 아직은 자신이 없지만, 그래도 미래의 내가 아주 잘 해내리라고 믿으며 본과정 1일차를 보냈다.

 

 

 

 

첫 발제

1. 매일 12시간 이상씩 공부하며 출석 체크 꼭 하기

2. 항상 카메라 키고 zep에 접속해 있을 것

3. 매일 저녁 TIL 작성하기, 매주 주말에 WIL 작성하기

 

이 세 가지 외에도 지켜야할 Ground Rule이 있었고, 이것저것 알려주신 사항들이 많지만 공개적으로 적기보다는 나 혼자 알고 있는게 나을 것 같아서 따로 적지는 않았다. 앞으로 4개월동안 저 세 가지만 잘 지켜도 반은 성공할 것 같다. 사전 캠프를 진행하면서 9시부터 6시까지 진행했었는데 그보다 조금 더 공부한다고 생각하고 지내야겠다. 아직 하루밖에 지나지 않아서 엄청나게 힘들다거나 하지 않았지만, 나중에는 힘들 수 있으니. OT 들으며 꾸준히 잘해내야겠다는 생각으로 마음을 다잡았다.

 

좋은 개발자란

1. 호기심이 많고, 스스로 문제를 파고들어갈 줄 아는 사람
2. 함께 밥 먹고 싶고, 일하고 싶은 사람

라고 하는데

나는 협업한 경험이 많지 않아서 우선적으로 같이 협업하고 싶은 사람이 되는 걸 목표로 잡았다.

아직 부족한 실력이니, 실력 역시 키우는 걸로!

 

 

첫 번째 프로젝트 '협업은 처음이라'

본과정을 시작하자마자 첫 프로젝트가 시작되었다.

나는 React 트랙에 합류하게 되었고 A반에 들어가게 되었다.

프로젝트를 할 때마다 임의로 조가 바뀐다고 하는데, 들어가보니 역시나 사전 캠프 팀원들과는 멀어지게 되어 그게 조금 아쉬웠다. (온라인상으로도 낯 가리기 때문에...ㅎ)

 

주제 : 팀 소개 웹페이지 제작

기간 : 10/31 ~ 11/4

 

이외에 필수적으로 들어가야 할 사항들이 있었고,

오후 내내 팀원들과 어떤 기능이 들어가야 할지, 내용은 어떤 식으로 적어야 할지 고민하며 하루를 보냈고

난생처음으로 피그마를 이용해 와이어 프레임을 만들어 보았다...!

맨날 다른 분들이 만든 피그마 링크를 들어가서 구경해보기만 했는데 직접 만들어보니 은근 까다롭기도 하고 쉽기도 했다.

앞으로 협업하려면 이렇게 계획부터 잘 짜야 한다는 걸 깨닫게 되었다.

 

메인 페이지
멤버 소개 페이지 (수정된 버전)

이렇게 와이어 프레임을 만들어보았는데,

실제로 웹페이지를 만드는 것보다 화면을 구상하는 게 더 힘들 수 있다는 것을 알게 되었다 (ㅋㅋ)

 

API 설계(수정 전)

필수 기능

  • 방명록 목록 전체 조회
  • 방명록 작성

선택 기능 (필수 기능 개발 후)

  • 방명록 수정
  • 다크모드 추가

 

 

 

지금까지 배운 건 자바스크립트로 게임 만들기, 투두 리스트 만들기 등 클론 코딩을 주로 하다보니

내가 각잡고 기획하고 어떤 기능을 구현할 것인지에 대해 한 번도 생각해 본 적이 없었다.

그러다 보니 API 설계라는 것조차 익숙하지 않아서 사전 캠프에서 이해하는 데 시간이 제법 걸렸다.

어떤 기능을 구현할 것인지 고민하는 것조차 이렇게 오래 걸린다니...지금껏 한 건 정말 토이 프로젝트인듯 하다.

 

S.A (Starting Assignments) 라는 것도 처음 들어봤다 ㅎ

프로젝트를 시작할 때 어떤 프로젝트를 할 것인지, 화면 구현은 어떤 식으로 해야 할지, 필수 기능은 무엇인지

하나하나 기록하고 정리해놓는 게 내 생각보다 까다롭고 또 정리해놓고 보니 간결하기도 했다.

이제 막 공동 프로젝트를 본격적으로 하려고 하니 이런 생각들이 섞이는 것 같다.

내일부터 본격적으로 프로젝트를 진행할 것 같은데, 부디 순조롭게 진행되었으면 좋겠다.

 

 

+) 튜터님 피드백

  • 기획할 때 90% 이상 디테일하게 기획하는 것이 좋다.
  • API 설계할 때 필수 기능, 선택 기능을 나누어 꼭 개발할 기능들과 시간이 나면 구현할 기능들을 구분하는 것이 좋다
  • 와이어프레임에도 버튼 등을 제대로 구현하는 것이 좋다.

이런 피드백들을 듣고 다니, 제법 잘했다고 생각하던 와이어 프레임 페이지에도 거슬리는 부분이 발견되고

필수만 써 놓는게 마냥 좋은게 아니라는 걸 깨닫게 되었다.

필수 기능은 보수적으로 적어두고, 필수 기능을 구현한 뒤 선택 기능들을 구현하는 것이 나중에 프로젝트 관련 회고를 쓸 때도 도움이 된다고 하니 추후에 수정한 뒤에 사진을 바꿔놓을 예정이다.

기획이 처음이라 그런지 잘 했다고 생각했는데 고칠것 투성이다.

예전에는 피드백을 듣는 시간이 조금 두렵기도 했는데,

이렇게 오류를 잡아가는 게 성장하는 과정이라고 생각하니까 피드백 듣는 게 조금 더 좋아졌다.

 

 

 

Git & Github 특강

첫 프로젝트를 본격적으로 시작하기 앞서 14시부터 'Git & Github' 특강이 진행되었다.

이전부터 깃허브를 사용하고 있었지만, 한번도 강의를 들어본 적은 없었기에 열심히 들었고

어렴풋이 알기만 했던 내용들이 좀 정리되는 느낌이었다.

 

* Git
: 버전 관리를 위한 도구
버전 (=커밋) : 유의미한 변화가 결과물로 나온것
프로그램 개발 = 유의미한 변화를 쌓아 프로그램을 만들어나가는 것
버전 관리 : 변경 내역들을 기억하며 / 필요하다면 작업을 되돌리며 / 여러명의 코드를 쉽게 나누고 합치며 개발하는 것


* Github
: 원격 저장소 호스팅 서비스
원격 깃으로 관리한 프로젝트 호스팅 서비스
인터넷상에서 깃으로 관리한 프로젝트 관리해주는 서비스
개발자의 SNS 역할을 하기도 한다

* 깃이 관리하는 세 개의 공간
작업 디렉토리: 버전 관리의 대상이 위치하는 공간 (.git이 있는 디렉터리)
스테이지 : 다음 버전이 될 후보가 올라가는 공간
저장소(레파지토리) : 버전이 만들어지고 관리되는 공간

* 원격 저장소와의 네 가지 상호 작용
clone : 원격 저장소를 복제
push : 원격 저장소에 밀어넣기 (내 컴퓨터의 변경 사항을 원격 저장소에도 변경하기)
petch : 원격 저장소를 일단 가져만 오기
pull : 원격 저장소를 가져와서 합치기

 

* Git Bash (window 기준) 명령어

$ touch [빈파일생성]
$ ls -al    // 숨김 파일 없이 모두 보기
$ git init  // 로컬 저장소 만들기
$ git add :  // 작업 디렉터리 내에서 변동사항 저장
$ git commit  -m "commit message"   // 스테이지로 add (하나의 버전이 만들어짐)
$ git status  // 현재 git 상태 보기
$ gt log   // commit log 보기 가능
$ git config --global user.name   // user name (=Author) 출력
$ git config --global user.meal   // user email 출력
$ git push -u origin master  // github에 원격 저장소 에 있는 내용 저장
$ git pull   // 원격 저장소의 변경 사항을 내 컴퓨터에도 동일하게 저장

1시간 예정이었던 강의가 1시간 30분 넘게 진행되고, 직접 실습도 해보면서 큰 뿌리는 알아간다는 기분이 든다.

아직 Git flow나 git branch 등 알아야 할 것들은 많지만 적어도 깃허브를 사용하면서 꼭 필요한 부분들은 이해하고 넘어간다는 생각이 든다. (물론 나중에 또 다시 이 글을 볼 수도 있다...ㅋㅋ)

명령어들 역시 내가 처음 깃허브를 사용할 때는 영 헷갈리던 것들이었는데 이번 기회에 다시 리마인드하고

쓸 수 있게 된 것 같아서 좀 뿌듯하다(?)

나중에 에러가 생기면 그 때 가서 또 구글링해서 지식을 알아가면 되니까...

이번 특강은 배운 걸 다시 복습하고 넘어갈 수 있는 아주 좋은 기회였다!

 

 

 

 

 

 

1일차 간단한 회고

오전에는 OT와 발제를 들으며 시간을 보내고, 처음 만난 팀원들과 시간을 보내면서 조금은 경직된 하루였다.

심지어 바로 프로젝트를 해야 한다고 하니 더 긴장되고 정신없는 하루였다.

아직 본격적으로 12시간 공부한 게 아니라 시간이 빨리 지나갔다는 생각도 든다.

그래도 내일부터는 프로젝트도 시작하게 되고 오전부터 내내 코딩만 할 생각을 하니 오히려 내일이 더 걱정된다(ㅋㅋㅋ)

1일차라서 그런지 새로운 팀에 적응하기 바빴고, 되려 내일부터 더 열심히 해야겠다는 생각이 든다.