Skip to the content.

Web Programming Application 2023

한국교통대학교, 충주 | KNUT (Korea National University of Transportation)


This Week / 14주차 6월9일

this-week

14. Unit 5: 24 User Authentication with Passport.js / Passport.js으로 사용자 인증

This week we will use Passport.js to do user authentication. We will add a login and logout button, and add a loggedIn status to the navbar. This means we will need to remove bcrypt and some other functionality.

이번 주에는 Passport.js를 사용하여 사용자 인증을 수행합니다. 로그인 및 로그아웃 버튼을 추가하고 네비게이션 바에 loggedIn 상태를 추가합니다. 이것은 bcrypt 및 일부 다른 기능을 제거해야 함을 의미합니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스

As the last step in your final project, use the Capstone 5 PPT to add User Authentication.

마지막 단계로 최종 프로젝트에서 사용자 인증을 추가하십시오.

Required Reading / 필수 독서

Course Topics / 과정 화제

Week Date Unit 화제 Topic
1 3/3 수업 소개 Overview and introduction to class
2 3/10 0 깃허브 클래스룸과 웹프로그래밍 복습 GitHub Classroom & Web Programming Review
3 3/17 1 노드 웹서버 첫 걸음 Node Webserver First Steps
4 3/24 1 캡스톤1: 첫 웹 앱 Capstone 1: First Web App
5 3/31 1 캡스톤1: 연속 (부트스트랩 사용) Capstone 1: Continued (with Bootstrap)
6 4/7 2 Express를 통한 웹 개발 Express Webserver
7 4/14 3 MongoDB 연결 Connecting MongoDB
8 4/21 중간고사: 캡스톤2 Midterm Exam: Capstone 2
9 4/28 3 MongoDB 연결 + 캡스톤3: MongoDB 추가 Connecting MongoDB + Capstone 3
5/5 공휴일: 어린이날 HOLIDAY: Children’s Day
10 5/12 4 사용자 데이터 모델 User Data Models
11 5/19 4 캡스톤4: CRUD (생성, 조회, 수정, 삭제) Capstone 4: CRUD (Create, Read, Update, Delete)
12 5/26 5 사용자 인증 User Authentication
13 6/2 5 캡스톤5: 사용자 인증 추가 Capstone 5: Adding User Authentication
14 6/9 6 API 추가 (+ 캡스톤6?) Adding an API (+ Capstone 6?)
15 6/16 최종 프로젝트 + 기말고사 Final Projects + Final Exam

Previous Weeks / 이전 주차

Week 1 / 1주차 3월3일

1. Orientation and introduction to class / 오리엔테이션 및 수업 소개

We will use this session to get to know the range of interests and experience students bring to the class, as well as to survey the topics to be covered. We will discuss class goals, grading, the textbook, and get to know the instructor.

우리는 이 세션을 통해 학생들이 수업에 가져오는 관심사와 경험의 범위를 파악하고 다룰 주제를 조사할 것입니다. 우리는 수업 목표, 채점, 교과서에 대해 논의하고 강사를 알게 될 것입니다.

Resources / 리소스
↑ Schedule / 일정 다시 가기

Week 2 / 2주차 3월10일

2. GitHub Classroom & Web Programming Review / 깃허브 클래스룸과 웹프로그래밍 복습

This week will introduce GitHub Classroom and how to submit assignments. We will then install the programs we will need to use in this class. We will also do a web programming review, including building a simple, responsive, website menu with HTML, CSS, and JavaScript. Finally, we’ll write a few simple scripts and run them in Node.

이번 주에는 GitHub 클래스룸과 과제 제출 방법을 소개합니다. 그런 다음 이 수업에서 사용할 프로그램을 설치합니다. 또한 웹프로그래밍 복습을 수행하고 HTML, CSS, 및 JavaScript를 사용하여 간단하고 반응 가능 웹사이트 메뉴를 만들 것입니다. 마지막으로 몇 가지 간단한 스크립트를 작성하고 Node.js에서 실행할 것입니다.

Assignment / 과제

책에서 다음 코드 연습을 완료하십시오. 그런 다음 다시 GitHub 클래스룸으로 “커밋 및 푸시” 하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 3 / 3주차 3월17일

