Just Do IT!

스파르타코딩클럽 내일배움캠프 2주차 회고 본문

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

스파르타코딩클럽 내일배움캠프 2주차 회고

MOON달 2022. 11. 13. 15:45
728x90
2주차 새로운 시작

2주차는 정들었던 팀원들과 헤어지고 새로운 팀원들을 만나는 주였다.

그에 맞게 새롭게 강의를 듣고 알고리즘이란 거대한 벽(..)을 만나게 되었기도 하다.

이번주 회고는 아마 배웠던 것들 위주로 적을 듯 하다.

 

 

 

 

 

자바스크립트 기초 강의

월요일에 새로운 팀원들과 이야기 나누고, 스파르타 코딩클럽에 추가된 강의를 보니 알고리즘 강의와 자바스크립트 강의였다.

원래는 파이썬이었던 것 같은데, 파이썬 강의는 화요일에 제공된다고 해서

자바스크립트 기초 강의부터 듣기로 했다.

 

말 그대로 기초강의 였다.

자바스크립트 문법에 대한 전반적인 공부를 하는데 도움이 많이 되었다.

자세한 기록은 TIL에 적혀 있으니 따로 길게 적지는 않겠다.

 

프로젝트를 하느라 잠시 잊혀졌던 자바스크립트에 대해 다시 배우고 복습하는 시간을 가졌다.

 

 

 

파이썬 기초 강의

자바스크립트 강의를 듣고 들었던 파이썬 강의.

사실 사전 캠프에서 웹개발 종합반을 들으며 기초 문법만 배우고,

mongoDB를 연걸하는 거나 서버에 올리는 방법 등은 코드를 복사해서 조금씩 바꿔가며 공부했기 때문에

사실상 내 머릿속에 남은게 별로 없었다.

 

물론 모든 공부가 ctrl+c, ctrl+v 로 이어지는 거긴 하지만,

제공하는 코드를 조금씩 바꿔서 적용하는게 맞나 싶었긴 하다.

뭐...잘 돌아가면 그 때 다시 공부해보면 되는 거긴 하지만, 파이썬을 다시 쓸 일이 없다고 생각했었는데.

이렇게 다시 복습하는 계기가 되었다.

 

그리고 코딩테스트를 볼 때 보통 파이썬을 많이 이용한다고들 한다.

라이브러리도 많고 코드가 짧아서 효율성이 좋기 때문에.

그래서 기초 강의부터 주는가 싶었다.

이 역시도 자세한 기록은 TIL에.

 

 

 

알고리즘 강의

대망의 알고리즘.

이번주 내내 알고리즘이라는 거대한 벽 앞에 서 있는 기분이었다.

 

코딩테스트를 보기 위해서 알고리즘&자료구조 공부는 필수라고 들었다.

물론, 알고 있는 거와 직접 공부하는 건 천지차이였지...

 

1주차 강의를 듣는데, 쉽게 넘어갈 거라 생각했는데 전혀 나만의 오산이었다.

이제 막 기초를 배웠는데 갑자기 심화 단계로 넘어간 느낌이었달까...

 

수요일부터 금요일까지 튜터님이 알고리즘 특강을 진행하셨는데 그 특강을 듣고 나서 적용하보내 조금 나아졌지만,

한 문제를 이해하는 데 시간이 꽤나 걸려서 그 때부터 약간 있었던 자신감이 하락했다.

물론 내가 잘해서 자신감 있었다는 건 아니고...그냥 잘 할 수 있을 거라는 그런 생각이 사라졌다는 것?

 

그래서 어려운 알고리즘 강의를 억지로 듣는 대신에,

쉬운 것부터 해보자 싶어서 코드업 100문제도 풀었고, 프로그래머스 Level 0부터 다시 시작했다.

 

내일배움캠프에 들어오기 전에 Level 1을 풀어본 적이 있었는데 지금 생각해보니 어떻게 풀었나 싶다.

