프로세스(Process)는 운영체제의 핵심 개념 중 하나이다. 프로세스는 실행 중인 프로그램을 의미하며, 프로그램 자체는 디스크에 저장된 명령어와 데이터의 집합이다. 운영체제는 이 명령어와 데이터를 실행하여 프로그램을 작동시킨다.사용자는 여러 프로그램을 동시에 실행하기를 원한다. 예를 들어, 웹 브라우저, 이메일 ,게임, 음악 플레이어 등을 동시에 실행하는 것이다. 운영체제는 실제로 한정된 CPU를 가지고 있음에도 불구하고, 여러 개의 프로세스가 동시에 실행되는 것처럼 만드는 기술, 즉 CPU 가상화를 통해 이를 가능케 한다. 이러한 환상을 만들기 위해, 운영체제는 시분할(time sharing) 방식을 사용하여 한 프로세스를 잠시 실행한 후 다른 프로세스로 전환하는 작업을 반복한다. 이 과정을 통해, ..
운영체제 아주 쉬운 세 가지 이야기 - OSTEP를 읽고 정리하는 스터디를 하게 되었다. 크래프톤 정글 8기 307반 동기들과 함께하는 스터디 시작한다.운영체제 개요프로그램을 쉽게 실행하고, 프로그램 간의 메모리 공유를 가능케 하고, 장치와 상호작용을 가능케 하고, 다양한 흥미로운 일을 할 수 있게 하는 소프트웨어가 있다. 시스템을 사용하기 편리하게 하면서 정확하고 올바르게 동작시킬 책임이 있기 때문에 이 소프트웨어를 운영체제(Operating System, OS)라고 부른다.운영체제는 앞에서 언급한 일을 하기 위하여 가상화(Virtualization)라고 불리는 기법을 사용한다. 운영체제는 프로세서, 메모리, 또는 디스크와 같은 물리적(Physical)인 자원을 이용하여 일반적이고, 강력하고, 사용이 ..
7월 31일 부로 크래프톤 정글 8기 과정을 모두 마치고 수료를 했다. 꽤나 시간이 지나 마지막 회고를 작성하고 있다.크래프톤 정글 8기 회고0주 차 때 에세이를 적으며 크래프톤 정글이 끝났을 때 나는 과연 어떤 상태일까를 적어놨었다. 내가 정말 고민하던 것이 부족한 코딩테스트 실력, CS 지식, 프로젝트 경험이었다. 5개월 후에는 더 많고 깊은 CS 지식을 가지는 것과 정말 잘하지는 못하더라도 원하는 기업에 입사 지원을 해 코딩테스트에 통과할 수 있을 수준의 알고리즘 지식과 실력을 가질 수 있었으면 한다. 마지막으로 자주 연락하며 안부도 묻고 같이 프로젝트도 할 수 있는 동료를 만들었으면 한다.https://gowoong.tistory.com/25 크래프톤 정글 8기 에세이크래프톤 정글 8기에 입소하기..
Flutter에서의 BLoC(Business Logic Component)은 애플리케이션의 비즈니스 로직을 UI와 분리하여 유지보수성, 테스트 용이성, 재사용성을 높이기 위해 사용하는 상태 관리(State Management) 아키텍처 패턴이다.1. BLoC이란 무엇인가?https://bloclibrary.dev/ko/why-bloc/ 왜 Bloc인가?어떤 요소가 Bloc을 견고한 상태 관리 솔루션으로 만드는 지에 대한 개요입니다.bloclibrary.devBLoC (Business Logic Component) 패턴은 Reactive Programming (반응형 프로그래밍)을 기반으로 하며, Dart의 Stream과 Sink를 사용하여 UI와 비즈니스 로직을 분리한다.Input: 사용자의 이벤트 (예..
목표Flutter란 무엇인지 이해하기Flutter 설치 및 개발 환경 세팅첫 번째 Flutter 앱 실행Flutter 프로젝트 구조 이해Flutter란?Flutter는 Google에서 개발한 오픈소스 UI 프레임워크로, 하나의 코드베이스로 iOS, Android, Web, 데스크탑까지 다양한 플랫폼에서 앱을 만들 수 있다.핵심은 빠른 개발, 직관적인 UI 구성, 그리고 Dart 언어를 기반으로 한다는 점이다.💻 개발 환경 세팅1. Flutter 설치공식 사이트: https://flutter.dev설치 방법: OS에 따라 제공되는 zip 파일을 다운 받아 압축 해제 후, flutter/bin 경로를 PATH에 등록2. Android Studio 설치 (권장)Flutter와 함께 사용하는 IDE 중 가장 ..
목표Navifator를 통한 화면 전환 이해하기MaterialPageRoute 사용법Named Route 설정 및 사용화면 간 데이터 전달📱 Flutter에서 화면 전환이란?Flutter 앱은 여러 개의 "화면(Screen)" 혹은 "페이지(Page)"를 가질 수 있다. 이를 Flutter에서는 Route(경로)라고 부르며, 화면 간 이동은 Navigator 클래스를 통해 처리한다.Navigator 기본 사용법화면 이동 (push)Navigator.push( context, MaterialPageRoute(builder: (context) => SecondPage()),);화면 돌아가기 (pop)Navigator.pop(context);Named Route 설정많은 페이지가 생기면 라우트 이름으로 ..