[운영체제] 멀티스레드의 동시성(Concurrency)과 병렬성(Parallelism)
·
study/CS⚡
하나의 프로세스에서 다수의 스레드들이 실행되는 것을 멀티스레딩이라고 한다. 하나의 프로세스 안에서 스레드끼리 code, data, heap 영역을 공유하고 각각의 stack, PC, 레지스터를 가지기 때문에 자원을 공유하기 좋아 멀티프로세스보다 이점이 있다. 동시성(Concurrency) 싱글 코어에, 멀티코어에서 멀티 스레딩을 구현하는 방식이다. 이름이 동시성이지만 진짜로 동시에 실행된다는 의미는 아니고 여러 작업이 동시에 실행되는 것처럼 보이는 것을 말한다. 한 타임에 하나의 스레드만 실행되고 짧은 시간 동안 스레드를 적절히 바꿔가면서 실행되는 것이다. 위 사진을 보면 4개의 thread가 하나의 core를 나눠서 쓰고 있다. 병렬성(Parallelism) 멀티 코어에서 멀티 스레딩을 구현하는 방식을..
Vercel이 만든 프론트엔드 생성 AI v0
·
study/프론트엔드🔯
ChatGPT가 나오고 코드 짜기 진짜 편하다~~ 한 지 0.3초 된 거 같은데 Vercel에서 무려 리액트 컴포넌트를 만들어주는 인공지능을 만들었다. 2023년 9월 15일에 출시했는데 난 방금 알았다.. 아직 Private Alpha 버전이라 쓰고 싶으면 대기해야 하고 2주 정도 뒤에 메일이 오면 사용할 수 있다. https://v0.dev/ v0 by Vercel Generate UI with simple text prompts. Copy, paste, ship. v0.dev 아직 승인메일이 안 와서 직접 사용해보진 않았지만 다른 분들이 하신 걸 보면 정말 엄청난 것 같다. 여름쯤 figma dev mode Anima 플러그인 보고도 놀랐던 것 같은데 사실 피그마 디자인부터 잘 생각하고 만든 거 아..
[JavaScript] 자바스크립트 함수 선언식과 함수 표현식
·
study/JavaScript🌟
UMC 2주차 웹 스터디를 하면서 익명함수가 함수 표현식이고 기명함수가 함수 선언식인 걸 처음 알게 되었다!! 그 전까지는 그냥 함수 이름을 지정하지만 않으면 익명함수인 줄 알았는데 익명함수도 함수 이름이 있을 수 있다는 것도 알게 되었다. 함수 이름이 있는 익명함수 때문에 익명함수 기명함수 개념이 좀 더 헷갈렸던 것 같다. 익명함수와 기명함수 차이 함수 선언문은 무조건 함수명 정의되어야 하고, 함수 표현식은 없어도 된다. 함수 선언문은 함수 전체가 호이스팅 되고, 호출 함수 표현식은 변수의 선언문만 호이스팅된다 => 함수 선언식은 함수 선언 코드 위에서 호출 O, 함수 표현식은 X 함수 표현식은 함수를 변수에 할당하는 개념이다. 따라서 변수 스코프 규칙을 따른다.(변수가 선언된 스코프에서만 사용 가능)..
[JavaScript] 자바스크립트 var, let, const 차이점
·
study/JavaScript🌟
자바스크립트에서 변수를 선언할 때 var, let, const를 사용할 수 있다. 이 세 개는 약간씩 다른 기능을 하므로 셋의 차이점을 알아두고 제대로 사용해야 한다! var - ES6 나오기 이전에 자주 썼던 가장 오래된 방식이다. - 중복 선언과 재할당이 모두 가능하다. var letter = 'first'; console.log(letter); // first var letter = 'second'; console.log(letter); //second letter = 'third'; console.log(letter);//third 코드를 보면, 중복 선언이 가능하고, 가장 마지막으로 할당된 값이 최종 변수에 저장되는 것을 볼 수 있다. - 함수에서 선언된 변수는 함수 내에서만 유효한 함수 스코프..
[운영체제(OS)] 시스템 콜(System Call)이란?
·
study/CS⚡
CPU는 User Application이 시스템을 손상시키는 것을 막기 위해 이중 동작 모드를 제공한다. 이중 동작 모드란, 유저 모드, 커널 모드로 나누어서 동작하는 것을 말한다. 컴퓨터에는 중요한 자원들이 많이 저장되어 있는데, 사용자가 이러한 자원에 함부로 접근할 수 있다면 악의가 없다고 해도 시스템을 망칠 수 있기 때문에 시스템을 보호하기 위해 나누어서 작동하는 것이다. *️⃣커널(Kernel)이란? 컴퓨터는 하드웨어와 소프트웨어로 나뉘고, 소프트에어는 다시 응용 프로그램과 운영체제로 나뉜다. 운영체제는 또 시스템 프로그램과 커널로 나뉘게 된다. 프로그램이 실행되기 위해서는 컴퓨터 메모리에 해당 프로그램이 올라가 있어야 한다. 하지만 메모리는 한정적이기 때문에 안 쓰는 프로그램까지도 메모리에 올라..
[React] 리액트 상태 관리 라이브러리 리덕스(Redux) 쓰는 법
·
study/프론트엔드🔯
개요 리액트에서 상태관리를 할 때 리덕스를 쓰는 이유!! 1. 전역으로 상태 관리가 가능하다. 그냥 간단하게 하나의 파일 안에서 상태를 바꾸고 싶으면 간단하게 useState를 사용하면 되지만, 파일은 하나가 아니기에... 모든 파일을 넘나들 수 있도록 관리하는 게 필요하다. 2. 따라서 리덕스를 쓰면! 무한 props 지옥에서 탈출할 수 있다... 리덕스를 쓰면 아주아주 깔삼하게 상태 관리를 할 수 있다. 처음에는 리덕스가 너무 어려웠는데 이젠 아주 편하게 사용 중이다. 리덕스를 어떻게 사용해야 할지 잘 모르겠다면 밑에 있는 내용대로만 하면 아주 편할 거다. 사용법 1. 우선 리덕스를 설치해준다. npm install @reduxjs/toolkit react-redux 2. 루트(App.js와 동일한 ..
cowboysj
'분류 전체보기' 카테고리의 글 목록 (6 Page)