프로그래밍 언어

    [Spring] Spring MVC 패턴과 Model2 방식

    Model2 Model2 방식은 웹브라우저 http요청 → 서블릿 처리 → View 반환 or 비즈니스 모델 → 요청 Model2 방식의 가장 큰 장점은 View와 비즈니스 모델 (비즈니스 로직)의 분리이다. 이것을 통해서 얻을수 있는 장점은 View(html) 코드와 비즈니스 모델(JAVA...) 분리하였기에 Model1 방식보다 코드의 확장성이 높아지고 또한 유지보수에도 엄청난 이점이 있다 Spring MVC Pattern Model 데이터 저장소로 사용되며 예를 들면, 입력 데이터 or 출력 데이터를 다루는 역할 POJO 지향 (Plain old Java Objcet) Data Access Object도 이곳에 포함 View : 모델의 작업내용을 토대로 사용자에게 보여질 화면 담당 HTML,JSP와..

    [JPA] Page to DTO && JSON 순환 참조

    ※이 글은 제가 오류를 고친 해결방안으로, 정답이 아닐 수 있습니다. 오류 이 글을 작성하게 된 계기는 Entity를 Json으로 반환할때 순환 참조가 발생하였습니다. 그 이유는 아래 코드를 보면, Post 객체에서 PostImg 객체 참조, PostImg에서 Post 객체를 참조하였기 때문입니다. 해결방안 해결방안은 여러개가 있었고, 그것들을 간단히 설명하겠습니다 ★반환형 DTO★ 더보기 @Override public Page findAllPageToDTO(Page postPage) { return postPage.map(new Function() { @Override public PostReadResDTO apply(Post post) { /*Todo * - 바로 아래 Entity to DTO Met..

    [Lombok] Lombok Collection NullPointerException

    ※이 글은 제가 오류를 고친 해결방안으로, 정답이 아닐 수 있습니다. 오류 부분 @Builder public class Post extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; @OneToMany(mappedBy = "post", cascade = CascadeType.ALL) private List images = new ArrayList(); // 임시 이미지 아이디, join 필요 =================================================== 이곳에서 초기화 되지 않고 images == null ===========================..

    [Junit5] Intellij No tests found for given cludes

    오류 Execution failed for task ':test'. No tests found for given includes: filter.includeTestsMatching 해결방안 File -> Setting -> Build -> Build Tools -> Gradle -> Run tests using -> Intellij IDEA 로 수정 정

    [JPA] saveAll 주인Entity 저장 안되는 오류

    ※이 글은 제가 오류를 고친 해결방안으로, 정답이 아닐 수 있습니다. 오류 saveAll 주인Entity 저장 안되는 오류 해당코드 더보기 @Override public void savePost(PostRequestDTO postDTO, List imgList) { Post post = postDTO.toEntity(); List postImgResponseDTOS = fileService.saveImage(post, imgList); Post savedPost = postRepository.save(post); List postImgEntityList = new ArrayList(postImgResponseDTOS.stream() .map(PostImgResponseDTO::toEntity) .coll..

    [Spring Security] Spring Security 이란? 기초 개념 및 동작 원리

    Spring Security 이란? Spring Security는 일반적인 공격에 대한 인증 , 권한 부여 및 보호를 제공하는 프레임워크입니다 . 명령형 애플리케이션 과 반응형 애플리케이션 모두를 보호하기 위한 일급 지원을 통해 Spring 기반 애플리케이션을 보호하기 위한 사실상의 표준입니다. 기본 용어 인증 (Authentication) 보호된 리소스(데이터 및 매서드)에 접근한 Request(요구자)가 이 사람이 회원인지, 회원이라면 어떤 정보(이름, 이메일) 가진 Request(요구자)인지를 확인하는 과정 인가 (Authorization) 인증 이후 해당 리소스에 대해 접근이 가능한 권한을 가졌는지를 확인하는 과정 동작 원리 1. Http Request 수신 2. 로그인 요청시 Authentica..

    [Docker] Docker-compose로 MySQL 설치 및 실행

    Docker-compose 이란? Docker Compose는 다중 컨테이너 애플리케이션을 하나의 설정 파일(YAML)을 사용하여 단일 명령어를 통해 모든 컨테이너를 실행 및 종료 시킬수 있습니다. YAML (설정 파일 만들기) version: '3' services: mysql: image: mysql:5.7 #mysql version container_name: mysql #Docker에 나타날 컨테이너 이름 ports: - 3306:3306 # HOST:CONTAINER 포트번호 environment: MYSQL_ROOT_PASSWORD: root # Root 비밀번호 설정 MYSQL_USER: nano # Nano 라는 유저 추가 MYSQL_PASSWORD: nano2 #Nano 유저의 비밀번호 ..

    WSL2 (Window Subsystem for Linux2) 설치 및 사용법

    WSL이란? Linux용 Windows 하위 시스템을 사용하면 개발자가 기존 가상 머신의 오버헤드 또는 듀얼 부팅 설정 없이 대부분의 명령줄 도구, 유틸리티 및 애플리케이션을 비롯한 GNU/Linux 환경을 수정하지 않고 Windows에서 직접 실행할 수 있습니다. 이렇기에, 윈도우에서 Virtual Machine과 같은 가상머신을 사용하여 리눅스를 사용할때 보다 성능이 더 좋고 , 우분투를 따로 설치하여 부팅 때 OS를 선택하여 사용하는 방식보다 훨씬 더 효율적입니다. 마이크로소프트 공식문서 Linux용 Windows 하위 시스템이란? 다양한 버전 및 이를 사용하는 방법을 포함하여 Linux용 Windows 하위 시스템에 대해 알아봅니다. docs.microsoft.com WSL1,WSL2 차이점 설치..