일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ObservedObject
- Swift 기능
- ObservableObject
- 애플 디벨로퍼 아카데미
- 소프트웨어분석및설계
- iOS 개발 오류
- 숭실대
- 애플 아카데미 후기
- global soop
- Swift 디자인패턴
- 데이터베이스
- SWIFT
- 앱 비교 프로젝트
- swift문법
- react
- 운영체제
- apple developer academy 후기
- 네이버 부스트캠프
- 애플 디벨로퍼 아카데미 후기
- 데이터베이스 공부
- 제앱소
- 네이버 치지직
- StateObject
- useReducer
- Swift 문법
- sqoop
- 치지직
- Apple Developer Academy @ POSTECH
- 애플 디벨로퍼 아카데미 21주차 회고
- Today
- Total
목록분류 전체보기 (290)
사과하는 제라스
- 네트워크 보안 관련 배경 지식 => OSI 7계층 OSI 7계층 모델은 단순 레퍼런스 모델일 뿐! 실제 사용은 TCP/IP 프로토콜을 사용한다. data(message)에 TCP헤더(붙으면 segment), IP헤더(붙으면 packet), 이더넷 헤더와 이더넷 트레일러(붙으면 frame)들이 차례로 붙음. => 여기서 TLS(Transport Layer Security)라는 것이 패킷의 TCP Data에 대한 1. 인증 2. 암호화를 해준다. TCP/IP 모델과 OSI 모델 차이 1) TCP/IP: 클라이언트 서버 모델 OSI:개념적인 모델 2) TCP/IP: Standard protocol OSI: reference model(구조에 대한 이해를 위한 모델일 뿐!) 3) TCP/IP: 4계층 OSI..
- Concurrency는 병행 처리로 프로그래밍에서는 보통 Synchronization(동기화)에서 쓰임. - 병행처리는 작업을 빠르게 하기 위해서 쓰임. - 방법 : 1. Parallel Execution(병렬 처리) 2. Pipeline(생산자/소비자) 3. Client / Server - 단위: 1. Process 단위 : program level 2. Thread 단위 (=Process 안에 존재하는 독립된 실행단위) : "unit" level 13.1 Concurrency는 4가지 Level에서 이뤄짐. 1. instruction level - 여러 machine 2. statement level - 여러 high-level 언어 3. program level - 여러 program 4. un..
- 네트워크 관련 보안 protocol, 보안이 적용된 네트워크 프로그래밍을 배울 것임. 1. 정보보호 기초 - 암호기법(cryptography) : 과거 => 메시지의 기밀성(confidentiality)를 제공하기 위해 사용한 기술. / 현재 => 메시지를 공격자로부터 보호하기 위하여 메시지를 변화하는 기술. Key(uniformly distributed random string)를 사용함. => 랜덤한 바이너리 값으로 매우 중요한 것임. 1) 암호화, 복호화 key = Symmetric key(대칭 키) 2) 공개된 key = Asymmetric key, Public key - 암호학 관련 대표 용어 1) Plaintext(평문) : 암호화되기 전의 메시지 2) Encryption algorithm..
1. Embedded(내장) SQL - DBS를 접근하는 방식은 주로 프로그램 내에서 접근하는 형식이 널리 쓰임. 즉, DB Application에서 DBMS에 접근함. 1) Static approach : SQL 언어가 내장됨, 즉, SQL 언어를 직접 프로그램에서 씀. ex) ESQL/C, ESQL/C++, SQLI 등 2) Dynamic approach : SQL API를 써서 씀 ex) SQL CLI, ODBC, JDBC 등 - 호스트 언어 : 내장 SQL 프로그램을 정의하고 있는 프로그래밍 언어 ex) C, C++, Java,... -> 호스트 언어는 전처리 과정(pre-processing)을 통해서 내장 SQL 프로그램을 호스트언어에 삽입됨. -> ex) C언어 내에 SQL 프로그램이 담긴 X..
- HTTP 프로토콜이란? : 웹서핑을 할 때 많이 볼 수 있음. TCP 기반으로 구동되는 text-based client-server 프로토콜임. -> ∴ HTTP 서버가 구동될 때 일반적으로 80 port를 사용함.(그러다보니 웹서버로 접근 시 80 port로 접근 많이 함.) - HTTP는 보안이 결여되어 있음 : HTTP 트래픽을 분석해보면 암호화되지 않은 상황에서 data가 오감. ∴ 스니퍼 같은 도청 공격자에게 정보가 쉽게 노출됨. -> 기본적인 정보 보호 기술과 Transport Layer Security(TLS)를 배울 것임. + HTTP가 TLS 위에 구현된 HTTPS도 구현할 것임. - HTTP 프로토콜의 구성 1) HTTP Request 1. GET : client가 어떤 resour..
- DNS란? 컴퓨터나 시스템에 이름을 할당하는데에 쓰임. IP 주소를 외우지 않아도 hostname으로 IP주소를 받아올 수 있는 서비스. 즉, hostname과 IP주소를 link시켜주는 역할을 함. - 이전에 배운 getaddrinfo() 함수의 구동 과정 1) OS에서 과거 이 도메인 주소에 대한 IP주소를 local cache에 저장되어 있는지 확인함. 2) 없을 경우, OS가 DNS서버에 IP주소를 물어보고 응답받는 IP주소로 접근할 수 있음. - 도메인 이름은 계층적(Hierarchical)으로 관리가 됨. 각 노드들을 domain 혹은 subdomain이라고 함. - DNS zone이란? 관련있는 domain과 subdomain들을 묶어둔 것. 성격에 따라서 domain name들을 관리할..
- 에러 처리는 모든 프로그래밍에서 중요!(∵에러가 무엇인지 알아야 디버깅 Easy) - 리눅스는 발생한 에러를 저장하는 전역변수 errno를 제공함.(쓰려면 error.h를 include해야 함.) 즉, 에러가 발생하면 errno에 해당 에러에 대한 값(숫자)을 저장함. - 에러가 생기면 socket은 -1을 리턴하면서 종료함. 이때 errno가 어떤 값인지 if문을 통해 확인하는 코드를 짤 수 있음. - IPv6 헤더는 IPv4 헤더에 비해 깔끔함. 1) Version : IPv6에 대한 버젼 2) Traffic Class : 패킷 QoS(Quality of Service) 관련 값 ->어떤 서비스를 함에 있어서 서비스 퀄리티 보장 위해 => 패킷 우선순위(라우터에서 어떤 걸 먼저 처리해줄 지)필요한..
12.1. Introduction - COBOL, LISP 등의 언어들이 처음 나왔을 시기엔 OOP 개념과 거리가 있었으나, 최근의 언어들이 거의 대부분 OOP 개념을 탑재하였음. 12.2. O.O.P - 객체 지향 개념이 처음 제안된건 SIMULA67, but 실질적으로 발전되기 시작한건 Smalltalk80이다. - 객체 지향 언어의 최소한의 제공 기능 조건 1. ADT(Abstract Data Type)(=class) -> 11장에서 배운 내용 그대로임. 2. Inheritance -> 목적은 Customizing(modification(1. override, 2. add new member)을 통해 reuse된다.) 3. Dynamic Binding(=Run-time Binding)(polymor..