텍스트 정렬 CSS 텍스트 정렬은 왼쪽 정렬, 오른쪽 정렬, 가운데 정렬이 있다. 모든 요소의 기본 정렬은 왼쪽 정렬이다. 왼쪽 정렬 오른쪽 정렬 가운데 정렬 span 태그는 inline-element이기 때문에 텍스트 정렬이 적용되지 않는다. Indent HTML content안에 아무리 스페이스로 들여쓰기 공백을 줘도 실제 브라우저에서는 적...
Data Types Python의 데이터 타입들이다. Integer : 정수 값 Float : 소수점 숫자 Complex Numbers : 복소수, 파이썬에서 허수는 j로 표현한다. ex) 3 + 2j String Boolean 변수 이름 규칙 변수 이름은
Adding And Changing Elements To List 추가하고자 하는 element가 한개 이상일때는 append 대신에 + 를 사용할 수 있다. 추가하고자 하는 element를 list형태로 만든 후 추가해준다. 주의해야할 점은, +를 사용하여 더한 list를 저장하고자 하는 변수에 지정해줘야 한다. ex) List에 + 연산을 사용하...
Complex Dictionary 더 복잡하고 많은 양의 데이터를 담기 위해서 list안에 dictionary를 담아주는 방식을 사용한다. ex) Nested Dictionary 만약 위 list에서 지민의 정보를 가져오려면 다음과 같이 접근해야한다 인덱스 번호로 찾거나 for문을 돌려 찾거나 데이터가 더 많아지면 불편할 수 있으므로 nest...
Nested Function 함수를 중첩하여 사용하는 방법이다. 중첩 함수, 혹은 내부 함수라고 불린다 중첩 함수는 부모 함수안에서만 호출이 가능하다. 즉 위 코드에서 childfunction()은 부모 함수인 parentfunction() 내부에서만 호출이 가능한 것이다. 중첩함수를 사용하는 이유 1. 불필요한 코드의 반복을 줄여 가독성을 높일 수...
Class 자동차 클래스를 정의해보자 정리 맨 처음 init 메소드는 클래스가 실체화, 즉 instance로 만들 때 호출되는 메소드이다 클래스를 실체화 시키면 객체(object)가 된다 init 메소드의 좌,우에는 두 개의 underscore(__)가 있다. 이렇게 생긴 메소드들을 special method라고 부른다 self는 클래스의 ins...
파이썬에서 원하는 모듈과 패키지를 검색하기 파이썬에서 모듈과 패키지는 다음 3가지 장소를 순서대로 찾아보면 된다. sys.modules built-in modules sys.path sys.modules 이미 import된 모듈과 패키지가 dictionary 형태로 저장된 곳이다. 새롭게 import해야 할 모듈은 당연히 이곳에 없으므로 여기서 찾...
Exceptions Exception(예외) : 의도하지 않은 에러 list의 총 길이는 3이지만 4번째 인덱스의 값을 출력하려고 하니 exception이 발생한다. 파이썬에서 exception이 발생하면 곧바로 프로그램이 종료된다. 하지만 exception이 발생해도 남은 프로세스를 진행 한 후 발생한 exception을 따로 처리하는 방법이 있...
가상환경이란? 여러개의 프로젝트를 진행하게 되면 각 프로젝트마다 사용해야할 버전과, 라이브러리들이 다르다. 예를 들어보자 A라는 프로젝트는 Python2 기반 Django 1.5버전 기반이고 프로젝트의 필요한 다양한 라이브러리들을 pip을 사용해 설치했다. B라는 프로젝트는 Python3 기반 Django 2.2버전 기반이고 이 프로젝트 또한 다양한 ...
Linux의 구조 커널 : 리눅스의 핵심, 프로세스 관리, 메모리 관리, 컴퓨터의 하드웨어를 모두 제어 쉘 : 커널과 유저가 대화할 수 있도록 제어 ex)bash, zsh 응용 프로그램 : 각종 프로그램 시스템을 위한 프로그램, 문서 편집도구, 브라우저, 네트워크 도구 리눅스의 파일 구조는 트리 구조로 되어 있다. Linux 용어 홈 디렉토리 :...
Django Replit 최대한 안보고 따라하기 우선 Django 프로젝트 생성전에 파이썬 가상환경 먼저 생성해준다. 생성한 가상환경을 활성화 장고를 설치하자 프로젝트 생성 우선 test02/setting.py에서 프로젝트를 개발하기전에 초기 설정 먼저 해준다. test02/settings.py INSTALLED_APPS의 admin,auth ...
Django Replit 최대한 안보고 따라하기 part2 Views.py 작성 GET 메소드는 저장된 사용자들의 데이터 리스트를 JsonResponse로 반환한다. JsonResponse는 서버 요청에 JSON으로 응답하기 위해 사용된다. 별 이상이 없는 경우 GET 메소드를 호출하면 다음과 같은 Response가 올 것이다. Post 메소드는 입력...
Django Field Type CharField : 길이가 제한된 문자열 필드 타입. 최대 길이를 max_length 옵션에 지정해야 한다. TextField: 대용량 문자열 필드. html의 textarea 태그와 유사하며 문자열의 제한이 없다. Integer
현재 작업하고 있는 1차 프로젝트의 상품 model 일부분이다. Product : 상품 Detail : 상품 상세설명 Media : 상품 이미지, 영상 각 클래스 관계 요약 Product one-to-one Detail Media many-to-one Product models.py 구성 select_related select_related는...
주석이 필요없는 가독성 높은 코드를 짜라 파이썬 공식 가이드는 PEP-8과 Google의 파이썬 코딩 스타일과 위코드의 스타일을 추가한 코딩 스타일 가이드를 공부했다. 위코드를 다니면서 원래 가지고 있던 코딩스타일이 180도 변해가고 있다. Naming 변수나 클래스는 이름이 명사로 이루어지고 함수는 동사로 이루어진다. 변수, 함수, 클래스, 모듈,...
Django 프로젝트의 기본 데이터베이스는 sqlite3이다. 간단하게 로컬에서 혼자 사용하는 용도로써는 sqlite3도 충분하지만, 여러명이 같이 동시에 작업하는 환경에서는 부적합한 데이터베이스이다. 따라서 팀프로젝트와 같이 웹이 올려놓고 사용하기에는 sqlite3보다 서버 클라이언트 방식의 데이터베이스인 MySQL, PostgreSQL, Oracle 등...
우선 data_insert.py를 생성하고 다음과 코드를 작성해준다. 하나하나씩 살펴보자 import os os 모듈은 운영체제에서 제공되는 기본적인 기능을 제공하는 모듈이다. sys.path.append(os.getcwd()) os.getcwd()는 현재 작업하고 디렉터리의 위치를 가져온다. 이 경로를 sys.path에 추가해준다. os.envir...
CORS 개념 CORS는 Cross-Origin Resource Sharing의 줄임말이다. 도메인 주소가 다른 서버에 http request를 전송해 리소스에 접근할 수 있도록 하는 매커니즘을 말한다. 다른 출처(도메인, 프로토콜 혹은 포트)를 가진 리소스를 요청할 때, 웹 프로그램은 cross-origin http request를 실행한다. 예를 들...
Flask Django와 비슷하게 python으로 웹 어플리케이션을 구현할 때 사용되는 매우 심플하고 가벼운 micro web framework이다. 대표적으로 Flask 프레임워크를 사용하는 어플리케이션 중에서는 Pinterest와 LinkedIn이 있다. Flask Git Flask 개발환경 구축하기 1. 파이썬 가상환경 구축 2. 가상환경 실...
앞서 만들었던 sign-up 엔드포인트에 mysql을 연동해보자 1. 데이터베이스 생성 성공적으로 데이터베이스가 생성되었다. 2. SQLAlchemy, MySQL-Connector 설치 SQLAlchemy는 파이썬 코드에서 DB와 연결하기 위해 사용되는 라이브러리이다. MySQL-Connector는 파이썬에서 DB를 사용하기 위한 공식 API이다. ...
출처 : 깔끔한 파이썬 탄탄한 백엔드 (송은우 저) 레이어드 패턴 백엔드 API 코드에 가장 널리 적용되는 패턴 중 하나는 레이어드 아키텍처(Multi-tier) 패턴이다. 레이어드 아키텍처는 코드를 논리적인 부분 혹은 역할에 따라 독립된 모듈로 나누어서 구성하는 패턴이다. 각 모듈은 서로의 레이어에 의존성을 가지고 전체의 시스템을 구성한다. 이렇게 ...
JOIN 이란 > 2개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법이다. 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을경우 주로 사용하며, 여러개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법이다. > JOIN을 하기 위해서는 각 테이블의 PK(Primary Key)와 FK(Foreign Key)를 이용해 정보를 조합한다. I...
API를 설계하면서 JSON 형식의request로 들어오는 parameter들의 유효성 검사를 체크하기 위해 jsonschema를 프로젝트에 적용해보기로 했다. JSON Schema란? JSON의 유효성을 검사하고 주석을 추가하고 조작할 수 있는 라이브러리이다. JSON 스키마를 활용하면 API의 parameter에 들어갈 데이터의 형식을 지정하고 AP...
현재 우리 프로그램이 어떤 상태를 가지고 있는지 외부출력을 하게 만들어 개발자들이 직접확인하게 하는 것. 물론 이런 방식으로 콘솔에 출력이 가능하지만, 기존에 구축되어진 logging 라이브러리를 사용해 좀 더 로그로써의 다양한 기능을 사용할 수 있다. ex) 로깅 파일 출력, 로깅 레벨에 따른 콘솔 출력 제한 등 예제 로깅 모듈은 파이썬에 내장되어...
Redis란? > REDIS(REmote DIctionary Server)의 약자로 인 메모리 기반의 key-value 구조 데이터 관리 시스템이다. 모든 데이터를 메모리에 저장하므로 빠른 Read & Write 속도를 보장하는 NoSQL 데이터베이스이다. 요즘 회사들은 자체 RBDMS의 부하를 줄이기 위해 redis 클러스터를 주로 사용해 운영한다. ...