Dev 90

영속성 컨텍스트

영속성 컨텍스트 알아보자 Persistence Context : 영속성 맥락 ✅ 프레임웍에서 주로 컨테이너들이 관리 비슷 스프링의 빌드를 모두 로딩하고 관리하는 작업은 스프링 Context위에서 작동한다. 즉 Persistence Cantainer가 관리하는 내용이라는 의미. ✅ Persistence는 영속, 지속 보통 메모리에 존재하는 데이터는 서비스가 종료되면 사라지는데, 이 데이터를 지속적으로 처리할려면, DB에 저장해야한다. 그래서 데이터를 영속화 하는데 사용하는 컨테이너가 영속성 컨테이너이다. ✅ 실제로 영속성 컨텍스트에 가장 주체적인 역활하는 클래스는 EntityManager 이다. 영속성 컨텍스트의 설정은 퍼시스턴스 XML을 MATA-INF 디렉토리 하위에 생성하여 사용 가능하다. 실제로 x..

Dev/JPA 2022.03.02

JPA 실습 해보자 1(H2 DB)

H2 In-Memory DB에 대해서.. JPA에 대해서 공부하기 위해 H2 In-Memory DB에 대해서 공부해보자. ✅ H2 DB는 자바 기반의 경량화된 데이터베이스이고 파일로저장해서 실제 DB처럼쓰인다. 메모리 디비로 사용해서 실제 인스턴스 동작시 쓰이기도 하고, Test DB로 쓰이기도 하고, 유지보수 할 때는 Junit Test용으로 많이 쓰인다. 백문의 불여일타 실습해보자. application.yml파일을 리소스 밑에 넣고 위와같이 입력해준다. ✅ 그리고 실행하면?? 이렇게 H2를 사용하게 된다. 그리고 주소창에 http://localhost:8080/h2-console 치면 OMG DB접속화면이 바로나온다. 그리고 위의 드래그한 부분을 복사하여서 요로케 붙여넣고 커넥션 눌러보자. 그럼 진..

Dev/JPA 2022.03.02

드디어 JPA ...

