본문 바로가기

분류 전체보기

(317)
# Tech/NodeTS VSCode TypeScript 프로젝트 생성하기 타입의 세계에 오신것을 환영합니다! 타입스크립트는 이른바 타입이 존재하는 자바스크립트라고 불리며, 자바스크립트의 장점이자 단점이였던 지나치게 지나친 유연성을 엄격하게 강제하기 위해 만들어졌습니다. 타입검사가 없으니 잘못된 인자를 넘겨주는 경우가 부지기수였고, 다른 사람이 작성한 코드라면 십중팔구죠. function addTwoNumber(x, y){ return x + y; } const num = 123 ; const str = '456'; const ans = addTwoNumber(num, str); // '123456' 동적타입에 고통받으신 여러분들을 위해, 안전한 타입스크립트의 세계로 안내해드리겠습니다. 준비물 챙기기 타입스크립트의 세계를 경험하기 위해서는, 먼저 준비물부터 챙겨야 합니다. 먼저..

2019. 12. 5. 02:03

# Tech/DynamoDB DynamoDB 깊게 입문하기 (2) - DynamoDB Deep Dive (2) DynamoDB 주요기능 - Stream 테이블에 조작(추가/삭제/갱신)이 가해질 때 발생하는 비동기적 알림 데이터. AWS 서비스에서 트리거로써 활용될 수 있다. 어떤 조작이 가해졌는지, OLD_VALUE와 UPDATED_VALUE에 대한 정보도 들어있다. DynamoDB 주요기능 - TTL 데이터에 수명을 달아주는 기능. 각 아이템 항목마다 MyTTL 속성이 추가되며, 해당 시각이 자나가면 테이블에서 삭제된다. 단, 데이터가 생성되고 몇 분 이후에 사라지는 개념이 아니라,데이터가 생성될 때 애초에 데이터가 사라지는 시각을 정하는 방식이다. (2020-02-13 추가됨)TTL이 초과되어 데이터가 삭제되는 경우에는 WCUs도 사용되지 않고 요금도 발생하지 않는다.수작업으로 데이터를 삭제하지 않아도 되고,..

2019. 11. 17. 02:33

# Tech/DynamoDB DynamoDB 깊게 입문하기 (1) - DynamoDB Deep Dive (1) NoSQL 장점 유연한 수평확장 수평확장 (Scale-Out)이 쉽고 유연하다. RDB에서 수평확장을 하려면 머리가 꽤 아플것이다. 빠른 레이턴시 대규모 서비스도 저렴하게 운영이 가능하며 응답속도도 빠르다. 유연한 스키마 RDB보다 유연한 스키마 설계가 가능하다. 단점 조인이 불가능하므로 복잡한 데이터 로직이 포함되어 있으면 성능이 급감한다. 데이터 모델들이 혼자서도 운용될 수 있도록 독립적으로 설계 해야한다. DynamoDB 장점 더 빠른 레이턴시 어떤 규모의 서비스에서도 빠른 응답이 가능하다. 구체적으로는 10ms 미만의 레이턴시라고 자랑하고 있는데 미션 크리티컬한 시스템에서도 사용할 수 있다고 설명한다. 완전 관리 시스템 완전 관리형이므로 개발자는 데이터 조작 및 스키마 정의에만 신경쓰면 된다. 스..

2019. 11. 17. 00:17

# 미사용/OpenCV [OpenCV] 이진화 (1) 응용 : 로고넣기 샘플 이미지 [출처] https://hdqwalls.com/ 간단 요약로고 넣는 방법로고 형태의 흑백사진을 얻는다.로고 형태로 이미지에 흰색 구멍을 뚫는다.흰색 구멍에 로고를 채워넣는다. 로고 형태의 흑백사진 얻기필요한 변수들 //! 필요한 변수들 Mat logo_white_bg_ch3; //! 로고 3채널 이미지 (BGR) Mat logo_white_bg_ch3_rgb[3]; //! 로고 3채널 이미지의 각 채널. Mat logo_mask_black_bg_c1; //! 로고 검은색 배경 마스크 (BGR) Mat logo_mask_white_bg_c1; //! 로고 흰색 배경 마스크 (BGR) Mat logo_mask_black_bg_c3; //! 로고 검은색 배경 마스크 (Grayscale) Mat l..

