일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 비동기
- 리액트쿼리
- thread
- next.js
- 리액트
- 컴포넌트
- 쓰레드
- Concurrent Mode
- Basic
- amplify
- SWC
- CSS-in-JS
- sprinkles
- front-end mocking
- Babel
- Cache
- 최적화
- 캐쉬
- link
- react-native
- react-query
- 기본
- MSW
- styled-component
- 자바스크립트
- 목킹
- mockoon
- vanilla-extract
- 리액트네이티브
- react server component
- 개발자
- 기초
- 동기
- JavaScript
- async
- mock service worker
- next hydration
- Critical Rendering Path
- React
- 아키텍처
- Today
- Total
목록cs (7)
Don’t worry about failures

이 네가지의 개념을 이해하기 위해서는 '권한', '응답' 이 두 키워드가 가장 도움이 되었다. 권한을 가지고 있냐 없냐, 응답에 관심이 있냐 없냐에 따라 Block, None-Block, Sync, Async가 분류가 된다. 자세히 살펴보자. 1. Bloacking 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작. '권한'이라는 단어로 이를 이해해보자. 실험실에 중요한 실험이 있다고 생각해보자. 이 실험실을 들어가기 위해서는 권한 키를 가지고 있어야 찍고 입장을 할 수가 있다. 실험실에 들어가 실험을 하다 외부 실험자에게 요청할게 있어 밖으로나가 외부 실험자에게 부탁과 함께 권한 키를 제공했다. 이 권한 키를 통해 외부 실험자가 들어가서 실험을..
단일 프로세스 초창기 컴퓨터는 단일 프로세스 시스템. 한번에 하나의 프로그램만 돌릴 수 있다. 다른 프로그램을 사용하기 위해서는 종료. 이 시스템이 I/O 같은 작업이 생기면 cpu는 잠시 멈추고 놀아버린다. 멀티 프로그래밍 이를 해결하고자 여러개의 프로그램을 메모리에 올려놓고 하나의 CPU에서 번갈아 가며 동시에 실행시키는 방안을 첨가. 즉, 단일 프로세스에서 문제였던 I/O같은 작업이 일어날 때 놀고 있지않고 메모리에 올려놓은 다른 프로그램을 실행시킴으로써 사용률을 높이고자함. 이는 CPU 사용률을 극대화 목적. I/O 작업이 일어날 떄 CPU의 놀고 있는 상황을 해결. 하지만 하나의 프로그램이 CPU 사용 시간이 길어지만 다른 프로세스는 계속 대기. 멀티 태스킹 멀티 프로그래밍에서 나왔던 문제인 하..

보통 쓰레드와 프로세스와 비교를 하며 개념을 찾고, 습득을한다. 이렇기 때문에 더 헷갈리고, 광범위한 글을 보게 된다. 이를 위해 쓰레드 조금 더 초점에 맞춰서 글을 작성하고자한다. 쓰레드 쓰레드 개념 : 프로세스 내에서 실행되는 실행 흐름. 프로세스의 자원(메모리, 파일)을 공유. 이러한 쓰레드는 하나의 종류만 있지않다. 하드웨어 쓰레드, OS 쓰레드, 유저 쓰레드, 그린 쓰레드 등의 다양한 종류의 쓰레드가 존재한다. 조금 더 자세하게 봐보자. 우선 프로그램은 크게 세개의 개층으로 구분이 된다. User program은 OS kernel을 통해 메모리, CPU, Devices 등의 하드웨어를 사용한다. 하드웨어 쓰레드 하드웨어 측면에서의 쓰레드이다. 코어는 연산작업을 하며, 메모리에서 데이터를 가져오면..

CORS는 많은 개발자들이 접하는 이슈 중 하나이다. 이번 사이드 프로젝트 하면서도 겪은 아주 흔한 문제이다. 처음에는 단순히 이 문제를 해결하고자 origin을 모두 허용해주는 *를 header에 담아주기만 하고 넘어갔다. 이제는 CORS에 대한 개념을 깊게 파악하고, 필요에 따라 설정을 해주고자 한다. ( 주된 내용은 우테코 유튜브 영상을 참고하여 정리하며 기입된 내용입니다.) 개념 웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용되는 구조. - 위키백과 - 단순 글로만 보면 무슨 소리인지 잘 모르기 떄문에 조금 더 길게 늘려보겠다. 우선 CORS에 대해 알아보기 전 SOP를 살펴보자. SOP(Same Origin Policy) 다른 출처의 리..

1. 개념정리 1-1. 프로그램 ( Program ) 어떤 작업을 위해 운영체제 위에서 실행할 수 있는 파일. ex ) 웹 브라우저, 카카오톡 1-2. 프로세스 ( Process ) 운영 체제 위에서 실행중인 프로그램 프로그램 명령어와 데이터들이 메모리에 올라오고 실행 중 또는 실행 대기중인 상태 1-3. 프로세서 ( Processor ) 프로세스가 동작될 수 있도록 하는 하드웨어(=cpu) ( 동작: 프로그램의 자원들이 메모리에 올라오고, 실행 되어야 할 코드의 메모리 주소를 CPU의 레지스터로 올리는 것 ) 1-4. 쓰레드 ( Thread ) 프로세스 내에서 실행되는 여러 흐름의 단위 이렇게 개념만 보기 보다는 조금 더 시각적으로 봐보자. 현재 작업관리자 화면이다. 탭 이름에서 알 수 있듯이 프로세스..

이해 컴파일러와 인터프리터는 사람이 이해할 수 있는 고급언어로 작성된 코드를 기계가 이해할 수 있는 기계어로 번역한 후 프로그램을 실행할 수 있게 해주는 것이다. 컴파일러 한번에 모든 코드를 고급언어에서 기계언어로 번역을한다. 이에 따라 초기에 오래걸리지만, 그 이후 runtime 때 실행 시간이 빠른 편이다. 미리 번역을 해놓았기 때문에 바로바로 컴퓨터가 이해할 수 있어 빠른 것이다. 인터프리터 한줄씩 번역을 진행을 하기 때문에 번역시간이 빠르나 실행하는 속도는 컴파일러에 비해 느리다. 컴파일러 문제점 컴파일러는 플랫폼(하드웨어)에 종속적이다. 전세계에 수 많은 종류의 하드웨어( cpu )가 존재한다. 이에 따라 a사 의 cpu에서 돌아가는 프로그램을 만들고, 타 사의 cpu에 돌려보면, 작동이 잘안된..

비전공자, 국비 학원 출신의 타이틀 기초 없이, 기본 개념 없이 무턱대고 프로그래밍을 배워보고 싶다고 전진했다. 하다보니 재미있고, 배워야할 것도 많아 기초를 놓치고 있다고 생각한다. 처음에는 기초가 왜 중요한지, 굳이 필요한지에 대해 생각했며, 난 다른 언어, 프레임워크를 더 배워야지, cs는 나중에 천천히 해야지. 라는 생각을 가지게 되었다. 하지만, 글을 읽거나, 어떠한 이슈가 발생했을 때 그 문제에 대한 접근 그리고 이해에서 차이가 벌어진다고 생각이 들었다. 문제를 이해 하고 파악하고 해결해 나아가야 하지만, 기초가 없으면 왜 그런지에 대해 파악이 안돼, 근본적인 원인을 해결하지 못하는 생각이 들었다. 그래서 별도로 조금씩 정리하고 반복하려한다.