JavaRush /Java Blog /Random-KO /우리는 포트폴리오를 위한 실제 프로젝트인 "A부터 Z까지의 Java 프로젝트"를 작성하고 있습니다.
Roman Beekeeper
레벨 35

우리는 포트폴리오를 위한 실제 프로젝트인 "A부터 Z까지의 Java 프로젝트"를 작성하고 있습니다.

Random-KO 그룹에 게시되었습니다
안녕하세요, 미래의 수석 소프트웨어 엔지니어 여러분 ! 지난 몇 달 동안 저는 개발의 중요한 부분을 설명하는 간단한 기사를 작성해 왔습니다. 오늘은 내 아이디어에 대해 말씀 드리겠습니다! 첫 직장을 구하는 데 도움을 주고 싶습니다. 이를 위해 무엇이 필요합니까? 그러기 위해서는 경험을 쌓아야 합니다. 엔지니어가 작업하고 정보 기술의 세계를 발전시키는 바로 이러한 프로젝트가 무엇으로 구성되어 있는지 이해하십시오.

시리즈의 모든 자료:

"A부터 Z까지의 Java 프로젝트": 포트폴리오를 위한 실제 프로젝트 작성 - 1어떻게 하나요? 뭔가 써야 해요. 따라서 이 자료 시리즈의 일부로 우리는 자체 텔레그램 봇을 단계별로 작성해 보겠습니다(자세한 내용은 아래 참조). 동시에 초보 Java 개발자에게도 필요한 기술 스택을 이해하게 됩니다.

표적

데이터베이스 작업, 필요한 비즈니스 논리 생성, 프로젝트 배포 및 테스트 작업 설정을 결합하는 프로젝트를 작성합니다. 우리는 무엇을 쓸 것인가? 글을 쓰려면 작업에 대한 관심이 있고 누군가가 결과를 활용할 수 있도록 정말 유용한 것을 작성해야 합니다. 이 데이터를 기반으로 JavaRush 웹사이트에서 작동하는 텔레그램 봇이 작성됩니다. 이것이 유용할까요? 의심없이! 텔레그램 봇은 작성하기가 그리 어렵지 않기 때문에 유용할 수 있는 작업 프로젝트를 빠르게 얻을 수 있습니다.

개발 시간

기사는 일주일에 한 번 게시되므로, 불분명한 내용이 있으면 마스터/복습/질문 작성을 위한 충분한 시간이 있을 것입니다. 첫 번째 기사는 우리가 프로젝트에서 사용할 이론적 기초가 될 것입니다. 그리고 그것은 단지 연습입니다.

MVP(최소 실행 가능 제품)

"A부터 Z까지의 Java 프로젝트": 포트폴리오를 위한 실제 프로젝트 작성 - 2MVP란 무엇입니까? 평소와 같이 이 용어는 우리의 것이 아니지만 위키 에서 합리적인 설명을 찾을 수 있습니다 . 우리는 다음과 같이 인용합니다: MVP는 최소한의 기능을 가지고 있지만 첫 번째 요구 사항을 충족하기에 충분한 제품입니다. 주요 임무는 제품의 향후 개발을 위한 가설을 형성하기 위한 피드백을 받는 것입니다. 우리에게는 이 설명이 완벽하게 들어맞습니다. 모든 기능에 대한 간단한 설명: 텔레그램 사용자로서 저는 그룹에서 새 기사를 구독하고 새 기사가 게시되면 알림을 받을 수 있기를 원합니다. 저는 성공 스토리 그룹을 읽는 것을 좋아합니다 . 이는 제가 계속 배우고 새로운 것을 배우도록 동기를 부여합니다. 나는 게으르고 매번 페이지 에 들어가서 새로 고치고 싶지 않습니다 . 따라서 나는 프로그래머로서 내 삶을 더 쉽게 만들고 싶고 텔레그램에 새 기사가 게시되었다는 메시지를 보내는 프로그램을 작성하고 싶습니다. 추가 정보: 이 그룹은 제가 추적하는 유일한 그룹이 아닙니다. 저는 Kharkov 출신이므로 그곳에서 출판된 기사를 읽는 데 관심이 있습니다. 이 제품의 개발자로서 누군가가 내 작업을 사용하고 있는지에 대해 매우 관심을 가질 것이므로 관리자가 텔레그램 봇의 통계를 볼 수 있도록 기능을 추가할 것입니다. 이것이 가능합니까? 틀림없이! 어떻게? 이것이 제가 일련의 기사에서 보여줄 내용입니다.

코드 네임

모든 멋진 프로젝트에는 코드명이 있어야 합니다. 우리도 예외는 아니므로 지금은 JRTB(JavaRush Telegram Bot) 와 같습니다 . 이하에서는 그렇게 부르겠습니다.

우리는 어떤 주제를 다룰 것인가?

"A부터 Z까지의 Java 프로젝트": 포트폴리오를 위한 실제 프로젝트 작성 - 3

데이터 베이스

