Backend 15

[FastAPI] FastAPI에서 Decorator 사용하기

FastAPI는 Python 웹 프레임워크로, 비동기 지원과 높은 성능을 제공하는 것이 특징이다. FastAPI에서는 Decorator를 사용해 라우팅, 요청 처리, 미들웨어 적용을 간단하게 할 수 있다! FastAPI에서 Decorator의 역할FastAPI에서 Decorator는 주로 라우팅을 설정하는 데 사용된다.@app.get() Decorator를 사용해 특정 URL을 처리하는 함수를 정의할 수 있다. from fastapi import FastAPIapp = FastAPI()@app.get("/")def test(): return {"message": "Hello, FastAPI!"} 위 코드를 main.py에 저장 후 아래 명령어로 실행한다.uvicorn main:app --reload 브라..

Backend/FastAPI 2025.02.10

[SpringBoot] SpringBoot와 PostgreSQL 연동하기

프로젝트에 사용할 데이터베이스로 PostgreSQL, MongoDB를 사용할 예정이다.오늘은 로그인 테스트를 위해 PostgreSQL을 스프링부트에 연동해볼 것이다!! 1. PostgreSQL 설치https://www.postgresql.org/download/ PostgreSQL: Downloads www.postgresql.org위 링크에서 PostgreSQL을 다운받고 설치해주자 2. SQL Shell (psql)에서 PostgreSQL 접속설치 완료 후 Window 탐색창에 SQL Shell을 검색해서 열어준다. Server [localhost]: Enter 누르기Database [postgres]: Enter 누르기Port [5432]: Enter 누르기Username [postgres]: En..

Backend/SpringBoot 2024.10.16

[SpringBoot] SpringInitilaizr 프로젝트 생성 후 gradle 빌드 초기 세팅

SpringInitializr에서 gradle 프로젝트를 생성한 후 Intellij에서 open해 빌드를 하려고 한다. (스프링부트 3.3.4 버전, Java 17, Gradle 8.10.2) 1. Java 17 다운로드 및 시스템 환경 변수 설정기존에 사용하던 노트북 환경이 아닌 새로운 환경에서 작업을 시작했는데, Java 환경 변수 설정에 대해 아무 생각도 안하고 있었다. Gradle은 내부적으로 Java를 사용해 작업을 수행하기 때문에 JAVA_HOME이 올바르게 설정되어 있지 않으면 Gradle이 Java를 찾지 못해 빌드가 실패하게 된다. (프로젝트에서 SDK 설정을 Java 17로 해놓았으나 System Path에 Java 17에 대한 경로가 없었기 때문에 빌드가 실패했다.) https://w..

Backend/SpringBoot 2024.10.15

[Linux/Docker] Redis, MySQL Docker 이미지를 사용해 시스템 사용해보자

Docker로 Redis 실행하기키-값 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반 비관계형 데이터베이스 관리 시스템  - redis 이미지를 다운로드 받기-d : background로 실행하는 옵션-p : port 지정 host port : redis port - Telnet 테스트 -> 로컬호스트에 연결→ mykey라는 key 값에 hello라는 value를 세팅하고 get을 통해 확인하기 → 나올 때는 ctrl + ]→ ‘’ 입력해서 connection 종료하기   Docker로 MySQL 실행하기MYSQL_ALLOW_EMPTY_PASSWORD : 비밀번호 설정하지 않는 옵션 -> 비밀번호 설정하지 않고 mysql 접속하려 했더니 ACCESS DENIED 에러 발생 - 에러나면서 ..

Backend/SpringBoot 2024.08.23

[SpringBoot] QueryDSL에 대해 알아보고 사용해보자

QueryDSL정적 타입을 이용해 SQL과 같은 쿼리를 코드로 작성할 수 있게 하는 프레임워크이다.자바 애플리케이션에서 타입 안전한 쿼리를 작성할 수 있도록 도와주며 SQL, JPQL, MongoDB 쿼리 등 다양한 쿼리 언어에 대해 타입 안정성을 제공해, 컴파일 타임에 쿼리의 오류를 잡을 수 있다. - 타입 안전한 쿼리QueryDSL은 컴파일 타임에 쿼리의 오류를 검출할 수 있게 해준다. SQL, JPQL, MongoDB 등 다양한 쿼리 언어를 사용해 타입 안전한 쿼리를 작성할 수 있는 방법을 제공한다. 쿼리의 구문 오류가 필드 오류를 코드 작성 시점에서 발견할 수 있기 때문에 런타임 오류를 줄일 수 있다. - Q 클래스QueryDSL은 Entity에 대한 Q 클래스를 생성한다.Q 클래스는 Entity..

Backend/SpringBoot 2024.08.22

[SpringBoot] JUnit을 사용해 테스트 코드를 작성해보자

JUnit을 이용한 테스트 코드 작성JUnit 생명 주기 (Life Cycle) 코드 작성을 통한 어노테이션 동작 확인@Test : 테스트 코드를 포함한 메서드 정의@BeforeAll : 테스트를 시작하기 전에 호출되는 메서드 정의@BeforeEach : 각 테스트 메서드가 실행되기 전 동작하는 메서드 정의@AfterAll : 테스트를 종료하면서 호출되는 메서드 정의@AfterEach : 각 테스트 메서드가 종료되면서 호출되는 메서드 정의 Spring Data JPA 활용하기JPQLJPA Query Language, JPA에서 사용할 수 있는 쿼리를 말한다. - JPQL 쿼리의 기본 구조SELECT p FROM Product p WHERE p.number = ?1;Product : 엔티티 타입p.numb..

Backend/SpringBoot 2024.08.22

[SpringBoot] MariaDB 데이터베이스를 연동해보자

MariaDB 다운로드하기https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.3.2&os=windows&cpu=x86_64&pkg=msi&mirror=blendbyte Download MariaDB Server - MariaDB.orgREST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"mariadb.org → root 비밀번호 설정 후 [Use UTF8 as default server’s character set] 체크 박스 체크→ 기존에 설치했던 MySQL이 포트번호 3306을 쓰고 있어서 발생한 에러 메시지→ 3307로 수정 후 Install MariaDB..

Backend/SpringBoot 2024.08.22

[SpringBoot] 로깅 라이브러리 Logback을 이용해 로그를 확인해보자

로깅(Logging) 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간 순으로 기록하는 것디버깅이나 개발 이후 발생한 문제 해결 시 원인 분석할 때 필요한 기능 - resource 하위에 logback xml 파일 업로드 - Logback 설정 후 refresh - Talend API Tester에서 해당 controller로 GET 요청 - IntelliJ에서 로그 확인 - 해당 프로젝트가 있는 경로에서 log 파일로도 확인 가능

Backend/SpringBoot 2024.08.22