본문 바로가기

전체 글

(18)
async await 구현 후 promise 객체 반환 후 사용 예제 함수 구현부 async function chkNpayRegYn() { let isNpayRegYn = ""; try { const response = await fetch("/nPay/getNpayUserInfo", { method: "POST", headers : { "Content-Type": "application/json" }, body: "" }); const result = await response.json(); console.log(result); isNpayRegYn = result.isNpayRegYn; return isNpay..
javaScript 동기 처리 시 콜백 함수 쓰는 소스코드 //callBack 지옥 예제 firstFunc(1, 2, function(result) { console.log("puls func execute!") console.log("result는 함수::결과값:::",result); secondFunc(3,4, function(result2) { console.log("second end result:::",result2); thirdFuncAjax(5,6, function(result3) { console.log("third end result::",result3); }); }); }); function firstFunc(a, b, callbackFunc) { var sum = a + b; console.log("test1"); setTimeout(func..
Mysql Not in 속도로 인한 문제시... A 테이블는 대략 600만건의 데이터가 B 테이블에는 1100만건 이상의 데이터가 있다고 가정하고 특정 날짜 하루동안 A , B 의 데이터를 비교해서 A 테이블에만 존재하는 데이터를 뽑을 때 흔히 not in 을 쓰게 되는데 .. not in 은 수백만건의 데이터에 대해 조건을 걸 시 쿼리가 수행되지 않는 경우가 많다 그럴 경우 left join 을 이용하여 B 테이블에 null 인데이터만 가져오는 조건으로 처리한다 예시 쿼리 SELECT A.USER_IDX FROM ( SELECT USER_IDX FROM TB_ATTEND WHERE ATTEND_DTTM BETWEEN DATE_FORMAT('2021-10-21', '%Y-%m-%d 00:00:00') AND DATE_FORMAT('2021-10-21'..
MYSQL DELETE 시 속도 개선 일반적으로 DELETE 를 하는 경우에 속도문제가 발생하진 않습니다 하지만 문제가 생기는 경우가 있는데 DELETE 를 할 때 특정 테이블에 데이터를 SELECT 해와서 그걸 IN 구절안에 쓰게 될 경우에 발생합니다. 대부분 아래와 같은 쿼리를 한번 보시죠 우선 TB_MED_ALARM 과 TB_MED_ALARM_RST 테이블이 있습니다. 관계는 1 : N 의 관계를 형성하고 있죠. TB_MED_ALARM 테이블은 데이터가 대략 4만 TB_MED_ALARM_RST 테이블은 데이터가 대략 100만건 정도가 있습니다. 해당 쿼리를 수행하게 되면 대략적으로 수행시간은 26초 정도 걸리게 됩니다. DELETE FROM TB_MED_ALARM_RST WHERE ALARM_IDX IN ( SELECT ALARM_ID..
JPA 어노테이션 정리 JPA에서 쓰이는 어노테이션을 정리. @NoRepositoryBean : 노테이션은 이 인터페이스가 Repository 용도로서 사용되는 것이 아닌 단지 Repository의 메서드를 정의하는 인터페이스라는 정보를 부여합니다. @id : 기본키로 설정. @Entity : 데이터베이스의 테이블과 일대일로 매칭되는 객체 단위이며, Entity 객체의 인스턴스 하나가 테이블에서 하나의 레코드 값을 의미한다. 객체의 인스턴스를 구분하기 위한 유일한 키값을 가지는데 이것의 테이블 상의 Primary Key와 같은 의미를 가지며 @Id 어노테이션으로 표기. spring.jpa.hibernate.ddl-auto 설정이 create 혹은 update로 되어 있을 경우 프로젝트가 시작될때 entityManager가 자동..
Oracle Sequence 생성 CREATE SEQUENCE sequence(시퀀스명) START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER sequence(시퀀스명) BEFORE INSERT ON TB_PTN_INFO(테이블명) REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT sequence.nextval INTO :NEW.PTN_NO FROM dual; END;
개발자를 위한 web editor 사이트 모음(지속적으로 업데이트) 개발자가 사용할만한 쓸만한 사이트를 모아 봤습니다. 1.epoch 타임을 변환 및 확인하는 사이트 ->https://www.epochconverter.com/ Epoch Converter Convert Unix Timestamps (and many other date formats) to regular dates. www.epochconverter.com 2. Json 형식 데이터 포맷을 확인 및 체크해볼 수 있는 사이트 ->https://jsoneditoronline.org/ JSON Editor Online - view, edit and format JSON online jsoneditoronline.org 3. javascript 를 연습할 수 있는 사이트 -> http://jsfiddle.net/..
정규식 언제나 정규식은 찾아보게 됩니다 ㅠㅜ 일일히 공부하는것도 쉽지 않고... 자주 쓰이는것 위주로 정리하려 합니다. 제일 중요한 정규식 테스트 사이트(개꿀!!) https://regexr.com/ 1. 비밀번호 최소 하나의 문자 + 하나의 숫자 + 하나의 특수 문자 포함, 최소 6자리 function validatePassword(character) { return /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{6,}$/.test(character) } 2. 영문 숫자 특수문자 var regexp = /[0-9a-zA-Z.;\-]/; // 숫자,영문,특수문자 3. 10~20글자 특수문자 허용. var regexp = /^(?=.*[a-zA-Z])..