https://www.youtube.com/watch?v=od30ifCdaBc
-
์ฝ๋ก๋๋ก ๊ธ๊ฒฉํ๊ฒ ์์นํ๋ ๋น๋๋ฉด ์์ ์์๊ฐ ์ฝ๋ก๋ ์ข ์๊ณผ ํจ๊ป ์ฌ๊ทธ๋ฌ ๋ค๊ณ ๋ ์์ง๋ง ์ฌ์ ํ ๋น๋๋ฉด ์์ ์ ๋ํ ์์๋ ๊ทธ์น์ง ์๊ณ ์์ต๋๋ค. ํ์กดํ๋ ํ์ ์๋น์ค์๋ ์๋ ํธ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์์ฝ๋ผ๋ ์ข ๋ ์ฝ๋ฉ ์์ ์ ์ต์ ํ๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
๐ Backend
- Spring Boot
- MySql
- Redis
- JWT
- Spring Security
- NodeJS
-
๐ Frontend
- Visual Studio Code
- React.js 18.2.0
- react-bootstrap 2.8.0
- Material-UI
- redux-toolkit 1.9.5
- redux 8.1.1
-
๐ Web RTC
- openvidu 2.28.0
-
๐ Pose Detection
- fingerpose
- tensorflow
-
๐ OCR / SCREEN CAPTURE
- tesseract.js
- html2canvas
-
๐ CI/CD
- aws ec2
- aws eks (k8s)
- aws cloudWatch
- docker
- jenkins
- grafana
- cAdivsor
- prometheus
-
์๊ฒฉ ์ ์ (Robot.js)
- Robot.js๋ฅผ ์ด์ฉํด ์ฌ์ฉ์ PC์ ํค๋ณด๋์ ๋ง์ฐ์ค๋ฅผ ์๊ฒฉ ์กฐ์ข ํ๋ ์๋น์ค๋ฅผ ๊ตฌํํ์์ต๋๋ค.
-
WebRTC (Openvidu)
- ํ๋ฉด์์ ๋ณด์ด๋ ๊ธ์๋ฅผ ์บก์ณํ๊ณ ์ด๋ฅผ OCR๋ก ์ธ์ํด text ํ์ผ๋ก ์ถ์ถํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ํ๋ฉด์์ ์์ ๋ค๋ฉด tesorflow๋ฅผ ์ด์ฉํ์ฌ ๋์์ ์ธ์ํ๋ ์๋ค๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ์์ต๋๋ค.
- ๊ฐ์๋ฅผ ์์ฑํ๋ฉฐ ์๊ธด ๋งํฌ๋ฅผ ๊ณต์ ํ์ฌ ์ด์ฉ์๊ฐ ๊ฐ์์ ์ฐธ์ฌํ ์ ์๊ฒ ๊ตฌํํ์์ต๋๋ค.
-
redux-toolkit
ํ๋ก ํธ์๋ ๊ตฌํ์์๋ React์ redux-toolkit์ ์ด์ฉํ์ฌ Ducks Pattern ๊ธฐ๋ฐ ์ํ ๊ด๋ฆฌ๋ฅผ ํ์์ต๋๋ค.
-
Docker
- ๋์ปค ๋คํธ์ํฌ๋ก ํ ์คํธ ๋ถ๋ฅ์ ๋ฐ๋ฅธ NAT๋ฅผ ๊ตฌ์ฑํ์ฌ ์ด์ํ์์ต๋๋ค.
- Docker Volume์ ์ด์ฉํ์ฌ DB ๋ฐ์ดํฐ ๋ณด์กด, ๋์ปค compose๋ฅผ ์ฌ์ฉํ์ฌ grafana์ ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ์คํ, cAdvisor์ ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ถํํ ์คํธ ์งํํ์์ต๋๋ค.
-
์ฟ ๋ฒ๋คํฐ์ค (eks)
- horizontal autoscale, verticle autoscale, cluster autoscale ์ ์ฉํ์์ต๋๋ค.
- cloudwatch๋ฅผ ์ฌ์ฉํ์ฌ ๋ถํํ ์คํธ ์งํํ์๊ณ , DB ๊ตฌ์ฑ์ EBS ์ฌ์ฉํ์ต๋๋ค.
-
DB ์ด์คํ
xtrabackup๊ณผ statefullset, NodePort, clusterIP, ์ฌ์ฉํ์ฌ MySql ์ด์คํ
- Git
- Jira
- Notion
- Mattermost
- Webex
### ํจ์, ๋ณ์๋ช
- ํจ์
- ์ฒซ๋ฒ์งธ๋ ๋์ฌ๋ก
- numOfSockets ํ์ง ๋ง๊ณ numberOfSockets
- ๋ณ์ โ ๋ช
์ฌ
- INT A, B, C ํ์ง ๋ง๊ธฐ
- ์นด๋ฉ ์ผ์ด์ค
### SQL
- * ์ฐ์ง ๋ง๊ณ ๋ค ์จ์ฃผ๊ธฐ
- from member๋ฉด ์ฒซ๋จธ๋ฆฌ ๋ฐ๊ธฐ m์ผ๋ก
### ํจ์์ ํ๋ผ๋ฏธํฐ thows
- ์ธํ
๋ฆฌ์ ์ด ์ปจ๋ฒค์
์ค์ ์ฐพ์๋ณด์!
- ํ๋ผ๋ฏธํฐ์ 1๊ฐ๋น ์ค๋ฐ๊ฟ ์์ธ ์ฒ๋ฆฌํ ๊ฑฐ๋ฉด ๋ง์ง๋ง ํ๋ผ๋ฏธํฐ์ ์ด์ด์ ์ฐ๊ธฐ
[์ธํ
๋ฆฌ์ ์ด ์๋ฐ ํ๋ก์ ํธ ์ฝ๋ฉ ์ปจ๋ฒค์
์ ์ฉํ๊ธฐ (velog.io)](https://velog.io/@nefertiri/%EC%9D%B8%ED%85%94%EB%A6%AC%EC%A0%9C%EC%9D%B4-%EC%9E%90%EB%B0%94-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0)
### if {}, for {}
- ํ์ค์ด์ด๋ if() {
- } ์ด๋ ๊ฒ ์ฐ๊ธฐ
### Lombok
- @Data ์ฐ์ง ๋ง๊ธฐ
### return Arguments
- return new A() ์ฐ์ง๋ง๊ณ
- A a = new A()
- return a ์ฐ๊ธฐ
### ํจํค์ง๋ช
์ปจ๋ฒค์
- domain
- controller
- service
- mapper (๋ง์ด๋ฐํฐ์ค), repository(JPA)
- config โ ์ค์ ํ์ผ
- dto
- [๊ธฐ๋ฅ] - ๊ธฐ๋ฅ ์์
- [๋ฒ๊ทธ] - ๋ฒ๊ทธ ๋ฐ์ ์ ์ฌ์ฉ
- [๋ฌธ์] - README.md ์์
- [์ด๋] - ๋ฌธ์ ์ด๋ ์ ์ฌ์ฉ
- `[์ด๋] ArticleService โ BoardService`
- [์ด๋ฆ] - ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ์ ์ฌ์ฉ
- `[์ด๋] [Hello.java](http://Hello.java) โ Hi.java`
- [์ถ๊ฐ] - lib ์ถ๊ฐ ์ ์ฌ์ฉ
- [์ถ๊ฐ] myBatis ์ถ๊ฐ
- [์คํ์ผ] - ์ฝ๋ ์คํ์ผ ์์ ์ ์ฌ์ฉ
- [๋ฆฌํฉํ ๋ง] - ํจ์ ๋ถ๋ฆฌ ๋ฑ๋ฑ๋ฑ, ์ฝ๋ ๋ฆฌ๋ทฐ ํ ๋ฑ๋ฑ๋ฑ
- [ํ
์คํธ] - ํ
์คํธ ์ผ์ด์ค ์์ฑ
-
Git Flow model์ ์ฌ์ฉํ๊ณ , Git ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ฌ์ฉํ๋ค.
-
Git Flow ์ฌ์ฉ ๋ธ๋์น
-
Git Flow ์งํ ๋ฐฉ์
ํ์ ๋ฐ ์ผ์ , ์ ๋ฌด ๊ด๋ฆฌ๋ฅผ ์ํด Jira๋ฅผ ์ด์ฉํ์์ต๋๋ค. ๋งค์ฃผ ์์์ผ ์ค์ ํ์์์ ํ ์ฃผ๋์ ์งํ๋์ด์ผ ํ ์ฃผ ๋จ์ ๊ณํ์ ์ง๊ณ , ์งํํ ์ด์๋ค์ ์คํ๋ฆฐํธ๋ฅผ ๋ง๋ค์ด ๋ฑ๋กํ์ต๋๋ค. ์คํ๋ฆฐํธ๋ ์ผ์ฃผ์ผ ๋จ์๋ก ์งํํ์์ต๋๋ค.
๋ชจ๋๊ฐ ๋ด์ผํ ๊ณต์ง, ํจ๊ป ๊ณต๋ถํด์ผ ํ ๋งํฌ ๋ฑ์ ๋ชจ์ ๊ด๋ฆฌํ์ต๋๋ค. ํ์ ๊ธฐ๋ก ๋ฐ ์๊ฒฌ๋ค์ ํญ์ ์ถ๊ฐํ๊ณ ๋ณต๊ธฐ ํ ์ ์๊ฒ ํ์๊ณ , ๊ณตํต์ผ๋ก ๋ณด์์ผํ๋ ์ปจ๋ฒค์ ๋ฐ ์ค์ผ์ฅด ํ ์ผ ๋ฑ์ ๋ ์ง๋ณ๋ก ๋ณผ ์ ์๋๋ก ์ ๋ฆฌํ์์ต๋๋ค.
๋งค์ผ ์์นจ 9์์ ์ค๋ ํด์ผ ํ ์ผ, ์ง๋, ๋์์ด ํ์ํ ์ ์ ๊ผผ๊ผผํ ๊ณต์ ํ์ฌ ํ์ ๊ฐ์ ์ํต์ ์๋ฌ๊ฐ ์๋๋ก ํ์์ต๋๋ค.
-
ํ์ฅ ๊น๋ฏผ์ [BE]
- jwt๋ฅผ ์ด์ฉํ ํ์๊ด๋ฆฌ ๊ตฌํ
- Redis๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ ์ฅ ๊ตฌํ
-
์งํฌ์ [BE]
- ์ด์๊ณผ ๋ฐฐํฌ
- jwt ๊ตฌํ
- robot.js๋ฅผ ์ด์ฉํ ์๊ฒฉ ์ ์ ๊ตฌํ
- openvidu ์๋ฒ ๊ตฌ์ถ
-
๊น์ ์ [BE]
- ํ์๊ด๋ฆฌ, ํ์๋ฐฉ ์์ฑ ๋ฐฑ ๋ก์ง ๊ตฌํ
- websocket๊ณผ stomp๋ฅผ ์ด์ฉํ ์ฑํ ๊ตฌํ
- chatGPT๋ฅผ ์ด์ฉํ ์ฝ๋ ํด์ ์๋น์ค ๊ตฌํ
- DB ์์ฑ ๋ฐ ๊ตฌ์กฐ ๊ตฌ์ถ
-
์ ์ฌ์ฑ [FE]
- ํ์๊ด๋ฆฌ ํ๋ก ํธ ๊ตฌํ
- ๋ฉ์ธ ํ์ด์ง ๋ฐ ์ ๋ฐ์ ์ธ ์คํ์ผ CSS ๋ฐ ํผ๊ทธ๋ง
- ํ๋ฉด ์บก์ณ ๋ฐ OCR ๊ธฐ๋ฅ ๊ตฌํ
- ํ ํ๋ฉด ์ปดํฌ๋ํธ ๋ผ์ฐํ ๋ฐ ๊ตฌ์กฐ ๊ตฌ์ฑ
- styled-component์ material-ui๋ฅผ ํตํ css ์คํ์ผ๋ง
-
๋ฐ๋จ๋น [FE]
- ์ฑํ ๊ตฌํ(socketJS, stomp)
- ์ ๋ ฅ์ฐฝ ์๋ ์์ฑ, ์์ฝ ์์ฑ/์์ /์ญ์ /์กฐํ
- ์ฐธ๊ฐ์ ๋ชฉ๋ก ์กฐํ ๋ฐ ์ ๋ ์ฌ๋ ๊ตฌ๋ถ
- UCC ์ถ์ฐ
- ์์ฐ ๋ฐํ
-
๋ฐ๋ฏผ์ [FE]
- webrtc ์ ๋ฐ ( mediastream, openvidu, tensorflow )
- ์ฝ๋ ๊ธฐ๋ก ๊ธฐ๋ฅ ๊ตฌํ ( css, redux-toolkit )