일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- 소프트웨어분석및설계
- 운영체제
- 네이버 치지직
- iOS 개발 오류
- 앱 비교 프로젝트
- ObservedObject
- Swift 디자인패턴
- 애플 디벨로퍼 아카데미
- 데이터베이스 공부
- 네이버 부스트캠프
- 동시성 프로그래밍
- Swift 기능
- global soop
- 숭실대
- Swift 문법
- 제앱소
- 데이터베이스
- SWIFT
- 치지직
- 애플 디벨로퍼 아카데미 21주차 회고
- Apple Developer Academy @ POSTECH
- memoization
- useReducer
- react
- ObservableObject
- thread safe
- StateObject
- 애플 디벨로퍼 아카데미 후기
- swift문법
- Today
- Total
목록분류 전체보기 (285)
사과하는 제라스
단일 Bus 구조 Bus: CPU, RAM, I/O 장치 간 데이터가 전송되는 통로 ex) Data Bus, Address Bus 그렇다면... 단일 Bus 구조란...? - 하나의 시스템 버스에 여러가지 모듈이 연결되어 있는 형태. - CPU, Memory, I/O 속도가 비슷했던 초창기에 발생 but 속도 격차가 증가하면서 '병목 현상'이 발생하는 문제가 생기기 시작함. 병목 현상 : 같은 버스에 연결된 디바이스들 사이의 속도 차이로 발생하는 현상으로, 빠른 디바이스가 처리하는 양 만큼을 느린 디바이스가 처리하지 못하여 전체 시스템 속도가 느린 디바이스의 속도로 제한되는 현상. - 주로 CPU> Memory >> I/O로 속도의 격차가 커짐. 속도: CPU > 메모리 > Disk > Network >..
OS가 하는 일 - Process 관리 - 여러가지 프로그램들을 실행하기 위해서 프로세스를 만들고 그 안에 유저가 원하는 응용 프로그램을 실행 - Memory 관리 - 각 프로세스가 사용하는 메모리 관리 - File 관리 - 각 프로세스가 사용하는 파일 관리 - I/O System 관리 - 각 프로세스가 사용하는 I/O 시스템 관리 - Networking - 네트워크를 사용하는 프로그램이 많아지면서 이를 관리해야 하는 부분도 커짐. - Security - 더 안전한 실행환경을 위한 연구 증가. 컴파일러(Compiler) : 사람이 이해 가능한 PL로 작성된 Source Code -> CPU가 이해할 수 있는 기계어인 Object 파일로 변환 (정확히는 Source Code를 Compiler를 통해 ass..
System Structure 운영체제는 규모가 매우 크고 복잡한 SW이다. ∴ 설계 시 'SW 구조'를 신중히 고려 필요. 좋은 설계 시... 1. 개발 시 편리함.(Develop) 2. 수정 및 디버깅 easy.(Modify&Debug) 3. 유지 보수가 쉬움.(Maintain) 4. 확장성이 좋아짐.(Extend) OS의 Design Priciple(디자인 원칙) 1. Policy : OS가 무엇이 되게 할 것인가. 2. Mechanism: 어떻게 그것을 제공할 것인가. -> 이렇게 Policy와 Mechanism을 분리함으로서 OS 설계를 보다 모듈화할 수 있음. OS 설계를 위한 방법 1. Layering : OS 설계의 복잡도를 낮추기 위한 방안 - 각 Layer는 Well-defined 함수..
1.1 트랜잭션 개념 트랜잭션(Transaction): 하나의 논리적 작업을 수행하는 DB 연산의 순서로, 여러개의 작업을 하나로 묶은 실행 유닛. 트랜잭션 관리 1) HW, SW, Transaction 등 다양한 시스템의 장애를 극복하는 회복 기능(Recoverability) 2) 다수개의 트랜잭션을 동시에 수행 시 발생하는 문제점을 해결하는 동시성 제어 기능(Concurrent Execution) -> 이 두가지 이슈의 관점에서 접근한다. 트랜잭션의 ACID 성질 Atomicity(원자성) : all-or-nothing으로, 트랜잭션을 구성하는 연산은 모두 수행되거나 어느 연산도 수행되지 않아야 한다.(연산의 일부만 수행되는 것은 불가능) 예시) 계좌이체를 할 때 1. A 계좌에서 10만원을 출금을 ..
1. 컴퓨터의 기원 - Compute + -er => 2차 세계대전(암호 해석, 미사일 탄도 분석, 물리 계산 등) 1) 1950년대 초반 매우 원시적임, 1bit 단위로 입력되어 실행 2) 1950년대 중반 모든 프로그램이 기계어로 쓰여짐, 아직 PL, OS도 존재하지 않음, 영구적인 저장장치 없음(매번 프로그램 재입력) 3) 1960년대 초반 펀치카드 등장, 프로그래밍한 카드로 컴퓨터 구동 2. 일괄처리(Batch) - 일단 시작한 job이 끝나야 다음 job이 수행됨. - 결과를 받기까지 중간에 유저 인터랙션 불가능함(= 중간에 개입이 안됨.) - 사람이 Job을 스케쥴링함.(∵OS가 없기 때문에) - CPU가 빈번히 IDLE 상태(프로세스가 실행되고 있지 않은 상태)로 전환됨 3. Automati..
데이터베이스(DataBase)란? 데이터의 모음(collection)! 서로 연관됨. 매우 양이 방대해서 메인 메모리에 모두 적재 불가능할 정도 수준. 컴퓨터에 모두 저장되어 있긴 해야 함. 자료구조: 메모리 상의 데이터를 적재해서 데이터들을 어떤 자료구조를 통해 처리하는 것. 반면...! 데이터베이스: 메모리 상에 데이터가 모두 올라가지 못하는 경우에 어떻게 처리할 것인가를 논함. DB는 CS에서 매우 중요한 분야임. 시스템 소프트웨어에서 중요한 두가지가 1. 운영체제(OS) 2. 데이터베이스(DB)! CS 분야들 중 유독 산업계와 연관이 많은 분야임. DB란 데이터를 다루는 걸 허용하게 하는 여러 기술을 개발하는 것과 관련된 기술. 데이터를 생성, 업데이트, 질의, 관리하는 것을 가능케 하는 기술! ..
1. 운영체제란 무엇인가? 2가지! 1) HW를 손쉽게, 효율적으로 사용할 수 있는 Abstraction(추상화)를 제공함. - 만든 프로그램은 CPU 위에서 실행이 됨. - OS는 프로그램을 실행하기 위해 '프로세스'라는 Abstraction을 제공함. - OS는 각 '프로세스'에 '가상 메모리'를 제공해주어 CPU 위에서 기계어로 실행되도록 도움. - 각 프로세스에 가상 메모리 공간을 제공하여 Physical Memory를 쉽게 접근 및 사용 가능. - 프로그램을 파일 형태로, 물리적인 형태로 저장 시 하드디스크에 파일 시스템을 통해서 File형태로 저장 가능. - 네트워크를 사용하는 프로그램의 경우, 데이터를 패킷에 넣어서 전달하는데 이때 '포트'를 사용하여 네트워크를 통해 전달 가능. 2) 자원의..
[error/warning]: You will need pass in an i18next instance by using initReactI18next i18n으로 다국어 파일을 적용하려고 했다. 하지만 위 에러만 나오고 적용이 되지 않았다. 왜일까?왜일까?왜일까?왜일까?왜일까?왜일까?왜일까? 단순히 App.tsx 파일 가장 상단에 import './i18n'; 을 명시해주지 않았기 때문이다.