Programming-[Backend] (394) 썸네일형 리스트형 [TIL]PageableDefault는 non-deterministic sort를 한다 SpringData에서 사용하는 @PageableDefault는 non-deterministic sort를 발생시킨다. 따라서 사용을 자제하는 것이 좋은 것 같다. 경우에 따라서는 편하거나, 다른 방법이 있을수도 있지만... 용법 public PageRm getXxxList( @PageableDefault(size = 25) final Pageable pageable, @Valid XxxPo xxxPo) { return something...; } 현상 및 원인 @PageableDefault를 적용하면 1개 항목에 대해서만 sort를 하도록 되어있기 때문이다. (아래 사진 및 참조 1) 따라서 10개의 컬럼이 있는 리스트인데, 예를 들어서 name.asc로 정렬을 했다면 name으로 정렬하고 나머지 다른.. [TIL] 생성자 내부 멤버 메서드 실행(생성자 안에서 메서드 실행) 1. 배경 생성자 내부에서 메서드를 실행할려고 했다. 아래와 같은 코드이다. public MessageQueueAccessor(String name) { super(); this.name = name; } public MessageQueueAccessor(String name, String url) { super(); this.name = name; this.url = url; this.sendMessage(); //중략 private void sendMessage() { //로직 } } 즉 name, url을 인자로 받는 특정 생성자를 통해 인스턴스를 생성하는 경우 필드값을 초기화할 뿐 아니라, 멤버 메서드인 sendMessage 로직도 실행하고자 했다. 그런데 역할상 생성자가 초기화에만 관여해야지, .. [Oracle] Oracle Xe 다운로드 및 설치, 기본 계정 설정, sql plus, IntelliJ 연결하기(IO Error : The Network Adaptor ...) 1. Oracle 데이터베이스 Oracle은 여러 종류의 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나이다. 구매 및 유지 보수 비용이 크지만 그만큼 확실한 안정성과 유지보수를 보장받을 수 있기 때문에 대기업이나 공공기관에서 많이 사용한다. 데이터베이스 관리 시스템(DBMS)들은 SQL 표준을 준수하기 때문에 어떤 DBMS 사용하더라도 큰 문제는 없으나, DBMS 별로 기능이나 문법이 조금씩 달라서 가장 널리 쓰이는 Oracle DBMS를 사용하는 것이 처음 학습에 좋다. Oracle XE 버전 개요 Oracle XE(Oracle Express Edition) 버전은 공개 소프트웨어로 4GB의 메모리와 4GB의 데이터 파일까지 무료로 사용할 수 있다. 2. 다운로드 및 설치 아래 링크에 들어가서 .. [링크][탐험][작성중] WebMvcConfigurer, WebMvcConfigurationSupport, @EnableWebMvc 전체적 개념 https://goodgid.github.io/Spring-WebMvcConfigurer/ WebMvcConfigurationSupport, WebMvcConfigurer 차이 https://wedul.site/349 [링크] isAssignableFrom 과 instanceof의 차이 1. 문법 차이 s instanceof String s.getClass().isAssignableFrom(String.class) 2. 확인 시점 차이 instanceof 은 컴파일 시점에 타입 체크 isAssignableFrom은 런타임 시점에 불특정한 클래스에 대한 타입 체크 다시 말해 instanceof 쓰면 쓰는 순간 IDE에서 바로 잡아냄, isAssignableFrom은 프로그램 실행하고 실제 해당 구문이 실행될 때 클래스 타입을 확인함 3. null Safe 차이 null instanceof {어떤 클래스} 는 false 반환 {어떤 클래스}.class.isAssignableFrom(null)은 NullPointerException 반환 참조 https://blog.naver.com/Post.. [탐험]Spring MVC, String 전체 앞 뒤 공백 제거하기! - MappingJackson2HttpMessageConverter, @JsonFormat, StringTrimmerEditor 1. 목표 SpringMVC를 이용하는 프로젝트에서 클라이언트의 입력값으로 들어오는 String 문자열 값의 앞 뒤 공백을 제거한다. "이름" : " 컴퓨터 탐험가 " -> "이름" : "컴퓨터 탐험가" 위와 같이 String의 앞 뒤 공백을 제거하는 것을 Java, Spring 쪽에서는 trim이라고 한다(자바스크립트에서도). 이 글의 목표는 프로젝트 전체에서 String값을 trimming하는 방법에 대해 정리하는 것이다. 개별 필드에 대한 trim에 대해서도 조금은 다룬다. 2. 방법과 적용 범위 집중적으로 다룰려고 하는 내용은 프로젝트 전체에서 trim을 적용하는 방법이다. 다만 이럴 경우 사용자가 의도적으로 문자열 앞뒤로 공백을 넣는 경우는 작동하지 않게될 수 있다. 예를 들어 비밀번호 입력 시.. [스프링 시큐리티]25. Method 방식 : Map 기반 DB 연동 1. 원리 이해 이번에는 Method 방식을 적용하되, 어노테이션을 따로 추가하지 않고 DB에 저장된 resource-role 정보를 받아와서 특정 method에 권한 설정을 해주는 방식을 공부한다. 우선 원리 이해를 위해서 여지껏 공부해온 url방식과 method 방식의 작동 원리를 도식화하여 비교해본다. url 방식 url 방식에서 요청이 들어오면, FilterSecurityInterceptor를 상속한 객체가 FilterInvocationSecurityMetadataSource 정보를 받았다. 이 정보 안에 RequestMap이라는 Resource-Role 관계 정보가 담겨져 있었고, 이것을 DB로부터 받아서 인가처리를 하는데 사용했다. 실습때 SecurityConfig 설정파일에서 customFi.. [스프링 시큐리티]24. Method 방식 : 어노테이션 API 이해 1. 권한 종류 권한 어노테이션의 종류 @PreAuthorize, @PostAuthorize SpEL(Spring Expression Language)을 지원한다. @PreAuthorize("hasRole('ROLE_USER')and(#account.username == principal.username)") 과 같이 쓸 수 있다. PrePostAnnotationSecurityMetadataSource가 처리한다. @Secured, @RolesAllowed SpEL을 지원하지 않는다. @Secured("ROLE_USER"), @RolesAllowed("ROLE_USER")처럼 쓸 수 있다. SecuredAnnotationSecurityMetadataSource, Jsr250MethodSecurityMet.. 이전 1 ··· 24 25 26 27 28 29 30 ··· 50 다음