애플리케이션에 상태(데이터 및 정보)를 저장할 수 없다는 점을 즉시 이해해야 합니다. 데이터는 데이터베이스에 저장되어야 합니다. 교육에는 이에 대한 정보가 없기 때문에 (제가 기억하는 한 :D) 필요한 지식의 공백을 메우도록 노력하겠습니다. 혼란이 없도록 데이터베이스 스키마를 최대한 단순하게 만들도록 노력하겠습니다. 이 부분에는 다음이 포함됩니다.
  1. MySQL을 기반으로 한 SQL 작업 이론.
  2. MySQL 작업을 위한 도구는 MySQL Workbench입니다.
  3. 데이터베이스 버전 관리. 이동경로 및 액체베이스.
  4. 데이터베이스 스키마를 생성합니다.
  5. 데이터베이스 스키마 도면을 생성합니다.

힘내

이 주제에 대한 기사가 이미 있습니다. 물론 버전 관리 시스템이 없으면 아무것도 작동하지 않습니다. JRTB 작업을 시작하려면 git을 이해해야 합니다. 직접 할 수도 있고 이 주제에 대한 내 기사를 읽을 수도 있습니다. 원하는 경우 분기 전략에 대해 읽을 수도 있지만 여기서는 중요하지 않으므로 건너뛸 수 있습니다.

메이븐

여기에서는 조립 시스템의 용도, 사용 방법, 주의할 점, 매너 규칙에 대해 이야기하겠습니다. 여기서는 버전 관리와 이를 정확히 수행하는 방법에 대해서도 설명하겠습니다.

도커

우리의 삶을 더욱 단순하고 쉽게 만들고 배포 프로세스를 최대한 단순하게 만들기 위해 Docker를 사용하겠습니다. 이를 위해 Docker가 무엇인지, 어떤 유용한 명령이 있는지 이야기해 보겠습니다. 나는 사용자 수준에서 Docker를 사용하고 있으며 무언가를 모르거나 수행할 수 없을 수도 있음을 즉시 말하고 싶습니다.) 따라서 누군가 Docker 작업을 더 좋고/쉽게 만드는 방법을 제안하면 기뻐할 것입니다. 이 부분에는 다음이 포함됩니다.
  1. Docker의 이론과 실제.
  2. Docker를 통해 데이터를 백업/복원합니다.
  3. Docker에서 실행되도록 프로젝트를 설정합니다.

배시 스크립트

작업을 자동화하려면 때로는 하나 또는 두 개의 스크립트를 작성하는 것이 유용합니다. Bash 스크립트는 본질적으로 Linux의 명령줄 작업이고 단순히 별도의 파일에 저장되기 때문에 모든 개발자가 어느 정도 이해하는 스크립트입니다.

애플리케이션 만들기

모든 드라이브가 여기에있을 것입니다. 이전 지식을 바탕으로 텔레그램 봇 개체를 포함하는 Spring Boot 애플리케이션을 구축하겠습니다. 여기서 무엇을 할 건가요?
  1. 있어야 할 기능에 대한 완전한 설명을 작성합니다.
  2. 텔레그램 봇이 무엇인지에 대한 간략한 설명입니다.
  3. Spring Boot 애플리케이션을 생성합니다.
  4. Lombok 작업에 대한 설명입니다.
  5. UniRest 작업에 대한 설명입니다.
  6. 명령 패턴 구현 + 관리자 명령에 대한 고유한 주석 생성 작업.
  7. UniRest를 사용하여 JavaRush 쿼리(예: 그룹 목록, 그룹의 기사 목록) 작업을 위한 클라이언트를 생성합니다.
  8. 테스트. 우리의 기능을 다루기 위해 가능한 모든 테스트를 작성해 보겠습니다.
  9. 코드 품질을 확인하고 GitHub에서 자동으로 빌드하는 시스템을 설정합니다.
  10. 데이터베이스 버전 관리와 함께 데이터베이스 연결.
무슨 일이 일어나고 있는지 더 잘 이해하기 위해 이러한 모든 단계는 단계별로 수행됩니다.

향후 결과

결과적으로 우리는 기사를 읽는 사람이라면 누구나 구현할 수 있는 실제 프로젝트를 얻게 될 것입니다. 텔레그램 봇의 장점은 기사에 포함될 봇에 의존하지 않도록 이 프로젝트를 어떤 봇에도 연결할 수 있다는 것입니다. 더 말씀드리자면, 이것은 JRTB의 시작일 뿐입니다. 새로운 기능은 향후 논의/추가될 수 있습니다. JavaRush 프로젝트의 모든 학생들에게 유용하도록 이 봇을 만드십시오. 그리고 다른 사람들이 당신의 창조물을 사용하고 좋아한다는 느낌은 많은 가치가 있습니다! 그리고 이 기사 시리즈의 독자로서 여러분은 실제 프로젝트에서 작업하는 실제 경험을 얻을 수 있을 것입니다. 전통적으로 저는 솔루션과 프로젝트를 게시하는 Github에서 내 계정을 구독하는 것을 제안합니다 . JRTB의 모든 작업은 GitHub를 통해 이루어지므로 아직 등록하지 않았다면 등록하는 것이 좋습니다. 모두 읽어주셔서 감사합니다. 곧 만나요 :)"A부터 Z까지의 Java 프로젝트": 포트폴리오를 위한 실제 프로젝트 작성 - 5
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION