본문으로 바로가기

Sw.Dev

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
관리자
  • 블로그 이미지
    @프포남

    Sw.Dev 의 삶을 기록하는 공간입니다.

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

Mybatis에서 postgresql function(array[]) 호출할때 에러!

springboot, postgresql , mybatis를 사용하던중 아래의 이슈사항이 있었고 해결함. CREATE OR REPLACE FUNCTION public.test_function( , aList character varying[] , b character varying ) RETURNS TABLE( c character varying , d character varying ) LANGUAGE plpgsql AS $function$ declare ..................... public class TestEntity { private String[] aList; private String b; } SELECT a , b FROM test_function(#{aList},#{b}) m..

DB/PostgreSql 2021. 8. 10. 14:56

javax/xml/bind/JAXBException 에러

jpa를 공부하던중 아래와 같은 에러가 났습니다. 에러 이름은 javax/xml/bind/JAXBException... JAXB 예외가 났다는거 같은데... 흠.. JAXB는 뭘까? 열심히 구글링 해본 결과 우리가 많이 쓰는 기술이였네요. JAXB는 Java Architecture for XML Bind을 뜻합니다. 우리는 Maven 형식으로 프로젝트를 구성할때 등등 프로젝트를 하면서 많은 xml을 사용하는데 xml을 java Object 형식으로 바꿔주는 역할을 하는 기술이 JAXB 였습니다. (참고 : https://coding-start.tistory.com/36) 그러면 javax/xml/bind/JAXBException 에러는 왜 날까요? 저 같은 경우는 현재 Java11 버전을 사용하고 있고 ..

DB/JPA 2019. 11. 19. 23:03

[Jacoco] 코드 커버리지 측정하기

백기선님의 인프런 강의를 듣는중 Jacoco를 통한 코드 커버리지 측정하는 부분을 정리해봅니다. 코드 커버리지란? 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표중 하나다. 말 그대로 코드가 얼마나 커버되었는가이다. 소프트웨어 테스트를 진행했을 때 코드 자체가 얼마나 실행되었냐는 것이다. 코드의 구조를 이루는 것은 크게 구문(Statement), 조건(Condition), 결정(Decision)이다. 이러한 구조를 얼마나 커버했느냐에 따라 코드커버리지의 측정기준은 나뉘게 된다. 일반적으로 많이 사용되는 커버리지는 구문(Statement)커버리지이며, 실행 코드라인이 한번 이상 실행 되면 충족된다. 조건(Condition)커버리지는 각 내부 조건이 참 혹은 거짓을 가지면 충족된다. ..

프로그래밍/자바 2019. 10. 12. 16:16

[생활코딩 Git] git branch 만들기

branch는 위의 그림처럼 작업을 분기해서 처리하는 경우에 대한 시적인 표현입니다. 쉽게 말해서 새로운 작업 공간을 만드는 것입니다. 새로운 폴더를 만들고 git을 관리해봅시다. f1.txt을 파일을 생성하고 commit을 했습니다. 여기까진 특별한게 없죠. 그리고 나서 git branch라는 명령어를 입력해봅시다. *master 라는 글자가 보이네요.. 우리는 git을 관리할때 별도로 branch를 하지 않더라도 master라는 branch를 사용하고 있습니다. git branch 브랜치명을 입력하면 branch를 만들수 있습니다. git branch를 입력하면 현재 branch들을 볼수있습니다. exp , master 브랜치가 있는데 master가 초록색인 이유는 현재 사용하고 있는 브랜치이기 때문..

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 9. 7. 14:43

[생활코딩 Git] git status의 원리

git status 를 입력하게 되면 현재의 상태를 말해줍니다. 그런데 commit을 한 상태에서 git status를 입력하게 되면 nothing to commit, working tree clean 이라는 메시지를 보게 됩니다. 어떻게 깃은 더이상 commit할 파일이 없다는것을 알수있을까요? add를 하게 되면 index에 기록되고 commit을 하게 되면 tree를 만들게 됩니다. index에 기록된 파일들과 마지막 tree를 비교해서 다르다면 commit을 해야한다는것을 알수있습니다. 아래는 Git Flow를 정리한 그림입니다. https://www.google.com/imgres?imgurl=https%3A%2F%2Fneurathsboat.blog%2Fpost%2Fgit-intro%2Ffeat..

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 9. 3. 21:08

[생활코딩 Git] git commit의 원리

파일 4개를 commit을 하게 되면 아래 보이는 그림처럼 tree 형태로 만들어지게 됩니다. commit을 하게 되면 트리의 형태로 파일들이 연결되어 있다는것을 알수 있는데요. 그럼 commit을 한번더 하게되면 어떻게 될까요? commit을 한번더 하게 되니 tree 말고 parent를 가지게 됩니다. parent는 부모죠~ 즉 commit을 할때 마다 이전 부모 노드와 자신의 정보를 하나로 묶어서 관리하게 됩니다. 결국 아래의 형태의 모습으로 존재하게 됩니다.

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 9. 2. 22:02

[생활코딩 Git] git add의 원리

gistory를 이용해 git add의 원리에 대해 알아봅시다. 새로운 폴더를 만들고 git init을 한 뒤에 f1.txt 파일을 생성하겠습니다. 그러면 어떻게 될까요? objects폴더 밑에 f1.txt의 파일이 생겼습니다. 사실 f1.txt파일은 우리가 보기 쉽게 표현한 파일명이구요. 진짜 파일의 이름은 object\78\~~~ 입니다. f2.txt 파일을 생성하게 되면 아래처럼 다른 이름을 가진 파일을 생성합니다. objects 아래에 있는 파일들을 앞으로는 오브젝트 혹은 객체라고 말하겠습니다. 그럼 모든 파일이 생성 될때마다 다른 이름을 가질까요? 결론은 아닙니다. 기존의 있던 파일을 복사해서 새로운 파일을 생성하게 된다면? ???????????????????????????????????????..

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 8. 31. 22:53

[생활코딩 Git] gistory 설치

gistory를 설치하는 방법이 생활코딩에는 빠진 부분이 있어서 정리해서 올립니다. 참고로 window 입니다. gistory란? : git을 분석하기 위한 도구 : 명령을 내렸을 때 git의 내부에서는 어떤 일이 일어나는가를 분석하면서 git이 어떻게 동작하는가를 스스로 공부하는데 도움을 드리기 위해서 고안된 도구 gistory 설치하기 위한 방법 1) python을 설치 ( 버전은 2,3 둘다 가능하다고 합니다 ) https://www.python.org/ 불러오는 중입니다... 2) 환경변수 설정 - python이 설치된 경로에 가서 경로 Python버전/Scripts 까지 Path에 추가 3) pip를 통한 gistory 설치 1) cmd 창에서 pip를 설치때 밑으로 ~~~ 뭐가 나오면 설치 완..

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 8. 31. 22:14

[생활코딩 Git] Git 변경사항 확인하기!

git log 명령어를 통해 git의 log를 알수있습니다. 하지만 어떤 부분이 변경되었는지는 알수가 없습니다. -p 옵션을 이용하면 로그에서 출력되는 버전 간의 차이점을 볼수 있습니다. 각 버전의 로그 아래쪽에 로그의 변경 사항을 보여주는데 처음보면 당황할수 있지만 생각보다 간단합니다 먼저 버전 1을 설명하자면 ---는 이전버전을 말하고 +++는 이 버전에 추가된것을 말합니다. ---/dev/null은 이전에는 없었고 +++ b/f1.txt은 f1.txt가 추가되었고 commit 할때 f1.txt 변경된것은 source : 1 이다. 버전 2를 설명하자면 f1.txt 파일의 코드 source : 1 이 없어지고 source : 2 가 추가 되었다. git diff '버전 id'..'버전 id2' 을 이..

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 8. 27. 23:20

[생활코딩 Git] add 명령어는 왜 ? Stage area 란?

f2.txt 파일을 만들고 f1.txt , f2.txt 파일들을 변경한 뒤 status를 보자. f1.txt , f2.txt 파일은 modified 상태로 변하게 된다. f1.txt 파일만 add 한 뒤 상태를 보겠습니다. 그런데 왜 add 란 기능이 있을까요? 그냥 commit 하면 안되나? add를 하게 되면 선택해서 commit을 할수있기 때문에 관리할때 편하다는 장점이 있습니다. git은 stage area와 repository를 가지고 있습니다. stage area는 업로드 하기 전 업로드 할 대기파일들이 올라가는 공간이고 add를 통해 작업이 됩니다. repository는 stage area에 있던 파일들이 올라가는 공간 입니다. 즉 최종적으로 올라가는 공간이고 commit을 통해 작업이 됩니..

Git/지옥에서 온 Git ( 생활코딩 ) 2019. 8. 27. 21:56

[Spring MVC] @ControllerAdvice

@ControllerAdvice : 전역 컨트롤이자 예외처리 , 바인딩 설정 , 모델 객체를 모든 컨트롤러 전반에 걸쳐 적용하고 싶은 경우에 사용한다. - @ExceptionHandler - @InitBinder - @ModelAttribute : 적용할 범위를 지정할 수도 있다. @ControllerAdvice를 설정하게 되면 범위에 있는 모든 컨트롤러에 적용이 된다.

Spring/SpringMVC 2019. 8. 24. 17:27

[Spring MVC] @ControllerAdvice

@ControllerAdvice : 전역 컨트롤이자 예외처리 , 바인딩 설정 , 모델 객체를 모든 컨트롤러 전반에 걸쳐 적용하고 싶은 경우에 사용한다. - @ExceptionHandler - @InitBinder - @ModelAttribute : 적용할 범위를 지정할 수도 있다. @ControllerAdvice를 설정하게 되면 범위에 있는 모든 컨트롤러에 적용이 된다.

Spring/SpringMVC 2019. 8. 24. 17:27

[Spring MVC] @ExceptionHandler

@ExceptionHandler : 특정 예외가 발생한 요청을 처리하는 핸들러를 정의한다. - 지원하는 메소드 아규먼트( 해당 예외 객체, 핸들러 객체 , ...) - 지원하는 리턴 값 - REST API의 경우 응답 본문에 에러에 대한 정보를 담아주고 , 상태 코드를 설정하려면 ResponseEntity를 주로 사용한다. package com.example.demo; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springf..

Spring/SpringMVC 2019. 8. 24. 09:42

[Spring MVC] @InitBinder

@InitBinder : 특정 컨트롤러에서 바인딩 또는 검증 설정을 변경하고 싶을 때 사용 사용법) 바인딩 설정 : webDataBinder.setDisallowedFields(); 포메터 설정 : webDataBinder.addCustomFormatter(); Validator 설정 : webDataBinder.addValidators(); 특정 모델 객체에만 바인딩 또는 Validator 설정을 적용하고 싶은 경우 : @InitBinder("event") package com.example.demo; import java.util.Set; import org.springframework.validation.Errors; import org.springframework.validation.Validat..

