[코딩야학] 1일차 - 웹과 인터넷
웹과 인터넷, 같을까 다를까?
1. 웹의 장점 - 진입 장벽이 낮고 비교적 쉬운 언어(html, CSS, JavaScript)로부터 시작할 수 있다.
2. 웹과 인터넷의 차이점 = 클라이언트와 서버의 관계다.
클라이언트 – HTML, CSS, JavaScript, 웹브라우저
서버 – 미들웨어(PHP), 데이터베이스(MySQL), 웹서버
>무엇을 모르는지 모르는 상태에서 무엇을 모르는지 아는 상태로 나아가는 것, 즉 웹의 전체적인 윤곽을 잡아보자는 것이 요 코딩야학의 핵심이라 할 수 있다. 각 구성요소들은 부품과도 같아서 코딩야학 과정은 이러한 부품들을 어떻게 조립하고 어떻게 결합할지 그 방법을 알아가는 과정이라고 하심.
3. 구상 – 기획(기획자). 즉 무엇을 만들 것인가, 어떤 사용성을 띄게 될 것인가를 고민하는 과정을 말함. 보통 기획을 바탕으로 디자인이 들어가며 사용자가 편리하게 이용할 수 있도록 디자인 하는 것이 관건. 이후 개발, 실제 서비스가 동작하도록 하는 일. 이후 테스트를 함(Quality Assurance)
> 개발은 반복된 테스트를 통해 현실의 필요를 충족시켜나가는 과정이라고 할 수 있으며 이러한 반복적인 작업을 잘하기 위해서는 Start Small이 중요하다. 일단 완성하는 것! 많은 프로젝트들이 완성조차 하지 못하고 시간과 돈을 낭비하여 프로젝트가 드랍되는 경우를 많이 봤는데, 고로 일단 완성하는 것이 중요하다는 점!!!
4. 복잡도, 지수폭발, 기능 하나를 추가할 때는 신중하게 해야 함
> why? 테스트 해야하는 경우의 수가 많기 때문.
5. 구상: 무엇을 만들 것인가? 일반인을
위한 프로그래밍 수업
ㅋㅋㅋ전략 바로가기 > http://goo.gl
<구상과 기획>
기획: 어떻게 동작해야 하는가? UI 모델링 user interface 사용자가 시스템을 제어하는 조작장치
모델링: 사용자의 입장에서 동작하는 기능을 가상으로 만들어보기
모델링 도구: 손그림, 펜슬(오픈소스 모델링 도구-무료), 발사믹(유료), 파워포인트 등이 있음.
*발사믹은 모델링 도구 둘러볼 겸 홈페이지를 한 번 방문해보는 게 좋을 거 같다고 했음!!*
6. 인터넷의 역사에 대해 알아보자.
인터넷과 웹. 인터넷이 운영체제라면,
웹은 애플리케이션. 인터넷에는 웹, 이메일 FTP(파일 전송 프로토콜) 등이 주요 서비스로 있고 이외에도 다양한 서비스가 존재함. 즉, 인터넷은 U 전체집합, 웹은 부분집합 A라고 할 수 있겠음.
> 1960 인터넷이 등장 (전세계 컴퓨터들이 데이터를 주고 받을 수 있는 시스템)
> 1990 웹이 등장 (전세계에 깔려있는 네트워크를 활용해서 웹페이지를 통해 컴퓨터 간 주고 받을 수 있는 시스템)
> 팀 버너스리 – 웹 창시자 웹을 완전히 공개함. HTTP는 바로 팀 버너스리가 만든 것임. 웹은 폭발적으로 성장하여 큰 규모, 더 효율적인 업무 수행을 위해 복잡해짐.
> 웹이란 무엇인가?
> 웹브라우저와 웹서버의 관계
> 웹은 서버와 클라이언트가 있음. 즉 웹브라우저가 설치되어 있는 것: 클라이언트, 웹서버가 설치된 컴퓨터를 서버라고 함
7. 서버: Apache 설치하세요. 많은 기능이 필요함
https://bitnami.com/stack/wamp
자신의 운영체제에 맞는 웹 서버를 설치할 것
(해당 링크는 윈도우 운영체제 유저를 위한 서비스임, 맥용, 리눅스 용은 링크가 다르니 코딩야학에 들어가서 확인하면 됨)
> 웹서버는 인터넷으로 통신을 해야하는데, 통신할 때 보안의 문제가 생길
수 있어서 윈도우가 그 기능을 기본적으로 막는 것임.
> 액세스 허용 관련 문제…. 우리가 소프트웨어를 좀 더 편리하게 제어할 수 있도록 비트나미가 만든 것
> Localhost/index.html htdocs >Manager windows >
8. 언어: 사람과 사람 사이의 약속이 언어이듯, 사람과
컴퓨터 사이의 약속도 언어임.
- 코드 또는 소스
- 코드는 곧 제품이다 > 그 다음과정
- 코드를 작성한다 = 곧 몸을 만든다, 중요함.
9. 클라이언트와 서버의 관계
브라우저가 서버에 요청하면 서버는 서버에 저장되어 있는 웹페이지를 읽어서 응답함. (html)
Hypertext 문서와 문서가 링크로 연결되어 있다, 그런 형태의 문서 시스템을 하이퍼텍스트 라고 함 (만든 사람 팀 버너스리*)
문서와 문서가 그물망처럼 연결되어 있고(그래서 Web) 링크는 html의 본질, html의 본질은 웹의 본질과 같음.
Markup language – tag 시작태그, 끝태그
Html – 사람도 알아들을 수 있고 기계도 알아들을 수 있는 언어
Href=hypertext reference