# weaving

Spring AOP (23.09.01)
🌷 Spring AOP > 관점 지향 프로그래밍(Aspect Oriented Programming)의 약자 일반적으로 사용하는 클래스(Service, Dao 등) 에서 중복되는 공통 코드 부분(commit, rollback, log 처리)을 별도의 영역으로 분리해 내고, 코드가 실행 되기 전이나 이후의 시점에 해당 코드를 붙여 넣음으로써 소스 코드의 중복을 줄이고, 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술 위 사진과 같이 공통되는 부분을 따로 빼내어 필요한 시점에 해당 코드르 추가해 주는 기술을 의미한다. 🌼 구조 
[Spring] AOP와 AOP 용어
AOP AOP (Aspect Oriented Programming; 관점 지향) 애플리케이션 전체에서 공통으로 사용되는 기능(advice)을 별도로 생성해놓고 proxy서버가 공통의 기능을 적절하게 삽입하면서 중복 제거하고 일관성을 유지하는 것 프로그램의 모듈성과 유지보수성을 높이기 위해 핵심 로직과 부가적인 기능을 분리하여 개발 * 개발 코드 관점 분리 - 핵심 기능, 공통 기능* 관점분리란? 어플리케이션 전체에 걸쳐 적용되는 관심사를 코드에서 분리하여 모듈화하는 것 핵심 비즈니스 로직과 다른 관심사 분리 AOP 용어 Aspect(관점) : 애플리케이션 전반에서 적용되는 공통 관점 사항 : 로깅, 보안, 트랜잭션 등 Joinpoint : 핵심기능(메소드), 애플리케이션 실행시 시작되는 지점, Advice를 적용할 지점 : 메서드 호출, 객체 생성, 필드 접근 등 **poi
[Unity] Photon Fusion RPC 관련
삽질 잔뜩 하다가 알아낸 정보들 (공식 문서에도 적혀 있긴 할텐데 스스로 하기 전까진 이해가 잘 안 갔음) Simulation Behaviour static RPC만 존재 가능 일반 RPC를 작성하면 Weaving Error 발생 Network Behaviour 일반 RPC, static RPC 존재 가능 해당 스크립트가 부착된 오브젝트에 Network Object 컴포넌트 필요 > 이때, Network Object는 런타임 전에 씬에 이미 존재하고 있거나, 런타임 중 Spawn()해야만 valid함. 따라서, 일반 RPC는 Spawn한 오브젝트의 Network Behaviour 스크립트에서만 작성 가능함. 특히, RPC를 호출하는 스크립트가 런타임에서 어떤 오브젝트에 붙어있지 않으면 호출이 되지 않음 > (예시 : Test.cs 스크립트의 RPC_ABC()를 호출하려는데, Test.cs 스크립트가 씬 내 어떤 게임 오브젝트의

Spring AOP Weaving, Proxy
Weaving? Weaving은 Pointcut에 의해서 결정된 타겟의 Join Point에 부가기능(Advice)를 삽입하는 과정을 뜻한다. Weaving은 AOP가 핵심기능(타겟)의 코드에 영향을 주지 않으면서 필요한 부가기능(어드바이스)를 추가할 수 있도록 해주는 핵심적인 처리과정이다. >Pointcut - 어드바이스를 적용할 타겟의 메서드를 선별하는 정규표현식이다 >Advice - 어드바이스는 타겟에 제공할 부가기능을 담고 있는 모듈이다. >Join Point - 어드바이스가 적용될 수 있는 위치를 말한다. 종류 Compile Time Weaving(CTW) AspectJ에는 AJC (AspectJ Compiler)라는 컴파일러가 있는데 Java Compiler를 확장한 형태의 컴파일러이다. AJC를 통해 java파일을 컴파일 하며, 컴파일 과정에서 바이트 코드 조작을 통해 Advisor 코드를 직접 삽입하여 위빙을 수행한다. 장점으
Spring - 37.1 AOP
언어의 변천사 POP: 절차지향 어떤 순서에 의해 개발을 할 것인지 전체 모든 언어중 가장 나온 방법론 규모가 작으면 POP도 상관없으나 일정 규모 이상으로 올라가면 코드의 중복이 심각해짐 OOP, FOP OOP, FOP에서도 중복코드가 있기는 있음 AOP (Aspect: 관점지향) 사용이유 1. 관심사 분리 비즈니스 로직을 건들이지 않기 위해서 사용함 비즈니스 로직 구현 개발자는 부가적인 기능을 생각하지 않고 개발할 수 있음 비즈니스 로직외에 인증이나 트랜잭션에 대해 고민할 필요가 없음 비즈니스 로직을 가독성과 유지보수성을 높인채로 둘 수 있음 2. 중복 발생 방지 AOP 구현 핵심 기술은? Proxy 생성 기술입니다... Proxy: Target객체에 Advice가 적용된 후 생성되는 객체 스프링은 대상(target)이 되는 객체에 프록시를 만들어 제공한다. 대상객체에 직접 접근하기보