반응형

Dev 32

GraphQL - S3에 이미지 업로드(S3 Image File Upload)

안녕하세요. 2021년의 새해가 밝았습니다! 시간이 너무 빠르네요. 올해에도 작년처럼 자주는 아니더라도 꾸준한 포스트를 작성하는게 목표 중 하나입니다. 이번에는 GraphQL에서 이미지를 업로드하고 S3에 저장해 보는 과정을 소개드리도록 하겠습니다. 전에 Python 언어의 Flask를 활용해 S3로의 이미지 업로드를 소개한 적이 있는데, 비슷하면서도 Node.js & GraphQL만의 특징이 느껴졌습니다. 1. GraphQL에서 업로드하기 위한 설정(Apollo Server를 활용하기) 먼저 GraphQL과 같이 활용되는 Apollo Server에는 파일을 업로드 하기 위한 별도의 라이브러리가 내장되어 있습니다. 저의 경우에는 GraphQL Yoga를 활용하기 때문에 Apollo Server가 Defa..

Dev/GraphQL 2021.01.04

Python으로 Crawling 준비하기(Beautifulsoup4, Selenium 설치 & Chromedriver 설정)

안녕하세요. 이번 포스트는 Python으로 크롤링을 준비하기 위해 필요한 과정을 기술해보도록 하겠습니다. 이 전에 Beautifulsoup과 Selenium으로 크롤링 하는 과정을 예시로 설명하였는데요. 다시 포스트를 보니 정작 중요한 초기설정 및 설치가 빠져 있었습니다. 하나씩 설명 드리도록 하겠습니다. + 현재 개발중인 회사에서도 크롤링을 많이 활용할 것 같아 크롤링에 대한 포스트가 조금 더 다양하게 올라오지 않을까 하는 생각입니다. 1. miniconda로 크롤링 가상환경 생성하기 먼저 conda 또는 miniconda(미니콘다)를 생성 해주도록 하겠습니다. Python을 Server 또는 개인 PC에 바닐라로 설치해 사용해도 좋지만, 다양한 프로젝트를 하다보니 각각 가상화된 환경을 만들어 사용할 ..

Dev/Python 2020.10.24

GraphQL 특징 & 입문하기

다음주 월요일(20.10.12) 부터 개발자로 새로 시작하는 곳의 기술 스택은 Node.js, GraphQL, Apollo, Prisma 입니다. 기존에 JavaScript 같은 경우 코딩테스트와 같은 특정상황에서만 사용하였고, 위 기술스택은 들어만 본 상황입니다. 시작하기도 전에 겁을 먹으면 안 되겠지만, 현재는 위 기술 스택에 대해 지식이나 경험이 부족한 상황입니다. 그렇지만, 새로운 기술 그것도 GraphQL이라는 지금 까지와는 사뭇 다른 형태의 API를 생성 해주는 기술 스택을 배운다는 것이 기대됩니다. GraphQL에 대한 몇 가지 특징을 짚어보겠습니다. 이 내용은 GraphQL 공식 튜토리얼 사이트 how to graphql에서 확인한 내용에 제 주관적인 생각을 더 해봤습니다. 1. Graph..

Dev/GraphQL 2020.10.07

Flask(python) - Image 사이즈 별 S3 저장 및 URL Link 저장하기

