2016/09
-
기능별 분리시 (설계생각 패턴 바꾸기.Etc 2016. 9. 25. 21:04
코드로 배우는 스프링 웹 프로젝트를 공부하던중 기존에 설계하던 습관에서 벗어나 새로운 .. 아니 새롭다고 표현하기도 머하지만..생각하는 패턴을 바꾸게 해주는 것을 보고 다시한번 깨우침을 받았다.... 메시지 보내는 기능을 구현한다고 했을때 메시지 - 생성, 읽기, 수정 포인트 - 갱신 최종 서비스 - 추가 ( 메시지의 생성 / 포인트의 갱신) , 읽기 (메시지의 수정, 포인트의 갱신) 기존의 나였다면 메시지를 보낼때 메시지 와 포인트를 분리 시키지 않고 하나로 통합해서 하였을것이다. 하지만 이번 책을 보고 내가 늘 하던 의존성 및 객체지향적 생각 패턴을 바꾸고 개선 시켜야 겠다고 느끼게 되었다. 대분류 -> 중분류1 + 중분류2
-
스프링 AOP 용어 짚고 넘어가기Spring(스프링)/AOP 2016. 9. 25. 20:23
Aspect - 공통 관심사에 대한 추상적인 명칭. 예를 들어 로깅이나 보안, 트랜잭션과 같은 기능자체에 대한 용어 Advice - 실제로 기능을 구현한 객체 Join points - 공통 관심사를 적용할 수 있는 대상. Spring AOP에서는 각 객체의 메소드가 이에 해당 Pointcuts - 여러 메소드 중 실제 Advice가 적용될 대상 메소드 target - 대상 메소드를 가지는 객체 Proxy - Advice가 적용되었을 때 만들어지는 객체 Introduction - target에는 없는 새로운 메소드나 인스턴스 변수를 추가하는 기능 Weavcing - Advice와 target이 결합되어서 프록시 객체를 만드는 과정
-
RESTFul HiddenMethod 활용RESTFul 2016. 9. 25. 18:46
HiddenMethod의 활용 브라우저에 따라서 PUT, PATCH, DELETE 방식을 지원하지 않는 경우가 발생할 수 있습니다. 많은 브라우저가 GET, POST 방식만을 지원하기 때문에 REST 방식을 제대로 사용하려면 브라우저가 지원하지 않는상황에 대해서 고려해야만 합니다. 대부분의 해결책은 브라우저에서 POST 방식으로 전송하고, 추가적인 정보를 이용해서 PUT, PATCH, DELETE와 같은 정보를 같이 전송하는 것입니다.이를 Overloaded POST 라고 합니다 ex) headers : { "X-HTTP-Method-Override" : "DELETE"} 태그를 이용해서 데이터를 전송하는 경우에는 POST 방식으로 전송하되, '_method'라는 추가적인 정보를 이용합니다.스프링은 이를..
-
[안드로이드] 웹뷰(WebView 에서 자바스크립트 alert 띄우기안드로이드 2016. 9. 13. 19:53
웹뷰로 구성된 화면에서 자바스크립트로 alert 메시지를 띄울때 WebViewClient 로만 구성할 경우 alert 메시지가 뜨지 않습니다.이 경우는 기존의 WebViewClient 는 그대로 두고 추가로 WebChromeClient 를 추가해 주면 됩니다.webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) { view.stopLoading(); view.loadUrl(overrideUrl); return false; } public void onReceivedError(WebView view, int errorCode, ..
-
서비스 알아가기안드로이드 2016. 9. 3. 20:08
Android Service는 백그라운드에서 실행되는 프로세스입니다. 안드로이드 OS에서 특별한 경우를 제외하고는 백그라운드에서 동작하도록 설계되어 있습니다. 대표적인 예로는 MP3 Player과 카카오톡 메세지 수신입니다.1. 서비스(Service) - StartService()서비스는 백스라운드에서 동작을 하지만 기본 어플리케이션 즉 프로세스안에서 동작을 합니다. 그리고 프로세스 안 다른 컴포넌드들과 유기적으로 통신을 합니다. 2. 서비스(Service) - BindService() 서비스는 프로세스 내에서 다른 컴포넌트들과 서로 유기적으로 통신하는것 뿐만 아니라 다른 앱 즉 다른 프로세스와도 Data 공유 및 통신을 할 수 있습니다. 대표적인 예로서 다른 어플리케이션에서 어떠한 신호가 발생하였을때 ..
-
메이븐 생명주기 및 설명Maven(메이븐) 2016. 9. 3. 19:16
● clean어떤 빌드 결과물은 프로젝트 루트의 target이라는 디렉터리에 저장된다. clean 상태의 Goal은 이 target 디렉터리를 지워서 이전에빌드된 파일들을 없앤다.이는 mvn clean 같은 빌드 상태를 명시해서 초기화하거나 항상 실행되도록 POM에 정의하지 않으면 다음 상태가 되기 전에는 실행하지 않는다. ● validate메이븐의 빌드 파일용 XML 사양을 따르는 올바른 pom.xml 파일인지 확인한다.pom.xml 파일이 태그를 닫지 않거나 중첩되지 않았다면 빌드는 메이븐 애플리케이션이 제대로 초기화되기 전에 실패할 것이고,POM이 분석되지 않는 에러 또는 이와 비슷한 에러를 보여줄 것이다. ● compile모든 정의된 의존성들을 가져오고, 코드를 컴파일하고, 모든 클래스 파일을 t..