Skip to content

hju00/CloudComputing_TermProject

Repository files navigation

개발자 직군 추천 서비스

MainImage

멤버 및 파트

이름 학번 파트
장원석 201924*** 팀장, 도커 구성 및 서비스 배포 (AWS), CI/CD 구성
김지명 201824*** 백엔드 개발
박형주 201924*** 직군 추천 로직 구상 및 보고서 작성
이서연 202255*** 프론트엔드 개발

개발자 직군 추천 서비스 소개

이 서비스는 MBTI 또는 다른 유형의 성격 테스트와 유사한 설문 형식의 폼을 기반으로 하며, 각 질문에 대한 사용자의 답변을 분석하여 그에 알맞는 개발자 직군을 추천해줍니다. 또한 결과를 표시할 때 자신에게 가장 적합한 개발자 직군과 함께 해당 직군의 설명과 되기 위한 방법 등을 소개해 줍니다. 사용자는 총 10개의 2가지 선택지를 풀게 되는데 각 선택지의 직군 배점에 따라 추천 직군이 결정됩니다. 직군 추천 로직 배점표는 다음과 같습니다.

질문 프론트엔드 백엔드 게임 모바일 인프라 데브옵스 정보보안 머신/인공
1 +6 +4 +2 +2 +3 +4 +2 +2
+3 +6 +4 +3 +2 +2 +3 +3
2 +6 +6 +4 +4 +2 +3 +3 +3
+2 +3 +4 +4 +2 +6 +4 +3
3 +3 +2 +6 +4 +2 +6 +6 +4
+2 +4 +6 +4 +3 +2 +3 +6
4 +2 +4 +6 +3 +3 +2 +3 +4
+6 +3 +3 +3 +3 +2 +6 +6
5 +6 +3 +6 +6 +3 +2 +3 +3
+3 +6 +3 +3 +3 +6 +6 +4
6 +2 +2 +6 +6 +3 +2 +3 +3
+3 +3 +3 +3 +6 +6 +6 +6
7 +3 +2 +3 +3 +6 +6 +6 +6
+6 +6 +4 +4 +3 +3 +3 +3
8 +4 +4 +4 +4 +3 +2 +3 +6
+3 +3 +6 +3 +6 +2 +6 +6
9 +6 +6 +4 +4 +3 +2 +3 +6
+3 +2 +3 +3 +6 +2 +6 +6
10 +3 +4 +6 +4 +3 +2 +3 +6
+6 +2 +2 +3 +6 +6 +6 +3

서비스의 필요성

1. 다양한 개발자 직군에 대해 알 수 있습니다.

현재 IT 취업은 매우 다양한 직군들로 나뉘어져 있습니다. 그 중 저희 프로젝트는 IT 기업 취업이 목표인 사람들이 관심있어 할 만한 8가지 직군 중 하나를 추천해줍니다. 저희는 각 직군이 요구되는 기술과 업무 스타일이 다르기 때문에, 자신의 성향과 능력에 맞는 직군을 찾는 것이 중요하다고 생각했습니다. 따라서 해당 프로젝트를 통해 사용자가 자신의 성격과 기술적 선호도를 기반으로 가장 적합한 직군을 찾는 데 도움이 될 것 입니다.

2. 쉽고 간단하게 직군을 추천 받을 수 있습니다.

많은 사람들이 자신의 성격과 능력에 잘 맞는 직군을 찾는 데 어려움을 겪고 있을 거라 생각합니다. 저희 프로젝트는 간단하게 10가지 질문에 응답하여 사용자의 강점과 관심사에 맞는 직군을 추천받고 해당 직군에 대한 정보를 가져갈 수 있습니다.

관련 기술

Continuous Integration

1. Github Action

Github Actions에 대해 알아보자

GitHub Action은 지속적 통합 및 지속적 배포 (CI/CD) 플랫폼으로, 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있습니다. 이를 통해 리포지토리에 대한 모든 풀 리퀘스트의 빌드 및 테스트를 실행하거나, 병합된 풀 리퀘스트를 프로덕션 환경에 배포할 수 있는 워크플로우를 생성할 수 있습니다.

GitHub Action은 데브옵스 이상의 기능을 제공하여 리포지토리에서 다른 이벤트가 발생할 때 워크플로우를 실행할 수 있습니다. 예를 들어, 새 이슈가 리포지토리에 생성될 때마다 적절한 레이블을 자동으로 추가하는 워크플로우를 실행할 수 있습니다.

GitHub는 리눅스, 윈도우 및 macOS 가상 머신을 제공하여 워크플로우를 실행하거나, 직접 자체 호스팅 러너를 데이터 센터나 클라우드 인프라에 호스팅할 수 있습니다.

2. Docker

post-thumbnail

Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너 라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다.

3. AWS ECR

