본문 바로가기

전체 글

(359)
post http://localhost:3000/()%20=%3E%20%60$%7BDOMAIN%7D/api/v1%60/auth/sign-up API관련 이슈로 아래 코드와 같이 회원가입을(Sign up) 할때 axios를 사용해서 경로를 아래와 같이 나름 정확하게 전달해 주었다.  그런데도 개발자 도구에는 아래 그림과 같이 엉뚱한 경로로 POST되었다고 나타나면서 404NOT FOUND 에러를 발생시켰다. 코드에서 보는것과 같이 경로를 정확하게 주었는데도 이와 같은 에러가 나타나는 이유가 무엇일까?서버 포트가 4000번인데 3000번 오류 난 것도 의아했다.답:  정확히 서버(4000)로 post를 날리는데 3000번이라고 오류가 난다? 이렇게 되면 그냥 프론트측 코드에서 뭔가 문제가 있는 것이라고 보면 된다(중요). 그러니 3000번 이라고 뜨는 것이다. 실제로 함수인데도 ( ) 를 빼먹어서 발생한 오류였다.API_DOMAIN을 API_DO..
서버의 프롬프트에 출력되는 고정된(Default)에러를 내가 관리하는 에러로 바꾸기 로그인시 암호 또는 페스워드에 아무 것도 입력하지 않을시 서버측에서 이러한 잘못된 리퀘스트를 받았을때 내뱉는 에러가 있다. 그 에러는 다음과 같으며 여기서는MethodArgumentNotValidException라고 나오는 경우이다. 이러한 경우 웹 브라우저의 개발자 도구에는 전형적인 예외인 Bad Request에러가 나오게 된다.이러한 전형적인 예외가 아닌 내가 이미 지정한 예외를 반환시키기 위해서 아래와 같이 예외를 따로 처리하는 폴더를 만들고(exception)그 안에 클래스를 하나 만들고(BadRequestExceptionHandler) 그 클래스에  @RestControllerAdvice, @ExceptionHandler 와 같은 어노테이션을 추가 해준다. IDE에 뜬 에러와 같은 MethodA..
react-cookie 사용하기 작품을 진행하던 중 사용자 정보를 다른 페이지에서 활용할 일들이 생겨 방법을 고민해봤다.우선 기존에는 Redux를 이용하여 사용자가 로그인을 완료하면 Redux에 저장한 후 그 데이터를 활용하려 했다.그러나, 이 방법의 심각한 문제점은 새로고침을 하면 Redux의 정보가 모두 날아간다는 것이었다.따라서 사용자 정보를 로컬 브라우저에 담아야 했고, 쿠키를 생성하여 사용하기로 했다쿠키를 다음과 같이 알고있다.웹 서버가 브라우저에게 보내어 저장했다가 서버의 부가적인 요청이 있을 때 다시 서버로 보내주는 문자열 정보웹페이지 방문 시 방문 기록 등 브라우저의 정보들이 저장된 텍스트 파일 하지만 쿠키에는 토큰에 관한 정보를 넣을 수도 있다. 즉 토큰을 쿠키처럼 사용할 수 있는 것이다. cookie를 설정 및 사용하..
자스에는 없는 타입스크립트만의 인터페이스 https://velog.io/@winbigcoms/4.-%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4소개인터페이스는 자바스크립트가 지원하지 않는 타입스크립트만의 특징이다. 인터페이스는 타입이며 컴파일 후에는 사라진다. 인터페이스는 선언만 존재하며, 멤버 변수와 메소드를 선언할 수 있지만, 접근 제한자는 선언할 수 없다.
forwardRef()란? forwrardRef()란? 우선 prop이 뭔지 알아야 한다. prop은 엘러먼트(태그)의 속성이다. 아래 글을 읽으면 그것을 알수 있다. 리엑트에서는 특수한 목적으로 사용되기 때문에 일반적인 용도로 사용할 수 없는 prop이 몇가지 있는데 ref, key라는 이름을 가진 prop이 이에 속한다.  ref는 HTML엘러먼트 접근이라는 특수한 용도로 사용되기 때문에 일반적인 prop으로 사용할 수 없다. 이때 HTML엘러먼트(태그)가 아닌 리엑트 컴포넌트에서 특수한 이름의 prop인 ref prop을 사용할 수 있게 해주는 것이 forwardRef()라는 훅 함수이다!!즉, 특수한 용도의 prop(예를들면 ref, key)을 리엑트 컴포넌트에서 일반적인 용도의 prop으로 사용할 수 있게 해주는 것이 f..
java.lang.IllegalArgumentException: base64-encoded secret key cannot be null or empty. Kimsboard 프로젝트 중에 위와 같은 에러가 발생하였다. 문제의 원인은 깃헙에 올릴때 보안을 위해 각종 비밀키를 applilcation.properties파일에 보관을 하는데, 이 파일에 보관된 값을 @Value 어노테이션을 사용하여 필요한 곳에 불러오게 되는데 불러온 값이 null이 되어 있다는 것이다. 아래의 글로부터 많은 도움을 받았다.https://green-bin.tistory.com/53나 같은 경우도 글에서 설명하는 것과 같이 외부에서 해당 클래스를 new를 이용해 생성해서 문제였다. 이후 문제의 코드를 아래와 같이 변경하였더니 문제가 해결되었다.
기능(Service)를 구현한다는 것의 의미와 Spring 의존성 주입 복습 SignUP기능을 구현한다는 것은 User테이블에 데이터를 넣는 작업을 가능하도록 한다는 것. 이것이 가능하기 위해서는 repository폴더에 있는 UserRepository클래스와 연관시켜 작업을 해주어야 함 =============================================================================복습. Spring의 의존성 주입에는 3가지 방법이 있고 각 방법에 @Autowired를 붙여준다(생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다. 이렇게 객체 의존관계를 외부에서 넣어주는 것을 DI (Dependency Injection), 의존성 주입이라 한다.).1. 생성자를 통한 의존성주입2. 멤버변수(필..
HTTP의 인증방식에 대하여(Basic Authentication, Bearer Token Authentication, OAuth) 출처: https://www.youtube.com/watch?v=USu2W2N1Q4Q&list=PLbq5jHjpmq7q-Td2jOXtpf7SD5c53RqXh&index=9  좋은 글: https://engineerinsight.tistory.com/69   정말 좋은 글:  https://engineerinsight.tistory.com/163어떠한 내가 모르는 내용이 나왔을때 그것을 처음부터 검색해 보려하면 한숨부터 나오고 힘들다는 감정이 생기는 것 자체가 잘못된 방향으로 가고 있는 것이다. 그럴 때는 잠시 리프레쉬하는 시간을 가지고 다시 시작해야 한다. 잠시 쉬라는 것이다. 사실 유튜브영상의 이 내용을 쉬지 않고 익숙히 하기는 힘들었고 몇번의 리프레쉬 끝에 어떻게 하면 이렇게 접해보지 않은 정보를 찾..