목록분류 전체보기 (22)
MAKE IT SIMPLE

1. electron-builder 설치 npm i -D electron-builder yarn add -D electron-builder 2. package.json 에 build config 추가 { ....., "main": "dist/main.js", // webpack 후 main 의 경로를 적어준다 "homepage": "./", "build": { "appId": "{your-app-id}", // 앱 아이디를 적어준다 exe 파일의 이름이 됨 "productName": "{your-app-name}", //설치 되고 나서 표시되는 앱의 이름 // 아웃풋 디렉토리를 설정해주지 않으면 dist 폴더로 지정된다. //나같은 경우 webpack을 돌리면 dist 폴더가 생기기 때문에 따로 분리해줌..

1. DeadLock 이란 1) DeadLock 은 각자의 프로세스가 자원을 점유하고 있으면서 다른 프로세스가 점유한 자원을 기다리며 block 된 교착 상태를 말한다. 2) Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU cycle, memory space, semaphore 등 프로세스가 자원을 사용하는 절차 Request(요청) → Allocate(할당) → Use(사용) → Release(방출) ※ Resource-Allocation Gragh (자원 할당 그래프) - 프로세스와 자원의 요청 및 할당 관계를 표시한 그래프다 => 순환 대기 조건을 발견하기 위한 목적으로 사용한다 2. DeadLock 의 발생 조건(=이유) 1. Mutual Exc..

1. Race Condition 과 Critical Section 이란 Race Condition = 경쟁 상태 - 두 개 이상의 프로세스가 공용 자원을 병행적으로 읽거나 쓰는 작업을 하는 상태 -> 공통 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 달라진다 Critical Section = Race Condition 이 발생할 수 있는 부분 - 프로그래밍 코드 상에서 공유 데이터를 접근하는 부분을 뜻한다. 여기에서 문제점들이 발생함. -> 이 영역에 한번에 한 프로세스만 들어올 수 있도록 해야함 = 동기화의 필요성 => 모든 프로세스가 읽을 수 있는 공유 변수(Synchronization variable)를 놓고 알고리즘을 설계하기 시작 **프로세스는 크게 4가지 구역으로..

1. 프로세스는 어떻게 생성되고 실행되니 - 프로세스는 프로세스 생성 시스템 콜(fork())을 통해 새로운 프로세스들을 생성할 수 있다 부모 프로세스 : 다른 프로세스를 생성하는 프로세스 자식 프로세스 : 다른 프로세스에 의해 생성된 프로세스 이때 생성된 새로운 프로세스의 주소 공간(Address Space)은 일반적으로 부모 프로세스를 카피해서 만들어지게 된다 부모의 공간을 그대로 복사 = 완전히 같은 복사본 (효율성을 위해 몇 OS 에서는 자식이 부모의 주소 공간을 공유) 부모 프로세스와는 다른 새로운 프로그램 - exec() (덮어쓰기) int main() { int pid; pid = fork(); ------------ 복제 일어남 --------------> if(pid == 0) { pri..
emotion.js는 styled-components처럼 브라우저에서 열었을 때(처음) className을 임의로 생성(SSR)해주는데 이후 CSR로 화면을 렌더링하게 되면 이때 서버에서 받은 클래스명과 이후 클라이언트에서 작동하는 클래스 명이 달라지면서 스타일을 불러올수 없는 문제가 발생한다고 한다. 난 next도 emotion 도 둘다 초보였기 때무네.. 눈물의 구글링을 반복하다가 바벨 설정을 이렇게 해줬다. 1. 바벨 플러그인 설치 yarn add babel-plugin-module-resolver @babel/plugin-proposal-class-properties @babel/plugin-proposal-object-rest-spread 2. .babelrc 작성 { "presets": ["n..

1. 컴퓨터 시스템 ▷ 컴퓨터 시스템의 기본 3요소 사용자(User) : 컴퓨터를 사용하여 원하는 결과를 얻는 대상. 주로 사람이지만, 때로는 컴퓨터, 기계, 통신장비, 로봇 등 일 수도 있다. 컴퓨터 시스템의 궁극적인 혜택을 보는 대상이라고 보면 됨! 하드웨어(Hardware) 소프트웨어(Software) ▷ 컴퓨터 시스템의 구조 내부 장치 CPU(Central Processing Unit) : 중앙에서 사용자가 입력한 명령어를 해석하고 연산한 후 그 결과를 알려준다. Memory : Random Access Memory 즉, 램(RAM)은 임의의 영역에 접근하여 읽고 쓰기가 가능한 주기억 장치다. RAM은 어느 위치에 저장된 데이터든지 처리하는 데 동일한 시간이 걸린다. 현재 실행되는 프로세스들이 여..
Next.js 앱을 처음 배포하는데 또 에러가 났다 // next.config.js moduel.exports = { images: { loader: 'akamai', path: '/', } } next.config.js에 'akamai' 로더로 이미지를 불러와주면 해결된다 끝!

1. 자신의 username으로 repository 만들기 - repository 이름을 내 username과 같은 이름을 지어서 생성하면 깃허브 프로필에 README.md 를 추가할 수 있게 된다. 없으면 일단 이것부터 만들어두기! (나는 이미 있어서 저렇게 빨갛게 떴다) 2. GitHub Profile Summary Cards 를 username 레파지토리에 사용하기 github-profile-summary-cards 는 git action 을 사용해서 24시간 주기로 나의 깃허브 프로필을 알아서 꾸며주고 업데이트도 해주는 너무나 좋은 툴이다> Create new file을 눌러서 .github/workflows/profile-summary-cards.yml 파일을 새로 만들고 아래 내용을 복붙한다...