DB index
DB index 테이블 생성 시 하나의 열에 PK 를 지정하면 자동으로 clustered index 가 생성된다. clustered index 가 없는 경우 unique 제약 조건이 있는 테이블을 만들면 자동으로 non clustered index 를 만든다. 기존 테이블에 PK 제약 조건을 적용하려 하거나 테이블에 clustered i...
DB index 테이블 생성 시 하나의 열에 PK 를 지정하면 자동으로 clustered index 가 생성된다. clustered index 가 없는 경우 unique 제약 조건이 있는 테이블을 만들면 자동으로 non clustered index 를 만든다. 기존 테이블에 PK 제약 조건을 적용하려 하거나 테이블에 clustered i...
Neflix OSS 넷플릭스에서 제공하는 MSA 전환 기술이다. API gateway 역할을 하는 zuul, 로드 밸런서 역할의 ribbon, 서킷브레이커 패턴 구현체 hystrix 그리고 서비스 관리를 위한 eureka 로 구성되어 있다. 1. eureka 각 서비스들의 주소 집합이다. 서비스가 100 개 쯤 있다면 100 개의 주소를 모두 ...
싱글톤 패턴 구현 방법 4가지 1. static 을 활용한 방법 class BasicSingleton implements Serializable { private BasicSingleton() {} private static final BasicSingleton INSTANCE = new BasicSingleton(); public st...
출처1 : https://www.youtube.com/watch?v=UzaGOXKVhwU&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9CTech 출처2 : https://www.artima.com/insidejvm/ed2/jvm8.html 출처3 : https://ict-nroo.tistory.com/19 JVM &...
객체지향 개발 5대 원칙 SOLID 모든 문제의 원인은 어플리케이션의 기능 수정, 추가에 있다. 기존의 코드가 기능 수정, 추가를 예상하지 않고 개발하게 되면 개발 비용이 많이 발생하고 예상하지 못한 에러나 예외를 발생시킨다. 복잡한 논리일 수록 이런 문제가 자주 발생한다. 기능 수정, 추가가 쉬운 복잡한 논리의 어플리케이션을 개발하기 위해 ...
티베로(오라클)에서 row 가 있으면 update 없으면 insert 하는 쿼리 AS-IS 티베로(오라클)에서 row 가 있는지 select 문으로 확인 후 없으면 insert 문 실행. Connection conn = DriverManager.getConnection(url, username, password); conn.setAutoCommit...
자바스크립트의 비동기 순차 실행 실행 순서에 따라 한 번에 하나씩 비동기 작업을 실행. 컬렉션의 각 항목에 대해 비동기 작업을 실행하려는 경우 동적으로 구축해야 한다. 1. Callback 사용 function delay2(m, t, cb) { setTimeout(() => { console.log(m); ...
Node.js 의 리액터 패턴 1. 블로킹 I/O 전통적인 블로킹 I/O 프로그래밍에서는 작업이 완료될 때 까지 스레드의 실행을 차단한다. 따라서 블로킹 I/O 를 사용해 구현된 웹 서버가 같은 스레드 내에서 여러 연결을 처리하지 못하게 된다. 보통 이 문제는 멀티스레드 사용해 해결한다. 각각의 스레드에서 I/O 작업이 처리되기 때문에 I/O...
함수형 프로그래밍 1. 함수형 프로그래밍 이란? 대입문 없이 프로그래밍을 하는 것. 함수를 인자로 받고 함수를 계산하고 함수를 반환하는 프로그래밍 → 일급함수 참조투명성 : 함수를 호출하는 부분을 함수가 반환하는 값으로 바꾸어도 프로그램이 정상 동작한다. → 순수함수 불변성 : 변수에 값을 대입해 문제를 해결하는 기존 방법과 다르게 ...
JavaScript 의 this 1. 렉시컬 스코프 자바스크립트는 렉시컬 스코프를 사용한다. 렉시컬 스코프는 변수나 함수가 정의된 곳의 컨텍스트 를 사용한다. 자바스크립트는 함수 만이 자신의 스코프를 가질 수 있다. let, const 키워드는 블록 스코프를 사용한다. function foo1() { var x = 1; console...