BEST
개발 · 프로그래밍

/

데브옵스 · 인프라

포트폴리오 초간단 배포하기

강의를 통해 프론트엔드, 백엔드 프로젝트를 배포하는 경험을 할 수 있습니다. 프로젝트를 배포해보면서 리눅스와 네트워크에 대한 기초 지식도 얻어갈 수 있습니다!

(5.0) 수강평 23개

수강생 389명

Thumbnail

초급자를 위해 준비한
[데브옵스 · 인프라, 백엔드] 강의입니다.

이런 걸
배워요!

  • 프로젝트 배포

  • Linux

  • GitHub

초보 백엔드 개발자 주목! 
혹시 이런 고민하고 있나요?

🤨

프론트엔드, 백엔드 애플리케이션은 모두 만들었는데 이건 내 노트북에서만 동작하는데?

🤔

서비스를 서버에 배포해야 다른 사람들이 쓸 수 있다고 하던데 어디서부터 시작해야 하지...

😥

프론트엔드 페이지를 만들었는데 자꾸 API 호출에 실패해서 개발을 못하겠어. 무슨 CORS?? 때문이라던데 이게 뭐길래 코드를 제대로 작성했는데 동작 안하는거야?

그래서, 이 강의에서는!

  • ✅ 백엔드 개발자가 빠르게 서비스를 서버에 배포해보는 경험을 할 수 있게 구성했습니다.

  • ✅ 포트폴리오 정도 되는 프로젝트를 개발자가 직접 서버에 배포하기 위해 필요한 지식을 단계별로 학습할 수 있게 준비했습니다.

여러분들이 만든 포트폴리오를 서버에 배포하고
실제로 사용자들이 사용할 수 있는 형태로 만드는 경험은
취업과 입사 후 업무 진행에도 도움이 됩니다!

개발자가 해야하는 일은 결국 동작하는 소프트웨어를 만드는 것입니다. 웹 애플리케이션을 만드는 여러분들은 당연히 '웹 서비스'를 만들 수 있어야겠죠. 많은 분들이 부트 캠프를 수료하거나 강의를 들으면서 웹 애플리케이션은 금방 만들어보곤 하지만 막상 본인이 만든 웹 애플리케이션을 사용자들이 사용할 수 있는 '서비스'로는 만들지 못하는 것 같습니다. 여러분들의 웹 애플리케이션을 사용자들이 사용할 수 있는 상태로 만들기 위해서는 항상 실행되고 있는 서버에 배포해야 합니다.

이 강의에서는 여러분들이 만든 웹 서비스를 쉽고 빠르게 배포 해볼 수 있는 경험과 지식을 전달할 수 있게 기획했습니다. 아직 한번도 웹 애플리케이션을 서버에 배포해본 경험이 없는 분들에게는 가장 빠르게 서비스 배포를 경험해볼 수 있는 강의라고 생각합니다.

특히 한번도 서비스를 배포해본적이 없는 분들이라면 보통 취업을 위해 포트폴리오를 만들고 있는 분들이 많을겁니다. 여러분들이 만든 포트폴리오를 배포해보고 이력서에 사용해볼 수 있는 링크까지 첨부하면 여러분들이 서비스를 배포할 수 있는 역량이 있는 사람이라는 것도 보여줄 수 있고, 여러분들이 포트폴리오에서 신경썼던 부분도 어필하기 좋습니다. 또한 입사 후에도 업무를 하며 서비스를 배포해보거나 리눅스를 사용해야하는 상황이 왔을 때 어렵지 않게 처리할 수 있게 됩니다.

이 강의만의 
특징을 살펴보세요.

01 
동기 부여도 OK

강의를 시작하기에 앞서 포트폴리오를 배포해보는 경험이 중요한 이유를 설명합니다.

02 
상황별 배포 전략 제시

프론트엔드, 백엔드 애플리케이션을 배포할 수 있는 여러가지 방법을 제시하고, 상황별로 적절한 방법에 대해 알려드립니다.

03 
CORS에 대한 명확한 설명

웹 서비스를 개발하다보면 겪게되는 CORS 이슈가 왜 발생하는지, 해결하려면 어떻게 해야하는지에 대해 간단하고 명료하게 설명했습니다.

04 
초심자 눈높이에 딱

애플리케이션을 한번도 배포해본적 없는 초심자를 대상으로 리눅스 기본 명령어부터 애플리케이션 배포, 데이터베이스 연동까지 진행할 수 있게 구성했습니다.


