Procedure 프로젝트를 하다가 데이터베이스와 관련된 글들을살펴보면 간혹 프로시저에 대한 내용들이 나온다. 매번 그냥 넘겨짚어서 아 이런게 있구나 했지만 알아두면 좋을것 같아서 따로 정리해보기로 했다. 프로시저란 간단하게는 프로그램을 여러개의 단위로 분해한것을 프로시저라고 한다. 보통 기능에따라 분해되는 단위로 프로시저라고 일컫는데, 이를 세부적으로는 서브 프로시저와 함수 프로시저로 구분한다고한다. 서브 프로시저 프로시저를 수행후 결과값을 반환하지 않는 프로시저를 말한다. [Private][Public][Static] Sub 프로시저명 [Args] [명령문] [Exit Sub] [명령문] End Sub 위는 서브 프로시저의 구문 형태를 나타내고있다. Private, Public같은 경우 프로시저의 유..
[Spring] Servlet이란?1. ServletSpring 공부를 하기위해서는 서블릿의 이해가 필수적이다. http 통신 기반의 클래스(대부분의 컨트롤러가 이에 해당된다.)를 살펴보면 어노테이션 기반으로든, 매개변수로든 서블릿 클래스가 활용된다는 것을 알 수 있다. 그렇다면 서블릿은 무엇인가? 서블릿은 웹 프로그래밍에서 클라이언트 요청을 처리하고처리 결과를 클라이언트에 전송하는 기술.자바로 구현된 CGI(Common gateway Interface) CGI란 별도로 제작된 웹 서버와 프로그램간의 교환 방식으로, 어떠한 프로그래밍 언어로도 구현이 가능하며, 별도로 만들어놓은 프로그램에 HTML의 GET POST방법으로 클라이언트의 데이터를 환경변수로 전달하고 프로그램의 표준 출력 결과를 클라이언트에 ..
1. 메이븐이란?주로 java 진영에서 프로젝트 빌드, 관리에 사용되는 도구이다. 개발자들이 전체 개발과정을 한 눈에 알아볼 수 있다. 아파치 프로젝트이다.maven의 특징빌드 절차 간소화동일한 빌드 시스템 제공프로젝트 정보 제공구조 ant와의 차이점Ant가 비교적 자유도가 높다. 전처리, 컴파일, 패키징, 테스팅, 배포 가능Maven은 정해진 라이프사이클에 의하여 작업 수행하며, 전반적인 프로젝트 관리 기능까지 포함하고 있음. (Build Tool + Project Management)gradle과의 차이점XML 대신 groovy 스크립트를 사용하여 동적인 빌드 가능.maven은 멀티프로젝트에서 상속구조인데, gradle은 주입 방식이다. 멀티프로젝트에서 gradle이 더 적합하다.2. 플러그인메이븐은..
Application.javaSpringboot project 생성시 작성되어 있는 파일로써, @SpringBootApplication 이라는 핵심 어노테이션을 통해 동작한다. java project의 main문과 같은 역할로 이해하자.@SpringBootAPplication 은 @Configuration + @EnableAutoConfiguration + @ComponentScan 세가지를 한번에 묶어놓았다. @ Configuration@ Configuration은 클래스를 애플리케이션 컨텍스트에 대한 빈 정의의 소스로 태그 지정한다. @EnableAutoConfiguration@EnableAutoConfiguration은 스프링 부트를 사용하여 classpath설정, 다른 빈 및 다양한 속성 설정에 ..
JPA Criteria & SpecificationCriteria API는 JPA 2.0에 추가되었고, 다음과 같은 구문을 지원한다. (UPDATE 및 DELETE 기능은 JPA 2.1부터 지원한다.)SELECTFROMWHEREGROUP BYORDER BY JPA Criteria 는 동적쿼리를 사용하기위한 JPA 라이브러리이다. 기본적으로 JPQL(JPA Query Language)과 같이 엔티티 조회를 기본으로하며, 컴파일 시점에서 에러를 확인할수 있는 특징을 가진다. 예를들면 다음과 같다.TypedQuery query = em.createQuery("SELECT o FROM Order", Order.class); List resultList = query.getResultList();위 예제에서는 컴..
JWT Token 통신과정 Token Object 구조[기다릴개] 프로젝트 내에서 JWT 토큰을통한 로그인 유지를 구현하기 위해 다음과 같은 전략하에 통신을 진행하였다.{ "status" : 200, "message" : "token 발급 성공", "data" : { accessToken : { "data" : eyJASKLDAHDuaksjdhaksd.., "expiredAt" : 1504819077 }, refreshToken : { "data" : eyJASKLDAHDuaksjdhaksd.., "expiredAt" : 1704819077 } } }위와같은 형태이며, 각 토큰의 목적은 다음과 같다. accessToken : 인증 수단으로써의 토큰. 인증을 위해 사용되며, 사용자 정보가 담겨져있다.ref..