드디어 JPA를 공부한다... JPA가 뭐길래? 🤔JPA???????? SpringBoot 쫌 한다는 사람은 JPA를 쓸 줄 안다고한다. Mybaits 공부할때 😈 "JPA도 공부해야해" 😈 "JPA가 더 좋아" 이런소리 너무 많이 들어서 JPA가 뭔지 몰라도 JPA 공부해야한다는 압박감을 가지고 있었다. JPA쫌 쓸 줄 안다고 Mybatis를 무시하는 몰상식한 행동은 하지말자. 아.... 개인적인 TMI 넘어가고 ✅ JPA를 알기 위해 알아야 할 4가지 부터 보자 ORM(Object Relational Mapping???? JPA(Java Persistence Api) Spring Data JPA? Hibernate? ORM과 JPA ✅ 먼저 ORM은 뭘까? Object Relational Mappin..

Dev/JPA 2022.03.02

jQuery 기초 배우기 (Javascript)

자바스크립트 JQuery 개요 소개 2006년 Mozila의 자바스크립트 에반젤리스 Jhon Resig에 의해 개발 / 공개 여러 자바스크립트 라이브러리 ( prototype.js, Mootool.js 등) 중에 가장 주목 받고 있다. jQuery로 코딩하면 자바스크립트 코드가 간결해 진다. 가볍다 ( 90KB) IE6.0 이상, Firefox2.0 이상, Safari 3 이상, Opera 9이상, Google Chrome등의 주요 브라우저를 지원하여 클로스브라우징을 가능케 한다. 다운로드 ( http://jquery.com/download/ , 최신 버전 1.9.0 ) 개발시에는 uncompressed 버전( jquery-1.9.0.js ) 으로 개발 릴리즈시에는 compressed 버전 ( jquer..

Dev/JavaScript 2021.10.25

자바스크립트 시작하기.

자바스트크립트 (JavaScriptBasic) 개요 역사 네스케이프의 라이브 커넥트 라는 서버측 기술에서 연동이 필요한 클라리언트측의 스크립트 언어였던 라이브스크립트에서 부터 시작 네스케이프사 가 SUN사와의 제휴로 이름이 자바스트립트로 변경하고 HTML 보완 언어로 발표(1995년) MS의 독자적 J스크립트 발표등 통일되지 않은 스펙과 호환성 문제 발생 네스케이프사가 1996년 자바스크립트 스펙을 ECMA국제회의에 제출 , 첫 버전 ECMA-262 발표. 지금은 ECMA-262 세 번째 버전이 나와 있으며 이를 기반으로 한 자바 스크립트 1.6이 대부분 브라우저에서 지원되고 있다. Hello World [실습1] Hello World document.write( "Hello World" ) 대신 ale..

Dev/JavaScript 2021.10.25

Spring[IOC Container]

Spring[IoCContainer] 1. IoC 와 DI Inversion of Control( 제어역전 ) 이란 프로그램 코드 내에서 참조하려는 객체를 직접 생성 하지 않고 외부의 다른 존재가 생성하여 제공한다는 개념 외부의 다른 존재(객체) 를 Container 라고 하며 IoC 오브젝트 또는 IoC Container 라고 한다 IoC 의 구현 방법 Dependency Lookup 객체가 JNDI를 이용하여 직접 의존하고 있는 객체를 찾는다. 객체가 JNDI 코드를 구현해야 한다. Exception 처리 구조가 복잡 EJB, Apache Avalon Dependency Injection 컨테이너 자체가 lookup을 한다.(객체 내에서 lookup하는 코드가 사라짐) 컨테이너에 의존적인 코드를 작성..

Dev/Spring 2021.10.17

Spring[AOP - Aspect Oriented Programming]

Spring[AOP - Aspect Oriented Programming] 1. AOP 개요 (A)spect (O)riented (P)rogramming : 관점 지향 프로그래밍 가장 기초가 되는 개념은 관심의 분리(Separation of Concern) (A)spect (O)riented (P)rogramming : 관점 지향 프로그래밍 가장 기초가 되는 개념은 관심의 분리(Separation of Concern) 핵심관심 : 시스템의 핵심 가치와 목적이 그대로 드러난 관심영역 횡단관심: 핵심관심 전반에 걸쳐 반복적으로 나오게 되는 로깅, 트랜잭션, 보안, 인증, 리소스 풀링, 에러체크 등의 관심영역 관심의 분리: 여러 핵심관심에 걸쳐 등장하는 횡단관심을 분리하여 독립적인 모듈로 만들고 핵심관심이 실..

Dev/Spring 2021.10.17

Spring[@Valid]

spring[@Valid] 1. @Valid 스프링에서는 서블릿 2.3 표준스펙 중 JSR-303 Validator 를 확장하고 Annotation 기반으로 제공하고 있다. mvc:annotation-driven 을 통해 간단하게 Bean Validation을 사용할 수 있다. 검증을 위한 Bean에는 @Valid 를 사용하여 자동 검증을 하게 된다. 실제 검증은 모델 오브젝트에 달린 제약조건 Annotation을 이용해 검증 작업이 이루어 진다. 2. Constraint Annotation JSR 303 Spec 기본 제공 @AssertFalse : 거짓인가? @Max : 지정 값 이하인가? @AssertTrue : 참인가? @Min : 지정 값 이상인가? @DecimalMax : 지정 값 이하 실수인..

Dev/Spring 2021.10.17

Spring[Logging]

Spring[Logging] 1. 로깅이란? 비 기능적 요구사항 ( Non Functional Requirement ) 하지만, 프로그램 개발 중 디버깅 및 개발완료 후 문제점 추적 및 분석을 위해 필수적으로 갖추어야 할 요구 조건 로그(Log) 는 프로그램 개발이나 운영 시 발생하는 문제점을 추적 하거나 운영 상태를 모니터링 하는 정보 로깅(logging)이란 로그(log)를 생성하도록 시스템을 작성하는 활동 얻을 수 있는 것 재현하기 힘든 ( 테스트 환경이 아닌 개발 완료된 환경에서 발생하는 ) 버그에 대한 유용한 정보를 제공 성능에 관한 통계와 정보를 제공할 수 있다. 2. 자바 로깅 java.util.logging Apache 의 (J)arkarta (C)ommons (L)ogging Log4J ..

Dev/Spring 2021.10.17

Spring[MultipartResolver]

Spring[MultipartResolver] 1. 설정 spring-servlet.xml 에 CommonMultipartResolver 설정을 해준다. pom.xml 에 common-fileupload, common-io 라이브러리 dependency를 추가 commons-fileupload commons-fileupload 1.2.1 commons-io commons-io 1.4 2. [실습] 업로드 폼 구성 (views/fileupload/form.jsp) 파일 업로드 예제 email: 파일1: 파일2: (c)opyright 2014 3. [실습] 업로드 결과 페이지 (views/fileupload/result.jsp) Upload completed 다시 업로드 하기 (c)opyright 2014 ..

Dev/Spring 2021.10.16