본문 바로가기

전체 글67

[21.05.15] React로 생각하기 리액트로 생각하기 제목이 약간은 어색해 보인다. '리액트에 대해서 생각하기'가 더 자연스러울 것 같은데 리액트로 생각하자는 말은 어떤 의미일까? 최근에 리액트를 공부하며 그 방대한 생태계에서 끊임없이 헤매는 중이지만, 그나마 알게 된 사실이 있다면 이것은 그저 '자바스크립트 앱의 구조화를 돕기 위한 도구'라는 점이다. 도구를 잘 사용하기 위해서는 도구의 철학을 이해하는 것 못지않게 시의적절하게 사용할 수 있는 방법에도 초점을 맞추어야 한다고 생각한다. 그래서 좀 더 리액트의 관점으로 프로그래밍 방법론을 바라보고자 위와 같은 워딩을 제목으로 선정하게 되었다. 리액트를 이해하기 A JavaScript library for building user interfaces 리액트 공식문서 초기 화면에서 확인할 수 .. 2024. 1. 8.
[21.04.25] 호이스팅에 대한 오해와 진실 호이스팅이 뭘까? 솔직히 프로그래밍을 공부한 지 얼마 안 되었을 때는 호이스팅과 호스팅이 똑같은 말인 줄 알았다. 그리고 이 개념에 대한 뜻을 몇 번 훑어보고는 '아, 변수나 함수를 스코프 상단으로 끌어올리는 기술이구나'라고만 이해했다. 과연 그럴까? 지금부터 호이스팅에 관한 몇가지 오해와 이것을 가능하게 하는 메커니즘에 대해 설명해보려고 한다. Just Metaphor 현재의 내가 알고 있는 호이스팅의 뜻을 한마디로 정의 하라고 하면 변수, 함수의 선언부가 위치한 인접 스코프의 최상단에서 해당 식별자의 관측이 가능한 현상이라 얘기할 수 있겠다. 단순하게 바라보자. 어떤 스코프에서 선언한 위치에 상관없이 선언 대상을 확인할 수 있다면 맨 처음에는 무슨 생각이 들까? hoist(); // hoisted! .. 2024. 1. 8.
[21.08.16] 우아한테크코스 - '혼자'가 아닌 '팀'이 되어 기획은 처음이라 나는 항상 어떤 일을 하게 되면 개인 단위의 작업을 선호한다. 음악을 만들 때도, 글을 쓸 때도. 하다못해 루터회관에 출근해도 주로 숨어서(?) 공부하는 날이 잦다. 사람들과 어울리는 게 싫은 건 아니지만 그래야 집중하는 느낌이 들기 때문이다. 그래서 페어 프로그래밍은 늘 새롭고 어렵다. 그런 나에게 팀 프로젝트는 꽤 쉽지 않은 새로운 도전이다. 아무래도 이 정도 규모의 개발은 처음이다 보니, 긴장과 설렘이 교차하는 복잡한 감정으로 팀 매칭을 기다려온 듯하다. 프로젝트 시작 전 세운 목표는 그리 거창하지 않았다. 그저 열정 있고 성격 맞는 사람들을 만나 프로젝트를 끝까지 잘 마무리 하는 것. 여러 사람과 일을 하며 겪게 되는 갈등 상황은 예전부터 익히 들어왔기에 부디 아무도 상처받지 않았.. 2024. 1. 8.
[21.05.23] 우아한테크코스 - 나만의 학습법 똑같은 행위를 의식적으로 반복하는 이들에게는 저마다의 철학이 있다. 이 낯선 환경에 적응한 지도 어느덧 몇 개월을 훌쩍 넘긴 나는 매일 '개발'이라는 같은 행위를 반복한다. 길다면 길 수도 있는 이 기간에 내 안에 자리 잡은 것은 무엇일까. 아직은 부끄러운 수준이지만 '나만의 학습법'이라는 주제를 내세워 부족한 경험이나마 몇 자 끄적여 본다. 아카이빙 프로그래밍 언어의 학습 방식은 외국어를 배우는 과정과 비슷하다. 언어를 능숙하게 사용하기 위해서는 다양한 어휘, 문법 체계만큼 표현에 대한 뉘앙스를 이해하는 시간도 중요하다. 뉘앙스를 알아야 앞뒤의 문맥을 잘 파악할 수 있고 더욱 복잡한 문장도 구사할 수 있기 때문이다. 뉘앙스는 사전적 정의에서 음색, 명도, 채도, 색상, 어감 따위의 미묘한 차이 또는 그.. 2024. 1. 8.
[21.03.11] 우아한테크코스 - 나는 당신에게 어떤 사람이었을까 원래는 최고가 되고 싶었다 아마 우아한 테크 코스가 시작하기 일주일 전이었나, 그때의 나는 늘 그랬듯이 새로운 환경을 마주할 준비를 하며 계획과 다짐을 주욱 적어가고 있었다. 물론 지금 와서 생각해 보면, '책도 많이 읽고 올해가 끝나갈 때 즈음엔 이러한 목표를 달성해야겠다, 돈은 이 정도는 모아야지...' 따위의 무언가 모호하고도 낙관적인 문장들 뿐이었지만. 아무튼 그렇게 한참을 정리하다 보니 문득 2021년의 메인 테마가 될 그곳에서 얻고 싶은 포지션이 떠올랐고 잠깐의 호흡 뒤에 야심 차게 다음의 문장을 아로새기며 마음을 다잡았다. 우아한 테크 코스에서 가장 실력 있는 사람 하지만 미션을 수행하는 몇 주 동안 저 목표는 절대 이룰 수 없겠다는 생각이 강하게 들었다. 능력적인 문제였을까? 딱히 그렇지는.. 2024. 1. 8.
[21.02.22] custom DOM library 만들기 과제를 진행하면서 DOM에 대한 피드백을 많이 접하게 되었는데, 그 중에서 DOM에 대한 라이브러리를 직접 만들어 사용해보라는 리뷰가 눈에 띄어 구글링을 해보고 직접 구현해보려 했다. 하지만 막상 어떤 패턴을 사용해야할지 감이 오질 않아, 다양한 예제들을 접하면서 적용해볼 수 있을만 한 레퍼런스를 두고 그것을 참고해 만들어보기로 하였다. 고민 지점 예상할 수 있는 side effect 는 최대한 피하기. querySelector() vs. querySelectorAll() 싱글턴 패턴 vs. 생성자 패턴 Template 전체적인 패턴은 여기에 있는 코드를 대부분 차용했다. IIFE를 이용하여, 생성자 함수와 프로토 타입 메소드를 선언해두고, 그것을 인스턴스로 만들어주는 함수를 바로 반환함으로써, 굳이 n.. 2024. 1. 8.