일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 운영체제
- 인터럽트
- 운영체제와 정보기술의 원리
- 시스템프로그래밍
- Git
- 개발남노씨
- 트랜잭션
- CPU 스케줄링
- SDK
- SQL
- recoverability
- 데이터베이스
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- vite
- Extendable hashing
- concurrency control
- 온디바이스AI
- 프로세스 주소 공간
- 쉬운코드
- 코딩애플
- 백엔드
- 코딩테스트 [ ALL IN ONE ]
- 커널 동기화
- 갤럭시 S24
- B tree 데이터삽입
- 네트워크
- 시그널 핸들러
- 김영한
- 쉬운 코드
- 반효경
- Today
- Total
목록분류 전체보기 (265)
티끌모아 태산
프로세스 제어블록 ⭐️프로세스 제어블록(Process Contorl Block:PCB)이란 운영체제가 시스템 내의 프로세스들을 관리하기 위해 프로세스마다 유지하는 정보들을 담는 커널 내의 자료구조이다. PCB에 저장되는 정보들은 다음과 같다. 프로세스 식별자(PID): 프로세스를 구별하기 위한 용도 프로세스의 상태: CPU를 할당해도 되는지 여부를 결정하기 위해 필요 프로그램 카운더의 값: 다음에 수행할 명령어의 위치를 나타낸다. CPU 레지스터 값: CPU 연산을 위해 현 시점에 레지스터에 어떤값을 저장하고 있는지를 나타낸다. CPU 스케줄링 정보: CPU 스케줄링을 위한 정보 메모리 관리 정보: 메모리 할당을 위해 필요한 정보 자원 사용 정보: 사용자에게 자원 사용 요금을 계산에 청구하는 용도 입출력..

Git clone 이번 시간에는 간단하게 github에서 만든 New Repository를 local에 클론(clone)하는 작업을 배워보겠습니다. Github에서 새로운 Repository를 만든다. Visual Studio Code로 와서 터미널을 키고 새로운 저장서에 생긴 을 활용하여 클론한다. 이처럼 새로운 레포지토리를 GitHub에서 만들어서 로컬에 성공적으로 저장하고, 작업한 내용을 커밋하고 푸시할 수 있다.

프로세스의 개념 ⭐️프로세스란(Process)란 실행중인 프로그램(program in execution)이다. 즉, 디스크에 존재하던 실행파일(file.exe) 형태인 프로그램이 메모리에 올라가면 프로세스가 되며, 이 프로세스는 CPU를 획득해 자신의 코드를 수행하기도 하고 때로는 CPU를 반환하고 입출력을 수행하기도 한다. 그러다가 자신의 수행을 다하면 종료되어 사라진다. 프로그램: 함수들로 이루어진 즉, 명령어, 코드 및 정적인 데이터의 묶음이며 아직 실행되지 않은 상태 ⭐️프로세스와 스레드에 대해 간단하게 설명하면 프로세스는 위에서 설명한 것 처럼 현재 실행 중인 프로그램을 의미하며 스레드는 프로세스 내부에서 실행되는 작업 흐름의 단위를 의미한다. 프로세스와 쓰레드(Thread)의 개념을 이해하는 ..

Hooks란 이전에는 컴포넌트의 상태를 관리하거나 생명 주기에 따라 특정 작업을 수행하려면 클래스형 컴포넌트를 사용해야 했다. 하지만 이제는 Hooks를 이용하여 함수형 컴포넌트에서도 컴포넌트의 상태를 관리할 수 있고 생명주기에 맞춰 특정 작업을 수행할 수 있게 되었다. 📍useState State는 컴포넌트의 상태를 의미한다. useState를 호출하면 변수와 그 변수를 수정할 수 있는 세터 함수를 배열로 반환한다. 즉, useState() 함수를 호출하면 파라미터로 전달한 값을 초기값으로 갖는 상태 변수와 그 변수를 수정할 수 있는 세터 함수를 배열로 반환한다. useSate 함수는 관리해야하는 상태의 수 만큼 반복해서 사용할 수 있다. 따라서 상태를 관리하는 변수는 반드시 세터 함수를 이용해 값을 ..
프로그램의 구조 우리가 사용하는 컴퓨터 프로그램은 일반적으로 함수들로 이루어져 있다. 프로그램은 이런 함수가 수행되는 중에 다른 함수를 호출하고, 호출된 함수의 수행이 완료되면 다시 원래 호출했던 함수의 위치로 돌아가 프로그램을 계속 실행하게 되는 원리로 동작하게 된다. 한편, 프로그램이 실행되기 위해서는 프로그램의 주소 영역이 메모리에 올라와 있어야하는데, 이때 프로그램의 주소 영역은 크게 코드(Code), 데이터(data), 스택(stack) 영역으로 구분된다. 코드: 우리가 작성한 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 곳. 데이터: 전역 변수 등 프로그램이 사용하는 데이터를 저장하는 부분 스택: 함수가 호출 될 때 호출된 함수의 수행을 마치고 복귀..

