글 작성자: 개발자 올라프

📝 React, Sass를 배우며

 

정신없이 하루를 보내다 보니 어느덧 3주 차가 지나고 있다. 3주 차에서는 기존에 만들었던 인스타그램 클론코딩을 토대로 React로 바꾸는 작업을 했다. 새로운 개념 JSX, component, props, state, router 등을 익히고 곧바로 적용하는 식으로 React를 익혀가고 있다. 또한 적용하면서 CSS가 제대로 적용되지 않는 상황을 마주하게 되었고, 어떻게 해야 할지 고민하고 있을 때 Sass라는 개념을 배우게 되었다.

 

3주 차에서는 '나에게만 주어지는 시간 하루 이틀만 더 있으면 좋겠다.'라는 생각이 머릿속을 떠나지 않았다. 아직도 익혀야 할 개념과 기술들이 한참 남은 지금, 나만의 시간이 조금만 더 있다면 얻을 수 있는 게 더 많을 텐데 라는 상상을 하곤 한다. 이 마인드를 왜 지금에서야 가지게 되었는가 하면서 후회는 하지 않지만, 앞으로 개발자의 길을 걸으면서 이 순간을 잊지 않았으면 좋겠다.

 


 

🤦‍♂️ 위스타그램 git repository 세팅

 

지난주에 Git을 CLI로 다루는 방법을 익혔었다. 이번 주에는 협업하면 일어나는 충돌에 대한 개념을 익히는 시간을 가지고 곧바로 깃에 팀 프로젝트(각자 파일을 올리고 공통 component, css 생성 후 사용하기 연습인 것 같다)를 위한 초기세팅 시간을 가졌다. 어쩌다 보니 내 맥북으로 진행하게 되었는데 초기세팅 과정은 다 같이 진행하면서 빠르게 했지만, push 했을 때의 결과는 아찔했다. 처음으로 CLI로 깃을 다루는 시간 때 push 했던 내가 작성한 예전 파일들이 같이 올라가 있었다.

//1. test.md
깃에 올리는 내 첫 파일~

//2. test.md 수정 후
과연 내 파일이 바뀌어서 올라갔을까요??
줄 바꿈도 해봐요 :ㅇ

이런 내용이 우리 팀 repository에 같이 올라간 것이다. 다 같이 이야기를 나누면서 진행했던 것이기에 누구의 잘못도 아니었고, 게다가 잘못을 따지기 이전에 오류를 마주했을 때 탓을 하기보다는 해결하려는 자세가 맞다고 생각하는 나였다. 다른 팀원 장비로 진행하다가 이런 상황이 나왔다면 해결하려는 자세를 가졌겠지만, 정작 내 컴퓨터로 진행하다가 마주한 이 상황은 등에 식은땀이 나면서 눈치 보느라 눈동자 굴리기 바쁜 나였다 👀.

 

금방 해결이 됐다면 상관없었겠지만 git repository에 실패한 커밋 내용을 지우고 싶었고, 해당 파일을 빼고 어떻게 커밋할 것인지, 어디서부터 잘못된 것인지 헤매느라 test.md 하나에 두 시간이라는 시간을 빼앗겼다. 안 그래도 바쁜 위코더분들인데 미안한 마음뿐이었다. 정신없이 해결하느라 바빴기에 어떤 문제가 있었고, 어떻게 해결했는지 정리하지 못했지만 내 머릿속에는 아래와 같은 기억이 남아있다.

 

  1. 혹시 생성한 프로젝트 디렉토리가 iCloud에 저장되어 있지 않은가? 내 Desktop 디렉토리는 iCloud에 업로드되고 있었다.
  2. $ git reset --hard, $ git push origin master -f 등 검색해서 써 볼만한 것 다 써봤다. Git 명령어는 생각보다 다양하기에 Git 공부에 시간을 투자할 필요가 있다.
  3. $ npx create-react-app 프로젝트명으로 CRA 생성했으면, $ cd 프로젝트명으로 들어가는 것 꼭 잊지 말자.
  4. 항상 master로 checkout을 하고 branch 생성하기. 생성한 branch에 checkout은 잘했는지 $ git branch로 확인하기. branch 문제는 없었지만 다른 팀이 겪었던 실수를 듣고 남은 기억이다.

 

저번 주에 31기가 33기에게 라는 시간을 가졌는데 Git 공부를 엄청나게 강조했다. 4-5명이 각자 파일을 올리기 위한 초기 세팅에서도 이렇게 식은땀이 났는데 회사에 들어가서 실수하는 건 어떤 느낌일까. 위코드 3주 차에 Git의 중요성을 깨닫는 건 아픈 기억이자 정말 좋은 경험이었다. 덕분에 지금은 git add, git commit, git push 하기 이전에 잘못된 것은 없는지 명령어 하나하나에 수없이 고민하고 누르고 있다😇.

 

만족스러운 너무 깔끔한 커밋 내역


 

🥋 코드카타(codekata)

기분 좋은 결과

뭔가를 배우면서 정답에 대해서 그냥 그렇구나 하면서 넘어갔는데, 이렇게 공감하고 흡수했던 적이 없었다. 하지만 코드카타라는 시간이 있는 나는 예전의 나와는 조금 다르다는 것을 느끼고 있었다.

 

코드카타는 3주 차부터 매일 한 시간씩 짝을 이루어 진행했고 알고리즘을 푸는 시간이다. 아직 JavaScript 메서드들이 익숙하지 않아서 깔끔하게 풀어내지는 못하고 있지만, 짝과 함께 전체적인 흐름을 노트에 그려보고 이것을 위한 메서드는 없는지 검색하는 시간을 가졌다. 이를 통해서 알고리즘이 무엇인지, 어떤 방식으로 생각을 해야 하는지, 자바스크립트 메서드는 무엇이 있는지에 대한 개념을 하나하나 익혀나가는 중이다. 코드카타를 진행하면서 JavaScript 기초가 굉장히 중요함을 깨닫고 하루에 한 시간 정도는 '모던 자바스크립트 Deep Dive'라는 책을 구매해서 공부하기 시작했다.

 

코드카타를 진행하면서 우리가 생각한 흐름대로 잘 진행이 되었을 때 기분은 상당히 좋다. 물론 어려운 문제를 마주했을 때 다른 사람 풀이를 배우는 것 또한 재밌었다. 한 개의 정답이 있는 것이 아니라 정말 다양한 방법이 나올 수 있었고, 상상도 못 한 방식으로 접근했을 때는 박수가 저절로 나왔다 👏👏👏.

 


 

⚠️ 어려움을 통해 성장하는 방법을 익힘

 

3주 차밖에 진행하지 않은 내가 위코드에서 얻은 게 한 가지가 있다. 짧은 시간 내에 수많은 input을 받아들이면서 겪는 어려움이다. 빠듯한 어려움을 겪으며 스스로 학습하고 해결하는 과정을 거치게 되는데, 이를 통해서 앞으로 개발을 하면서 내가 어떻게 공부하고 성장해야 할지 생각할 수 있었다. 만약에 긴 시간 동안 여유롭게 학습하는 시간을 가진다면, 물론 학습한 부분에 대한 능력은 그만큼 상승하겠지만 스스로 공부하는 방법에 대해서는 이렇게까지 익히지 못했을 것 같다. 이제 두 달보다 조금 더 많은 시간이 남았지만, 벌써 무엇을 더 학습하고 어떤 개발을 하고 싶은지 내 머릿속에 간직하고 있다.

 

남는 시간 동안 33기 모두가 더 많은 것을 얻어가고 후회되지 않는 시간을 보냈으면 하는 바람이다🙏.