일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정보처리기사 요약
- 한이아지
- 부스트코스
- 큐버
- 코틀린 기초
- Kotlin
- 정보처리기사 내용정리
- 코틀린
- naver
- 정보처리기사 필기
- kkuber
- 정처기 요약
- 백엔드
- 정처기
- 정보처리기사 정리
- 코틀린기초
- 정처기 필기
- 정보처리기사 요약정리
- IT
- 개발자
- 코틀린 배우기
- edwith
- 코틀린 강의
- boostcourse
- 정보처리기사
- 부스트코스 서포터즈
- 코틀린배우기
- 코틀린강의
- 정처기 정리
- 안드로이드
- Today
- Total
목록한번 보고 이해 되는 IT (33)
초보 개발자의 성장기
병행성과 병렬성 병행성(동시성)과 병렬성은 비슷하지만 다른 개념입니다. 병행성 : 동시에 실행되는 것처럼 보이는 것 즉, 여러가지 일을 동시에 하는 것이 아니라 한가지 일을 조금씩 나눠서 하는 것 병렬성 : 실제로 동시에 작업이 처리되는 것. N코어 N개의 쓰레드가 동시에 작업 프로세스 동기화 프로세스 동기화란 여러 프로세스가 공유하는 자원의 일관성을 유지하는 것을 말합니다. 여러 프로세스가 서로 협력해 공유자원을 사용하는 상황에서 경쟁조건(race condition)이 발생하면 공유자원의 신뢰성이 떨어집니다. 이를 방지하기 위해 프로세스들이 공유자원을 사용할 때 특별한 규칙을 만드는 것을 뜻합니다. 위에서 말하는 race condition 에 대해서 조금 더 자세히 알아보겠습니다. race condit..
우선 귀한 시간을 내어서 스터디를 진행해주신 토마스님께 감사 인사를 드립니다. 스터디에 참여하면서 좋았던 점 모의 면접을 할 때 면접자, 면접관, 관찰자로 각자에게 역할을 갖고 면접에 참여할 수 있었다. 면접자 입장에서만 하는 것이 아니라 다양한 역할로 면접에 참여하다보니 생각이상으로 얻을 수 있는 점이 많았다. 모든 팀원들에게 피드백을 받을 수 있다. 면접 스터디를 진행할 때 가장 중요한 점은 팀원들의 피드백을 받는 것이라고 생각된다. 이번 스터디를 같이 하면서 지식 외적으로 면접에 대하는 목소리, 시선처리 등 다양한 면에서 피드백을 받을 수 있어 좋았다. 토마스님의 지식 공유 토마스님이 스터디 사이 사이에 알고 있는 지식이나 자료 등을 많이 공유해주셔서 큰 도움이 됬다. 또한, 지식 외적으로도 면접에..
절대 주소 지정 & 상대 주소 지정 절대 주소 지정은 데이터가 위치한 메모리의 실제 주소를 활용하는 방식 입니다. 장점 주소가 명확하고 간단합니다. 프로그램의 실행 속도가 빠릅니다. 주소 변환 과정이 필요 없습니다. 단점 프로그램의 크기가 변경되면 다시 컴파일 해야 합니다. 메모리 공간의 낭비가 발생할 수 있습니다. 데이터가 다른 메모리로 이동하거나 프로그램이 다른 컴퓨터로 이동하게 되면 주소가 달라지는 문제가 있습니다. 상대 주소 지정은 메모리가 지정한 메모리의 상대적인 위치를 활용하는 방식 입니다. 장점 프로그램의 크기가 변경되어도 컴파일할 필요가 없습니다. 메모리 공간의 활용도가 높습니다. 데이터가 다른 메모리로 이동하거나 프로그램이 다른 컴퓨터로 이동하게 되도 주소가 자동으로 조정됩니다. 단점 주..
CPU 스케줄링 CPU 스케줄링은 언제 어떤 프로세스에 CPU를 할당할지 결정하는 작업이라고 할 수 있습니다. 이 때, CPU 스케줄러는 메모리에 있는 프로세스들 중 어떤 프로세스를 실행할지 선택하고 CPU를 할당해주는 역할을 합니다. CPU 스케줄러는 프로세스들이 다음과 같은 상황에 있을 때 스케줄링을 결정한다. 실행(running) 상태에서 대기(waiting) 상태로 전환(switching)될 때 ( ex : I/O 발생 ) 실행(running) 상태에서 준비(ready) 상태로 전환(switching)될 때 ( ex : intterupt 발생 ) 대기(waiting) 상태에서 준비(ready) 상태로 전환(switching)될 때 ( ex : I/O 완료 시 ) 종료(Terminated)될 때 1..
Program 프로그램은 쉽게 표현해 파일 시스템 내에 존재하는 실행 파일입니다. 다른 표현으로 사용자가 원하는 업무를 처리하기 위한 명령어들의 집합이라고 표현할 수 있습니다. 즉, 우리가 컴퓨터에서 실행하는 모든 파일을 프로그램이라고 칭할 수 있습니다. Process 프로세스는 프로그램이 실행되는 상태라고 표현할 수 있습니다. 프로세스는 운영체제로부터 필요한 자원을 할당받아 프로그램이 명령을 수행하는 상태입니다. 프로세스가 할당받는 시스템 자원의 예 cpu시간 운영되기 위해 필요한 주소 공간 Code, Data, Stack, Heap의 구조로 되어있는 독립된 메모리 영역 Code 프로세스가 실행할 코드와 매크로 상수가 기계어 형태로 저장된 공간입니다. 컴파일 시 결정되고 변경은 불가합니다. 프로그램 시..
운영체제란? 🖥️ 운영체제의 정의 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 편리하게 사용할 수 있도록 환경을 제공해주는 프로그램의 모임 이라고 정의할 수 있습니다. 📟 운영체제의 역할 운영체제는 3가지 핵심적인 역할을 수행하고 있습니다. 컴퓨터 시스템 자원 효율적으로 관리 하드웨어 관리 : CPU, 메모리, 주변 장치 및 입출력 장치 관리 컴퓨터 자원 보호 : 사용자로부터 자원을 보호 인터페이스 제공 : 사용자가 편리하게 컴퓨터 자원을 사용할 수 있도록 인터페이스 제공 🗝️ 운영체제의 목적 운영체제를 사용하는 목적은 곧 운영체제를 평가하는 척도가 됩니다. 처리능력(Throughput) : 시간 당 처리 작업량 및 처리 시간 개선 반환 시간(Turn Around Time) : 사용자..

