기본 콘텐츠로 건너뛰기

9월, 2023의 게시물 표시

[Flutter](2023.09.19) Android 폰 Flutter로 개발한 앱에서 Local host 에 구축된 API 서버 접속하기

[Flutter] Android 폰 Flutter로 개발한 앱에서 Local host 에 구축된 API 서버 접속하기 안녕하세요. 클스 입니다 요즘 flutter를 공부하면서 앱 개발을 하고 있습니다. REST API는 macos에 fastapi로 개발했고 포트는 8001로 실행했습니다. 아래 그림과 같이 실제 device(폰)을 mac에 usb로 연결해서 mac에 있는 rest api 서버에 접속해야 합니다. 그리고 rest api 는 VPC를 통해 AWS의 RDS에 연결됩니다. 여러가지 연결방법이 소개되었는데, localtunnel 등은 내부 방화벽에서 막아서 안되네요~ 그래서 찾은것이 adb 의 고유 기능입니다. 요즘엔 에물레이트로 개발을 많이해서 잘 쓰진 않지만, 에물레이트에 카카오톡을 설치하기가 쉽지 않습니다. 연결 해서 테스트 해보기 1) android sdk 설치 및 경로 잡아주기 2) 터미널에서 $ adb reverse tcp:8001 tcp:8001     8001  ==> 이게 나오면 성공 3) fastapi 실행 : reverse tcp port와 같이 맞춰야 합니다.    $ $ APP_ENV=local uvicorn app:app --host "0.0.0.0" --port "8001" --reload  4) 스마트폰에서 크롬을 실행하고     http://127.0.0.1:8001/docs 접속하면 API 명세가 나오면 성공입니다. 이상 클스 였습니다.

[NFC 스티커] 생활 편리하게 만드세요~

[NFC 스티커] 생활을 편리하게 만드세요~ 안녕하세요 클스 입니다. 다양한 공간에서 휴대폰에 특정 앱을 실행하거나 명령을 해야 한다면 ? 1) 차에서 충전을 할 때 티맵 자동실행 2) 책상위에 폰을 올려두면 음악 나오기 3) 침대위에 올려두면 무음 모드 아래 유투브에서 보면 엄청나게 활용도가 많습니다. https://www.youtube.com/watch?v=ajcODPlpms4 쿠팡에서 구매 가능하며, 디자인이 들어간 것과 단순한 스티거 2종 소개 드려요~ "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 구매를 원하시면  이미지를 클릭하시면 됩니다. 1) 디자인이 좀 된 것 2) 맥세이프 호환   3) 단순 스티커 이상으로 생활에 유용한 NFC를 소개해 드렸습니다. 저도 해보니 생각보다 쉬웠고, 차에 붙혀두니 바로 목적이로 안내가 가능해서 자주가는 배드민턴 구장 , 회사, 집 3개를 해뒀어요~ 그럼 즐거운 주말 보내세요~

[FastAPI] socket.io with fastapi_socketio (feat:python-socketio, saw: 톱 2종)

안녕하세요 클스 입니다. 팀에 하나의 제품을 개발할 때 인력이 약 15명 이상 있을 경우 react, vue, flutter등  선택의 폭이 넓어집니다. 그런데 애매하게 5~8명이 back-end, front-end, db, infra  전부 하면서 web, android, ios 앱을 개발하기엔 쉽지 않습니다. 우리는 무엇을 선택하면 좋을까요?  현재 우리팀은 FastAPI, vuejs 를 기본으로 사용하고 있는데.. vuejs가 아직 react의 방대함 그리고 커뮤니티를 따라가지는 못하는  듯합니다. 확실히 react 보다는 사용하기는 제 경우는 쉬웠습니다. 사설이 길었네요~ 여하튼 이번에는 웹에서 실시간으로 사용자에게 알림(시스템 변경, 작업 완료...)을  실시간으로 전달하기위해 많이 사용하는 websocket과 socketio가 있는데 둘의 확실한 선택 기준은 서비스 환경에서 통신에 문제가 있는가 없는가에 따라 다릅니다. socketio는 통신이 막히면 가능한 방식을 찾아서 연결해서 사용자에게 메시지를 전달합니다. HTTP long polling 방식으로 전달을 합니다. 문제는 주기적으로  long polling를 합니다. 그리고 socketio client를 사용하면 서버가 재시작되면 자동으로 다시 연결해줍니다.  개발자 입장에서는 확실히 좋은 기능입니다.  그외 방기능, 브로드캐스팅, 속삭임등등 일반 채팅방을 쉽게 구현할 수 있습니다. 또한 일반적으로 kafka, redis 와 다양한 mq 서버들과 연동이 가능합니다. 1. 목표 간단한 채팅방이 가능한 채팅 기능을 만들어 본다 fastapi에서 socketio를 많이 사용을 안 하는지? 업데이트가 잘 안되고 있어서 github등의 예제로는 404 Not Found, 403 등의 오류가 나서 접속이 안되었다 => 이것 때문에 쓴 글이기도 하다 2. 사용 socket.io 기반으로 python-socketio를 fast...