수업 소개


생활코딩 초창기 버전의 index.php 파일을 만들 것.


반응형 웹, 글을 작성하면 추가되도록 만들 것. 


모든 기능을 배우는 것은 불가능. 어떻게 조합하는 지를 배울 것.




보이는 코드를 수업이 끝났을 때


하나하나 남에게 설명할 수 있을 정도가 되거나, 처음부터 끝까지 안보고 작성할 수 있을 정도가 되면 주인공이 되어 공부할 수 있는 


자질을 갖추게 되는 것




웹 애플리케이션을 만드는 순서


제일먼저 구상 (뭘 만들 것인가)


다음으로 기획 (세부적인 계획 작성)


디자인

==> 그 다음 개발 시작

테스트


무한반복



Start Small => 우선 완성을 목표로 최소한의 기능만으로 작게. 이후에 크기를 키워나가자

복잡도 => 


체크박스 1개 => 2가지 경우


체크박스 2개 => 4가지 경우


체크박스 3개 => 8가지의 경우


체크박스 50개 => 천조 이상 가지 => 이만큼 테스트를 해야한다. 


2^50 => 2^51 => 지수가 늘어날 수록 수가 폭발적으로 늘어난다 : 지수폭발


프로그램 기능 하나 추가하는 것 => 지수폭발이 일어날 수도.



기획

UI : User Interface => 사용자가 시스템을 제어하는 조작장치


ex) PC 버튼, 웹 사이트의 버튼


Modeling : 가상으로 만들어 보는 것


UI Modeling : 사용자의 입장에서 동작하는 기능을 가상으로 만들어보기


=> 무엇을 만들지를 분명하게 알 수 있어서 그렇지 않았을 때에 발생하는 여러 문제들을 방지할 수 있음


방법 1. 손으로 그리기


방법 2. Pencil이라는 오픈소스 프로그램 이용하기


방법 3. balsamiq 이용하기 (유료)


방법 4. PowerPoint 



인터넷과 웹의 역사

인터넷 : 운영체제


웹 : 운영체제 위에서 돌아가는 애플리케이션


이메일, FTP(파일전송기술) : 웹의 형제





1960년대 : 인터넷 등장


1990년대 : 웹의 등장


인터넷 : 전세계에 있는 컴퓨터들이 파일을 주고받는 가장 거대한 네트워크. 도로같은 것


웹 :  인터넷이라는 네트워크를 이용해서 HTML이란 언어를 사용해서 컴퓨터끼리 정보를 주고받는 것. 대중교통같은 것


만든사람 : 팀버너스리


최초의 웹브라우저를 만듬


웹브라우저를 위한 컴퓨터 웹서버를 만듬


둘 사이의 통신 규약 ==> HTTP


웹페이지의 정보를 담고 있는 언어 ==> HTML






서버와 클라이언트


클라이언트 : 웹 브라우저가 설치되어 있는 PC => 요청하는 쪽 (갑)


웹 서버 : 웹 서버가 설치되어 있는 PC => 응답하는 쪽 (을)




필요한 것 : 웹 브라우저(매우 친숙) 웹 서버(들어본 적이 보통 없음)


웹 서버에 지금 집중


한 PC 내에서 웹 브라우저와 웹 서버가 통신하게 할 수 있음 


웹서버 종류 => Apache, Nginx (오픈소스 진영)


                     IIS (마이크로소프트)



 
  • 구글 => 단일 기업에서 사용하는 양 만으로 상당히 높은 점유율을 차지하고 있음

  • Nginx 뜨고있음

서버쪽 software 설치는 매우 불편함


=> bitnami를 사용해서 한방에 설치























'웹 프로그래밍' 카테고리의 다른 글

CSS 이론1  (0) 2017.12.16
개발도구 - 아톰  (0) 2017.12.16
HTML실습  (0) 2017.12.14
HTML 문법 - 태그의 중첩  (0) 2017.12.14
HTML 이론 - HTML의 기본문법과 속성  (0) 2017.12.12



#include<iostream>  

using namespace std;

int cal(int in);
int main(void){
	
	int in;
	
	cin >> in;
	
	int a = cal(in);
	
	cout << a << endl;
	
}

int cal(int in)
{
	int ans,in1,in2,in3;
	if(in<100)
		return in;
		
	ans = 99;
	
	for(int i=100;i<=in;++i)
	{
		in1 = i/100;
		in2 = (i-in1*100)/10;
		in3 = i%10;
		
		
		if((in1-in2)==(in2-in3))
			ans++;
	}
	
	return ans;
	
}
 


'알고리즘' 카테고리의 다른 글

[그래프] 백준 1987 알파벳  (0) 2017.12.14
[그래프] 백준 5567 결혼식  (0) 2017.12.13
[EAZY] 백준 4673 셀프넘버  (0) 2017.08.15
백준 C++ 11721번  (0) 2017.08.15
백준 C++ 11720번  (0) 2017.08.15

+ Recent posts