DI(Dependency Injection) 및 제어의 역전 (IoC: Inversion of Control)Spring Dependency Injection이란, 각 객체 간 의존관계를 스프링 컨테이너가 개발자가 정의한 Bean 등록 정보를 바탕으로 자동으로 주입해주
참고 DI와 제어의 역전 : https://velog.io/@sago_mungcci/DI%EC%99%80-%EC%A0%9C%EC%96%B4%EC%9D%98-%EC%97%AD%EC%A0%84%EC%9D%B4%EB%9E%80빈 (Bean): 스프링이 관리하는 객체
이 개념을 접근하게 된 계기는 http 아키텍처를 공부하면서 알게 되었다.과제를 해결하면서도 필요한 개념이었다.클라이언트와 서버간의 통신이 왜 이렇게 이루어 지는 지 공부하고 싶었다.스프링을 사용하면서 백앤드의 전반적인 구조와 작동방식을 이해하기 위해서는 반드시 필요한
스프링은 기본적으로 서버를 통합 개발해주는 프레임워크이다. 클라이언트에서 요청을 하면 그에 대한 응답을 정확히 해주어야 한다.그러나 Rest 규칙에 따라 Restful한 api로써 통신이 이루어져야 한다.따라서 Rest하게 리소스,행동,표현으로써 클라이언트가 규격에 맞
문제접근json이 데이터라는 것과 이것이 키-값, 속성-값 쌍으로 이우어져있다는 것을 알게되었다. 그런데 이 용어들에 대해서 정확히 알지 못했고 스프링기본강의를 수강하던중 이 용어들이 나와서 한참 해맸다.Spring자체가 서버를 다루는 프레임워크다 보니 JSON을 다루
오늘 JWT 과제만 주구장창 함.JWT header에 JWT Access, refreshToken 넣었음.스프링시큐리티를 공부함.벨로그에 정리해서 올리기.빌드 도구란?소스코드를 컴파일, 테스트, 정적분석 등을 실시하여 실행 가능한 어플리케이션으로 자동 생성하는 프로그램
ORM : object Relatrional Mapping의 약자로, 객체와 관계형 데이터베이스를 매핑해주는 것을 말한다.JPA : JPA는 Java Persistence API의 약자로, 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다
JWT를 적용하기 위해서는 스프링 시큐리티에 대한 이해가 필수인것 같아서 원리 공부를 먼저 시작했다. 계속 스프링시큐리티사용하면 나오는 오류들은 내가 스프링시큐리티의 기본적인 동작방식을 이해하지 못해 해결하지 못한다라는 것을 깨달아서 정리해보았다.Spring Secur
Filter ChainAuthentication 객체Spring Security는 DelegatingFilterProxy 라는 필터를 만들어 메인 Filter Chain에 끼워넣고, 그 아래 다시 SecurityFilterChain 그룹을 등록한다.URL에 따라 적용되
\-JWT공부만 함.JWT 사용이유 파악장점동시 접속자가 많을 때 서버 측 부하 낮춤Client, Sever 가 다른 도메인을 사용할 때예) 카카오 OAuth2 로그인 시 JWT Token 사용단점구현의 복잡도 증가JWT 에 담는 내용이 커질 수록 네트워크 비용 증가
datasource만 고치면 되는 줄 알았는데 설마database-platform: org.hibernate.dialect.MySQL8Dialect도 고쳐야 될 줄이야..그리고 인텔리제이 AWS RDS연동시 항상 데이터베이스 새로고침하자.
스프링 공부중 Jpa query method 작성시 Optional로 처리한 것들이 있어서 팀원님이 여러 블로그글들을 정리해놓으셔서 공부했다.Optional클래스를 사용해 NullPointerException(이하 NPE)를 방지할수 있는 클래스로 Java 8 버전부터
JWT 적용시 application.yml에서 application.properties로 변경시 발생한 에러를 해결함.나는 주로 application.properites를 사용해서 yml 정리해서 TIL을 작성한다.외부 설정 파일애플리케이션에서 사용하는 여러가지 설정
MVC란 Model, View, Controller의 약자로 디자인 패턴 중 하나이다. 애플리케이션의 역할을 세 가지로 구분한다.웹에서의 MVC사용자가 웹사이트에 접속Controller는 사용자가 요청한 웹페이지를 서비스하기 위해서 모델을 호출Model은 데이터베이스
일반적으로 REST API를 만들게 되면 SpringBoot에서는 @RestController를 이용하여 JSON 형식으로 값을 반환하게 된다.일반적으로 데이터를 반환할 때 StatusCode까지 넘겨주는 방식이 ResponseEntity 그리고 @ResponseSta
문제의 발단좋아요 생성, 삭제, 생성하고 2번째 삭제때 사용하고 싶은 코드였다.그러나 삭제시 아래와 같이 오류가 발생했다. org.springframework.dao.EmptyResultDataAccessException: No class com.sparta.jwt_r
spring 서버 작동시 문제발생Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement ~expected "identifier"; SQL statement:문제해결 방법 및 참고
웹서버 : 클라이언트로부터 직접 요청을 받아 처리하고 저용량의 정적파일들을 제공한다.동적 서비스를 제공하거나 웹 서버와 데이터 베이스 서버 또는 웹 서버와 파일 서버사이에서 인터페이스 역할을 수행함.스프링프레임워크는 MVC패턴을 지향한다. 즉 클라이언트가 요청한 데이터
스프링 시큐리티를 공부하다가 cors,csrf,xss 필터를 적용해야된다는 부분이 있어서 순차적으로 공부하고 각각 정리를 했다.CSRF에 대해서 공부한 것을 정리한다.사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forg
미니 프로젝트가 시작되어서 프런트 분들과 같이 협업하게 되었다.내가 크롤링한 부분을 전달하기 위해서 json형태로 데이터를 반환하기 위해서 json형태로 변환하고 response하는데 자꾸 아래와 같은 오류가 출력되어 전혀 response되지 않았다.오류 단순 접근먼저
참고 : https://www.kobis.or.kr/kobisopenapi/homepg/apiservice/searchServiceInfo.do일별 박스오피스 API 서비스를 사용하던 도중 JSONObject의 데이터를 JsonArray로 변환도중 JSONAr
CORS란? CORS는 Cross-Origin Resource Sharing의 약자로 직역하면 "교차 출처 리소스 공유" 이다. 좀 더 쉽게 말하면 동일한 출처가 아닌 다른 출처에서 데이터를 주고 받는 것을 허용하는 정책이다.이미지 출처 : https://an
크롤링 후 서버db저장후 배포회원가입및 로그인 문제.JWT 토큰 문제.서버가 먼저 크롤링함.크롤링해온 것을 내 db에 저장함.db에 저장한 것을 클라이언트에 배포rds였으면 서버를 기동시키거나 꺼도 db의 데이터가 살아 있었겠지만, 서버가 h2를 써서 서버를 재시작 할
이번 프로젝트를 진행하면서 백앤드 팀원분들이 다들 11로 사용하셔서 나도 java11버전으로 업데이트함.윈도우에서 java11로 업데이트 한 jdk를 설정하고 환경변수에서 %JAVA_HOME%이라는 변수에 java 11 jdk주소를 저장하고 PATH에서 맨위에 위치하여
최초 문제 발생 Spring으로 페이징을 공부하던 중 기본예제를 응용하여 내 프로젝트에 적용한 후 서버 시작시 바로 nullpointException 발생.A.클라이언트 상태클라이언트에 internal server error 500 발생B. 서버상태videoReposi
redis를 적용하던 도중 이런 오류가 발생했다.이건 고민할 문제가 아니라고 판단하여 구글링을 진행하였다.Java 8 date/time type java.time.LocalDateTime not supported by default 라는 오류는LocalDataTime을
문제마지막 메시지가 공백(”” 이하 공백이라고 함)이면 공백이 마지막 메시지가 공백으로 입력되는 문제가 발생함.채팅중 상대방의 마지막 메시지가 실수로 공백이 들어가면 마지막 메시지가 공백이 되어1:1 채팅의 목록에 마지막 메시지가 나오지 않는 문제가 발생함.원인 파악해
문제1:1 채팅시 해당 사용자의 채팅방 목록이 아닌 전체 1:1채팅 목록이 출력되는 오류가 발생원인 파악각 1:1 채팅방의 메시지를 통해 1:1 채팅방을 전체 조회했음.1:1 채팅방이라면 경매게시글 작성자와 낙찰자 2명만 존재해야 되는데 게시자와 낙찰자를 따로 구분해놓
문제채팅메시지를 레디스에 저장시 저장이 안되고 아래와 같은 오류가 발생채팅메시지를 Redis에 저장 시 저장이 안되는 오류 발생오류내용 : org.springframework.data.redis.serializer.SerializationException: Cannot
경매 입찰하기(실시간 가격변동)문제상세화면에서 경매 입찰 가격이 실시간으로 변하지 않는 문제상세화면에서 경매 가격 입력해 입찰 시 제대로 반영되지 않는 문제(정확한 낙찰자 선정이 안됨)원인파악1번 문제에 관한 원인파악실시간 호가 입력 후 상세페이지에 접속해 있는 사용자
저것 어노테이션 못봐서 3시간 허비함.참고 과장님, 차장님, 부장님 다오셔서 봤었음.다들 이걸 놓친것이라고는 생각을 못함.무조건 조회는 되는데 반환값이 null이다 그럼 dto에서 뭔가 잘못됨.