자세히 알아볼까요?

여러분들이 만든 웹 애플리케이션을 왜 서버에 배포하여 사용자들이 사용할 수 있는 상태로 만드는게 중요한지에 대해 이야기합니다. 특히 이 강의를 수강하는 예비 개발자들의 포트폴리오를 서버에 배포했을 때 어떤 이점이 있는지 설명해드립니다.


많은 예비 개발자분들이 처음 벽을 느끼는 부분이 바로 리눅스입니다. 이 강의에서는 여러분들이 빠르게 리눅스 사용에 익숙해질 수 있게 배포할 때 자주 사용되는 명령어들을 중심으로 설명합니다.

특히 많은 분들이 삽질(?)하게되는 방화벽을 허용하거나 프로세스 백그라운드로 실행하는 명령어인 nohup에 대해 다룹니다.


웹 애플리케이션을 배포하면 자주 맞닥뜨리게 되는 CORS 이슈에 대해 자세히 설명합니다.

CORS 이슈는 왜 발생하고, CORS라는 정책이 왜 존재하는지 그리고 CORS 정책이 없을 때 무슨 문제가 있길래 막고 있는건지, CORS 이슈가 없게 서비스를 구성하려면 어떻게 해줘야하는지 자세히 다루고 있습니다.


앞서 CORS 이슈가 왜 발생하는지 알아봤고, 어떻게 해결할 수 있는지 이론에 대해 설명했다면 강의 후반부에는 백엔드 애플리케이션을 배포해보면서 CORS 이슈를 실제로 해결해봅니다. 그리고 상황별로 적용할 수 있는 해결 방법별 차이에 대해 설명합니다.


어디선가 들어봤지만 정확히 뭘 이야기하는건지 모르겠는 용어인 CI/CD에 대해 그림과 함께 설명드립니다. CI/CD를 구성하는 방법 자체를 다루고 있진 않지만, 강의를 수강한 후에는 여러분들이 강의에서 진행한 과정을 자동화하면 CI/CD를 구성할 수 있다는걸 알게될거에요.


Foo(푸) 이 강의를 만든 사람

웹 애플리케이션 개발자가 되기 위해 많은 여러분들이 언어를 배우고, 프레임워크도 사용해서 웹 서비스를 만들곤 합니다. 그리고 이걸 포트폴리오로 활용하고 싶어하죠. 제가 멘토링하면서 본 많은 분들은웹 서비스를 만들어내는데는 크게 어려움을 겪지 않았습니다. 책이나 강의도 이미 좋은 것들이 많이 나와 있으니까요.

그러나 이렇게 웹 서비스를 만들 수 있게된 예비 개발자분들이 어려움을 느끼는 부분이 있는데, 바로 자신이 만든 웹 서비스를 실제로 사용자들이 사용할 수 있는 형태로 만드는 것입니다. 생각보다 리눅스를 한번도 다뤄보지 않은 분들이 많더라고요. 리눅스를 써본적이 없으니 웹 서비스 배포를 어디서부터 시작해야할지 모르거나 막상 리눅스에 서비스를 올려야 한다는걸 알게되더라도 리눅스 명령어나 방화벽, CORS 등 여러가지 이슈로 배포에 많은 어려움을 겪는걸 보았습니다.

이 강의는 웹 애플리케이션을 만들어봤지만 웹 애플리케이션을 서버에 배포해서 사용자들이 사용할 수 있는 상태로 만들 수 있는 방법을 알려드리기 위해 준비했습니다. 또한 배포 과정에서 여러분들이 겪게될 여러가지 이슈들에 대해 원인은 뭐고, 어떻게 해결할 수 있는지 알려드립니다. 이 강의가 여러분들처럼 웹 애플리케이션을 서버에 배포하여 포트폴리오로 활용하고 싶은 분들에게 도움이 됐으면 좋겠습니다. 😄

Q&A 💬

Q. 왜 포트폴리오를 서버에 배포해야하나요?

