전체 글 110

[Vite] .env 파일로 환경 변수 관리 하기 (Feat. API Key)

프로젝트를할때 서버 url과 로그인 시 필요한 Rest api key를 관리하기위해서 .env로 만들어 관리하고자한다. 리액트의 .envReact에서 변수명은 REACT_APP_ 으로 시작되어야 한다. 변수명과 값 사이에는 공백 또는 따옴표("")가 존재해서는 안된다. 변수명은 대문자로 작성하는 것이 관례이다.Vite 의 .envVite에서 변수명은 VITE_ 으로 시작되어야 한다. 변수명과 값 사이에는 공백 또는 따옴표("")가 존재해도된다. 변수명은 대문자로 작성하는 것이 관례이다.별도 vite-env.d.ts를 생성하여 meta 타입을 설정해줘야한다. env는 루트에 만들고 사용하고자하는 변수들을 선언해준다.  src폴더에 vite-env.d.ts를 만들어주고 사용할 변수의 타입을 정해준다.  co..

javascript/React 2024.11.17

[오류 해결] UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token '??='

vite로 새로운 프로젝트 생성 후에 npm run dev 실행후에 다음과 같은 에러가 발생했다.UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token '??=' 해당 에러에대해서 살펴본 결과 "??" 해당 연산자는 nodejs 14이상에서 지원하지만 vite 실행 환경에서 다를 수 있고 내가 가진 node.js에 버전이 낮아서 그런다는 글을 보았다. 내가 설치한 node.js 버전은 window 에서 node.js 버전을 쉽게 바꿔주기위해 https://github.com/coreybutler/nvm-windows/releases 경로에서 exe 파일 다운받아서 실행.동의 후에 next 쭉 클릭 하여 설치완료. cmd 창을 관리자모드로 열어서 ..

javascript/React 2024.10.30

docker에서 mysql사용하기

docker를 사용하여 데이터베이스사용. java같은 경우에도 jvm이라는 가상환경에서 java 어플리케이션이 실행되는것처럼 docker라는 리눅스기반 가상 플랫폼을 사용하여 mysql를 실행시켜보자. 1. docker 설치 https://docs.docker.com/ Dounload and install 선택 , 자신의 운영체제에 맞는것으로 설치하면 된다. 기본적으로 세팅되어있는걸로 인스톨해준 후 재부팅하면 완료. cmd창을 통해 해당 도커가 잘 설치되었는지 확인 가능하다. 2. workbench 설치 https://dev.mysql.com/downloads/workbench/ MySql에서 기본적으로 제공하는 데이터베이스를 우리가 알아볼 수 있도록 gui툴을 제공한다. 두개의 설치가 완료되었다면 실제..

스프링부트(SpringBoot) - Validation 사용하기

Spring validataion을 사용해볼 예정이다. 클라이언트로부터 받은 데이터를 @RequestBody, 또는 @RequestParam, @PathVariable 등의 어노테이션을 활용하여 api로 호출하는데 이때 전달 받은 데이터를 검증하는 절차가 필요하다. 가장 대표적으로 회원가입을 할 경우 해당 유저의 이메일은 정상적인가, 폰 번호 형식은 일치하는가 이름은 비어있지않는가 등 컨트롤러에서 해당 데이터를 처리하기 전에 유효성 검사를 먼저 해준다고 생각하면된다. 해당 validation을 통과하지 못할 경우에는 ( MethodArgumentNotValidException ) 에러를 발생하도록 기능을 수행한다. 데이터에 대한 유효성 검증 관련 Annotation - 해당 Annotation은 Spri..

카테고리 없음 2023.11.06

스프링부트(SpringBoot)- 예외처리 @RestControllerAdvice

코드를 작성하다보면 다양한 예외상황이 생기게된다. 예전 Spring 프로젝트를 할 당시에 예외처리는 try-catch로 예상가능한 예외에 대해서만 처리해줬던 기억이있다. 해당 로직에 대해서 각각 예외를 처리해주다보면 코드가 길어지고 보기 불편해진다. 이러한 문제점을 spring boot강의를 보던 중에 @RestControllerAdvice를 통해서 개별적인 예외나 글로벌적인 예외처리가 가능해진다는것을 배우게되었다. @ RestControllerAdvice를 통한 예외를 처리하기 전에 해당 예외를 어떠한 형식으로 클라이언트 단에 도달할 것인지를 먼저 설정해주었다. 앞으로 클라이언트에 전달될 Data의 형식이다 resultCode, resultMessage, data형식으로 동일한 응답을 내려주기위해 설정..

