본문 바로가기

전체 글

(35)
(spring) Exception 이녀석........ 예외... 그냥 throws Exception에 try-catch(Excetption e) 박았는데............. try-catch를 매 클래스마다 박는건 비효율적이래요. ? 생각해보면 당연한데.. 난 생각을 안했지....... 예외부터 제대로 알아봐야겠는데... 왜 봐도봐도 모르겠냐 예외를 지정하는 방법은 여러가지가 있는데 처리되는 순서대로 알아봅시다. 1. @ExceptionHandler  특정 컨트롤러에서 예외를 처리하기 위해 사용됩니다. @Controllerpublic class MyController { @GetMapping("/example") public String example() { throw new RuntimeException("Exception 발생..
Logger 딱 대 + 피곤해서 막 썼는데 나중에 수정하겠습니다. 그냥 대충 이해정도로만 봐주세요. 하하.. System.out.println()만 썼던 사람? 저요... 요점? 개발자들은 Logger 쓴단다... Logger? Logging? 문제 발생 시 원인 분석을 위한 정보 확인용으로 많이 쓰죠? org.slf4j slf4j-api ${org.slf4j-version} ch.qos.logback logback-classic 1.2.3 저는 일단 의존성이 2개 추가돼있는데 하나하나 알아봅시다. 아지삭들이 뭔지부터 알아야겠어. 1. SLF4JSimple Logging Facade for Java 로깅 프레임워크에 대한 일관된 추상화 계층을 제공하는 라이브러리런타임 시에 다양한 로깅 프레임워크 선택하여 사용역시 오늘도 바..
[Oracle] 트리거 트리거도 프로시저 입니다. 근데 왜 굳이 트리거라고 할까요? 특정 이벤트가 발생할 때 자동으로 호출되는 프로시저를 트리거라고 부르기로 했습니다.데이터 무결성 유지 감사 및 로그 기록자동화된 비즈니스 로직 적용이런 목적으로 트리거를 활용한다고 하네요.  정리하자면 프로시저는 복잡한 비즈니스 로직을 캡슐화 하여 재사용할 때 사용하고, 트리거는 주로 데이터 변경 이벤트에 반응하여 자동으로 처리해야 하는 작업을 의미합니다. 그럼 이벤트가 뭘까요? 주로 INSERT, UPDATE, DELETE와 같은 DML작업을 말합니다.CREATE [OR REPLACE] TRIGGER trigger_name{BEFORE | AFTER} {INSERT | UPDATE | DELETE}ON table_name[FOR EACH RO..
[Oracle] 프로시저 프로시저는 자주 사용하는 SQL을 만들어 두고 필요할 때마다 호출해서 사용할 수 있습니다.  함수랑 비슷한데 함수는 결과 값을 반환하고, 프로시저는 로직을 처리하기만 하고 결과 값은 반환하지 않습니다.CREATE OR REPLACE PROCEDURE p_nameASBEGIN--- 로직END; 이게 기본 구성입니다. 매개변수 받을 수 있습니다. CREATE OR REPLACE PROCEDURE p_name( parameter1 IN data_type, parameter2 IN data_type, parameter3 IN OUT data_type)ASBEGINEND; IN - 호출할 때 입력으로 제공하는 매개변수OUT - 호출 후 결과를 반환하는 매개변수IN OUT - 호출 시 입력으로 제공되고 ..
[Oracle] 날짜 내장 함수 1. 현재 시간 SELECT SYSDATE FROM DUAL; // 24/06/15SELECT CURRENT_DATE FORM DUAL; // 24/06/15SELECT SYSTIMESTAMP FROM DUAL; // 24/06/15 00:00:00.000000000 + 09:00SELECT CURRENT_TIMESTAMP FROM DUAL; // 24/06/15 00:00:00.000000000 + 09:00 2. 날짜 형식 변경ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';ALTER SESSION SET TIME_ZONE = '09:00'; // 한국 시간 * 참고로 SYSDATE는 오라클 시스템 날짜이고, CURRENT_DATE는 TIME..
[Oracle] 숫자 내장 함수 1. ABS - 절대값SELECT ABS(35), ABS(-35) FROM DUAL; // 35, 35 2. SIGN - 양수/음수/0 확인SELECT SIGN(35), SIGN(-35), SIGN(0) FROM DUAL; // 1, -1, 0 3. ROUND - 반올림SELECT ROUND(34.35), ROUND(34.63) FROM DUAL; // 34, 35SELECT ROUND(34.352, 2), ROUND(34.637, 2) FROM DUAL; // 34.35, 34.64 4. TRUNC - 몫SELECT TRUNC(17/5) FROM DUAL; // 3 5. MOD - 나머지SELECT MOD(17,5) FROM DUAL; // 2 6. POWER - 제곱SELECT POWER(5,2) F..
[Oracle] 문자열 내장 함수 1. SUBSTR - 문자열 자르기SELECT SUBSTR('HELLO', 1,3) FROM DUAL; // 1번째부터 3개 자르기SELECT SUBSTR('HEELO',3) FROM DUAL; // 3번째부터 끝까지 자르기 SELECT SUBSTRB('안녕하세요',1,3) FROM DUAL; // 첫 3바이트 추출 // 안 * 참고로 영어는 1byte이지만 한글은 UTF-8 인코딩에서는 3byte , UTF-16 인코딩에서는 2byte를 차지합니다. 2. CONCAT - 문자열 합치기SELECT CONCAT('HE','LLO') FROM DUAL;SELECT 'HE'||'LLO' FROM DUAL; * 참고로 || 연산이 더 빠릅니다. 3. TRIM - 공백 제거SELECT LTRIM(' HELLO '..
Ajax Ajax는 비동기 작업이다. 페이지를 새로 로드하지 않고 서버와 데이터를 주고 받을 수 있다.  간단하게 이렇게만 알고있는데.. 사용도 찾아보면서 필요한거 고쳐쓰고 이렇게 썼었는데... 정리좀 해봐야겠다.$.ajax({ url: 'example.com/data', method : 'GET', headers: { "Content-Type": "application/json" }, dataType : 'json', // 기본이 json data: JSON.stringify({key: 'value'}), success : function(data){ console.log('success:', data); }, error: function(xhr, status, error..