분류 전체보기 204

프록시 패턴과 프록시 서버

프록시 패턴과 프록시 서버 프록시 패턴 특정 객체에 대한 접근을 제어하거나 기능을 추가할 수 있는 패턴 특정 객체에 접근하기 전에 프록시 객체를 먼저 지난 후 접근하게 한다. 초기화 지연, 접근 제어, 로깅, 캐싱 등 다양하게 응용하여 사용할 수 있다. 위키백과 프록시 패턴 사용전 public class Clinet { public static void main(String[] args) { GameService gameSErvice = new GameService(); gameService.startGame(); } } public class GameService { public void startGame() { System.out.println("게임을 시작합니다."); } } 프록시 패턴 사용 후 ..

Spring 2022.12.16

[Linux] CentOS MySQL 설치 하는방법

CentOS이용하여 mysql을 설치하려고 하려고한다. 명령어인 yum install mysql 를 입력하면 Maria DB가 설치되는걸 볼수 있다. Maria DB는 ORacle이 MySQL을 인수하면서 오픈소스 라이선스에 바날한 기존 MySQL 개발자들이 개발한 것이다. 때문에 MySQL과 호환성이 좋고, 특별히 MySQL을 설치해야 할 이유가 없다면 Maria를 사용해도 무방하다. 1. Maria DB 삭제 yum install mysql 명령어를 사용하면 MariaDB가 설치되는데, Maria DB를 삭제하려면 yum list installed mariadb\* 명령어를 통해 설치되어 있는 mariadb 패키지를 출력한 후, 모두 제거해주면 된다. 위와 같이 mariadb-libs.x86_64, ..

개발환경 2022.12.03

[Linux] CentOS java 개발환경 구축하기

1. 설치 가능한 jdk 확인 # yum list java*jdk-devel 2. open jdk 11 설치 # yum install java-11-openjdk-devel.x86_64 설치 확인 # java --version 3. 환경변수 설정 경로 확인 // javac 설치경로 확인 # which javac /bin/javac // /bin/javac에 연결된 원본 파일 위치 확인 # readlink -f /bin/javac /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64/bin/javac JAVA_HOME이 될 경로 /usr/lib/jvm/java-11-openjdk-11.0.11.0.9.el7_9.x86_64 4. 환경변수 설정 vi /etc/p..

개발환경 2022.12.02

[Linux] Cannot find a valid baseurl for repo: bae/7/x86_64 에러

Cannot find a valid baseurl for repo: bae/7/x86_64 에러 VM으로 CentOs로 서버를 만드는 도중에 Cannot find a valid baseurl for repo: bae/7/x86_64 에러가 나와서 힘들었다. 위와 같이 에러가 나오는데 구글링 해보니 DNS문제로 안되는 것이었다. 해결방법은 아래와 같이 하면 된다. 리눅스 DNS 설정 방법 더보기 vi /etc/resolv.conf etc 안에 있는 resolv.conf파일을 수정해 주면 된다. 파일 수정 내용 public DNS server list로 각 통신사에서 제공하는 서버 주소이다 KT olleh DNS 서버 주소 - 168.126.63.1 SK Broadband 기본 DNS 서버 주소 - 210...

개발환경 2022.12.02

VM(VirtualBox) Cent Os 7 설치

VirtualBox 와 CentOS7 다운로드 개인 프로젝트를 진행하는 도중 서버를 어떤걸로 사용할까 고민하다가 집에 사용하지 않는 본체가 있어서 그 본체로 서버를 사용하기로 했다. 이렇게 된거 색다른 방법으로 하고싶어 VirutalBox와 CentOS를 이용하려고한다. 시작 하기전에 먼저 VM과 CentOs를 다운 받아준다. https://www.virtualbox.org/wiki/Downloads Downloads – Oracle VM VirtualBox Download VirtualBox Here you will find links to VirtualBox binaries and its source code. VirtualBox binaries By downloading, you agree to t..

개발환경 2022.11.26

[JPA] 값 타입, 임베디드 타입

JPA의 데이터 타입 분류 1. 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적이 가능하다 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 2. 값 타입 int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본타입이나 객체 식별자가 없고 값만 있으므로 변경시 추적 불가 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 3. 기본값 타입 자바 기본 타입 (int , double) 래퍼 클래스 (integer, Long) String 임베디드 타입 (embedded type, 복합 값 타입) 컬렉션 값 타입 (Conllection value type) 참고 : 자바의 기본 타입은 절대 공유되지 않는다 int a = 20; i..

Language/Java 2022.11.22

프록시와 연관관계 관계

프록시란? 대리자라는 뜻으로, 클라이언트가 사용하려고 하는데 실제 대상인 것처럼 위장해서 클라이언트의 요청을 받아주는 역할을 말한다. 프록시는 실제 대사인 것처럼 위장함으로서 이를 사용하는 클라이언트는 구체 클래스를 알 필요가 없어진다. 또한 프록시 클라이언트의 요청을 받아서 원래 요청 대상에게 바로 넘겨주는 게 아닌, 다양한 부가기능을 지원할 수 있다. 여기서 원래 요청하려는 대상 즉, 최정적으로 요청을 위임받아 처리하는 실제 오브젝트를 타깃 이라한다. 프록시의 조건 클라이언트의 요청을 대리로 수행해주는 모든 객체가 프록시 인것은 아니다. 객체가 프록시가 되려면 클라이언트는 요청을 보낸 대상이 타깃인지 프록시 인지 구분을 할 수 없어야한다. 즉, 타깃과 프록시는 같은 인터페이스를 확장해야한다. (CGL..

Language/Java 2022.11.16

Spring boot Security 사용법

Spring boot Security 사용법 개발 환경 java 11 gralde 2.7.3 build.gralde 에 Security 추가 더보기 implementation 'org.springframework.boot:spring-boot-starter-security' Spring Security란? Spring 기반의 애플리케이션의 보안(인증과 권한, 인가)을 담당하는 스프링 하위 프레임워크이다. 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller사이에 위치한다는 점에서 적용 시기의 차이가 있다. Spring S..

Spring 2022.11.03

고급 매핑 - 상속관계 매핑, @MappedSuperclass

상속관계 매핑과 @MappedSuperclass에 대해서 알아보도록 하겠다. 상속관계 매핑 관계형 데이터베이스는 상속 관계가 없다 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사하다 상속관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑한다. 슈퍼 타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법은 3가지가 있다 1. 각각 테이블로 변환 -> 조인 전략 2. 통합 테이블로 변환 -> 단일 테이블 전략 3. 서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 조인 전략 엔티티마다 모두 테이블로 만들어주고 부모의 기본키를 기본키 + 외래 키로 사용함. 그래서 조회할 때 조인을 사용함. 다만 객체는 타입이 있는데 테이블은 타입에 개념이 없으니 따로 컬럼을 추가해줘야..

Spring 2022.11.01

Eclipse Svn 설치

어제는 Eclipse에 Azure 설치를 해보았는데 오늘은 Svn를 설치해보도록 할것이다 https://jungkeung.tistory.com/213 Install New Software -> Work with http://community.polarion.com/projects/subversive/download/eclipse/6.0/update-site/ 작성 -> Name : Svn 작성 후 Add 클릭 -> Name 밑에 있는 Svn 두개다 체크 후 Next 눌러준 2. 라이선스 확인 후 Filnsh -> Restart 클릭하면 끝이다. 자세한 내용은 아래 블로그를 참고 해서 하면 좋을거 같다 http://lmc.cs.kookmin.ac.kr/readmore/eclipse-svn

Language/Java 2022.10.28