JPA 소개 JPA 시작

JPA

1. JPA 소개

하이버네이트 오픈소스 ORM 프레임워크가 나온 후 자바빈이 버려지고 하이버네이트, 이클립스링크등의 ORM 프레임워크로 자바 ORM 표준을 정한것이 JPA 이다.

JPA(Java Persistent API) : 관계형 데이터베이스에 접근하기 위한 표준 ORM 기술을 제공하며, 기존에 EJB에서 제공되던 엔터티 빈(Entity Bean)을 대체하는 기술이다. JPA는 JSR 220에서 정의된 EJB 3.0 스펙의 일부로 정의가 되어 있지만, JPA는 EJB 컨테이너에 의존하지 않으며 EJB, 웹 모듈 및 Java SE 클라이언트에서 모두 사용이 가능하다. 또한, JPA는 사용자가 원하는 퍼시스턴스 프로바이더 구현체를 선택해서 사용할 수 있다.

ORM(Object Relational Mapping) : 관계형 데이터베이스를 객체에 매핑.

왜 JPA를 사용해야 하는가?

  1. 생산성 : 지루하고 반복적인 CRUD 코드를 직접 작성하지 않아도 된다.
  2. 유지보수 : 엔티티에 필드를 하나만 추가해줘도 등록, 수정, 조회 자동으로 매핑 된다.
  3. 패러다임의 불일치 해결 : 관계형 DB로 객체지향적인 코딩이 가능해 진다.
  4. 성능 : 한번 조회한건 캐시를 사용함으로 똑같은걸 2번 조회 하지 않는다.(1차캐시)
  5. 데이터 접근 추상화와 벤더 독립성 : 방언을 통해 자유자제로 다른 DB로 변경이 가능 하다.
  6. 표준 : 자바 진영의 ORM 표준이다.

스프링부트 jre 2개 추가 오류

201606121433
최근에 스프링 부트 그래들 프로젝트를 생성시에 jre 2개가 잡히는 문제가 발생하였습니다.

그래서 jdk를 지웠다 다시 설치 해보기도 하였으며 결국 sts를 지우고 다시 깔았지만 동일한 현상이 지속되었습니다.

그러던중 .classpath에 들어가서 확인해보니 자바 라이브러리를 불러오는 부분에서

이클립스 프로젝트 자바스크립트 플러그인 추천!

이클립스에서 스프링 이나 JSP 프로젝트를 진행 하였을 경우 자바스크립트코딩을 할경우 컨트롤 + 스페이스 자동완성 기능을 사용하지 못하여서 불편함이 있었습니다. 그래서 찾은 플러그인 중에 추천해줄 만한 플러그인을 찾아 공유 하고 싶어 글을 작성 하게 되었습니다.

1. 설치

2016-05-28

Tern Eclipse IDE 를 인스톨을 눌러서 설치 합니다.

※저는 느린 인터넷이라 그런지 설치시 20분이 소요 되었습니다… ㅠ

자바스크립트 쿠키 간단 사용법

개요

쿠키를 사용할일이 있어 공부를 하다가 정리 할겸 블로그에 작성 합니다.
document.cookie 를 자바스크립트 콘솔에 입력하면 해당 도메인의 쿠키값들이 나옵니다.
문자열형태로 나오며 “키=벨유; 키=벨유; 키=벨유” 형식으로 존재합니다.

W3Schools를 보고 참조 하였습니다.
http://www.w3schools.com/js/js_cookies.asp

쿠키값은 총 3개의 파라미터로 구성되며

  • 키=벨유 : MAP형식으로 키와 벨유를 저장
  • expires=Date타입값 : 쿠키 제한 시간을 정함
  • path:쿠키 생성 위치 : 쿠키 생성 위치를 지정

데이터 마이닝(빅 데이터?)

데이터 마이닝(data mining)은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아 내는 것이다. 다른 말로는 KDD(데이터베이스 속의 지식 발견, knowledge-discovery in databases)라고도 일컫는다.

데이터 마이닝은 통계학에서 패턴 인식에 이르는 다양한 계량 기법을 사용한다. 데이터 마이닝 기법은 통계학쪽에서 발전한 탐색적자료분석, 가설 검정, 다변량 분석, 시계열 분석, 일반선형모형 등의 방법론과 데이터베이스 쪽에서 발전한 OLAP (온라인 분석 처리:On-Line Analytic Processing), 인공지능 진영에서 발전한 SOM, 신경망, 전문가 시스템 등의 기술적인 방법론이 쓰인다.

데이터 마이닝의 응용 분야로 신용평점 시스템(Credit Scoring System)의 신용평가모형 개발, 사기탐지시스템(Fraud Detection System), 장바구니 분석(Market Basket Analysis), 최적 포트폴리오 구축과 같이 다양한 산업 분야에서 광범위하게 사용되고 있다.

최신 메시지 큐(Messgae Queue) MQ 기술

메시지 큐 란 무엇인가?

메시지 지향 미들 웨어(Message Oriented Middleware: MOM)은 비 동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터의 송수신을 의미 한다.

MOM을 구현한 시스템을 메시지 큐(Message Queue: MQ)라 한다.
메시지 큐는 별도의 공정 작업을 연기 할 수 있는 유연성을 제공하여 SOA (service-oriented architecture)의 개발에 도움을 줄 수 있다.

프로그래밍에서 MQ는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할때 사용하는 방법이다. 이때 데이터를 교환할때 시스템이 관리하는 메세지 큐를 이용하는 것이 특징이다. 이렇게 서로 다른 프로세스나 프로그램 사이에 메시지를 교환할때 AMQP(Advanced Message Queueing Protocol)을 이용한다. AMQP는 메세지 지향 미들웨어를 위한 open standard application layer protocol 이다. AMQP를 이용하면 다른 벤더 사이에 메세지를 전송하는 것이 가능한데 JMS (Java Message Service)가 API를 제공하는것과 달리 AMQP는 wire-protocol을 제공하는데 이는 octet stream을 이용해서 다른 네트워크 사이에 데이터를 전송할 수 있는 포멧인데 이를 사용한다.

C:\Users\김종인\Downloads\MOM diagram.png

그림 1 MOM 개념

KSUG Growing Application 애플리케이션 아키텍처 안티 패턴 후기

개요

2015년 11월 28일 KSUG(한국 스프링 사용자 모임) 에서 주최 하는 세미나를 다녀 왔습니다.

http://www.ksug.org/seminar/20151128/

세미나의 전체적인 내용은 부제목에 나와 있듯이 도메인 모델(객체지향)과 객체 설계를 통해 애플리케이션을 작성 하면 어떠한 장점이 있는지 결국 이 장점들이 Spring Framework에 다 스며 들어 있어서 결국 Spring Framework를 쓰면 될것 처럼 보였습니다.

첫번째 시간 SK planet 박성철님께서 애플리케이션 아키텍처 안티 패턴이라는 주제로 세미나를 진행해 주셨습니다.

http://www.slideshare.net/gyumee/ss-55616001

우리 업계에서 인식하지 못하는 사이에 학습되어 반복되는 애플리케이션 아키텍처 안티 패턴을 규명하고 이것들이 우리에게 어떤 고통을 주는지, 왜 이런 패턴을 우리 코드에 스며들어 사라지지 않는지 이야기해 봅니다.

안티패턴 총 6가지로 구성되어 있으며 짧게 다루겠습니다.