본문 바로가기
[android] Mockito 맛보기 ( test library ) https://www.tutorialspoint.com/mockito/mockito_overview.htm http://www.vogella.com/tutorials/Mockito/article.html https://static.javadoc.io/org.mockito/mockito-core/2.12.0/org/mockito/Mockito.html#mockito - Mockito 는 JUnit 위에서 동작하며 Mocking 과 Verification, Stubbing 을 도와주는 프레임워크이다. ( 이 자체가 testing 하는 framework 는 아니다!! ) Mockito 를 사용하면 Mock 을 만들어서 external dependency 를 제거할 수 있고, code 가 제대로 수행하는지 검증.. 2018. 12. 7.
Efficient Android Threading #3 프로세스 간 통신 Efficient Android Threading #3 프로세스 간 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 5.1. 안드로이드 RPC -안드로이드의 변형 리눅스 커널 안에서, 리눅스 IPC 기술은 프로세스 사이의 RPC 메커니즘을 수행하는 바인더 프레임워크로 대체되었다.이를 통해 클라이언트 프로세스는 마치 로컬에서 메서드를 실행하듯 서버 프로세스의 원격 메서드를 호출할 수 있다. -RPC 메서드 호출 자체는 단순하지만, RPC 매커니즘의 하부는 다음과 같은 단계로 구성된다. 1. 메서드 데이터 분해(마샬링, marshalling)2. 원격 프로세스로 마샬링된 정보를 전송3. 원격 프로세스에 정보를 재구성(언마.. 2018. 3. 19.
[Effective Java] 직렬화된 인스턴스 대신 직렬화 프록시의 사용을 고려하자. [Effective Java] 직렬화된 인스턴스 대신 직렬화 프록시의 사용을 고려하자. - Serializable 인터페이스를 구현할 때는 결함과 보안 문제가 생길 가능성이 커진다. 정상적인 생성자 대신 언어 영역 밖의 메커니즘을 사용해서 인스턴스가 생성되기 때문이다. 그런 위험을 현저히 줄이는 방법이 직렬화 프록시 패턴(Serialization proxy pattern) 이다. - 직렬화 프록시 패턴은 직렬화 가능 클래스의 private static 중첩 클래스를 설계한다. 직렬화 프록시(serialization proxy) 라고 하는 inner 클래스는 외곽 클래스를 매개 변수 타입으로 하는 단일 생성자를 갖는다. 그리고 이 생성자는 자신의 인자로부터 데이터만 복사한다. 일관성 검사나 방어 복사도 할.. 2017. 3. 28.
[java] readResolve, writeReplace 뭐 하는 녀석일까? [java] readResolve, writeReplace 뭐 하는 녀석일까? 참조 : http://www.javalobby.org/java/forums/t17491.html singleton 의 경우 serialization 을 하면서 singleton 유지가 안 될 수 있다. Serialization 은 readResolve() 라는 private method 를 통해서 instantiation 을 진행한다. 이 녀석은 serialization 의 결과로 return 되는 object 를 이야기한다. public final class MySingleton {private static final MySingleton INSTANCE = new MySingleton();private MySingleton.. 2016. 11. 3.
크롬에서 프록시 서버 적용방법 크롬에서 프록시 서버 적용하는 방법 국내에서 접근이 차단된 사이트들은 외국 프록시 서버를 통해서 ( IP 우회 ) 접근할 수 있다.외국에서 접근하는 것처럼 되어 국내에서 접근이 차단된 사이트에 접근할 수 있는 것이다. chrome 웹 스토어에서 Switchy Sharp 를 다운받아서 프록시 서버를 지정해주면 된다. 외국의 프록시 서버 리스트는 아래 링크에서 구할 수 있다. http://hidemyass.com/proxy-list/ 외국의 프록시 서버를 사용할 경우 외국을 거쳐서 해당 사이트를 접근하기 떄문에 속도는 한참 느리다. Chrome, chrome store, chrome 스토어, IP 우회, proxy, proxy server, switchy sharp, 속도, 외국 접근, 외국 프록시 서버, .. 2014. 1. 6.
[Java] Reflection Tutorial - Dynamic Proxies Java, Reflection Tutorial - Dynamic Proxies reflection 을 이용하여 runtime에 interface 를 구현할 수도 있다.다시 말해 proxy를 사용하기 위해서는 구현하고자 하는 interface가 꼭 있어야 한다. 보통 interface 를 구현하는 방법은 다음과 같이 2가지가 있다. public class FooImpl implmenets FooInterface{@Overridepublic void test(){// do sth...}} new FooImpl{@Overridepublic void test(){// do sth...}} proxy 는 자주 사용되지는 않지만 특별한 경우에 사용하는 세번째 방법이라고 보면 된다. FooInterface foo =.. 2014. 1. 3.
Proxy, Proxy Server 란? Proxy, Proxy Server 란? Proxy, Proxy Server 란? 사전적 의미로 프록시는 중계 혹은 대리인의 의미가 있다.Proxy Server 란 대리인 기능을 제공하는 서버를 이야기한다. 1. 보통 자신의 IP 를 속여(?), 일부 국가 또는 기관에서 차단한 사이트를 접속할 때 사용한다. 2. 프록시 서버의 사용은 IP 를 속이기 위해 해커들도 즐겨 사용한다.해외 프록시 서버를 사용하여 해킹을 한 경우 백로그를 통해 추적할 때 해외 프록시 서버의 로그를 봐야 할 경우 해외이기 때문에 해당 국가에 협조를 구해야 하여 시간도 오래 걸리고 해커를 잡기도 힙들어진다. 3. 일반적인 경우의 프록시 서버는 프록시 서버가 cache 의 역할을 하여 빠른 인터넷 연결을 제공하는 데 이용된다. 보통 .. 2013. 12. 2.
반응형