안녕하세요. 이번 포스트는 Flask(Python)에서 Image(이미지)를 사이즈 별로 AWS S3에 저장하고 각 URL Link를 MYSQL(RDB)에 저장하는 과정 및 코드를 포스팅 해보겠습니다. 1. 프로젝트 및 구조 소개 1-1. 프로젝트 소개 지난번 포스트에서도 비슷한 글을 올렸지만 변경된 부분도 있고 조금 더 자세히 설명 드리고자 합니다. 본 프로젝트는 Brandi라는 다양한 브랜드를 모아 놓은 여성 쇼핑몰 브랜디의 사용자 및 관리자 페이지를 클론하는 프로젝트 입니다. 1-2. Layered Architecture 프로젝트의 Layered Atchitecture는 아래 Tree 구조와 다음과 같습니다.(Layered Architecture에 대한 자세한 설명은 위의 링크 포스트에 기술되어 있..

Dev/Flask 2020.08.31

Django Rest Framework

안녕하세요. Django 카테고리로 포스트를 작성해보겠습니다. 이번에는 Django를 사용한다면 많이 들어봤을 Django REST Framework(이하 DRF)를 간략하게 소개 해보겠습니다. 1. DRF란 무엇인가? 앞서 정의한 약자 대신 DRF가 실제로 어떤 역할을 하는지를 살펴보겠습니다. 먼저 Django에서 RESTful한 API를 생성하기 쉽게 도와주는 역할을 합니다. 그렇다면 도대체 어떤역할을 하는지 더 자세히 보겠습니다. 참고로 DRF도 Django가 설치되어야 실행됩니다. 즉 별개의 module이 아닌 python 위에서 수행된다는 것 입니다. 1.1 json의 De/Serialization을 지원한다. DRF를 사용하는 이유 중 하나입니다. Serialization/Desearializ..

Dev/Django 2020.08.24

Flask - Basic + Layered Architecture

안녕하세요. 이번 포스트는 Flask(플라스크)에 대해서 다뤄보겠습니다. Flask가 어떤 역할을 하는지에 대한 기본적인 이해와 특별히 Layered Architecture에 대해 이해 해보겠습니다. 1. Flask와 특징들 Flask는 Python으로 만들어진 Web Application 구현에 사용되는 Frame Work 입니다. 특징 될 만한 것으로 다음과 같은 것이 있습니다. 1.1 micro web framework 말 그대로 아주 가벼운 web framework 입니다. 제 블로그의 카테고리 중 하나인 Django도 Flask와 동일하게 Python 기반의 web freame work 이지만, Django는 다양한 기능 등을 제공하기에 상대적으로 무겁습니다. 하지만 이에 반해 Flask는 상대..

Dev/Flask 2020.08.23

Elasticsearch와 Django를 연동해 검색 API 개발

안녕하세요. 이 포스트는 시리즈로 구성되어있습니다. 이번 포스트는 지난 포스트의 로그인/회원가입, 소셜로그인을 이어 검색 API에 대해서 작성해보겠습니다. 검색 API를 적용해본 것은 기존에도 ElasticSearch를 비롯한 ELK(ElasicSearch, LogStash, Kibanna) 기술 스택에 관심이 있었고 1차로 진행한 프로젝트에서 새로운 것을 적용해보자는 마음이 있었습니다. elasticsearch(엘라스틱 서치)에 대해 간략하게 소개하자면, 오픈소스의 검색엔진입니다. 자세한 건 추후에 포스트 할 기회가 있다면 하도록 하겠습니다. 구현한 과정 절차 따라 서술하도록 하겠습니다. 제가 reference 한 글은 https://blog.nerdfactory.ai/2019/04/29/django-..

Dev/Django 2020.08.17

WebSite(Class101) Clone Project - Part2.구현 파트 정리(회원가입/로그인 소셜로그인)

안녕하세요. 이 포스트는 시리즈로 구성되어있습니다. 저번 포스트에 이어서 작성하도록 하겠습니다. 클래스 101이라는 사이트에서 제가 맡은 파트에 대해 대략적인 리뷰와 코드를 작성하는 형태로 포스팅을 하겠습니다. 1. user(account)의 회원가입/로그인 가장 기본이 되는 회원가입/로그인이지만 회원가입 때는 특별히 Regular Expression(정규표현식)으로 Validation check를 했습니다. 저는 Django에 내장되어 있는 django.core.validators 라이브러리의 RegexValidator를 import해 사용했습니다. 각 validator는 다음과 같이 선언하고 예외 체크를 했습니다. class SignUpView(View): def post(self, request):..

Dev/Django 2020.08.17

WebSite(Class101) Clone Project - Part1.시작&나의 역할

안녕하세요. 이 포스트는 시리즈로 구성되어있습니다. 2주간의 1차 프로젝트 기간 동안 시행착오가 정말 많았습니다. 스스로 생각하기에 IT 전공인이 맞는가 하고 의심될 정도로 아쉬운 부분이 많았습니다. 그만큼 현업으로의 개발과 IT 운영과는 비슷하지만 또 다르다는 생각입니다. 아래는 1차 프로젝트의 회고 및 소개글입니다. WebSite(wiselyshave) Clone Project - Part1. 시작&데이터 모델링 WebSite(wiselyshave) Clone Project - Part.2 Data Modeling & End Point Refactoring WebSite(wiselyshave) Clone Project - Part.3 views.py Refactorin WebSite(wiselysha..

Dev/Django 2020.08.09

Django - UnitTest

안녕하세요. 이번 포스트에서는 Django UnitTest(유닛테스트)를 활용한 테스트를 소개해보겠습니다. 1. UnitTest(유닛테스트) 란? 먼저 유닛테스트에 대한 소개를 하겠습니다. 유닛테스트란 작성한 코드의 가장 작은 단위인 Method나 Function을 테스트하는 메소드 입니다. 그래서 작성한 로직을 테스트하는 유닛테스트 코드를 작성하여 테스트하게 됩니다. 유닛테스트는 아래 피라미드 구조도와 같이 가장 기본이 되는 테스트로 전체 테스트의 70%를 차지하는 모든 테스트의 기반과 같은 역할을 합니다. 2. UnitTest를 사용하는 이유(장점) 유닛테스트도 결국에는 Python 프로그램을 만들어야 하는 번거로움이 있는데 기존에 활용하던 Postman(포스트맨)이나 httpie를 활용하면 되지 않..

Dev/Django 2020.08.09
반응형