Spring/SpringMVC 2019. 8. 24. 08:36

[Spring MVC] @ModelAttribute 와 Model

@ModelAttribute : @ModelAttribute는 이전 포스팅에서 메소드의 아규먼트로 사용해서 파라미터들을 객체로 받을수 있었습니다. :@Controller 또는 @ControllerAdvice 를 사용한 클래스에서 모델 정보를 초기화 할때 사용합니다. :@RequsetMapping과 같이 사용하면 해당 메소드에서 리턴하는 객체를 모델에 넣어준다. => 객체를 리턴하면 어떤 페이지를 호출하게 되나? => 메소드 url과 같은 페이지를 default로 호출하게 된다. ( RequestToViewName Translator ) => @RequsetMapping 생략 가능 package com.example.demo; import java.time.LocalDateTime; import java...

Spring/SpringMVC 2019. 8. 23. 23:17

[Spring MVC] 응답 타입 @ResponseBody & ResponseEntity

@ResponseBody : 데이터를 HttpMessageConverter를 사용해 응답 본문 메시지로 보낼 때 사용한다. : @RestController 사용시 자동으로 모든 핸들러 메소드에 적용한다. ResponseEntity : 응답 헤더 상태 코드 본문을 다루고 싶은 경우에 사용한다. package com.example.demo; import javax.validation.Valid; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.sprin..