문제를 30분 이상 고민해보고 안 풀리면 다른 사람들의 풀이를 참고해서 풀었던 것 같은데,

꾸준히 하지 않고 중간에 멈췄다보니 지금 다시 풀어보려니 영 감도 안잡혔다.

심지어 그 때는 자바스크립트로 풀었던 것 같은데...ㅎ

다시 과거의 나보다 더 잘해야 한다니 모순이긴 하지만 지금 상황으로는 그렇다.

 

그래서 Level 1부터 욕심부리지 않는 대신에,

0부터 다시 시작하기로 마음 먹었다.

그래서 목요일부터는 5문제씩 풀고 있다. 그리고 그 풀이도 블로그에 적고 있고.

아직은 풀이가 그리 길지 않아서 문제를 적고, 내 풀이를 적고 필요한 설명만 적으면 끝난다.

점점 난이도가 올라갈텐데, 그건 그 때 가서 문제 수를 줄이던지 할 것 같다.

 

어떤 분이 level 0과 1 중에 별로 차이 안나는 것도 있다고 했는데, 뭐든 내가 해봐야 알것 같다.

예전에는 잘 풀었던 것도 지금은 내가 못풀수도 있고.

 

그리고 파이썬으로 배우고 자바스크립트로 풀려고 하니 여간 헷갈리는게 아니다.

두 언어의 문법이 혼동되는 것 같아서 아예 코딩테스트 용으로 파이썬을 계속 쓸 것인지,

자바스크립트로 풀 것인지 이것도 고민이다. 프로그래머스로는 자바스크립트를 계속 쓰긴 하는데 파이썬이 더 편하고...

이것도 고민해야 할 문제다.

 

 

 

일요일 Git & Github 스터디

사전캠프에 같은 조였던 회수님의 제안에 따라 일요일 스터디에 참여하게 되었다.

원래 취지는 자바스크립트 스터디였으나 git 스터디를 먼저 해보자는 의견에 따라 사전에 각자 강의를 보고 와서

재창님이 강의 형식으로 설명해주시기로 하셨다.

 

아,

나는 A반인다 얼떨결에 스터디에 참여하고 보니 모두가 B반이었다. ㅋㅋㅋ

그래서 처음 보는 사람들과 함께 했었는데, 그래서 더욱 쭈뼛거리고 민망했었다 처음에는ㅎ

 

사전에 들으려던 강의가 설명이 되게 잘 되어 있어서

그나마 부담 없이 스터디에 참여할 수 있었다.

 

사실 git이랑 github가 처음이 아니라서 이번 스터디에서 얻어갈 지식은 협업할 때 브랜치가 어떻게 쓰이는가, 였다.

 

원래도 깃허브에 백업용으로 올려두고 있었고 지금은 private으로 돌리긴 했지만 여러 폴더들도 있고,

혼자 나름대로 커밋 컨밴션을 지켜가며 올렸던 커밋 기록들도 있다.

그래서 기초가 아니라 협업할 때 브랜치를 따서 어떻게 협업해야 하는지,

pull request는 뭔지 등등을 알았어야 했는데 스터디를 통해 이 부분을 딱 알게 된 것 같아서 좋다.

 

재창님의 발표도 좋았다.

처음부터 알기 쉽게 설명해주셨고, 중간에 의도하진 않았지만 오류가 나서

다같이 해결하면서 해결 방법을 찾아가는 것도 좋았다.

 

설명 뒤에는 협업 형식을 연습해보자는 의미로,

윤숙님이 레퍼지토리를 생성해서 각자 브랜치를 생성해서 커밋해보는 시간을 가졌다.

 

https://github.com/YS739/Git_study

 

GitHub - YS739/Git_study

Contribute to YS739/Git_study development by creating an account on GitHub.

github.com

 

여기 보면 브랜치가 여러개다.

각자 이름을 딴 브랜치를 만들고 직접 충돌을 연습해보았다.

 

같은 파일의 같은 줄에 각자 다른 내용으로 수정을 하고 커밋을 하면 충돌이 발생한다.

