【한글자막】 Google Go 프로그래밍 언어로 웹 개발하기
What you'll learn
- 최근 사용되는 모범 사례를 이용해 서버측 애플리케이션을 구축하는 법을 배웁니다.
- 웹 프로그래밍의 기본기를 탄탄하게 쌓습니다.
- 20년 이상의 강의 경력이 있는 컴퓨터 공학과 대학 교수의 강의를 수강할 기회를 얻습니다.
- 웹 개발 분야를 뛰어난 수준으로 이해하고 응용할 수 있습니다.
- 서버, 라우팅, RESTful 애플리케이션, JSON, 템플릿, 파일 서버에 대해 배웁니다.
- 쿠키, 상태, UUID, HTTP 메서드, HTTP 응답 코드, 세션에 대해 배웁니다.
- Go 프로그래밍 언어의 표준 라이브러리만을 이용해 웹 애플리케이션을 만듭니다.
- 서드 파티 프레임워크를 사용하지 않고 웹 애플리케이션을 만듭니다.
- 동적으로 확장 가능하며 성능 기준에 부합하는 배포형 애플리케이션을 구축합니다.
- 최신 웹 개발 사례에 적용할 수 있습니다.
- 예: 프로젝트 위험을 식별하고 관리합니다.
Requirements
- 본 강의를 수강하려면 Go 프로그래밍 언어를 사용해 프로그래밍을 할 수 있어야 합니다.
- Go 언어로 프로그래밍하는 법을 모르는 분은, “Google Go 프로그래밍 언어로 코딩하기” 강의를 먼저 수강하시기 바랍니다.
Description
가장 뛰어난 웹 개발 프로그래밍 언어인 ‘Go 프로그래밍’을 능숙하게 활용하고 싶은 분을 위한 강의
다룰 내용: 아키텍쳐, 템플릿, 서버, net/http 패키지, 상태 및 세션, 배포, Amazon Web Services, MySQL, MongoDB, MVC, Docker, Google Cloud, 웹 개발 툴킷 등
모든 웹 개발의 모든 기초를 탄탄하게 쌓고 웹 개발의 기초를 마스터하기.
[본 강의를 수강해야 하는 이유]
Go 프로그래밍 언어는 Google이 두각을 보이는 분야인, 확장 가능하면서 성능 기준에 부합하는 웹 애플리케이션을 위해 만들어진 언어입니다.
2009년에 오픈 소스가 된 후로 2012년 버전 1까지 나온 Go 프로그래밍 언어는 현재 가장 뛰어난 웹 개발 프로그래밍용 언어입니다. Go는 웹 애플리케이션, 웹 API, C, 마이크로서비스, 기타 배포판 서비스를 만드는 가장 강력하면서 성능 기준에 잘 부합하고 확장 가능한 프로그래밍 언어이기 때문입니다.
이 강의를 통해 웹 개발 분야의 기초를 탄탄하게 쌓을 수 있습니다.
[강의에서 다룰 내용]
다음과 같은 주제를 포함해 그 이상을 배울 수 있습니다.
아키텍처
네트워킹 아키텍처
클라이언트/서버 아키텍처
요청/ 응답 패턴
IETF가 정의한 RFC 표준
클라이언트 측 요청 및 서버 측 응답의 형식
템플릿
서버 측 프로그래밍에서 템플릿의 역할
Go의 표준 라이브러리에서 템플릿으로 작업하는 방법
템플릿으로 제대로 작업하기 위한 데이터 구조의 변경
서버
TCP와 HTTP 간의 관계
HTTP 요청에 응답하는 TCP 서버를 구축하는 방법
메모리 내 데이터베이스의 역할을 하는 TCP 서버를 생성하는 방법
다양한 라우트와 메서드를 처리하는 RESTful TCP 서버를 생성하는 법
웹 서버, 서브먹스, 멀티플렉서, 먹스 간의 차이
Julien Schmidt 라우터와 같은 서드 파티 라우터를 사용하는 방법
HTTP 메서드 및 상태 코드의 중요성
net/http 패키지
net/http 패키지를 이용해 웹 개발을 간소화하는 방법
net/http 패키지 간의 차이
핸들러 인터페이스
http.ListenAndServe
고유한 서브먹스 만들기
디폴트 서브먹스 사용하기
http.Handle 및 http.Handler
http.Handlefunc, func(ResponseWriter, *Request), 및 http.HandlerFunc
http.ServeContent, http.ServeFile, http.FileServer
http.StripPrefix
http.NotFoundHandler
상태 및 세션
UUID, 쿠키, URL에서의 값, 보안의 상태를 만드는 방법
로그인, 권한, 로그아웃 세션을 만드는 방법
세션을 만료시키는 방법
배포
도메인을 구매하는 방법
애플리케이션을 Google Cloud에 배포하는 방법
Amazon Web Services
Amazon Web Services(AWS)를 사용하는 방법
AWS EC2(Elastic Compute Cloud)에 Linux 가상 머신을 생성하는 방법
SSH(Secure Shell)를 이용해 가상 머신을 관리하는 방법
SCP(Secure Copy)를 이용해 가상 머신으로 파일을 전송하는 방법
로드 밸런서의 정의 및 AWS에서 사용하는 방법
MySQL
AWS에서 MySQL을 사용하는 방법
MySQL Workbench를 AWS로 연결하는 방법
MongoDB
CRUD 이해하기
MongoDB와 Go를 사용하는 방법
MVC(모델-뷰-컨트롤러) 설계 패턴
MVC 설계 패턴 이해하기
MVC 설계 패턴 활용하기
Docker
가상 머신vs 컨테이너 비교
Docker의 장점 이해하기
Docker 이미지, Docker 컨테이너, Docker 레지스트리
Docker 및 Go 구현하기
Docker 및Go 배포하기
Google Cloud
Google Cloud Storage
Google Cloud NoSQL Datastore
Google Cloud Memcache
Google Cloud PAAS App Engine
웹 개발 툴킷
AJAX
JSON
json.Marhsal 및 json.Unmarshal
json.Encode 및 json.Decode
HMAC(해시 메시지 인증 코드)
Base64 인코딩
웹 저장소
컨텍스트
TLS 및 HTTPS
태그를 이용한 Go언어 JSON 작업
[강사 소개]
제 이름은 Todd McLeod입니다. 저는 프레즈노 시티 컬리지의 컴퓨터 정보 기술학과 종신 교수이자, 캘리포니아 주립 대학 프레즈노 캠퍼스의 컴퓨터 공학과 겸임 교수로 재직 중입니다. 22년 이상 학생을 가르친 경력을 지니고 있기 때문에, 이 강의를 수강하시고 나면 뛰어난 웹 개발자로 거듭나실 수 있을 거라 생각합니다.
[본 강의를 수강하고 나면:]
현재 사용되고 있는 최고 수준의 기술을 습득하실 수 있고,
현재 사용되고 있는 최적의 웹 개발 방법을 배우실 수 있으며,
업계에서 가장 수요가 높고 높은 연봉을 받을 수 있는 기술도 습득하실 수 있습니다.
야심차게 준비한 이 강의를 수강하시고 웹 개발 분야의 모범 사례를 배워보세요.
지금 바로 수강 신청을 하시고 멋진 미래를 향한 첫 발걸음을 내딛으세요.
1강에서 뵙겠습니다!
- Todd
강의를 들으시고 강의와 관련하여 궁금하신 점은 무엇이든 Q&A에 남기실 수 있지만, 꼭 영어로 내용을 남겨 주세요. 그래야 상세한 답변을 드릴 수 있습니다. :)
Who this course is for:
- 대학교 웹 프로그래밍 강의의 입문 단계가 알고 싶으신 분
- Go 프로그래밍 언어를 사용할 줄 아는 수강생
- Go 프로그래밍 언어를 사용한 웹 개발의 입문 단계를 완벽하게 숙지하려는 프로그래머
- 관련 지식을 더 높은 수준으로 완성하려는 개발자
Instructors
Fun, Quick, & Easy
Learning can be fun, quick, and easy if you have the right teacher. I come from a family of teachers, I've taught at the college and university level for over 20 years, and I have been recognized as one of the top teachers in the California college system. I became a teacher because I love sharing knowledge and seeing how it transforms people's lives. Learning is the noblest of all endeavors. The more you learn, the more you improve your life.
Learn Quickly & Effectively
All of my courses include step-by-step tutorials and hands-on exercises. The tutorials show you what to do. The hands-on exercises allow you to practice what you have just seen. These hands-on exercises also come with all of the files you need and video solutions so that you can learn more quickly and effectively.
Great Courses for Beginners
I work with beginners all of the time. I understand how to take topics and make them easy to understand.
The Human Element
Students do better in classes where they enjoy the teacher. I am a bit goofy at times but this keeps my courses fun, interesting, and engaging. When you are learning with me, you are guaranteed to have a few laughs.
Traditional Credentials
I am a tenured professor in California, an autodidact, and multidisciplinarian. I have taught at the graduate and undergraduate levels in business, information system, and computer science. I also have a lot of knowledge about mindfulness, meditation, psychology, and personal growth. I was born into a culture of mindfulness and meditation, and have been involved with mindfulness and meditation all of my life. I have authored 48 books and have experience with the publishing industry, literature, and film. As I said, I love learning and love sharing knowledge with others.
I look forward to seeing you in class!
웅진씽크빅은 2021년 글로벌 온라인교육 플랫폼 Udemy와의 파트너십을 통해 양질의 다양한 교육문화 콘텐츠를 제공합니다.
웅진씽크빅이 Udemy를 통해 제공하는 학습 수요가 높은 개발, IT/SW, 디자인 등 최신 기술의 강의를 빠르게 만나보세요!
웅진씽크빅이 운영하는 Udemy Curation에서는 Udemy 수강 효율을 높여주는 학습 로드맵을 제공하고, 기업 연계 프로젝트/포트폴리오 제작/현직자 네트워킹 등 다양한 교육 이벤트에 참여하실 수 있습니다.
정기적으로 '취업 부트캠프'를 운영하여 IT, 데이터 등 인기 직무의 취업을 꿈꾸는 청년들을 지원하고 있습니다.
배움을 통한 무한한 꿈의 도전에 웅진씽크빅과 Udemy가 함께 하겠습니다.