교육내용을 잊어버리기 전에 다시 정리합니다.
1. 하드웨어 성능향상에 따른 개발론
- 요즘 하드웨어가 좋기때문에 성능이슈보다 유지보수 및 확장성에 집중하여 개발한다.
(예전 성능이슈때문에 유행했던 알고리듬이 요즘 다시 곽광받고 있는 이유는 AI와 빅데이터 때문이다.)
2. XML은 플랫폼 독립적으로 동작한다.
A. XML
- Extensible Markup Language의 약자로, 마크업 언어를 정의하기 위한 언어, 확장이 가능한 언어이다.
B. HTML과의 비교
- HTML과 흡수한 Markup language이지만 Tag를 정의할 수 있고 데이터를 기술할 수 있는 마크업 언어이다.
XML은 데이터가 무엇인지에 초점을 맞춰 데이터를 기술하기 위해 고안되었고
HTML은 데이터가 어떻게 보일지에 초점을 맞춰 데이터를 표시하기 위해 고안되었다.
C. 탄생배경
- XML이란 전자적으로 데이터를 교환하기 위한 표준이다. HTML의 한계를 극복하고 SGML의 복잡함을 해결하는
방안으로써 탄생하였다.
- 웹 상에서 구조화된 문서를 전송 가능하도록 설계된 표준화된 텍스트 형식의 마크업 언어로써 인터넷에서 바로
사용가능한 문서를 표현하는 표준이다.
D. 특징
- 기존 웹의 인터넷 기반 프로토콜, 매커니즘과 함께 사용할 수 있다.
- 언어에 대해 독립적이고 여러 Application을 사용 가능하도록 지원한다.
- 사용자 정의 태그를 사용한다. 때문에 정보 교환이 용이하다.
- 문서 재사용이 가능하다.
- 웹에서 정보 교환이 가능하다.
- 자료의 표현과 내용이 분리되어있어 정확한 검색이 가능하고 교환에 용이하다.
XML은 어떠한 데이터를 설명하기 위해 이름을 임의로 지은 태그를 데이터로 감싼다.
출처 : https://asfirstalways.tistory.com/98
3. XML - JSON - YAML - CSV 언제 사용하고 어떤걸 선택해야 하는가?
출처 : https://stackoverflow.com/questions/34723651/xml-json-yaml-or-csv-for-storing-articles-on-server
4. IDL이란??
인터페이스 정의 언어 (Interface Description Language 또는 Interface Definition Language, IDL)는 소프트웨어 컴포넌트의
인터페이스를 묘사하기 위한 명세 언어이다. IDL은 어느 한 언어에 국한되지 않는 언어중립적인 방법으로 인터페이스를
표현함으로써, 같은 언어를 사용하지 않는 소프트웨어 컴포넌트 사이의 통신을 가능하게 한다. 예를 들면, C++을 사용하여
작성한 컴포넌트와 자바를 사용한 컴포넌트 사이에서 국한되지 않고, 인터페이스를 묘사하는 개념이다.
<IDL의 특징>
- IDL은 특정 언어에 독립적인 인터페이스 정의 언어이다. 따라서, 구현 언어가 아닌 정의 언어이며, 구현언어로의 매핑을
지원한다.
- IDL은 객체지향 개념을 기초로 하고 있으며, 다중상속 및 동적 호출 매커니즘을 지원한다.
출처 : https://blog.naver.com/neos_rtos/30185472655
5. GOF디자인 패턴에 대한 내용 (Spring은 많은 디자인 패턴을 내포하고있다.)
출처 : https://gmlwjd9405.github.io/2018/07/06/design-pattern.html
6. 클래스 다이어그램 내용 정리 (개발자들과의 의사 소통을 위해 필수로 익혀야한다.)
출처 : https://gmlwjd9405.github.io/2018/07/04/class-diagram.html
7. Spring AOP에 적용된 Proxy
d스프링은 프록시를 이용하여 AOP를 구현합니다. 스프링은 Aspect의 적용대상이 되는 객체에 대한 프록시를 만들어
제공합니다. 비즈니스 로직에 접근할 때 대상 객체로 바로 접근하는게 아닌 프록시를 통해서 간접적으로 접근하게 됩니다.
이 과정에서 프록시는 공통 기능을 실행한 뒤 대상 객체의 실제 메서드를 호출한 후에 공통 기능을 실행합니다.
출처 및 참고 : https://minwan1.github.io/2017/10/29/2017-10-29-Spring-AOP-Proxy/
https://jojoldu.tistory.com/71
<AOP에 대한 필기 내용>
app.xml에서 aop를 정의할 때 return값, 메소드명, 파라미터는 생략할 수 없다.
( ex. execution(* search(int)) ) ==> 해당 메소드가 보이면 무조건 aop를 적용시킨다.
- * : return value
- search : mthod name
- int : prameter name
annotation으로 AOP를 설정하려면 app.xml에 <aop:aspectj-autoproxy/> 를 입력해야한다.
8. @Autowired는 @Component를 상속하고 있는가?
상속받지 않습니다. 둘은 다른 개념입니다.
@Component
@Service
@Repository
@Controller
등의 spring stereo type @Annotation 이 붙은 클래스들은
스프링 어플리케이션이 기동될 때 자동으로 검색되어 객체가 생성되고, 스프링에 의해 관리됩니다.
@Autowired 는 스프링에 의해 관리되고 있는 빈 객체를 스프링이 알아서 주입해달라는 용도입니다.
출처 : https://okky.kr/article/357029
'STUDY > JSP&Spring' 카테고리의 다른 글
[JSP&Spring] Restful API를 활용한 Spring 게시판 구축 (0) | 2019.05.01 |
---|---|
[JSP&Spring] Spring교육 3일차 내용 정리 (0) | 2019.03.02 |
[JSP&Spring] Spring 교육 1일차 내용 정리 (0) | 2019.02.25 |
[JSP&Spring] vo와 bean의 차이(bean의 사용) (0) | 2019.01.21 |
[JSP&Spring] 브라우저는 어떻게 동작하는가? (0) | 2019.01.17 |