SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
비 개발자를 위한 웹 개발 기초
1
인터넷은 무엇인가?
사용자가 원하는 정보를 얻기 위해 직접 먼 곳을 가지 않고도 언제 어디서든지 접근이 가능하게 하는 기
술
과거 : 서울에서 광주의 맛집을 알기 위해서는 직접 여기저기 돌아다녀야함
현재 : 네이버와 같은 검색포털을 이용하여 맛집 블로그를 둘러보고 간접체험을 통해 지식을 습득.
2
웹은 무엇인가?
인터넷을 이용하여 원거리에 있는 문서들을 열람하는 공간
해당 문서들은 웹 브라우저가 해석 가능한 특정 형식으로 작성되어 있음
3
웹 브라우저는 무엇인가?
웹에 있는 문서들을 사용자가 보기 편하게 표시해주는 소프트웨어
URL (Uniform Resource Locator) 을 통해 해당 문서에 접근이 가능하도록 구성되어있음
4
웹은 어떻게 돌아갈까?
1. 웹 브라우저에 사이트 주소(URL) 입력
2. 입력한 주소의 서버에서 해당 정보를 찾음
3. 해당 정보를 브라우저 화면에 표시
4. 사용자가 해당 사이트 내용을 확인
5
웹의 동작방식 (기술 관점)
1. 사용자가 웹 브라우저에서 사이트 주소를 입력한다.
2. 사이트 주소에 해당되는 Server IP 를 접근한다. (DNS - Domain Name System 이용)
3. 해당 Server 에 도달하면 사용자가 원하는 문서를 다시 웹 브라우저에 전송한다.
4. 웹 브라우저의 렌더링엔진에서 해당 문서를 다음과 같은 순서로 파싱
HTML 를 DOM (Document Object Model) 으로 변환
CSS 를 DOM 에 추가
DOM 으로 렌더트리 생성
렌더트리 배치
렌더트리 그리기
5. 렌더트리를 브라우저에 표시 후 사용자에게 웹 페이지로 보여준다.
6
웹 개발 기술
HTML5 : 화면에 나타나는 요소 (텍스트 또는 이미지 등)
CSS3 : 화면에 나타나는 요소를 이쁘게 꾸미는 기술
Javascript : 화면에 나타나는 요소의 동작을 제어
7
HTML
Hyper Text Markup Language : 웹 페이지를 제작하기 위한 표준 언어
Markup Lanugage : 태그를 이용하여 데이터를 구조화하는 언어
시작 태그 / 끝 태그 형식으로 구성
8
HTML 예시
<html>
<head>
<title>HTML 예시</title>
</head>
<body>
<button>Click me</button>
<!-- ... -->
</body>
</html>
9
CSS
Cascading Style Sheets : 브라우저상에서 HTML 요소들이 시각적으로 어떻게 표현되는지를 정의
별도의 파일로 분리하여 모든 HTML 요소에 스타일링 가능
HTML 요소에서 직접 스타일링 가능
10
CSS 예시
button {
color : red;
}
CSS 인라인 속성 예시
<p style="color:red;">이 문단은 빨간색입니다.</p>
11
Javascript
웹 페이지 상에서 요소들의 동작을 제어하는 스크립트 언어
현대의 최신 브라우저에서 지배적으로 사용하고 있음
과거에는 클라이언트 언어, 최근에는 풀스택 언어로 사용
자바와 자바스크립트는 전혀 다른 언어
자바스크립트의 초기 이름은 Mocha, LiveScript 였으나 자바의 인기에 편승하기 위해 변경
12
Javascript 예시
function clickButton() {
alert("you clicked it");
}
<button onclick="clickButton()">click me</button>
13
웹 개발 관련 용어들
jQuery : javascript 를 좀 더 편하게 쓸 수 있는 기술 모음집 (라이브러리)
라이브러리 : 유용한 기술들을 한 곳에 모아놓고 편하게 가져다 사용할 수 있는 기술 모음집
Angular : Google 이 만든 웹 개발 프레임워크 (웹 개발시에 일정한 룰이나 패턴을 따라 개발하도록
만든 도구)
14
웹 개발 실습
목표 : HTML5, CSS3, Javscript 를 이용하여 자기소개 페이지를 만들어보자
HTML5 : p, br, img, button 태그
CSS3 : text color, img border 속성
Javscript : button action 동작, facebook comment plugin 오픈 API
15
실습 #1 - 화면 요소 생성
HTML 파일 생성
html, head, body 추가
자기소개 내용 작성 (p, span 태그)
프로필 사진 추가 (img 태그)
좋아요 버튼 추가 (button 태그)
16
실습 #2 - 화면 요소 스타일링
텍스트 색, 버튼 배경색 변경
button {
color: white;
background-color: #3366ff;
}
버튼 모서리 효과
button {
border-radius: 5px;
}
17
버튼 이미지 수직 정렬
button {
display: inline-block;
}
button img {
vertical-align: text-top;
}
18
실습 #3 - 화면 요소 동작제어
버튼 클릭 이벤트 추가
<button onclick="clickButton()">click</button>
<script>
function clickButton() {
alert("프로필을 좋아합니다.");
}
</script>
19
실습 #4 - 반응형 웹 디자인 적용
Responsive Web Design : 웹 페이지가 해당 기기의 크기에 맞춰 레이아웃이 자동 조절되는 디자인
기법
<header>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</header>
20
실습 #5 - Facebook Comment API
Github Page 를 활용하여 자기소개 웹 페이지 업로드
Github 가입
Repository 생성
Repository 클론
HTML, 이미지 파일 업로드
http://username.github.io 에서 페이지 확인
21
Facebook Developer 에서 Comment API 플러그인 다운
Facebook 계정 생성
Facebook Developer 에서 페이스북 계정 연동 후 App 생성
App 의 Settings 에서 Github Page 추가
Facebook SDK 설치
Comment Plugin 설치
22
완성된 페이지
23
참고 #1 - 웹 동작방식 관련 용어들
클라이언트
서버
HTTP
IP
DNS
URL
24
참고 #2 - 웹 개발 관련 사이트
W3C School
Mozilla Developer Network
Google Web Fundamentals
25
끝
26

Mais conteúdo relacionado

Mais procurados

컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기
우영 주
 
Seo analysis report template (1)
Seo analysis report template (1)Seo analysis report template (1)
Seo analysis report template (1)
Doiphode Vishal
 
Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...
Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...
Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...
Steve Morgan
 

Mais procurados (20)

Atelier le référencement 2016
Atelier le référencement 2016Atelier le référencement 2016
Atelier le référencement 2016
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservices
 
Cours SEO Master IDEMM 2018 - Sébastien Billard
Cours SEO Master  IDEMM 2018 - Sébastien BillardCours SEO Master  IDEMM 2018 - Sébastien Billard
Cours SEO Master IDEMM 2018 - Sébastien Billard
 
On-Page Search Engine Optimization
On-Page Search Engine OptimizationOn-Page Search Engine Optimization
On-Page Search Engine Optimization
 
[122]책에서는 맛볼 수 없는 HTML5 Canvas 이야기
[122]책에서는 맛볼 수 없는 HTML5 Canvas 이야기 [122]책에서는 맛볼 수 없는 HTML5 Canvas 이야기
[122]책에서는 맛볼 수 없는 HTML5 Canvas 이야기
 
エンジニアのための勉強会 #3 『RESTful API』
エンジニアのための勉強会 #3 『RESTful API』エンジニアのための勉強会 #3 『RESTful API』
エンジニアのための勉強会 #3 『RESTful API』
 
컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기
 
Seo analysis report template (1)
Seo analysis report template (1)Seo analysis report template (1)
Seo analysis report template (1)
 
Le Wagon - Javascript for Beginners
Le Wagon - Javascript for BeginnersLe Wagon - Javascript for Beginners
Le Wagon - Javascript for Beginners
 
Understanding the Single Thread Event Loop
Understanding the Single Thread Event LoopUnderstanding the Single Thread Event Loop
Understanding the Single Thread Event Loop
 
Automatiza tus informes SEO y gana tiempo para tus Análisis
Automatiza tus informes SEO y gana tiempo para tus AnálisisAutomatiza tus informes SEO y gana tiempo para tus Análisis
Automatiza tus informes SEO y gana tiempo para tus Análisis
 
SEO Camp Day Lorraine 2022 par Dan Bernier sur une étude de cas d’une campagn...
SEO Camp Day Lorraine 2022 par Dan Bernier sur une étude de cas d’une campagn...SEO Camp Day Lorraine 2022 par Dan Bernier sur une étude de cas d’une campagn...
SEO Camp Day Lorraine 2022 par Dan Bernier sur une étude de cas d’une campagn...
 
How To EAT Links.pptx
How To EAT Links.pptxHow To EAT Links.pptx
How To EAT Links.pptx
 
Core web Vitals: Web Performance and Usability
Core web Vitals: Web Performance and UsabilityCore web Vitals: Web Performance and Usability
Core web Vitals: Web Performance and Usability
 
Website Launch Checklist
Website Launch ChecklistWebsite Launch Checklist
Website Launch Checklist
 
What's new in NextJS 13_.pdf
What's new in NextJS 13_.pdfWhat's new in NextJS 13_.pdf
What's new in NextJS 13_.pdf
 
프로젝트 기획안
프로젝트 기획안프로젝트 기획안
프로젝트 기획안
 
[125]웹 성능 최적화에 필요한 브라우저의 모든 것
[125]웹 성능 최적화에 필요한 브라우저의 모든 것[125]웹 성능 최적화에 필요한 브라우저의 모든 것
[125]웹 성능 최적화에 필요한 브라우저의 모든 것
 
Software Testing for SEO
Software Testing for SEOSoftware Testing for SEO
Software Testing for SEO
 
Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...
Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...
Going Solo - The Survival Guide for Freelance SEOs (Present & Future) | brigh...
 

Semelhante a 비 개발자를 위한 웹 개발 기초

차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
Changhwan Yi
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
 
F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업
NAVER D2
 
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
Daum DNA
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
Kenu, GwangNam Heo
 

Semelhante a 비 개발자를 위한 웹 개발 기초 (20)

my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a job
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
 
141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
CoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park Jihun
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업
 
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
 
Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
My words
My wordsMy words
My words
 

Mais de Gihyo Joshua Jang

Mais de Gihyo Joshua Jang (6)

Vue.js 입문자를 위한 공개 세미나
Vue.js 입문자를 위한 공개 세미나Vue.js 입문자를 위한 공개 세미나
Vue.js 입문자를 위한 공개 세미나
 
2017_Google_PWA_Roadshow_Lighthouse
2017_Google_PWA_Roadshow_Lighthouse2017_Google_PWA_Roadshow_Lighthouse
2017_Google_PWA_Roadshow_Lighthouse
 
Ionic 2 와 Firebase 로 간단한 인스타그램 만들기
Ionic 2 와 Firebase 로 간단한 인스타그램 만들기Ionic 2 와 Firebase 로 간단한 인스타그램 만들기
Ionic 2 와 Firebase 로 간단한 인스타그램 만들기
 
크롬 개발자 도구 소개 및 사용법
크롬 개발자 도구 소개 및 사용법크롬 개발자 도구 소개 및 사용법
크롬 개발자 도구 소개 및 사용법
 
프로그레시브 웹앱이란? - Progressive Web Apps
프로그레시브 웹앱이란? - Progressive Web Apps프로그레시브 웹앱이란? - Progressive Web Apps
프로그레시브 웹앱이란? - Progressive Web Apps
 
[GDG] Lightening Talk _ 취미번역#1 _ 장기효
[GDG] Lightening Talk _ 취미번역#1 _ 장기효[GDG] Lightening Talk _ 취미번역#1 _ 장기효
[GDG] Lightening Talk _ 취미번역#1 _ 장기효
 

비 개발자를 위한 웹 개발 기초

  • 1. 비 개발자를 위한 웹 개발 기초 1
  • 2. 인터넷은 무엇인가? 사용자가 원하는 정보를 얻기 위해 직접 먼 곳을 가지 않고도 언제 어디서든지 접근이 가능하게 하는 기 술 과거 : 서울에서 광주의 맛집을 알기 위해서는 직접 여기저기 돌아다녀야함 현재 : 네이버와 같은 검색포털을 이용하여 맛집 블로그를 둘러보고 간접체험을 통해 지식을 습득. 2
  • 3. 웹은 무엇인가? 인터넷을 이용하여 원거리에 있는 문서들을 열람하는 공간 해당 문서들은 웹 브라우저가 해석 가능한 특정 형식으로 작성되어 있음 3
  • 4. 웹 브라우저는 무엇인가? 웹에 있는 문서들을 사용자가 보기 편하게 표시해주는 소프트웨어 URL (Uniform Resource Locator) 을 통해 해당 문서에 접근이 가능하도록 구성되어있음 4
  • 5. 웹은 어떻게 돌아갈까? 1. 웹 브라우저에 사이트 주소(URL) 입력 2. 입력한 주소의 서버에서 해당 정보를 찾음 3. 해당 정보를 브라우저 화면에 표시 4. 사용자가 해당 사이트 내용을 확인 5
  • 6. 웹의 동작방식 (기술 관점) 1. 사용자가 웹 브라우저에서 사이트 주소를 입력한다. 2. 사이트 주소에 해당되는 Server IP 를 접근한다. (DNS - Domain Name System 이용) 3. 해당 Server 에 도달하면 사용자가 원하는 문서를 다시 웹 브라우저에 전송한다. 4. 웹 브라우저의 렌더링엔진에서 해당 문서를 다음과 같은 순서로 파싱 HTML 를 DOM (Document Object Model) 으로 변환 CSS 를 DOM 에 추가 DOM 으로 렌더트리 생성 렌더트리 배치 렌더트리 그리기 5. 렌더트리를 브라우저에 표시 후 사용자에게 웹 페이지로 보여준다. 6
  • 7. 웹 개발 기술 HTML5 : 화면에 나타나는 요소 (텍스트 또는 이미지 등) CSS3 : 화면에 나타나는 요소를 이쁘게 꾸미는 기술 Javascript : 화면에 나타나는 요소의 동작을 제어 7
  • 8. HTML Hyper Text Markup Language : 웹 페이지를 제작하기 위한 표준 언어 Markup Lanugage : 태그를 이용하여 데이터를 구조화하는 언어 시작 태그 / 끝 태그 형식으로 구성 8
  • 10. CSS Cascading Style Sheets : 브라우저상에서 HTML 요소들이 시각적으로 어떻게 표현되는지를 정의 별도의 파일로 분리하여 모든 HTML 요소에 스타일링 가능 HTML 요소에서 직접 스타일링 가능 10
  • 11. CSS 예시 button { color : red; } CSS 인라인 속성 예시 <p style="color:red;">이 문단은 빨간색입니다.</p> 11
  • 12. Javascript 웹 페이지 상에서 요소들의 동작을 제어하는 스크립트 언어 현대의 최신 브라우저에서 지배적으로 사용하고 있음 과거에는 클라이언트 언어, 최근에는 풀스택 언어로 사용 자바와 자바스크립트는 전혀 다른 언어 자바스크립트의 초기 이름은 Mocha, LiveScript 였으나 자바의 인기에 편승하기 위해 변경 12
  • 13. Javascript 예시 function clickButton() { alert("you clicked it"); } <button onclick="clickButton()">click me</button> 13
  • 14. 웹 개발 관련 용어들 jQuery : javascript 를 좀 더 편하게 쓸 수 있는 기술 모음집 (라이브러리) 라이브러리 : 유용한 기술들을 한 곳에 모아놓고 편하게 가져다 사용할 수 있는 기술 모음집 Angular : Google 이 만든 웹 개발 프레임워크 (웹 개발시에 일정한 룰이나 패턴을 따라 개발하도록 만든 도구) 14
  • 15. 웹 개발 실습 목표 : HTML5, CSS3, Javscript 를 이용하여 자기소개 페이지를 만들어보자 HTML5 : p, br, img, button 태그 CSS3 : text color, img border 속성 Javscript : button action 동작, facebook comment plugin 오픈 API 15
  • 16. 실습 #1 - 화면 요소 생성 HTML 파일 생성 html, head, body 추가 자기소개 내용 작성 (p, span 태그) 프로필 사진 추가 (img 태그) 좋아요 버튼 추가 (button 태그) 16
  • 17. 실습 #2 - 화면 요소 스타일링 텍스트 색, 버튼 배경색 변경 button { color: white; background-color: #3366ff; } 버튼 모서리 효과 button { border-radius: 5px; } 17
  • 18. 버튼 이미지 수직 정렬 button { display: inline-block; } button img { vertical-align: text-top; } 18
  • 19. 실습 #3 - 화면 요소 동작제어 버튼 클릭 이벤트 추가 <button onclick="clickButton()">click</button> <script> function clickButton() { alert("프로필을 좋아합니다."); } </script> 19
  • 20. 실습 #4 - 반응형 웹 디자인 적용 Responsive Web Design : 웹 페이지가 해당 기기의 크기에 맞춰 레이아웃이 자동 조절되는 디자인 기법 <header> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </header> 20
  • 21. 실습 #5 - Facebook Comment API Github Page 를 활용하여 자기소개 웹 페이지 업로드 Github 가입 Repository 생성 Repository 클론 HTML, 이미지 파일 업로드 http://username.github.io 에서 페이지 확인 21
  • 22. Facebook Developer 에서 Comment API 플러그인 다운 Facebook 계정 생성 Facebook Developer 에서 페이스북 계정 연동 후 App 생성 App 의 Settings 에서 Github Page 추가 Facebook SDK 설치 Comment Plugin 설치 22
  • 24. 참고 #1 - 웹 동작방식 관련 용어들 클라이언트 서버 HTTP IP DNS URL 24
  • 25. 참고 #2 - 웹 개발 관련 사이트 W3C School Mozilla Developer Network Google Web Fundamentals 25