일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- list
- 알고리즘
- SSL설정
- 파사드패턴
- 초(second)
- 조인
- map
- 자바
- 디자인패턴
- Flyweight Pattern
- 매일프로그래밍
- json
- 시간더하기
- 분(minute)
- oracle
- SpringBoot
- 스트레티지패턴
- 널체크
- boot
- java
- jQuery
- ThreeWayPartition
- 자바스크립트
- 생년
- degien pattern
- spring
- JavaScript
- 시(hour)
- 병합정렬
- 곱 최대값
- Today
- Total
목록IT (37)
만들어가는 세상
문제를 풀어보진 않았습니다. 개념 이해 및 공유 차 내용 포스팅 합니다. 문제 정수 배열이 주어졌을 때, 배열 안에서 곱이 최대가 되는 두 정수를 찾으시오. 매일프로그래밍 문제 기준 Input: [-10, -3, 5, 6, -2] Output: [-10, -3] 또는 [5, 6]풀이1 단순한 방법은 모든 쌍에 대해 곱을 계산하는 것입니다. 계산한 쌍의 곱이 이전보다 크면 새로운 쌍의 곱과 두 수를 저장하면서 가장 큰 곱을 찾아갑니다. class FindMaximumProduct { public static void findMaximumProduct(int[] A) { int max_product = Integer.MIN_VALUE; int max_i = -1, max_j = -1; // 모든 원소들의 쌍..
ORACLE과 전혀 다른 함수를 이용합니다. MySQL에서 특정 시간을 기준으로 더하거나, 빼야 하는 경우가 있습니다. 이 때 사용하는 함수가 DATE_ADD와 DATE_SUB입니다. 특정 사용을 예를 들면 게시판에 새글이 표시될때 제목에 NEW 아이콘을 유지할 경우 (현재 날짜-7 < 게시글 등록일 기준으로 처리 하는 경우 입니다. 예 ) IF(DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -7 DAY) < REG_DATE, 'Y','N') AS NEW_YN DATE_ADD는 기준 날짜에 입력된 기간만큼을 더하는 함수입니다. DATE_SUB는 기준 날짜에 입력된 기간만큼을 빼는 함수입니다. 사용법 시간 더하기 DATE_ADD(기준 날짜, INTERVAL)..
SPRING BOOT에서 인증서 적용을 하기위해서는 JKS 또는 PKCS12 인증서가 필요합니다. 보통 인증센터에서 pem 파일만 받았을 경우, 변환 작업 또는 요청을 하면됩니다. 변환 시 참고해주세요. key.pem : 개인키 chain.pem : 내 기본 공개키 + 기타 정보를 포함한 공개 키 (Node Express 서버에서는 option의 cert에 이 파일 사용) cert.pem : 기본 공개키1단계 PKCS12로 변환하기 이렇게 3개의 pem 인증서가 있을 경우 openssl 커맨드를 활용하여 "개인정보보교환" 유형의 PKCS12 키를 생성합니다. openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert_and_key.p12 -name ttp..
생년(YYYY) 입력 시 나이 값 자동 계산하는 로직입니다. 반대로 나이 입력 시 생년(YYYY) 처리하는 로직 입니다. 생년 나이 script 로직 입니다. 결과값
여러 정보를 찾아보았지만 제가 원하는 포스팅 로직이 없어서 추가하였습니다. 시(hour)분(minute)초(second) 입력 시 합산된 초(second)가 나타납니다. 반대로 "초를" 시(hour)분(minute)초(second) 변경하는 로직도 같이 처리 하였습니다. 시(hour)분(minute)초(second) 초로 초를 시(hour)분(minute)초(second) script 로직 입니다.
파사드 패턴(facade pattern) 개념 Gof 서적에 따르면 Facade 패턴은 "하위 시스템을 보다 쉽게 사용할 수 있게 해주는 고급 인터페이스를 정의한다." 라고 되어 있습니다. Facade 패턴은 어댑터 패턴과 거의 같은 방식으로 작동하지만 서로 다른 목적을 가지고 있습니다. Adapter 패턴은 원래 코드를 다른 코드와 작동할 수 있는 래퍼를 제공한다. Facade 패턴은 원래 코드를 더 쉽게 처리 할 수 있는 래퍼를 제공한다. 사용 예 : 캡슐화되지 않은 코드를 처리 할때 Facade 패턴을 사용한다. 원하는 코드를 다시 작성할 수 없을 때 일반적으로 Facade 패턴을 사용한다. Facade를 사용하면 문제를 해결할 수 있지만 기본 코드가 변경되면 Facade 패턴도 변경해야 한다. 이..
병합 정렬 개념 병합 정렬은 여러 개의 정렬된 자료의 집합을 결합해 하나의 집합으로 만드는 정렬 방법이다. 이 정렬은 전체를 상대로 수행하지 않고 분할(Divide)한 뒤 각 부분집합들에 대해 정렬한 후 다시 결합(Combine)하는 분할 정복(Divide and Conquer) 기법을 사용한다. 분할 정복법(Divide and Conquer)은 여러 알고리즘의 기본이 되는 해결방법으로, 기본적으로는 엄청나게 크고 방대한 문제를 조금씩 조금씩 나눠가면서 용이하게 풀 수 있는 문제 단위로 나눈 다음 그것들을 다시 합쳐서 해결하자는 개념에서 출발하였다. 대표적으로는 퀵소트 나 합병정렬이 있다. 매일프로그래밍 문제 기준 문제 사이즈가 m인 배열 X와 사이즈가 n인 배열 Y가 주어집니다. 두 배열은 모두 정렬된..
계수 정렬 개념 계수 정렬(Counting Sort)이란? 데이터 값을 직접 비교하지 않고, 단순하게 개수를 세어 기록하고 정렬하는 방식이다. 값 비교가 일어나지 않기 때문에 속도가 매우 빠르다. 하지만 개수를 저장하는 배열, 정렬할 배열을 위한 추가 공간이 필요하다. 또한 숫자가 매우 큰 경우에는 속도가 현저히 느려질 수 있다. 매일프로그래밍 문제 기준 문제 원소가 0, 1, 2로 구성된 배열이 주어졌을 때, 상수 공간을 이용해 선형 시간에 배열을 정렬하시오. 문제의 핵심은 주어진 배열만을 이용하는것 입니다. 주어진 배열로 Output을 처리하려면 병합정렬을 사용하면 됩니다. Input: [0, 1, 2, 2, 1, 0, 0, 2, 0, 1, 1, 0] Output: [0, 0, 0, 0, 0, 1, ..