일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 코루틴
- aggregate
- CD
- Continuous Delivery
- docker
- aws
- Coroutine
- F객체
- DjangoCache
- nestedfunction
- racecondition
- testcase
- EC2
- dry-yasg
- DRF
- CI
- Python
- 백준
- apitestcase
- django
- database
- QuerySet
- DjangoRestFramework
- Continuous Deployment
- 도커
- Prefetch_related
- Git
- annotate
- to_attr
- Transaction
- Today
- Total
목록분류 전체보기 (68)
BackEnd King KY

✔️Intro 디자인패턴-아키텍처패턴-MSA까지 이어지는 내용의 포스팅입니다. 디자인 패턴의 출처는 이기적 정보처리기사 실기책입니다. 아키텍처 패턴은 MVC에 대해 포스팅 할 예정이며 towardsdatascience를 참고했습니다. MSA는 RedHat을 참고했습니다. ✔️디자인패턴 소프트웨어 개발 중 나타나는 과제를 해결하기 위한 방법 중 한 가지이며 자주 사용하는 설계 형태를 정형화하여 유형별로 설계 템플릿을 만들어 둔 것을 의미합니다. 다양한 SW를 개발할 때 공통되는 설계 문제가 존재하는데, 각 해결책 사이에도 공통점이 있으며 이러한 유사점을 패턴이라고 합니다. 객체 지향 프로그래밍 설계 시 유사한 상황에서 구조적인 문제를 해결할 수 있도록 방안을 제공합니다. 디자인패턴 덕분에 개발자 간 원활한..

✔️Intro 오늘은 TDD(Test-Driven-Development, 테스트 주도 개발)에 대해 포스팅해보겠습니다. 저희 회사에서도 서버 개발팀 방향성에 포함된 것 중 하나가 테스트 코드를 통한 테스트 방법 개선이고, 저 역시 프로젝트를 해보며 Unit Test를 하다 보니 테스트 코드를 작성해놓는 것에 대한 중요성을 알고 있었습니다. 그래서 TDD에 대한 간단한 설명과 Django의 공식문서를 보고 Unit Test를 진행해보겠습니다. ✔️Testing Pyramid 우선, 테스트의 경우 3가지로 분리됩니다. E2E Test(UI Test), Integration Test, Unit Test인데 아래 그림을 보고 각 테스트에 대해 설명을 하겠습니다. 이 그림은 Google Test Automatio..

✔️What is Indexing? 위키백과에 따르면, 인덱싱이란 테이블에 대한 동작 속도를 높여주는 자료 구조를 일컫는 말입니다. 인덱스는 테이블 내의 1개의 컬럼 혹은 여러 개의 컬럼을 이용하여 생성될 수 있습니다. 고속 검색뿐만 아니라 레코드 접근과 관련 효율적인 순서 매김 동작에 대한 기초를 제공합니다. 인덱스를 저장하는 데 필요한 디스크 공간은 보통 테이블을 저장하는 데 필요한 디스크 공간보다 작습니다. 왜냐하면 보통 인덱스는 키-필드만 갖고 잇고, 테이블의 다른 세부 항목들은 갖고 있지 않기 때문입니다. 그래서 인덱스로 지정된 컬럼에 대해 조회를 할 때 별도로 저장된 디스크에서 먼저 찾고 저장된 실제 테이블로 찾아갑니다. 말 그대로 목차 그 자체라고 볼 수 있습니다. 책에서 목차를 통해 원하는..