이 때, 이전 버전을 선택할지 새로운 버전을 선택할지 혹은 전부 선택할지 선택지가 주어지는데

원하는 대로 선택하면 된다.

 

이런 과정을 직접 실습해보면서,

나중에 정말 협업할 때는 어떻게 해야 하는지 알 수가 있었다. 역시 직접 해봐야 깨닫는 것 같다.

 

 

 

 

Git 명령어
  • .gitignore 파일안에 내가 제외하고자하는 파일명을 적으면 된다
  • git add 000  특정파일만 스테이지에올릴레
  • git add . 전부다올릴레~
  • git commit -m "제목"
  • git reset --hard 되돌아간지점이후의 버전이 다사라져버린다
  • git revert  히스토리는 지우지는않지만 버전부분만돌아간다
  • barnch 로 가지를쳐서 버젼을관리해보자
  • branch 목록 확인방법
  • git branch 별이 붙어있는곳이 현재위치이다
  • branch 생성방법
    • git branch 000 << 브랜치가 생성이된다
    • git switch 000 << 내가 가고자하는 브랜치의 위치로 이동할수있다
    • git branch -d 000 << 브랜치를 삭제할때 사용한다(현재위치하고있는곳에서는 삭재불가)
    • git merge 000 새로운 커밋을 만들며 병합을시킨다 위치를 가고자하는곳으로 이동후
    • git rebase  브랜치를 꺽어서 합쳐지는것이아닌 전체적으로 메인줄기에 병합해버린다(기록은 남지않음)
    • merge 는 가고자하는곳에서 merge
    • rebase 는 합병하는곳까지 rebase

 

영재님이 작성해주신 기록인데 WIL에 같이 기록해둔다.

이 중에 내가 새로 안 내용은 branch 생성 방법이다.

 

사실 다른 분들이 사이드 프로젝트 하면서 서로 다른 브랜치를 이용하는 걸 봤는데,

뭔가 멋져보이기도 하고(?) 어려워보여서 시도도 안해봤는데 좋은 기회에 잘 이용한듯 하다.

저번 프로젝트에서는 이용하지 못했었는데 이번에는 슬쩍 해볼수 있지 않을까 싶다.

 

 

 

 

 

짧은 마무리

이번 주는 저번 주와 달리 개인 공부 시간이 길어서 허둥지둥했다.

해야할 건 많은 것 같고, 뭔가 제대로 정리가 되지 않아서 시행착오를 많이 겪었다.

사실은 지금도 겪는 중이다.

 

오전에 스터디를 하고 다시 정리를 하는 이 과정 중에서도 아직도 정확한 방법을 못 찾았다.

언젠가 찾겠지만, 너무 늦지 않기를 바란다.

 

이번 주에 너무 두서없이 공부한 것 같아서 그게 참 아쉽다.

이거 했다가 저거 했다가 왔다갔다 너무 많이 해서 차분히 생각 먼저 해봤으면 어땠을까, 하는 아쉬움이 크다.

그래도 이런 과정을 나름의 성장통(ㅋㅋㅋ)이라고 생각하고, 다음주를 기대해본다.

다음주가 벌써 내일이지만.

 

막상 적고 보니 이번주에 꽤 뭔가를 많이 한 것 같기도 하고?

나름 공부는 했으니까. 이건 수고했다고 말하고 싶다.

 

벌써 2주차가 끝나고 3주차를 향해가다니.

3주차에는 보다 더 차분하게 해야 할 리스트들을 정돈하고 다시 나아가야겠다.

무작정 달리는 것보다야 조금 천천히 바른 길로 가는게 더 낫겠지.

 

오전에 같이 스터디 한 분들 수고 많으셨습니다!

그리고 새롭게 만들어진 우리 2조도 마찬가지!

다양한 사람들과 함께하니 나도 지치지 않고 할 수 있는 기분이다.

 

이렇게 2주차가 마무리된다.