3. Node Webserver First Steps / 노드 웹서버 첫 걸음

This week we take a look at some of the major problems and mistakes from last week and how to fix them. We will have a brief introduction to what Node is, how it works, and why it’s important. Finally, we’ll get to work on creating a web server and simple website in Node.js.

이번 주에는 지난주의 주요 문제와 실수를 살펴보고 이를 수정하는 방법을 알아봅시다. Node.js가 무엇인지, 어떻게 작동하는지, 왜 중요한지에 대해 간략하게 소개하겠습니다. 마지막으로 Node.js에서 웹 서버와 간단한 웹 사이트를 만드는 작업을 시작합니다.

Assignment / 과제

책에서 다음 코드 연습을 완료하십시오. 그런 다음 다시 GitHub 클래스룸으로 “커밋 및 푸시” 하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 4 / 4주차 3월24일

4. Capstone 1: First Web Application / 캡스톤 1: 첫 번째 웹 애플리케이션

This week we will finish Lesson 6 in dealing with routes and external files. Then we will build our first full web application in Lesson 7 with our first Capstone Project.

이번 주에 우리는 라우트와 외부 파일을 다루는 6과를 끝낼 것입니다. 그런 다음에 첫 번째 캡스톤 프로젝트를 사용하여 7과에서 첫 번째 웹 애플리케이션을 만듭니다.

Assignment / 과제

책에서 다음 코드 연습을 완료하십시오. 그런 다음 다시 GitHub 클래스룸으로 “커밋 및 푸시” 하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 5 / 5주차 3월31일

5. Capstone 1: Continued (with Bootstrap) / 캡스톤 1: 연속 (부트스트랩 사용)

This week will include more in-class coding time. We will continue working on our first Capstone Project, adding Bootstrap to our web application. We will build a simple index.html page together with Bootstrap and students will add their own pages to the project.

이번 주에는 수업 중 더 많은 코딩 시간이 포함될 것입니다. 우리는 웹 응용 프로그램에 부트스트랩을 추가하여 첫 번째 캡스톤 프로젝트를 계속 작업할 것입니다. 우리는 간단한 index.html 페이지를 부트스트랩과 함께 만들고 학생들은 자신의 페이지를 프로젝트에 추가할 것입니다.

Assignment / 과제
Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 6 / 6주차 4월7일

6. Unit 2: Web Development with Express.js / Express.js를 통한 웹 개발

Let’s change things up a little bit this week. We will be learning about Express.js, a popular web framework for Node.js. It makes it easier to build web applications and APIs. We will also learn about the EJS template engine, which is used to generate HTML, and middleware, which is code that runs between the request and the response.

이번 주에는 조금 다른 것을 배워보겠습니다. 우리는 Express.js를 배울 것입니다. 이것은 Node.js의 인기있는 웹 프레임워크입니다. 웹 응용 프로그램과 API를 더 쉽게 만들 수 있습니다. 우리는 또한 HTML을 생성하기 위해 사용되는 EJS 템플릿 엔진과 요청과 응답 사이에 실행되는 코드인 미들웨어에 대해 배울 것입니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 7 / 7주차 4월14일

7. Unit 3: Connecting to MongoDB / MongoDB에 연결

It’s time to start working with a database where we can store our data. We will be using MongoDB, a popular NoSQL database. We will also be using Mongoose, an Object Data Modeling (ODM) library for MongoDB and Node.js. This week we will also be going over the Midterm Study Guide.

데이터를 저장할 수 있는 데이터베이스를 사용하여 작업을 시작할 시간입니다. 우리는 인기있는 NoSQL 데이터베이스인 MongoDB를 사용할 것입니다. 우리는 또한 MongoDB와 Node.js를 위한 객체 데이터 모델링 (ODM) 라이브러리인 Mongoose를 사용할 것입니다. 이번 주에는 중간고사 스터디 가이드도 다룰 것입니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 8 / 8주차 4월21일

8. Midterm Test / 중간고사

The midterm test consists of 2 parts. / 중간고사는 2가지 부분으로 이루어집니다.

  1. Online Quiz / 온라인 퀴즈 (Study Guide / 스터디 가이드)
  2. Capstone Project / 캡스톤 실기 시험