카테고리 없음 2023.11.05

스프링부트(SpringBoot) - REST -POST사용해보기

HTTP 메소드중하나인 REST API를 구현할 수 있는 방법 중 두번째 POST방식에 대해서 알아보고자한다. - POST방식은 리소스 생성 및 추가에 사용한다. 데이터를 계속해서 변화시키기때문에 멱등성과 안정성은 없다. - Path Variable형태가 가능하며 Query Parameter는 가능하지만 특정 데이터에 필터링을 위해 사용되기때문에 적절하지는 않다. -DataBody를 가지고 있어 대표적으로 이것을 사용하는 방식이라 말할 수 있다. HTTP Header와 HTTP Boody로 구분되면서 HTTP Boody에 메세지를 담아서 보낼 수 있다. 메세지는 문자로 TEXT,HTML,JSON...과 같은 것들이 해당된다. 앞서 GET방식에서 배웠던 URL에 담아서 데이터를 보내는 형태는 주소가 외부로..

스프링부트(SpringBoot) - REST -GET 사용해보기

스프링 부트에서 처음 다뤄볼 내용은 HTTP 메소드중하나인 REST API를 구현할 수 있는 방법 중 첫번째 GET방식에 대해서 알아보고자한다. 이전에 REST API에 대해서 잠깐 알아보자! REST는 Representational State Transfer 이며, 소프트웨어 프로그램 아키텍처의 한 형식이다. 즉, 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. HTTP 프로토콜은 GET, POST, PUT, PATCH, DELETE의 Method를 제공( CRUD ) GET은 Read를 의미한다. 정보의 요청, 또는 URL이 가진 정보를 검색하기 위해 서버에 요청한다. [ GET 예제 1] 1. RestApiController 를 하나 생성해준다. 2...

스프링부트(SpringBoot) 시작하기 - Spring Initializr

Spring으로만 프로젝트를 만들다 SpringBoot를 배워보기로했다. SpringBoot는 Spring보다 개발을 빠르게할 수 있으며 구성이 거의 필요하지않다. 기본값 설정이 존재하지만 설정을 바꿀 수 있다고한다. SpringBoot를 시작하기 위해서는 구글에 Spring Initializr을 검색한다. 더보기 Spring Initializr https://start.spring.io/ Project - Gradle - Groovy Language - Java Spring Boot - 2.7.16 Project Metadata / Packaging - Jar - Java / 11 왼쪽 상단 ADD DEPENDENCLES.. 클릭 코드를 사용할때 자동완성되는 기능을 가진 [Lombok] 사용 + [Sp..

Intellij 설치하기

SpringBoot 사용하기 위해 툴로는 Intellij를 쓰게되었다. 인텔리제이 무료 버전인 Intellj Community Edition을 설치하는 과정을 기록. 구글에 Intellij 검색하여 해당 사이트로 이동하여 다운로드 해준다. https://www.jetbrains.com/ko-kr/idea/download/?section=windows#section=windows 설치 경로는 default로 잡혀있는걸로 진행하였다. 원하는 옵션들을 선택해준다! 사실 선택을 하지않아도 사용에 큰 어려움은 없다. Install 진행중 ... 바탕화면에 생성된 바로가기 클릭 , 약관동의 클릭! 설치 후 첫 화면에서 새로운 프로젝트를 만들어본다. 프로젝트 생성하기 [New Project] 기본 설정에서 JDK를 ..

기타 2023.10.11

[오류 해결]Tomcat timeout 해결

톰캣 서버를 새로 구성하고 나서 다음과 같은 에러가 발생. 톰캣의 타임아웃 시간이 짧아서 생긴 문제이다. Server Tomcat v8.5 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor. 해당 서버를 더블 클릭해서 overview를 열거나 우클릭 open을 통해서 들어가준다. [Timeouts] 의 숫자를 늘려준다. 저장후 다시 서버를 기동하면 정상작동!

Server & Tomcat 2023.03.02