728x90
반응형

전체 글 279

[FastAPI] 3. 쿼리 매개변수(Query Parameters)

쿼리 매개변수from fastapi import FastAPIapp = FastAPI()fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}]@app.get("/items/")async def read_item(skip: int = 0, limit: int = 10): return fake_items_db[skip : skip + limit]경로 매개변수에 포함되어 있지 않은 매개 변수들은 자동으로 쿼리 매개변수(query parameter)로 인식이 예시에서는 skip, limit이 query parameter쿼리는 URL의 ? 뒤에 오는 키-값 쌍 집합을 의미하고 각각의 변수들은 &로 구분ex) http..

[FastAPI] 2. 경로 매개변수(Path Parameters)

경로 매개변수(Path parameters)from fastapi import FastAPIapp = FastAPI()@app.get("/items/{item_id}")async def read_item(item_id): return {"item_id": item_id}path에 {}로 둘러싸인 부분은 path parameter를 나타냄/items/{item_id}에서 {item_id}는 path paramterURL 경로의 일부로서 변수 값을 전달받을 수 있도록 함클라이언트가 http://127.0.0.1:8000/items/42 와 같은 URL로 요청을 보내개 되면 path paramter인 item_id에는 '42'라는 값이 들어감from fastapi import FastAPIapp = Fa..

[FastAPI] 1. 간단한 FastAPI 만들기

FastAPI 애플리케이션 기본 구조from fastapi import FastAPIapp = FastAPI()@app.get("/")async def root(): return {"message": "Hello World"}Import FastAPIfrom fastapi import FastAPIFastAPI는 API에 대한 모든 기능을 제공하는 Python 클래스Create a FastAPI "Instance"app = FastAPI() FastAPI application insatnce 생성 Instance를 가지고 앞으로 사용할 API경로를 정의하고 각 경로에 대한 요청을 처리하는 엔드포인트(함수)를 등록하는데 사용API를 만드는데 있어서의 중심점 역할을 하는 instanceDefine a ..

[Java] java.net.BindException: Address already in use

