전체 글

Java, Spring 개발자 강하렴입니다.
개발일지/Trouble Shooting

<SQL> XML 에서 IF 문의 활용과 NULL값 처리

1. XML 에서 IF 문의 활용과 NULL값 처리 나는 사내 프로젝트를 진행하며 네이버 지도를 구현했다. 프로젝트는 두개의 TABLE을 활용했는데 하나는 Naver Map의 지도 정보를 담고있는 TABLE과 또 하나는 Naver Map의 누적 조회수를 담고 있는 테이블이었다. 프로젝트에서는 Naver에서 제공하는 API인 GeoCode와 Naver Map API를 사용해야 했는데 두가지 모두 300만회를 조회하면 유료 결제를 해야하기 때문에 그동안 몇회를 조회했는지 확인 할 수 있는 테이블을 만들어야 했다. 그 중에서도 네이버 지도 월간 조회수를 검색하는 쿼리에 대해서 트러블 슈팅한 것을 이야기해보려고 한다. SELECT COUNT(CNT) FROM TB_N_API_CNT_HIST WHERE CURRE..

개발일지/개발자의 잡다한 주옥같은 지식 [ 개잡주 ]

add가 아닌 append를 사용하는 이유는 무엇일까?

StringBuffer를 공부하던 중 문득 append라는 메소드가 낯설게 느껴졌다. append 메소드는 리스트에서 사용된다면 리스트에 요소를 추가하는 메소드로 리스트 마지막에 순차적으로 요소를 추가하는 메소드이고 문자열에 사용되면 기존에 있던 문자열에 새로 입력한 문자열이 추가된다. 즉, 새롭게 더해주는 역할로 활용되는 메소드이다. 나는 이 부분에서 의문이 생겼다. '추가되는 문자열이라면 add라는 단어가 더 널리 쓰이는 표현이지 않나?'라는 생각이 들었다. 따라서 add와 append의 차이에 대해서 알아보게 되었다. 1. 구문에서의 add와 append의 쓰임은 비슷하게 쓰인다. 하지만 add의 경우에는 새롭게 무언가를 추가하는 개념으로 쓰이고 append는 어딘가에 붙히다라는 개념으로 쓰인다는 ..

개발일지/개발자의 잡다한 주옥같은 지식 [ 개잡주 ]

계좌점유인증이란 무엇일까?!

알고보면 어딘가 쓸데 있는 개발자의 잡다한 주옥같은 지식 계좌점유인증(1원 인증) 이란 무엇인가?! 계좌점유인증(1원 인증)은 입력한 금융 계좌로 1원을 송금했을때 실제로 입금을 받을 수 있는지, 그리고 회원이 내역을 확인할 수 있는 계좌인지를 확인하는 절차다. 가령 로그인 인증을 하거나 회원가입을 할 때 OTP인증을 하듯 계좌에 1원을 송금하여 인증번호를 확인하는 방식을 두고 개좌점유인증이라고 한다. 계좌점유인증(1원 인증) 프로세스는 다음과 같다. 1원 송금 본인 계좌 접속 및 입금내역 확인 입금자명의 4자리숫자를 화면에 입력 1원 인증 완료 내용 정리하기 계좌 점유 인증은 본인확인 인증을 위한 절차 중 하나로 본인의 계좌에 1원을 송금하고 알게된 숫자 또는 문자 정보를 입력하는 방식의 인증 절차를 ..

개발일지/Today I Learn

[ TIL ] OTP 코드에서 난수를 Random이 아닌 SecureRandom으로 생성하는 이유에 대해 알아보자

otp는 유저 인증을 위해 사용되는 인증 코드이다. 이러한 인증코드는 당연 난수로 만들어지게 된다. 즉, 랜덤(random)한 값으로 만들어지게 된다. 그렇다면 OTP 코드를 math.random()으로 간단히 구현하면 될까? 아니다. random은 치명적인 단점을 가지고 있다. Random의 단점과 SecureRandom의 장점 Random의 단점과 SecureRandom의 장점은 본문을 작성하는 이유이자 핵심적인 부분이다. 우선 Random과 SecureRandom은 난수를 만든다는 점에서 공통점이 있다. 하지만 "Random은 가짜 난수"를 "SecureRandom은 진짜 난수"를 생성한다. "Random은 가짜 난수" random은 '의사난수(Pseudo Random)'이다. 의사난수란 특정한 규..

Kangharyeom
강하렴의 개발일지