ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
2
마스터즈코스 레벨별 학습내용
3
4
5
레벨레벨설명웹프론트엔드 클래스웹백엔드(JAVA) 클래스모바일iOS 클래스공통
6
1프로그래밍을 처음 시작하는 단계. {인프런의 목차대로 써주세요}소프트웨어 개론(웹,모바일개발, OS 등)
Linux환경의 이해
프로그래밍 디버깅의 이해(공통으로 하는게 가능할 듯해서)
7
2한가지 이상의 프로그래밍 언어를 잘 다룬다. 1주차: 자바스크립트 프로그래밍
- 개발환경이해와 구성
- git & github PR 이해
- 브라우저 자바스크립트
- 자바스크립트 기본 문법(ES2015+)
- 함수, 재귀, 자료구조, Scope
- 자바스크립트 에러와 디버깅
- 다각형의 넓이 구하기
- 진수변환 프로그래밍 실습

2주차: 객체다루기와 클린코드
- 자바스크립트 객체와 배열 이해
- 자바스크립트 데이터처리
- 프로그래밍 설계
- 클린코드
- 자바스크립트 비동기
- 학점계산기 개발
- 최대공약수와 알고리즘 패턴

3주차: 자바스크립트 프로그래밍과 특징
- 언어적인 특징의 이해와 활용
- 타입과 함수활용
- 대화형 자판기 개발
- 로또 생성기 개발
- 프로그래밍 복잡도
- 부분집합과 알고리즘

4주차: 함수형 프로그래밍
- 함수형 프로그래밍의 이해
- 리팩토링 및 클린코드
- 문자열 조작과 정규표현식
- TODO List 개발

5주차 : 객체지향 자바스크립트
- Object literal Pattern
- Classes
- 객체지향적인 프로그래밍 설계
- scope,this,bind
- 자바스크립트 객체만들기
- TODO List 개발

6,7,8주차: ARRAY PARSER
- tokenizer
- 데이터 분석과 Stack
- 재귀적 호출
- 프로그래밍 모듈화 및 설계
- 테스트 라이브러리 개발 및 테스트코드 구현
- 오류처리
- 문서화
* 1 주차 - 자바 개발 환경 및 기본 문법 학습.
* 개발환경이해와 구성
* git & github PR 이해
* 구구단 구현을 통해 자바 기본 문법, 메소드, 클래스 개념 이해
* 문자열 계산기 구현을 통해 자바 기본 문법, 메소드, 클래스 개념 이해
* 2 주차 - 초간단 경주용 게임
* 클래스 변수와 인스턴스 변수
* 클래스 메소드와 인스턴스 메소드
* 자바 package와 import 문법 이해
* 단위 테스트
* 3 주차 - 사다리 게임
* 2차원 배열
* 자바 Collection, Generic
* 4 주차 - 좌표 계산기
* 상속, 추상 클래스
* 인터페이스
* 5, 6 주차 - 로또
* 자바 enum
* 자바 Exception
* 웹 UI 적용을 통해 HTML, CSS
* DB 적용을 통해 테이블과 SQL 쿼리
* 7, 8주차 - 볼링 게임 점수판
* 자바 다형성 경험을 통해 객체 지향 프로그래밍 기본 이해
* 웹 UI 적용과 DB 적용 반복 연습
1주차: 스위프트 프로그래밍과 기본 문법의 이해
* Xcode 개발환경 설정과 이해
* Playground에서 스위프트 함수 경험
* 구구단 구현을 통한 스위프트 기본 문법 이해
* 출력 함수, 변수, 반복문, 2중 반복문, 배열과 서브루틴 확장
* git 기본 명령과 소스트리/Xcode 저장소 설정

2주차: 타입과 함수로 클린 코드 연습하기
* 스위프트 문법 익숙해지기
* Command Line Tool 프로젝트 템플릿
* 단위 변환기 - 길이 변환 함수 단위로 확장하기
* 형변환
* 클린 코드 경험하기
* enum 타입과 확장하기
* 무게 단위 변환을 위한 함수 분리, 중복 코드 줄이기

3주차: 객체지향 프로그래밍과 단위 테스트
* struct 객체 설계하기
* 사다리게임 - 함수/객체 역할 분리
* 단위 테스트
* 설계하기 좋은 구조 경험하기

4주차: 객체지향 + 프로토콜지향 프로그래밍
* 객체 역할과 책임
* SOLID 객체 설계 5원칙
* 좌표계산기 - 객체 추상화
* SOLID 객체 설계 5원칙
* 프로토콜지향 인터페이스 설계
* 단위 테스트

5-6주차: 복합적인 데이터 설계
* JSON 분석기 - 데이터 설계
* 정규표현식
* 중첩된 배열과 사전
* 프로토콜과 익스텐션
* 재귀 호출
* Exception 예외처리

