개발
-
Spring AOP개발 2020. 11. 30. 15:03
Aspect-Oriented Programming (AOP)는 OOP를 보완하는 수단, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법. 흩어진 관심사 (Crosscutting Concerns) Concern = 여러 클래스에서 비슷하게 나타나는 코드들을 뜻한다. ex) 트랜잭션. 여러 클래스에서 비슷하게 나타나는 코드나 메소드를 Aspect로 모듈화 시켜 중복을 제거한다. AOP를 적용하면 다음과 같은 모습이다. Aspect는 하나의 모듈, 모듈화 시킨 거임 모듈안에 Adivce(해야할 일들), Pointcut(어디에 적용 되어야 할지 정보), target(적용이 되는 대상) 값이 저장되어 있다. Join Point (메서드 호출, 메서드 실행 시점에 Advice를 끼어들게 할 수 있는 지점에..
-
Spring 기초개발 2020. 11. 28. 15:30
Spring의 등장 배경 점점 커지는 웹 사이트에서 서비스를 편리하게 하기 위해서 Session Bean에서 Transaction 관리가 용이하다. 로긴, 분산처리, 보안 등 POJO(Plain Old Java Object) 특정 프레임워크나 기술에 의존적이지 않는 자바 객체 = 우리가 일반적으로 사용하는 자바 객체 특정 기술에 종속적이지 않기 때문에 생산성, 이식성 향상 Plain : Component Interface를 상속받지 않는 특징을 가진다. Old : EJB 이전의 Java Class 경량 프레임 워크 EJB가 제공하는 서비스를 지원해 줄 수 있는 프레임워크 ex) Hibernate, JDO, iBatis(Mybatis), Spring POJO + Framework EJB Server와 같은..
-
Servlet?개발 2020. 10. 23. 01:59
서블릿은 JVM 기반에서 웹 개발을 하기 위한 명세이자 API이다. 서블릿은 자신만의 생명주기(life cycle)을 가지고 있고, 웹 애플리케이션 컨테이너에서 context가 초기화 되면 생명주기가 시작된다. 서블릿의 생명주기는 초기화(initialize), 서비스(service), 소멸(destory)의 3단계로 구성되어 있다. 초기화 단계에서는 로드한 서블릿의 인스턴스를 생성하고, 리소스를 로드하는 등 클래스 생성자의 초기화 작업과 동일한 역할을 수행한다. 서비스 단계에서는 클라이언트의 요청에 따라 호출할 메서드를 결정한다. 소멸 단계에서는 서블릿이 언로드 된다.
-
WAS ?? Class Loader?개발 2020. 10. 23. 01:35
웹 애플리케이션 컨테이너는 웹 애플리케이션이 배포되는 공간을 뜻한다. HTML 같은 정적 파일들을 전달해 주는 역할을 하는 서버를 웹서버 라 칭하고 PHP, JSP, ASP 같은 언어를 사용해 동적인 페이지들을 생성 가능한 서버를 웹 애플리케이션 서버(WAS)라 한다. Class Loader JAVA는 컴파일 하면 class 파일이 생성된다. 이 class 파일은 JVM에서 실행 가능한 상태가 된다. JVM이 class를 실행하기 위해서는 클래스를 로딩하는 과정이 필요하며 이를 위한 것이 Class Loader이다. Class Loader의 4가지 특징 계층적 구조를 가지고 있다. 상위 클래스 로더에서 하위 클래스 로더를 갖는 방식으로, 최상위 클래스 로더는 부트스트랩 클래스 로더이다. 두 번째, 클래스..
-
[Linux] Ununtu에서 MariaDB 설치 하기개발 2020. 10. 21. 14:31
1. 설치 전 repository에 업데이트 패키지가 있는지 확인하고 설치된 패키지를 업데이트를 먼저한다. 2. update가 끝나면 위의 명령어를 통해 mariadb를 설치해준다. 3. 설치후 vi /etc/mysql/mariadb-conf.d/50-server.cnf 를 통해 세팅 환경을 확인할 수 있다. 4. MariaDB 설치후 외부 접속을 위해 다음과 같이 아이디를 하나 생성해서 권한을 주었다. 5. 다음과 같은 과정을 다 수행 후 재시작 해준다. 6. 외부에서 접속하면 끝~
-
Pandas개발 2020. 9. 2. 17:01
import numpy as np import pandas as pd Create Object Series Data 형성 obj = pd.Series([1,3,5,np.nan,6,8]) obj => 0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64 DataFrame Data 형성 import pandas as pd import numpy as np dates = pd.date_range('20200902', periods=6) dates=> DatetimeIndex(['2020-09-02', '2020-09-03', '2020-09-04', '2020-09-05', '2020-09-06', '2020-09-07'], dtype='datetime64[ns]', fr..
-
https 적용하기개발 2020. 8. 12. 02:18
Ubuntu 에서 Https 환경을 적용 해보자. 가장 처음 sudo 명령어로 다음을 실행 해준다. $ sudo apt-get update #apt-get 업데이트 $ sudo apt-get install software-properties-common #선행 소프트웨어 설치 $ sudo add-apt-repository ppa:certbot/certbot #저장소 추가 $ sudo apt-get update #apt-get 업데이트 certbot이란걸 사용할 예정인데 certbot을 사용하기 위한 환경 설정이다. certbot을 사용하여 인증서를 발급받아 도메인 소유권을 확인해보자. 왜 도메인을 확인 해야하는가? 클라이언트에서는 상대방 서버가 진짜 통신하려는 사용자 서버인지 검증을 해야한다. 검증을 하..