전체 글 (30)
Getting Start! 연습을 시작하며...

 


Head First C#

저자
앤드류 스텔만, 제니퍼 그린 지음
출판사
한빛미디어 | 2011-10-10 출간
카테고리
컴퓨터/IT
책소개
만화처럼 쉽고 빠르게 배우는 C# 4.0 프로그래밍, 닷넷 프레...
가격비교

 

 

C#은 JAVA와 문법이 비슷해서 익히는데 어려움이 없지만,
Head First에 나와 있는 예제 또는 연습문제를 차근히 따라해 보면서 객체지향에 대한 기초를 단단히 해 보고자 한다.

Head First는 어떤 내용을 참고하기에 다소 산만한 구성이어서 확실히 레퍼런스용 책으로는 적합하지 않다. 저자 또한 책에 그렇게 명시해 두었다.
그러니까, 코딩을 하다가, '그거 어떻게 사용했더라?' 하면서 책을 뒤적뒤적 거려야 할 때 이 책을 펼치게 되지는 않을 것이다.

이 책이 마음에 드는 점은,
아이러니하게도 그 특유의 산만함이다. 단점이자 장점인 것 같다.
어떠한 개념을 먼저 설명하는 것이 아니라 예제를 통해 일단 trial & error를 겪게 해 보고
그 과정에서 학습자들이 궁금해 할 법한 점들을 그 때 그 때 메모형식으로 풀어낸다는 점이다.
이러한 점이 뭔가 대학생이 되어 대학에 다시 간 것 같은 느낌이랄까...

예제 하나씩 끝내는 데만도 오랜 시간이 걸리지만 틈틈히 하여
이 책을 끝까지 끝내는 것을 목표로 할 것이다.

 

  Comments,     Trackbacks
MongoDB 서비스 설정 방법


※ 관리자 권한으로 명령 프롬프트를 실행해야 함

[명령 프롬프트 실행 후 명령어 입력]

echo logpath=C:\Program Files (x86)\MongoDB\log\my.log> "C:\Program Files (x86)\MongoDB\log\my.cfg"

echo dbpath=C:\Program Files (x86)\MongoDB\mydata>> "C:\Program Files (x86)\MongoDB\log\my.cfg"

sc.exe create MongoDB binPath= "\"C:\Program Files (x86)\MongoDB\bin\mongod.exe\" --service --config=\"C:\Program Files (x86)\MongoDB\log\my.cfg\"" DisplayName= "MongoDB" start= "auto"

Net start MongoDB

Net stop MongoDB


[관리도구] -> [서비스] 에서 아래와 같이 MongoDB가 서비스로 올라온 것을 확인한다.





신뢰할만한 mongoDB 매뉴얼 참조(Set up the MongoDB environment 부분) : http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/




'BigData > NoSQL/MongoDB' 카테고리의 다른 글

[MongoDB] 일반 DB와 MongoDB 차이점  (0) 2015.05.19
[NoSQL] 빅데이터 구축 및 분석이란?  (0) 2015.05.18
  Comments,     Trackbacks
[MongoDB] 일반 DB와 MongoDB 차이점

http://docs.mongodb.org/manual/reference/sql-comparison/




컬렉션을 생성한 다음 키에 대한 필드 이름의 조건


1. $로 시작할 수 없다.


2. 255 크기 내에 작성한다. 


3. 연산자를 포함할 수 없다.


4. null(공백)이 중간에 들어갈 수 없다.


5. 필드 이름은 하나의 컬렉션 내에서 유일한 값으로 존재한다.


6. 전체 문서의 크기가 16M 제한적이다(네트워크의 대역폭).


7. 만일 문서가 대용량(16M 이상)이면 GridFS api를 사용해서 구현한다.





문서에 대한 정보(외부적인 상태)


1. mongod.lock : 서버의 프로세스 ID를 저장한다.


2. 0 파일(.ns) : 메타데이터를 네임스페이스 단위로 저장한다.


3. 2번의 크기는 ns 16M를 넘을 수 없다. - 28000개의 네임스페이스 하나의 데이터베이스는 컬렉션과 색인의 개수를 최대 28000개를 생성할 수 있다.

   --nssize arg(=16) 사이즈는 늘일 수 있으나 16M 단위로 처리한다.


4. test.0(64M), test.1(128M) 등의 파일은 순수 데이터 파일을 저장한다. 파일의 용량은 2GB까지가 최대이다.


5. 몽고는 데이터저장소의 크기를 정적으로 관리한다.





ObjectId("555a97730bd89a172bb8ab26")

   555a9773 : 타임스탬프 <4byte> 1970.1.1 표준타임

   0bd89a : 서버ID <3byte> 서버측 식별자.

   172b : 프로세스ID <2byte>

   b8ab26 : 로컬카운터 <3byte>


   <문서에 컬렉션이 추가되거나 문서가 추가될때마다 ID가 생성되며 프로세스가 생성된 ID를 카운팅해서 관리한다.>


   - 색인키

   - 문서 자체에서 bson 타입으로 생성해서 자동 추가된다.

   - 중복없음

   - 메모리를 가장 적은 크기로 차지한다.






//user_id:"eeee",age:43,status:"g"


1. my의 user_id를 출력하자.

   db.my.find({},{user_id:1});

   db.my.find({user_id:1},{});


2. age, status를 출력하자.

   db.my.find({},{"age":1,"status":1});


3. status, user_id를 출력하자.

   db.my.find({},{"status":1,"user_id":1});


