profile
주니어 개발쟈🤦‍♂️
post-thumbnail

완전탐색

'모든 경우의 수를 전부 찾아서 답을 찾는 알고리즘' 을 뜻한다. 영어로는 Exhaustive Search 라고 한다. 가능한 모든 경우의 수를 다 해보는 것이다. 알고리즘을 풀때 가장 강력하고 확실한 방법이지만 그만큼 시간이 가장 오래 걸리는 탐색 기법이다다른 말로는

약 21시간 전
·
0개의 댓글
post-thumbnail

상속 - Inheritance

상속이란? 객체지향 프로그래밍 기법에서 사용되는 기법이다. 최대한 간단하게 정리하자면 > 상위 클래스가 하위 클래스에게 가지고 있는 기능을 공유하여 물려받아 확장(extend)하는 개념. 기능을 물려주는 상위 클래스는 기반 클래스(base class) 혹은 부모 클래스(parent class), 슈퍼 클래스(super class)라고 한다 기능을 물려...

4일 전
·
0개의 댓글

Brandi Review - 06.17

상품 리스트 json schema 할인 여부, 진열 여부와 같은 boolean 값의 파라미터를 가지는 부분에서 parameter의 최대길이 (max_length = 1) 조건을 추가해 boolean 값을 가져야 하는 parameter에서 1111을 눌렀을 때 통과가 되는 오류 수정 USER SERVICE pagination에 필요한 페이지를 가져오는...

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

TIL - 06/07 JSON Schema

API를 설계하면서 JSON 형식의request로 들어오는 parameter들의 유효성 검사를 체크하기 위해 jsonschema를 프로젝트에 적용해보기로 했다. JSON Schema란? JSON의 유효성을 검사하고 주석을 추가하고 조작할 수 있는 라이브러리이다. JSON 스키마를 활용하면 API의 parameter에 들어갈 데이터의 형식을 지정하고 AP...

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

TIL - 06/06 INNER JOIN

JOIN 이란 > 2개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법이다. 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을경우 주로 사용하며, 여러개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법이다. > JOIN을 하기 위해서는 각 테이블의 PK(Primary Key)와 FK(Foreign Key)를 이용해 정보를 조합한다. I...

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

Brandi Review - 06.04

Review 셀러 권한에서의 셀러 상세보기 (GET) API 구현 DAO Seller 테이블과 일대일 관계(권한, 셀러 정보, 셀러 상태, 셀러 고유 아이디)인 셀러 정보 테이블과는 INNER JOIN을 활용 가장 최신의 셀러 정보를 가져오기 위해 셀러 고유 ID

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

TIL - 05/30 이력관리

이력관리란? 데이터는 현재의 프로세스만 처리하고 버리는 것이 아니라 생성, 수정 삭제이력 등의 오랜 기간의 과거의 이력을 가지고 있는 데이터를 유지보수할 수 있어야 한다. 예를 들자면 이사를 가서 주소지를 옮길 때마다 주민등록증 뒷면의 주소 변경란의 주소가 추가되는 것이 있다. 데이터의 종류에 따라 이력을 관리할 적절한 방법을 선택해줘야 한다. 이력 관리...

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

Brandi Review - 05.28

Review Modeling 삭제가 가능한 모든 테이블에 is_deleted 필드 추가함으로써 소프트 딜리트 세팅 담당자 정보 테이블에 순서 필드 추가, 프론트엔드에서 순서번호를 request에 넘겨주는 식으로 합의 상품 이미지 테이블에 순서 필드 추가, 첫번째 순서 이미지가 대표 이미지로 선정 셀러 상태에 따라서 관리자가 셀러에 취할 수 있는 여러가...

2020년 5월 28일
·
0개의 댓글
post-thumbnail

TIL - 05/28 레이어드 패턴

출처 : 깔끔한 파이썬 탄탄한 백엔드 (송은우 저) 레이어드 패턴 백엔드 API 코드에 가장 널리 적용되는 패턴 중 하나는 레이어드 아키텍처(Multi-tier) 패턴이다. 레이어드 아키텍처는 코드를 논리적인 부분 혹은 역할에 따라 독립된 모듈로 나누어서 구성하는 패턴이다. 각 모듈은 서로의 레이어에 의존성을 가지고 전체의 시스템을 구성한다. 이렇게 ...

2020년 5월 28일
·
0개의 댓글

TIL - 05/24 Flask mysql 연동하기

앞서 만들었던 sign-up 엔드포인트에 mysql을 연동해보자 1. 데이터베이스 생성 성공적으로 데이터베이스가 생성되었다. 2. SQLAlchemy, MySQL-Connector 설치 SQLAlchemy는 파이썬 코드에서 DB와 연결하기 위해 사용되는 라이브러리이다. MySQL-Connector는 파이썬에서 DB를 사용하기 위한 공식 API이다. ...

2020년 5월 24일
·
1개의 댓글
post-thumbnail

TIL - 05/24 Flask