This test is OPEN BOOK. You may use any resources you want, including the Internet, books, notes, etc. You may not communicate with other students or use any other resources during the test.
이 시험은 OPEN BOOK입니다. 인터넷, 책, 노트 등을 포함한 모든 자료를 사용할 수 있습니다. 시험 중에 다른 학생과 통신하거나 다른 자료를 사용할 수 없습니다.

This midterm project, together with the online quiz, will be worth 15% of your final grade.
이 중간 프로젝트는 온라인 퀴즈와 함께 최종 성적의 15% 를 차지합니다.

Test / 시험
Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 9 / 9주차 4월28일

9. Unit 3: Continuing MongoDB + Capstone / MongoDB 계속하기 + 캡스톤

First, we will be going over the Midterm Test solution. After that, we will continue with MongoDB and Mongoose. We will also be starting the Capstone project, which will be due in 2 weeks (on May 12, 2023).

먼저 중간고사 해설을 진행합니다. 그 후에는 MongoDB와 Mongoose를 계속 진행합니다. 또한 2주 후에 (2023년 5월 12일) 제출할 캡스톤 프로젝트를 시작합니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 10 / 10주차 5월12일

10. Unit 4: Building a User Model / 사용자 모델 제작

This week we will begin building our User and Course model-view-controllers. First we add some validation to our models, then we add CRUD methods to our controllers. Finally, we will add our new routes to our application.

이번 주에는 사용자와 코스 모델-뷰-컨트롤러를 제작하기 시작합니다. 먼저 모델에 일부 유효성 검사를 추가한 다음 컨트롤러에 CRUD 메서드를 추가합니다. 마지막으로 새로운 라우트를 애플리케이션에 추가합니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 11 / 11주차 5월19일

11. Unit 4: CRUD Operations / CRUD 작업

This week we will build out the rest of our CRUD operations for our User model. We will also add some additional validation to our model and add some additional routes to our application. Then we will talk about our Final Project and you will have time to work on it.

이번 주에는 사용자 모델의 CRUD 작업을 완성합니다. 또한 모델에 추가적인 유효성 검사를 추가하고 애플리케이션에 추가적인 라우트를 추가합니다. 그런 다음 최종 프로젝트에 대해 이야기하고 작업할 시간을 드립니다.

Assignment / 과제

This week’s assignment is continuing Week 10’s assignment. 이번 주의 과제는 10주차 과제를 계속하는 것입니다.

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 12 / 12주차 5월26일

12. Unit 5: 22 Flash Messaging / 플래시 메시지

This week we will add flash messages.

이번 주에는 플래시 메시지를 추가합니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 13 / 13주차 6월2일

13. Unit 5: 23 Password Hashing / 패스워드 해싱

This week we will add password hashing with bcrypt.

이번 주에는 bcrypt를 사용하여 패스워드 해싱을 추가합니다.

Assignment / 과제

This week’s assignment is continuing Week 12’s assignment. 이번 주의 과제는 12주차 과제를 계속하는 것입니다.

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스
Required Reading / 필수 독서
↑ Schedule / 일정 다시 가기

Week 14 / 14주차 6월9일

14. Unit 5: 24 User Authentication with Passport.js / Passport.js으로 사용자 인증

This week we will use Passport.js to do user authentication. We will add a login and logout button, and add a loggedIn status to the navbar. This means we will need to remove bcrypt and some other functionality.

이번 주에는 Passport.js를 사용하여 사용자 인증을 수행합니다. 로그인 및 로그아웃 버튼을 추가하고 네비게이션 바에 loggedIn 상태를 추가합니다. 이것은 bcrypt 및 일부 다른 기능을 제거해야 함을 의미합니다.

Assignment / 과제

See the List of Assignments for specifics about grading. 과제의 세부 사항은 과제 목록을 참조하십시오.

Resources / 리소스

As the last step in your final project, use the Capstone 5 PPT to add User Authentication.

마지막 단계로 최종 프로젝트에서 사용자 인증을 추가하십시오.

Required Reading / 필수 독서