목록전체 글 (279)
내 잡다한 노트
css3에 레이아웃 배치를 쉽게 하기 위한 방법이 고안됐다. 바로 flex이다. 이것은 div같은 display가 block인 태그들을 쉽게 배치할 수 있도록 도와준다. 필요한 것은 flex를 해줄 컨테이너(부모)와 그 컨테이너에 속하는 item(자식)들이다. 원래 display가 block이면 가로칸을 차지해서 줄띄기가 되는데 컨테이너를 flex로 설정해주게 되면 flex item들이 수평으로 정렬된다. # flex-direction item을 수평정렬할 것인지, 수직정렬할 것인지 결정하는 css이다. flex-direction : row; flex-direction : row-reverse; flex-direction : column; flex-direction : column-reverse; 가 존..
개발자가 이미지를 다운받아 자신의 웹에 띄울 때 쓰는 방법임 form으로 입력받아 저장하는게 아니다. settings.py에서 media에 대한 설정을 한다. MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 그리고 media 폴더를 manage.py와 같은 폴더상에 만들어준다. 장고 모델중 ImageField()함수를 이용해 img 파일을 업로드 할 수 있다. 모델을 만들고 makemigrations, migrate는 필수. admin.py에 내 모델을 설정하고 admin에서 직접 업로드해보자. admin에서 직접 이미지를 저장하면 이미지 파일이 자동으로 media 폴더에 저장된다. 모델 만들고 뷰 작성하고나서 프로젝트 폴더의 url..
openpyxl 라이브러리를 활용한다. import openpyxl excel_file = openpyxl.Workbook() #엑셀 파일을 생성하는 코드. excel_sheet = excel_file.active # 엑셀 파일이 생성되면 디폴트 쉬트가 생성되며, 엑셀파일변수.active로 해당 쉬트를 선택할 수 있다. 해당 쉬트 이름을 변경하려면 title 변수값을 변경해주면 된다. excel_sheet.append(['data1', 'data2', 'data3']) # append로 하나의 행 데이터를 추가 excel_file.save('test.xlsx') # 엑셀 파일 저장 excel_file.close() # 엑셀 파일 닫기 (안닫으면 CPU 자리를 잡아먹음) # 엑셀 파일 읽기 excel_fi..
# 정규표현식 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다. # 역할 정규 표현식은 문자열을 대상으로 패턴 매칭 기능을 제공한다. 패턴 매칭 기능이란 특정 패턴과 일치하는 문자열을 검색, 추출, 치환할 수 있는 기능을 말한다. 즉, 반복문과 조건문 없이 패턴을 가진 문자열을 간단하게 검색, 추출, 치환할 수 있다. 즉, 문자열 검색, 추출, 대체 의 역할을 수행한다. # 파이썬에서의 사용 1. 정규표현식 모듈 불러오기 import re re를 임포트해준다. 2. 정규표현식 패턴 생성하기 pattern = re.compile('패턴') 3. 패턴으로 문자열을 검색 3-1. 문자열의 처음부터 일치하는지 확인 pattern.match('문자열') 3-2. 문자열의 전체의 일부 일치..
데이터 크기 : XML > JSON > CSV # XML (eXtensible Markup Language) 장점 : XML은 3가지 포맷중 가장 직관적. 단점 : 실제 전송하는 정보보다 메타 데이터의 크기가 더 커질 수 있음 주요 사용처 : 단순 게임 옵션, 직접 데이터 수정이 잦은 부분에 사용 HTML과 유사한 구조를 가지고 있다. 다목적 마크업 언어로 태그 등을 이용하여 데이터의 구조를 기술하는 언어이다. HTML의 태그와 같이 꺽쇠()를 사용하고 트리 계층 구조를 사용한다. # JSON (JavaScript Object Notation) 장점 : 모양과 규칙 자체가 단순해서 타언어에서도 구현하기가 쉬움 단점 : 콤마가 누락되거나 중괄호가 잘못 닫히는 등 문법 오류에 취약하다. 주요 사용처 : 서버..
1. 문자열에 있는 특정 문자 갯수 세기 -> count 함수 data = Dave.David data.count('Dave') -> 1 2. 문자열에 있는 특정 문자의 위치 알려주기 -> index 함수 string = 'Dave ID is dave' string.index('D') -> 0 제일 첫번째와 같은 것을 찾아 인덱스 번호를 리턴한다 이 index 함수는 문자열에서 같은 것을 찾지 못한다면 오류를 발생시킨다. 해당 문자가 문자열에 없을 때, 에러를 안낼 수는 없을까? 그럴 댄 find 함수를 사용하자. 해당 문자가 문자열에 없으면 -1을 리턴한다. 3. 문자열 사이에 다른 문자 넣기 -> join 함수 string = '12345' comma = 'ㅌㅌㅌㅌ' comma.join(string)..
# find 함수를 사용 import requests from bs4 import BeautifulSoup res = requests.get('크롤링할 사이트 url') soup = BeautifulSoup(res.content, 'html.parser') section = soup.find('ul', id='dev_course_list') titles = section.find_all('li', 'course') for index, title in enumerate(titles): print(index+1, title.get_text().split('[')[0].split('-')[1].strip()) 예시 코드. requests 모듈은 사이트의 정보를 가져오는 것 find()의 인자로 html 태그들..
Representational State Transfer (REST) 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다. 즉 REST란 1. HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고 2. HTTP Method를 통해 3. 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미합니다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. 구체적으로 HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. REST API란 REST를 기반으로 만들어진 API..