![]() 51taek 앨런 |
![]() YoonchulChung 알렉스 |
![]() gyeonseo 견서 |
-
Java 21
- 최신 문법(패턴 매칭, 레코드, 가상 스레드 등)을 지원해 가독성과 유지보수성이 향상됩니다.
- 성능 최적화가 크게 개선되어 대규모 애플리케이션에서도 안정적으로 동작합니다.
- 장기 지원(LTS) 버전으로 안정적인 운영이 가능합니다.
-
Spring Boot 3.4.9
- 스프링 생태계와 완벽하게 호환되며 최신 기능 및 보안 패치가 포함되어 있습니다.
- 자동 설정(Auto Configuration) 기반으로 빠르게 애플리케이션을 구성할 수 있습니다.
- REST API, 데이터 액세스, 시큐리티 등이 통합되어 있어 비즈니스 로직 개발에 집중할 수 있습니다.
-
Spring Data JPA
- 반복적이고 보일러플레이트가 많은 데이터 액세스 코드를 간소화합니다.
- 명확한 도메인 모델 중심 개발이 가능하며, QueryDSL 등과 조합해 강력한 쿼리 작성이 가능합니다.
-
PostgreSQL
- ACID 트랜잭션을 충실히 준수하는 안정적인 오픈소스 RDBMS입니다.
- JSONB 등 고급 기능을 제공해 유연한 구조 관리가 가능합니다.
- 대규모 트래픽 환경에서도 성능과 확장성이 뛰어나며, Spring Data JPA와 매우 잘 어울립니다.
아래 주소에서 API 명세서를 확인할 수 있습니다.
http://localhost:8080/swagger-ui/index.html
게임 결과 기반 직무 조회
URL: /api/job/
Method: POST
ContentType: application/json
Input: clientX, clientY (사용자) vs answerX, answerY (정답)
Description: 게임의 결과를 바탕으로 사용자에게 적합한 직무를 반환합니다.
직무 상세 조회
URL: /api/job/detail
Method: GET
Parameter: jobId (Integer, Required)
Example: GET /api/job/detail?jobId=7
게임 데이터 조회
URL: /api/game
Method: GET
Description: 게임 진행에 필요한 초기 데이터를 반환합니다.
게임 1번은 순발력 테스트입니다. 얼마큼 빠르고 정확하게 정답과 가깝게 결과를 만드는지를 평가합니다. 게임 1번은 아래 지표를 이용하여 계산합니다.
유클리디이안 거리를 이용하여 정확도를 구별합니다.
속도는 아래와 같이 구합니다.
게임 2번은 밸런스 테스트입니다. 두 가지 선택지 중 하나를 선택하게 됩니다.
게임 2번은 아래 지표를 이용하여 계산합니다.
| 행동 패턴 (Behavior Pattern) | Risk Taking | Accuracy | Reasoning | Work Style | Stress | Pace |
|---|---|---|---|---|---|---|
| 정해진 규정 내에서 일하기 | 0 | 20 | 5 | 10 | 5 | 5 |
| 새로운 시도 계속하기 | 35 | 0 | 5 | 10 | 15 | 0 |
| 오타 없게 꼼꼼하게 | 0 | 40 | 0 | 0 | 25 | 0 |
| 빠르게 넘기기 | 25 | 0 | 0 | 0 | 0 | 30 |
| 직감대로 선택 | 30 | 0 | 0 | 0 | 0 | 25 |
| 근거 찾아보기 | 0 | 25 | 40 | 0 | 5 | 0 |
| 혼자 몰입 | 0 | 0 | 15 | 0 | 0 | 15 |
| 함께 논의 | 0 | 0 | 15 | 70 | 15 | 0 |
| 급한 일 먼저 | 10 | 0 | 0 | 0 | 30 | 25 |
| 중요한 일 먼저 | 0 | 15 | 20 | 10 | 5 | 0 |
| 세로(Category) 합계 | 100 | 100 | 100 | 100 | 100 | 100 |
각 항목은 0점 ~ 100점 사이의 가중치를 가집니다.
| 점수 | 의미 | 예시 (Risk Taking) |
|---|---|---|
| 0 | 해당 성향이 낮음 | 위험 감수를 싫어함 (안정 지향) |
| 100 | 해당 성향이 높음 | 위험 감수를 즐김 (도전 지향) |
사용자가 아래 4가지 답변을 선택했을 경우의 최종 점수 계산 과정입니다.
User Selection:
- 정해진 규정 내에서 일하기
- 새로운 시도 계속하기
- 함께 논의
- 중요한 일 먼저
[ 점수 합산표 ]
| 선택한 답변 (Choices) | Risk | Acc | Reason | Work | Stress | Pace |
|---|---|---|---|---|---|---|
| 정해진 규정 내에서... | 0 | 20 | 5 | 10 | 5 | 5 |
| 새로운 시도 계속하기 | 35 | 0 | 5 | 10 | 15 | 0 |
| 함께 논의 | 0 | 0 | 15 | 70 | 15 | 0 |
| 중요한 일 먼저 | 0 | 15 | 20 | 10 | 5 | 0 |
| 최종 합계 (Total) | 35 | 35 | 45 | 100 | 40 | 5 |
게임 3번은 아래 지표를 이용하여 계산합니다.
| 선택지 (Option) | Risk Taking | Accuracy | Reasoning | Work Style | Stress | Pace |
|---|---|---|---|---|---|---|
| 1. 장기적 중요 요청 | 40 | 15 | 50 | 20 | 60 | 10 |
| 2. 고객 임팩트 요청 | 50 | 15 | 40 | 20 | 30 | 10 |
| 3. 잘하고 빠른 것 (효율) | 10 | 70 | 10 | 60 | 10 | 80 |
| 세로 합계 | 100 | 100 | 100 | 100 | 100 | 100 |
아래 지표를 이용하여 사용자의 행동 기반 직업 추천을 계산합니다.
| 직무 (Job Role) | Pace | Accuracy | Risk Taking | Reasoning | Stress | Work Style | 합계 |
|---|---|---|---|---|---|---|---|
| 기획/PM | 0.10 | 0.05 | 0.15 | 0.30 | 0.15 | 0.25 | 1.0 |
| 운영 (Operations) | 0.15 | 0.35 | 0.05 | 0.10 | 0.25 | 0.10 | 1.0 |
| 마케팅 (Marketing) | 0.25 | 0.05 | 0.30 | 0.10 | 0.10 | 0.20 | 1.0 |
| 개발 (Development) | 0.15 | 0.25 | 0.10 | 0.30 | 0.10 | 0.10 | 1.0 |
| 데이터 (Data) | 0.10 | 0.30 | 0.10 | 0.35 | 0.05 | 0.10 | 1.0 |
| 영업 (Sales) | 0.25 | 0.05 | 0.15 | 0.05 | 0.35 | 0.15 | 1.0 |
| 인사 (HR) | 0.05 | 0.25 | 0.05 | 0.10 | 0.20 | 0.35 | 1.0 |
| 디자인 (Design) | 0.10 | 0.25 | 0.30 | 0.10 | 0.10 | 0.15 | 1.0 |
아래 공식을 이용하여 각 카테고리 별로 평균 수치를 구합니다.
예를 들어 Risk는 아래와 같이 나타낼 수 있습니다.
게임 1의 Risk는 없기 때문에 0이 됩니다.
상위 1개가 사용자에게 추천된 직업이 됩니다.


