profile
BackEND

MySQL 명령어

MySQL 명령어 기존에 올렸던 MySQL 포스팅이 존재하지만 새롭게 알게된 것들을 정리하고자 한다. JOIN Join은 관계형 데이터베이스의 핵심으로 여러번 봐도 과하지 않다고 판단. WHERE OR, AND 조건을 여러 개를 걸 수 있다. LIKE 검색 기능을 구현할 때 주로 사용할 것으로 예상되는 명령어이다. 예를 들어 위의 명령어는 orders...

3일 전
·
0개의 댓글

Flask Project 초기세팅

Flask Flask는 파이썬으로 작성된 마이크로 웹 프레임워크의 하나로 Werkzeug 툴킷과 Jinja2 템플릿 엔진에 기반을 둔다. (사실 툴킷과 템플릿 엔진에 기반을 둔다는 게 무슨 소린지는 잘 모르겠다. 추후에 공부해보자.) Flask는 특별한 도구나 라이브러리가 필요 없기 때문에 마이크로 프레임워크라고 부른다. > 마이크로 프레임워크(Micro...

3일 전
·
0개의 댓글

Layered Architecture

Layered Architecture 각 계층은 하위 계층에만 종속되고 상위 계층으로는 독립적으로 구성되어야 한다. 하위 계층에 종속되어야 하는 이유는 하위 계층의 Return 값을 받아서 상위 계층으로 전달하는 작업이 진행되는 구조이기 때문이다. 실행해야 할 역할들에 따라 계층이 나뉘는 아키텍쳐 방식이다. 이미지 출처 Presentation layer...

3일 전
·
0개의 댓글

Docker Command & Docker File

Docker Command 실행중인 docker container에 shell 접속하기 -i: doccker 컨테이너의 STDIN을 open한다. -t: doccker 컨테이너에 psuedo tty를 지정해준다. 위의 두 옵션을 사용하여 실행중인 doccker 컨테이너에 shell 접속을 할 수 있다. Docker ps 현재 실행중인 docker cont...

2020년 9월 12일
·
0개의 댓글

Docker Images

Docker Image Docker image는 파일 시스템들의 layer로 만들어져 있다. 가장 base layer는 boot filesystem bootfs로 일반적인 Linux boot 파일 시스템으로 되어있다. Docker 유저가 직접적으로 boot filesystem을 사용할 일은 없으며, 실제로 container가 부팅되면 메모리로 옮겨지고 b...

2020년 9월 12일
·
0개의 댓글

Docker 개념 및 특징

Docker란? Docker는 가상화 기술이다. 가상화 컨테이너에 application 배포를 자동화 시켜주는 오픈 소스 엔진이다. (container virtualization 기술의 또다른 이름으로 오해하는 경우가 있는데 그렇지 않도록 주의하자.) Docker는 가상화 컨테이너 실행 환경 위에서 application 배포 엔진을 더함으로써 사용자의 코드...

2020년 9월 12일
·
0개의 댓글

Tree

Tree란? Tree 자료구조는 데이터를 마치 거꾸로된 나무 형태로 저장하는 자료구조이다. Tree 자료구조는 여러 유형이 존재하지만 그 중 가장 기본은 binary tree(이진 트리) 자료구조이다. 이진 트리는 두 개의 자식 노드를 가진 트리 형태이다. 구성 요소 Node: 트리 구조의 교점이다. Node가 데이터를 가지고 있고 또한 자식 노드를 가...

2020년 9월 7일
·
0개의 댓글

카카오 소셜 로그인

2차 프로젝트를 하면서 카카오 소셜 로그인을 적용하기로 하였다. 자세한 내용은 카카오 공식 문서를 참고하길 바란다. 우선 기본적인 Flow를 설명하도록 하겠다. 우선 공식 사이트를 통해 사이트 혹은 앱을 등록한 후 고유 키를 받은 후에 프론트 측에서 인증 코드를 통해 카카오 api를 호출하고 로그인 한 후 토큰을 받아오고 해당 토큰을 백엔드 측에 전달하...

2020년 9월 6일
·
0개의 댓글

Unit Test 02. Mocking, Patching

테스트는 버그가 있음을 보여줄 뿐, 버그가 없음을 보여줄 수는 없다. - 에츠허르 비버 데이크스트라 - Mocking: 함수의 결과를 내가 의도한 값으로 덮기 Patching: 불러와야하는 모듈 자체를 통째로 mocking 2차 프로젝트 중 카카오 소셜 로그인 unittest 작성하기 위해 mocking과 patching이 필요하다. 왜냐하면 실제로 u...

2020년 9월 6일
·
0개의 댓글
post-thumbnail

Tesla 1차 클론 프로젝트 회고록

위코드 1차 클론 프로젝트 teslrider

2020년 8월 30일
·
0개의 댓글

Query String

쿼리스트링 프론트에서 요청을 보내올 때 RESTful API는 endpoint를 통해 어떤 자료를 받아올 지 짐작할 수 있다. 그러나 조금 다른 자료들을 받아오기 위해 사용하는 것이 쿼리스트링이다. 즉 각자 다른 url을 부여할 필요가 없다는 것이다. 해당 정보에 대한 것을 parameter로 받으면 같은 url과 view로 필요한 자료를 제공할 수 있게...

2020년 8월 26일
·
0개의 댓글

Pagination

Pagination이란? 페이징(Paging)이라고도 하며, 목록형 UI에서 데이터를 한 번에 가져오는 것이 아니라 필요한 만큼, 또는 화면에 보이는 만큼만 백엔드에 요청하고 응답받아 사용하는 방식을 말한다. 즉 데이터의 양이 너무 많아서 하나의 페이지에 보여줄 수 없을 때 끊어서 데이터를 보내고 받아서 사용하는 방식이다. 페이지네이션을 구현하기 위해서...

2020년 8월 26일
·
0개의 댓글

Django select_related, prefetch_related

select_related 정참조 관계에서 사용하며 JOIN 쿼리가 한 번만 수행된다. selectrelated로 함께 가져온 정보는 추후에 가지고 올 때 db쿼리를 하지 않음. 또한 정보가 MySQL상에서 JOIN한 후 넘어온다. 이와 달리 prefetchrelated는 django python에서 JOIN이 실행된다. [1]번이 실행되었을 때 결과로 ...

2020년 8월 23일
·
0개의 댓글

Unit Test

유닛 테스트란? 내가 작성한 코드의 가장 작은 단위인 함수를 테스트하는 메소드를 뜻한다. 그래서 내가 작성한 로직을 테스트하는 유닛 테스트 코드를 작성해서 테스트를 진행하게 된다. 백엔드의 경우 테스트할 엔드포인트가 여러 개라면 이것을 테스트하기 위해 httpie나 포스트맨을 이용하게 된다. 이 때 최소 수분은 걸리게 되는데 유닛테스트를 이용하면 수초만에 ...

2020년 8월 20일
·
0개의 댓글

Data Structure3. Stack & Queue

Stack과 Queue는 비슷한 구조인데 자료를 읽어들이는 순서가 다르다. Stack Stack은 Last In First Out이라고 한다. 마지막으로 저장한 데이터가 처음으로 읽힌다는 뜻이다. Stack에서 데이터 저장은 push라고 한다. 데이터를 읽어들이는 건 pop이라고 한다. 여기서 pop은 읽기와 동시에 Stack에서 삭제한다. > List...

2020년 8월 19일
·
0개의 댓글

Westagram Endpoint

Westagram Django Project Tree 총 6개의 엔드포인트를 구현했으며 1.회원가입, 2.로그인, 3.게시물 등록, 4.게시물에 댓글 등록, 5.게시물 '좋아요' 기능 구현, 6.다른 계정 'Follow' 기능 구현 등이 해당 된다. django를 이용해서 구현하였으며 project라는 하나의 프로젝트 안에 User와 Posting이라는 ...

2020년 8월 17일
·
0개의 댓글

인증, 인가, 비밀번호 암호화

암호화를 위한 라이브러리 Bcrypt를 사용함. Bcrypt 설치 Bcrypt import bcrypt의 암호화 방법 bcrypt는 str 데이터가 아닌 Bytes 데이터를 암호화한다. 따라서 암호화시에 bytes화 해야합니다. 파이썬에서는 str 을 encode하면 bytes(이진화) 되고, Bytes 를 decode하면 str 화 합니다. enco...

2020년 8월 16일
·
0개의 댓글
post-thumbnail

지난 한 달의 잔향

한 달 동안의 위코드 생활을 끄적여 보았습니다.

2020년 8월 14일
·
3개의 댓글

CORS

CORS란 무엇인가 CORS는 Cross Origin Resource Sharing의 줄임말로 도메인 주소가 다른 서버에 http request를 전송하는 것을 이야기한다. 예를 들어 naver.com에서 api.google.com으로 http request를 보내면 CORS가 되는 것이다. 유의할 점! top level domain만 틀려도 CORS라...

2020년 8월 13일
·
0개의 댓글

Data Structure2 - Set, Dictionary, Hash

Set Set은 array나 list처럼 순열 자료구조이다. 하지만 set은 순서라는 개념이 존재하지 않는다. Set의 특징 데이터를 비순차적(unordered)으로 저장할 수 있는 순열 자료구조이다. 삽입 순서대로 저장되지 않는다. 즉 특정한 순서를 기대할 수 없는 자료구조이다. 수정 가능하다.(mutable) 동일한 값을 여러번 삽입 불가능하다. ...

2020년 8월 11일
·
0개의 댓글