본문 바로가기

전체 글

(16)
혼자 만들면서 공부하는 파이썬 - 2주차 Chapter 03 - 이미지 콜라주 학습 목표- pillow 패키지 설치하고, 이미지를 생성할 수 있음- 이미지 크기 변경, 합성 등의 처리를 할 수 있음- 여러 개의 이미지를 순차적으로 배치해 콜라주를 만들 수 있음 03-1 이미지 불러오기 - pillow 패키지는 파이썬의 여러 이미지 처리 패키지 중 하나임- pathlib 패키지는 파일 시스템 경로를 객체로 만드는 패키지 중 하나임- ImageDraw 모듈은 Image 객체를 보정하거나 주석을 다는 등의 그래픽 처리를 할 수 있음- 이를 위해서는 Draw() → Image 객체로부터 ImageDraw 객체를 만들어야 함- PIL.ImageDraw.Draw(im, mode: str | None = None) 03-2 이미지 가공하기- 이미지의 명도를..
혼자 만들면서 공부하는 파이썬 - 1주차 Chapter 1. 폴더 크기 측정 프로그램본 챕터에서는 폴더 크기 측정 프로그램을 제작하는 것으로 아래의 목표를 가짐- 파이썬 개발 환경 설정- 폴더 크기 측정 프로그램 제작- 폴더 크기 데이터 시각화 처리1.1. 파이썬 개발환경 설정- 1.1 파이썬 개발환경 설정의 경우 이미 파이썬 환경이 설치된 상태이므로 패스하였음- 책에서 제시된 파이썬 개발 환경은 파이썬 설치 + VS code 조합을 사용- 기존에는 아나콘다를 이용하여 가상환경을 편하게 설정하였는데, 본 서적에서는 VS code를 통해 가상환경을 설정하는 법을 배움- 현재 맥 os도 병용해서 사용중인데, homebrew를 통해 설치하는 법을 배울 수 있어 좋았음 - CMD 명령어mkdir [폴더명] : 폴더 생성 cd [폴더명] : 현재 경로 ..
혼공학습단 14기 시작 혼공 학습단은 정해진 기간내에 자신이 선택한 서적에 대하여 스스로 학습하고 과제 제출을 통해 이해를 점검할 수 있다. 이러한 혼공 학습단에 대해 우연히 검색으로 알게 되었고, 13기에 참여하면서 컴퓨터 운영체제에 대한 개론적인 부분을 빠르게 훑어보고 공부 할 수 있었다. 이번에도 혼공학습단을 모집한다고 하기에 '혼자 만들면서 배우는 파이썬'을 선택하여 참여 신청을 하였고, 다행이도 선정되었다. 바쁜 일정에도 참여를 선택한 이유는 여러 이유들이 있지만, 학교에 있으면서 요즘 프로그래밍을 할 시간과 기회가 없었고 특히 파이썬을 이용한 프로그래밍의 경우 정말 오랫동안 없었다. 그리고 파이썬 언어를 그냥 무작정 개발하면서 배운터라 파이써닉한 코드에 대한 감이 없어 감을 키우고 싶다. 또한, 매번 동일한 이유지만..
혼공학습단 13기 마무리 길지만 짧은 6주간의 장대한 프로젝트를 오늘로 마침표 찍게 되었다. 먼저, 참여를 통해 생소한 컴퓨터 구조 및 운영체제에 대하여 기초적인 지식을 쌓게 되었다.컴퓨터 구조 및 운영체제에 대해서 레지스터라던지, 개선을 위한 알고리즘이라던지 등 막연하게 어떠한 물리적인 구조에 대한 내용일 줄 알았지만 수많은 데이터 교환을 어떻게 하면 빠르고 정확하게 할 지를 하드웨어와 소프트웨어(운영체제) 적으로 고민하는 학문이라는 것을 알게 되었다. 참여하기 전 목표로 스스로 공부하는 학습 환경 만들기와 매번 같은 일상에서 활력을 얻을 수 있는 기회를 얻었으면 했는데 계획했던 두 가지 모두 이룬 것 같다. 현재 상황에서 달라진 건 학습단을 참여한 것 밖에 없지만, 학습단에 참여하면서 부족한 영어에 대해 별개로 조금씩 공부하..
혼공학습단 13기- 6주차 마지막 주차!   14.  가상 메모리14.1.  연속 메모리 할당- 이전까지는 메모리 내에서 프로세스들이 서로의 크기가 겹치지 않도록 연속적으로 배치되는 상황을 가정함→  연속 메모리 할당 방식 ✔ 프로세스들을 메모리에 연속적으로 할당할 때 무엇을 고려해야 하는지와 어떤 잠재적 문제가 있는지 확인 14.1.1. 스와핑- 메모리에 적재된 프로세스들 중에 현재 실행되지 않는 프로세스가 있을 수 있음- 미 실행 프로세스들을 임시로 보조기억장치 영역으로 이동 → 메모리상의 빈 공간에 또 다른 프로세스를 적재 후 실행을 스와핑 이라고함- 이때 프로세스들이 임시로 보조기억장치로 이동되는 영역을 스왑영역 이라고 함- 프로세스들이 스왑영역으로 이동되는 것을 스왑아웃, 스왑영역에서 다시 메모리로 옮겨지는 것을 스왑인이..
혼공학습단 13기- 5주차 @ 4주차 Keyword  프로그램 실행에 필요한 요소를 시스템 자원 또는 자원이라고 함운영체제는 메모리 내 커널영역에 적재됨운영체제는 프로세스들이 사용할 자원에 접근하고 조작하는 것으로 필요한 자원을 할당함 운영체제가 프로세스에 대해 CPU 자원을 배분하는 것을 CPU 스케줄링이라 하고, 다양한 알고리즘들이 적용되지만 그중 다단계 피드백 큐 스케줄링이 가장 일반적임12. 프로세스 동기화12.1. 동기화란- 동시다발적으로 협력하여 실행되는 프로세스들은 실행 순서와 자원의 일관성을 보장하기 위해 동기화 되어야함 12.1.1. 동기화의 의미- 동시다발적으로 실행되는 많은 프로세스는 서로 데이터를 주고 받으며, 협력하며 실행될 수 있음- 협력적으로 실행되는 프로세스들은 올바른 실행을 위해 동기화가 필수임- 프..
혼공학습단 13기- 4주차 @ 3주차 KeywordRAM  - DRAM, SRAM캐시메모리는 CPU 코어에 멀어질수록 용량이 커지고, 속도는 작아진다.플래시 메모리는 우리가 흔히 사용하는 USB, SSD, SD카드 이다.플래시 메모리 - SLC타입, MLC타입, TLC 타입 셀보다 더 큰단위는 페이지, 블록, 플레인, 다이 순서이다.RAID는 하드디스크 또는 SSD 를 이용하는 기술로, 여러개의 디스크를 이용하여 하나의 디스크 처럼 취급하는 기술임 입출력은 프로그램 입출력, 인터럽트 기반 입출력 DMA 입출력 이 있다.9. 운영체제 시작하기9.1. 운영체제를 알아야 하는 이유9.1.1. 운영체제란- 모든 프로그램은 하드웨어를 필요로하며, 프로그램 실행에 필요한 요소를 '시스템 자원' 또는 '자원' 이라고 함- 실행할 프로그램에 필..
혼공학습단 13기- 3주차 @ 2주차 keyword 확인- 레지스터의 동작 흐름 (pp. 114~ 117)- 인터럽트 - 동기 인터럽트(예외), 비동기 입터럽트(하드웨어 인터럽트)- 하드웨어 스레드 ex) 1코어 2스레드 - 소프트웨어 스레드 ex)1코어 1스레드에서도 다중으로 스레드 실행- CISC : 복잡한 명령어 구현, 가변 길이 명령어 특징, 메모리 공간 절약  →  명령어 처리시 긴 클럭 주기 필요- RISC : 단순한 명령어 구현, 고정 길이 명령어, 많은 메모리 필요 → 명령어 처리시 1클럭 내외 6.1. RAM의 특징과 종류6.1.1. RAM의 특징- 실행할 프로그램의 명령어와 데이터가 저장되지만 전원을 끄면 모두 없어짐(휘발성 저장 장치)→ 실행할 대상 저장- 보조기억장치의 경우 전원을 끄면 데이터가 사라지지 않음..