- impl
- 인터페이스
- 비밀번호찾기 스프링 구현
- 환경변수
- 생성자 관련 annotation
- <?>: 자바 generic
- 메소드 매개변수의 자료형에 사용되는 제너릭
- 어떤 자료형의 객체도 매개변수로 받겠다는 의미
- Post-Redirect-Get(PRG 패턴)
- redirect 안될 때
- restcontroller 어노테이션 때문에 안되는 거임
- 다른거 안 건든채 고치려면 리턴타입을 ResponseEntity로 변경하면 됨
- spring boot http 상태 처리
- body 없는 responseentity
- 200만 보내기
- redirect시 parameter값 전달
- 빌더패턴
- inner class를 만들어요
extends JpaRepository- 컨트롤러 오케이
- 서비스에서 안돌아가서 jpashop코드 가져옴.
- 근데 레포지토리의 위 키워드가 달라서 얘도 안됨. 위에거 검색해보기
- builder null
- optional
- throws exception
- 레디스 설치
- 스프링부트 유효성 검사 → 빈 값 넣엇을 때 에러 처리
- 유저 정보 찾아오기
- join
- bean validation
- 권한 설정 → annotation 이용
- 권한 설정 → config 파일 이용
- patch
- patch 기존 정보 가져온 수정페이지
- patch
- jar 파일 생성
- Docker
- 도커 설치 - 팀원분이 보내주신 거
- QueryDSL
- H2 데이터베이스 설정 방법
- 스프링시큐리티 권한 설정 → httpmethod, hasrole
- 스프링 시큐리티 → hasrole
- 스프링 시큐리티 에러 처리
- 포스트맨 이미지 업로드 에러
- 경로: C:\Users\PC\Postman Agent
- 이미지 업로드
1. 원본이미지를 S3에 저장
-> 저장시, 이미지 파일 이름 중복 예방
1) UUID를 랜덤생성
2) 년/월/일 폴더를 만들어 저장
2. 메인이미지라면 섬네일을 만들어서 S3에 저장
3. DB에 이미지 정보를 저장(uuid나 파일 위치, 이름, 이미지 타입 등등,,)
- 파일 확장자 얻기
- 이미지 업로드 → 아마 이거 보고 하신듯?
- 빈등록, 의존성 주입
- builder
- builder
- uuid
- multipart 요청 처리
- 컨트롤러에서 Multipart/form-data 처리 방법과 유의점
- multipart/foirmdata put
- multipart/formdata dto
Spring이 버전업 됨에 따라, DTO에 Multipart 타입의 필드가 있으면, form 데이터는 특별한 어노테이션 없이
바로 dto로 받아도 된다고 합니다.
- param
- batch size
- on delete
- 비밀번호 비교
- 쿼리스트링, param
- jpa auditing → 시간 저장
- cascade
- cascade, ondelete
- cascade 양방향
- lazy 500 error
- 유니크 저장 영한님 답변 → 좋은 말씀
- select key
- 유니크 중복 컬럼 체크 → 실제로 내가 사용함
- Column(unique = true) 제약조건에 대한 핸들링 → 이거 써서 실제사용한거 문제 해결함!
- static
- 싱글톤 vs 스태틱
- 웹소켓과 스프링 → 읽어보기
- fetch join 리포지토리에서 사용하는 법
- fetch join 관련 어려운 글,, 나중에 읽어보기
- join 이거 따라함
- arrayList
- querydsl select update delete
- querydsl 조회대상 지정
- 빌더에 추가
- 빌더에서 널 체크
- dto 상속
- dto 상속 superbuilder
- superbuilder~
- 웹 소켓
- 웹소켓 채팅기능 poo님이 주신 것!
- joincolumn
- querydsl static import
- java static import
- 배포 자동화
- docker → docker hub 자동화
- cicd
- ci → 이분꺼 따라함!!
- cd
- 예시
- 예시
- 에러
- 환경변수
- mysql
- ssh password
- 경로설정 ㅠㅠ
- 개빡치네
- implement extend
- query dsl repository extend
- query dsl jpa 같이
- 22
- query dsl repositor 김영한 강의 출처 → 제일 도움 많이 됨
- query dsl → in
- query dsl 서브 쿼리
- group by 등등 정리
- querydsl fetch
- fetch() : 리스트로 결과를 반환하는 방법입니다. (만약에 데이터가 없으면 빈 리스트를 반환해줍니다.)
- fetchOne() : 단건을 조회할 때 사용하는 방법인데요. (결과가 없을때는 null 을 반환하고 결과가 둘 이상일 경우에는 NonUniqueResultException을 던집니다.)
- fetchFirst() : 처음의 한건을 쿼리해서 가져오고 싶을때 사용하고요.
- fetchResults() : 해당 내용은 페이징을 위해 사용될 수 있습니다. 페이징을 위해서 total contents를 가져오고요.
- fetchCount() : count 쿼리를 날릴 수 있다.
- 더보기
- 알림
- 트리거
- quartz
- 백기선 알림 → 이거 보고 하깅!!!!!!!!
- 페이지네이션
- 오예 더보기!!! 구현 방식
- 더보기 방식 이게 찐이엇음 → 기억보단 기록을 → 이거 참조햇음!
- Poo님이 올려주신 웹소켓 개발 시 이용하신 자료들

