본문 바로가기

개발중

(617)
[ JPA ] Save 후 Id 구하기 삽입을 목적으로 vo를 save 를 이용하여 삽입했을 때 생성된 id 를 구하는 법은 아주 간단하다. repository.save( vo ).getId(); save 를 진행한 repository 가 반환 하는 것은 방금 내가 저장한 vo 에 대한 저장된 결과 이기 때문이다.
[ cursor ] 마우스 올라갔을 때 손가락 모양으로 변경 많이 사용하지만 매번 검색하는 손가락 올라갔을 때 커서 모양 변경하는 법. cursor: pointer;
[ 스프링 ] DispatcherServlet ? DispatcherServlet 스프링 MVC 를 사용하면 서블릿을 생성할 필요가 없다. 클래스를 생성해 @Controller 어노테이션을 추가하고 @RequestMapping 어노테이션으로 특정 URL 패턴에 매칭할 수 있다. 규약에 따르면 클래스 이름은 보통 Controller 로 끝난다. 스프링은 요청을 받기 위해 핵심 서블릿인 DispatcherServlet 를 활용한다. 이 DispatcherServlet 은 모든 요청을 처리할 수 있게 설정되야 하며 @RequestMapping 어노테이션에 지정된 URL 패턴에 따라 스프링 요청을 처리할 패턴에 맞는 컨트롤러를 찾는다. HTTP 요청을 만들 컨트롤러를 추가하고자 한다면 pom.xml 에 스프링 부트 의존성을 추가해야 한다. org.springf..
[ 스프링 ] Java EE Servlet ? 자바 EE 서블릿 자바 EE 서블릿 ( JAVA EE SERVLET ) 또는 짧게 서블릿은 일반적으로 톰캣과 같은 애플리케이션 서버인 서블릿 컨테이너 내에서 동작한다. HTTP 요청이 서버에 도착하면 일반적으로 인증, 로깅, 감사와 같은 필터링 작업을 수행하는 필터 리스트를 통과한다. 요청이 모든 필터를 통과하면 애플리케이션 서버는 특정 패턴과 일치하는 URL 을 포함하는 요청을 처리할 수 있게 등록된 서블릿으로 요청을 넘겨준다. 서블릿이 요청에 대한 처리를 마치면 HTTP 응답은 해당 HTTP 요청을 처리한 같은 필터 세트를 통과한 후 클라이언트로 다시 전송된다. 이러한 필터에서 특정 HTTP 헤더를 응답에 추가하는 등의 추가 필터링 작업을 수행할 수 있다. 자바 EE 에서 모든 HTTP 요청에 대해 ..
[ 스프링 ] 의존성 주입 방법 ? 스프링 의존성 주입 하는 방법 🔵 어노테이션 의존성을 연결하는 데는 스프링에서 제공하는 @Autowired, @Required 두 어노테이션을 사용할 수 있다. @Autowired >> 생성자와, 메소드, 필드에 적용할 수 있다. @Required >> 새터 메소드에 적용할 수 있다. 🔵 의존성 주입하는 방법 세가지 생성자 기반의 주입 세터 기반 / 메소드 기반의 주입 필드 기반의 주입 🔵 생성자 기반의 주입 이 방법은 이름에서 알 수 있듯이 이 유형의 주입은 생성자를 통해 수행된다. @Autowired public BinsooService( BinsooRepository binsooRepository ){ this.binsooRepository = binsooRepository } 🔵 세터 기반 / 메..
Vue computed 프로퍼티 처리 하는 방법. 🔘 Vue computed 프로퍼티 처리 하는 방법 Vue computed 프로퍼티 처리 하는 방법은 data 처리 하는 방법과 다르다. addDisabled computed 를 예로 든다. vue 는 addDisabled에 대해 지연 와처 ( lazy watcher )를 생성하고 이 와처를 평범한 자바스크립트 객체로 구현된 일종의 map 인 vm._computedWatchers 에 넣는다. 프로퍼티의 이름인 addDisabled 는 키 ( key ) 가 되고 와처 객체는 값 ( value ) 이 된다. 이 와처를 computed 와처라고 부른다. 렌더 함수가 호출할 때만 addDisabled 프로퍼티를 평가하기 때문에 지연 ( Lazy ) 평가이다. 내부적으로 Vue 는 평가 후에 이 값을 와처의 값 ..
vue prop 객체 감지 안되는 경우 vue 로 개발하는 와중에 부모 컴포넌트가 자식 컴포넌트에게 배열을 보내주는 상황에서 배열 안의 값이 하나가 변경될 경우 감지를 못하는 상황이 있었다. 이러한 경우 때문에 속앓이를 좀 했는데, 답을 찾았다. data : { messages : [] , newMessage : ' ' } , computed : { addDisabled() { ... } } Vue 가 인스턴스를 초기화 할 때 실제 데이터를 저장하기 위해 Vue 는 vm._data 를 만들고 vm.messages 와 vm.newMessages 에 대해 Object.defineProperty 로 게터와 세터를 정의해 두 프로퍼티에 접근하는 프락시를 만든다. 이렇게 해서 vm.message 에 접근하려고 하면 프락시에 의해 vm._data.mes..
URI too long 414 / put 해결 하고 싶습니다. 끝나지 않는 URL too long 에러 REST API 의 메소드로 내가 인식하고 있는 것은 아래와 같다. POST == 삽입 PUT, PATCH == 수정 수정 PATCH 사용 그리하여 우리 시스템은 게시판 수정에 있어서 당연히 PATCH 를 사용하고 있었다. 하지만 게시판에는 당연히 이미지 파일이 포함이 될 것이고 이미지를 저장하는 방법은 base 64, file, URL 으로 나뉜다. base 64 우리는 기존에는 file 저장으로 개발을 진행 했으나, 현재는 base 64 로 진행 중이다. base 64 방식으로 저장을 할 경우에는 데이터를 64 진법으로 나타내므로 문자 포맷이 달라 데이터를 손상 시킬 수 있는 상황에서 안정적으로 전송할 수 있다는 장점이 있지만, 데이터가 어마무시하게 크다는 단..