전에는 그냥 막연하게 잘하는 개발자가 되고 싶었다.근데 잘하는게 무엇인지에 대해 정의내리기가 힘들었다. 아마 깊은 고민을 해보지 않았기 때문일 것이라 생각한다.이번주 내내 다양한 방법으로 멋진 사람들을 많이 만나봤고, 내가 생각하는 '잘하는 개발자'는 무엇인지 조금 감
React Hooks React의 hooks API는 v16.8부터 등장해 대-함수 컴포넌트 시대를 열었다. 그 이전에는 클래스 컴포넌트와 함수 컴포넌트의 구분이 철저했고, 함수 컴포넌트는 주류가 아니었다. 클래스 컴포넌트가 할 수 있는 생명주기 관리같은 일들을 함수
JavaScript는 싱글 스레드 언어다? 맞다. 근데 아니다. 보는 관점에 따라 조금 다를 수 있다. JavaScript 코드를 수행할 때 하나의 스레드를 쓰는지를 묻는 질문이라면 '맞다'가 정답이다. 그치만 JavaScript의 런타임 전체적으로 봤을때 하나의 스레
렌더링? 웹 프로그래밍 관점에서 렌더링은 'HTML 파일을 분석해 내용에 맞게 화면에 그려주는 과정'을 말한다. 브라우저는 Rendering Engine과 JavaScript Engine을 모두 갖고 있고, 둘은 엄연히 다르다. Rendering Engine은 HTM
10x10 크기 종이의 각 칸에 0 또는 1이 쓰여있고 1이 쓰여있는 칸을 주어진 크기의 색종이를 이용해 덮어야 한다. 넘치거나 부족하게 덮어서는 안된다. 이 때 사용하는 색종이의 최소 개수를 구해야 하는 문제이다.처음 생각난 방법은 그리디 알고리즘이었다. 근데 도저히
V8 Engine ECMA Script와 Web Assembly를 위한 엔진이다. 자바스크립트는 Python과 같은 인터프리터 언어이고, 따라서 코드를 해석하고 실행하는 '실행기'가 필요하다. V8 Engine이 그 역할을 한다. C++로 작성되었고, C++ 애플리케이
처음엔 4x4 크기가 정해져있기 때문에 그냥 브루트포스로 풀면 풀릴 것이라 생각했지만.. 구현 자체가 막막했다.칸마다 가로/세로/확장안함 3가지 경우를 나누고 접근했지만 틀렸다.더 고민해본 후 풀이방법을 찾아봤는데 비트마스크를 써서 풀더라.칸마다 가로/세로로 나눠 2가
네이버 커넥트재단에서 진행하는 부스트캠프 부스트캠프 웹·모바일 6기 과정이 끝났다. 개인적으로 부스트캠프를 시작하기 전 관련 정보들을 찾아보며 여러 블로그에 적힌 회고글을 보며 많은 도움이 됐었다. 규정상 구체적인 내용은 전할 수 없지만 그냥 생각 나는대로, 새벽 감성
string 타입으로 숫자를 조합해 큐와 함께 풀었다.처음 큐에 '0' ~ '9'까지 넣어두고하나씩 꺼내며 0~9까지 숫자를 하나씩 덧붙여보며 붙였을 때 '감소하는 수'가 되는지 확인했다. (중간에 안되면 더 큰 숫자를 볼 필요가 없으므로 break했다.)'감소하는 수
백준 21278 문제 보기처음에는 다익스트라로 접근했다.문제 조건을 잘못 보고 정렬을 잘못해서 틀렸고, 정렬조건만 바꿔주면 맞을 줄 알았는데 시간초과가 났다.sort 함수를 걷어내고 heap을 이용해 정렬하는 방식으로 바꾸면 시간초과가 안날줄 알았는데 그래도 시간 초과
React.Suspense 는 리액트 16.6버전에 출시된 따끈따끈한 신기능이다. JS 번들의 Lazy Loading을 위해 추가되었고, React.lazy 와 함께 사용하면 자동으로 번들링된 코드가 스플릿되어 초기 렌더링 시간을 줄일 수 있는 좋은 기능이다.
확실히 요즘은 대부분 프레임워크(혹은 라이브러리) 3대장 React, Vue, Angular로 웹을 짠다. 그치만 나도 웹을 배우는 입장에서 React를 잠시 사용해본 경험이 있지만, 프론트엔드를 업으로 삼기 위해 바닐라부터 다시 공부하는 중이다. 바닐라 자바스크립트는
JavaScript에서 this 의 값은 함수를 호출한 방법에 의해 결정됩니다. 그래서 함수를 호출할때마다 다를 수 있습니다.this 는 context 객체라고도 불리는데, 실행된 문맥(context)에 따라 내부적으로 this 를 바꿔주기 때문입니다. (this 의