실무를 하면서 쓰레드가 정말 중요한 역할을 한다는 사실을 알았습니다. 그래서 이번에는 쓰레드를 쓰는 이유와 장점에 대해 포스팅하려고 합니다. 간단한 예제도 있으니 도움이 되실 거라고 생각됩니다! 쓰레드를 쓰는 이유 쓰레드는 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위를 뜻합니다. 즉, 프로세스 안에 쓰레드가 있습니다. 그래서 쓰레드를 알기 전에 프로세스에 대한 이해가 필요합니다. 프로세스란? 현재 실행중인 프로그램을 의미한다. 프로그램을 실행하면 OS로부터 실행에 필요한만큼의 자원을 할당받는데 이 때 할당받은 프로그램을 프로세스라고 칭합니다. ✻ 프로세스는 독립된 메모리 영역을 사용합니다. java를 이용해 쓰레드를 사용할 때는 아래와 같은 특징을 가지고 있습니다. 1. JVM에 의해 ..
API 개발을 하다 보면 항상 마주하는 상태 코드들이 있습니다. 특히 API에 문제가 생겼을 때 어디서 문제가 발생했는 지 정확히 알기 위해서는 상태코드에 대한 이해가 필요합니다. 그래서 이번 포스팅 주제를 HTTP 상태코드로 정했습니다. 상태코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 즉, 프론트엔드와 백엔드 간의 통신을 할 때 조금 더 명확한 정의를 위해 필요한 규칙으로 볼 수 있음. HTTP 상태코드는 가이드라인이기 때문에 지키지 않는다고 문제가 발생하지는 않음. 하지만, 공용으로 통용되는 규칙이기 때문에 지켜서 개발한다면 어떤 개발자가 보더라도 명확하게 API를 이해할 수 있음. 1xx (Informational) 100번대 코드는 정보 전달 요청을 받았고, 작업을 진행 ..