본문 바로가기

잡부생활

(18)
ES6, 7, 8 정리 [1] Variables 1. Var - var는 더이상 쓰지마라. - const를 써라. 대신 const의 하위 오브젝트 제어는 가능. - let도 지양 하지만 오브젝트를 변경해야 할 일이 있을 변수에는 사용. 그래도 웬만하면 const. 2. Hoisting / Block Scope - 지겨운 호이스팅 - const, let 사용 시 호이스팅에 트랩에서 빠져 나올 수 있음 3. Block Scope - f a{ f b{}} a에서 b의 object로 접근할 수 없고, b에서 a는 가능 - 당연히 if, for 등 {} 버블 내에서는 모두 적용 4. 정리 - const, let, hoisting, block scope를 기억해라. [2] Functions 1. Arrow Functions const n..
Babel 6/7 후아 이틀 삽질한 내용.... 1. Error: only one instance of babel-polyfill is allowed babel을 전역변수로 단 한 번의 정의만 가능하므로, 어딘가에 너는 babel-polyfill을 import 하고 있을 것이야.. 2. ReferenceError: regeneratorRuntime is not defined async function myFunc(){} -> const myFunc = async function(){} 3. Runtime Error 문제(.babelrc) @babel/transform-runtime 플러그인 추가 { "presets": [["@babel/preset-env"]], "plugins": [["@babel/transform-ru..
OpenVPN, OpenLDAP OpenVPN / OpenLDAP 둘 다 AWS AMI 사용 OpenVPN LDAP 설정(OpenLDAP uid / ADDS sAMAccountName) Organisational Unit -> Posix Group -> User Account 기본적으로 APP -> LDAP 구성 AWS 계정 연동을 위해서는 AD Connector 필요(Microsoft / OpenLDAP) Directory Service를 이용하여 Directory 관리 가능하나, LDAP Query를 지원하는 ADFS 등은 필요
Node Callback / Promise / async&await Callback 문제 예시 const posts = [{ title: "Post One" }, { title: "Post Two" }]; function getPosts() { setTimeout(() => { let output = ""; posts.forEach((post, index) => { output += post.title + "\n"; }); console.log(output); }, 1000); } function createPost(post) { setTimeout(() => { posts.push(post); }, 2000); } getPosts(); createPost({ title: "Post Three" }); Callback 해결 const posts = [{ title: "P..
Alibaba Cloud ECS 간단 사용기 중국 서비스 테스트를 위해 Alibaba Cloud를 이용하여 테스트용으로 VM 한 대를 사용할 계획이었으나, 결국 실패했다. Ali Cloud 사용 계획이 있는 분에겐 도움이 되기를 바라며 글을 남긴다. 내용은 기술이나 기능 뭐 그런게 아니라, 어떻게 알리클라우드를 이용해서 중국에 서비스를 할 수 있는지에 대한 설명이다. 준비할 라이센스? 아래는 Ali Cloud의 Web Console이며 지원하는 언어는 현재 영어, 중국어, 한국어가 있다. 특이점은 일본어가 없다. 반일 감정인가...리전은 있나? 항목을 보면 IaaS 이상의 여러 서비스를 제공한다. MongoDB가 있다는게 인상적이다. Web Console 및 서비스 네이밍이 직관적이다.Elastic Compute Service 선택, Ali에서는 ..
Python locust load test tool 보통 벤치마크는 간단히 ApacheBenchmark를 통해 Req 임계치, Latency 정도를 확인하거나,(ab -n 100 -c 5 -C "somecookie=rawr" http://google.com/) Jmeter, nGrinder(Java)와 같은 프로그램을 통해 더 많은 정보를 확인하거나(nGrinder는 안 써봄),장점1. GUI 환경2. 필요 시 플러그인 사용 단점1. GUI 환경2. 필요 시 플러그인 사용3. 환경 구성이 짜증남4. 메모리 소모가 매우 큼 구성해놓은 Jmeter 클러스터 VM들은 다시 start 하기도 싫음... 뭔가 버벅이는 느낌.. 그러던 중 Python locust를 발견(https://docs.locust.io/en/stable/installation.html)장점..
HTTP 헤더 모니터링 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114'use strict'const AWS = require('aws-sdk')AWS.config.region = 'ap-northeast-2'const CronJob = require('cron').CronJobconst sns = new AWS.SNS();const waterfall = req..
ffmpeg 활용 영상 모니터링 •ffmpeg 체크./ffmpeg -i $URL -codec copy -t 0 -f null /dev/null(http://www.ffmpeg.org) •블랙 / 화이트 영상 감지./ffmpeg -i $URL -vframes 1 -an -s 720*400 -f mjpeg source.jpg./convert src.jpg -crop +0+56 crop.jpg (로고 크롭)identify –verbose image.jpg (skew && kurtosis == 0 : black, 1 : white)(http://www.imagemagick.org) •무음영상 감지./ffmpeg -i $URL -t 10 -vn -acodec pcm_s16le -f wav source.wavsox source.wav –n sta..
Wowza 설정 관련 Wowza 가이드 문서http://www.wowza.cn/WowzaStreamingEngine_UsersGuide.pdf https://www.wowza.com/docs/how-to-configure-a-wowza-server-as-an-http-caching-originUI -> Edge 모드 적용 후 -> 아래 Config 설정(청크가 시퀀스하게) httpOriginMode on String Request 헤더에 따라 Response 헤더 변경(모듈을 만들지 않는 이상, 커스텀 헤더 조작은 메뉴얼하게만 가능) StreamNameAlias AddOnhttps://www.wowza.com/docs/how-to-get-the-streamnamealias-addon
쉘 스크립트 기본 chmod +x test.sh./test.sh >& test.log (디버깅 로그)