Flask Django와 비슷하게 python으로 웹 어플리케이션을 구현할 때 사용되는 매우 심플하고 가벼운 micro web framework이다. 대표적으로 Flask 프레임워크를 사용하는 어플리케이션 중에서는 Pinterest와 LinkedIn이 있다. Flask Git Flask 개발환경 구축하기 1. 파이썬 가상환경 구축 2. 가상환경 실...

2020년 5월 24일
·
0개의 댓글
post-thumbnail

TIL - 05/17 CORS

CORS 개념 CORS는 Cross-Origin Resource Sharing의 줄임말이다. 도메인 주소가 다른 서버에 http request를 전송해 리소스에 접근할 수 있도록 하는 매커니즘을 말한다. 다른 출처(도메인, 프로토콜 혹은 포트)를 가진 리소스를 요청할 때, 웹 프로그램은 cross-origin http request를 실행한다. 예를 들...

2020년 5월 17일
·
0개의 댓글
post-thumbnail

Session - Tree

Tree Tree 자료구조는 데이터를 나무(거꾸로된) 형태로 저장하는 자료 구조이다. 데이터 요소들이 부모-자식 관계의 계층적 구조로 표현이 된다. 윈도우와 리눅스의 파일스스템 구조도 트리로 표혀노딘다. 대용량의 데이터를 저장할때도 많이 쓰인다. 데이터의 저장의 의미 보다는 저장된 데이터를 더 효과적으로 탐색 하기 위해서 사용된다. 주요 용어 Node...

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

Session - Unit Test

Intro 시스템을 테스트 할때 크게 3가지의 방법으로 나눌 수 있다 UI Testing / E2E Testing Integration Testing Unit Testing 공수는 Unit Testing -> Integration Testing -> E2E Testing 순서로 많이 든다. 따라서 전체 테스트 coverage는 다음과 같은 비율로 구현...

2020년 5월 14일
·
0개의 댓글

1차 프로젝트 후기

위코드 7기 1차 프로젝트로 2주간 컨버스 공식 온라인 스토어 clone 프로젝트를 진행했다. 나는 백엔드 포지션으로 DB 모델링 (MySQL), 크롤링, Django를 사용한 API 설계를 담당했다. 개발기간 : 2020.04.20 ~ 2020.05.01 인원 : 프론트엔드 3명, 백엔드 3명 Github : 링크 Demo 영상 (데모 이미지를 클릭하면...

2020년 5월 10일
·
0개의 댓글

TIL - 05/05 .csv 파일 데이터를 MySQL로 insert 하기

우선 data_insert.py를 생성하고 다음과 코드를 작성해준다. 하나하나씩 살펴보자 import os os 모듈은 운영체제에서 제공되는 기본적인 기능을 제공하는 모듈이다. sys.path.append(os.getcwd()) os.getcwd()는 현재 작업하고 디렉터리의 위치를 가져온다. 이 경로를 sys.path에 추가해준다. os.envir...

2020년 5월 5일
·
3개의 댓글

TIL - 05/05 django sqlite3 MySQL로 전환하기

Django 프로젝트의 기본 데이터베이스는 sqlite3이다. 간단하게 로컬에서 혼자 사용하는 용도로써는 sqlite3도 충분하지만, 여러명이 같이 동시에 작업하는 환경에서는 부적합한 데이터베이스이다. 따라서 팀프로젝트와 같이 웹이 올려놓고 사용하기에는 sqlite3보다 서버 클라이언트 방식의 데이터베이스인 MySQL, PostgreSQL, Oracle 등...

2020년 5월 5일
·
0개의 댓글

TIL - 04/26 - Python Coding Conventions

주석이 필요없는 가독성 높은 코드를 짜라 파이썬 공식 가이드는 PEP-8과 Google의 파이썬 코딩 스타일과 위코드의 스타일을 추가한 코딩 스타일 가이드를 공부했다. 위코드를 다니면서 원래 가지고 있던 코딩스타일이 180도 변해가고 있다. Naming 변수나 클래스는 이름이 명사로 이루어지고 함수는 동사로 이루어진다. 변수, 함수, 클래스, 모듈,...

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

TIL - 04/25 - select_related, prefetch_related

현재 작업하고 있는 1차 프로젝트의 상품 model 일부분이다. Product : 상품 Detail : 상품 상세설명 Media : 상품 이미지, 영상 각 클래스 관계 요약 Product one-to-one Detail Media many-to-one Product models.py 구성 select_related select_related는...

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

Session - Stack & Queue

Stack LIFO(Last In First Out)의 구조를 가지고 있다. 마지막에 저장한 데이터가 처음으로 읽힌다. Stack에서의 데이터 저장은 push 데이터를 읽어들이는 것은 pop이라고 한다. pop은 데이터를 읽어들임과 동시에 stack에서 삭제한다. Stack Python 예제 웹 브라우저의 방문기록(뒤로가기), 실행취소등이 stack으...

2020년 4월 25일
·
0개의 댓글