Dev Player

시작하기. 무료입니다
또는 회원 가입 e메일 주소
Dev Player 저자: Mind Map: Dev Player

1. Basic Knowledge

1.1. 영어

1.1.1. 읽기, 쓰기

1.1.2. 말하기

1.1.3. 듣기

1.2. 자료구조: List, Tree, Set, Map, ...

1.3. 알고리즘: 성능 측정(Big O), 검색 알고리즘 들

1.4. 운영체제

1.4.1. 메모리: 할당, 해제, 공유 메모리, 매모리 매핑, ...

1.4.2. Thread, Mutex, Semaphore

1.4.3. IPC: Socket, Shared memory, Binder, ...

1.5. 컴파일러/프로그래밍 언어론

1.6. 소프트웨어 엔지니어링

1.6.1. 패턴

1.6.2. Reusability

1.6.3. Othogonality

1.6.4. Cohesiveness

1.6.5. Coupling

1.6.6. OOP

1.6.7. Agile

1.7. 네트워크

1.7.1. OSI 7 Layer

1.7.2. UDP

1.7.2.1. Muticast

1.7.2.2. Unicast

1.7.3. TCP

1.8. 보안

1.8.1. 암호화 알고리즘

1.8.1.1. Symmetric

1.8.1.1.1. AES

1.8.1.2. Asymetric

1.8.1.2.1. RSA

1.8.2. HASH

1.8.2.1. MD5

1.8.2.2. CRC

2. Technologies

2.1. 프로그래밍 언어

2.1.1. C

2.1.2. C++11

2.1.3. Java

2.1.4. Bash script

2.1.5. Etc

2.1.5.1. Python

2.1.5.2. Go

2.1.5.3. Java script

2.2. MPEG

2.2.1. MPEG2

2.2.1.1. System

2.2.1.1.1. TSPacket

2.2.1.1.2. ES

2.2.1.1.3. PES

2.2.1.1.4. Section

2.2.1.2. PSI

2.2.1.2.1. PAT

2.2.1.2.2. PMT

2.2.1.2.3. CAT

2.2.1.2.4. NIT

2.2.2. DVB

2.2.2.1. SI

2.2.3. Codec

2.2.3.1. Audio

2.2.3.1.1. MPEG2

2.2.3.1.2. AAC

2.2.3.1.3. AC3

2.2.3.2. Video

2.2.3.2.1. MPEG2

2.2.3.2.2. H264

2.3. Network

2.3.1. BSD socket

2.3.2. UDP

2.3.3. TCP

2.3.4. HTTP, HTTPS

2.4. Data

2.4.1. XML

2.4.2. JSON

2.5. Contents protection

2.5.1. CAS

2.5.1.1. Simulcrypt

2.5.1.1.1. ECM/EMM

2.5.1.1.2. Control word

2.5.1.2. DCAS/iCAS

2.5.1.3. NagraVision

2.5.1.4. Irdeto

2.5.2. Digital Right Management

2.6. Delivery

2.6.1. Multicast

2.6.2. Unicast

2.6.2.1. RTSP, RTP

2.6.2.2. HLS

2.6.2.3. DASH

2.6.3. RF

2.6.3.1. Satellite

2.6.3.2. Cable

2.6.3.3. Terrestrial

3. DevTools

3.1. VCS

3.1.1. git

3.1.2. svn

3.1.3. cvs

3.2. IDE

3.2.1. vi

3.2.2. Eclipse

3.2.3. Android Studio

3.3. Compiler

3.3.1. gcc, g++

3.3.2. Clang

3.3.3. javac, javah

3.4. Build

3.4.1. make

3.4.2. cmake

3.4.3. ant

3.4.4. cmake

3.4.5. bazel

3.5. Documentation

3.5.1. MS Power point

3.5.2. MS word

3.5.3. Google Docs

3.6. Linux

3.6.1. bash, find, awk, ...

3.7. C++ libraries

3.7.1. STL

3.7.2. libtvs_utils

3.7.2.1. SerialRunner

3.7.2.2. Mutex

4. Target

4.1. Embedded Linux

4.2. Android

4.2.1. Boot process

4.2.2. Native service

4.2.3. Binder

4.2.3.1. AIDL

4.2.3.2. HIDL

4.2.3.3. ServiceManager

4.2.4. JNI

4.2.5. Android.mk, Android.bp

4.3. SoC

4.3.1. Broacom

4.3.2. Synaptics

4.3.3. Realtek

4.3.4. AMLogic

4.3.5. Hisilicon

4.3.6. MediaTech

5. Coding Rule

5.1. Architecture

5.1.1. TSSource

5.1.2. TVSPlayer

5.1.3. TVSMediaServer

5.1.4. HAL

5.1.5. MediaGateway

5.2. 작업 규칙

5.2.1. 라이센스 존중

5.2.1.1. 라이센스 확인 없이 외부 오픈 소스 사용 금지

5.2.2. 유지보수성을 최우선 고려 진행

5.2.2.1. 최적화 금지

5.2.3. Coding style

5.2.3.1. 기존 코드 스타일 존중

5.2.3.1.1. 기존 코드를 본인 스타일로 rewrite 하는 것 금지

5.2.4. Naming

5.2.4.1. 헝가리언 표기법 사용 금지

5.2.4.1.1. 이름 자체가 내용과 형식 모두 추정 가능하도록 정의: 예) itemCount -> item의 갯수, 정수

5.2.4.2. 축약 금지

5.2.5. 밤샘 작업 금지

5.2.5.1. 납품 전일은 예외

5.2.6. 한글 코멘트 금지

5.2.6.1. UTF8 인코딩 사용

5.2.7. 가능하면 100줄을 넘는 함수 금지

5.2.8. COPY & PASTE 절대 금지

5.2.8.1. 함수, 매크로, template 등 활용

5.2.9. 인터페이스 임의 수정 금지

5.2.9.1. Hal 함수 추가

5.2.9.2. 외부 함수 추가

5.2.9.2.1. TVSMMFClient

5.2.9.2.2. ITVSPlayer