개발일지/TIL

[TIL] 210827 오늘 공부는 어떤 기능을 하기 위해...

햄❤️ 2021. 8. 27. 19:41
728x90

이번주는 TIL을 쓴 적이 별로 없었다. 왜냐하면 이번주도 또 멘탈이 바사삭 되었기 때문이다. 맨날 멘탈이 바사삭 나는 것 같아 보이지만 이번주는 특히 누가 밟은 쿠크다스 같았다ㅋㅋㅋ 부정적인 기운들을 계속 TIL에 담는 것같아 속상해서 블로그에 들어오기 싫었다ㅠㅠ

근데 이상하게 어제 이후로 독기가 더 오르는 느낌이다,, 역시 나는 나를 채찍질 해 가면서 힘을 얻나보다ㅠ 항해에서 모집하는 로켓단 1기도 신청했다. C#으로 게임을 개발한다고 하는데 재밌을 것 같다

 

여튼 오늘은 어떤 특정 기능을 구현하는 과정에 대한 것을 써보고자 한다. 수첩을 캡처해서 올리고 싶은데 회사 코드의 내용이라 올리기는 애매해서 그냥 대충 글로 정리해보고자 한다.

 

1) 코드를 읽는다. (물론 남이 짠 코드라 1도 모르는 상태임) 읽어도 모른다. ㅎ 익숙한 일이 되어가고 있다. 한줄한줄 찾는다. 모르는 문법은 구글링한다. MDN에서 미디어 스트림 API를 쭉 읽었다. 대충 이해 간다.

2) 전체적으로 어떤 동작을 하는 코드인지 한줄씩만 이해했다. 그러면 그 코드 구문, 예를 들어 useEffect는 언제 발동되고, 내가 원하는 기능은 어느 부분에서 발동되는지 찾는다. 이게 어려웠다. 도대체 이 화면을 바꾸는 부분이 어느 데이터의 어느 부분이고, 얘를 누가 언제 업데이트 하는지 -> 여기서 console을 왕창 찍었다. 똑같은 값도 여러군데서 찍었고, useEffect마다 숫자를 달아서 어떤 useEffect가 먼저 실행되고, 또 어떤놈이 한번 더 렌더링 되는지 찾았다.

3) 2번까지 하니까 내가 필요한 놈이 어떤 데이터의 놈을 바꿔야하는지 알 것 같았다. 사수님께서 수첩에 쭉 적으면 도움이 된다고 하셨다. 수첩에 1~2기능까지 적었다. 적고, 각 상황을 적었다. 1) 장치가 추가되면? 2) onChange가 변경되면 3)새로고침되면? 4)로컬스토리지 저장은 언제? 에 대해서 어떤 결과를 얻어야하는지 적었다. 그리고 그 결과를 만들기 위해서 어떤 state가 업데이트 되어야하는지 적었다.

4) 3까지 하니까 어떤 부분의 코드를 추가하고, 수정해야할지에 대한 감이 왔다. 가장 좋았던 점은... 아 이건 굳이 필요없겠다가 보이기 시작했다. 제일 어려웠던 부분이, 필요 없는 코드(물론 내가 추가했던 코드임)를 발견하는게 어려웠었는데, 로직을 정리하니까 이 코드는 내가 쓸데없이 state만 하나 더 만들어서 넣었구나 라는 생각이 들었다. 좀 기뻤다.

5) 그리고 3)의 각 상황에 대한 테스트를 했다. 장치가 추가되면 추가된 장치가 잘 보이는지, 제거되면 장치가 화면에서 사라지는지 등, 적어놓으니 테스트 케이스도 정리되고 좋았다.

 

물론 완벽하게 기능이 구현되지 않았다.ㅋㅋㅋ(ㅠㅠ힝) 근데 이 흐름 자체를 배워서 너무 좋았다. 2)번과 3)번을 통해 머리가 약간 정리되는 기분이었다. 채팅코드 처음볼때 완전 모르다가 계속 보니까 좀 이해되는 느낌이었는데, 영상쪽 코드도 한 60%는 이해 되는 느낌이었다. 물론 이해안되는 코드도 여전히 있다.ㅋㅋㅋ  3-4줄짜리 짧은 코드이고 문법도 알겠는데, 용도를 모르겠는 코드가 있었다. 이런건 사수님께 물어봐서 조언을 구하는 게 좋을 것 같다.ㅠㅠ 

금요일인데 싱숭생숭하다. 별로 기쁘지가 않다(ㅠ). 남친 눈치도 보이고...
이번주차가 입사 4주차였다. 스트레스 받는건 좋은데 장기적으로 유지하는게 중요하다고 하셨다.

영업할때는 더 고강도의 실적 압박 스트레스를 매일매일 받아서 멘탈이 세다고 자부했었는데, 실적 압박 스트레스는 외부에서 오는거라 그나마 멘탈 유지하면서 잘 견딜 수 있었던것 같다. 지금은 내부에서 오는 스트레스라 멘탈이 좀 흔들렸던 것 같다. 

그래도 어려운걸 하나씩 해 나가는(잘 하는진 모르겠지만..)게 요새 쫌 뿌듯하다,, 나도 빨리 뭐 중요한거 하나 맡아서 하고싶다 ! ! ! ! 

webrtc공부 열심히 해야지(외발시티 아님 외발자전거 아님 ㅎ)

 

 

 

728x90