본문 바로가기
반응형

개인공부29

Node.js가 작동하는 원리 Node.js란? Node.js의 공식 사이트에 따르면 Node.js는 아래와 같이 정의할 수 있다. Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 여기서 의미하는 런타임(Runtime)이란 특정 언어로 만든 프로그램을 실행할 수 있는 환경을 의미한다. 이전까지 JavaScript는 웹 브라우저에서만 사용되는 스크립팅 언어였지만, 구글이 성능이 뛰어난 V8 엔진을 출시하고 나서는 속도 문제가 많이 해결되었다. 그 결과로 웹 브라우저 외의 환경에서 JavaScript를 실행할 수 있는 프로그램이 개발될 수 있었고, 그것이 Node.js이다. Node.js를 설명하는 글을 보면 Node.js는 싱글 스레드 모델(single-thread), 논 블로킹.. 2021. 7. 11.
Node Sass version 6.0.1 is incompatible with ^4.0.0 || ^5.0.0. 에러 해결법 들어가기에 앞서 React를 공부하면서 책에 나와있는 프로젝트를 그대로 따라 하고 있었는데, sass를 사용하기 위해 node-sass를 설치했었다. React App을 실행시켰을 때 아래와 같은 에러가 발생했고, 구글 검색 결과 간단하게 해결할 수 있어서 이렇게 글로 남기게 되었다. 해결방법 에러를 읽어보면 6.0.1 버전의 Node Sass가 호환이 되지 않는다고 한다. 실제 확인해보니 내가 설치한 node-sass 패키지의 버전이 6.0.1의 버전이었다. 그리고 node_modules의 sass-loader의 package.json을 확인해보니, sass-loader의 Dependency는 아래와 같이 나와있었다. 즉 sass-loader을 활용하기 위해서는 node-sass 패키지의 버전이 ^4... 2021. 6. 27.
React가 작동하는 원리 들어가기 앞서 React를 사용하는 이유 포스팅에서는 왜 우리가 Vanilla JS를 사용하지 않고, React를 사용하는 것이 좋은지를 알아보았다. 결론적으로 React를 사용하는 이유는 동적으로 변하는 웹 서비스가 많아진 현재 상황에서 사용자에게 더 좋은 인터페이스(UI)와 경험(UX)을 제공하기 위해서이다. 즉, 만일 정적으로만 구성되어 있는 웹 서비스를 만든다면, 굳이 React를 사용하지 않아도 된다. 그렇다면 왜 그리고 어떻게 React는 작동하길래 더 좋은 UI와 UX를 제공할 수 있을까? 이번 글에서는 React가 작동하는 원리에 대해서 알아보겠다. DOM(Document Object Model) React가 작동하는 원리를 알기 위해서는 먼저 DOM에 대해서 알고 있어야 한다. DOM은 .. 2021. 6. 25.
[C] GCC와 CC의 차이점 GCC GCC(GNU Compiler Collection)는 가장 유명한 컴파일러 중 하나로 GNU 프로젝트의 일환으로 개발되어서 사용되고 있는 컴파일러이다. 이름(컴파일러 모음집)에서 알 수 있듯이 C 언어의 컴파일러만 포함되어 있는 게 아니라 C++, 자바 등을 컴파일할 수 있다. LINUX를 설치하면 함께 딸려오지만 다른 플랫폼에서도 이용 가능하다. GNU는 "GNU's Not UNIX"의 약자로 라이선스화 된 UNIX 소프트웨어들에 저항하며 전통적인 UNIX 소프트웨어들을 무료로 만들기 시작했다. GCC는 아래와 같은 특징을 가지고 있다. 무료 GCC 하나만으로 여러 가지의 프로그래밍 언어들을 컴파일할 수 있다 서로 다른 운영체제들과 호환이 가능하고, 다른 CPU 별로 서로 다른 코드를 생성해낸다.. 2021. 2. 12.
[알고리즘] 가장 긴 증가하는 부분 수열(Longest Increasing Subsequence) 가장 긴 증가하는 부분 수열 가장 긴 증가하는 부분 수열(LIS, Longest Increasing Subsequence) 혹은 최장 증가 부분 수열은 대표적인 동적 계획법(Dynamic programming) 문제다. 아래와 같이 특정 길이의 수열 A가 주어졌을 때 가장 긴 증가하는 부분 수열의 길이를 찾는 것이 문제이다. 아래 예시에서는 {10, 20, 30, 50}의 부분 수열이 수열 A의 가장 긴 증가하는 부분 수열이고 길이는 4이다. A = {10, 20, 30, 15, 25, 50} 가장 긴 증가하는 부분 수열 문제는 간단한 O(N^2)의 알고리즘과 조금 복잡한 O(N log N) 두 가지 알고리즘으로 해결 가능하다. O(N^2) 알고리즘 동적 계획법에서는 어떻게 값을 재사용하는가를 결정하는 .. 2021. 1. 31.
[C/C++] 지역변수/static 지역변수/전역변수 차이점(storage duration, scope) Storage duration/Scope 지역변수와 static 지역변수 그리고 전역변수들 간의 차이점을 알려면 먼저 storage duration과 scope라는 개념부터 알고 가야 한다. Storage duration: 변수를 저장하는 공간이 존재하는 기간으로써 변수를 위해 메모리가 할당되고 변수가 다 사용되었을 때 메모리가 해제되는 기간을 말함 Scope: 변수가 참조될 수 있는 범위를 의미함 지역변수(Local variable) C언어에서 지역변수(Local variable)란 아래와 같이 함수 내부에서 정의된 변수를 의미한다. #include int func(){ int local_variable = 3; // 지역변수 return local_variable; } int main(int argc.. 2021. 1. 26.
반응형