본문 바로가기

프로그래밍

(37)
fast api 파이썬의 고성능 프레임워크 퇴근 후에, 이것 저것 하나씩 건드려 보고 있던차에 아주 좋은 프레임워크를 발견했습니다. 바로 fast api라는 프레임 워크 입니다. 제가 생각하는 (저 아직 아는 것 많이 없습니다) 장점들을 공유하고자 합니다. 1. api 문서가 자동으로 생성됩니다. 저는 nest js + graphql으로 api 서버 개발을 시작했었는데, 지금의 회사에서는 django + rest api로 개발을 진행하고 있습니다. graphql로 개발을 진행할때에는 api 문서를 자동으로 생성 해 주어서 프론트 개발자와의 협업이 정말 편리했는데 django등의 대부분의 프레임워크는 api 문서를 생성해주지 않습니다. 따라서 프론트엔드 개발자와의 원활한 소통을 위해서 조금 더 많은 시간을 사용해야 했습니다. 그런데 fast api..
python celery 속도 향상 시키기 보호되어 있는 글입니다.
주니어 개발자의 golang 서버 개발일지 -3 웹소켓을 이용한 채팅방 만들기. 본 글은 다음의 자료를 참조하여 작성 하였습니다. www.slideshare.net/SangikBae/golang-websocket-109095156 서버 사이드의 코드만 작성하도록 하겠습니다. 왼쪽의 사진과 같이 총 3개의 파일로 이루어진 채팅방을 만들 계획입니다. 우선 main.go 를 살펴 보도록 하겠습니다. func main() { r := newRoom() http.Handle("/room", r) go r.run() http.ListenAndServe(":8000",nil) } 우선 room은 추후에 만들 코드이고, 우선은 room 이라는 것을 만들어서 실행시키는 것이 main의 모든 기능입니다. 그럼 room.go의 코드를 작성해 보도록 하겠습니다. room 은 client의 배열을 가지는 ..
주니어 개발자의 go랭 서버 개발일지 -2 웹소켓 생성 및 읽고 쓰기 websocket은 서버와 클라이언트 간에 Socket Connection을 유지해서 양방향 통신이 가능하게 하는 기술입니다. * websocket에 대해서 잘 설명해놓은 다른 글들이 많으니 자세히 설명하지는 않겠습니다. 1. go lang 으로 웹소켓 구현하기! * websocket 은 gorilla web toolkit에 있는 websocket을 사용 하였습니다. 기본적인 웹소켓 연결 package main import "github.com/gorilla/websocket" var upgrader = websocket.Upgrader{ ReadBufferSize: 256, WriteBufferSize: 256, } func main(){ conn, err := upgrader.Upgrade(w, r,..
주니어 개발자의 go랭 서버 개발일지 -1 프로젝트 회고 개발 해야 하는 것- 웹소켓을 활용한 실시간 주식 시세 서버 프로그램 동작 순서 --> 클라이언트에서 시세를 받고 싶은 주식들의 리스트 전달 --> 그 종목에 대한 지속적인 시세를 전달하기 위해서 cronjob 등록 --> 일정 시간마다 시세를 클라이언트에게 전달 해결 해야 하는 것. 1.websocet 생성하기 2. go 서버와 db 연결 3. 주식 시세의 메모리 캐싱 (여러 클라이언트에게 주식의 시세를 보내기 때문에 중복값들은 최대한 캐싱) 4. 일정 시간마다 클라이언트로 시세 데이터 전송하기 어려웠던 사항. 1. 웹소켓의 개념이 생소했다. 2. 인터넷에 있는 대부분의 예제는 메아리 서버 또는 다중 클라이언트와 소통하는 서버였다. (1:多) 내게 필요한건 수많은 1:1 연결 (어려웠던 사항 1번과 연..