A. 제가 생각할 때 크게 두가지 이유가 있습니다. 첫번째로, 프론트엔드 강의에서도 언급했던 내용인데 면접관은 웹 서비스를 온전히 만들어낼 수 있는 사람을 좀 더 선호한다는 겁니다. 물론 비슷한 실력을 가진 사람일 때를 이야기 하는 겁니다. 온전한 웹 서비스는 프론트엔드와 백엔드 그리고 이 애플리케이션들이 서버에 배포되어있고, 필요하다면 도메인까지 등록해놨다면 좋겠죠. 언제라도 일반 사용자들이 사용할 수 있는 서비스 형태가 된거고, 이런 서비스를 만들어본 지원자는 생각보다 많지 않습니다. 이런 점에서 충분히 메리트가 있다고 생각합니다. 두번째로, 입사 후에도 배포를 해봐야할 일이 있을텐데 만약 리눅스도 처음 다뤄보고 네트워크에 대한 지식도 없다면 업무에 어려움을 겪을 겁니다. 만약 여러분들이 미리 포트폴리오를 배포해본 경험이 있다면 좀 더 수월하게 업무에 적응할 수 있습니다.

Q. 애플리케이션을 배포하는 것에 대해 어느 정도 수준까지 다루나요?

A. 애플리케이션을 서버에 배포하는걸 한번도 해본 적 없는 사람이 '수동으로' 서버에 애플리케이션을 배포해보는걸 목표로합니다. 이때 발생할 수 있는 CORS 이슈, 방화벽 문제, SSH 창을 닫았을 때 발생할 수 있는 프로세스 종료를 막기 위한 nohup 활용법 정도를 다룹니다. 다만 이를 개발자가 수동으로 하는 내용까지만 다루기 때문에 자동으로 배포가 진행되는 내용은 나중에 제작하게될 심화된 배포 강의를 수강해주시면 좋을 것 같습니다.

Q. 어느 정도 수준의 학습자가 들을 수 있는 강의인가요?

A. 간단하지만 웹 애플리케이션을 만들어본 경험이 있어야합니다.

Q. 저는 백엔드 개발자는 아닌데 들어도 되나요?

A. 백엔드 개발자가 수강했을 때 가장 좋지만, 프론트엔드만 있는 프로젝트도 배포해보는 경험을 해보기에는 충분한 내용을 포함하고 있습니다. 다만, 프론트엔드 프레임워크를 사용해서 만든 프로젝트는 여러분들이 직접 패키징한 후 실습을 진행해야합니다. 이 강의에서는 순수한 HTML, CSS, JavaScript를 배포하는 내용에 대해서만 다룹니다.

📢 수강 전 확인해주세요

  • Windows 10, Intellij Community 2023.2, Google Chrome 환경을 기준으로 실습을 진행합니다. 클라우드 서비스는 Vultr이라는 서비스를 사용하고 있으나, AWS나 GCP등 다른 클라우드 서비스를 사용해도 됩니다. 다만 다른 클라우드 서비스 사용시 방화벽 설정 등 일부 차이가 있을겁니다. 그러나 이런 문제는 여러분들이 직접 검색해보고 몸으로 부딪혀보면 더 많이 얻어갈 수 있을거라고 생각합니다.

  • 예제 코드는 깃허브에서 확인하실 수 있습니다.

  • 백엔드 개발자들을 대상으로 만들긴 했으나, 웹 애플리케이션을 서버에 처음 배포해보는 분들이 듣기에도 적절한 강의입니다.

  • 수강하시면서 궁금한 내용이 있다면 질문을 남겨주세요. 업데이트해야 할 내용이 있다면 업데이트하겠습니다.

  • 강의에 사용되는 예제 및 내용 중 일부는 제가 집필하여 2023년 하반기 출간 예정인 백엔드 개발 입문 서적과 이전에 공개했던 프론트엔드 강의에 포함되어 있습니다. 다만, 해당 내용은 배포를 위한 예시 프로젝트일 뿐 프로젝트 내용 자체는 비중있게 다루고 있지 않습니다. 강의를 수강한 후에는 여러분들의 프로젝트를 배포해보는걸 추천드립니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 취업을 위해 포트폴리오를 만들었는데 어떻게 배포해야 할지 모르겠는 사람

  • 프로젝트를 배포해보고 싶은데 어디서부터 시작해야 할지 모르겠는 사람

선수 지식,
필요할까요?

  • 간단한 웹 애플리케이션 제작 경험

  • 자바 기본지식

안녕하세요
이준형(Foo)입니다.

안녕하세요.

멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.

잘 부탁 드리겠습니다.


이력

  • 2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자

  • 2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토

  • 2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토

 

  • 이것이 취업을 위한 백엔드 개발이다 with 자바(링크)

 

기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.

GitHub - https://github.com/lleellee0

커리큘럼

전체

16개 ∙ (3시간 4분)

  • 상황별 배포 방법

    07:12

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!