전체 글(180)
-
FastAPI - 쿼리 매개변수
이전에 경로에 매개변수를 전달할 수 있는 방법을 확인했었다.이번엔 쿼리 스트링을 사용해서 매개변수를 전달하면 이 값을 받아 사용할 수 있는 방법을 확인해보자. 1. 쿼리 매개변수먼저 단순하게 경로를 받아줄 메서드를 하나 만들어주자.우선 정상적으로 접근할 수 있는것을 확인했다. 자바에서 쿼리 스트링의 경우는 경로?param=value¶m2=value2 와 같이 전달하면서 값을 받아 사용할 수 있게 해줬었는데 FastAPI도 크게 다를게 없다.다만 서버 측에서는 기존에 경로를 통해서 받는 것이 아니라 매개변수 쪽에 선언을 하고 사용하게 된다.요청을 보낼때 위 변수명에 맞는 쿼리 스트링을 전달해보면 이렇게 값을 받아서 사용할 수 있는 것을 볼 수 있다. 다만 이렇게 사용한다면 쿼리 스트링을 무조건 전..
2025.08.26 -
FastAPI 기본
1. Fast APIFast API는 파이썬으로 웹서버 프로그램을 쉽게 만들 수 있도록 도와주는 프레임워크로 개발자가 요청을 어떻게 처리할지에 대해서만 지정해 둔다면 FastAPI가 그걸 웹 서버 형태로 실행되도록 만들어준다.여기서 웹 서버는 Uvicorn, Hypercorn과 같은 ASGI 서버가 띄워주고 FastAPI와 소통하면서 웹 서버 프로그램을 구동시킨다조금 더 정리하면 사용자가 어떤 요청을 전달하면 이를 Uvicorn, Hypercorn과 같은 ASGI 서버가 받아서 FastAPI에게 전달하고 FastAPI는 이를 정리하여 필요한 곳에 전달하고 로직을 수행한 후에 결과 응답을 다시 ASGI서버로 전달하는 역할을 한다. 더보기ASGI서버기존에는 WSGI라고 Web Server Gateway In..
2025.08.26 -
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - DispatcherServlet으로 전환 & 어노테이션 매핑 정보 사용
DispatcherServlet으로 전환우리는 FrontController라는 서블릿을 만들었지만 서블릿 컨테이너를 관리하거나 다루는 작업을 하지 않도록 Servlet Containerless한 개발을 하고 싶은데 애플리케이션의 로직과 연결되어 있는 것들이 서블릿 코드안에 존재하게 된다. 이러한 코드는 먼저 맵핑에 대한 문제이다.웹 요청으로 이걸 처리할 Controller와 메서드가 어떤것인지를 연결시켜주는 작업인데 이걸 코드 상에서 보자면 이렇게 요청 URL와 요청 타입(GET 방식)을 통해서 어떤 클래스의 빈을 사용해서 어떤 함수를 사용할지를 코드로 서블릿 내부에 작성되어 있는 것을 볼 수 있다. 두번째는 요청의 파라미터값을 추출해서 메서드에 파라미터로 넘겨주는 작업에 대한 문제이다.보면 getPar..
2025.08.08 -
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - Dependency Injection & 의존성 오브젝트 DI 적용
Dependency Injection스프링 프레임워크에서 DI(Dependency Injection) 기능은 IoC 컨테이너를 통해 제공되며, 이 컨테이너를 흔히 Spring IoC 컨테이너 또는 DI 컨테이너라고 부른다.이 컨테이너는 애플리케이션을 구성하는 객체(Bean)들의 생성과 의존성 주입을 전담한다.덕분에 개발자는 객체를 직접 생성하거나 연결하는 대신 필요한 의존 객체를 컨테이너로부터 주입받아 사용할 수 있다. 예를 들어, 우리가 앞서 만들었던 구조를 보면 HelloController --------------> SimpleHelloService와 같이 형성되어 있다. 아니 언제 의존 관계를 만들었지? 싶지만 사실 의존관계는 별게 아니라 HelloController는 S..
2025.08.07 -
Gradle
Gradle이란 Gradle은 빌드를 자동화해주는 도구(Build Tool)이다.단순하게 컴파일만 하는게 아니라 아래 작업들을 자동으로 처리해준다.코드 컴파일애플리케이션 실행테스트 자동 수행.jar 또는 .war 패키징외부 라이브러리 다운로드빌드 결과 캐싱 및 병렬 처리쉽게 말하면 빌드 + 실행 + 테스트 + 배포까지 한번에 도와주는 자동화 도구이다. Gradle이 필요한 이유자바를 개발할때는 여러 복잡한 작업들을 사용자가 직접 실행시켜줘야만 한다.위에 작성된 모든 일들을 사용자가 직접 입력 해서 처리를 해주는데 이런 과정을 Gradle은 자동으로 수행해주면서 생산성과 일관성을 보장한다. 단적으로 컴파일과 실행에 대해서 예시를 들어보자. Gradle이 없으면 자바로 직접 파일을 지정하여 컴파일을 해줘야..
2025.08.06 -
웹 스크래핑-준비
파이썬을 공부하다 보면 웹 크롤링과 웹 스크래핑에 대해서 이야기 한다.이 차이점는 무엇일까? 웹 크롤링인터넷에는 수많은 웹사이트와 수많은 페이지들이 존재하고 이를 대상으로 필요한 정보를 직접 찾아 모으기란 번거롭고 시간이 오래걸리는 작업이다.웹 크롤링은 이런 작업들을 자동으로 해주는 기술이다.Crowling은 영어 뜻대로 기어다닌다는 의미로 모든 정보를 긁어 오는 것을 의미한다. 웹 스크래핑웹 스크래핑은 이렇게 글을 전부를 뽑아오는게 아니라 원하는 정보만 골라서 추출해주는 것이다.웹 스크래핑은 HTML을 가져와서 그 안에 원하는 정보들을 골라 내서 사용한다. xpathxpath(XML Path Language)는 HTML이나 XML 문서에서 원하는 요소를 정확하게 찾아내기 위한 경로 지정 언어이다.웹 페..
2025.07.28