Development
-
Recursive CTE (Common Table Expression)Development/SQL Server 2020. 2. 8. 20:36
Recursive CTE는 쉽게 계층구조를 처리해 줍니다. 거의 모든 데이터베이스에서 지원함으로 알고 계시면 계층구조를 쉽게 처리 할 수 있습니다. Recursive CTE (Common Table Expression)는 CTE 중 자기 자신을 반복적으로 호출하는(재귀 호출) CTE입니다. 흔히 조직도와 같은 계층적 데이타의 처리나 BOM (Bill Of Materials, 부품재료표) 등을 쿼리하는데 많이 사용됩니다. Recursive CTE는 특별한 구문을 가지고 있는데, 처음 부분에는 BASE 케이스에 해당하는 부분이고, UNION ALL (혹은 UNION, EXCEPT, INTERSECT) 다음 부분은 Recursive 반복 부분에 해당됩니다. 아래는 CTE를 이용하여, HIERARCHY 정보를 ..
-
[AWS 개념 뽀개기 2주차] Simple Storage Service (S3)Development/AWS 2020. 2. 1. 19:41
Amazon Simple Storage Service(Amazon S3) S3는 기존의 NAS와 같은 물리 스토리지가 아닌, 객체 스토리지 서비스입니다. 특히 99.999999999%의 내구성을 제공하도록 설계되어 데이터가 유실되지 않습니다. 확장성과 데이터 가용성 및 보안과 성능을 제공하고 RDS, Lambda 등 의 AWS 서비스와 쉽게 연동됩니다. 주요 특징 여러시스템에 걸쳐 복사본을 생성 저장하여, 99.9%의 내구성을 제공 객체 스토리지 서비스이기 때문에, Key - Value 형태로 저장됨 - Key - Value 구조이지만, Key의 접두어 및 /(슬래시)를 이용하여 폴더개념 사용 가능 REST 및 SOAP 인터페이스 지원 - HTTP를통한 SOAP은 지원이 중단되었으나, HTTP를 통한 S..
-
WebRTC 모바일 기기 카메라 전면/후면 전환( feat. facingMode )Development/WebRTC 2020. 1. 18. 22:56
웹캠이 있는 노트북 또는 모바일 기기로 다음 사이트에 접속하면 카메라를 선택할 수 있는 콤보박스가 뜬다. https://webrtc.github.io/samples/src/content/devices/input-output/ Select audio and video sources WebRTC samplesSelect sources & outputs Get available audio, video sources and audio output devices from mediaDevices.enumerateDevices() then set the source for getUserMedia() using a deviceId constraint. Audio input source: Audio output dest..
-
[AWS 개념 뽀개기 1주차] 용어 및 개념, 인프라Development/AWS 2020. 1. 18. 20:54
1. AWS 용어 및 개념 EC2(Elastic Computer Cloud) - AWS 클라우드 가상 VM 서버(인스턴스) - 다양한 운영체제 지원 - 손쉽게 생성/시작/중단/종료 - 손쉬운 확장 Elastic IP - AWS 계정과 연결된, 탄력적으로 부여 가능한 IPv4 주소 ELB - 소프트웨어 기반 분산 네트워크 장비(L4와 유사) - 컨텐츠 기반 라우팅 기능 제공 (Ex_ /api path는 AZ1로, /api2 path는 AZ2로 로드밸런스 가능) S3(Simple Storage Service) - 객체형 스토리지 서비스로 Key - Value 형태로 저장 - 다향한 스토리지 클래스를 제공하며, 서비스할 유형에 따라 선택 가능 - 객체형 스토리지이기 때문에, 폴더구조(Hierachy) 개념은 ..
-
[Database]트랜잭션 격리 수준 - Transaction isolation levelDevelopment 2020. 1. 13. 22:52
Transaction isolation level 1. 트랜잭션 격리 수준 2. 동시에 여러 트랜잭션이 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지를 결정 3. 격리 수준 : Read Uncommitted, Read Committed, Repeatable Read, Serializable 4. 격리 수준이 높아질수록 동시성도 떨어지는 것이 일반적이라고 볼 수 있다. Isolation 정의 여러 트랜잭션이 시작 시점은 다르나 동시(concurrent)에 수행된 결과는 각각의 트랜잭션이 순서대로 나온 결과와 같음을 보장하는 속성 Isolation Level Isolation Level Dirty Read Non-Repeatable Read Phant..
-
-
클래스형 컴포넌트 vs 함수형 컴포넌트Development/React 2019. 12. 11. 10:47
먼저 생김새부터 보겠습니다. 1. 클래스형 컴포넌트 class MyClassApp extends Component { render() { const kinds = 'class app'; return {kinds}; } } 2. 함수형 컴포넌트 function MyFunctionApp() { const kinds = 'function app'; return {kinds}; } 일단 생김새부터 비교해보면 클래스형은 자바와 비슷하게 class 키워드와 extends 키워드를 사용하는 것을 볼 수 있고 함수형과 다르게 render 함수가 구현되어 있어야 합니다. 함수형은 jsx 형태로 return 한다는 것만 제외하고는 여타 함수와 비슷하지요. 기능적인 측면에서 비교해보면 클래스형 컴포넌트는 state 및 li..
-
[ECMA Script6] 1. 변수 선언 (const, let, 템플릿문자열)Development/React 2019. 11. 23. 23:58
ESC6 이전에는 변수를 선언하기 위해서는 var 키워드가 유일하였으나, ESC6 이후에는 더 나은 기능을 제공하는 몇가지 방법이 추가되었습니다. 1. const 상수를 의미하는 const는 값을 변경 할 수 없는 상수 입니다. ESC6 이전에는 아래와 같이 변수를 선언하여 사용하였습니다. 1 2 3 var bCheck = true bCheck = false console.log(bCheck) //false cs const 변수는 최초 생성 시 초기화된 이후, 값 재설정이 불가능합니다. 값을 재설정 하려고 하면 콘솔 오류가 발생합니다. 1 2 const bCheck = true bCheck = false // Error!! cs 2. let 자바스크립트 변수의 경우, 블록(중괄호 {})안에서 생성된 변수..