Study 썸네일형 리스트형 [백엔드스터디WIL]JPA no Creators, like default constructor, exist):cannot deserialize from Object value (no delegate- or property-based Creator(11주차) org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.myproject.community.request.PostCreate]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.myproject.community.reques.. 더보기 [백엔드온라인TIL] Querydsl 활용 (55일차) Querydsl 3가지 방법 중 제가 테스트를 해본 2가지 방법 모두 적용방법을 알아보겠습니다. QuerydslRepositorySupport 상속받아서 사용 @Repository public class StoreRepositorySupport extends QuerydslRepositorySupport { private final JPAQueryFactory jpaQueryFactory; private final EntityManager entityManager; /** * Creates a new {@link QuerydslRepositorySupport} instance for the given domain type. * * @param domainClass must not be {@literal .. 더보기 [백엔드온라인TIL] github Action과 ci/cd (54일차) Github Action 이란? GitHub Actions는 GitHub에서 제공하는 서비스로, 빌드, 테스트, 배포 파이프라인을 자동화할 수 있는 CI(Continuous Integration, 지속 통합)와 CD(Continuous Deployment, 지속 배포) 플랫폼입니다. GitHub Actions를 사용하면 GitHub 리포지토리에서 손쉽게 CI/CD 결과를 확인하고 관리할 수 있습니다. 또한, YAML 포맷을 사용하여 가독성이 높고, 이미 구현되어 있는 수많은 액션을 활용하여 간단하게 CI/CD 플로우를 작성할 수 있습니다. 지속적 통합(Continuous Integration, CI) 현대적인 애플리케이션 개발에서는 여러 개발자들이 동일한 애플리케이션의 각기 다른 기능을 동시에 작업할 수.. 더보기 [백엔드온라인TIL] JPA 엔티티에 json 타입지정하기 (53일차) { "1": "첫번째 데이터", "2": "두번째 데이터", "3": "세번째 데이터", "4": "네번째 데이터", "5": "다섯번째 데이터", "6": "짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내용짱짱긴내.. 더보기 [백엔드온라인TIL] AWS S3로 다중 이미지 업로드 (52일차) AWS S3 AWS S3는 AWS에서 제공하는 Storage 서비스로서 아래와 같은 특징들이 있다 모든 종류의 데이터를 원하는 형식으로 저장 저장할 수 있는 데이터의 전체 볼륨과 객체 수에는 제한이 없음 Amazon S3는 간단한 key 기반의 객체 스토리지이며, 데이터를 저장 및 검색하는데 사용할 수 있는 고유한 객체 키가 할당됨 Amazon S3는 간편한 표준 기반 REST 웹 서비스 인터페이스를 제공 1. 준비 작업 S3에 이미지 업로드를 하기위해서는 사전 작업이 필요하다 (AWS 계정이 있다는 전제하에 필요한 작업들이다) AWS IAM 계정 - Access key, Secret key 생성 → 참고 S3 버킷 생성 → 참고 주의할 점은 발급받은 Access key와 Secret key는 절대 유출.. 더보기 [백엔드온라인TIL] Spring MockMVC 테스트 방법(51일차) 1. @SpringBootTest와 @AutoConfigureMockMvc 스프링부트에서는 Test 클래스를 만들면 @SpringBootTest 어노테이션만 붙어 있습니다. MockMvc로 테스트를 하기 위해서는 @AutoConfigureMockMvc를 추가적으로 붙여야 합니다. 주의할 점은 Test 클래스에서는 MockMvc를 스프링 컨테이너로부터 주입받을 때 생성자, Setter 방식으로 주입이 불가능합니다. 따라서 필드에 @Autowired를 붙여서 사용해야만 합니다. 2. @WebMvcTest 웹 환경의 테스트를 경량화해서 진행할 수 있는 어노테이션입니다. @WebMvcTest 아래처럼 적용할 컨트롤러 클래스를 명시해줘야 동작합니다. @WebMvcTest(UserController.class) 사.. 더보기 [백엔드온라인TIL] 깃허브 구조 및 명령어 정리 (50일차) 깃허브 시작하기 깃허브 계정을 만든다. 깃허브에서 repository를 생성한다.(public = 전체공개 / private = 개인용) 커밋할 폴더에 들어가서 git init shell에 깃 설치 = brew install git (Mac OS) 토큰이나 ssh로 인증 branch 📍 새 브랜치 만들기 $ git branch (브랜치명) // 브랜치만 생성 $ git checkout (브랜치명) // 해당 브랜치로 이동 $ git checkout -b (브랜치명) // 현재 커밋에서 브랜치 생성하고 이동 $ git checkout (커밋아이디) -b (브랜치명) //해당 커밋으로 이동 후 브랜치 생성 📍 마스터 브랜치로 돌아가기 $ git checkout master 📍 브랜치 목록 보기 $ git b.. 더보기 [spring프로젝트] 협업 룰에 대한 고찰 ☆ rest Api 설계 ☆ git 을 통한 협업 ★ rest Api 설계 1. RESTful API 란 Rest : Representational State Tranfer의 약자로 웹을 이용할때 제약조건들을 정의하는 소프트웨어 아키텍처 스타일. HTTP URL 을 통해서 자원(Resource)을 명시하고 HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원(URL)에 대한 CRUD를 적용하는 것을 의미한다. 한마디로 HTTP의 장점을 살리고자 하는 통신규약 2. REST 특징 인터페이스 일관성 : 일관적인 인터페이스로 분리되어야 한다. 무상태 : 각 요청간 클라이언트의 context, 세션과 같은 상태 정보를 서버에 저장하지 않는다. 캐시 처리 기능 : 클라이언트는 응답을 .. 더보기 [백엔드온라인TIL] JPA 변경 감지 (50일차) JPA 변경 감지Dirty Checking JPA는 엔티티 매니저Entity Manager가 엔티티를 조회/저장/삭제/수정한다. 엔티티 매니저의 API를 살펴보면 조회(find), 저장(persist), 삭제(remove)는 제공하지만 이상하게도 수정 API는 찾아볼 수 없다. 그 이유는 엔티티 매니저가 엔티티가 변경이 일어나면 이를 자동 감지하여 데이터베이스에 반영하기 때문인데 이것을 변경 감지라고 한다. 간단한 JPA 코드로 확인해 보자. 1 2 3 4 5 6 7 8 9 10 EntityManager entityManager = entityManagerFactory.createEntityManager(); EntityTransaction transaction = entityManager.getTran.. 더보기 [백엔드온라인TIL] @RequiredArgsConstructor 를 사용할때 고려할점 (49일차) 스프링부트를 사용하여 개발할때 우리는 의존성 주입을 위해 @RequiredArgsConstructor를 사용합니다. 이때 굉장히 반드시 알고 가야될 개념이 있습니다. 바로 final키워드를 사용한 인스턴스들만 Bean 객체로 등록을 한다는 것 입니다. final 키워드를 사용하지 않고 사용하면 NullPointerException 이 발생합니다. (이점을 반드시 알아두고 기억하시길 바라고 다음 내용으로 넘어가겠습니다) 추가로 더 알아보면 @RequiredArgsConstructor를 왜 사용하는 것일까요???? 우린 의존성 주입(Dependency Injection) 을 사용해서 Bean 객체로 등록된 아이들에게 제어의 역전(Inversion of control) 을 수행하게 됩니다. 의존성 주입에는 크.. 더보기 이전 1 ··· 6 7 8 9 10 11 12 ··· 17 다음