2019. 11. 3. 00:32

# 미사용/OpenCV [OpenCV] 이진화 (1) BINARY, BINARY_INV 이진화 (Binarization)기준값 (=문턱, threshold)을 정한 뒤.문턱보다 작은 값은 0으로, 큰 값은 1로 변환하는 것.0~255 범위를 두가지 값으로 바꾸는 작업이므로 이진화라고 부른다. figure 1 )다음은 정수배열을 이진화하는 작업을 보여준다.그레이스케일 (= 1채널 영상)은 양수배열과 같으므로, 다음 그림처럼 동작한다. figure 2)다음은 RGB (= 3채널 영상)의 이진화 작업을 보여준다.그레이스케일(=RGB값의 평균)로 변환한 뒤에 이진화를 수행한다. 이미지 프로세싱은 검정 또는 흰색이므로,실제 값은 0 또는 255로 변환된다. [출처] https://poorman.tistory.com/143 왜 이진화가 필요한가?빠른 영상처리3채널 영상은 한 픽셀당 (255^3)개의 ..

2019. 11. 1. 16:29

# 미사용/OpenCV [OpenCV] 행렬의 비트연산 행렬의 비트연산행렬에 사용할 수 있는 기본적인 비트연산의 종류는 다음과 같다.bitwise_orbitwise_andbitwise_xorbitwise_not 멀티채널 행렬의 경우에는 각 채널별로 연산이 진행되며.모든 비트연산에는 마스크 기능이 포함되어 있다. 샘플 이미지code) //! 캔버스의 크기와 색상지정. int width = 300; int height = 200; Size size(width, height); Scalar blue = Scalar(0xd4, 0x34, 0x48); Scalar white = Scalar(0xff, 0xff, 0xff); //! 왼쪽 원 Mat left = Mat(size, CV_8UC3, blue); circle( left, //! 원을 그릴 이미지 행렬 Poin..

2019. 11. 1. 02:46

# 미사용/OpenCV [OpenCV] 행렬의 산술연산 행렬의 산술연산 종류마스킹 산술연산마스킹 덧셈마스킹 뺄셈마스크가 1인 위치만 산술연산을 수행한다.마스크가 0인 위치는 0으로 설정된다. 스케일 산술연산스케일 덧셈스케일 곱셈스케일 나눗셈 첫번째 피연산자를 scale만큼 곱하고 산술연산을 수행한다. 가중치 산술연산가중치 덧셈각 피연산자에 각각 alpha, beta만큼 곱하고 산술연산을 수행한다.그 뒤에 gamma도 더한다. 마스킹 산술연산def ) /** * 마스크를 씌우고 산술연산을 수행한다. * * @param src1 첫번째 피연산자 * @param src2 두번째 피연산자 * @param dest 결과가 저장될 곳 * @param mask 마스크 행렬 */ void add(Mat src1, Mat src2, Mat dest, Mat mask); vo..

2019. 10. 31. 16:46

# 미사용/OpenCV [OpenCV] 채널의 분리, 병합, 혼합 2020-05-12 수정됨 채널관련 기본 영상처리 함수 OpenCV는 다음과 같은 기본 채널연산을 제공합니다. 채널 분리 (spilt) 채널 병합 (merge) 채널 혼합 (mix) 채널 분리 N채널 영상을 1채널 영상 N개로 분리합니다. 함수 정의 /** * src를 1채널 단위로 분리한다. * * @param src 분리할 영상. * @param dest 분리된 채널들이 저장될 배열. */ void spilt(const Mat &src, Mat dest[]); 예제 //! 테스트 3채널 영상. Mat src = Mat(Size(2, 2), CV_8SC3, Scalar(0, 1, 2)); /* * [(0, 1, 2), (0, 1, 2); * (0, 1, 2), (0, 1, 2)] */ //! 각 채널을..

2019. 10. 31. 01:05