✔️Intro AWS EC2를 이용한 배포를 할 때 SSH에 대해 들어본 후, 회사 입사 후 Repository를 Clone받을 때 한 번 더 봤습니다. 그래서 SSH에 대해 알아보고, 저희 회사 Repository를 제 개인 노트북에 Clone받도록 하겠습니다. ✔️SSH란? Secure SHell의 줄임말로, 두 컴퓨터 간 통신을 할 수 있게 해주는 Protocol입니다. 프로토콜은 HTTP에 대해 처음 공부를 하면 듣게 되는 단어로 한 번씩은 들어보셨을겁니다. 다 알고 계시겠지만 복습 겸 다시 정의에 대해 설명하면, 프로토콜이란 서로 다른 통신 장비 간 주고 받는 데이터의 양식과 규칙을 말합니다. 우리가 HTTP통신을 할 때 프로토콜을 사용하듯이, Shell 통신을 하기위해 필요한 프로토콜입니다. ..

✔️Intro 2월 24일 AWS에서 하는 AI&ML 온라인 컨퍼런스가 있었습니다. 어떻게 보면 제가 백엔드 개발자가 된 것도, 그 중 파이썬을 배우게 된 것도 AI&ML의 영향이 커서 듣고 싶었는데, 그 때 업무 중이라 듣지 못 했습니다. AWS에서 감사하게도 다시보기를 제공해줘서 쉬는 날 보게 되었습니다. 다시보기는 3월 31일까지라고 합니다. 발표는 AWS에서 AI&ML 기술 지원을 담당하고 계신 문곤수님께서 해주셨습니다. ✔️Index 머신 러닝 개요 및 데이터 준비의 중요성 CSV 포맷 데이터 준비 및 ML Workflow 프로토타이핑 이미지 데이터 준비 및 ML Workflow 프로토타이핑 ✔️1. 머신러닝 개요 및 데이터 준비의 중요성 가장 일반적인 ML 프로세스입니다. 문제 정의 후 데이터..

✔️ Continuous Delivery : 지속적 제공 CI의 빌드 자동화, Integration & Unit Test 수행 후 이어지는 CD 프로세스에서는 유효한 코드를 Repository에 자동으로 배포합니다. 그러므로 CD를 위해선 당연히 CI가 먼저 실현되어 있어야 하며, 지속적 제공의 목표는 프로덕션 환경으로 배포할 준비가 되어 있는 코드를 확보하는 것입니다. 지속적 제공의 경우, 코드 변경 사항 병합부터 프로덕션에 적합한 빌드 제공에 이르는 모든 단계에는 테스트 자동화와 코드 배포 자동화가 포함됩니다. 이 프로세스를 완료하면 보다 빠르고 손쉽게 애플리케이션을 배포할 수 있게 됩니다. 즉, 지속적 제공이란 개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 Repository에 자..

✔️Intro CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제를 해결하기 위한 솔루션이며, 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축사례를 일반적으로 CI/CD 파이프라인 이라고 부릅니다. 이번 글은 RedHat을 참고하여 작성했습니다. ✔️CI 란? Continuous Integration의 약자로 지속적 통합이라는 뜻을 가지고 있습니다. 우리는 개발할 때 각자만의 작업공간은 Branch를 만들어서 동시에 작업합니다. 작업 후 Merge를 할 때, 특정한 날에 ..

✔️ Intro 인증이라는 단어는 일상에서 많이 들어보셨을겁니다. 하지만 단어에 대해 알고 있어도 그 내부절차나 시스템에 대해 깊게 공부해본 적이 없어서 이번 포스팅을 쓰게 되었습니다. 인증의 경우, 서버 기반으로 인증하는 방법과 토큰 기반으로 인증하는 방법이 있습니다. 기존에는 서버 기반 인증이 많이 사용되었으나, 이제는 토큰 기반 인증을 더 많이 사용하고 있습니다. 서버 기반 인증에 대해 설명한 뒤, 토큰 기반 인증에 대해 작성하겠습니다. 벨로퍼트를 참고하여 작성했습니다. ✔️ 서버 기반 인증 서버 기반 인증은 서버에서 유저 정보를 기억하고 있다가 인증해주는 시스템입니다. 기본적으로 서버에서 유저 정보를 저장하고 있어야 하기 때문에 많이 들어보셨을 쿠키, 세션을 사용하게 되는 것입니다. 쿠키와 세션의..