목록전체 글 (484)
Jam's story
첫번째 간격과 두번째 간격이 같다면 등차수열이니 if문에서는 등차수열을 구해주고 else문에서는 등비수열을 구해준다. public int solution(int[] common) { int answer = 0; if((common[1]-common[0] )==(common[2]-common[1] )) { answer=common[common.length-1]+(common[1]-common[0] ); }else { answer=common[common.length-1]*(common[1]/common[0] ); } return answer; } 다른사람풀이 common[1] - common[0]를 변수에 저장하여 간결성 높이기 class Solution { public int solution(int[] ..
import java.util.*; class Solution { public static int[] solution(int n, int[] numlist) { List list=new ArrayList(); for (int i = 0; i 배열 1)반복문 int[] answer=new int[list.size()]; for (int i = 0..

사용 기술 Intellij IDEA Ultimate 2022.1.1 ~ 2022.1.3 Java 17 Gradle 7.4.1 Spring Boot 2.7.0 기술 세부 스택 Spring Boot Spring Boot Actuator Spring Web Spring Data JPA Rest Repositories Rest Repositories HAL Explorer Thymeleaf Spring Security H2 Database MySQL Driver Lombok Spring Boot DevTools Spring Configuration Processor 그 외 QueryDSL 5.0.0 Bootstrap 5.2.0-Beta1 Heroku 유스케이스 diagrams.net 에서 유즈케이스 그림 완성하..

header.html username Login header.th.sml 로그인페이지에서 로그인을 하면 , PasswordEncoder에 id가 null로 나타났다. PasswordEncoder는 PasswaordEncoderFactories에서 createDelegatingPasswordEncoder를 사용하는데, 패스워드 데이터 앞머리에 내용을 붙여주지 않으면 인식을 얘가 인식을 하지 못한다. 앞머리에 추가하는 내용은 바로 암호화 규칙으로 여러가지 방식으로 선택이 가능하지만, 지금은 테스트 단계이니 만큼 {noop}을 붙여서 비밀번호가 그대로 보여지게 설정한다. 암호화규칙을 사용하지 않은 이유는, 비밀번호를 어떤 값으로 지정했는지를 바로 볼수 없는 것이 불편하기 때문이다. data.sql 파일에서 유..
아무 사용자나 글이나 댓글을 삭제, 수정할 수 없도록 인증을 받은 사람만 사용할 수 있도록 만드는 기능 시큐리티 설정과 자바 대응 코드 구현 스프링 부트 2.7 과 가이드에 맞춰서 시큐리티 설정을 적용하고, 인증 정보를 db로부터 부르는 빈과 패스워드 인코더 빈까지 등록 영향 받는 부분을 서비스 코드와 컨트롤러에 반영 Principle 자바의 표준 시큐리티 기술이다. 로그인이 된 상태라면 , 계정 정보를 담고 있습니다. 현 상태에서는 principal에 아무 정보가 안담겨있기 때문에 두가지 문제점이 있습니다. 로그인 할 방법이 없습니다. 현재 사용자를 알 수 없습니다. 인증과 권한의 차이 인증 -> 로그인했냐 안했냐 권한 -> 로그인한 사용자가 어떤 권한을 가지고 있느냐 userAccountReposit..

ArticleCommentController DTO -> 계층 간 데이터 전송을 위한 객체 📌질문 : 여기서 articleCommentRequest를 사용하는이유 articleCommentService.saveArticleComment(articleCommentRequest.toDto(UserAccountDto.of( "uno", "pw", "uno@mail.com", null, null ))); Entity는 절대 클라이언트에 노출시켜선 안된다.Entity에는 도메인 로직만 구현하고, View와 관련한 로직은 구현하지 않는다. 이기때문에?? ✔️답변: 해당 컨트롤러의 응답을 독립적으로 작성하고자 했기 때문이다. 이렇게 함으로써 해당 응답을 사용하는 컨트롤러의 응답에 관한 요구사항변경 범위를 Articl..

JPA - save()와 flush() 차이 save() 메소드는 바로 DB에 저장되지 않고, 영속성 컨텍스트에 저장되었다가 flush()나 commit() 수행시에 DB에 저장 save() 와 saveandflush() 차이점 saveAndFlush()메소드는 트랜잭션 실행에 data를 flush 한다 영속성 컨텍스트 엔티티를 영구저장하는 환경 참고: https://velog.io/@seongwon97/Spring-Boot-%EC%98%81%EC%86%8D%EC%84%B1-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8Persistence-Context ArticleService(Test)를 마친후, ArticleController(Test) 구현 ArticleController Ar..
1)DataRestTest 클래스에서 통합테스트로 작성하는 이유 1번, @WebMvcTest 가 controller와 연관된 내용만 테스트하는 목적을 가지고 있는 것은 맞지만 auto configuration 을 읽지 않는 것이 아닙니다. controller 와 연관된 auto configuration 들을 읽습니다. 애노테이션 @WebMvcTest 가 어떤 자동 설정을 읽어들이는지 찾아보세요. 정답을 찾아 댓글로 달아주시면 제가 확인해 드리겠습니다. 해당 내용을 적어놓은 스프링 부트 공식 문서를 찾아 링크를 남겨주시면 정답으로 인정해 드리겠습니다. 위에서 찾으신 컨트롤러 관련 설정 외에 다른 자동 설정을 읽지 않고 빈 스캐닝을 하지 않으므로 서비스 로직 빈이나 repository layer 로 접근하는..