- 무한스크롤
- 무한스크롤
- 채팅 레포 참고
- 무한스크롤
- spring page list 차이
- inner join
- requestparam 여러 개
- bean validation 에러 처리
- 이게 자세한 듯?
- multipart는 request body 붙이면 안됨
- request body, requestpart
- bean 적용 가능 여부
- rest controller에서 veiw 렌더링
- pagable
- builder.default


![[Spring Security] 4. Spring Security 로그인, 권한처리](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fkyu9610%2Fpost%2Fa2a2d2cd-2bc0-480c-9126-d7031e6966b1%2Fimage.png?table=block&id=e48662a3-6dc1-476c-ab6a-b58e19c96a4e&cache=v2)
![[Docker] 윈도우10에서 도커 설치하기](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fhanjuli94%2Fpost%2F3916fd8d-6a9f-492e-9700-49f1df5b4d9b%2Fimage.png?table=block&id=e4dab218-cf3c-41eb-bf34-4dd5f2c7d831&cache=v2)

![[스프링프레임워크] 스프링 시큐리티 -3. 요청 가로채기](https://www.notion.so/image/https%3A%2F%2Fblogimgs.pstatic.net%2Fnblog%2Fmylog%2Fpost%2Fog_default_image_160610.png?table=block&id=5da8e3f1-f5f1-4b8b-aaf3-a0fd48054048&cache=v2)

![[Spring] Lombok @Builder 기본값에 관하여](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fkshired%2Fpost%2Fecb5ed53-b457-4b92-b661-3d2596d3a124%2Fimage.png?table=block&id=f9c15213-45a9-4c18-b88e-4db05775e473&cache=v2)

![[Spring] Multipart 요청 처리](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fvelog.png?table=block&id=0cb6b540-920c-4848-8366-ec6293e4c8cb&cache=v2)

![[TIL] PasswordEncoder matches 함수](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fvelog.png?table=block&id=dbe035c0-e5b5-4046-ad44-a59146b9a1df&cache=v2)




![[Spring] Column unique 제약조건의 에러처리 삽질기](https://www.notion.so/image/https%3A%2F%2Fdadadamarine.github.io%2Fassets%2Flogo.png?table=block&id=e5f0bb48-698e-4f13-8a7e-a455cc769e0f&cache=v2)







![[10분 테코톡] ✨ 아론의 웹소켓&스프링](https://www.notion.so/image/https%3A%2F%2Fi.ytimg.com%2Fvi%2Frvss-_t6gzg%2Fhqdefault.jpg?table=block&id=d69603e6-31ac-4c44-9d73-422736ef9766&cache=v2)
![[Golang] Github Actions를 통해 DockerHub에 올리기](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fvelog.png?table=block&id=e1c7897c-893a-44c5-ab6f-36c4b85cb0da&cache=v2)











![[JPA] Querydsl의 InnerJoin과 Painging을 이용한 검색기능](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fvelog.png?table=block&id=1a728d95-2b11-414b-8ec9-c9c9e5944c1b&cache=v2)
![[Spring]요청받기 어노테이션](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fjyyoun1022%2Fpost%2Fc9464585-1137-4414-9a36-06668ea342c5%2F%25E1%2584%2589%25E1%2585%25B3%25E1%2584%258F%25E1%2585%25B3%25E1%2584%2585%25E1%2585%25B5%25E1%2586%25AB%25E1%2584%2589%25E1%2585%25A3%25E1%2586%25BA%25202022-02-18%2520%25E1%2584%258B%25E1%2585%25A9%25E1%2584%2592%25E1%2585%25AE%252011.07.42.png?table=block&id=0e58a199-71be-4980-a153-604c7a8cb16d&cache=v2)

![[Spring] RequestBody vs RequestParam vs RequestPart vs ModelAttribute](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fvelog.png?table=block&id=b52dd591-34c2-429f-92ff-1ad544919b0c&cache=v2)

![[Lombok] @Builder.Default](https://www.notion.so/image/https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fhsbang_thom%2Fpost%2F84a1bdff-809e-477d-a52a-3fe22dd48624%2FJava-Lombok_Builder.png?table=block&id=e3052ab6-24e5-4b22-93e1-4c03f17a336a&cache=v2)