2.1 Get all documents where number = 5.

	BasicDBObject whereQuery = new BasicDBObject();
	whereQuery.put("number", 5);
	DBCursor cursor = collection.find(whereQuery);
	while(cursor.hasNext()) {
	    System.out.println(cursor.next());
	}

Output

{ "_id" : { "$oid" : "id"} , "number" : 5 , "name" : "mkyong-5"}

2.2 $in example – Get documents where



http://www.mkyong.com/mongodb/java-mongodb-query-document/

'mongodb' 카테고리의 다른 글

몽고 디비 java 예제 아주 잘나온곳  (0) 2015.04.13
몽고 디비관련 정리  (0) 2015.04.08
Posted by 이상욱1
,

block nonblock

it 기본 상식들 2015. 4. 13. 16:59

블록 모드: scanf() 해보시면 터미널상에서 엔터를 칠 때까지 프로그램의 실행이 중지되어 있듯이, 데이터가 입력될 때까지 실행이 중단되는 방식을 말합니다.

논블록 모드는 더 이상 읽을 데이터가 없을 경우 데이터가 생길 때까지 기다리지 않고 바로 리턴하는 방식을 말합니다. 이때, 에러값을 리턴하지요. (EAGAIN 혹은 EWOULDBLOCK) 기본값(블록 모드)으로는 데이터가 없으면 생길 때까지 기다립니다.

그리고 블록 모드나 논블록 모드는 필요한 곳에 맞게 사용하면 됩니다. 쓰레드를 생각해봐도 단일 쓰레드냐 멀티 쓰레드냐 하는 것은 상황에 따라 더 적절한 방법이 따로 있다고 생각합니다. 많은 파일 디스크립터를 소수의 쓰레드로 처리할 때 논블록 모드가 필수적으로 필요할 수 있습니다.

블록 모드만 사용하는 것은 프로그램의 구조를 단순하게 유지하기에 좋고 그만큼 잘못된(비효율적인) 코드를 만들 가능성도 줄어듭니다. 따라서 블록 모드를 우선으로 고려하는 것이 바람직합니다. 그러나 많은 파일 디스크립터를 다룰 때 쓰레드나 프로세스도 많이 필요해지는 부담이 있겠지요.

busy waiting은 잘못된 코딩의 문제이지 블록/논블록의 문제는 아니라고 생각됩니다. sleep과 read(non-block)의 조합도 적당히 사용하면 시스템에 별 부담이 없습니다. 또한 게임 클라이언트와 같이 어차피 CPU 100% 쓰는 경우, 매번 select+read 할 바에는 바로 non-block read하는 게 더 효율적이기도 합니다.

'it 기본 상식들' 카테고리의 다른 글

하이브리드 앱이란  (0) 2015.06.24
윈도우 서비스 경로  (0) 2015.06.23
코드 리팩토링 관련 글  (0) 2015.05.27
컴퓨터 용량 단위  (0) 2015.05.07
eclipse go back  (0) 2015.04.21
Posted by 이상욱1
,

<%@page import="java.util.Set"%>

<%@page import="com.mongodb.DBCursor"%>

<%@page import="com.mongodb.BasicDBObject"%>

<%@page import="com.mongodb.DBCollection"%>

<%@page import="com.mongodb.DB"%>

<%@page import="com.mongodb.Mongo"%>

<%



try {

Mongo m = new Mongo("localhost");

DB db= m.getDB("test");

if(db!=null){

System.out.println("connect");

Set<String> colls= db.getCollectionNames();

for(String s: colls){

System.out.println(s);

}

//DBCollection coll = db.getCollection("products");

System.out.println(db.getCollection("products"));

}

}catch(Exception err){

}




%>

'open source & api' 카테고리의 다른 글

구글 단축 url api 결과값  (0) 2016.05.31
Posted by 이상욱1
,

몽고 디비 


