개발자 분야의 종류
1. 프론트엔드(=클라이언트) : 눈에 보이는 화면 - 웹, 모바일, pc, 게임 등 화면
2. 백엔드(=서버) : 안보이는 정보처리 - 서버
3. 데이터 : 데이터 처리 - 빅데이터, 머신러닝, 인공지능
4. 임베디드 : 하드웨어, 전자기기에 필요한 프로그램, 운영체제, 펌웨어, 드라이버 등을 개발함
5. 정보보안: 1~4 전 분야에 걸쳐 보안을 제공하는 솔루션 개발
프론트엔드의 세부분야
1-1. 웹
1-2. 앱(안드로이드, iOS)
1-3. PC(윈도우, Mac)
1-4. 게임
분야별 공부해야할 것
1-1. 웹
1. html 뼈대
2. css 꾸밈
3. js 동적 처리
-> 화면을 구성하는 3 대표
4. 리액트
5. 앵귤러
6. 뷰
-> 서버에 무리가지 않게 프론트엔드에서 처리할 수 있도록 하는 프레임워크, 라이브러리
1. 프론트엔드
1-2. 앱(안드로이드, iOS)
앱의 종류에 따라 공부할 것
1-2-1. 네이티브 앱 : 운영체제에 맞춰 개발하여 성능, 기능 뛰어나지만, 지식이 많이 필요하여 개발하는데 오래 걸림
- 안드로이드 앱
1. java(언어)
2. 코틀린(언어)
3. android studio(툴)을 통해 제작
- iOS 앱
1. swift(언어)
2. objective-c(언어)
3. xcode(툴)을 통해 제작
1-2-2. 크로스 플랫폼 : 안드로이드, iOS 앱을 동시에 개발할 수 있어 빨리 만들 수 있으나, 성능 및 기능이 제한적임
1. java script(언어)를 이용한
2. react native
3. dart(언어)를 이용한
4. flutter
1-2-3. 하이브리드앱 : 웹이랑 똑같이 만드는데 모바일 화면처럼
- 웹과 같음
1-3. PC(윈도우, Mac)
1-4. 게임
엔진의 종류에 따라 공부할 것
- unity 엔진 > 모바일, 캐주얼 게임
- C#(언어)
- unreal 엔진 > 3d 그래픽 게임
- C++(언어)
2. 서버
요즘 서버리스로 클라우드 서비스(aws, azure 등) 이용하기도
3. 데이터
3-1. 데이터 엔지니어 : 빅데이터(로그 기록 등)를 분석을 하기 위해 데이터를 깔끔하게 가공하는 일(csv로 저장) 수행
- 파이썬(언어), 스칼라, 스파크, 하둡(라이브러리)
3-2. 데이터 사이언티스트 : 빅데이터를 분석해서 통계 기반으로 의미 있는 값/데이터/인사이트를 추출해내는 일 수행
- 파이썬, R
3-3. AI 연구원 : ai에 학습시킬 모델을 만들어내는 일 수행(수학적)
3-4. AI 엔지니어 : 학습모델을 비즈니스에 적용하는 일 수행
- 파이썬(언어)
4. 임베디드
5. 정보보안
5-1. 방어자
- 보안관제 : 침입 계속 감시
- 보안 솔루션 개발 : 백신, 키보드 보안
- 포렌식
- 바이러스 분석
5-2. 공격자
- 화이트해커(모의해킹) : 서비스 출시 전에 가상으로 해킹을 해봐서 취약점을 발견해냄
- 침해대응(CERT) : 공격을 어디서 받았는 지 분석
- 취약점 진단
- 사이버 수사
나에게 맞는 개발 분야 찾는 방법
만들고 싶은 것 일단 만들어보기