본문 바로가기

dev80

git remote 변경, hook 처리 git remote add [name] [url]git remote -vgit push [name] [master] vi .git/config[remote "[name]"]url = [url]fetch = +refs/heads/*:refs/remotes/madmin/* vi .git/hooks/post-reveivegit push [name] master 2014. 1. 10.
TServlet + spring 을 사용한 thrift 서버구현 http://blog.igooo.org/79 글에 이어서 작성합니다. thrift + spring 으로 개발하려고 찾아보니 thrift에서 TServlet 도 제공해준다. Json으로 응답하던 API서버와 같이 사용하려고 TServlet을 사용하여 thrift를 구현한다. 예제는 TSevlet을 사용하여 servlet을 만들고 web.xml에 등록해준다.문제는 아래 코드로 서블릿을 등록하면 스프링 bean을 주입 시켜줄방법이 없다.처리 로직이 들어가는 ServiceExampleImpl 부분을 스프링을 사용하여 주입시켜주려고 한다. public class TServletExample extends TServlet { public TServletExample() { super( new ServiceExamp.. 2014. 1. 9.
Getting Started Thrift 아무런 지식이 없이 無에서 시작해하기json으로 응답하는 API 서버를 thrift로 응답하기로 결정nginx + thrift + spring 을 개발하기로..... 삽질기 소개The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smallta.. 2014. 1. 3.
JedisSentinelPool 사용기 Jedis + sentinel.. java로 redis에 접근하기 위해서는 jedis 라이브러리를 대부분 사용한다. 이런식으로... (!) spring data redis도 내부적으로는 JedisPool을 사용하고 있다. JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost"); Jedis jedis = pool.getResource(); JedisPool 코드를 보면 Pool.class 클래스를 상속받고 있고, Pool 클래스를 상속받는 클래스들은 아래와 같다. JedisPool JedisSentinelPool ShardedJedisPool 위 클래스 중 JedisSentinelPool 클래스는 config로 sentinel들의 주소를 받고, 설정에서 받은 sentinel .. 2013. 11. 28.
redis sentinel High Availability redis 를 사용하는 방법은(?) 다양하다 단순 cache 서버로 memcached 처럼 사용하거나 RDB 처럼 persistent한 repository로 사용 할 수도 있다.(http://redis.io/topics/persistence) redis를 cache 서버가 아닌 persistence repository로 사용 할 때 HA를 위해서 master - slave 구조를 사용하게 되고, HA를 위해서 sentinel로 redis instance들을 감시하여 failover를 해야한다. sentinel에 대해 구글링하다보면 사용시 주의해야 할 점들이 나오는데 실제로 각 케이스별로 sentinel이 어떤짓을 하는지 테스트를 해봤다. Test 환경redis master : RDB, AOF 사용 안 함.. 2013. 11. 26.
자바 메모리 구조 자바는 프로그램을 실행시키기 위해 시스템으로부터 필요한 메모리를 할당받고 할당 받은 메모리를 3가지 주요영역(Method Area, 호출스택, Heap)으로 나누어 관리한다.1. 메소드영역(Method Area) 프로그램 실행 클래스가 사용되면, JVM은 해당 클래스의 클래스파일을 분석하여 클래스에 대한 정보를 Method Area에 저장한다. 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다.2. 힙(Heap) 인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이 곳에 생성된다. 즉, 인스턴스변수(instance variable)들이 생성되는 공간이다.자바 VM은 힙을 세개의 영역으로 나누어 사용한다.1) New/Young 영역  : 새로 생성도니 객체를 저.. 2010. 8. 26.