목록전체 글 (13)
구어체로 설명하는 다이어리
개발자는 언제나 선택의 기로에 서 있다. 성장과 안주 사이에서. 개발자란 평생 공부해야 하는 직군이라고 한다. 그렇다면 다른 직업군은 공부를 안 해도 되는가? 당연히 아니다. 어떤 분야든 공부는 지속적으로 해야 한다. 다만 많은 개발자들이 입을 모아 '평생 공부해야 하는 직업'이라고 말하는 이유는 그만큼 기술 트렌드가 빠르게 바뀌기 때문이라고 생각한다. 이것이 무얼 의미하냐면, 내가 현재의 기술 스택에 안주하고 있다가는 이직할 곳이 없다는 뜻이다. 극단적인 예시를 들자면 나는 기술 트렌드가 바뀌는 바람에 직업을 두 번이나 바꿔야 했다. 처음엔 마크업자라는 직업이었는데, 이직할 때는 퍼블리셔로, 또 한 번 이직할 때는 프론트엔드 개발자로 조금씩 단계를 올려 직장을 구했다. 이직할 때를 떠올려보면 구인구직..
리액트로 개발을 하다보면 렌더링을 두 번 하는 것을 확인할 수 있습니다. 왜 렌더링을 두 번씩이나 하는지 궁금해서 검색해보니, Strict Mode 때문이라는 걸 알 수 있었습니다. 그럼 Strict Mode가 뭐길래 이렇게 개발자를 귀찮게 하는걸까요? Strict Mode Strict Mode란 애플리케이션 내의 잠재적인 문제를 알아내기 위한 도구입니다. 개발 모드에서만 활성화되며, 프로덕션 모드에서는 영향을 끼치지 않습니다. Strict Mode를 고려하는 것은 너무 귀찮은 일인데, 그럼 Strict Mode를 주석 처리해서 두 번 호출하지 않도록 설정하면 끝나는 일일까요? 정답은 아니오 입니다. 왜 그러한지를 이해하려면 리액트의 철학을 이해해보면 쉽습니다. 하단은 글쓴이가 이해를 돕기 위해 생..
Call by Value (값에 의한 호출)와 Call by Reference (참조에 의한 호출) 이 두 가지는 함수가 인자를 전달하고 처리하는 방식을 말합니다. Call by Value 값에 의한 호출은 원시 타입에서 나타나며, 함수의 인자로 전달한 값을 복사하여 사용합니다. 무슨 이야기인지 코드를 보면서 알아봅시다. function myFunction(a) { a = a + 100; console.log(a); //- 101}let x = 1;myFunction(x);console.log(x); //- 1 이처럼 myfunction 함수에서 매개변수 a로 받을 때 인자로 받은 x의 값을 복사해서 사용합니다. 원본 값의 복사본을 수정하는 것이기에 myFunction 함수 안에서 값을 ..