반응형

old 37

[FastAPI] 3. FastAPI - MariaDB(MySQL) Restful API / CRUD

지난 포스트에서 SQLalchemy를 활용하여 FastAPI와 MariaDB(MySQL)을 연동하는 방법과 Docker Compose를 활용하여 실행시키는 방법까지 알아보았습니다. 본 포스트에서는 Restful API를 통해 간단하게 CRUD를 어떻게 구현하였는지 살펴보겠습니다. 본 포스팅의 내용을 학습하기에 앞서 아래 내용이 이미 구현, 숙지되어 있음을 가정합니다. FastAPI - RDBMS (MariaDB / MySQL / PostgreSQL ...) 연동 참고 : FastAPI-RDBMS연동, FastAPI-RDBMS(Docker-compose) Restful API SQLalchemy orm python type hint 활용 1. Project 개요 프로젝트 구조 project_root │ ├..

old/WebProject 2022.09.26

[FastAPI] 2. FastAPI - MariaDB(MySQL) Docker Compose 로 연동, Project 구조 세팅

이전 포스트에서 local Docker Container에 띄워져 있는 MariaDB와 FastAPI를 연동하였습니다. 그런데 Project를 Heroku(또는 AWS)에 배포 한다고 생각했을 때 docker-compose로 배포하는 것이 낫다고 생각하였습니다. 문제는 제가 docker-compose를 사용한 적 이 없다는 것이었고 직접 연동해 보았습니다. docker-compose 적용을 결정하면서 docker-compose.yml 파일 하나로 DB, Backend, Frontend, nginx 세팅이 가능하도록 프로젝트 구조를 잡았습니다. 또한, Backend 내부적으로 보았을 때 유지보수성을 확보할 수 있는 구조를 고민하였습니다. 토이 프로트 처럼 작은 규모의 프로젝트의 구조를 정하는 작업은 언제나..

old/WebProject 2022.09.26

[FastAPI] 0. 프로젝트 개요

회사에서 Django를 사용해 Backend 개발을 한 지도 거의 2년이 되어가고 있습니다. 그 2년 중에서 제대로 써 본 것은 최근 5개월 정도 되는 것 같습니다. 많은 개발자들이 특정 기술을 사용할 때 반드시 적합한 이유가 있어야 한다고 말합니다. 그런 점에서 저는 이전 까지 '왜 Django여야 하는가?' 에 대한 고민을 단 한번도 하지 않았습니다. 회사에서 쓰고 있는 Backend 프레임워크에 대해 그 어떤 비판적 사고도 하지 않았습니다. Django가 불편하다 비판적 사고는 Django가 불편하게 느껴지면서 처음 시작 되었습니다. 사실 Django가 가지는 강력함은 정말 많습니다. 보안을 신경 쓸 부분이 줄어 들고 Admin 페이지를 자동으로 제공하며, 이미 완성된 수많은 기능은 개발을 편리하게..

old/WebProject 2022.09.15

Django - Swagger 연동하기 2편 - swagger parameter schema

안녕하세요. 글쓰는 개발자 입니다. 지난 번 Django - Swagger 연동하기 1편 - 기본설정에 이어서 swagger_auto_schema에 관해 세팅 방법을 몇 가지 소개하고자 합니다. Django - Swagger 연동하기 1편 - 기본 설정 안녕하세요. 글쓰는 개발자입니다. 토이 프로젝트를 진행하면서 비록 혼자 진행하지만 최대한 현업 실무에 가깝게 또는 더 나아가 실무에 적용하고 싶은 기술과 방법론 등을 실험하고 있는데요 backstreet-programmer.tistory.com 1편에서 API 문서화를 하는 이유는 Backend와 Frontend 간의 원활한 커뮤니케이션을 통한 비용 최소화에 그 목적이 있다고 말씀드렸습니다. 이를 위해서는 단순히 Swagger를 연동하고 별도의 페이지를 ..

Django - Swagger 연동하기 1편 - 기본 설정

안녕하세요. 글쓰는 개발자입니다. 토이 프로젝트를 진행하면서 비록 혼자 진행하지만 최대한 현업 실무에 가깝게 또는 더 나아가 실무에 적용하고 싶은 기술과 방법론 등을 실험하고 있는데요. 그 중 하나로 Swagger를 적용하는 것을 소개하려고 합니다. 저는 2022년 4월 현재, 1년 6개월의 개발 경력 중 세번 째 SI 프로젝트를 맡아서 진행하고 있습니다. SI 프로젝트를 진행하다보면 산출물로 문서를 많이 작성하게 되는데요. 문서 작성에 상당한 시간과 비용이 투입되는 것이 사실입니다. 그 중 저의 첫 번째 SI 프로젝트는 개발자만 약 30명 정도 투입되었는데요. API 문서화가 제대로 이루어지지 않아 커뮤니케이션 비용이 상당히 높았던 프로젝트 였습니다. 구글 스프레드시트에 일일이 Input/Output ..

