이 포스팅은 <SNS 앱을 만들면서 배우는 안드로이드 클라이언트 개발>, 장성환, 비제이퍼블릭(2022)을 읽고 개인 학습용으로 정리한 글입니다.
UI 디자인 전용 프로그램 Adobe XD 또는 스케치로 디자인
제플린(Zeplin)으로 공유 또는 협업 디자인 툴 피그마(Figma) 사용
구글 머티리얼 디자인
API(Application Programming Interface):
-> 소프트웨어를 다른 소프트웨어가 사용할 수 있도록 제공하는 인터페이스
-> 플랫폼과 언어에 상관없이 사용할 수 있게 하기 위해 HTTP 프로토콜을 기반으로 만드는 경우가 많음
오픈 API
파이썬에서 별다른 설정 없이 패키지 관리자로 라이브러리를 설치하면
-> 파이썬 런타임이 공유하는 site-packages에 설치됨
-> 여러 프로젝트들이 서로 다른 버전의 라이브러리를 사용하려 할 때 충돌 발생
-> 가상환경을 만들어 프로젝트마다 독립된 파이썬 사용하기
윈도우 프롬프트 실행
-> daily-q-server 폴더로 이동
-> 내장된 venv를 이용해 가상환경 만들기
C:\...\daily-q-server\python -m venv vecv
C:\...\daily-q-server>venv\Scripts\activate.bat
(venv)C:\...\daily-q-server>
(venv)C:\...\daily-q-server>venv\Scripts\deactivate.bat
(venv)C:\...\daily-q-server>pip install -r requirements.txt
aniso8601==9.0.1
atomicwrites==1.4.0
attrs==20.3.0
bcrypt==3.2.0
#cffi==1.14.4
click==7.1.2
colorama==0.4.4
cryptography==3.4.6
Flask==1.1.2
Flask-Bcrypt==0.7.1
Flask-JWT-Extended==4.1.0
flask-marshmallow==0.14.0
flask-restx==0.2.0
Flask-SQLAlchemy==2.5.1
importlib-metadata==3.1.1
iniconfig==1.1.1
itsdangerous==1.1.0
Jinja2==2.11.2
jsonschema==3.2.0
MarkupSafe==1.1.1
marshmallow==3.10.0
marshmallow-sqlalchemy==0.24.2
packaging==20.7
pluggy==0.13.1
py==1.9.0
pycparser==2.20
PyJWT==2.0.1
pyparsing==2.4.7
pyrsistent==0.17.3
pytest==6.2.2
pytest-mock==3.5.1
pytz==2021.1
six==1.15.0
SQLAlchemy==1.4.2
toml==0.10.2
webargs==7.0.1
Werkzeug==1.0.1
zipp==3.4.1
marshmallow-enum==1.5.1
firebase-admin==5.0.1
(venv)C:\...\daily-q-server>flask run
Daily Q는 API 테스트를 위해 Swagger로 생성된 도구 제공
flask run 명령으로 실행된 개발용 서버는 127.0.0.1 주소로만 접근 가능
10.0.2.2를 사용하면 에뮬래이터에서 실행중인 PC의 루프백 주소로 연결 가능