컴퓨터 시스템의 구조 컴퓨터 시스템의 구조는 일반적으로 컴퓨터 내부장치인 CPU, 메모리와 컴퓨터 외부 장치인 디스크, 키보드, 마우스, 모니터, 네트워크 장치 등으로 구성된다. 이때, 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어(input)와 각 종 연산을 수행한 후 그 결과를 다시 외부장치로 내보내는(output) 방식으로 업무를 수행한다. 예를들어, 키보드로부터 입력을 받아 컴퓨터가 연산을 한 후 결과를 모니터에 출력하는 것 혹은 디스크에서 내용을 읽어 처리후 디스크에 데이터를 저장하는 등이 해당된다. 운영체제는 컴퓨터가 부팅되었을 때부터 항상 수행되면서 각종 자원을 관리해야하므로 메모리에 항상 올라와 있어야한다. 그러나 운영체제의 코드가 모두 메모리에 올라오면 메모리 낭비가 발생하기 때문에 운영..

What is Redux? 리덕스는 쉽게 말해 자바스크립트 애플리케이션을 위한 상태(State) 관리 라이브러리이다. 리덕스가 무엇인지 배우기 전에 ❗️왜 리덕스를 사용하는지 이해하고 있어야한다. Redux를 사용하는 이유는 다음과 같습니다. 1. props 문법 귀찮을 때 사용 리액트를 사용해서 웹개발을 진행 할때, index.html 파일 안에 컴포넌트들을 생성해서 개발을 진행합니다. 컴포넌트는 html 덩어리라고 생각해면 이해하기 쉽습니다. 함수인데 html 덩어리를 뱉는 함수라고 생각하면 됩니다. 이렇게 컴포넌트를 만들어 놓고 가져와서 사용하면됩니다. 그런데, 개발을 하다보면 state를 만들고 싶을 때가 있습니다. state란 쉽게 변수라고 생각하면 이해하기 쉽습니다. 예를들어, 몸무게 관리앱을..

React App 예전에는 리액트 앱을 처음 실행하기 위해서는 webpack이나 babel같은 것을 설정하기 위해서 많은 시간이 소비 됐다. 하지만 최근에는 create-react-app Command로 바로 시작할 수 있다. 이 create-react-app 명령어는 위 웹팩과 바벨 설정을 자동으로 해준다. *Babel은 최신 자바스크립트 문법을 지원하지 않는 브라우저들을 위해서 최신 자바스크립트 문법을 구형 브라우저에서도 돌 수 있게 변환 시켜줌. *webpack is a static module bunder for modern JS applications. 리액트 앱을 설치하고 싶은 Directory로 이동해서 터미널에 npm create-react app . 을 실행 시켜준다. npx create..
React JS란 페이스북에서 만들어진 라이브러리 Components modules과 비슷하게 컴포넌트로 이뤄줘 있어서 reusable 이 뛰어남. Virtual DOM JSX(우선 HTML으로 알아두기)을 렌더링 한다. 그러면 Virtual DOM이 업데이트가 됨. Virtual DOM이 이전 Virtual DOM에서 찍어둔 Snapshot과 비교를 해서 바뀐 부분을 찾는다. 이 과정을 "difing"이라고 부름. 그 바뀐 부분만 Real DOM에서 바꿔준다. 즉 전체를 Reload할 필요가 없다. *Virtual DOM을 사용하지 않고 Real DOM을 바로 사용할 경우, 어떤 부분을 업데이트 하면 전체를 Reload 해줘야 했기 때문에 느리다는 단점이 있었다. 하지만 Virtual DOM을 사용할 ..
⭐운영체제란? 운영체제란 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어로써 하드웨어를 관리하고 컴퓨터 시스템 내의 자원(resource)을 효율적으로 관리하며 사용자 및 응용 프로그램과 하드웨어간의 인터페이스 역할을 한다. 운영체제의 기능 컴퓨터 시스템 내의 자원을 효율적으로 관리 - CPU, 메모리, 입출력 장치 관리함으로써 시스템의 성능을 향상시킨다. 컴퓨터 시스템을 편리하게 사용할 수 있도록 환경 제공 - 사용자 및 프로그램들에게 각각 독립적으로 컴퓨터를 사용하는 것과 같은 '환상'을 제공. 예를들어, 하드웨어와 같은 복잡한 부분은 운영체제가 대신해주고 각 사용자 및 프로그램은 그에 대한 자세한 내용을 알지 못해도 프로그램을 실행 시킬 수 있도록 해준다. ..