<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 'aop' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/aop</link>
		<description>aop</description>
		<language>ko</language>
		<pubDate>Thu, 16 Feb 2012 09:30:27 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[[Java] Custom Annotation 만들기 응용 (Spring AOP 이용한)]]></title>
	<link>http://marobiana.egloos.com/1108974</link>
	<guid>http://marobiana.egloos.com/1108974</guid>
	<description>
	<![CDATA[ 
사용자가 만들어 사용하는 Custom Annotation은 어떻게 효과적으로 응용할 수 있는지 궁금할 것이다.인터넷에 예제도 별로 없고.. 내가 짠 것은 아니지만, Spring 프렘웍의 AOP를 이용해서 만든 커스텀 어노테이션 사용법에 대해서 정리하겠다      * AOP(Aspect Oriented Programming)이란?  먼저, OOP(Object Oriented Programming)의 경우, 객체 단위로 기능을 묶어서 코딩하는 방법이다.그러나 실무에서는 이런 구현방법이 단점이 될 수 있다. 사용자 인증을 항상 해야 한다고 하면, 객체마다 반복되는 코드가 생기게 될 것이다.  그래서 사용자 인증 같이 자주 사용되는 코드를 단위로 묶어서 필요할 때마다 삽입하여 사용하는 것을 AOP 라고 한다.사용자	]]>
	</description>
	<pubDate>Thu, 16 Feb 2012 09:30:27 +0900</pubDate>
	<dc:creator><![CDATA[그림그리는 프로그래머 신매력]]></dc:creator>
</item>
<item>
	<title><![CDATA[Spring 3.1을 활용한 AspectJ 표현식  테스트]]></title>
	<link>http://benelog.egloos.com/2893630</link>
	<guid>http://benelog.egloos.com/2893630</guid>
	<description>
	<![CDATA[ 
  AOP에서 AspectJ표현식은 다양하고 강력한 기능을 제공합니다.  예를 들면 Aspect가 결합될 JoinPoint를 아래와 같이 표현을 할 수 있습니다. execution(public void set*(..)) : 리턴 타입이 void이고 메소드 이름이 set으로 시작되고 파라미터가 0개 이상인 메소드execution(* com.benelog.ftpserver.*.*() : com.benelog.ftpserver패키지의 파라미터가 없는 모든 메소드execution(String com.benelog.ftpserver..*.*(..) : 리턴타입이 String이면서 com.benelog.ftpserver패키지 및 하위 패키지에 있는 파라미터가 0개 이상인 메소드execution(String com.be	]]>
	</description>
	<pubDate>Wed, 18 Jan 2012 19:40:15 +0900</pubDate>
	<dc:creator><![CDATA[개발을 통한 자기수양]]></dc:creator>
</item>
<item>
	<title><![CDATA[7강 - Spring AOP 구현 : 설정파일 소개]]></title>
	<link>http://ricetable.egloos.com/191371</link>
	<guid>http://ricetable.egloos.com/191371</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds22.egloos.com/pds/201110/11/53/d0121753_4e941be23b8e4.png"  
				alt="7강 - Spring AOP 구현 : 설정파일 소개" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> * 설정 파일 작성 * - 이전에 설명한 AOP 적용순서를 기억한다.    1. 공통 기능 정의    2. 대상 지정    3. 적용 시점 지정  - AOP 설정 파일 예  위의 예로 AOP 설정 태그를 설명하면,    1. &amp;lt;bean id=&quot;logging&quot; class=&quot;aop.common.CommonAspect&quot;/&amp;gt; : 공통 기능 정의 클래스 DI    2. &amp;lt;aop:config&amp;gt; : AOP 설정의 root 태그.    3. &amp;lt;aop:pointcut&amp;gt; : 대상 지정. Advice에서 참조할 pointcut 설정.    4. &amp;lt;aop:aspect&amp;gt; : Aspect 설정 - 하나의 Aspect 설정으로서 여러개일 경우 &amp;lt;aop:aspect&amp;gt;태그가 여러개 온	]]>
	</description>
	<pubDate>Tue, 11 Oct 2011 19:43:06 +0900</pubDate>
	<dc:creator><![CDATA[밥상 in Life 2.0]]></dc:creator>
</item>
<item>
	<title><![CDATA[6강 - Spring AOP 개요 (Aspect Oriented Programming)]]></title>
	<link>http://ricetable.egloos.com/190385</link>
	<guid>http://ricetable.egloos.com/190385</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds24.egloos.com/pds/201110/11/53/d0121753_4e9419fbb2ca3.png"  
				alt="6강 - Spring AOP 개요 (Aspect Oriented Pro.." 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> * 등장배경 * - OOP에서 문제를 해결하기 위한 모듈별 핵심 관심 사항(core concern)과   여러 모듈에 적용되는 공통 관심 사항(cross-cutting concern)으로 구분 가능. - 기존 OOP에서는 공통 관심 사항을 여러 모듈에 적용하는데, &quot;중복된 코드를 양산&quot; 과 같은 한계 존재. - 대안 1 : 공통 사항을 라이브러리화 한다.   ===&amp;gt; 여전히 dependency 한 관계이므로 결합도는 아직도 높다. 반복적인 호출 필요 - 대안 2 : AOP를 이용하여 &quot;의존관계를 없애&quot;고 대상과 시점을 정하여 기능을 이식 - AOP는 공통 관심 사항을 기준으로 프로그래밍 함으로서 공통 모듈을 손쉽게 적용할 수 있게 함.  * AOP 개요 * - 개념 : 핵심 관심 사항과 공통 관심 사항	]]>
	</description>
	<pubDate>Tue, 11 Oct 2011 08:41:55 +0900</pubDate>
	<dc:creator><![CDATA[밥상 in Life 2.0]]></dc:creator>
