암호화 알고리즘 1. 대칭키 알고리즘(Symmetric Encryption) : 암호화 - 복호화 할 때 같은 키값을 이용 2. 비대칭키 알고리즘(Asymmetric Encryption) : 암호화 - 복호화 할 때 다른 키값을 이용 3. 해싱(hashing) : 단방향으로 암호화만 가능하고 복호화 할 수 없다. 비밀번호 등에 이용. 알고리즘 종류 비고 대칭키 DES, 3-DES, AES(128bit, 256bit), SEED, ARIA AES가 가장 보편적으로 이용 비대칭키 RSA, ECC, DSS 해싱 MD5, SHA-0, SHA-1, SHA-2 crytojs는 자바스크립트 기반으로 암/복호화를 제공하는 라이브러리로 쉽고 간단하게 적용 가능하다. 사이트 : cryptojs.gitbook.io/docs..
Back-end와 front-end의 분리, MSA 설계 등에서 많이 필요로 하는 기능입니다. Log in 한 후에 세션 정보를 브라우저에서 갖고 있을 때 web storage에 보관하고 꺼내 쓸 때 유용합니다. 아래는 조사하면서 필요한 정보를 정리한 것입니다. Web Storage란 무엇인가? 웹 스토리지를 사용하면 웹 애플리케이션이 사용자의 브라우저 내에 로컬로 데이터를 저장할 수 있습니다. HTML5 이전에는 애플리케이션 데이터를 모든 서버 요청에 포함 된 쿠키에 저장해야했습니다. 웹 저장소는 더 안전하며 웹 사이트 성능에 영향을주지 않고 많은 양의 데이터를 로컬에 저장할 수 있습니다. 쿠키와 달리 저장 한도는 훨씬 더 크고 (최소 5MB) 정보가 서버로 전송되지 않습니다. 웹 스토리지는 오리진 (..
기존에 슬랙을 통해 장애 알림을 만들어서 이용했습니다. 그런데 슬랙이 메모리도 많이 차지하고 리소스를 많이 사용합니다. 더군다나 핸들폰에 카톡, 라인을 쓰는데 슬랙까지 사용할려고 하면 굉장히 부담이 되는 부분이 있습니다. 라인의 nofify를 이용하는 경우 너무도 쉽고 간단하게 적용할 수 있다는 장점이 있습니다. 적용 프로세스 1. 장애 알림 단톡방을 하나 만듭니다. 2. https://notify-bot.line.me/my/ 사이트에 가서 로그인을 하고 해당 단톡방의 토큰을 만듭니다. 3. 단톡방에 Line Notify를 친구 추가 합니다. 4. rest api로 메시지를 전송하는 프로그램을 만들면 끝~~~ 상세 아래 사이트를 클릭해서 접속하시고 라인 계정으로 로그인을 합니다. https://notif..
1. 요청사항 - API 호출 했을 때 결과 값이 null 인 경우 ""값 치환 - Float, Double, Long, Integer 등 숫자 타입인 경우 문자 형태로 반환, 100 -> "100" 2. 환경 - spring boot : 2.2.6.RELEASE - java 1.8 - gradle-6.3 3. 작업 내용 - NullSerializer 생성 : null 값 치환 - NumberToStringSerializer 생성 : 숫자 값 치환 - CustomObjectMapper 생성 - WebMvcConfigurationSupport 구현 시 CustomObjectMapper를 Converter에 등록. NullSerializer.java public class NullSerializer exte..
String format 사용법 형식 %[argument_index$][flags][width]conversion Conversion Description s 문자 d 숫자 x 16진수 o 8진수 f 실수 e.g. String strTags = "학교종이 %s 어서 모이자 선생님이 우리를 %s %d"; strTags = String.format(strTags, "땡땡땡", "기다리신다", 12); System.out.println(strTags); Result 학교종이 땡땡땡 어서 모이자 선생님이 우리를 기다리신다 12 옵션 테스트 flag가 '-'인 경우 왼쪽 정렬이 된다. 길이 설정이 글자 보다 긴 경우 공백으로 채워진다. e.g. System.out.println("123456789012345678..
6자리 인증번호를 생성하는 예제입니다. import java.util.concurrent.ThreadLocalRandom; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomUtils; public class TestGen6Digit { /** * 6자리 인증키 생성, int 반환 * @return */ public static int generateAuthNo1() { return ThreadLocalRandom.current().nextInt(100000, 1000000); } /** * 6자리 인증키 생성, int 반환 * @return */ public static int generateA..
Rabbitmq, Toppic으로 보내고 받는 간단예제입니다. 보내고 받을 때 Queue name과 routing key 설정 하는 부분만 주의 깊게 보면 될거 같습니다. rabbitmq 설치 관련 내용은 생략하고 설치된 mq에 간단하게 보내고 받는 것만 예제로 만들어 봤습니다. Rabbitmq 설치하기 - mac os Homebrew 설치하는 법은 생략합니다. Brew install rabbitmq 설치 후 메시지 To start redis: brew services start redis Or, if you don't want/need a background service you can just run: /usr/local/opt/redis/bin/redis-server /usr/local/etc/re..
오라클을 사용하고 ONE TO MANY 관계인 테이블들을 조인해서 하나의 ROW로 보여 줄 때 편리한 함수입니다. Syntax LISTAGG(, ) WITHIN GROUP(ORDER BY ...) Example select s.student_id , s.student_nm , LISTAGG(b.subject, ',') WITHIN GROUP (ORDER BY b.subject) subjects from student s join subject b on s.student_id = b.student_id where student_id = '1234' group by s.student_id, s.student_nm order by s.student_id one-to-many 관계인데 하나의 row로 뽑아 달라..
회사에서 activemq를 도입해보고자 환경을 구축하고 테스트를 하는데 mq와 연결도 잘 안되고 이상한 에러가 발생합니다. 이럴때 activemq 프로젝트를 만들어서 연결 및 produce, reciever 를 테스트 하면 원인을 찾기가 수월합니다. 예제는 spring.io에 있는 내용을 그대로 따라했습니다. 출처 https://spring.io/guides/gs/messaging-jms/ What you'll need 대략 15분 정도 소요 eclipse jdk 1.8 or later Gradle Work flow 1. 프로젝트생성 2. build.gradle 수정 3. Source Coding 4. Test 1. 기본 Spring boot 프로젝트를 생성합니다. 2. build.gradle 수정 pl..
- Total
- Today
- Yesterday
- Javascript
- springboot
- 타임리프
- example
- thymeleaf
- 메시지
- spring
- 스프링
- oracle
- cache
- ag grid
- java
- 샘플
- 스프링부트
- SHEETJS
- listToMap
- 그리드
- 엑셀
- sample
- mapToList
- restful서비스
- 예제
- RESTful
- UI
- Spring Boot
- mybatis
- REST
- 설정
- AG-GRID
- lombok
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |