SlideShare uma empresa Scribd logo
1 de 17
For non-developers!
Learn Javascript Programming!
!
Learning contents with!
Think Like a Programmer!
!
!
!
!
!
Kim min tae @ibare!
NCSOFT http://ibare.kr https://medium.com/@ibare
#3
프로그래밍 언어 책 한권을 다 읽었는데!
간단한 프로그램하나 작성하기 힘든 이유?
프로그래머처럼!
생각하지 못하기 때문
프로그래머처럼 생각하기란?
프로그래머처럼!
생각하기
컴퓨터처럼!
생각하기=( () )
디지탈에!
대한 이해( ) ( )=
복잡함을!
단순하게!
조각내기
( ) 조각을!
순서대로!
배열하기
( )
0
1
한번에 하나씩!
움직여 복잡한!
사진을 맞추기
횡단보도를 건너가 봅시다
횡단보도가 있네요?
파란불이 켜지면 건너갑니다.
1
2
너무 똑똑한, 지극히 인간적인 생각 방식
횡단보도를 건너가 봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 8
N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 8
한문장씩 실행하는!
진행(실행) 흐름
N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 8
상태의 결과를!
(Yes or No)!
판단하는 조건문 N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 8
조건 판단을 위한!
수 많은 종류의 !
상태들 N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 8
흐름의 위치를!
변화시키는!
분기
N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 3
특정 상태의 조건이!
만족할 때 까지!
반복하는 반복
N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 3
특정 동작을!
지시하는!
행동(액션 or 기능)
N 3
여기에 무엇이 있는지 찾아봅시다
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 3
현실 세계를!
모방한 다양한!
구현체(객체)
N 3
Javascript로 표현해 본다면
걸어간다
인도의 끝인가?
1
멈춤
고개를 들어 전방 주시
신호등이 있나?
파란불인가?
좌측에 달려오는 차가 있나?
건너간다
인도인가?
2
3
4
5
6
7
8
9
Y
Y
Y
N
N 1
N 7
Y 8
N 3
결론: 프로그래밍이란?
재현하고자하는 복잡한 현실세계의 상황을 극단적
으로 단순한 컴퓨터에서 실행되도록 하기위 행위.
복잡함 상황을 컴퓨터가 이해할 수 있는 수준의 단
순한 형태로 분해하고 그것을 행동, 상태, 조건, 분
기, 반복 등의 도구로 표현하는 작업.
결론: 프로그래밍이란?
다양한 종류의 프로그래밍 언어가 있으며 기계 친화적인
(저수준) 언어에서부터 인간 친화적인 (고수준) 언어가
존재함. 현대의 언어들은 점점 더 인간 친화적인 형태를
취하는 경향이 강함.
인간의 언어로 표현하는 글쓰기도 시, 소설, 시나리오 등
다양한 글쓰기 패턴이 있듯이 프로그래밍 언어로 기술하
는 방식도 특정 목적에 최적화된 패턴이 존재하며 이를
“디자인 패턴”이라함.
1 “다음시간에”;!
2 “잘자요~~;
Unclosed string.

Mais conteúdo relacionado

Mais procurados

DreamCode Season2 Intro
DreamCode Season2 IntroDreamCode Season2 Intro
DreamCode Season2 IntroUi-Gyun Jeong
 
비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1민태 김
 
DreamCode 시즌2 2번째~
DreamCode 시즌2 2번째~DreamCode 시즌2 2번째~
DreamCode 시즌2 2번째~Ui-Gyun Jeong
 
외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements민태 김
 
Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지Kyeongmo Noh
 
네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수Sangsu Song
 

Mais procurados (8)

DreamCode Season2 Intro
DreamCode Season2 IntroDreamCode Season2 Intro
DreamCode Season2 Intro
 
비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1
 
DreamCode 시즌2 2번째~
DreamCode 시즌2 2번째~DreamCode 시즌2 2번째~
DreamCode 시즌2 2번째~
 
외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements
 
Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지
 
Rotc 소개
Rotc   소개Rotc   소개
Rotc 소개
 
네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수네이버 SW교육 교사 연수자료_ 송상수
네이버 SW교육 교사 연수자료_ 송상수
 
2주차 스터디
2주차 스터디2주차 스터디
2주차 스터디
 

Mais de 민태 김

웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스민태 김
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)민태 김
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library민태 김
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
외계어 스터디 3/5 function and object
외계어 스터디 3/5   function and object외계어 스터디 3/5   function and object
외계어 스터디 3/5 function and object민태 김
 
비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1민태 김
 
비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7민태 김
 
비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1민태 김
 
비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6민태 김
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview민태 김
 
비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5민태 김
 
비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1민태 김
 
비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4민태 김
 
비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2민태 김
 
비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1민태 김
 
Waterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 publicWaterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 public민태 김
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유민태 김
 
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍민태 김
 
Knockout.js Overview
Knockout.js OverviewKnockout.js Overview
Knockout.js Overview민태 김
 

Mais de 민태 김 (20)

Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
외계어 스터디 3/5 function and object
외계어 스터디 3/5   function and object외계어 스터디 3/5   function and object
외계어 스터디 3/5 function and object
 
비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1
 
비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7
 
비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1
 
비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
 
비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5
 
비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1
 
비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4
 
비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2
 
비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1
 
Waterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 publicWaterfall과 agile의 불편한 동거 public
Waterfall과 agile의 불편한 동거 public
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유
 
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
 
Knockout.js Overview
Knockout.js OverviewKnockout.js Overview
Knockout.js Overview
 

비개발자를 위한 Javascript 알아가기 #3

  • 1. For non-developers! Learn Javascript Programming! ! Learning contents with! Think Like a Programmer! ! ! ! ! ! Kim min tae @ibare! NCSOFT http://ibare.kr https://medium.com/@ibare #3
  • 2. 프로그래밍 언어 책 한권을 다 읽었는데! 간단한 프로그램하나 작성하기 힘든 이유? 프로그래머처럼! 생각하지 못하기 때문 프로그래머처럼 생각하기란?
  • 3. 프로그래머처럼! 생각하기 컴퓨터처럼! 생각하기=( () ) 디지탈에! 대한 이해( ) ( )= 복잡함을! 단순하게! 조각내기 ( ) 조각을! 순서대로! 배열하기 ( ) 0 1
  • 5. 횡단보도를 건너가 봅시다 횡단보도가 있네요? 파란불이 켜지면 건너갑니다. 1 2 너무 똑똑한, 지극히 인간적인 생각 방식
  • 6. 횡단보도를 건너가 봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 8 N 3
  • 7. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 8 한문장씩 실행하는! 진행(실행) 흐름 N 3
  • 8. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 8 상태의 결과를! (Yes or No)! 판단하는 조건문 N 3
  • 9. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 8 조건 판단을 위한! 수 많은 종류의 ! 상태들 N 3
  • 10. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 8 흐름의 위치를! 변화시키는! 분기 N 3
  • 11. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 3 특정 상태의 조건이! 만족할 때 까지! 반복하는 반복 N 3
  • 12. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 3 특정 동작을! 지시하는! 행동(액션 or 기능) N 3
  • 13. 여기에 무엇이 있는지 찾아봅시다 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 3 현실 세계를! 모방한 다양한! 구현체(객체) N 3
  • 14. Javascript로 표현해 본다면 걸어간다 인도의 끝인가? 1 멈춤 고개를 들어 전방 주시 신호등이 있나? 파란불인가? 좌측에 달려오는 차가 있나? 건너간다 인도인가? 2 3 4 5 6 7 8 9 Y Y Y N N 1 N 7 Y 8 N 3
  • 15. 결론: 프로그래밍이란? 재현하고자하는 복잡한 현실세계의 상황을 극단적 으로 단순한 컴퓨터에서 실행되도록 하기위 행위. 복잡함 상황을 컴퓨터가 이해할 수 있는 수준의 단 순한 형태로 분해하고 그것을 행동, 상태, 조건, 분 기, 반복 등의 도구로 표현하는 작업.
  • 16. 결론: 프로그래밍이란? 다양한 종류의 프로그래밍 언어가 있으며 기계 친화적인 (저수준) 언어에서부터 인간 친화적인 (고수준) 언어가 존재함. 현대의 언어들은 점점 더 인간 친화적인 형태를 취하는 경향이 강함. 인간의 언어로 표현하는 글쓰기도 시, 소설, 시나리오 등 다양한 글쓰기 패턴이 있듯이 프로그래밍 언어로 기술하 는 방식도 특정 목적에 최적화된 패턴이 존재하며 이를 “디자인 패턴”이라함.