// 테스트를 위해서는 크롬 확장 프로그램인 "postman"을 이용할 것!~



ㅎㅎ

// 모듈을 추출합니다. 
var fs = require('fs');
var http = require('http');
var express = require('express');
var bodyParser = require('body-parser');

// 더미 데이터베이스를 구축합니다. 
var DummyDB = (function(){
	// 변수를 선언합니다. 
	var DummyDB = {};
	var storage = [];
	var count = 1;
	
	// 메서드를 구현합니다. 
	DummyDB.get = function (id){
		if (id){
			// 변수를 가공합니다. 
			id = (typeof id == 'string') ? Number(id) : id;
			
			// 데이터를 선택합니다. 
			for (var i in storage ) if (storage[i].id == id){
				return storage[i];
			}
		} else {
			return storage;
		}
	};
	
	DummyDB.insert = function(data){
		data.id = count++;
		storage.push(data);
		return data;
	};
	
	DummyDB.remove = function(id){
		// 변수를 가공합니다.
		id = (typeof id == 'string') ? Number(id) : id;
		
		// 제거합니다. 
		for (var i in storage) if (storage[i].id == id){
			// 데이터를 제거합니다. 
			storage.splice(i, 1);
		
			// 리턴합니다: 데이터 삭제 성공
			return true;
		}
		
		// 리턴합니다: 데이터 삭제 실패
		return false;
	}
	
	// 리턴합니다
	return DummyDB;	
})();

// 서버를 생성합니다. 
var app = express();

// 미들웨어를 설정합니다. 
app.use(express.bodyParser());
app.use(app.router);
app.use(bodyParser.urlencoded({extended : true}));

// 라우터를 설정합니다. 
app.get('/user', function(request, response){
	response.send(DummyDB.get());
});
app.get('/user/:id', function(request, response){
	response.send(DummyDB.get(request.param('id')));
});


app.post('/user', function(request, response){
	// 변수를 선언합니다. 
	var name = request.param('name');
	var region = request.param('region');
	
	// 유효성을 검사합니다. 
	if (name && region){
		response.send(DummyDB.insert({
			name: name, 
			region: region
		}));
	} else {
		throw new Error('error');
	}
});

app.put('/user/:id', function(request, response){
	// 변수를 선언합니다. 
	var id = request.param('id');
	var name = request.param('name');
	var region = request.param('region');
	
	// 데이터베이스를 수정합니다. 
	var item = DummyDB.get(id);
	item.name = name || item.name;
	item.region = region || item.region;
	
	// 응답합니다.
	response.send(item);
});
app.del('/user/:id', function(request, response){
	response.send(DummyDB.remove(request.param('id')));
});

// 서버를 실행합니다. 
http.createServer(app).listen(52273, function(){
	console.log('Server running at http://127.0.0.1:52273');
});

 

//모듈을 추출합니다. 
var fs = require('fs');
var http = require('http');
var express = require('express');
var bodyParser = require('body-parser');  // 책과는 다르게 body-parser 모듈이 express와는 따로 설치해줘야함. cmd에서 "npm installs body-parser" <br/> 
          // body-parser은 POST요청 데이터를 추출하는 미들웨어임. 이걸 사용하면 request객체에 body 속성이 부여됨.

//서버를 생성합니다.
var app = express();

// 미들웨어를 설정합니다. 
app.use(express.cookieParser());
app.use(bodyParser.urlencoded({ extended: true }));  // extended:true를 해줘야 한다 .왜냐하면 url인코딩이 계속 적용될지 1번만 적용할지 묻는 것이기 때문
app.use(bodyParser.text());  // 찾아보니 있어서 넣어봄 의미는 잘 모름
app.use(app.router);

// 라우터를 설정합니다. 
app.get('/', function(request, response){
	if ( request.cookies.auth){
		response.send('<h1>Login Success</h1>');
	} else {
		response.redirect('/login');
	}
});

app.get('/login', function(request, response){
	fs.readFile('login.html', function(error, data){
		//console.log(e)
		response.send(data.toString());
	});
});

