์ฃผ์๊ณผ ๊ด๋ จ๋ ๋ด์ค ๊ธฐ์ฌ์ ํค์๋๋ฅผ ๋ถ์ํ์ฌ ์ฃผ๊ฐ ์ถ์ด๋ฅผ ๋ถ์ํ ์ ์๋ ์น ์๋น์ค
- ์นด์นด์ค ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์ ๊ณต
-
์ ์ฅ์ ์ข ๋ชฉ-๋ฉ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ
-
๋๋คํ๊ฒ ์ ์ ๋ ์ข ๋ชฉ์ ํค์๋ ์ ๋ณด ์ ๊ณต
-
์ข ๋ชฉ๋ช ์ ๊ฒ์ํ์ฌ ์์ธ ํ์ด์ง ์กฐํ ๊ฐ๋ฅ
-
์ข ๋ชฉ์ ๊ฐ๋ตํ ๊ฐ์ ๋ฐ ์ฃผ๊ฐ ์ถ์ด ์ฐจํธ ์ ๊ณต
-
์ฃผ๊ฐ ์ฐจํธ์์ ์ค์ ํ ๊ธฐ๊ฐ ๋ด์ ํด๋น ์ข ๋ชฉ, ์์ ์ฐ์ , ๊ฒฝ์ ์ผ๋ฐ์ ๊ด๋ จ ๋ด์ค ๊ธฐ์ฌ๋ก๋ถํฐ ๋ถ์ํ ๋ฑ์ฅ ๋น๋๊ฐ ๋์ ํค์๋ ์ ๋ณด ์ ๊ณต
-
ํค์๋ ์ฐจํธ์์ ํน์ ํค์๋ ํด๋ฆญ์ ํค์๋์ ๋ฑ์ฅ ๋น๋ ๊ทธ๋ํ์ ์ฃผ๊ฐ ๊ทธ๋ํ์ ์๊ด๊ณ์, ๊ด๋ จ ๋ด์ค ๊ธฐ์ฌ ๋ชฉ๋ก์ ์กฐํํ ์ ์๋ ํค์๋ ํจ๋ ์ ๊ณต
-
์ฐ์ ๋ถ๋ฅ ์นด๋๋ฅผ ์ ํํ์ฌ ํด๋น ์ฐ์ ์ ์์ธ ํ์ด์ง ์กฐํ
-
์ฐ์ ๋ณ ๊ท๋ชจ(์์ ์ข ๋ชฉ์ ์๊ฐ์ด์ก ํฉ) ์ฐจํธ์ ํด๋น ์ฐ์ ๋ด ์ข ๋ชฉ ์๊ฐ์ด์ก ์์ ํ ์กฐํ
-
์ฐ์ ์ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ๊ท๋ชจ ์ฐจํธ ์ ๊ณต
-
์ฐ์ ๋ด ์๊ฐ์ด์ก ์์ 5๊ฐ ์ข ๋ชฉ์ ๋ํ ๋ฒ๋ธ ์ฐจํธ์ ์ ์ฒด ์ข ๋ชฉ ๋ฆฌ์คํธ ์กฐํ
-
๊ท๋ชจ ์ฐจํธ์์ ์ค์ ํ ๊ธฐ๊ฐ ๋ด์ ๋ด์ค ๊ธฐ์ฌ๋ก๋ถํฐ ๋ถ์ํ ๋ฑ์ฅ ๋น๋๊ฐ ๋์ ํค์๋ ์ ๋ณด ์ ๊ณต ๋ฐ ์ข ๋ชฉ ํ์ด์ง์์์ ์ ์ฌํ ํค์๋ ํจ๋ ์ ๊ณต
- DB๋ด ์กด์ฌํ๋ ํค์๋ ๊ฒ์ ๊ฐ๋ฅ
- ์ข ๋ชฉ์ด๋ ์ฐ์ ์ ์ข ์๋์ง ์์ ํค์๋ ์์ฒด์ ๋ฑ์ฅ ๋น๋ ๊ทธ๋ํ์ ๋ด์ค ๊ธฐ์ฌ ๋ชฉ๋ก์ ํ์ธ ๊ฐ๋ฅ
- ๋ถ๋งํฌํ ์ข ๋ชฉ, ์ฐ์ , ํค์๋ ๋ชฉ๋ก์ ํ ๋ฒ์ ์กฐํ
-
์ข ๋ชฉ, ์ฐ์ , ๋๋ ๊ฒฝ์ ์ผ๋ฐ์ ๋ด์ค ๊ธฐ์ฌ๋ฅผ ๋ถ์ํ์ฌ ์ถ์ถ๋ ํค์๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ ์ฃผ๊ฐ/์ฐ์ ๊ท๋ชจ ์ฐจํธ ๋ถ์ ๋ฐ ์ดํด
-
๋ด์ค ๋ฐ์ดํฐ์์ ํต์ฌ ํค์๋, ํคํ๋ ์ด์ฆ๋ฅผ ์ถ์ถํ์ฌ ์ ๊ณต
-
ํค์๋ ๊ด๋ จ ๋ด์ค ๋ชฉ๋ก ์ ๊ณต
-
์ฃผ๊ฐ/์ฐ์ ๊ท๋ชจ ์ฐจํธ์์ ์ ์ ๊ฐ ์ง์ ๋ถ์ํ๊ณ ์ถ์ ๊ธฐ๊ฐ์ ์ค์ ๊ฐ๋ฅ
-
๋ถ์ํ๊ณ ์ถ์ ๋ด์ค ๋ฒ์๋ฅผ ์ข ๋ชฉ/์ฐ์ /๊ฒฝ์ ์ผ๋ฐ ์ค ์ ํ ๊ฐ๋ฅ
-
ํผ์ด์จ ์๊ด๊ณ์ ๋ถ์์ ํตํด ์ฃผ๊ฐ/์ฐ์ ๊ท๋ชจ ์ฐจํธ์ ํค์๋ ์ธ๊ธ๋ ๊ทธ๋ํ์ ์๊ด๊ด๊ณ ๋ถ์
-
-
์๊ฐ ์ด์ก ๊ธฐ์ค ์์ 91๊ฐ ์ข ๋ชฉ๊ณผ 22๊ฐ ์ฐ์ ์ ์ ๋ณด ์ ๊ณต
-
์ฃผ๊ฐ(์ฐ์ ์ ๊ฒฝ์ฐ ์๊ฐ์ด์ก ํฉ) ์ถ์ด ๊ทธ๋ํ, ๊ฐ๋ตํ ๊ฐ์ ์ ๊ณต
-
๊ด๋ จ ํค์๋ ์ ๋ณด๋ฅผ ๋ด์ ์ฐจํธ ์ ๊ณต
-
ํน์ ํค์๋ ํด๋ฆญ์ ํด๋น ํค์๋์ ๋ฑ์ฅ ๋น๋ ๊ทธ๋ํ, ์ข ๋ชฉ(์ฐ์ )๊ณผ์ ์๊ด๊ณ์, ๊ด๋ จ ๊ธฐ์ฌ ๋ชฉ๋ก์ด ๋ด๊ธด ํค์๋ ํจ๋ ์ ๊ณต
-
-
์ข ๋ชฉ, ์ฐ์ , ํค์๋๋ณ ๊ด์ฌ ๋ฑ๋ก/ํด์ ๊ธฐ๋ฅ
- ๊ด์ฌ ๋ฑ๋กํ ๋ชฉ๋ก์ ๋ถ๋งํฌ ํ์ด์ง์์ ์กฐํ ๊ฐ๋ฅ
-
OAuth 2.0์ ์ฌ์ฉํด ์นด์นด์ค ์์ ๋ก๊ทธ์ธ ๊ตฌํ
- JWT Access Token/Refresh Token์ ์ด์ฉํ ๋ก๊ทธ์ธ ์ธ์ฆ ๋ฐฉ์ ์ ์ฉ
- ๋๋ค์ ์ค๋ณต ํ์ธ
-
keyBERT ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ๋ด์ค์์ ํต์ฌ ํค์๋ ์ถ์ถ
- ์ด๋ ๋ด์ค์์๋ ์ฌ์ฉ๋๋ ๋ฒ์ฉ์ ์ธ ๋จ์ด, ์ข ๋ชฉ๋ช ์ ํฌํจ๋๋ ๋จ์ด ๋ฑ์ ๋ถ์ฉ์ด๋ก ์ค์ ํ์ฌ ๋ถ์ ํจ๊ณผ ์์น
-
ํน์ ํค์๋์ ๊ด๋ จ๋ ๋ด์ค๋ค ์ค์์ ๋น์ทํ ๋ด์ฉ์ ๊ฐ์ง ๋ด์ค๋ค๋ผ๋ฆฌ ๊ทธ๋ฃนํ
-
DBSCAN ๋ชจ๋ธ ์ฌ์ฉ (๋ฐ๋ ๊ธฐ๋ฐ ํด๋ฌ์คํฐ๋ง)
-
์ฝ์ฌ์ธ ์ ์ฌ๋๋ก ์ ์ฌ์ฑ ํ๋จ
-
์์ฑํ ๋ด์ค ๊ทธ๋ฃน ์ค ๊ทธ๋ฃน ์ฌ์ด์ฆ๊ฐ ์ผ์ ์์ค ์ด์์ธ ๊ทธ๋ฃน๋ง ์ ๋ณ
-
๊ฐ ๊ทธ๋ฃน๋ง๋ค ๋ด์ฉ์ ๋ํํ ์ ์๋ ํคํ๋ ์ด์ฆ๋ฅผ ํ ๊ฐ์ฉ ์ ๊ณต(keyBERT ๋ชจ๋ธ ์ด์ฉ)
-
-
ํค์๋ ๊ด๋ จ ๋ถ์ ์ ๊ณต
-
๋ถ์ ๊ธฐ๊ฐ ๋ด์ ์ ์ฒด ๋ด์ค ๋ฐ์ดํฐ ์ค ํด๋น ํค์๋์ ๊ด๋ จ๋ ๋ด์ค๊ฐ ์ผ๋ง๋ ์์๋์ง๋ฅผ ์ธ๊ธ๋ ๊ทธ๋ํ๋ก ์ ๊ณต
-
ํค์๋ ์ธ๊ธ๋ ๊ทธ๋ํ์ ์ฃผ๊ฐ/์ฐ์ ๊ท๋ชจ ์ถ์ด ๊ทธ๋ํ์ ์๊ด๊ด๊ณ๋ฅผ ํผ์ด์จ ์๊ด๊ณ์ ๋ถ์์ ํตํด ๊ณ์ฐํ์ฌ ์ ๊ณต
-
-
์ํธ์์ฉ์ ์ค์ํ ์ฐจํธ ๋์์ธ
-
๋ง์ฐ์ค ํธ๋ฒ, ํด๋ฆญ, ๋๋๊ทธ ๋ฑ ์ ์ ์ ๋์๊ณผ ์ํธ์์ฉํ ์ ์๋ ์ฐจํธ ์ค๊ณ
-
๋ง์ฐ์ค ํธ๋ฒ ์ ํดํ์ผ๋ก ์ฃผ๊ฐ/์ฐ์ ๊ท๋ชจ ๋ฑ์ ๋ํ ์์ธ ์ ๋ณด ์ ๊ณต
-
ํค์๋ ์ฐจํธ ํด๋ฆญ์ ํค์๋์ ํด๋นํ๋ ํคํ๋ ์ด์ฆ ํ์
-
์ฐ์ ๋ณ ๊ท๋ชจ ์ฐจํธ ํด๋ฆญ์ ํด๋น ์ฐ์ ๋ด ์๊ฐ์ด์ก ์์ 5 ์ข ๋ชฉ ์ถ๋ ฅ
-
์ฃผ๊ฐ ์ฐจํธ์์ ๋๋๊ทธ ๋๋ ๋ค๋น๊ฒ์ดํฐ ์กฐ์ ์ ํตํด ํค์๋ ๋ถ์ ๊ธฐ๊ฐ ์ค์ ๊ฐ๋ฅ
-
๐ฉโ๐ปBackend
Server
- Ubuntu 20.04 LTS
Spring Server
-
JDK : Open JDK11
-
SpringBoot : 2.7.9
Django Server
-
Django : 4.2
-
Python : 3.10.10
FastAPI Server
-
FastAPI : 0.45
-
Python : 3.7
Infra
-
Nginx : 1.23.3
-
Jenkins : 2.375.2
Database
-
MySQL : 8.0.32
-
Redis : 7.0.8
Tools
-
VSCode : 1.73.1
-
IntelliJ : 2022.03
๐จFrontend
-
Node.js : 18.13.0
-
React : 18.2.0
-
Typescript: 4.9.5
-
Library
"@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", "@mui/icons-material": "^5.11.16", "@mui/material": "^5.11.13", "@mui/material-next": "^6.0.0-alpha.79", "@tanstack/react-query": "^4.27.0", "@tanstack/react-query-devtools": "^4.27.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.2", "@types/node": "^16.18.16", "@types/papaparse": "^5.3.7", "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", "axios": "^1.3.4", "dayjs": "^1.11.7", "highcharts": "^10.3.3", "highcharts-border-radius": "^0.0.4", "highcharts-react-official": "^3.2.0", "papaparse": "^5.4.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.43.7", "react-query": "^3.39.3", "react-router-dom": "^6.9.0", "react-scripts": "5.0.1", "recoil": "^0.7.7", "styled-components": "^5.3.9", "typescript": "^4.9.5", "web-vitals": "^2.1.4"
๐ Management Tool
-
ํ์ ๊ด๋ฆฌ : Gitlab, Git Fork
-
์ด์ ๊ด๋ฆฌ : Jira
-
์ปค๋ฎค๋์ผ์ด์ : Mattermost, Webex, Notion
-
๋์์ธ : Figma
๊ณต์งํธ | ๊น๊ฒฝํฌ | ๊น์ฉํ | ๊น์ง์ | ์์ค๋ชจ | ์ด์ฌํ |
---|---|---|---|---|---|
ํ์ฅ & BE | FE | FE | BE | BE | FE |
-
๊ณต์งํธ : ํ์ฅ, ๋ด์ค ํฌ๋กค๋ง, ํค์๋ ๋ถ์, Swagger, ํ ์คํธ ์ฝ๋, ์ฐ์ api, ํ์ด์ฌ ์๋ฒ, ERD ์ค๊ณ
-
๊น๊ฒฝํฌ : ๋ฉ์ธ ํ์ด์ง, ์ข ๋ชฉ ์์ธ ํ์ด์ง, ํค์๋ ์ ๋ณด ํจ๋, ํค์๋ ๋ถ์, ๋ ธ์ /์ง๋ผ ๊ด๋ฆฌ, ๋์์ธ
-
๊น์ฉํ : ๋์์ธ, ๊ณตํต ์ปดํฌ๋ํธ, ๋ก๊ทธ์ธ, ๋ง์ดํ์ด์ง, ๋ฐํ
-
๊น์ง์ : CI/CD, ์ข ๋ชฉ api, ์ฃผ์๋ฐ์ดํฐ ํฌ๋กค๋ง , git ๊ด๋ฆฌ, ERD ์ค๊ณ
-
์์ค๋ชจ : ๋ด์ค ํฌ๋กค๋ง, ํค์๋ ๋ถ์, ์ธ์ฆ/์ธ๊ฐ, ์์ธ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ์ ์ฌ, ํค์๋ api, UCC, ERD ์ค๊ณ
-
์ด์ฌํ : ๋์์ธ, ์ฐ์ ํ์ด์ง, ํค์๋ ํ์ด์ง, ์๊ธฐ