7-8주차: 객체지향 + 함수형 프로그래밍
* 객체 역할 분담하기
* 객체 단위로 비교하기
* 클로저 활용하기
* 점수 알고리즘 단위테스트 적용
* 유니코드
각 언어별 알고리즘 풀이.
git(commit, push, pull 수준)
자료구조(array, map 수준)
단위테스트와 TDD 기초편.
객체지향프로그래밍 기초편
8
3각 클래스별 기초 레벨
(웹프론트엔드, 웹백엔드,모바일iOS)
1주차 : 웹 & HTML & CSS 의 이해
- 웹프로그래밍 이해
- HTML 구조화 설계
- CSS 속성과 기본활용
- 레이아웃
- 웹 자판기 HTML,CSS 개발

2주차 : DOM
- DOM APIs 활용
- Event

3주차 : MV* 와 웹UI개발
- MV* 와 구조설계
- 웹자판기 인터랙션 개발
- 비동기이해

4주차 : UI 코드 개선
- loading 개선
- Event delegation
- prototype pattern
- JavaScript Unit test
- 코드 리팩토링

5주차 : 모듈방식 프로그래밍과 Ajax
- ES Modules과 서비스 설계
- Ajax를 통한 비동기 인터랙션
- Food 서비스 개발

6주차 : 애니메이션과 UI 인터랙션
- 웹애니메이션과 transition
- 무한 Sliding 인터랙션 개발

7주차 : form 데이터 개발 및 리팩토링
- form 데이터 처리
- 검색자동완성 기능 개발
- 클라이언트 캐시 전략

8주차 : nodeJS 기반 웹서버구현
- 웹 백엔드 이해 및 기본환경 구성
- nodeJS 기반 자동완성 API 서버 개발.
* 1, 2, 3주차 - 반복 주기를 통한 자바 웹 프로그래밍 이해
* Spring Boot, JPA 기반 개발
* 원격 서버에 리눅스 명령어와 쉘 스크립트를 활용해 배포
* MVC
* 세션, 쿠키 이해
* XHR, AJAX, JSON API 이해
* Logging 라이브러리
* 메이븐, 그래들 빌드 도구
* 4, 5주차 - Q&A 서비스를 ATDD 기반 개발
* ATDD 기반
* Restful API 구현
* 객체지향 개발
* 6, 7주차 - 이슈 관리 시스템 개발
* 5주차까지 경험함 내용을 기반으로 개발 연습
* 파일 업로드, 다운로드 기능 구현
* 8주차 - 체스 게임 구현
* TDD, 리팩토링 연습
* 객체지향 설계 및 구현 연습
## Level3

1주차: 디자인 가이드라인과 iOS 프로그래밍
* 모바일 HIG
* 사진액자 앱 - 탭 앱 템플릿
* IBOutlet과 IBAction
* Scene과 Segue
* ViewController 프로그래밍
* Container ViewController

2주차: Class중심 객체지향 프로그래밍
* 음료수 자판기 - 객체 모델링
* 구현 상속과 인터페이스 상속
* SwiftLint
* 객체지향 설계과 구현 패턴
* 타입과 메타타입
* 인터페이스 분리하기

3주차: 설계 패턴과 View 프로그래밍
* MVC 설계 패턴
* 앱 생명주기와 아카이브
* 싱글톤 패턴
* 관찰자 패턴
* 코드기반 뷰 생성하기
* Core Graphics

4주차: 고급 View 프로그래밍
* Frame과 Bounds 이해하기
* 카드게임 앱 - 계층구조를 가진 복잡한 MVC 역할 분리하기
* 뷰 애니메이션
* 제스처 인식과 터치 이벤트 핸들링
* 드래그 앤 드롭 구현하기

5주차: UITableView 기초
* UITableViewController와 Static Cell
* DataSource 객체 설계하기
* UITableViewCell 커스텀 셀
* Contacts 프레임워크 적용
* 섹션 정렬과 인덱스 구현

6주차: 웹 앱 만들기
* UIWebView과 WKWebView
* 페이지 로딩 이벤트 핸들링
* 모바일 웹 디버깅
* UserScript 인젝션
* WebKit 핸들러 통신하기
* SafariViewController

7-8주차: 네트워크 기반 앱 만들기
* 오토레이아웃
* 패키지 관리 - CocoaPod
* 네트워크 담당 모델 만들기
* 병렬처리 GCD와 OperationQueue
* 쇼핑앱 - 상품목록/상세화면 전환하기
* 연결성 확인 Reachability
HTTP
단위테스트와 TDD 고급편
객체중심프로그래밍과 함수중심프로그래밍 이해
(어느레벨에 넣을지 좀더 고민)
쉘 스크립트
9
4각 클래스별 고급 레벨
(웹프론트엔드, 웹백엔드,모바일iOS)
1주차 : CSS Advanced
- Flexbox & Grid layout
- CSS Preprocessor 기반 개발
- 예약서비스 개발

