본문 바로가기

잡부생활

(19)
도커 컨테이너(docker container)를 이용해서 리액트(React) 환경 구성하기 도커 컨테이너를 이용해서 React App 개발 환경을 구성해보도록 하자. 리액트를 사용하기 위해서는 먼저 npx 라이브러리가 설치되어 있어야 한다. npm -i npx -g npx를 설치한 후에 아래 명령어를 통해 리액트를 로컬 환경에서 셋업할 수 있다. npx create-react-app movie_app 로컬 개발 환경을 구성했다면, 이제 Docker-compose.yml과 Dockerfile를 통해 도커 환경을 구성하자. 아래와 같이 Docker-compose.yml 파일을 생성한다. 마지막 CHOKIDAR_USEPOLLING=ture은 App이 수정되었을 경우 Reload이 가능하도록 하는 설정이다. 이거 찾느라 4시간을 삽질했다. version: '3.7' services: movie_app..
CSS flex, grid 정리 주로 사용하는 엘리먼트 div: 개행 처리(display: block) section: 개행 처리(display: block) a: 개행 X(display: inline) span: 개행 X(display: inline) display block은 크기 조절이 가능 inline은 크기 조절이 불가능 inline-block은 인라인과 블록 속성을 동시 display: flex flex는 container에 적용 flex-direction: row(기본), column flex-wrap: wrap(브라우저 스크롤에 따라 정렬) justify-content: flex-start(기본), flex-end, center, space-between, space-around (row 정렬) align-items: s..
Windows 10에서 Linux 사용하기 윈도우10 에서 Virtual Box 등 가상화 도구 없이 간단하게 리눅스를 사용할 수 있다. 로컬에서 쉘 스크립트 등 간단한 프로그래밍을 할 때 유용하다. 먼저 Microsoft Store에서 Linux를 검색한다. Linux를 검색하면 아래와 같이 Ubuntu부터 Debian 등 여러 리눅스 OS의 유틸리티 도구를 확인할 수 있다. Ubuntu 유틸리티를 설치하고 실행하면 아래와 같은 에러를 볼 수 있다. Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem for Linux optional component is not enabled. Ple..
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를 발견 Installation — Locust 0.12.2 documentation On..
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 FFmpeg Converting video and audio has never been so easy. $ ffmpeg -i input.mp4 output.avi News October 5th, 2019, Bright Lights FFmpeg has added a realtime bright flash removal filter to libavfilter. Note that this filter is not FDA approved, nor are we me www.ffmpeg.org 블랙 / 화이트 영상 감지 ./ffmpeg -i $URL -vframes 1 -an -s 720*400 -f mj..
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
AWS Windows2008 R2 Client NFS 설정 1. NFS Client 구성1-1. Server Manager -> Roles -> Add Roles -> File Services -> Services for Network FS1-2. Windows Firewall -> Inbound Rules -> File and Printer Sharing(모든 Name) -> Enable Rule 2. UID/GID regedit 설정2-1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default2-2. 두 DWORD 값을 추가 AnonymousUid, AnonymousGid2-3. 이 값을 공유 Linux 디렉토리의 소유자 UID/GID로 설정2-4. NFS 용 클라이언트 서비스를 ..
개발 javascript 디버깅 casperjs https://www.youtube.com/watch?v=RB-bpFEUxzo#t=1010.418172
IPv6, IPv4 통신 IPv6->IPv6 / IPv6->IPv4 / IPv4->IPv4 통신 정리https://winter.kics.or.kr/storage/paper/event/2015_winter2014/publish/14C-56.pdfhttp://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/enterprise-ipv6-solution/white_paper_c11-676278.html 국내 ISP IPv6 관련http://blog.naver.com/nackji80/220050318467 CloudFront: IPv6 Enable 설정Route53: AAAA Record 등록(DNS64 지원 X)
MySQL Hostname 기준 VPN 접근 시 문제 MySQL Hostname 기준 계정 설정은 Client IP의 역방향 DNS 질의를 통해 Hostname과 비교 VPN 연동 시 사설 IP에 대한 역방향 DNS 질의를 통해 사설 Hostname을 가져옴, 계정 설정한 Hostname과 달라서 Connection 에러 발생 따라서 계정은 사설 IP 기준 권장, Hostname을 써야 한다면 역방향 질의된 Hostname 설정이나 Local DNS 변경을 통해 가능
네트워크 상태 확인(mtr) 예시) mtr -r -c 10 -T -P 80 www.naver.commtr -r -c 10 -T -P 80 52.79.111.111-r : report, -c : count-T옵션은 icmp echo대신 tcp syn패킷을 보내는 것이다. syn 패킷이 데이터를 포함하지 않기 때문에, 패킷사이즈는 무시된다. -P옵션은 port 넘버 mtr이 설치(1) redhat계열(redhat, centos, amazon linux): yum install mtrmtr --version 0.85버전 이하라면 아래 명령어 실행.wget ftp://fr2.rpmfind.net/linux/centos/7.2.1511/os/x86_64/Packages/mtr-0.85-7.el7.x86_64.rpmrpm -Uvh mtr-0...
MySQL 모니터링 솔루션(오픈소스, Prometheus+Grafana) https://www.percona.com/blog/2016/02/29/graphing-mysql-performance-with-prometheus-and-grafana/
AWS goofys file system goofysgoofys -o allow_other --uid 500 --gid 500 leedoing-test /mnt