JAVA 썸네일형 리스트형 [엘라스틱서치] 엘라스틱서치(Elasticsearch)란? 이번에 회사에서 엘라스틱서치를 이용한 로그파일 분석 시스템을 만들 예정이다. 그리하여, 2년~3년전에 잠깐 어떤건지만 봤었던 엘라슽틱서치(Elasticsearch)를 조금 자세히 공부해보도록 하자! 위키백과에는 이렇게 정의되어있었다. Elasticsearch는 루씬 기반의 검색엔진이며 HTTP 웹 인터페이스와 스키마에서 자유로운 Json 문서와 함께 분산 멀티테넌트 지원 전문 검색엔진을 제공한다. 여기서 가장 중요한 것은 분산 멀티텐넌트라고 말한수 있겠다, 사용자는 동일한 물리적, 논리적 시스템을 공유하며 독립적으로 동작이 가능하며 이는 클라우드 컴퓨팅의 중요 기능중 일부이다. 자바로 구현된 엘라스틱서치는 아파치 라이선스이며 오픈소스로 출시되어있다. 공식 클라이언트는 자바, C#, PHP, 파이썬, 그루.. 더보기 [RSS] RSS News feed 모음 http://blog.naver.com/PostView.nhn?blogId=utimegps&logNo=70111676359 더보기 [JAVA] Ecilpse 외부 라이브러리 포함하는 jar파일 만들기 일반적으로 jar파일을 Export했을 때 외부 라이브러리 Build Path등을 잡아주어야 하고 실수할 여지가 많아 지는 등 불편한다. 따라서 jar파일 안에 모든 라이브러리가 포함되어 있으면 편리할 것이다. 이러한 작업을 해줄 수 있는 ecilpse 플러그 인이 있어서 적용해 보았다. luna 이하버젼 http://sourceforge.net/projects/fjep/files/fatjar/fatjar_0_0_31/net.sf.fjep.fatjar_0.0.31.zip/download luna, mars http://www.oschina.net/code/snippet_570396_36930 1. fatjar를 다운받는다. 2. 압축을 해제한다. 3. 이클립스가 설치된 경로에 plugins 폴더에 압축을.. 더보기 [JAVA] logback + slf4j를 이용한 로그서버 구현 (SimpleSocketServer) 4개의 자바 서버데몬의 로깅 라이브러리를 slf4j와 logback을 사용하여 로그를 관리하고 있다. 원격지에 통합로그 서버를 구현해 달라는 요구사항이 있었고 시간은 없었고 logback에서 지원하는 SimpleSocketServer를 사용하여 로그 서버를 구축하였다. 1. 로그서버 시작 아래 명령을 통해 로그서버를 시작시키자. 물론 라이브러리는 추가 후 classpath를 명시해준다 java -cp logback-classic-1.1.3.jar:logback-core-1.1.3.jar:slf4j-api-1.7.12.jar ch.qos.logback.classic.net.SimpleSocketServer {로그서버 포트번호} {설정파일 디렉토리} 대략 설정파일은 아래와 같이 하였다. %d{HH:mm:ss.. 더보기 [Java] Reflection을 사용 해 field의 값 가져오기 소스코드 private static Object getter(Field field, Class clazz, Object obj) { for(Method method : clazz.getMethods()) { String methodName = method.getName(); if((method.getName().startsWith("get") && method.getName().length() == field.getName().length() + 3) || (method.getName().startsWith("is") && method.getName().length() == field.getName().length() + 2)) { if(method.getName().toLowerCase().endsWi.. 더보기 [java] Redis pub/sub을 이용한 IPC Java와 C언어의 프로세스간 통신을 Redis Pub / Sub 기능을 활용하여 통신 해 보도록 한다 (잘 되겠지만 그냥 해봄) Java는 jedis-2.7.2.jar 를 사용하고, Window 환경에서 테스트하였고 C 프로그램은 hiredis 를 사용하고, Centos 환경에서 테스트한다. (Windows 환경에서 컴파일 및 실행 가능하다고 한다 https://yoonbh2714.blogspot.kr/2015/10/hiredis-for-windows.html) 내 PC(Java Process) 원격지 서버 1( Redis )원격지 서버2(C Process) Java 프로그램 jedis = new Jedis("192.168.10.10", 6379); JedisPubSub pubsub= new Jedis.. 더보기 [java] 파일 읽기, 쓰기, nio를 통한 파일 처리 [java] 파일 읽기, 쓰기, nio를 통한 파일 처리 더보기 STS + Maven Local Repository 참조하기 매일 STS를 사용해 필요한 라이브러리를 Central에서 당겨 사용하다가 로컬에 있는 라이브러리를 Maven Dependency를 주고 싶었다. 1. 적절한 디렉토리에 Jar파일 위치시킨다. 2. CMD를 연다 3. mvn install:install-file -Dfile={Jar File directory} -DgroupId={GroupID} -DartifactId={artifactId} -Dversion={version} -Dpackaging=jar C:\workspace-sts-3.7.1.RELEASE\test>mvn install:install-file -Dfile=C:\lib\util-1.0.jar -DgroupId=dp.ti.com -DartifactId=dputil -Dversion=1.0.. 더보기 interlock_android/external db 수정 더보기 OOAD : Object-Oriented Analysis & Design OOAD : 큰 문제 해결하기 큰 프로그램에서 문제를 해결할 때에도 마찬가지로 작은 프로그램에 접근과 마찬가지로 큰문제도 해결한다. 1. 고객의 요구사항을 분석하여 고객이 원하는 기능을 하도록 한다. 2. 객체지향 기본원리를 사용한다. - 각 객체는 하나의 책임만 진다. - OCP(Open Closed Principle) : 확장에 대해 열려있고 변경에 대해 닫혀있다. 3. 유지보수와 재사용이 쉬운 디자인을 위해 노력한다. - 변경이 이루어지는 부분은 Encapculation! - 공통된 속성 / 오퍼레이션은 추상 부모클래스로 만들어 놓자! - 인터페이스 적절히 사용, : 구현에 맞추어 코딩하는 것보다 인터페이스에 맞추어 코딩하면 소프트웨어 확장이 더 쉬워진다. 시스템이 할 일을 유스케이스 다이어그램으로.. 더보기 이전 1 2 다음