4. insert into my(user_id,age,status) values('fff',45,'A');

   db.my.insert({user_id:"fff",age:45,status:"A"});

   db.my.insert({user_id:"zzz",status:"B"});

   db.my.find();


5. status가 A인 것을 찾아라

   db.my.find({status:"A"});


6. status가 A인 것을 찾아 user_id, status만 출력해라

   db.my.find({status:"A"},{user_id:1,status:1});


7. select * from my where status!='A';

   db.my.find({status:{$ne:"A"}});


>>>8. select * from my where status='A' and age=50;

   db.my.find({status:"A",age=50});


9. select * from my where status='A'or age=50;

   db.my.find({$or:[{status:"A"},{age:50}]});


10. select * from my where age>25;

   db.my.find({age:{$gt:25}});


11. select * from my where age<25;

   db.my.find({age:{$lt:25}});


12. select * from my where age>25 and age<=50;

   db.my.find({age:{$gt:25,$lte:50}});


13. select * from my where user_id like '%bc%';

   db.my.find({user_id:/bc/});


14. select * from my where user_id like 'ff%';

   db.my.find({user_id:/^ff/});


15. select * from my where status='A' order by user id ASC;

   db.my.find({status:"A"}).sort({user_id:1});


16. select * from my where status='A' order by user id desc;

   db.my.find({status:"A"}).sort({user_id:-1});


17. select count(*) from my;

   db.my.count();

   db.my.find().count(); --해봐


18. select count(user_id) from my;

   db.my.count({user_id:1});

   db.my.count({user_id:{$exists:true}});

'BigData > NoSQL/MongoDB' 카테고리의 다른 글

MongoDB 서비스 설정 방법  (0) 2015.05.19
[NoSQL] 빅데이터 구축 및 분석이란?  (0) 2015.05.18
  Comments,     Trackbacks
JAVA 이미지 사이즈 조절하기

ImageIcon 변경할아이콘 = new ImageIcon("이미지.png");

Image 변경할이미지 = 변경할아이콘.getImage();  //ImageIcon을 Image로 변환.

Image 변경된이미지 = 변경할이미지.getScaledInstance(가로, 세로, java.awt.Image.SCALE_SMOOTH);

ImageIcon 변경된아이콘 = new ImageIcon(변경된이미지); //Image로 ImageIcon 생성

'BigData > JAVA' 카테고리의 다른 글

[Day13] 파일 입출력  (0) 2015.03.05
[Day11] 예외처리(Exception)  (0) 2015.03.05
[Day10] 추상화  (0) 2015.03.05
[Day8] 캐스팅 연산자  (0) 2015.03.05
[Day7] 상속, 다형성  (0) 2015.03.05
  Comments,     Trackbacks
[NoSQL] 빅데이터 구축 및 분석이란?


빅데이타 구축(리눅스, 하둡(O)을 이용한 작업)과 

빅데이타 분석(O) : 클라우드 클러스터링, DB 클러스터링, DB 샤딩(G), 맵퍼를 이용한 키워드 실시간 분석(G), 
분석표(그래프)(G) 정형화된 자료(sql)와 비정형화된 자료(no-sql)가 공존하는데 비정형화된 자료를 모두 모아 키워드로 분석한 후 실시간으로 서비스 되는 것을 말한다.



'BigData > NoSQL/MongoDB' 카테고리의 다른 글

MongoDB 서비스 설정 방법  (0) 2015.05.19
[MongoDB] 일반 DB와 MongoDB 차이점  (0) 2015.05.19
  Comments,     Trackbacks
Spring

 

 

 

  Comments,     Trackbacks
DB에서 1:1, 1:N, N:M 관계에 관하여

 

1:1은 하나의 레코드인스턴스가 다른 하나의 레코드인스턴스와 관계될때,,,

가령 직원이 하나의 파킹랏을 가지고 있으면 1:1이 되지요 (직원 테이블과 파킹랏 테이블)

1:n은 하나의 레코드가 여러개의 인스턴스와 관계될때,,,
가령 직원이 여럿이 한 사무실에 있을때 (직원테이블과 사무실테이블, 직원이 속한 하나의 사무실에 여럿 직원이 근무)

m:n은 여러 레코드인스턴스가 복수의 레코드 인스턴스와 관계될때,,,
(저는 그냥 학생들에게 이경우 두개의 1:n으로 나누라고 합니다...
 가령 직원이 과목을 교육받을때,, 한 직원이 여러과목을 한 과목에 여러직원이 있으면, 저는 그냥 중간에 수강 테이블을 두어서
 학생-수강, 수강-과목 이렇게 두개의 1:n으로 나누어 버립니다...)

 

엔티티 정보 : 사원, 사원전화번호, 부서, 고객사


11 관계

하나의 사원은 반드시 하나의 사원전화번호를 가진다.

1N 관계

부서는 여러 사원을 부여한다.

MN 관계

사원은 하나 이상의 고객사를 관리한다.
고객사는 여러 사원이 관리한다.

예시 : 주식은 업종별로 관리되고, 업종은 여러 주식을 가진다.

reference : http://cafe.naver.com/sqlpd/3543 

 

'BigData > DB/Oracle' 카테고리의 다른 글

SELECT 구문  (0) 2015.03.20
  Comments,     Trackbacks
강사님 추천 맛집

에버랜드 분수옆 장미공원 토마토 파스타

매드포갈릭은 도곡점이 맛있음

  Comments,     Trackbacks