몽고 DB 의 핵심은 정렬된 키와 연결된 값의 집합으로 이루어진 문서라는 점입니다. ----------------------------------------------------------------------------------- => {“greeting" : "Hello, Mongo!"} ----------------------------------------------------------------------------------- 

위 중괄호({})로 묶인 부분이 몽고 DB 에서의 가장 간단한 ‘문서’라는 개념입니다. 이 문서는 “greeting"이라는 하나의 키에 연결된 ”Hello, Mongo!"라는 값을 가지는 상황입니다. ◆ 하나의 문서 안에 2 개 이상의 키-값 쌍이 들어 갈 수도 있습니다. ----------------------------------------------------------------------------------- => {“greeting" : "Hello, Mongo!", "reacting" : "Thank you!"} ----------------------------------------------------------------------------------- (중요!) 문서의 키-값 쌍은 정렬되어 있습니다. 

따라서 다음 두 문서는 다른 문서로 취급됩니다. ----------------------------------------------------------------------------------- => 

{“greeting" : "Hello, Mongo!", "reacting" : "Thank you!"}

 != {"reacting" : "Thank you!", “greeting" : "Hello, Mongo!"} ----------------------------------------------------------------------------------- ◆ 문서의 키는 문자열 형입니다. (몇 가지 규칙) ▪ 키는 \0(null 문자)을 포함하지 않습니다. 이 문자는 키의 끝을 나타내는데 쓰이기 때문입니다. ▪ ‘.’ 과 ‘$’ 문자는 몇 가지 특별한 속성을 가지고 있으며 특정 상황에서만 사용해야 합니다. 이 문자들은 보통 예약어로 취급해야 하며, 부적절하게 사용하는 경우 드라이버에서 경고가 발생하게 됩니다. ▪ 엄격하게 지켜지는 것은 아니지만 ‘_’로 시작하는 키는 예약어로 생각하는 편이 좋습니다








다음은 localhost에 있는 mongodb instance에 하나의 document(RDBMS로 치면 row) insert하는 클라이언트 프로그램 예제이다.



C:\data\db 를 만들어준뒤   C:\Program Files\MongoDB\Server\3.0\bin 가서 mongod  를 해준다 

해준뒤 C:\Program Files\MongoDB\Server\3.0\bin  mongo 를 해주면 실행된다 

안되면 포트 번호를 열어 주거나 방화벽을 풀어주어야한다 


use test 를 하면 자동으로 데이터베이스가 생성된다 

db.createCollection('product's) --- 컬렉션 생성하는 부분 

{ok :1 }


저장할때는  

db.products.save( { name :' pencil ' , price : 500 }) -- 문서 만드는부분 


 컬렉션 내부의 데이터를 확인 할때는  

db.products.find(){  "_id": ObjectId(" 구분하기위한 자동생성된 아이디 값") , "name" : "pencil" , "price" :500  }


db.products.find( {} , { _id:false}) 를 해주면 id 속성은 출력해주지 않는다 .


db.products.find ( {price :500} , { _id :false})


몽고 디비는 관계형데이터베이스와 달리 

메모리 에서 쓰는디비 --- 실시간 에 강하다 대용량 무리

자바스크립트 안에서 구현 하는편 



mongo db 계층 구조 


데이터베이스 

컬렉션        컬렉션        컬렉션 

문서            문서        문서

'mongodb' 카테고리의 다른 글

몽고 디비 java 예제 아주 잘나온곳  (0) 2015.04.13
몽고디비 java where 주기  (0) 2015.04.13
Posted by 이상욱1
,

ajaxjson.html 부분 

<!DOCTYPE html>


<html>


<head>


<script src="http://code.jquery.com/jquery-latest.min.js"></script>


<script>


$(document).ready(function(){


jQuery.ajax({


type:"post",


url: "./arrayjson.html",//"./test.html",


data:"name=junho",


dataType:"JSON",


success: function(data){


//alert(data);



/* var items =[]; */


$.each(data, function(){


//alert(this["name"]);


// 한줄은 되는데 배열은 오류가 난다 



alert(this.id);


alert(this.name);


alert(this.price); 

alert(this.description); 


/* items.push(val);


alert(val);

 */

});


},


complete: function(data){



},


error:function(xhr, status , error){


alert("에러발생");


}



})


})




</script>






<meta charset="EUC-KR">


<title>Insert title here</title>


</head>


<body>




</body>


</html>









arrayjson.html 부분 

[

  {

    "id": "1",

    "name": "레몬",

    "price": " 3000",

    "description": "레몬에 포함되어 있는 쿠엔산은 피로회복에 좋다. 비타민C도 풍부하다."

  },

  {

    "id": "2",

    "name": "키위",

    "price": " 2000",

    "description": "비타민C가 매우 풍부하다. 다이에트와 미용에도 매우 좋다."

  },

  {

    "id": "3",

    "name": "블루베리",

    "price": " 5000",

    "description": "블루베리에 포함된 anthocyanin(안토시아닌)은 눈피로에 효과가 있다."

  },

  {

    "id": "4",

    "name": "체리",

    "price": " 5000",

    "description": "체리는 맛이 단 성분이 많고 피로회복에 잘 듣는다."

  },

  {

    "id": "5",

    "name": "메론",

    "price": " 5000",

    "description": "메론에는 비타민A와 칼륨이 많이 포함되어 있다."

  },

  {

    "id": "6",

    "name": "수박",

    "price": "15000",

    "description": "수분이 풍부한 과일이다."

  } 

]



'jquery, ajax' 카테고리의 다른 글

자바스크립트 제이쿼리 this  (0) 2016.01.28
jquery change()  (0) 2015.12.28
다중 셀렉터 다중 css처리  (0) 2015.11.16
ajax를 쓰는 목적  (0) 2015.09.23
ajax를 이용해서 json 배열 받기 성공  (0) 2015.04.07
Posted by 이상욱1
,

testjson1.jsp 부분 


<%@page import="javax.management.StringValueExp"%>


<%@page import="org.apache.catalina.util.StringParser"%>


<%@ page language="java" contentType="text/html; charset=EUC-KR"


    pageEncoding="EUC-KR"%>




<%@ page import="org.json.simple.*"%>


<%@ page import="java.sql.*"%>




<%




String connect="jdbc:oracle:thin:@lsw.c2lzj8znf3wg.ap-northeast-1.rds.amazonaws.com:1521:ORCL";




String user="lsw";


String passwd="";




Connection conn;


Statement stat;


JSONArray arr = new JSONArray();




try{


System.out.println("ddd");


Class.forName("oracle.jdbc.driver.OracleDriver");


System.out.println("zzzzzz");


conn= DriverManager.getConnection(connect ,user ,passwd);



if(conn!= null){


System.out.println("connect");


}


else{


System.out.println("not connect.");


}


stat= conn.createStatement();



/*String query="select * from TMP_TB";


System.out.println(query);*/


ResultSet rs = stat.executeQuery("select * from productBoard");








 






while(rs.next()){



//rs.next();



String goodsname=rs.getString(1);


String id=rs.getString(13);


//String earning =String.valueOf(rs.getInt(3));


int price=rs.getInt(4);






JSONObject obj = new JSONObject();


obj.put("goodsname", goodsname);


obj.put("id", id); 


obj.put("price", price);



//arr.add(0, obj);


 


if(obj != null){


arr.add(obj);


//out.println(arr.toJSONString());


}

//System.out.println(goodsname +"--"+ id + "--"+ price);



}

System.out.println(arr.toJSONString());

out.println(arr.toJSONString());


rs.close();


stat.close();


conn.close();



}catch(Exception er){



}




/*  String name= request.getParameter("name");


JSONArray jarray = new JSONArray();


JSONObject jobject=new JSONObject();




jobject.put("name", name);


jobject.put("age", "14");


jobject.put("nickname", "qwerty");




jarray.add(0, jobject);


 */


%>



ajaxtest1.html 부분 



<!DOCTYPE html>


<html>


<head>


<script src="http://code.jquery.com/jquery-latest.min.js"></script>


<script>


$(document).ready(function(){


jQuery.ajax({


type:"post",


url: "./testjson1.jsp",//"./test.html",


data:"name=junho",


dataType:"JSON",


success: function(data){


//alert(data);




$.each(data, function(){


//alert(this["name"]);


// 한줄은 되는데 배열은 오류가 난다 



alert(this.goodsname);


alert(this.id);


alert(this.price); 




});


},


complete: function(data){



},


error:function(xhr, status , error){


alert("에러발생");


}



})


})




</script>






<meta charset="EUC-KR">


<title>Insert title here</title>


</head>


<body>




</body>


</html>


'jquery, ajax' 카테고리의 다른 글

자바스크립트 제이쿼리 this  (0) 2016.01.28
jquery change()  (0) 2015.12.28
다중 셀렉터 다중 css처리  (0) 2015.11.16
ajax를 쓰는 목적  (0) 2015.09.23
ajax를 이용해서 json 배열 받기 예제  (1) 2015.04.07
Posted by 이상욱1
,

public class ParseExam {
    
    public static void main(String[] args) {
        
        String numStr = "54";
        
        // String값을 int형의 값으로 바꾸는 방법
        int numInt = Integer.parseInt(numStr);
        System.out.println(numInt);
        
        // int형의 값을 String으로 바꾸는 방법
        String numStr2 = String.valueOf(numInt);
        System.out.println(numStr2);
    }

}

'메소드 정리' 카테고리의 다른 글

concat 자체 구현  (0) 2015.05.07
return; break ; continue의 차이  (0) 2015.05.04
Posted by 이상욱1
,

rds 패스워드 바꾸기

aws 2015. 4. 6. 22:43

1. aws 콘솔을 웹상에서 로그인 합니다 

2. rds 인스턴스가 있는 웹창에 들어가서 오른쪽 마우스를 클릭 한 후 modify 를 클릭 합니다 

3.New Master Password 부분에 새로운 패스워드를 입력해준 후 

4. Apply Immediately 체크 후 continue를 클릭 해줍니다.



http://www.codetweet.com/amazon-web-services/quickly-change-amazon-rds-master-users-password/

'aws' 카테고리의 다른 글

php aws sdk 설치  (0) 2016.04.21
Posted by 이상욱1
,

두 모듈의 차이는  expres 모듈에는 미들웨어라는 개념이 있다 

그래서 use()  를 사용하고  

각각의 use는 각각의 특정한 일을 수행하는 모듈을 분리해서 만들 수 있습니다 

또한 express 모듈에는 참조할 만 한 다양한 모듈이 있습니다. 

/**

 * New node file

 */

var http =require('http');

var express=require('express');


var app=express();


app.use(function(request, response, next){

console.log('1 midleware ');

next();

});


app.use(function(request, response, next){

console.log('2 midleware ');

next();

});

app.use(function(request, response, next){

console.log('3 midleware ');

next();

});

app.use(function(request, response, next){

request.number=52;

response.number=273;

next();

});


app.use(function(request, response, next){

response.send('<h1>'+request.number+':'+response.number+'</h1>');

});



http.createServer(app).listen(52275, function(){

console.log('server running at http://127.0.0.1:52275');

})


결과값  


콘솔 결과값 



Posted by 이상욱1
,

express param 예제

Node js 2015. 3. 30. 11:03

/**

 * New node file

 */

var http =require('http');

var express=require('express');


var app=express();


app.use(function(request, response, next){

var name= request.param('name');

var region=request.param('region');

response.send('<h1>'+name+'-'+region+'</h1>');

});


http.createServer(app).listen(52275, function(){

console.log('server running at http://127.0.0.1:52275');

})


결과 값 




Posted by 이상욱1
,