본문 바로가기

전체 글

(89)
(Django) 1. Django Framework Django파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크이다.MTV (Model, Template, View) 패턴으로 이루어진다.ORM(Object Relational Mapper)을 기반으로 한다.프로젝트의 객체들을 데이터베이스 테이블과 매핑을 도와주어 복잡한 데이터 기반 웹 사이트 개발이 쉬어질 수 있음MTV (Model, Template, View)Model애플리케이션에서 사용될 데이터에 대한 정의를 담고 있는 클래스Django는 ORM 기법을 이용하여 데이터베이스를 클래스로 매핑하여 코딩한다.하나의 모델 클래스는 하나의 테이블에 매핑되고, 모델 클래스의 변수는 테이블의 컬럼에 매핑된다.TemplateHTML로 구현되며 화면에 보여주기 위한 프리젠테이션 로직View에게 받은 데이터를 템플..
Java Collections Framework Java CollectionJava에서 Collections이란 데이터의 집합, 그룹을 의미한다.JFC(Java Collections Framework)는 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공함Java Collections Framework 상속 구조 Collection순서나 집합적인 저장 공간List: 순서가 있고 중복을 허용하는 저장 공간LinkedListStackVectorArrayListSet: 순서가 없는 중복을 허용하지 않는 집합적인 공간 HashSetSortedSet (TreeSet)Map키와 값으로 데이터 핸들Hashtable: 동기화 보장하는 Map 계열의 클래스HashMap: 동기화 보장하지 않는 Map 계열의 클래스SortedMap: 정렬을 위..
(Java) JVM 메모리 구조 JVM 메모리 구조자바 가상 머신(JVM, Java Virtual Machime)이란 자바 바이트 코드를 실행시키기 위한 가상의 기계이다. 자바로 작성된 모든 프로그램은 자바 가상 머신에서만 실행될 수 있기 때문에 자바 가상 머신이 설치되어 있어야 한다. Class Loader클래스 파일들을 엮어서 JVM이 운영체제로부터 할당받은 메모리영역인 Runtime Data Area로 적재하는 역할Execution EngineClass Loader에 의해 메모리에 적재된 클래스들을 기계어로 변경해 명령어 단위로 실행하는 역할두가지 방식이 있음인터프리터(Interpreter): 명령어를 하나씩 실행JIT(Just-In-Time) 컴파일러: 적절한 시간에 전체 바이트 코드를 네이티브 코드로 변경해서 Execution..
(Java) 객체지향 프로그래밍 객체지향 프로그래밍(Object Oriented Programming)프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법 객체지향 프로그래밍 장점코드 재사용이 용이클래스 상속을 통해 확장해서 사용할 수 있음유지보수가 쉬움클래스 내부 멤버의 변수나 메서드 부분만 수정하면 됨대형 프로젝트에 적합클래스 단위로 모듈화시켜 개발할 수 있어 대형 프로젝트에서 업무 분담하기 쉬움객체지향 프로그래밍 단점처리속도가 상대적으로 느림객체가 많으면 용량이 커짐설계시 많은 시간과 노력이 필요기본 구성 요소클래스같은 집단에 속하는 속성(attribute)과 행위(behavior)를 변수와 메소드로 정의한 것메모리에 할당되지 않은 상태객체클래스..
에라토스테네스의 체 에라토스테네스의 체에라토스테네스의 체는 합성수를 지우는 방식으로 소수를 찾는 방법이다.소수(Prime Number)소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다. 약수로 1과 자기 자신만을 가지는 정수라고 할 수 있다.합성수1과 자기 자신 이외의 약수를 가진 정수로 두개 이상의 소수의 곱이다.(비소수)동작 과정1은 제거지워지지 않은 수 중 제일 작은 2를 소수로 채택하고 2의 배수를 모두 지운다.지워지지 않은 수 중 제일 작은 3을 소수로 채택하고 나머지 3의 배수를 모두 지운다.지워지지 않은 수 중 제일 작은 수 중 제일 작은 5를 소수로 채택하고 나머지 5의 배수를 모두 지운다.이러한 과정을 반복한다.코드(Python)n = int(input()) a = [Fals..
조합과 순열 1. 조합집합에서 일부 원소를 취해 부분집합을 만드는 방법서로 다른 n개의 원소에서 중복을 허용하지 않고 k개를 뽑는 경우의 수순서가 없음- 조합의 수(Python)1234def combination(n, r): if n == r or r == 0: return 1 else: return combination(n-1, r-1) + combination(n-1, r)combination(5, 3)Colored by Color Scriptercs- 조합 출력(Python)123456789101112def combination(comArr, n, r, index, target, arr): if r==0:print(comArr) elif target==n: return else: comArr[index] = a..
01. Pandas 기초 01. Pandas In [28]: from IPython.core.display import display, HTML display(HTML("")) Pandas¶ 데이터 분석을 위해 널리 사용되는 파이썬 라이브러리 패키지 수치 테이블 및 시계열을 조작하기 위한 데이터 구조 및 연산을 제공 In [1]: import pandas as pd 1. 데이터 불러오기¶ csv: pd.read_csv('') excel: pd.read_excel('') encoding : 'utf-8', 'cp949', 'ISO-8859-1' In [2]: # csv 파일 불러오기 df = pd.read_csv('./01. CCTV_in_Seoul.csv', encoding='utf-8') # head(), tail() df.h..
(파이썬) 백준 알고리즘 10422번 괄호 문제풀이 (Python) 123456789101112131415161718192021def binomial(n, k): res = 1 for i in range(k): res = res*(n-i) res = res//(i+1) return res def catalan(n): c = binomial(2*n, n) return c//(n+1) T = int(input()) for i in range(T): n = int(input()) if n % 2 != 0: print(0) continue print(catalan(n//2)%1000000007)cs키워드 (Keyword)키워드 카탈란수 참조https://ko.wikipedia.org/wiki/%EC%B9%B4%ED%83%88%EB%9E%91_%EC%88..