### 주제 + 프론트엔드 웹 기술 스터디 ### 목표 + 웹 서비스의 구조와 원리 이해 + 나만의 블로그 페이지 만들기 ### 커리큘럼 + 웹 서비스 개론 + HTML + CSS + Bootstrap + JSP ### 대상 + 웹 개발 입문자 + 자바에 대한 기초지식이 있는사람 ### 시간 및 장소 + 매주 월, 목 2시간씩, 총 4주 + 신림역 2호선 통스토리 ![](https://www.dropbox.com/s/ibhv7no6cz4lydq/silim.png?dl=1) ### 비용 + 10만원(스터디룸 비용 별도) ### 연락처 + 이메일: [email protected] + 카 톡: chaesam ### 파일 공유 + https://www.dropbox.com/sh/snwbgeyarv91tr9/AAAoAdTgoHjqLQPIaC8F0AZJa?dl=0
# 웹 서비스의 동작원리 ## 문제 웹 서비스의 동작원리를 아래 키워드를 사용하여 설명해주세요. + 서버와 클라이언트 + 요청과 응답 ![](https://www.dropbox.com/s/f3sdrdjja73zabw/0301.jpg?dl=1) ## 힌트 해당 키워드들을 구글링 해볼 것.
# 웹 개발자의 직군 ## 문제 아래 기재된 웹 개발자의 직군에 대해 설명하시오. + 프론트엔드(front-end) 개발자 + 백엔드(back-end) 개발자 + 데이터베이스관리자(DBA) ## 힌트 해당 키워드들을 구글링 해볼 것.
# 자기소개하기 ## 문제 자기소개 페이지를 작성해주세요. ## 예시 ![](https://www.dropbox.com/s/tca7vp38i2ssp8k/html-06.png?dl=1) ## 힌트 위 예시를 작성하기 위해서는 아래의 태그들이 필요함. 구글링 할 것. + h 태그 + p 태그 + img 태그 + a 태그 + ol 태그 + ul 태그 + li 태그 ## 레퍼런스 + http://cloudstudying.kr/lectures/42
# 스터디 멤버 표 만들기 ## 문제 table 태그를 사용하여 스터디원들의 정보를 표로 만들어 주세요. ## 예시 ![](https://www.dropbox.com/s/6brqpxmrqkhc96x/0101.png?dl=1) ## 힌트 예시를 구현하기 위해서는 아래의 태그들이 필요함. 구글링 할 것. + h 태그 + p 태그 + a 태그 + table 태그 + tr 태그 + th 태그 + td 태그 ## 레퍼런스 + http://cloudstudying.kr/lectures/43
# CSS 개요 ## 문제 HTML과 CSS의 관계를 설명해주세요. (기존의 HTML에서 CSS가 왜 필요하게 되었는가를 중점으로..) ## 힌트 + 구글링 ## 레퍼런스 + http://cloudstudying.kr/lectures/69
# CSS 선택자 ## 문제 CSS 선택자(selector)란 무엇이고 어떠한 문법구조를 가지는지 조사해주세요. ## 힌트 + 구글링 ## 레퍼런스 + http://cloudstudying.kr/lectures/69#css-syntax
# id 와 class 선택자 ## 문제 **id 선택자**와 **class 선택자**를 사용하여 HTML문서를 꾸미는 방법에 대해 조사해주세요. ## 힌트 + HTML: id 속성, class 속성 + CSS: id 선택자, class 선택자 ## 레퍼런스 + http://cloudstudying.kr/lectures/71
# bootstrap 적용하기 ## 문제 bootstrap을 적용하여 아래 페이지를 작성해주세요. ## 예시 ![](https://www.dropbox.com/s/po1ukitqvsyk001/0201.png?dl=1) ## 레퍼런스 + http://getbootstrap.com/getting-started/#template + http://getbootstrap.com/components/#jumbotron + http://getbootstrap.com/components/#page-header + http://getbootstrap.com/css/#buttons + http://getbootstrap.com/css/#tables
# JSP 동작원리 ## 문제 JSP의 동작원리를 조사해주세요. (정적인 페이지를 동적인 페이지로 변환하는 과정에 대해) ## 레퍼런스 + http://cloudstudying.kr/lectures/58
# JSP 태그 ## 문제 JSP태그란 무엇이며 어떻게 사용하는지 조사해주세요. ## 힌트 + 구글링: JSP 태그 ## 레퍼런스 + http://cloudstudying.kr/lectures/58 + http://cloudstudying.kr/lectures/59
# JSP 내부객체 ## 문제 JSP 내부객체란 무엇이며 어떠한 종류가 있는지 조사해주세요. 특히 request와 response 객체에 관하여는 어떻게 활용하는지에 대해서도 알아봐주세요. ## 힌트: 구글링 + JSP 내부객체 + JSP request 객체 + JSP response 객체 ## 레퍼런스 + http://cloudstudying.kr/lectures/58#jsp-inner-instance + http://cloudstudying.kr/lectures/60
# 헬로 JSP ## 문제 JSP 개발환경을 셋팅 후, 첫 JSP 페이지를 만들어 주세요. ## 개발환경 설정 + JDK 설치 + 환경변수 설정 + 이클립스 설치 + 톰캣 다운로드 + 이클립스 톰캣 연동 ## JSP 예제 페이지 ![](https://www.dropbox.com/s/04xg73dp60r8hqf/SJ1-16.png?dl=1) ## 레퍼런스 + http://cloudstudying.kr/lectures/57
# request 객체 ## 문제 request 객체의 API를 사용하여 아래와 같은 페이지를 만들어주세요 ![](https://www.dropbox.com/s/0izqk8eknrhta0w/0406.png?dl=1) ## 힌트 + 구글링: jsp request 객체 ## API + https://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpServletRequest.html ## 레퍼런스 + http://cloudstudying.kr/lectures/60
# HTTP 프로토콜 HTTP 프로토콜중 GET과 POST 방식에 대해 조사해주세요. ## 힌트 + 구글링: http 프로토콜 get post ## 레퍼런스 + http://cloudstudying.kr/lectures/72
# 쿼리 스트링(query string) ## 문제 쿼리스트링에 대해 조사해주세요. ## 힌트 + 구글링: JSP 쿼리 스트링 ## 레퍼런스 + https://en.wikipedia.org/wiki/Query_string#URL_encoding
# 로그인 폼(form) ## 문제 예시와 같이 동작하는 로그인 폼을 만들어 주세요. ## 예시 ![로그인UI설계][1] ## 레퍼런스 + http://getbootstrap.com/css/#forms + http://cloudstudying.kr/lectures/72 [1]: https://www.dropbox.com/s/qdvn5knii5x5iek/0501.jpg?dl=1
# 로그인 / 로그아웃 ## 문제 예시와 동작흐름을 참고로 로그인 / 로그아웃 페이지를 만드세요. ## 동작흐름 ![동작원리][1] ## 예시 **로그인** ![로그인][2] **로그아웃** ![로그아웃][3] **로그인 실패** ![로그인 실패][4] ## 레퍼런스 + http://cloudstudying.kr/lectures/73 [1]: https://www.dropbox.com/s/xrfds38f655xjyu/0601.jpg?dl=1 [2]: https://www.dropbox.com/s/51p3w1ifaqg29a6/0603.png?dl=1 [3]: https://www.dropbox.com/s/0tlpdlwttxm0tuo/0605.png?dl=1 [4]: https://www.dropbox.com/s/f2xmdcfmwi6h1v1/0604.png?dl=1
# 쿠키와 세션 ## 문제 쿠키와 세선이 무엇이고, 왜 필요한지에 대해 설명해주세요. ## 힌트 + 구글링: 쿠키와 세션 ## 레퍼런스 + http://cloudstudying.kr/lectures/76
# DBMS ## 문제 DBMS란 무엇이고 어떠한 종류가 있는지 조사해주세요. ## 힌트 + 구글링: DBMS 종류
# 세션과 로그인/로그아웃 ## 문제 세션을 통한 로그인/로그아웃 페이지를 설계해봅시다. 시나리오는 다음과 같습니다. ![](https://www.dropbox.com/s/emxo53hc0y94wck/0801.jpg?dl=1) 1. 로그인 화면을 통해 데이터를 전달하여 인증을 시도합니다. 2. 인증을 성공하면 성공의 결과물로 세션값(인증키)을 등록하고 웰컴페이지로 이동합니다. + welcome 페이지는 인증키가 있는 사용자만 볼 수 있도록 하여 보안을 강화합니다. 3. 로그아웃을 하면 모든 세션데이터를 삭제(무효화)하고 로그인 페이지로 이동하게 됩니다. ## 화면 예 ![](https://www.dropbox.com/s/4bsjzues6u66lid/0602.jpg?dl=1) ## 힌트 + 내부객체와 API를 잘 사용할 것. - request - response - session ## 레퍼런스 + http://cloudstudying.kr/lectures/73 + http://cloudstudying.kr/lectures/82
# 헬로 스프링 ## 문제 스프링 프레임워크를 이용하여 홈페이지의 첫 페이지를 아래 예제와 같이 만들어주세요 ## 실행 예 ![](https://www.dropbox.com/s/yji1ksqfoqcmrdk/0310.png?dl=1) ## 레퍼런스 + http://cloudstudying.kr/lectures/111