HTTP 서버의 기본적인 형태를 구현하여 실행키는데 Exception in thread "main" java.net.BindException: Address already in use 에러가 났다.package myServer;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;import java.util.List;public class Server { final private static int PORT = 8080; public static void main(String[] args) throws Exception { try (ServerSocket serverSocket = ..

쿠키(cookie), 세션(session), 토큰(token), JWT(JSON Web Token)

쿠키사이트 방문 시 데이터 저장사용자가 웹사이트를 방문하면, 브라우저는 서버에 요청을 보냄서버는 요청에 응답하며, 클라이언트가 요청한 데이터와 함께 쿠키를 포함할 수 있음브라우저는 이 쿠키를 클라이언트 컴퓨터에 저장쿠키의 역할:쿠키는 서버가 클라이언트를 기억하기 위해 브라우저에 저장하는 작은 데이터 조각예를 들어, 로그인 상태, 사용자 선호 설정(예: 언어 설정) 등 저장 가능쿠키의 동작 방식:웹사이트에 다시 방문할 때마다, 브라우저는 해당 도메인과 관련된 쿠키를 서버에 함께 전송(도메인에 따라 제한)서버는 이 쿠키를 사용하여 클라이언트의 상태를 파악하고 적절히 대응유효 기간:쿠키는 서버에서 정한 유효 기간이 있으며, 이 기간이 지나면 자동으로 삭제세션 쿠키는 브라우저가 닫힐 때 삭제사용자 조작 가능성:..

인증(Authentication)과 인가(Authorization)의 차이

인증(Authentication)로그인을 통해 특정 서비스 권한을 부여받은 사용자임을 인증 받는 것사용자가 누구인지 처음에 확인하는 과정ex) 웹사이트 로그인 시 아이디와 비밀번호 입력, 지문 인식으로 잠금 해제, 이메일 인증 코드 입력 인가(Authorization)한 번 인증을 받은 사용자가 이후 서비스의 여러 기능(특히 인증된 상태에서만 할 수 있는 기능)을 사용할 때 서버가 로그인 되어있는 상태임을 알아보고 허가해주는 것인증된 사용자가 특정 자원이나 기능에 접근할 권한이 있는 지를 결정하여 사용자가 어떤 작업을 수행할 수 있는지를 규정ex) 관리자가 데이터베이스를 수정할 수 있는 권한 부여, 일반 사용자가 특정 페이지에 접근할 수 없도록 제한, 특정 사용자가 파일을 읽을 수 없지만 수정할 수 없도..

[Python] 제너레이터(Generator)

제너레이터(Generator)이터레이터(Iterator)를 간단히 생성해주는 함수일반적인 함수처럼 정의되지만, 값을 반환할 때 return 대신 yield 사용제너레이터 함수는 호출될 때 실행되지 않고, 제너레이터 객체를 반환이터레이터 프로토콜를 따름yield 키워드: 값을 생성하고, 함수의 실행 상태를 유지. 다음 next() 호출 시 이 상태로 다시 실행을 시작지연 평가: 값을 필요할 때마다 하나씩 생성하여 메모리 사용을 줄임def gen(): yield 'a' yield 'b' yield 'c' g = gen()next(g) # 'a'next(g) # 'b'next(g) # 'c'next(g) # StopIteration모든 제너레이터는 이러에티러를 만드므로 제너레이터 객체는 이터레..

[Python] 이터레이터(Iterator)

이터레이터(Iterator)반복 가능한 객체를 순회할 수 있는 객체반복 가능한 객체란? -> List, tuple, set 등반복 가능한 객체 != 이터레이터 반복 가능한 객체 == 이터러블(iterable) 객체 (반복가능하면 이터레이터로 만들 수 있는 것)이터러블 객체는 __iter__() method를 가지고 있고, 이 method는 이터레이터를 반환하는 역할이터러블 객체는 iter() 함수를 이용하여 이터레이터로 만들 수 있mylist = [1, 2, 3]next(mylist)Traceback (most recent call last):File "", line 1, in TypeError: 'list' object is not an iterator# Iterable하다는 것이 Iterator라는 ..

[M1 Mac] UMT 가상환경 VScode SSH 연결하는 법 & Linux SSH 서버 실행방법

호스트 머신인 Mac에서 리눅스에 원격으로 접속한 상태로 VScode를 사용하기 위해 UTM 가상환경에 설치한 리눅스와 현재 호스트인 Mac을 SSH를 이용하여 연결해보겠습니다. SSH 연결 우선 가상환경에 설치한 리눅스의 ip 주소를 확인하기 위해 터미널에 ifconfig를 입력합니다. ifconfig 맨 처음에 나오는 enp0s1: 부분에서 inet 옆에 있는 ip주소가 우리가 사용할 ip 주소입니다. enp0s1: flags= ~~~~~~ inet (여기 있는 ip 주소 사용) netmask 255.255.255.0 broadcast ~~ inet6 ~~~ inet6 ~~~ global> ~~~~~~ ~~~~~~ 만약 ifconfig가 작동하지 않는다면 net-tools를 설치해주고 다시 시도해보세..

Linux 2024.03.10

[Kali Linux] 마우스 휠 방향 반대로 바꾸기

리눅스의 경우 기본적으로 마우스 휠의 방향이 평소 우리가 사용하던 것과 반대로 초기화 되어있습니다. 칼리 리눅스의 경우 다음과 같이 해결할 수 있습니다. 1. Mouse and Touchpad에 들어갑니다. 2. Device에서 Mouse라 써있는 것을 선택합니다. 3. Reverse scroll direction을 체크표시해주세요(기본적으로 체크 표시 해제가 되어있을 것입니다.) 4. Reboot를 해주세요. 저같은 경우에는 나중에 다른 기기를 사용하더라도 또 설정하기 싫어서 모든 Device에 Reverse scroll direction을 설정해놓았습니다.

Linux 2024.03.10
728x90
반응형