[개발환경] 1. DB 서버 구축

프로젝트를 진행하기 위해 Docker Container를 띄워서 DB를 구축하기로 했습니다. Docker를 사용하는 이유는 배포를 용이하게 위해서 입니다. 처음부터, 개발 환경과 배포 환경을 나누어서 개발하면 좋겠지만 최종 목표인 AWS에 배포하는 단계에 대해서는 아직 학습이 필요한 상태 입니다. 어쩔 수 없이 저는 Local 환경에 DB 서버를 구축해서 개발을 진행해야 하는데요. 배포시 Docker Container만 옮기면 되는 장점을 활용하기 위해 Local 개발이지만 Docker를 활용하게 되었습니다. 아래 내용 참고하시어 여러분들도 Docker를 활용한 DB 서버 구축에 도움이 되셨으면 좋겠습니다. 1. MariaDB Image Pull 2. MariaDB Docker Container 생성 3..

토이 프로젝트를 시작한 이유

안녕하세요. 글쓰는 개발자 입니다. 제목에서 보다시피 저는 토이프로젝트를 진행 하려고 합니다. 업무를 하면서 프론트엔드 개발이 재밌고 더 적성에 맞아 요즘 회사의 프론트엔드 코드를 많이 살펴보고 버그픽스도 하나 씩 하고 있는데요. 현재는 업무에서 python django 백엔드 개발도 하고 있고 React로 개발된 기존 제품의 프론트엔드 유지보수도 맡아서 하고있습니다. 요즘 제가 크게 관심 갖고 있는 부분이 TDD인데요. 백엔드는 pytest를 활용해서 TDD를 실천 중인데 프론트엔드 제품은 테스트 케이스가 전혀 작성되어 있지 않은 상태입니다.(백엔드의 테스트코드도 형식만 갖춰졌을 뿐 손봐야 할 게 많습니다.) 프론트 개발자분들에게 "왜 테스트 케이스가 없나요?" 라고 바로 물어보기가 좀 그랬지만 용기내..

[컴퓨터과학/C언어] IEEE 754 double 형 변환 (64bit)

IEEE 754는 IEEE에서 개발한 컴퓨터에서 부동소수점을 표현하는 가장 널리 쓰이는 표준입니다. IEEE 754에는 32비트 단정도(single-precision), 64비트 배정도(double-precision), 43비트 이상의 확장단정도, 79비트 이상의 확장 배정도에 대한 형식을 정의하고 있습니다. 많은 프로그래밍 언어에서 IEEE 표준을 따르도록 정의하고 있으며, C에서는 float은 단정도, double은 배정도와 대응됩니다. 본 실습에서는 64bit double-precision 변환 과정을 살펴보겠습니다. 본래, 손으로 직접 계산한 것을 설명한 후, 손글씨 또한 첨부하겠습니다. 실습 숫자 : 8.5 1. 2진수 변환 1) 변환하고자 하는 숫자가 8진수, 10진수, 16진수든 상관없이 변..

old/ComputerScience 2020.05.29

하이퍼바이저 기반 서버 가상화 기술(4) - mariadb 설치

본 포스팅은 한국표준협회에서 주관하는 2020 산업융합형 인공지능 청년 혁신가 양성과정을 정리한 내용입니다. 모듈 2. 하이퍼바이저 기반의 서버 가상화 실습, 모크엠시스 이진호 강사님 목 차 1. mariadb 설치 2. maraidb 실행 및 동작확인 3. maraidb 환경설정 4. DB, 테이블 생성 및 데이터 입력 확인 1. mariadb 설치 - root 계정으로 전환 : su - - maraidb package 검색 : yum list | grep mariadb - mariadb 설치 : yum install mariadb* - 설치 중 [y/n] 문구가 나오면 y를 선택하고, 설치 완료 후 Complete! 확인 2. mariadb 실행 및 동작확인 - mariadb start : servi..

하이퍼바이저 기반 서버 가상화 기술(3) - Tomcat 설치 및 접속

본 포스팅은 한국표준협회에서 주관하는 2020 산업융합형 인공지능 청년 혁신가 양성과정을 정리한 내용입니다. 모듈 2. 하이퍼바이저 기반의 서버 가상화 실습, 모크엠시스 이진호 강사님 목 차 1. Tomcat 설치방법 2. FTP를 활용한 Tomcat 파일 전송 3. Tomcat 설치 및 접속 1. Tomcat 설치방법 1) FTP 사용 : FileZila 등을 사용하여 local PC에 직접 Download 후 FTP로 가상서버로 전송 (실습 방식) 2) wget - cd /tmp/lib - wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.5.9/bin/apache-tomcat-8.5.9.tar.gz 3) yum - tomcat 설치 확인 : y..

반응형