본문 바로가기

개발이야기/개발방법9

[query] where 1=1 조건문이 있는경우 가끔 운영되고 있는 코드 중에도 where 1=1 이라는 sql 조건문이 보이는 경우가 있습니다.성능에도 영향이 없는 true 값이기에 문제가 없잖아 라고 하시는 분들도 계시지만 피하는것이 좋습니다.WHERE 1=1 AND column = 'column' -- AND column2 = 'column'상기처럼 sql 편집기에서 원하는 결과가 나오는지 확인하기 위한 용도로 사용할때 주석처리 유무로 조건을 조정할때 용이한 면이 있습니다. 하지만 코드상에 굳이 이런 부분을 남겨놓을 필요가 없음으로 제거를 해야 함이 맞습니다.간혹 문제가 있는 상황이 발생하기도 합니다.WHERE 1=1 AND column = #{columnValue} 상기의 경우 columnValue 값이 null or empty .. 2025. 1. 26.
[query] between 대신 부등호 연산자(<, >, <=, >=)로 조건을 거는 이유 이미 운영이 되고 있는 소스중에 가끔씩 select * from table where date_column between '2024-01-01' and '2024-12-31';라는 쿼리 대신에 select * from table where date_column >= ' 2024-01-01 ' and date_column 이런식으로 되어 있는 소스가 있습니다.가독성으로는 between이 더 깔끔하기도 할거 같은데 굳이 부등호 연산자를 사용하는 이유가 있을까 하는 궁금증이 들었던 시절이 있었습니다.상기의 케이스는 동일한 결과값과 동일한 성능을 보여줍니다. 복잡하한 쿼리의 경우 미세하게 부등호 연산자가 좋다라고 하지만 부등호 연산자를 꼭 써야할만큼 유의미한 성능차이는 아닙니다.다음의 경우 between을 사용.. 2025. 1. 5.
[java] try-with-resources 일전에 코드리뷰를 할 때 였습니다.try문 끝부분에 finally 가 보이지않아 지적을 했다가 챙피했었던 경험이 기억납니다try-finally 구조는 주로 다음과 같은 상황에서 사용됩니다:리소스 정리: 파일, 네트워크 연결, 데이터베이스 연결 등의 리소스를 사용한 후 반드시 닫아야 할 때 사용합니다.예외 처리 위임: 현재 메서드에서 예외를 처리하지 않고 상위 호출자에게 예외 처리를 위임할 때 사용합니다.그러나 이제는 다른형식으로 사용가능합니다.Java 7 이상에서는 try-with-resources 구문을 사용하여 리소스 관리를 더 효과적으로 할 수 있습니다자원을 자동으로 관리하고 닫아주는 편리한 구문입니다. 이 구문을 사용하면 개발자가 명시적으로 자원을 닫지 않아도 되므로 코드의 안정성과 가독성이 향상.. 2024. 12. 10.
크론탭 표현방식(crontab) 7개의 값으로 이루어짐초, 분, 시, 일, 월, 요일, 년EX) 20 10 6 1 1/1 ? *-> 해석: 모든년도 특정요일 지정없이 모든 월 매월 1일 오전 6시 10분 20초에 실행.* 요일지정요일지정기타 표현방법0 or 7일요일- (1-3)범위지정(1부터 3까지)1월요일/ (초기값/증가값)/(0/5)증가값지정 / 매 5 반복2화요일?특정값이 없음3수요일*모든값4목요일, (1,3,4)여러값 (1 과 3과 4)5금요일  6토요일 2024. 12. 7.
[JavaScript] 느낌표 두개(!!), 느낌표 세개(!!!) 느낌표 두개(!!) 는 undefined, "", 0 값은 false. 그외에는 true 값을 리턴합니다.느낌표 세개(!!!) 는 두개(!!) 의 부정으로 사용합니다. 예) var testVal = null;alert(!!testVal);알림창 : falsealert(!!!testVal);알림창 : true값이 존재하는지 자바스크립트에서 사용할때 사용하면 편리하겠습니다. 2020. 5. 30.
[SQL] 주차 요일 기준 날짜 추출 SELECT TO_CHAR( TRUNC(NEXT_DAY(TO_DATE('&년도'||'01', 'yyyymm')-1, TO_NUMBER(TO_CHAR(TO_DATE('&년도'||'0101','YYYYMMDD'), 'D'))), 'iw') /* 해당년도 1주차 월요일 */        + '&주차' * 7 - '&요일' /* 주차 일자 계산 (일자: 7:월,6:화,5:수,4:목,3:금,2:토,1:일)*/        , 'yyyymmdd') ymd   FROM DUAL ; 지정일자 기준 작년 주차요일 날짜 추출SELECT TO_CHAR( TRUNC(NEXT_DAY(TO_DATE(TO_CHAR(ADD_MONTHS('&TDATE',-12),'YYYY')||'01', 'yyyymm')-1, TO_NUMBER(TO.. 2020. 4. 19.