목록Python | Web (15)
내가 보려고 만든 블로그
웹개발자가 아닌 나지만 하도 많이 들어본게 바로 Async 비동기 처리. 헷갈렸던 것들을 좀 적어보고 몇가지 개념들 정리해둠. Non Blocknig , Async 우선 non blocking 과 Async , 거의 같은 개념처럼 느껴지는데 솔직히 매우 유사하긴 하다. Async는 프로그래밍의 방식이라고 생각하면된다. Synchronous하게 프로그래밍했다면 return값을 기다리는 방식이고 Async라고 하면 return 을 신경쓰지 않고 다음에 처리할수 있는 것을 처리하러 가게 프로그래밍하는 것. blocking은 반대로 방식이라기 보다는 실제로 물리적으로 일어나는 개념이라고 생각하면된다. io가 실제로 일어나냐 마느냐. Coroutine 비동기 처리가 가능한 함수를 파이썬에서 coroutine이라고..
pydantic은 type annotation 을 바탕으로 데이터를 검증해주고 어긋날 시 올바른 형태로 바꿔주는 역할을 해주는 라이브러리다. 주로 사용처는 fastapi를 통해 웹개발을 할 때 request , response 등을 통해 데이터를 주고 받을 때 데이터들을 검증해줄때 사용한다. 다음 포스팅에 sql_alchemy 이용해서 DB연동하는 내용을 적을라고 했는데 한번에 같이 적는 것 보다는 나눠 적는게 나은 것 같아 적어봄! fastapi에서 사용하는 예시를 가져왔다 (매우 간단하기 하지만) . 유저테이블에 다음과 같이 데이터를 넣어 줄 때 해당 컬럼의 자료형을 체크해주는 것. 이름에 이상한 숫자가 들어온다면 오류를 내뱉거나 자동으로 형변환이 가능하다. def add_user(user: sche..
파이썬은 자료형을 표시 안해도 되는 편리한 언어이다. 하지만 소스코드들을 살펴보면 자료형, 혹은 처음 보는 것들이 많이 있어 당황스러울 때가 있는데 파이썬에서 따로 모듈을 불러올 필요없이 int, str 등은 자료형을 표현할 수있지만 다른 자료구조 list ,set 등등을 표기하기 위해선 typing 이라는 모듈이 필요하다. LIST, Dict, Tuple 등등 List, Dict, Tuple 등등을 표현할 때 사용. List[int] 와 같이 리스트 안의 자료형을 표시할 수가 있는데 사실 다르다고 오류가 나진 않는다. Union 한 변수에 여러개의 자료형이 가능할 때 사용. Union[자료형, 자료형 ...] 식으로 적어주면 된다 . ex) a = int 도 되고 a= str 도 될 수 있을 때 Opt..
어쩌다 웹만들어야 할 일이 생겼는데 fastapi 이용해서 백단 만드는 것은 얼추 알겠는데. 화면만드는 법을 전혀 몰라서 만들어야 할 것에 있는 html태그들좀 간단하게 정리해보았다. 1. 문서형식 html이라고 선언하는 부분. 이게 없으면 브라우저들이 제각각으로 랜더링한다고 한다. 2. 문서에 대한 메타정보 ,css 적용, 인코딩방식, 그리고 title 등을 적용하는 곳 . 2- 1 . 외부 소스와의 관계를 정의할때 쓰인다고한다. 헤드 태그안에만 들어갈 수 있으며 주로 외부 css 입힐때 쓰는 가 봄. 링크 태그안에는 rel , href , integrity , crossorigin이 있는데 rel : 외부소스와 어떤관계인지를 정의 href : 외부 리소스의 url integrity: sha로 인코딩된..
Django나 플라스크 없이 간단하게 api 서버를 만드는 법 정리. 먼저, 정적 웹서버를 띄우는법은 http.server 클래스를 이용하면 됨. python3 -m http.server {PORT번호} 와 같은 형식으로 쉘에서 실행해주면 다음과 같이 index.html 혹은 index.hml 파일을 디렉토리내에서 찾아서 html파일을 리턴하게 된다. 만일 index.html 파일이 없을 경우 커맨드를 실행한 디렉토리의 파일들을 보여주게 됨. 다음으로 특정 엔드포인트 (test) 에 접근했을때 test.htm (파일) 을 리턴하도록 만들어 볼 것이다. server.py라는 파일을 다음과 같이 작성하고. 같은 디렉토리내에 test.html 을 자유롭게 만들어주면 된다. import http.server i..
Socket을 이용해서 간단한 채팅 프로그램 만들기! 1. Server.py ( 채팅서버 ) import socket from _thread import * client_sockets = [] HOST = 'localhost' PORT = 9099 print("Server Start") server_socket = socket.socket(socket.AF_INET , socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1) server_socket.bind((HOST, PORT)) server_socket.listen() def threaded(client_socket, addr): print('>> Co..