본문 바로가기

분류 전체보기

(65)
[Thread] 동시성 프로그래밍 동시성 프로그래밍에 대한 교육을 진행중이다. 모처럼 감기 때문에 몸이 많이 안좋지만 교육이 재밌다보니 맨정신이 아님에도 불구하고 교육장을 찾게 된다. 동시성 프로그래밍 JAVA에서는 thread를 얘기한다. thread는 단어의 정의를 찾아보면 실이라고 나오는데 그 실이라고 함은 프로그램을 돌려보면 왜 thread로 명명했는지 예상이 가능하다. 스레드는,동작하고 있는 프로그램을 프로세스(Process)라고 한다. 보통 한 개의 프로세스는 한 가지의 일을 하지만, 이 쓰레드를 이용하면 한 프로세스 내에서 두 가지 또는 그 이상의 일을 동시에 할 수 있게 된다. thread는 프로세스와는 다르다. 흔히 프로세스는 하나의 주소를 할당받아 특정 프로그램이 그 프로세스를 사용하게 되지만 thread는 하나의 프로..
[JAVA] 아파치에서 제공하는 HttpComponents로 Http Client 만들기 아파치에서 제공하는 HttpComponents로 Http Client 만들기 패드용 웹 화면을 제작하고 그 화면에 생성된 16개의 버튼을 클릭했을때 원격 서비스가 제어되는 프로젝트를 만들어야 합니다. 1. Maven 첫번째로 Maven 설정이 필요합니다. HttpComponents만 필요한게 아니라 기재된 아래의 라이브러리도 필요합니다. 안그럼 보낼때 에러가 나더라구요. ClassNotFoundException 이라고 지겨운 ㅡ,.ㅡ 가끔 왜 나는지 원인불명의 에러 특히 라이브러리를 쓰는데 이런 에러가 나면 찾기 곤란해여.. org.apache.httpcomponents httpclient 4.5.1 org.apache.httpcomponents httpmime 4.5.1 org.apache.httpco..
[게임] 몬스터 헌터 온라인 텐센트 캡콤 오랜만에 포스팅하네요 ㅋㅋ 찾아주시는 분도 없는데 독백도 아닌 누군가 본다 라는 생각에 쓴다는게 웃기기도 합니다 ㅋㅋ.. 한게임에서 몬스터 헌터 프론티어가 망?해서 서비스를 종료하였드랬죠. 그래서 중국 텐센트라는 거대 기업이 캡콤과 같이 합작하여 중국판 몬스터헌터를 만들기 시작해서 작년 12월부터 드디어 오픈베타를 시작하였습니다. 많은 분들이 아마 한국 서비스 기대를 품고 계셨을텐데 약간 플레이 해보니 중국티가 많이 난다라고 할 수 있겠더라구요. 일본풍 게임에 익숙해져있던 몬스터 헌터였었는데 중국풍이 몽글몽글 풍겨대니 어색하더라는 ㅋㅋ 몬스터 헌터 온라인은 몬스터 헌터 온라인 사이트에서 받을 수 있습니다. 받을려면 QQ라는 중국 소셜에 가입을 하셔야 하구요. 거기서 발급 받은 번호와 비밀번호를 통해 로그..
[REDIS+MONGO] 테스트 배드 프로그램 안녕하세요. 회사에서 REDIS랑 MONGO 디비랑 섞어서 써보겠다 해서요. 그런데 왜 섞을까 의문이 들었습니다. redis도 데이터베이스처럼 역할을 수행할 수 있는데요 말이죠. 하지만 레디스의 캐쉬와 몽고디비의 검증된 안정성이라는 장점만 가지고 사용하기로 했나봅니다. 그럼 뭘 보기 위해서 만들었을까요. 1. REDIS에 10만건 데이터를 한번에 부을때 걸리는 시간 2. REDIS에서 MONGO DB로 데이터를 옮길때 걸리는 시간 10만건 3. MONGODB를 통해서 10만건의 데이터를 검색했을때 걸리는 시간 3가지를 측정하기로 했습니다. 결과는 준수했습니다. [14:51:23]INSERT DATA TO MONGO : 50000건, 소요시간:1.528 [14:55:11]SEARCH DATA FROM MO..
[프로그램]VO,XML,PROPERTIES 등 생성기 웹 프로젝트를 하다보면 테이블 컬럼이 엄청 많은게 있어요. 그럼 막막하죠. VO 어케 만들지 Mybatis NameSpace도 만들어야 되지 국제화 라면 Message.properties도 생성해야하죠. 그 테이블도 엄청나게 많다면 참 개발 초기에 그것 때문에 잡아 먹는 시간도 많을 거에요. 물론 지금 제가 좀 오류 투성이지만 혼자 쓰는걸 올려봅니다. 대충 만들어서 ㅋㅋ 제가 하는 프로젝트 환경이랑 여러분이 사용하는 프로젝트 환경이 다를 수도 있으니까요. 필요없는 파일들이 많을수도 있습니다. VO라고 필요로 하시는 분들은 사용하시면 되겠네요. 나중엔 관계까지 읽어낼 수 있으면 Hibernate 엔티티도 만들어보고 싶네요. 그럼 어떤걸 만드냐면, 1. 테이블과 똑같은 구조의 VO 객체를 만듭니다. 2. 국..
[Spring+Redis] 스프링과 레디스 연동 안녕하세요. 이번에는 Redis(메모리 디비)와 스프링을 연동 해보도록 하겠습니다. 레디스는 이전 포스팅과도 같이 메모리 디비이면서 NoSql이라고도 합니다. 그럼 시작, http://projects.spring.io/spring-data-redis/ 일단 여기 접속하시면 최신 라이브러리를 다운 받을 수 있습니다. 1. pom.xml org.springframework.data spring-data-redis ${redis.version} 위에 사이트에서 받은 라이브러리 제 기준으로 1.5.1이 되겠습니다. 그리고 레디스에 접속하기 위해서는 RedisClient도 필요로 합니다. Java에선 Jedis를 사용하겠습니다. redis.clients jedis ${jedis.version} 이 놈의 버전은 2..
[MONGODB+SPRING] 몽고디비+스프링 연계하기 안녕하세요. 정말 간단해서 간단 연동기.. 제목 그대로 두개를 연동해보겠습니다. 샘플 프로젝트에 이것저것 붙이다보니 벌써 config 파일만 5개가 생겼네요. 그럼 연동 시작. 1. pom.xml org.springframework.data spring-data-mongodb ${mongodb-Spring-data.version} 을 구성해주어야 합니다. 버젼은 1.7.1.RELEASE 로 구성했네요. 2. Java Config @Configuration @ComponentScan @EnableMongoRepositories public class MongodbConfig extends AbstractMongoConfiguration { @Override protected String getDatabas..
Redis+Linux(Fedora19) 설치 Redis는 메모리 기반 데이터베이스 입니다. Key+value 형태로 사용되어지곤 하죠. 그리고 메모리에 올려진 데이터의 싱크를 위해 파일로도 제공합니다. NoSql DBMS로 분류되기도 하고 memcached와 같은 im memory 솔루션으로도 분류됩니다. 그래서 여러 소셜 서비스에서 사용하고 있습니다. Redis가 사용하는 데이터 타입은 5가지로 분류합니다. 1. String 일반적인 문자열이고 512mb까지 지원합니다. Text뿐 아니라 integer롸 같은 숫자나 jpeg같은 바이너리도 저장 가능합니다. 2. Set set은 String의 집합인데 여러개의 값을 하나의 Value에 넣을 수 있고 블로그 포스트의 태깅 등에 사용할 수 있습니다. set간 연산을 지원하는데 교집합, 합집합, 차이를..