SlideShare a Scribd company logo
1 of 95
Download to read offline
현대고 학생들과 함께 하는 웹 개발
제 7차시~
한국디지털미디어고등학교
13기 웹 프로그래밍과 정욱재
자신의 웹 사이트 만들기
오늘의 수업
오늘 수업
자신의 아이디어가 있나?
게시판 만들기 수업 따라오기
미리 업로드 된 자료를
보면서 스스로 만들기!
+ 질문 활발히
예
아니오
스스로 만들기
스스로 만들기
구글과 GitHub 참고하면서 만들어주세요!
구글 검색관련한 부분은 검색과 관련하여 번외로 작성해놓은 부분을 참고해주세요.
스스로 만들기
중간중간에 모르는 점이 있으면 바로 불러주세요.
게시판 만들기
게시판 만들기
GitHub 와 부트스트랩 페이지 참고하면서 만들어주세요!
게시판 만들기
게시판 만들기
필요한 부분
환경
APM/LEMP 등등 웹 서버 + PHP + Mysql 서버 환경이 갖추어진 곳
기능
글 쓰기
글 조회
글 삭제
UI+
옵션
자신의 디자인 센스..?
게시판 만들기
부트스트랩은 당연!
게시판 만들기
적당히 난이도 조절
게시판 만들기
익숙해진 후 예상 시간 : 15분 정도
게시판 만들기
전체 코드 : 약 180줄
게시판 만들기
시작
시작
DB 구성
시작
UI 구성
시작
시작
시작
페이지 구성
시작
index.(php|html|htm)
index.css
index.js
bootstrap*
시작
UI 세부
타이틀
글 1
글 1
글 1
글쓰기 버튼
타이틀
글 1
글 1
글 1
글쓰기 버튼 버튼
네비게이션 바
점보트론
그냥 h* & p태그
타이틀
글 1
글 1
글 1
글쓰기 버튼
글쓰기 폼
글쓰기취소
글쓰기1
글쓰기2
글쓰기3
타이틀
글 1
글 1
글 1
글쓰기 버튼
글쓰기 폼
글쓰기취소
글쓰기1
글쓰기2
글쓰기3
모달
폼
시작
중간에 더 낫다고 여기는 방식이 있으면 그렇게 코딩해주세요.
시작
HEAD 부터!
시작
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>게시판 만들기!</title>
<!-- Bootstrap core CSS
================================================== -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<!-- Bootstrap core JavaScript
================================================== -->
<script src="http://code.jquery.com/jquery-latest.min.js" type='text/
javascript'></script>
<script src="js/bootstrap.min.js" type=“text/javascript"></script>
</head>
시작
네비게이션 바!
시작
<nav class='navbar navbar-default'>
<div class=‘container-fluid’>
<div class=‘navbar-header’>
<a class=‘navbar-brand’ href=‘./’>게시판</a>
<p class=‘navbar-text’>간단한 게시판 만들기</a>
</div>
</div>
</nav>
시작
컨테이너는?
시작
<div class=‘container'>
<button type=‘button’ class=‘btn btn-primary btn-lg’>New Post!</button>
</div>
시작
그런데 모달이 뭐야?
시작
Modal.js 를 활용하여 대화창을 띄우는 것.
여러모로 활용될 수 있고, 많은 용도로 쓸 수 있으므로 알고 있는 것이 도움이 많이 됨.
그냥 대화창을 모달이라 생각하시는 것이 좋아요.
시작
Modal 을 써보자
시작
<div class=‘container'>
<button type=‘button’ class=‘btn btn-primary btn-lg’ data-toggle="modal"
data-target="#writingModal">New Post!</button>
</div>
시작
<div class=‘modal fade’ id="writingModal" tabindex="-1" role="dialog" aria-
labelledby="writingModalLabel" aria-hidden="true">
<div class=‘modal-dialog’>
<div class=‘modal-content’>
<!-- Modal Head -->
<div class=‘modal-header’>
</div>
<!-- Modal Body -->
<div class=‘modal-body’>
</div>
<!-- Modal Foot -->
<div class=‘modal-footer’>
</div>
</div>
</div>
</div>
시작
<div class=‘modal-header’>
<button type=‘button’ class=‘close’ data-dismiss=‘modal’ aria-
label=‘Close’><span aria-hidden=‘true’>&times;</span></button>
<h4 class=‘modal-title’ id=‘writingModalLabel’>Writing New Post!</h4>
</div>
시작
<div class=‘modal-body’>
<div class=‘modal-form-group’>
<label for=‘inputTitle’ class=‘col-sm-2 control-label’>Title</label>
<div class=‘col-sm-10’>
<input type=‘col-sm-10’ class=‘form-control’ id=‘inputTitle’
placeholder=‘Title’ name=‘title’>
</div>
</div>
<div class=‘modal-form-group’>
<label for=‘inputAuthor’ class=‘col-sm-2 control-label’>Author</label>
<div class=‘col-sm-10’>
<input type=‘col-sm-10’ class=‘form-control’ id=‘inputAuthor’
placeholder=‘Author’ name=‘author’>
</div>
</div>
<div class=‘modal-form-group’>
<label for=‘inputContent’ class=‘col-sm-2 control-label’>Content</label
<div class=‘col-sm-10’>
<input type=‘col-sm-10’ class=‘form-control’ id=‘inputContent’
placeholder=‘Content’ name=‘content’>
</div>
</div>
</div>
시작
<div class=‘modal-footer’>
<button type=‘button’ class=‘btn btn-default’
data-dismiss=‘modal’>Close</button>
<button type=‘submit’ class=‘btn btn-primary’>Post!</button>
</div>
시작
vsJS Html
시작
<div class=‘modal-footer’>
<button type=‘button’ class=‘btn btn-default’
data-dismiss=‘modal’>Close</button>
<button type=‘submit’ class=‘btn btn-primary’ onclick
=“javascript:document.form[‘modal-form’].onsubmit();”>Post!</button>
</div>
JS
<div class=‘modal-body’>
<form name='modal-form' class="form-horizontal" method='post' action='.'>
…
… 기존 내용
</form>
</div>
시작
<div class=‘modal-footer’>
<button type=‘button’ class=‘btn btn-default’
data-dismiss=‘modal’>Close</button>
<button type=‘submit’ class=‘btn btn-primary’>Post!</button>
</div>
</form>
HTML
<form name='modal-form' class="form-horizontal" method='post' action='.'>
<div class=‘modal-body’>
…
… 기존 내용
</div>
시작
UI 준비는 이제 거의 끝났다!
시작
뭔가 없는 것 같지 않나?
시작
글이 보일 부분을 준비하자!
시작
<div class=‘container’>
<!-- 이부분! -->
<button type=‘button’ class=‘btn btn-primary btn-lg’ data-toggle="modal"
data-target="#writingModal">New Post!</button>
<!-- Modal —>
…………
…………
</div>
시작
<div>
<h3>테스트 게시글<small>누구누구 (2016-XX-XX)</small></h3>
<p>나는 누구누구 입니다. 코드 하이라이팅 힘들어요. 색 입히기 싫어요.
색 하나 하나 입히는 거 너무 힘들어요. 코드 그만 쓰고 싶어요.</p>
</div>
<hr>
<div>
<h3>테스트 게시글2<small>누구누구2 (2016-XX-XX)</small></h3>
<p>아무 생각하기 싫어요. 누군가 대신 발표자료 만들었으면 좋겠어요.
UI만 끝났지 아직 백앤드가 많이 남았어요. 힘들어요.</p>
</div>
시작
<div>
<h3>테스트 게시글<small>누구누구 (2016-XX-XX)</small></h3>
<p>나는 누구누구 입니다. 코드 하이라이팅 힘들어요. 색 입히기 싫어요.
색 하나 하나 입히는 거 너무 힘들어요. 코드 그만 쓰고 싶어요.</p>
</div>
<hr>
<div>
<h3>테스트 게시글2<small>누구누구2 (2016-XX-XX)</small></h3>
<p>아무 생각하기 싫어요. 누군가 대신 발표자료 만들었으면 좋겠어요.
UI만 끝났지 아직 백앤드가 많이 남았어요. 힘들어요.</p>
</div>
드디어 UI가 끝났습니다.
시작
중간 점검!
시작
글을 쓸 수 있는 UI가 갖추어졌다! 서버로의 전송도 된다.
서버를 짜야한다!
글을 조회할 수 있는 UI가 갖추어졌다!
서버를 짜야한다!
글을 삭제할 수 있는 것은 안 갖추어졌다!
서버랑 UI 둘 다 짜야한다!
시작
글 삭제는 나중에...
시작
어떻게 넘어오나?
content
POST 전송
변수 값
글 내용
author 글쓴이
title 글 제목
시작
쿼리 문부터 만들자!
글을 DB에 넣어야 한다. => INSERT 문
시작
쿼리 문부터 만들자!
글을 DB에 넣어야 한다. => INSERT 문
INSERT INTO `Posting` (`no`, `title`, `date`, `content`, `author`)
VALUES (NULL, ‘…’, ‘…’, ‘…’, ‘…’);
시작
쿼리 문부터 만들자!
글을 DB에서 받아와야 한다. => SELECT 문
시작
쿼리 문부터 만들자!
SELECT * FROM `Posting` WHERE 1;
글을 DB에서 받아와야 한다. => SELECT 문
시작
MYSQL 과의 연동을 시작하자
시작
$host = "localhost";
$id = “UserId";
$pw = “UserPw";
$db = “DB_NAME";
$connection = mysqli_connect($host, $id, $pw, $db);
// if there is an error, die;
if(mysqli_connect_errno()) {
die("db connection error : ".mysqli_connect_errno());
}
// mysql 로직
mysqli_close($connection);
시작
글 받아오기
시작
……
if(mysqli_connect_errno()) {
die("db connection error : ".mysqli_connect_errno());
}
// mysql 로직
// 글 받아오기
$posts = array();
if($queryResults = mysqli_query($connection, "SELECT * FROM
`Posting` WHERE 1;")) {
while($row = mysqli_fetch_assoc($queryResults)) {
array_push($posts, $row);
}
mysqli_free_result($queryResults);
}
mysqli_close($connection);
시작
foreach($posts as $index => $val) {
echo "<div>";
echo "<h3>".$val['title']." <small>".$val['author']." (".
$val['date'].")</small></h3>";
echo "<p>".$val['content']."</p>";
echo “</div>";
if($index < count($posts) - 1) {
echo "<hr>";
}
}
시작
글 쓰기
시작
if(($content = @$_POST['content'])
&& ($author = @$_POST['author'])
&& ($title = @$_POST['title'])) {
$query = sprintf("INSERT INTO `Posting` (`no`, `title`, `date`
`content`, `author`) VALUES (NULL, '%s', '%s', '%s', '%s');",
mysqli_real_escape_string($connection, $title),
date("Y-m-d"),
mysqli_real_escape_string($connection, $content),
mysqli_real_escape_string($connection, $author));
mysqli_query($connection, $query);
header("Refresh:0;");
die;
}
시작
이제 다 동작한다!
삭제 빼고
시작
삭제 UI부터
시작
foreach($posts as $index => $val) {
echo "<div>";
echo "<h3>".$val['title']." <small>".$val['author']." (".
$val['date'].")</small></h3>";
echo "<p>".$val['content']."</p>";
echo “</div>";
if($index < count($posts) - 1) {
echo "<hr>";
}
}
시작
foreach($posts as $index => $val) {
echo “<div>”;
echo “<form action=‘.’ method=‘post’>”;
echo “<input type=‘hidden’ name=‘no’ value=‘“.$val[‘no’].”’>”;
echo “<button type='submit'>”;
echo “<span class='glyphicon glyphicon-remove'
aria-hidden=‘true’></span>”;
echo “</button>”;
echo "<h3>".$val['title']." <small>".$val['author']." (".
$val['date'].")</small></h3>";
echo “<p>".$val['content']."</p>";
echo “</form>”;
echo “</div>";
if($index < count($posts) - 1) {
echo "<hr>";
}
}
시작
foreach($posts as $index => $val) {
echo “<div>”;
echo “<form action=‘.’ method=‘post’>”;
echo “<input type=‘hidden’ name=‘no’ value=‘“.$val[‘no’].”’>”;
echo “<button type='submit'>”;
echo “<span class='glyphicon glyphicon-remove'
aria-hidden=‘true’></span>”;
echo “</button>”;
echo "<h3>".$val['title']." <small>".$val['author']." (".
$val['date'].")</small></h3>";
echo “<p>".$val['content']."</p>";
echo “</form>”;
echo “</div>";
if($index < count($posts) - 1) {
echo "<hr>";
}
}
시작
if(($no = @$_POST['no'])) {
if(is_numeric($no)) {
$query = sprintf("DELETE FROM `Posting` WHERE `no` = %s",
mysqli_real_escape_string($connection, $no));
mysqli_query($connection, $query);
header("Refresh:0;");
}
die;
}
다듬기
다듬기
modal 에서 textarea 의 크기를 마음대로 늘려보라
마음대로 늘어난다.
다듬기
textarea 스타일 추가 -> resize:vertical;
다듬기
X 버튼이 왜 왼쪽이지 안 이쁘다. 게다가 배경색이랑 막 이상한게 껴있다.
다듬기
X 버튼에 (button 태그) 에 스타일 추가 ->
float:right;
border:none;
background:transparent;
다듬기
빈칸체크하고 싶다!
사실 서버에서 체크해주면 상관이 없을 것 같긴하나, 사용자가 뭐 같다.
다듬기
modal form 에서 onsubmit 함수 추가
다듬기
추가 방법
window.onload = function(event) {
document.forms[‘modal-form’].onsubmit = function (event) {
// 함수코드
}
}
다듬기
추가 방법
<form … … … onsubmit=‘javascript:……’>
다듬기
추가 팁!
Form 의 onsubmit 함수에서 return false; 를 하면 submit이 취소된다!
이것을 활용하여
<form onsubmit=‘javascript:return validate(this);’>
와 같은 코드 작성가능
(이 때 validate는 적당한 값이 들어 있으면 true를, 아니면 false 를 리턴한다.)
다듬기
게시판에서 validate 함수
function validate(form) {
if(form.title.value == "") {
alert('제목을 입력하지 않았습니다.');
return false;
} else if(form.author.value == "") {
alert(‘글쓴이을 입력하지 않았습니다.');
return false;
} else if(form.content.value == "") {
alert('글을 입력하지 않았습니다.');
return false;
}
return true;
}
다듬기
근데 this가 뭐야?
다듬기
자기 자신을 가리키는 변수
다른 언어에서도 활용되는 키워드이며,
많은 사용법과 난해함으로 프로그래머들의 불평을 안고 산다.
하지만 잘 쓰면 엄청 편하다!
반드시 익힐 필요는 없다.
추가자료
추가자료
추가자료
이거 뭐요?
추가자료
검색 버튼!
추가자료
SELECT 문 좀 더 써보기
추가자료
검색부분만 고쳐주면 바로 구현가능
시작
<!-- Navigation
================================================== -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="./">게시판</a>
<p class="navbar-text">간단한 게시판 만들기!</p>
</div>
<!-- 검색 -->
<form class="nav navbar-nav navbar-form navbar-right"
role="search" method='get' onsubmit='javascript:return
validateForSearch(this);'>
<div class="form-group">
<input type="text" class="form-control" name="s"
placeholder="검색할 키워드" value="<?=@$_GET['s']?>">
</div>
<button type="submit" class="btn btn-default">검색</button>
</form>
</div>
</nav>
시작
if($searchKeyword = @$_GET['s']) {
$searchKeyword = mysqli_real_escape_string($connection,
htmlspecialchars($searchKeyword));
$query = sprintf("SELECT * FROM `Posting`
WHERE `title` LIKE '%%%s%%'
OR `content` LIKE ‘%%%s%%'
OR `author` LIKE '%%%s%%';",
$searchKeyword,
$searchKeyword,
$searchKeyword);
} else {
$query = "SELECT * FROM `Posting` WHERE 1;";
}
if($queryResults = mysqli_query($connection, $query)) {
while($row = mysqli_fetch_assoc($queryResults)) {
array_push($posts, $row);
}
시작
if($searchKeyword = @$_GET['s']) {
$searchKeyword = mysqli_real_escape_string($connection,
htmlspecialchars($searchKeyword));
$query = sprintf("SELECT * FROM `Posting`
WHERE `title` LIKE '%%%s%%'
OR `content` LIKE ‘%%%s%%'
OR `author` LIKE '%%%s%%';",
$searchKeyword,
$searchKeyword,
$searchKeyword);
} else {
$query = "SELECT * FROM `Posting` WHERE 1;";
}
if($queryResults = mysqli_query($connection, $query)) {
while($row = mysqli_fetch_assoc($queryResults)) {
array_push($posts, $row);
}

More Related Content

What's hot

스프링시큐리티와 소셜연습 이해를 위한 글
스프링시큐리티와 소셜연습 이해를 위한 글스프링시큐리티와 소셜연습 이해를 위한 글
스프링시큐리티와 소셜연습 이해를 위한 글라한사 아
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery정석 양
 
[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄Jae Woo Woo
 
KPW2012::LT::spot
KPW2012::LT::spotKPW2012::LT::spot
KPW2012::LT::spot도성 최
 
Aws ses 이메일 보내기 받기 송신 수신
Aws ses 이메일 보내기 받기 송신 수신Aws ses 이메일 보내기 받기 송신 수신
Aws ses 이메일 보내기 받기 송신 수신라한사 아
 
3주 CSS Basic
3주 CSS Basic3주 CSS Basic
3주 CSS Basic지수 윤
 
Django in Production
Django in ProductionDjango in Production
Django in ProductionHyun-woo Park
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Kyoung Up Jung
 
JavaSript Template Engine
JavaSript Template EngineJavaSript Template Engine
JavaSript Template EngineOhgyun Ahn
 
챗봇 시작해보기
챗봇 시작해보기챗봇 시작해보기
챗봇 시작해보기성일 한
 
9주 dom & event advanced 실습
9주  dom & event advanced 실습9주  dom & event advanced 실습
9주 dom & event advanced 실습지수 윤
 
8주 dom & event basic 실습
8주  dom & event basic 실습8주  dom & event basic 실습
8주 dom & event basic 실습지수 윤
 
[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTMLJae Woo Woo
 
아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리라한사 아
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Kyoung Up Jung
 
Go revel 컨셉_정리
Go revel 컨셉_정리Go revel 컨셉_정리
Go revel 컨셉_정리라한사 아
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기정석 양
 
CSS 선택자와 디버그
CSS 선택자와 디버그CSS 선택자와 디버그
CSS 선택자와 디버그성일 한
 
Lan3 강향리 2013 겨울방학 기말아웃풋
Lan3 강향리 2013 겨울방학 기말아웃풋Lan3 강향리 2013 겨울방학 기말아웃풋
Lan3 강향리 2013 겨울방학 기말아웃풋Hyangri Kang
 

What's hot (20)

스프링시큐리티와 소셜연습 이해를 위한 글
스프링시큐리티와 소셜연습 이해를 위한 글스프링시큐리티와 소셜연습 이해를 위한 글
스프링시큐리티와 소셜연습 이해를 위한 글
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery
 
[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄[WEB UI BASIC] JavaScript 3탄
[WEB UI BASIC] JavaScript 3탄
 
KPW2012::LT::spot
KPW2012::LT::spotKPW2012::LT::spot
KPW2012::LT::spot
 
Aws ses 이메일 보내기 받기 송신 수신
Aws ses 이메일 보내기 받기 송신 수신Aws ses 이메일 보내기 받기 송신 수신
Aws ses 이메일 보내기 받기 송신 수신
 
3주 CSS Basic
3주 CSS Basic3주 CSS Basic
3주 CSS Basic
 
Django in Production
Django in ProductionDjango in Production
Django in Production
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자
 
JavaSript Template Engine
JavaSript Template EngineJavaSript Template Engine
JavaSript Template Engine
 
챗봇 시작해보기
챗봇 시작해보기챗봇 시작해보기
챗봇 시작해보기
 
Handlebars
HandlebarsHandlebars
Handlebars
 
9주 dom & event advanced 실습
9주  dom & event advanced 실습9주  dom & event advanced 실습
9주 dom & event advanced 실습
 
8주 dom & event basic 실습
8주  dom & event basic 실습8주  dom & event basic 실습
8주 dom & event basic 실습
 
[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML[WEB UI BASIC] WEB과 HTML
[WEB UI BASIC] WEB과 HTML
 
아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기
 
Go revel 컨셉_정리
Go revel 컨셉_정리Go revel 컨셉_정리
Go revel 컨셉_정리
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기
 
CSS 선택자와 디버그
CSS 선택자와 디버그CSS 선택자와 디버그
CSS 선택자와 디버그
 
Lan3 강향리 2013 겨울방학 기말아웃풋
Lan3 강향리 2013 겨울방학 기말아웃풋Lan3 강향리 2013 겨울방학 기말아웃풋
Lan3 강향리 2013 겨울방학 기말아웃풋
 

Viewers also liked

без имени 1
без имени 1без имени 1
без имени 1Aleksej123
 
omez for acid reflux
omez for acid refluxomez for acid reflux
omez for acid refluxsonucro
 
Ejercicio investigacion de operaciones maya
Ejercicio investigacion de operaciones mayaEjercicio investigacion de operaciones maya
Ejercicio investigacion de operaciones mayamaryariperaza
 
CEO Award for Doing the Right Thing
CEO Award for Doing the Right ThingCEO Award for Doing the Right Thing
CEO Award for Doing the Right ThingXingchen Zhou
 
Audiodec
AudiodecAudiodec
AudiodecIvan Bz
 
Computación ubicua
Computación ubicuaComputación ubicua
Computación ubicuadonato_1956
 
Mapa sobre las tics
Mapa sobre las ticsMapa sobre las tics
Mapa sobre las ticsValentinar99
 
Obras Ignacio Trelis
Obras Ignacio TrelisObras Ignacio Trelis
Obras Ignacio Trelislacorsos
 
Career Summary-Irvin Gill
Career Summary-Irvin GillCareer Summary-Irvin Gill
Career Summary-Irvin GillIrvin Gill
 
Hälsan i ett nötskal sept 2010
Hälsan i ett nötskal sept 2010Hälsan i ett nötskal sept 2010
Hälsan i ett nötskal sept 2010Ronny Kvist
 
Carta de aceptacion
Carta de aceptacionCarta de aceptacion
Carta de aceptacionWilmer Diaz
 
Guia visual museo del prado
Guia visual museo del pradoGuia visual museo del prado
Guia visual museo del pradoFabiana Vallina
 

Viewers also liked (15)

без имени 1
без имени 1без имени 1
без имени 1
 
omez for acid reflux
omez for acid refluxomez for acid reflux
omez for acid reflux
 
Ejercicio investigacion de operaciones maya
Ejercicio investigacion de operaciones mayaEjercicio investigacion de operaciones maya
Ejercicio investigacion de operaciones maya
 
CEO Award for Doing the Right Thing
CEO Award for Doing the Right ThingCEO Award for Doing the Right Thing
CEO Award for Doing the Right Thing
 
Audiodec
AudiodecAudiodec
Audiodec
 
Computación ubicua
Computación ubicuaComputación ubicua
Computación ubicua
 
1 entorno mundial amenazas droga
1 entorno mundial amenazas droga1 entorno mundial amenazas droga
1 entorno mundial amenazas droga
 
Mapa sobre las tics
Mapa sobre las ticsMapa sobre las tics
Mapa sobre las tics
 
Obras Ignacio Trelis
Obras Ignacio TrelisObras Ignacio Trelis
Obras Ignacio Trelis
 
Career Summary-Irvin Gill
Career Summary-Irvin GillCareer Summary-Irvin Gill
Career Summary-Irvin Gill
 
Hälsan i ett nötskal sept 2010
Hälsan i ett nötskal sept 2010Hälsan i ett nötskal sept 2010
Hälsan i ett nötskal sept 2010
 
Cb96
Cb96Cb96
Cb96
 
Coleccionismo
ColeccionismoColeccionismo
Coleccionismo
 
Carta de aceptacion
Carta de aceptacionCarta de aceptacion
Carta de aceptacion
 
Guia visual museo del prado
Guia visual museo del pradoGuia visual museo del prado
Guia visual museo del prado
 

Similar to 현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)

Modern web application with meteor
Modern web application with meteorModern web application with meteor
Modern web application with meteorJaeho Lee
 
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015 워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015 덕현 남
 
처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4성일 한
 
웹성능최적화 20130405
웹성능최적화 20130405웹성능최적화 20130405
웹성능최적화 20130405주형 전
 
Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기영우 박
 
Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2성일 한
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)연웅 조
 
Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822병헌 정
 
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design patternSukjin Yun
 
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기Jeado Ko
 
Html5&css 3장
Html5&css 3장Html5&css 3장
Html5&css 3장홍준 김
 
XE Open seminar 테마만들기
XE Open seminar 테마만들기XE Open seminar 테마만들기
XE Open seminar 테마만들기Sungbum Hong
 
Web Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30thWeb Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30thChang W. Doh
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차Michael Yang
 
웹사이트기획 및 관리
웹사이트기획 및 관리웹사이트기획 및 관리
웹사이트기획 및 관리봉조 김
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 

Similar to 현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트) (20)

Modern web application with meteor
Modern web application with meteorModern web application with meteor
Modern web application with meteor
 
Meteor2015 codelab
Meteor2015 codelab Meteor2015 codelab
Meteor2015 codelab
 
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015 워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
워드프레스 테마 만들기 기초 - 워드프레스 미트업 서울 2015
 
처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4
 
웹성능최적화 20130405
웹성능최적화 20130405웹성능최적화 20130405
웹성능최적화 20130405
 
Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기
 
Class10
Class10Class10
Class10
 
Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2
 
Hacosa jquery 1th
Hacosa jquery 1thHacosa jquery 1th
Hacosa jquery 1th
 
3-2. selector api
3-2. selector api3-2. selector api
3-2. selector api
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)
 
Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822Node js[stg]onimusha 20140822
Node js[stg]onimusha 20140822
 
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design pattern
 
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
 
Html5&css 3장
Html5&css 3장Html5&css 3장
Html5&css 3장
 
XE Open seminar 테마만들기
XE Open seminar 테마만들기XE Open seminar 테마만들기
XE Open seminar 테마만들기
 
Web Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30thWeb Components - Part.I, @KIG 30th
Web Components - Part.I, @KIG 30th
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
 
웹사이트기획 및 관리
웹사이트기획 및 관리웹사이트기획 및 관리
웹사이트기획 및 관리
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 

More from Ukjae Jeong

현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)Ukjae Jeong
 
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)Ukjae Jeong
 
현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)Ukjae Jeong
 
현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)Ukjae Jeong
 
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)Ukjae Jeong
 
현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)
현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)
현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)Ukjae Jeong
 

More from Ukjae Jeong (7)

CNN
CNNCNN
CNN
 
현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 6차시 (설리번 프로젝트)
 
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
 
현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 3차시 (설리번 프로젝트)
 
현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 2차시 (설리번 프로젝트)
 
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
 
현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)
현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)
현대고등학교 PHP 강의 - 번외편 PHP 설치! (설리번 프로젝트)
 

현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)