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 계정 설정이 안되어있다면...
Nginx vs Apache 웹개발을하는데 있어서 반드시 필요한 웹서버. 그중에서도 모두들 들어봤을 Nginx 와 Apache를 동작방식에 근거하여 비교해보려한다. Apache Apache 국내는 물론 전세계적으로 아직까지 부동의 1위를 지키고 있는 웹서버이다. 웹서버의 표준을 잡았다고 해도 과언이 아닐것이다. 웹개발의...
Sysstat 으로 시스템리소스 모니터링하기 2019-03-07 00:00:00 +0000 설치환경 OS : Ubuntu 14.04 Sysstat 시스템 리소스 자원 감시도구로써 CPU, Memory, Process 갯수, Network 등의 일련의 시스템 자원 사용 현황들을 모니터링 할 수 있다. 설치 $ sudo...
AWS 시작하기 먼저, https://aws.amazon.com/ 아마존 웹사이트에서 가입을 진행해준다. 결제 카드 등록의 경우 처음시작하면 프리티어 한도를 넘지 않는 이상 결제가 일어나지 않는다. 이 포스트에서는 프리티어로 사용 할 수 있는 마이크로T2 서버를 생성 하고 운영하는것에 대해 포스팅...
SSL HTTPS 에서 이용되는 프로토콜인 SSL(Secure Socket Layer)는 간단히 이야기해서, 웹서버와 브라우저(클라이언트) 사이의 보안을 위하여 CA라 불리는 제3인증을 통해 보증 한다. HTTPS 통신 일반적인 통신인 HTTP에보안이 추가된 + over SSL 의 의미의 약자로써 HTTPS는 일반...
Oauth2
crontab unix 계열 운영체제에서 반복되는 작업을 수행시키기 위해 crontab을 이용하여 스케쥴을 등록시켜두고 설정한 시간에 맞추어 반복작업을 시킬 수 있다. 명령어 crontab -l을 통하여 현재 스케쥴 등록 리스트를 볼 수 있으며 crontab -e를 통해 스케쥴 작업...
SSL 일반적으로 HTTPS 에서 이용되는 프로토콜인 SSL(Secure Socket Layer)는 간단히 이야기해서, 웹서버와 브라우저 사이의 인증을 하는 기술이다. SSL에 대한 자세한 설명은 SSL 이란? 이번 포스트에서는 Nginx 에서 SSL 설정하는 방법에 대해서 정리한다. nginx 환경설정 수정하기....