실행환경 Python 3.7.3 Django 2.1.7 PyCharm 개요 Python+Django로 처음 웹프로젝트를 시작하려는 사람들을 위해 index 페이지를 띄우기까지 포스팅을 하려한다. 기본적으로 Python 및 Django가 설치되어있다는 가정하에 진행하도록 하겠다. 프로젝트 생성 먼저, Django 프로젝트를 생성해주어야한다. 터미널에서 저장 폴더로...
Garbage Collection 가비지 컬렉션의 기본 개념은, 더이상 사용되지 않는 오브젝트들을 자동으로 메모리에서 제거하여 사용가능한 메모리 공간을 확보 하는것이다. 자바에서는 JVM 에서 가비지 콜렉터(Garbage Collector)가 자동으로 처리를 해주기 때문에, 개발자가 메모리를 처리하기위한 로직을 만들필요가 없다. JAVA...
ELB Elastic Load Blancing , 이름에서 알수있듯이 로드밸런싱의 주된 기능은 부하 분산이다. 트래픽을 설정알고리즘을 통해 여러대의 서버로 분산시켜 하나의 서버에 트래픽이 몰리는 일을 방지시켜준다. ELB 알고리즘 RR (Round Robin) Hash-ip Sticky session 등 ELB 구조...
JAVA 3대 구성요소 JAVA의 3대 구성요소로는 다음과 같다. JVM, JRE, JDK 이 세가지 구성요소에대해 알아보고자 한다. JVM 자바의 고유한 장점인 OS에 상관없이 실행되는 특징을 만들어주는 JVM이다. JVM은 JAVA Vertual Machine 의 줄임말으로, JAVA Byte code를...
REST Representational State Transfer의 약자로, WWW와 같은 분산하이퍼 미디어 시스템에서 사용되는 아키텍쳐이다. REST 의 원칙을 잘 지킨서비스를두고 RESTful이라 칭하기도 한다. REST의 3대 구성요소 Resource http://taes-k.com/users Method HTTP POST Message {user:taeseong} REST의 특성 유니폼 인터페이스 HTTP...
퀵정렬 기본개념 분할정복 알고리즘의 하나로 이름에서 알수있듯이 평균적으로 매우 빠른 수행 속도를 자랑한다. 리스트중 하나의 요소를 선택하여 선택요소보다 작은 값을 좌측, 큰값을 우측으로 나누어 정렬해나가며 더이상 분할이 불가능 할때까지 반복한다. 정렬 진행순서 [8,5,4,3,9,2,7,6,1] 1회 :...
Sort 기본적으로 작은순서에서 큰순서로 정렬함을 의미한다. 많은 정형화된 정렬 알고리즘들이 있고 이번 포스트에서는 정렬알고리즘들에대해서 정리해보려고한다. 기본적으로 널리알려진 정렬 알고리즘들에 대해 정리해보자면 다음과 같다. 삽입 정렬 선택 정렬 버블 정렬 셸 정렬 퀵 정렬 힙 정렬...
Dynamic programming 주로 특정 범위 혹은 조건까지의 값을 구할때, 값을 효율적으로 구하기 위한 알고리즘이다. 답을 저장시키며 재활용하여 다음 해를 구하는데 사용함으로써, 속도가 빠르다는 장점이있다. 동적프로그래밍을 사용하는데 유명한 예제로써 설명하도록하겠다. 피보나치 수열 계산 1 1 2...
숫자야구 다음에서 직접 해볼수 있다. https://scratch.mit.edu/projects/131352991/ JAVA 로 구현하기 [[123, 1, 1], [356, 1, 0], [327, 2, 0], [489, 0, 1]] [제출값 , strike, ball] 이 다음과같이 주어질때, 정답으로 가능한 숫자들을 제시해주도록 하겠다. 기본적으로 앞선...
순열 (Permutation) 수학에서, 순서가 부여된 임의의 집합을 다른 순서로 뒤섞는 연산으로, 서로다른 n개의 값에서 r 개를 골라 나열하는것이다. 학창시절 nPr으로 나타내던 식으로 갯수 공식은 다음과 같다. - nP0 = 1 - nPr = n! /...
Heap 우선순위 큐를 위하여 만들어진 자료구조로 완전 이진 트리의 일종이다. 데이터들중 최댓값 / 최솟값을 빠르게 찾아낼수 있다. 힙은 완전한 정렬이아닌 반정렬 상태로 유지되어진다 (상위레벨은 하위레벨보다 크거나 작다.) 종류 최대힙 부모노드의 키값 >= 자식노드의 키값 루트노드에...
Hash Function 해쉬함수는 임의이 길이의 데이터를 고정된 길이의 데이터로 매핑시키는 함수이다. 해시를 이용해 데이터를 정리하면 정렬을 하지 않고도 빠른검색 및 삽입이 충분히 가능해진다. 예를들자면 [1,4,7,13,16]의 데이터 가 있는상황에서 크기가 7인 배열에 정리하고자 한다면 해쉬함수를 %7으로...
Spring boot? JAVA기반 웹 프로그래밍을 할때 가장 유명한 프레임워크를 꼽자면 단연 Spring이라 할수 있을것이다. Spring boot 라 하면 생소한 사람들도 있을수 있으나 스프링에서는 2014년 꽤나 최신 버전으로 스프링 프레임워크 프로젝트를 간편하게 세팅할 수 있도록 도와주는...
Spring boot deploy 지난번 글에서 Spring boot로 프로젝트 만드는법을 알아보았다. 이번 포스팅에서는 Spring boot 에서 오나성시킨 프로젝트를 서버에 배포시키는 과정에대해서 포스팅 하려 한다. War 파일 export하기 Spring boot project의 경우 그냥 export를 하게되면 빌드파일이 빠져서...
Tomcat admin manager 사용하기 2019-03-08 00:00:00 +0000 Tomcat admin 먼저, tomcat admin에서 어떤기능들을 사용 할 수 있는지 살펴보자. admin manage 페이지는, tomcat 설치시 tomcat-admin을 함께 설치해야 사용 가능하며 웹서버주소/manager/html으로 접속 가능하다. tomcat 계정 설정이 안되어있다면...