2주차 : Front-End 개발 환경
- webpack 기반 빌드 환경 구성
- boilerplate 구성
- Mobile web & Touch events
- Touch 기반 Slide UI 개발

3주차 : 비동기와 최적화
- 비동기프로그래밍(promise,async,generator)
- lazy loading
- Tab UI 개발

4주차 : 패턴과 리팩토링
- Observer 패턴기반 리팩토링
- 테스트 코드 개발
- 예약하기 기능 개발

5주차 : single page 와 React
- SPA 이해
- React 이해 및 환경구성
- State Management

6주차-7주차
- React 기반 프로젝트 개발
- SPAs 리팩토링

8주차 : Functional Programming
- Functiona Programming
- Reactive Programming
* 1, 2주차 - HTTP 웹 서버 구현 및 리팩토링
* HTTP 웹 서버 구현
* 앞에서 구현한 HTTP 웹 서버 리팩토링 실습
* HTTP 이해
* 3, 4주차 - 서블릿 학습, MVC, JDBC 리팩토링
* HTTP 웹 서버와 비교해 서블릿/JSP 기본 이해
* 지금까지 구현한 서블릿 코드의 문제점
* MVC 프레임워크 1단계 구현 실습
* JDBC 구현 및 JDBC 코드 문제점 파악
* MVC 프레임워크 2단계 구현 실습
* 5, 6주차 - MVC 3단계, DI 프레임워크 구현
* JSON API 개발 및 Ajax 구현 실습
* MVC 프레임워크 2단계 구현 실습
* 자바 reflection 학습
* MVC 프레임워크 3단계 구현 실습
* DI 프레임워크 구현을 통한 DI 개념 이해
* 7, 8주차 - Spring 프레임워크 이해
* Dependency Injection 이해 및 필요성
* Bean, Bean Container 이해
* Spring AOP, Interceptor, Transaction
* Spring Profile, 서버에 따른 배포 자동화
1주차: 개인 앱 포트폴리오
* 기획하기
* 일정관리
* 이슈관리
* 모바일 컴퓨팅 개론 - ARM, 성능측정, 메모리 구조
* 멀티미디어 개론 - 오디오, 이미지, 비디오

2주차: 멀티미디어 프레임워크
* UICollectionView와 Layout
* Photos 라이브러리 활용
* AVFoundation 이해
* AVAssetWriter 활용하기
* GCD 작업 단위 스케줄링하기
* Core Image 필터

3주차: Objective-C
* 런타임 API
* Block과 Closure
* 스위프트 상호 호환성
* Effective Objective-C

4주차: 지역화/국제화
* 유니버설 영화앱 프로젝트
* 지역화 L10n - 언어
* 국제화 I18n - 언어와 지역
* 파편화 - 디바이스/시뮬레이터/iOS 버전

5주차: TCP 네트워크 프로그래밍
* 간단 TCP Client 만들기
* StreamTask 와 커스텀 프로토콜
* TCP Stream 이미지 데이터 분할 처리
* 원격캠 뷰어 앱 만들기
* 화면 저장하기

6주차: 영구저장소
* 코어 데이터 이해와 문제해결
* 키체인 이해와 문제해결
* iCloud Key-Value / Document 이해와 문제해결
* Firebase 이해와 문제해결
* Realm 이해와 문제해결

7주차: 확장성
* Multipeer-Connectivity 이해와 문제해결
* Today Extension 이해와 문제해결
* Metal 이해와 문제해결
* CoreML 이해와 문제해결

8주차: 개인 앱 배포하기
* CI 도구 활용
* TestFlight 베타 배포
* 앱 스토어 리뷰등록하기
* 사용자 경험 측정하기

프로세스와 쓰레드
데이터베이스
I/O
10
5팀단위로 프로젝트git team workflow.
task(feature) management.
Collaboration with Backend developer

Building Web Service - STEP B
ES6 Class + Dispatcher + Webpack 
Usage Build Tools.
Team Project.
* 이슈 관리, 소스 코드 형상 관리, 회고 등 팀 협업 경험
* 지속적 통합 및 배포 경험
* 지속적 개선 경험
* Docker 컨테이너 활용
* 보안과 성능을 고려한 웹 애플리케이션 개발 심화
앱 설계와 아키텍처 개선
베타 배포와 사용성 지표 수집
버전/이슈 관리와 지속적 통합
팀활동 통합,회고,개선,이슈관리
팀을 위한 git 과 github
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100