일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 앱 비교 프로젝트
- swift문법
- 제앱소
- 네이버 치지직
- ObservedObject
- global soop
- 애플 아카데미 후기
- 애플 디벨로퍼 아카데미
- Swift 디자인패턴
- useReducer
- 애플 디벨로퍼 아카데미 후기
- StateObject
- 치지직
- sqoop
- 숭실대
- react
- 데이터베이스 공부
- ObservableObject
- Apple Developer Academy @ POSTECH
- Swift 문법
- 소프트웨어분석및설계
- 운영체제
- 애플 디벨로퍼 아카데미 21주차 회고
- SWIFT
- 네이버 부스트캠프
- apple developer academy 후기
- Swift 기능
- OS
- iOS 개발 오류
- 데이터베이스
- Today
- Total
목록전체 글 (290)
사과하는 제라스
동기화의 고전적인 문제 Big 3 1. Bounded-Buffer Problem 2. Readers and Writers Problem 3. Dining Philosophers Problem Bounded-Buffer Problem : N개의 Item을 삽입할 수 있는 Buffer가 있음. 여기에 여러 생산자와 소비자들이 접근함. - 생산자: 하나의 Item을 생산해서 Buffer에 넣는 사람. -> Buffer 배열 중 같은 index에 접근해서 Item을 넣을 시 Race Condition이 발생할 수 있음. - 소비자: Buffer에서 하나의 Item을 가져오는 사람. -> Buffer에서 가져오는 Item을 소비하고 비워주는데 Buffer의 상태가 Empty면 대기함. 근데 이런 거에 많이들 대기..
Race Condition : 공유 데이터에 대해 여러 프로세스가 동시 접근 및 변경을 시도하는 상황 -> 이러한 동시 접근 및 변경은 데이터의 일관성(Consistency)을 해침. Race Condition 예시 은행의 입출금 문제 : 1000원의 잔고가 있는데, 여기에 500원 입금, 500원 출금이 동시에 일어남. 결과는? 이 소스코드들은 컴파일러에 의해 분해되기에 레지스터 수준에서 봐야함. Critical Section : 여러 프로세스들이 공유하는 데이터에 접근하는 Code 영역 ex. 위 입출금 문제 예제에서는 Balance = Balance + 500; , Balance = Balance - 500; Race Condition을 방지하기 위해!!! 한번에 단 하나만의 프로세스가 Critic..
Process가 뭐여...?? 이거 되게 추상적인데... OS에서 추상적인 개념으로는... 1) Scheduling의 단위 2) 소유하고 있는 자원(Virtual Memory, file 등)에 대한 보호 프로그램과의 관계에서는... 3) 정적인 단위의 프로그램에 반해 하나의 실행 흐름을 갖고 실행 중인 프로그램 -> 근데 이거 실행 흐름이 여러 개일 수도 있는데...?!?!?!?!? 이렇게 프로세스 안에서 실행되고 있는 논리적인 각각의 실행 흐름 => 이게 Thread다!!! Thread - Execution Unit - 프로세스 내의 실행 흐름 - 프로세스보다 작은 단위 - 프로세스가 제공한 Protection Domain은 없음 Thread 라는 개념은 왜 생겨남...?? 프로세스를 여러개를 쓸 수는..
프로세스들이 어떻게 서로 협력을 할 수 있음...? OS는 이를 어떻게 지원함...? 궁금해...!!! IPC란...? : 프로세스들 간에 데이터/정보를 주고 받기 위한 메커니즘. -> 커널에서 IPC를 위해 System Call 형태로 도구를 제공함. (프로세스들은 이 System Call들을 호출함으로서 프로세스 간에 통신할 거라고 OS에게 얘기해 줌.-> OS는 그 프로세스들에게 그 기능을 사용 가능하게 해줌.) - IPC의 필요성 : Process 협력 모델을 구현하기 위해서 반드시 필요함. -> 실행 중인 프로세스는 협력하는 다른 프로세스의 영향을 받음. 어떤 시스템이 돌아갈 때 여러 프로세스들이 사용되는데 그들 간에는 통신을 해야 함. 이러한 통신을 위해서는 IPC가 필요함. IPC 모델 2가..
소프트웨어 설계에서의 SW 컴포넌트를 얘기할 거임. 크게 1. Functional Component 2. Data Component가 있음. Functional Component : 타깃 시스템에 대한 특정한 기능을 제공하는 기능적 응집 단위임. ex. 차 대여 관리 시스템에서는... - User Profiler - Inventory Manager - Reservation Manager - Rental Manager - Payment Hander Data Component : 지속적인 데이터 모음을 관리하는 응집 단위임.(기능별이 아니라...!) ex. 차 대여 관리 시스템에서는... - User Profile - Reservation - Rental - Payment -> 이처럼 Data Compone..
Header 1. #으로 시작하는 문법으로 #의 개수가 많아질 수록 크기가 작아짐. 2. === 으로 H1을, --- 으로 H2를 만들 수 있음. # 1개짜리 헤더 ## 2개짜리 헤더 #### 4개짜리 헤더 -> 이런 식으로 #을 1~6개를 사용해서 크기를 조절할 수 있음. 수평선(Horizontal Rules) 1. *, -, _ 을 연속으로 3번 쓰면 수평선이 생성됨. ## 나는 동주 ## 나는 동주아냐 --- ### 나는 동주 ### 나는 동주아냐 ___ #### 나는 동주 #### 나는 동주아냐 *** 줄바꿈(Line Breaks) 1. 을 씀으로서 같은 줄에서 엔터 기능을 할 수 있음. 나는 마크다운을 너무 못해요. 알아 학생 나는 마크다운을 너무 못해요. 알아 학생 나는 마크다운을 너무 못해요..
출처 : https://acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 2. 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 3 1 4 2 4 4 3. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 ..
색인이란...? : 데이터에 접근을 할 때 속도를 높이기 위한 도구. ex.책 뒤의 pg에 대한 태그 - : index 레코드 -> 이게 모이면 index 화일. - 인덱스의 2종류: 1. Ordered index : search-key가 정렬되어 있는 index. 2. Hash index : search-key가 정렬되어 있지 않고 hash 함수를 통해 구분하는 index. 색인의 평가요소 5가지 1. 접근 타입 지원 : Exact match query(속성의 특정 값과 일치하는 터플을 검색하는 일치 질의 형태) VS. Range query(속성이 일정 범위에 속하는 터플을 검색하는 범위 질의 형태) 2. 접근 시간 3. 삽입 시간 4. 삭제 시간 5. 공간 오버헤드 Ordered Index(정렬 색인..
OS의 중요 기능 2가지 중 하나인 'HW 자원에 대한 배분' ∴ OS가 각 프로세스들에게 CPU를 어떻게 배분?? 이걸 알아야 함. (CPU) Scheduling이란? : 어떻게 프로세스들에게 CPU의 사용을 할당할 것인가. - Multiprogramming이란 기법이 발전하게 되면서 CPU Scheduling이 발전함. -> 멀티프로그래밍: Memory 내의 Ready State의 프로세스들 중 하나에 CPU를 할당하는 방법. - CPU 스케줄링 목표: CPU 사용률과 처리량의 최대화 프로세스 수행 사이클 - CPU-I/O Burst Cycle : 프로세스가 CPU Burst와 I/O Burst를 번갈아 가며 수행을 함. - CPU Burst: CPU로 연산을 수행하는 시간 - I/O Burst: I..
출처 : https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 1. 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 2. 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. -10,000 ≤ A, B ≤ 10,000 3. 출력 첫째 줄에 다음 세 가지 중 하나를 출력한다. A가 B보다 큰 경우에는 '>'를 출력한다. A가 B보다 작은 경우에는 '' : '