Spring/SpringMVC 2019. 8. 22. 05:58

[Spring MVC] @RequestBody , HttpEntity

@RequestBody ● 요청 본문(body)에 들어있는 데이터를 HttpMessageConveter를 통해 변환한 객체로 받아올 수 있다. ● @Valid 또는 @Validated를 사용해서 값을 검증 할 수 있다. ● BindingResult 아규먼트를 사용해 코드로 바인딩 또는 검증 에러를 확인할 수 있다. HttpMessageConverter ● 스프링 MVC 설정 (WebMvcConfigurer)에서 설정할 수 있다. 스프링부트에선 기본적으로 jackson Library가 잡혀있다. ● configureMessageConverters: 기본 메시지 컨버터 대체 ● extendMessageConverters: 메시지 컨버터에 추가 ● 기본 컨버터 WebMvcConfigurationSupport...

카테고리 없음 2019. 8. 22. 05:40

[Spring MVC] MultipartFile

MultipartFile - 파일 업로드시 사용하는 메소드 아규먼트 - MultipartResolver 빈이 설정되어 있어야 사용 가능 (Sringboot 기본 제공) - POST multipart/form-data 요청에 들어있는 파일을 참조할 수 있다. - List 아규먼트로 여러 파일을 참조 가능 package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMappi..