app.post('/login', function(request, response){
	// 쿠키를 생성합니다. 
	var login = request.body.login;  // 변수를 받을때 post 방식은 request 안에 body 객체에서 받아온다. 
	var password = request.body.password;  // var login = request.param("login")으로 받아오는 것도 가능 이건 get 방식
	
	// 출력합니다. 
	console.log(login, password);
	console.log(request.body);
	
	// 로그인을 확인합니다. 
	if(login == 'rint' && password == '1234'){
		// 로그인 성공
		response.cookie('auth', true);
		response.redirect('/');
	} else {
		// 로그인 실패
		response.redirect('/login');
	}
});


// 서버를 실행합니다. 
http.createServer(app).listen(52273, function(){
	console.log('Server running at http://127.0.0.1:52273');
});

 

아래는 login.html 파일이다.

 


<!DOCTYPE html>
<html>
  <head>
    login page    
  </head>
    <body>  
 
  	

Login Page


User Name:
Password:
</body> </html>

여기까지 여기서 head 태그는 진짜로 html 태그로 인식해서 잘 안먹는데,,, html 모드에서 <은 &lt; 로 , >은 &gt; 로 변환하여 입력하면 원하는대로 태그기호가 된다.

  1. 김동훈 2019.11.21 12:40

    hello world

http://wpalkane.com/design/glyph-icon-sets/



20 High Quality Glyph Icon Sets

Icons are very important need in professional website design and Glyph icons are becoming popular in the modern design day by day. Glyph icon sets play an important role in the responsive designs. Icons should be used very carefully in the web and theme designing to convey the right message due to elimination of text captions from them.

Here, we have collected 20 high quality Glyph icon sets for your next website and WordPress theme designing. Let have a look and you may also be interested in our other articles on Responsive CSS FrameworksParallax WordPress ThemesFree WordPress Backup Plugins and Sports WordPress Themes.

1. Glyph UI Icon Set

1_Glyph UI Icon Set

Glyph UI Icon Set

2. Gcons

2_Gcons

Gcons

3. Minimicons 2nd Edition (PSD)

3_Minimicons 2nd Edition (PSD)

Minimicons 2nd Edition (PSD)

4. Extended Entypo Glyph Set

4_Extended Entypo Glyph Set

Extended Entypo Glyph Set

5. App Bits

5_App Bits

App Bits

6. GLYPHICONS

6_GLYPHICONS

GLYPHICONS

7. Pyconic Icons Free

7_Pyconic Icons Free

Pyconic Icons Free

8. Font Awesome

8_Font Awesome

Font Awesome

9. Mini Glyphs Icon Set

9_Mini Glyphs Icon Set

Mini Glyphs Icon Set

10. Fico

10_Fico

Fico

11. 20 Hotel and Restaurant Glyph Icons (Vector PSD)

11_20 Hotel and Restaurant Glyph Icons (Vector PSD)

20 Hotel and Restaurant Glyph Icons (Vector PSD)

12. 106 Pixel Perfect Icons

12_106 Pixel Perfect Icons

106 Pixel Perfect Icons

13. Silkcons - 120 Glyphs Set

13_Silkcons - 120 Glyphs Set

Silkcons - 120 Glyphs Set

14. Foundation Icon Fonts 2!

14_Foundation Icon Fonts 2!

Foundation Icon Fonts 2!

15. Socialico

15_Socialico

Socialico

16. 20 Pixel Perfect Glyph Icons (Vector PSD)

16_20 Pixel Perfect Glyph Icons (Vector PSD)

20 Pixel Perfect Glyph Icons (Vector PSD)

17. Modern Pictograms

17_Modern Pictograms

Modern Pictograms

18. A Free Icon Web Font

18_A Free Icon Web Font

A Free Icon Web Font

19. Gentleface

19_Gentleface

Gentleface

20. MimiGlyphs

20_MimiGlyphs

MimiGlyphs

- See more at: http://wpalkane.com/design/glyph-icon-sets/#sthash.JIKaDafz.dpuf



사이트 : http://www.componentone.co.kr/products/wijmo/demos.htm


유료 임 100만원쯤 함


위의 빨간색이 웹의 내용들이 들어가는 곳이다. 


파란색의 index.jsp와 dist폴더는 같은 깊이이다. (즉 WebContent 폴더 바로 직속으로 소속되어 있다는 말이다.)

그래서 index.jsp에서 뭔가 불러올때는 바로 


<link  rel = "stylesheet"  href = "dist/themes/default/style.min.css" />


처럼 불러 올수 있다. 


왜냐면 dist가 같은 깊이니까!

+ Recent posts