본문 바로가기

분류 전체보기124

혼공 컴운 회고 어느덧 혼공 컴운 6주차를 마무리 지었다. 처음에는 CS 지식을 정리하는 시간을 갖고 싶은 마음에 혼공단 신청을 하게 되었다. 주 차별로 공부한 내용을 페이스북에 업로드하고, 다른 사람들이 공부한 내용을 참고하면서 함께 공부가 되는 효과를 느꼈다. 비록 혼공 컴운 책의 모든 내용을 아직 학습하지는 못했지만, 마지막까지 스스로 정리하면서 유종의 미를 거두어보련다. 혼공 컴운 참여 목적 혼재되어 있던 CS 기본지식을 정리하고 싶어서 온라인으로 함께 공부하는 방식이라 참여율이 좋을 것 같아서 실무적으로 부족한 지식을 공부하고 싶어서 혼공 활동으로 얻은 것 배운 내용을 정리하는 습관 챕터별로 지정한 문제를 풀기 위해서 책을 통해 기본 지식을 학습하면서 스스로 머릿속에 정리되는 습관을 들이게 되었다. 온라인 활동.. 2023. 2. 19.
혼공 컴운 - 6주차 정리 14장. 가상 메모리 14-1. 연속 메모리 할당 스와핑 메모리에서 미사용 상태인 일부 프로세스를 보조 기억 장치로 보내고 실행할 프로세스를 메모리에 적재하는 메모리 기법 스왑 영역 : 프로세스가 쫓겨나는 보조 기억 장치의 일부 영역 스왑 아웃 : 사용되지 않는 프로세스들이 메모리에서 스왑 영역으로 보내지는 것 스왑 인 : 스왑 영역에서 메모리로 적재되는 것. 메모리 할당 비어있는 메모리 공간에 프로세스를 연속적으로 할당하는 방식 최초 적합 (First Fit) 프로세스가 적재될 수 있는 공간을 발견하는 즉시 메모리를 할당하는 방식 검색 최소화, 빠른 할당 가능 최적 적합 (Best Fit) 운영체제가 메모리의 빈 공간을 모두 검색하고, 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스 배치 최악 적.. 2023. 2. 19.
혼공 컴운 - 5주차 정리 12장. 프로세스 동기화 12-1. 동기화란 동기화 : 실행되는 프로세스의 순서와 자원의 일관성을 보장하여 수행시기를 맞추는 작업 동기화 종류 1) 실행 순서 제어 : 프로세스들이 올바른 순서대로 실행. 2) 상호 배제 목적 : 동시 사용을 피하기 위해, 단일 프로세스만 접근 공유 자원과 임계구역 공유자원 : 공동의 자원(전역변수, 입출력장치..) 임계구역 : 문제가 발생하는 자원에 접근하는 코드영역 두 개 이상의 프로세스가 접근 시, 하나는 대기해야함. 레이디스 컨디션(race condition) : 여러 프로세스가 동시 다발적으로 코드를 실행하여 문제가 발생하는 경우. 상호 배제 동기화 원칙 상호배제(mutual exclusion): 하나의 프로세스가 임계 구역 내에 있다면, 다른 프로세스 접근 금지.. 2023. 2. 11.
혼공 컴운 - 4주차 정리 9장. 운영체제 시작하기 09-1. 운영체제를 알아야 하는이유 운영체제란 시스템 자원 : 프로그램 실행에 필요한 요소(자원) CPU, 메모리, 보조기억장치, 입출력장치 등과 같은 컴퓨터 부품 모든 프로그램은 실행되기 위해 반드시 자원이 필요하다. 입출력장치 관리 : 복수의 프로그램이 입출력 장치 동시 접근 방지 운영체제 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행된다. 사용자 영역 : 커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역 운영체제를 알아야 하는 이유 운영체제가 없다면 아무리 간단한 프로그램이라도 하드웨어를 조작하는 코드를 개발자가 모두.. 2023. 2. 6.
혼공 컴운 - 3주차 정리 6장. 메모리와 캐시메모리 6-1. RAM의 특징과 종류 주기억장치 구성 RAM ROM RAM의 특징 실행할 프로그램의 명령어와 데이터가 저장되는 곳 휘발성 저장 장치(volatile memory) : 전원이 꺼지면, 저장된 정보가 모두 삭제되는 휘발성. (RAM) 비휘발성 저장 장치(non-volatile memory) : 전원이 꺼져도 내용이 저장되는 장치. (Hard Disk, SSD, CD-ROM, USB) RAM의 용량과 성능 RAM의 용량이 작으면 보조기억장치에서 ‘보관할 대상’을 가지고 오는 일이 잦아진다. RAM의 종류 DRAM 저장된 데이터가 동적으로 사라지는 RAM 데이터의 소멸을 막기위해 일정 주기로 데이터를 다시 저장해야한다. 일반적인 RAM이 DRAM으로 구성되어 있다.(소비전력 .. 2023. 1. 25.
혼공 컴운 - 2주차 정리 4장. CPU 작동원리 4-1. ALU와 제어장치 ALU - CPU 내부의 계산을 담당 - 레지스터를 통해 피연산자를 받아들임 - 수행할 연산을 알려주는 제어신호 역할 플래그 종류와 의미 종류 의미 예시 부호 플래그 연산의 결과를 부호로 표시 1: 음수 / 0: 양수 제로 플래그 연산 결과가 0인지 여부표시 1: 0의 결과 / 0: 0이 아님 캐리 플래그 연산 결과 올림수나 빌림수 발생여부 확인 1: 발생했음 / 0: 발생 안했음 오버플로우 플래그 오버플로우 발생여부 표시 1: 발생했음 / 0: 발생 안했음 인터럽트 플래그 인터럽트 가능여부 확인 1: 가능 / 0: 불가능 슈퍼바이저 플래그 커널모드 / 사용자 모드 확인 1: 커널 모드 / 0: 사용자 모드 제어장치 - 신호를 내보내고,명령어를 해석하는 .. 2023. 1. 15.
혼공 컴운 - 1주차 정리 혼공컴운 9기 활동을 시작하면서, 그 동안 어렴풋하게 알아왔던 컴퓨터 구조와 운영체제 개념정리를 시작해보자. 1장. 컴퓨터구조 - 컴퓨터 구조의 큰 그림 컴퓨터 구조 지식을 컴퓨터가 이해하는 정보와 컴퓨터의 네 가지 핵심 부품으로 나눌 수 있다. - 컴퓨터가 이해하는 정보 컴퓨터가 이해할 수 있는 정보에는 데이터와 명령어가 있다. - 데이터 : 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 - 명령어 : 데이터를 움직이도 컴퓨터를 작동시키는 정보 * 컴퓨터 핵심부품 - 중앙처리장치(*CPU; Central Processing Unit*) - 주기억장치(*Main memory*) - 보조기억장치(*Secondary storage*) - 입출력장치(*input/output device*) - CPU : .. 2023. 1. 8.
React Native Drawer 설치 오류 발생 대처법 @react-navigation/drawer 라이브러리를 사용하여, Drawer Navigation을 구현 react-native run-ios 을 실행하면, "RNSscreen was not found in the uimanager" 에러 문장이 확인되는 경우가 발생한다. 이유인 즉슨, 단순히 라이브러리 1개만 설치한다고 모든 기능이 동작하는 것이 아니다. 상호 연관관계가 있는 라이브러리를 함께 설치해주어야 호환성에 문제가 없는 것으로 확인되었다. npm install @react-navigation/native npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-are.. 2022. 10. 15.
RecyclerView IndexOutOfException : invalid item position 매일 앱의 버그를 모니터링하기 위해 Firebase Crashlytics을 확인한다. 최근 들어 목록을 출력하는 페이지에서 'IndexOutOfException' 이 발생하는 오류가 자주 리포팅되었다. IndexOutOfException : inconsistency detected, invalid item position 막상 오류가 발생한 곳을 찾아서, 디버그를 실행해보면 정상적으로 목록이 출력되고 데이터도 오류 없이 전달됨을 확인할 수 있었다. 문제는 카테고리를 변경해서, 새로운 목록을 갱신해서 출력하는 과정에서 비정상적인 오류로 App Crash 증상을 확인할 수 있었다. 구글링을 통해, 확인해보니 RecyclerView에 ArrayList를 사용할 경우에 단순히 ArrayList.clear()을 .. 2021. 10. 29.