Spring/SpringMVC 2019. 8. 20. 21:40

[Spring MVC] Flash Attributes

Flash Attributes : 주로 리다이렉트시 데이터를 전달할때 사용한다. : 쿼리 파라미터로 노출되지 않는다. : 임의의 객체를 저장할 수 있다. : 보통 HTTP 세션을 사용한다. : 리다이렉트 하기 전에 데이터를 HTTP 세션에 저장하고 리다이렉트 요청을 처리 한 다음 즉시 제거한다. => RedirectAttributes를 통해 사용할 수 있다. package com.example.demo; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller..

Spring/SpringMVC 2019. 8. 20. 20:53

[Spring MVC] RedirectAttributes

RedirectAttributes : 리다이렉트 할 때 기본적으로 Model에 들어있는 primitive type 데이터는 URI 쿼리 매개변수에 추가된다. - 스프링 부트에서 이 기능이 기본적으로 비활성화 되어 있다 - spring.mvc.ignore-default-model-on-redirect=false 프로퍼티를 사용해서 활성화 할 수 있다. 원하는 값만 리다이렉트 할 때 전달하고 싶다면 RedirectAttributes에 명시적으로 추가할 수 있다. 리다이렉트 요청을 처리하는 곳에서 쿼리 매개변수를 @RequestParam 또는 @ModelAttribute로 받을 수 있다. package com.example.demo; import java.time.LocalDateTime; import jav..

Spring/SpringMVC 2019. 8. 19. 22:17
  • 이전
  • 1
  • 2
  • 3
  • 4
  • ···
  • 11
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 전체보기 (217)
    • DB (2)
      • JPA (1)
      • PostgreSql (1)
    • Git (10)
      • 지옥에서 온 Git ( 생활코딩 ) (10)
    • Spring (16)
      • SpringMVC (16)
    • 개발툴 (2)
      • ATOM (1)
      • Spring (1)
    • Computer (9)
      • 컴퓨터 구조 (5)
      • 객체지향 (1)
      • 네트워크(Network) (2)
      • SOLID (1)
    • 프로그래밍 (90)
      • 파이썬 (0)
      • 안드로이드 (0)
      • 자바 (27)
      • C언어 (17)
      • MFC (4)
      • C++ (3)
      • JSP (29)
      • c 문법 (1)
      • C 함수 구현 (1)
      • 디자인 패턴 (3)
      • JavaScript (3)
      • Node.js (1)
      • 참고 사이트 (1)
    • 프로그래밍 강의 (12)
      • HTML 과 CSS (11)
      • Javascript (1)
    • 제작 프로그램 (4)
      • C언어 (0)
      • 자바(JAVA) (4)
    • Library (4)
      • c Library (3)
      • JavaScript 함수 (1)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT Sw.Dev, ALL RIGHT RESERVED.
Sw.Dev
블로그 이미지 @프포남 님의 블로그
MENU
  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
CATEGORY
  • 전체보기 (217)
    • DB (2)
      • JPA (1)
      • PostgreSql (1)
    • Git (10)
      • 지옥에서 온 Git ( 생활코딩 ) (10)
    • Spring (16)
      • SpringMVC (16)
    • 개발툴 (2)
      • ATOM (1)
      • Spring (1)
    • Computer (9)
      • 컴퓨터 구조 (5)
      • 객체지향 (1)
      • 네트워크(Network) (2)
      • SOLID (1)
    • 프로그래밍 (90)
      • 파이썬 (0)
      • 안드로이드 (0)
      • 자바 (27)
      • C언어 (17)
      • MFC (4)
      • C++ (3)
      • JSP (29)
      • c 문법 (1)
      • C 함수 구현 (1)
      • 디자인 패턴 (3)
      • JavaScript (3)
      • Node.js (1)
      • 참고 사이트 (1)
    • 프로그래밍 강의 (12)
      • HTML 과 CSS (11)
      • Javascript (1)
    • 제작 프로그램 (4)
      • C언어 (0)
      • 자바(JAVA) (4)
    • Library (4)
      • c Library (3)
      • JavaScript 함수 (1)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바