본문 바로가기
반응형

전체 글1073

[Oracle] 계층형 쿼리 사용법 계층형 쿼리라고 오라클에서 존재하는 문법이 있다. 테이블 내에서 예를들어 a b 대한민국 서울 서울 송파구 서울 강남구 송파구 방이동 송파구 문정동 이와 같이 a는 무조건 상위 개념이고 b는 무조건 하위개념인것처럼 이런 계층형을 만들수 있는 쿼리이다. 지금 처럼 주소 관련이나 상사, 하사 같은 개념을 표기할때 유용하게 쓰이곤 한다. 사용법 이전에 각 문법에 대한 개념 설명은 다음과 같다. 계층형 쿼리 : 부모, 자식 간의 수직관계를 트리 구조 형태로 보여주는 쿼리 START WITH : 트리 구조의 최상위 행을 지정 CONNECT BY : 부모, 자식의 관계를 지정 PRIOR : CONNECT BY 절에 사용되며 PRIOR에 지정된 컬럼이 맞은편 컬럼을 찾기 CONNECT BY PRIOR 자식 컬럼 = .. 2023. 2. 22.
Thread란? (process비교) 먼저 thread 에 알기 전보다 알아야할 것이 있다.그는 바로 프로세스라는것이고 프로세스와 thread 에 차이를 알아본다. 프로세스(process)란?프로세스(process)란 단순히 실행 중인 프로그램(program)이라고 할 수 있다.즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다.이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다.스레드(thread)란?스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미한다.모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다.또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded proc.. 2023. 2. 21.
@Transactional 사용시 주의 사항1 (checked Exception) 개발을 하다가 Transactional annotation을 사용하거나 본적이 있을것이다. 해당 어노테이션은 해당 메서드 내에서 어떤 작업들이 이루어지다가 에러가 날 경우 수행했던 작업을 모두 이전으로 돌려주는, Rollback시켜주는 작업이다. 하지만 모든 에러와 예외사항에 대해서 rollback이 되는것은 아니다. 해당 포스팅을 읽기 전에 에러와 예외에 관해서 아래 참고 포스팅을 읽고 오는것을 추천한다. 글을 읽고 왔다면 이제 에러와 예외(체크, 언체크) 에 대해서 구분을 할수 있을것이다. 자바 프레임워크에서는 기본적으로 Transactional 이 checked Exception 에 대해서는 롤백시키지 않도록 설계가 되어있다. 이유는 스프링 프레임워크가 EJB 관습을 따르기 때문이다. 만약 코드에서.. 2023. 2. 20.
Spring 에서 async 처리 (@Async) 스프링에서 비동기 처리를 위한 async 처리에 대해서 알아보려고 한다. async 에 대한 내용은 아래 참고 포스팅을 참고 바란다. 자바에서는 기본적인 비동기 처리를 위해 runnable Interface를 구현하여 Thread 클래스를 생성하여 사용한다. new Thread(new Runnable() { @Override public void run() { // do something } }).start(); 스프링에서는 비동기 처리를 효율적으로 관리하기 위해 @Async Annotation을 사용한다. 함수나 타입에 해당 어노테이션을 사용하여 비동기 처리를 진행할수 있다. 비동기 처리를 할 경우에는 유의사항이 몇가지 있다. 스레드 풀 관리 스레드 풀과 관련 설정은 프로퍼티에서 관리를 한다. 반환값 .. 2023. 2. 19.
[eclipse] 자동 import 현재 계속해서 수정하며 정리하고 있는 포스팅 중에 eclipse 단축키 모음 포스팅이 있다. https://thenicesj.tistory.com/49 eclipse 단축키 모음(mac기준) - 제가 보면서 사용하는 포스팅입니다. 점점 추가되며 수정될 예정인 포스팅입니다. command +shift + F = 자동정렬 자동완성 원래는 control + space라는데 난 안먹혀서 설정 > general > key > content assist 에 thenicesj.tistory.com 얼마전 매번 저장할때마다 자동 import를 셋팅하고 (shift + ctrl + O) 를 해주는게 귀찮아서 저장시 자동으로 체크해주는 방법을 알게 되어 공유한다. 파일을 저장할 때 자동으로 import 문이 삽입되도록 하.. 2023. 2. 18.
[Oracle] ORA-00001: unique constraint () violated ERROR ORA-00001: unique constraint () violated . 무결성제약조건 에러 ORA-00001 은 무결성 제약 조건 에러이다. 즉 PK, FK, Index Key, Unique Key 등 테이블에 중복이 있어선 안될 값이 들어가려고 할때 발생하는 에러이다. 값을 변경해주거나 다른 값을 insert 함으로써 해결 가능하다. 2023. 2. 17.
L4 스위치란?(23.02.16) L4 스위치란? Layer 4 Switch의 약자로써, L4 스위치는 로드밸런싱(서버 부하 분산)을 처리하는 장비이다. 외부에서 들어오는 모든 요청은 서버가 아닌 L4 스위치를 거쳐야 하며 모든 요청을 L4 스위치가 받아 서버들에게 적절히 나누어 준다. L4 스위치는 부하 분산뿐만 아니라 UCP, UDP, HTTP와 같은 프로토콜들의 헤더를 분석하여 그 정보를 바탕으로 부하 분산을 실시하고 거기에 더해 소스 IP 혹은 데스티네이션 IP를 NAT 하여 보낼 수 있다. NAT에 대한 내용은 아래 참고 포스팅 참고 하면 도움 될것이다. L4 스위치의 기능 L4 스위치의 서버 로드 밸런싱 기능은 서버 로드밸런싱이란 인터넷의 서버 부하 분산 기능이다. 로드밸런스는 아래 참고 포스팅에 자세히 기술 되어있다. 간단히.. 2023. 2. 17.
NAT 란? 네트워크 주소 변환(Network Address Translation, 줄여서 NAT)은 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. NAT 이용 이유 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함 많은 네트워크 관리자들이 NAT를 편리한 기법이라고 보고 널리 사용하고 있으며, NAT가 호스트 간의 통신에 있어서 복잡성을 증가시킬 수 있으므로 네트워크 성능에 영향을 줄 수 있음 NAT는 IPv4의 주소 부족 문제를 해결하기 위한 방법으로서 고려되었으며, 주로 비공인(사설, local) 네트워크 주소를 사용하는 망에서 외부의 공인망(public, 예를 들면.. 2023. 2. 15.
Error, Checked Exception, Unchecked Exception 비교 포스팅 시작 앞에 에러와 예외에 대해서 먼저 비교를 해보고 시작하려고 한다. Error란 시스템 레벨에서 발생하는 심각한 수준의 오류를 뜻하며 개발자가 미리 예측하여 처리할 수 없기에 개발 시 예외 처리에 신경 쓰지 않아도 되는 부분이다. Exception이란 로직 상에서 발생하는 오류로 개발자 구현한 코드에서 발생하여 예외를 예측할 수 있으며 상황에 맞게 처리할 수 있다. 예외 클래스들은 최상위 클래스인 Object를 상속받은 Throwable이라는 클래스를 기반으로 Error와 Exception 클래스로 나뉘며 이때 Exception 클래스는 RuntimeException 상속 여부에 따라 Checked Exception과 Unchecked Exception으로 나뉜다. 그래서 예외라고 하면 크게 E.. 2023. 2. 14.
반응형