분류 전체보기
-
[JS] 고차함수와 커링에 대해 알아보자고요..카테고리 없음 2024. 1. 23. 17:11
[JS] 고차함수와 커링에 대해 알아보자고요.. 커링? 함수형 프로그래밍을 공부했다면 한 번쯤은 들어봤을 법한 단어이다. 이 커링을 이해하기 위해서 반 필수적으로 등장하는 개념이 바로 고차함수이다. 고차함수부터 알아보도록 하자. 고차함수 고차함수는 생각보다 간단한 개념이다. 다른 함수를 안자로 받거나, 반환값으로 함수를 건내는 함수를 뜻한다. 함수를 인자로 받는다고? 그런 함수가 있나? 라고 생각할 수 있지만 굉장히 많은 함수가 고차함수이다. 몇 가지 예를 통해 알아보자. 1. 함수를 인자로 받는 함수 const arr = [1,2,3].map((v) => v * 3); map은 배열의 각 요소에 대해 인자로 받은 함수를 호출하여 그 결과로 새로운 배열을 반환한다. 여기서 map의 인자로 들어가는 함수를..
-
[JS] string 타입은 원시타입인데 어떻게 메서드 호출을 지원할까? 원시타입과 참조타입카테고리 없음 2024. 1. 22. 20:39
[JS] string 타입은 어떻게 메서드 호출을 지원할까? 원시타입과 참조타입 javascript는 dynamic type 언어이기 때문에 변수를 선언할 때에 변수의 타입을 명시할 필요는 없다. 하지만 그렇다고 타입이 존재하지 않는 건 아니며, 변수의 타입은 할당된 값에 따라 자동으로 결정된다. 일단 javascript에 어떤 타입들이 존재하는지 부터 알아보자. Type 자 아래 변수, a의 타입은 무엇일까? const a; a에는 아무 값도 할당되어있지 않다. 이런 변수 타입을 undefined라고 한다. 변수가 선언은 되어있지만 아무런 값을 갖지 않은 상태를 의미한다. 그렇다면 이건 어떨까? const a = null; a에 null이라는 값이 할당되어있다. 이런 변수 타입을 null이라고 한다. ..
-
[React] React Query는 어떻게 캐싱을 지원할까??카테고리 없음 2024. 1. 21. 21:32
[React] React Query는 어떻게 캐싱을 지원할까?? 먼저 react query에 대해 잘 모른다면 아래 게시물을 확인하자. [React] 획기적인 상태관리 라이브러리 React Query???!! React Query란?? React Query는 어플리케이션에서 데이터를 가져오고 관리하기 위한 라이브러리이다. 기존의 Redux나 MobX는 상태 관리를 중심으로 하지만 React Query는 데이터를 가져오고 관리하는 데에 frorong.tistory.com 캐싱이라는 개념을 아는가? 먼저 cpu에서의 캐싱에 대해 간략하게 설명하고 넘어가겠다. 마을과 호수에 비유해서 이를 알아보자. 아프리카 피유 부족이 사는 마을은 호수와 멀리 떨어져 있다. 아이들은 신선한 물을 마실 수 없었고, 물을 먹기 ..
-
[JS] 자바스크립트는 인터프리터 언어인데 컴파일러가 왜 필요할까?? 크로스 브라우징!카테고리 없음 2024. 1. 20. 20:43
[JS] 자바스크립트는 인터프리터 언어인데 컴파일러가 왜 필요할까?? 크로스 브라우징! 자바스크립트에 바벨과 같은 컴파일러가 필요한 이유는 좀 미뤄두고 크로스 브라우징에 대해 먼저 알아보자. 우리가 사용하는 브라우저는 다양하다. 아래의 브라우저들 말고도 정말 다양한 브라우저가 있다. 각각의 브라우저는 표준화 기구에서 정의한 스펙에 맞게 브라우저를 제작한다. 그런데 이런 다양한 브라우저에서 스펙에 정의된 부분 이외의 부분들까지 모두 디테일하게 맞출 수 있을까? 아니다. 각각의 브라우저는 서로 다른 렌더링 엔진을 사용하고, 서로 다른 특정 기능이나 규격이 존재하기 때문에 이런 문제가 발생한다. 각 브라우저마다 부분적으로 다르게 동작하는 문제를 크로스 브라우징 이슈라고 한다. 크로스 브라우징에 대해 더 알아보..
-
[Next] Next.js는 어떻게 SSR과 CSR을 혼합했을까? Next.js의 Hydration카테고리 없음 2024. 1. 19. 20:03
[Next] Next.js는 어떻게 SSR과 CSR을 혼합했을까? Next.js의 Hydration 우리가 코드를 작성하여 만들어진 웹 어플리케이션은 브라우저 위에서 구동된다. 브라우저의 페이지 렌더링 방식은 크게 두 가지가 있는데 바로 CSR(client side rendering)과 SSR(server side rendering)이다. CSR과 SSR에 대해 궁금하다면 아래 게시글을 참고하자. [CS, Next] SSR 개념 바로잡기! Server Side Rendering!! Server Side Rendering이 무엇일까? server side rendering을 이해하기 위해서는 먼저, client side rendering에 대한 이해가 필요하다. 브라우저 렌더링 관련 참고 게시글. 왜 tr..
-
[React] Virtual DOM과 react life cycle카테고리 없음 2024. 1. 18. 16:19
[React] react life cycle과 virtual DOM react는 가장 인기 있는 javascript framework이다. cloud flare의 2023 통계에 따르면 react가 점유율 38%로 압도적인 1위를 달리고 있다. 나는 react를 어느 정도는 사용할 수 있지만, 더 잘 사용하기 위해서는 기초적인 개념을 더 깊게 이해할 필요가 있다고 생각했다. 따라서 이 글에서는 react의 중요한 개념인 life cycle과 virtual DOM에 대해 알아보겠다. Virtual DOM vitual. 가상이라는 뜻이다. 브라우저의 렌더링 엔진이 DOM 트리를 기반으로 화면을 렌더링 하는 것은 알겠는데.. 가상 돔은 무엇일까? 여기 감성돔 한 마리가 있다. 이 감성돔을 꾸며주려고 하는데, ..
-
[OS] CPU는 어떻게 process를 선택할까? Scheduling에 대해 알아보자! 8가지의 알고리즘을 이해해자!카테고리 없음 2024. 1. 17. 19:01
[OS] CPU는 어떻게 process를 선택할까? Scheduling에 대해 알아보자! 8가지의 알고리즘을 이해해자! process는 OS에서 수행할 작업을 관리하는 단위이다. cpu는 하나에 한 작업만 할당하여 수행할 수 있기 때문에 여러 작업을 수행하기 위해선 process를 교체하는 context switching을 해야 한다. 그런데 이 과정에서 cpu를 점유하게 되는 process는 어떻게 정해질까에 대한 의문이 생긴다. (process에 대해 잘 모르겠다면 아래 게시글 참고) [OS] Process와 Thread가 무엇일까? Process와 Thread process는 수행할 작업의 관리 단위이다. 이 관리의 주체는 OS이다. 연산이라는 연속적인 흐름에서 process 하나가 존재한다면, t..
-
[OS] Mutex와 Semaphore는 무엇일까??카테고리 없음 2024. 1. 16. 15:51
[OS] Mutex와 Semaphore는 무엇일까?? 우리의 운영체제는 process와 thread를 사용하여 수행할 작업을 관리한다. 많은 작업을 처리하기 위해서는 여러 process와 thread가 동시에 작업을 해야 할 것이다. (실제로 여러 process가 동시에 cpu를 점유할 수는 없다. 자세한 것은 아래 블로그 참고) 그렇게 되면 여러 process나 thread가 동시에 같은 공유 자원에 접근하는 문제가 생길지도 모른다. [OS] Process와 Thread가 무엇일까? Process와 Thread process는 수행할 작업의 관리 단위이다. 이 관리의 주체는 OS이다. 연산이라는 연속적인 흐름에서 process 하나가 존재한다면, thread 또한 하나가 존재한다. process는 최소..