Player 파트

Get Started. It's Free
or sign up with your email address
Rocket clouds
Player 파트 by Mind Map: Player 파트

1. 기본 배경 지식

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. 기술

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. 개발 도구

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. Marvell

4.3.3. Realtek

5. TVS MMF 코드

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