본문 바로가기

전체 글232

Django를 이용한 웹 API 만들기 샘플 데이터 베이스(Sakila) 데이터베이스 임포트하기 먼저 다음과 같은 사이트에 들어가서 sakila database라고 적혀 있는 줄의 zip파일을 내려받고 압축을 해제하겠습니다. 링크 : dev.mysql.com/doc/index-other.html MySQL :: Other MySQL Documentation Other MySQL Documentation This page provides additional documentation. There's even more available on these extra pages: MySQL Server Doxygen Documentation Title HTML Online MySQL Server (latest version) View Expert Gui.. 2020. 10. 26.
key와 lambda를 이용한 정렬 리스트를 보면 [[키,값],[이름,점수],[상품,가격],[단어(단어길이]] 이런 식으로 된 값들을 정렬하라는 문제들을 확인 할 수 있습니다. 하지만 파이썬을 이용하면 이러한 문제들은 key와 lambda를 이용해서 아주 쉽게 해결할 수 있습니다. 먼저 처음 예시는 간단하게 과일을 이름순으로 정렬하고 그다음 가격이 낮은 순으로 정렬하겠습니다. 먼저 과일의 값들은 아래와 같습니다. data = [ ["고구마",25000], ["바나나",123232], ["파인애플",4500], ["감자",3000], ["금귤",6000] ] 가격을 기준으로 정렬하겠습니다. data.sort(key = lambda x:x[1]) print(data) ## 출력 값 #[['감자', 3000], ['파인애플', 4500], ['.. 2020. 10. 20.
정보처리기사 실기대비 용어정리-1 요구사항 확인 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 파악하는 활동은 무엇인가? → 현행 시스템 파악 현행 시스템 파악을 위해서는 현행 시스템 구성 현황 파악, ( ), 인터페이스 현황 파악 등 3단계의 절차가 필요합니다. → 기능 현황 파악 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체를 무엇이라 합니까? → 소프트웨어 아키텍처 ⭐️ ⭐️ 소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준이란? → 소프트웨어 프레임워크 아키텍처를 기록하기 위한 산출물들로 이.. 2020. 10. 13.
최장 증가 부분 수열(LIS)-개념 최장 증가 부분 수열 문제는 동적 계획법(DP)로도 풀 수 있는 유명한 알고리즘 문제입니다. 최장 증가 부분 수열 정의 어떤 임의의 수열이 주어질 때, 이 수열에서 몇개의 수들을 제거해서 부분수열을 만들 수 있습니다. 이때 만들어진 부분수열 중 오름차순으로 정렬된 가장 긴 수열을 최장 증가 부분 수열이라고 합니다. 먼저 예시를 들겠습니다. [2,11,4,55,7,9,13,3] 이라는 수열이 있습니다. 이제 이것을 최장 증가 부분 수열로 정리 하겠습니다. 11 제거 [2,4,55,7,9,13,3] 55제거 [2,4,7,9,13,3] 3제거 [2,4,7,9,13] 이렇게 LIS가 나올수 있는데 한 수열 내에서 여러개의 LIS가 나올수 있습니다. 먼저 O(N^2) 알고리즘에 대해서 설명하겠습니다. O(N^2).. 2020. 10. 6.
파이썬 반복과 이터레이터 파이썬 다운 반복문 파이썬 답지 않게 처리하기 먼저 파이썬의 반복문을 C언어나 자바를 사용한 사람들은 다음과 같이 사용하는 것을 확인할 수 있습니다. data = [1,2,3,4,5] i = 0 while i 2020. 9. 22.
파이썬 자료구조(심화)-2 스택(LIFO) 스택은 삽입과 삭제를 LIFO(후입 선출)방식으로 빠르게 처리해 주는 객체 컬렉션 입니다. 삽입과 삭제 작업은 주로 push와 pop으로 진행합니다. 스택이 활용 되는 곳은 런타임 메모리 관리, 트리나 그래프에서 깊이 우선 탐색(DFS)가 있습니다. 이제 파이썬에서 스택을 구현할 수 있는 방식을 살펴보겠습니다. 간단한 내장 스택 방식인 list 이 부분은 전에 list에 대해 설명한 파트가 있어서 URL을 통해 남겨두겠습니다. list 개념 https://hyun-am-coding.tistory.com/entry/Python-List?category=778330 list 시간복잡도 https://hyun-am-coding.tistory.com/entry/Python-list-연산에-따른-.. 2020. 9. 17.
파이썬 자료구조(심화)-1 파이썬 기본적인 자료구조 먼저 기본적으로 앞에서 list, tuple, dict을 설명했습니다. 이제 다른 자료구조와 앞에서 배웠던 자료구조 기반으로 만들어진 라이브러리 자료 구조를 확인하겠습니다. Dict 기반 자료구조 collections.OrderDict 먼저 파이썬 3.6버전 이전에는 dict에 데이터를 삽입해도 순서대로 저장된다는 보장이 없었습니다. 그래서 OrderDict를 사용했는데 요즘 3.6 버전 이후에 dict는 OrderDict의 기능을 가지고 있어서 굳이 OrderDict를 사용 안해도 순서대로 저장이 됩니다. 하지만 만약 키의 순서를 매우 중요하게 여기는 경우 OrderDict로 dict를 선언하는 것을 추천합니다. OrderDict는 키의 삽입 순서를 유지하는 Dict의 서브 클.. 2020. 9. 16.
얕은 복사와 깊은 복사 얕은 복사와 깊은 복사 개요 파이썬의 할당문은 객체의 사본을 만들지 않으며 이름만 연결합니다. 변경할 수 없는 객체의 경우에는 일반적으로 차이가 없습니다. 하지만 만약 변경 가능한 객체 또는 변경 가능한 객체의 컬렉션(collection)을 다룰때면 이러한 객체의 '실체 사본' 또는 '복사본'을 만드는 방법이 필요할 수 있습니다. 이제 파이썬에서 객체를 복사하거나 '복제'하는 방법과 이때 주의할 사항을 몇가지 설명하겠습니다. 먼저 파이썬에 내장된 기본 컬렉션을 복사하는 방법을 보겠습니다. 내장된 기본 컬렉션은 list, set, dict가 있습니다. 이것들은 팩토리 함수에 건내 복사할 수 있습니다. sample_list = list(original_list) sample_dict = dict(origin.. 2020. 9. 16.
*args와 **kwargs *args와 **kwargs를 이용하면 좋은점 먼저 이 두가지를 이용하면 함수가 선택적 인자를 받아들일 수 있으므로 모듈 및 클래스에서 유연한 API를 만들 수 있습니다. 먼저 간단한 함수 하나를 만들겠습니다. def foo(required, *args, **kwargs): print(required) if args: print(f'args 호출 : {args}') if kwargs: print(f'kwargs 호출 : {kwargs}') 함수 앞에는 최소한의 'required'라는 인자 하나를 필요로 하지만 추가 위치 인자와 키워드 매개 변수도 추가로 사용할 수 있습니다. 이제 추가 인자를 사용하여 함수를 호출하면 매개 변수 이름 앞에 * 접두사가 있어서 args가 여분의 위치 인자를 튜플로 수집합니다.. 2020. 9. 14.