220824 배운 것만 남기기

샨티(shanti)·2022년 8월 24일
2

TIL

목록 보기
81/145

하루를 마무리 하기 전, 오늘 있었던 일들을 잔잔히 되짚어봅니다.
성공과 실패의 모든 요소에서 '배울 점'을 찾아내어 기록하고,
더 성장하는 내일의 나를 위해 'action plan'을 세웁니다.


오늘의 뽀모도로 시트 공유.

어제 오늘 동료들과 이야기하고 홀맨님과 짧은 원온원을 하면서
결국 내가 기민하지 못했다는 사실을 받아들여야 했다.

맞다, 과정이 어떻게 되었건 결과가 좋지 않으면 모든 책임은 다른 사람이 아닌 나에게 돌아올 것이다. 과정이 어떻더라도 결국 결과로 모든 것이 증명되기에.

이제껏 너무나도 운이좋게 나이브한 마음으로, 나이브하게 살았어도 살아남았다.
아마 운이 좋아서 그랬던 것 같다. 그것 말곤 달리 형용할 수 있는 표현이 없다.

필요 없는 것들은 우선은 제쳐두고 이제 TIL도 정말 '배운 것'만 남기고자 한다.
그 날 TIL을 쓸 때 배운 것이 단 하나라도 없다고 느껴진다면 아주 단순하게, 결론적으론 그 하루를 망친것과 다름없으니 왜 그런지 원인을 파악하고 재발을 방지하기 위해 디테일한 액션플랜을 수립해야 할 것이다.

오늘 홀맨님이 자바스크립트에서 배열을 정렬하는 sort() 함수는 이뮤터블 하지 않다는 말씀을 하셨고 원본을 변경한다는 사실을 알려주시며 사용방법에 대한 팁을 주셨다.

코딩도장에서 활용했던 함수였기 때문에 눈에 들어왔고, 조금 바빴던 일과 시간이 지난 지금 직접 확인해보고 싶어 VS code에서 노드를 켰다.

node는 간단하게 결과값을 활용하기에 정말 좋은 툴인 것 같다. 아샬님이 강의에서 왜 더하기 할때 종종 쓰신다고 했는지 알 것 같다.

(1) 원본을 변형시키는 sort() 함수의 모습


const array = [1, 3, 4, 2];

임의의 array를 선언한 후에(단순 오름차순이 가능하도록 임의로 설정) 그 array에 sort()를 바로 적용시켰다.
그리고 나서 다시 array를 불러와봤는데 말씀하신 대로 원래의 array 모습이 변형되었다.

(2) 원본을 변형시키지 않고 sort() 함수를 적용시키기

array는 동일하게 선언했는데 sort() 함수를 적용하는 방식을 달리했다.
즉 array에 직접 적용하는 것이 아니라 모던자바스크립트 문법을 활용하여 배열 구조를 해체한 뒤에 배열화 하여 거기에 sort()를 적용하는 방식이다.

이렇게 하면 원하는 오름차순의 배열값을 확인할 수 있었고 다시 원본 array를 불러와보니 원래의 형태에서 변형되지 않았음을 확인할 수 있었다.

자바스크립트가 은근히 까다롭다고 느낀건(난이도는 오히려 자바보다는 낮다고 하지만)

(1) 아직 익숙하지 않은, 낯섦
(2) 선언형의 형태로
(3) immutable함을 유지해야 하는

요 세가지 이유 때문인 것 같다.

sort() 라는 함수가 원본을 변형시키는 것도 몰랐고, 구조분해를 한 다음에 만들어 낸 배열에 적용을 시켰을 때 원본이 유지된다는 사실 역시 몰랐다.
새로 알아가니 신기하다.

추후에도 자바스크립트 문제를 풀면서 다양한 메서드(함수)를 접하게 될텐데, '원본을 변형햐는가'의 여부를 확인하면서 사용하는 것도 중요하면서 재밌을 것 같다. 당연히 이 부분이 액션플랜이 될 수 있겠다.

새로운 메서드 접할 때마다 자바스크립트 언어의 방향성인 'immutable'을 유지해줄 수 있는지 확인하기.

profile
가벼운 사진, 그렇지 못한 글

0개의 댓글