Amazon Elastic Container Registry (Amazon ECR)는 어디서나 애플리케이션 이미지 및 아티팩트를 안정적으로 배포할 수 있도록 뛰어난 성능 호스팅을 제공하는 완전관리형 컨테이너 레지스트리입니다.

Panorama - 작동 방식

Amazon ECR은 다음과 같은 구성 요소를 포함합니다.

  • 레지스트리 (Registry): 각 AWS 계정에 제공되는 Amazon ECR 개인 레지스트리가 있으며, 해당 레지스트리에 하나 이상의 리포지토리를 생성하여 Docker 이미지, Open Container Initiative (OCI) 이미지 및 OCI 호환 아티팩트를 저장할 수 있습니다.
  • 인증 토큰 (Authorization token): 클라이언트는 이미지를 푸시하고 풀 수 있도록 하기 전에 AWS 사용자로서 Amazon ECR 개인 레지스트리에 인증해야 합니다.
  • 리포지토리 (Repository): Amazon ECR 리포지토리에는 Docker 이미지, OCI 이미지 및 OCI 호환 아티팩트가 포함됩니다.
  • 리포지토리 정책 (Repository policy): 리포지토리 정책을 사용하여 리포지토리 및 그 내용에 대한 액세스를 제어할 수 있습니다.
  • 이미지 (Image): 컨테이너 이미지를 리포지토리에 푸시하고 풀 수 있습니다. 이러한 이미지는 개발 시스템에서 로컬로 사용하거나 Amazon ECS 작업 정의 및 Amazon EKS 팟 정의에서 사용할 수 있습니다.

Continuous Deployment

1. AWS Lambda

AWS Lambda - Wikipedia

서버 프로비저닝 또는 관리, 워크로드 인식 클러스터 확장 로직 생성, 이벤트 통합 유지 또는 런타임 관리 없이 코드를 실행합니다.

사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 실행합니다. 코드를 ZIP 파일 또는 컨테이너 이미지로 업로드하기만 하면 Lambda는 자동으로 컴퓨팅 실행 능력을 할당하고, 모든 트래픽 규모에 대하여 수신 요청 또는 이벤트를 기반으로 코드를 실행합니다.

Lambda 기능을 선호하는 언어(Node.js, Python, Go, Java 등)로 작성하고 서버리스 및 컨테이너 도구(AWS SAM 또는 Docker CLI)를 사용하여 기능을 구축, 테스트 및 배포합니다.

2. Shell Script

post-thumbnail

쉘 스크립트는 리눅스 명령어와 다양한 프로그래밍 구조를 사용하여 작성된 스크립트이다. 이를 사용하면 여러 명령어를 한 번에 실행하고 조건문, 반복문 등을 활용하여 자동화된 작업을 수행할 수 있다. 스크립트 파일은 일반적으로 텍스트 파일이며, 특정 규칙에 따라 작성한다.

3. Docker Compose

post-thumbnail

Docker Compose는 여러 컨테이너로 구성된 애플리케이션을 정의하고 실행하는 도구입니다. 이는 간소화된 개발 및 배포 경험을 위한 열쇠 역할을 합니다.

Compose는 전체 애플리케이션 스택을 제어를 단순화하여, 단일하고 이해하기 쉬운 YAML 구성 파일에서 서비스, 네트워크 및 볼륨을 쉽게 관리할 수 있도록 합니다. 그런 다음, 단일 명령으로 구성 파일에서 모든 서비스를 생성하고 시작할 수 있습니다.

Compose는 모든 환경에서 작동합니다. 제품, 스테이징, 개발, 테스트 및 CI 워크플로우를 포함하여 모든 환경에서 작동합니다. 또한 애플리케이션의 전체 라이프사이클을 관리하기 위한 명령도 제공합니다:

  • 서비스 시작, 중지 및 재구축
  • 실행 중인 서비스의 상태 보기
  • 실행 중인 서비스의 로그 출력 스트리밍
  • 서비스에서 일회성 명령 실행

프로젝트 개발 결과물

다이어그램

개발자 직군 추천 서비스를 사용하는 방법

2. 사용자는 각 질문에 선택지를 선택한다.
3. 선택지의 배점을 종합하여 가장 점수가 높은 직군을 사용자에게 출력해준다.

개발자 직군 추천 서비스의 활용방안

  1. 학습 및 경력 개발 추천:

    사용자의 현재 관심사와 성향에 따라 어떤 기술을 학습하고, 어떤 프로젝트나 경력을 쌓아나갈지에 대한 추천을 제공할 수 있습니다.

  2. 취업 정보 및 채용 소식 제공:

    적합한 직군을 찾은 사용자에게 해당 분야의 채용 정보나 관련 소식을 제공하여 취업에 도움을 줄 수 있습니다.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published