</item>
<item>
	<title><![CDATA[Spring AOP의 Aspect에서 order 값에 따른 적용순서 확인해보기]]></title>
	<link>http://benelog.egloos.com/2805903</link>
	<guid>http://benelog.egloos.com/2805903</guid>
	<description>
	<![CDATA[ 
 Spring AOP에서 동일한 target클래스에 결합되는 Aspect의 우선순위는  Ordered 인터페이스를 구현하거나 @Order 애노테이션으로 지정합니다. 아래와 같은 방식입니다. import org.aspectj.lang.JoinPoint;  import org.aspectj.lang.annotation.Aspect;  import org.aspectj.lang.annotation.Before;  import org.springframework.core.annotation.Order; @Aspect  @Order(1)  public class OrderOneAspect {      @Before(&quot;execution(void *.run())&quot;)      public void printOrder(Jo	]]>
	</description>
	<pubDate>Mon, 30 May 2011 08:45:11 +0900</pubDate>
	<dc:creator><![CDATA[개발을 통한 자기수양 - benelog]]></dc:creator>
</item>
<item>
	<title><![CDATA[크게 라디오를 켜고 by Art of Parties]]></title>
	<link>http://leopld.egloos.com/1467553</link>
	<guid>http://leopld.egloos.com/1467553</guid>
	<description>
	<![CDATA[ 
피곤이 몰아치는 기나긴 오후 지나 집으로 달려가는 마음은 어떠한가  지하철 기다리며 들리는 음악은 지루한 하루건너 내일을 생각하네  대문을 활짝열고 노래를 불러보니 어느새 피곤마저 사라져 버렸네    두눈을 감고서는 잠들려 했을때 옆집서 들려오는 조그만 음악소리  소리를 듣고싶어 라디오 켜보니 뜨거운 리듬속에 마음을 뺐겼네  자리에 일어나서 노래를 불러보니 어느새 시간마저 지나가 버렸네    아침을 알려주는 자명종 소리마져 쌓여진 졸음만은 어쩔수 없어라  두손에 잡혀지는 라디오 켜보고 하품과 기지개를 마음껏 해보세  방문을 활짝열고 노래를 불러보니 어느새 졸음마저 사라져 버렸네  크게 라디오를 켜고 함께 따라해요!  크게 라디오를 켜고 함께 노래해요!  	]]>
	</description>
	<pubDate>Wed, 04 May 2011 01:32:59 +0900</pubDate>
	<dc:creator><![CDATA[lost and found]]></dc:creator>
</item>
<item>
	<title><![CDATA[spring AOP에서 트랜잭션 처리..]]></title>
	<link>http://psg9.egloos.com/2561009</link>
	<guid>http://psg9.egloos.com/2561009</guid>
	<description>
	<![CDATA[ 
applicationContext.xml에서 순서가 중요했다. 더불어서 annotation으로 생성되는 bean은 엔제 생성될지 모르니 xml설정과 같이 섞이니 영 예상대로 동작하지 않았다.     aop transaction 선언을 먼저 하고 나서 해당 transaction advice를 적용할 bean을 나중에 선언해야 제대로  동작한다.   	]]>
	</description>
	<pubDate>Mon, 22 Mar 2010 17:50:56 +0900</pubDate>
	<dc:creator><![CDATA[Programmable Sound Generator]]></dc:creator>
</item>
<item>
	<title><![CDATA[Spring AOP 개념]]></title>
	<link>http://msgzoro.egloos.com/3108106</link>
	<guid>http://msgzoro.egloos.com/3108106</guid>
	<description>
	<![CDATA[ 
Spring의 IoC적인 특징은 AOP를 구현하는 핵심적인 원리가 되어 왔습니다. AOP란 무엇입니까? 사실, AOP는 그닥 어려운 개념은 아닙니다. AOP는 그동안의 전통적인 프로그래밍에서 개발자들이 느끼고 있던 불편함을 개선한 새로운 프로그래밍 패러다임이라고 보여집니다.AOP가 필요한 이유를 설명하기 전에 일반적인 형태의 프로그램을 작성하는 방식을 살펴보겠습니다.우리가 은행업무를 위한 프로그램을 작성한다고 가정해 보겠습니다. 은행업무에는 기본적인 입/출금업무가 있을 것이고 계좌이체업무도 있을 것입니다. 이러한 업무들이 바로 은행업무에 있어서 본질적인 비즈니스 기능이라고 할 수 있을 것입니다. 하지만, 이런 업무들만 있는 것은 아니지요. 누군가 돈을 찾아갔다면 그 정보도 남겨야 할 것이고 ID도용이 발생했	]]>
	</description>
	<pubDate>Thu, 04 Mar 2010 13:53:12 +0900</pubDate>
	<dc:creator><![CDATA[프로그래머]]></dc:creator>
</item>
<item>
	<title><![CDATA[NHibernate와 WinForms, WPF]]></title>
	<link>http://debop.egloos.com/2663480</link>
	<guid>http://debop.egloos.com/2663480</guid>
	<description>
	<![CDATA[ 
일반적으로 WinForms, WPF 에서 Data Binding을 통해 View와 Model을 양방향 통신이 가능하게 해서, 명시적인 Refresh가 아니더라도, Model의 변화를 View가 알 수 있도록 해주는 것이 좋다.  ObservableCollection, INotifyPropertyChanged 등이 이런 기능을 할 수 있는 기본 수형이라 하겠다.근데... 일반적으로 UI 용이 아닌 Entity의 경우에는 별 필요도 없는 바인딩용 인터페이스 구현을 굳이 해 줄 필요가 없었다.  요즘, 새로이 뜨는 WPF 같은 경우는 더해서, MVVM 패턴에서 VM이 이 기능을 담당해줘야 한다.  전 글에서도 썼듯이 이런 Entity가 수십개고, 관련 속성이 많은 LOB용 제품을 개발한다면, 정말 노가다가 아닐 	]]>
	</description>
	<pubDate>Sat, 18 Jul 2009 00:00:54 +0900</pubDate>
	<dc:creator><![CDATA[디밥의 블로그]]></dc:creator>
</item>
<item>
	<title><![CDATA[ProxyFactory (?)]]></title>
	<link>http://debop.egloos.com/2654100</link>
	<guid>http://debop.egloos.com/2654100</guid>
	<description>
	<![CDATA[ 
NHibernate의 장점 중에 하나가 Dynamic Proxy를 적용해서, 상당히 유연한 코드 및 처리를 수행해 준다는 겁니다.대표적인게 Lazy Loading이구요.  앞으로 MVVM 패턴을 사용할 지, MVP 패턴을 사용할 지 결정하지 않았지만, WinForms, WPF, Silverlight 용 코드를 개발 시에 제일 난감한게 Model의 Entity들은 INotifyPropertyChanged 구현해야 한다는 점입니다. 쩝... 노가다도 이런 상 노가다가 없습니다.예를 들어 한 Application 개발 시에 Domain Model의 Entity가 50개고, 대략 10개씩의 변경 가능한 속성이 존재한다면, 500개의 코드를 더 작성해야 한다는 겁니다..NET 3.0 부터 사용하는 auto-imple	]]>
	</description>
	<pubDate>Fri, 17 Jul 2009 00:07:54 +0900</pubDate>
	<dc:creator><![CDATA[디밥의 블로그]]></dc:creator>
</item>
<item>
	<title><![CDATA[AOP : Aspect Oriented Programming]]></title>
	<link>http://debop.egloos.com/2496786</link>
	<guid>http://debop.egloos.com/2496786</guid>
	<description>
	<![CDATA[ 
관점지향 프로그래밍 (Aspect Oriented Programming) 은 기존 Application의 프로그래밍의 관점을 변경하지 않고, 또 다른 관점들을 대입시킬 수 있는 새로운 방식이라 할 수 있다. AOP에 대한 이해는 우선 관심의 분리 (Separation of Concerns) 라는 개념을 이해해야 한다. OOP 설계시의 Class를 아무리 잘 설계해도, 서로 다른 여러 관점을 만족시키기가 어렵다. 이러한 여러가지 요구사항 또는 관심 사항의 중첩을 Crosscutting Concerns이라 한다. class 자체는 core concern을 만족시키는 것이 1차 목표지만, 여러 다른 관점을 만족시켜야만 할 경우가 많다.  예를 들어 ERP 시스템의 경우 단위 모듈별 core concern 별로 나	]]>
	</description>
	<pubDate>Tue, 30 Jun 2009 03:14:36 +0900</pubDate>
	<dc:creator><![CDATA[디밥의 블로그]]></dc:creator>
</item>
<item>
	<title><![CDATA[프로그래밍심리학/프로그래밍도구]]></title>
	<link>http://parkpd.egloos.com/1918351</link>
	<guid>http://parkpd.egloos.com/1918351</guid>
	<description>
	<![CDATA[ 
원본    특정 언어에서 좋아하는 언어 특징이 있나?  요즘 분위기는 주석 X, 말줄임 X  주석이 필요한가?  오픈 소스의 주석을 다 지웠더니 코드를 보기가 쉬워졌다(Quake)http://airdev.tistory.com/459 이 프로그램 괜찮을지도?  변수명, 함수명은 어떻게 정하는 게 좋은가?  cnt 는 count 로 쓰자. vs 코드가 짧으면 이해하기 쉽다  생명주기가 짧은 변수는 짧게, 전역에서 쓸 수 있는 메서드나 변수는 길게  AOP 적용의 어려움  천재 재봉사 레빈같은 팀원과 같이 일하는 어려움. 어떻게 해야할까?  상황에 맞게 여러 프로그램 언어를 써 본 경험은?  프로젝트에서 쓰고 있는 도구들을 얘기해 보자  check style, pc-lint, araxis merge, incred	]]>
	</description>
	<pubDate>Tue, 16 Jun 2009 19:03:55 +0900</pubDate>
	<dc:creator><![CDATA[박피디의 게임 아키텍트 블로그]]></dc:creator>
</item>
<item>
	<title><![CDATA[자바? 스프링? Red5? DI? AOP?]]></title>
	<link>http://neojjang.egloos.com/1865710</link>
	<guid>http://neojjang.egloos.com/1865710</guid>
	<description>
	<![CDATA[ 
이전에 잠깐 사용해 봤던 Red5라는 오픈 소스를 다시금 만지게 되었다.  설치만 했던 건데, 뭔가 기능을 넣어 서비스를 만들어야 하는 일이다.     담 쌓고 살던 자바를 만지고 있다.   그동안 멀리 멀리 가 있던 자바를...    덤으로 DI나 AOP라는 넘도 조금씩 이곳 저곳을 기웃거리며 개념 잡으려고 노력 중이다.  Spring이라는 프레임워크에서 사용되는 개념인데, Red5가 Spring을 기반으로 하고 있어서..볼 수 밖에 없다.    알듯 하면서도 쉽지 않네...    내부 PHP 프레임워크에서도 도입한 개념인데...-.-;;    개념만 잡으면 ...	]]>
	</description>
	<pubDate>Fri, 30 Jan 2009 16:19:25 +0900</pubDate>
	<dc:creator><![CDATA[IT 프로를 향한 조건?]]></dc:creator>
</item>
<item>
	<title><![CDATA[ Domain-Driven Design의 적용-3.Dependency Injection과 Aspect-Oriented Programming 7부 ]]></title>
	<link>http://aeternum.egloos.com/1316318</link>
	<guid>http://aeternum.egloos.com/1316318</guid>
	<description>
	<![CDATA[ 
Spring 컨테이너 외부에서 생성되는 객체에 대해 의존성 주입을 제공하는 가장 효과적인 방법은 AOP(Aspect-Oriented Programming)를 적용하는 것이다. AOP란 시스템 내의 관심사를 분리하는 프로그래밍 기법이다. AOP를 사용하면 시스템의 핵심 관심사(Core Concerns)와 횡단 관심사(Cross-Cutting Concerns)의 분리를 통해 결합도가 낮고 재사용이 가능한 시스템을 개발할 수 있다.  Spring은 2.x부터 기존의 프록시 기반 메커니즘에 AspectJ를 통합하여 더 강력하고 유연한 AOP 기능을 지원하게 되었다. 그 대표적인 것이 Spring 컨테이너 외부에서 생성되는 도메인 객체에 Spring 컨테이너에서 관리하는 빈을 의존 삽입할 수 있도록 해주는 기능이다.	]]>
	</description>
	<pubDate>Sun, 18 Jan 2009 20:28:54 +0900</pubDate>
	<dc:creator><![CDATA[Eternity's Chit-Chat]]></dc:creator>
</item>
<item>
	<title><![CDATA[Domain-Driven Design의 적용-3.Dependency Injection과 Aspect-Oriented Programming 6부]]></title>
	<link>http://aeternum.egloos.com/1284544</link>
	<guid>http://aeternum.egloos.com/1284544</guid>
	<description>
	<![CDATA[ 
너무 큰 보폭으로 진행한 것 같다. 잠시 숨을 고르고 ProductRepository에 대한 테스트를 추가하자. 지금 까지는 JUnit에서 제공하는 TestCase 클래스를 상속 받아 테스트 클래스를 작성했지만 Spring을 사용할 경우 빈컨텍스트에 대한 세밀한 제어가 가능한 AbstractDependencyInjectionSpringContextTests를 상속받는 것이 좋다. 테스트를 실행하고 녹색 막대인지를 확인하자.    ProductRepositoryTest.javapackage org.eternity.customer; import org.springframework.test          .AbstractDependencyInjectionSpringContextTests; public class	]]>
	</description>
	<pubDate>Fri, 02 Jan 2009 10:08:42 +0900</pubDate>
	<dc:creator><![CDATA[Eternity's Chit-Chat]]></dc:creator>
</item>
	</channel>
</rss>

