일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- Prefetch_related
- dry-yasg
- 코루틴
- Coroutine
- database
- F객체
- racecondition
- to_attr
- CD
- aggregate
- Transaction
- DjangoCache
- apitestcase
- 백준
- Continuous Delivery
- aws
- testcase
- nestedfunction
- EC2
- django
- Continuous Deployment
- DRF
- annotate
- DjangoRestFramework
- docker
- Python
- 도커
- QuerySet
- CI
- Today
- Total
목록CS (7)
BackEnd King KY

OS 백엔드 개발자라면 알아야 할 CS에 대해 공부중입니다. Django는 회사에서 하는 거로 충분히 할 수 있어서.. 그래서 첫 번째로 OS에 대해 공부하려고 합니다. 출처는 2022 이기적 정보처리기사 실기 2권 P266-267입니다. 운영체제의 개념 운영체제(OS, Operating System)는 사용자와 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어 일종입니다. 컴퓨터를 편리하게 사용하고 컴퓨터 하드웨어를 효율적으로 사용할 수 있게 합니다. OS는 스스로 어떤 유용한 기능도 수행하지 않고 다른 응용 프로그램이 유용한 작업을 하는 환경을 마련해주며, 대표적으로 MacOS, iOs, Android, Window 등이 있습니다. 인터페이스 : 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시..

alias를 zshrc에 등록해보자 카테고리를 뭘로 설정해야 할 지 몰라 CS로 했습니다.. 긱설하고 매번 터미널을 켜면 개발 폴더에 들어간뒤, 가상환경을 켜는 게 귀찮아서 alias에 등록을 했는데 다른 분들도 알고 게시면 좋을 것 같아서 작성하게 되었습니다. alias 등록하러 바로 슈웃 순서 일단 아래 명령어를 입력을 해야겠죠? vi ~/.zshrc 접속 후 쭉 내려보면 ohmyzsh, zshconfig의 alias 예시가 보일겁니다. 없어도 당황하지 마시고, 그냥 없는갑다 하시면 됩니다. 그리고 아래에 제가 사용 할 alias들을 추가했습니다. dockers라고 입력하면 Desktop -> Development -> dockers 라는 폴더로 이동한 뒤, dockers라는 가상환경을 켜고 dapi..

✔️Intro 백엔드 개발자 채용공고에서 빠질 수 없는 문구가 있습니다 바로 "RESTful API 기반 설계"입니다. 저 역시 위코드에서 프로젝트를 하기 위해 RESTful API에 대해 배웠습니다. 저희 회사의 경우, 일부 URL이 RESTful API의 규칙에 조금 맞지 않는 게 있어서 수정이 필요한 상황이었으며 회사 사수분이 RESTful API에 대한 지식을 넓힐 수 있는 방법으로 이 책을 추천해주셨습니다. ✔️기본배경 제가 위코드에서 배웠던 RESTful API 규칙은 크게 아래 다섯가지입니다. url은 페이지 기준이 아닌 자원 기준으로 작성한다. 동사로 작성하지 않는다. HTTP Method를 정의하기 때문에 url에 add, search 같은 걸 쓰지 않는다. 검색 키워드는 body를 통해..

✔️경쟁조건 Race Condition을 번역하면 경쟁조건이라는 말이 됩니다. 경쟁조건이란 둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결과 값에 영향을 줄 수 있는 상태를 말합니다. 조회수를 예로 들어보겠습니다. 현재 조회수는 1입니다. 만약 A라는 스레드와 B라는 스레드가 동시에 클릭을 한다면? 이론 상 조회수는 3이 되어야 하지만 그렇지 않습니다. A, B 모두 기존의 조회수는 1이었으므로 조회수가 2가 됩니다. 이렇게 타이밍이나 순서에 결과 값에 영향을 주는 이런 상황을 경쟁 조건이 발생했다고 하는 것 입니다. 그래서 이 상황을 피하기 위해 사용하는 것이 트랜잭션입니다. 트랜잭션을 설정하면 ACID의 I에 해당하는 고립성의 특징때문에 A, B 스레드가 동시에 작동할 수 없게됩니다. 둘 중 하..

✔️Intro 오늘은 제가 위코드 초기 때, 제 머리를 아프게 했던 CORS에 대한 내용입니다. 출처로 Mozilla와 PyPi 를 참고하였습니다. ✔️Cross Origin Resource Sharing CORS의 풀네임이며, 의미로는 추가 HTTP헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 알려주는 브라우저 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(Origin)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 제가 겪은 실제 사례를 예로 들자면, 위코드에서 프로젝트를 앞두고 프론트엔드-백엔드 통신을 하는 세션이 있었습니다. 프론트엔드는 리액트를 사용하였고, fetch함수에 제가 설정한 URL로 요청을 보냈는데 Cr..

✔️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..