일하는 50

Django REST Framework : (1) Serialization

원문은 Django REST Framework 공식 페이지 🏠 https://www.django-rest-framework.org/tutorial/1-serialization/ 에서 확인할 수 있습니다. Introduction 이 튜토리얼에서는 pastebin과 같은 간단한 코드 하이라이팅 Web API를 만들어 보자. 이를 통해 DRF의 다양한 기능을 살펴보고, 각 기능들이 어떻게 결합되어 동작하는지 이해할 수 있다. Setting up a new environment 항상 시작하기 전에, 가상 환경을 만들도록 한다. 이를 통해 우리의 패키지 환경이 항상 독립적으로 관리될 수 있다는 사실을 잊어서는 안 된다. $ python3 -m vevn env $ source env/bin/activate 새로 만..

마이크로 서비스 아키텍처 (Microservices Architecture: MSA)

마이크로 서비스 아키텍처 (Microservices Architecture: MSA)는 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처를 의미한다. 마이크로 서비스 아키텍처를 이해하기 위해서는, 모놀리틱 아키텍처(Monolithic Architecture)와 서비스 지향 아키텍처 (Service Oriented Architecture: SOA)를 함께 알아보자. 모놀리틱 아키텍처 (Monolithic Architecture) 모놀리틱 아키텍처 (Monolithic Architecture)는 기존의 전통적인 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 로직이 들어가 있는 구조로 구성되어 있다. 이렇게 구성된 애플리케이션의 소스 코드는 하나의 ..

Django REST Framework : Tutorial (3)

https://ungodly-hour.tistory.com/20 Django REST Framework : Tutorial (2) https://ungodly-hour.tistory.com/19 Django REST Framework : Tutorial (1) Django Django는 Python으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로, 풀 스택을 지원한다. Python 기반의 웹 프레임워크 중.. ungodly-hour.tistory.com Migrate 서버를 실행하기 전, DB를 migrate 한다. (최초 실행 혹은 애플리케이션의 Model이 변경될 경우, 해당 변경을 DB에 알려주기 위함) (env) tutorial $ python manage.py migrate Model이 변경된..

Django REST Framework : Tutorial (2)

https://ungodly-hour.tistory.com/19 Django REST Framework : Tutorial (1) Django Django는 Python으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로, 풀 스택을 지원한다. Python 기반의 웹 프레임워크 중 가장 널리 사용되고 있으며, 일반적으로 Python을 웹 서비스에 사용한 ungodly-hour.tistory.com 이번 튜토리얼에서는 사용자 및 그룹 정보를 추가(Create-POST)/조회(Read-GET)/수정(Update-PUT)/삭제(Delete-DELETE) 할 수 있는 애플리케이션을 만들어 보자. Model 우선, 가장 먼저 우리가 구현할 애플리케이션에서 사용되는 Resource에 대한 DB 모델을 설계한다. 일반..

Django REST Framework : Tutorial (1)

Django Django는 Python으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로, 풀 스택을 지원한다. Python 기반의 웹 프레임워크 중 가장 널리 사용되고 있으며, 일반적으로 Python을 웹 서비스에 사용한다고 하면, 대부분 Django 또는 Flask를 사용하고 있을 것이다. Django와 Flask의 차이는 풀 스택 프레임워크 여부 정도이며 두 프레임워크 모두 매우 간편하게(?) 사용이 가능하다. Django와 관련된 자세한 내용은 공식 홈페이지 🏠https://www.djangoproject.com/ 에서 확인이 가능하다. Django는 MVT (Model View Template) 패턴을 이용, 데이터베이스와의 연동을 간편하게 지원한다. MVT 패턴은 일반적으로 웹 프레임워크에서 ..

How To Use Google Mock (gmock)

Google Test (gtest)에서 제공하는 gmock의 기본적인 사용법에 대해 설명한다. 본 문서는 Ubuntu 18.04 환경 기준으로 작성되었다. (gtest 라이브러리가 설치되어 있다는 가정 하에 작성) gmock library와 관련된 자세한 내용은 🏠 https://github.com/google/googletest 에서 확인할 수 있다. 우리가 만드는 Target 이라는 프로그램이 ExternalInterface 를 이용하여 서버나 데이터베이스, 또는 다른 외부 라이브러리를 이용한다고 가정해 보자. ExternalInterface 는 다음과 같이 3가지 기능을 제공한다. // 외부 dependency를 갖고 있는 인터페이스 // server connection 이나 system, DB 관..

일하는 2020.08.28

How To Use Google Logging Library (glog)

glog의 기본적인 사용법에 대해 설명한다. (원문: http://rpg.ifi.uzh.ch/docs/glog.html) 본 문서는 Ubuntu 18.04 환경 기준으로 작성되었다. glog library와 관련된 자세한 내용은 🏠 https://github.com/google/glog 에서 확인할 수 있다. Install google-glog 사용을 위해 다음과 같이 설치를 진행한다. $ sudo apt update $ sudo apt install libgoogle-glog-dev +) MacOS의 경우 다음과 같이 설치할 수 있다. $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < ..

일하는 2020.08.28

[BAE/<JOON>][백준][#8913] 문자열 뽑기

https://www.acmicpc.net/problem/8913 8913번: 문자열 뽑기 a와 b로만 이루어진 문자열 s이 있다. 그룹은 같은 글자로 이루어진 가장 긴 연속 부분 문자열이다. 길이가 2 이상인 s의 모든 그룹 g는 제거할 수(뽑을 수) 있고, 남은 왼쪽 부분과 오른쪽 부분을 � www.acmicpc.net 문제 a와 b로만 이루어진 문자열 s이 있다. 그룹은 같은 글자로 이루어진 가장 긴 연속 부분 문자열이다. 길이가 2 이상인 s의 모든 그룹 g는 제거할 수(뽑을 수) 있고, 남은 왼쪽 부분과 오른쪽 부분을 연결해서 새 문자열을 만들 수 있다. 이러한 과정은 문자열이 빈 문자열이 되거나, 길이가 2 이상인 그룹이 없을 때 까지 계속한다. 예를 들어, s = babbbaaabb일 때, ..

[BAE/<JOON>][백준][#1003] 피보나치 함수

https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)..

[BAE/<JOON>][백준][#10989] 수 정렬하기 3

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 예제 출력 10 5 2 3 1 4 2 3 5 1 7 1 1 2 2 ..