일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 부동산
- Games
- 스마트 계약
- 보안
- angular
- 비트코인
- Three
- 블록체인
- ps4
- 거래
- 이더리움
- 젤다 왕눈
- threejs
- game
- 투자
- Linux
- PC
- 리뷰
- 스마트 컨트랙트
- 탈중앙화
- Docker
- 게임
- strongloop
- kubernetes
- 암호화폐
- 주식
- 시장
- review
- 쿠버네티스
- loopback
- Today
- Total
목록개발 관련 (189)
BaeBox
최근에 Nest.js의 테스트 코드를 깃액션에서 돌리다가 터지기 시작했다. 왜그런가하니 Jest의 테스트 코드가 OOM으로 터지고 있었다. 로컬에서도 --logHeapUsage 옵션을 사용해서 찍어보니 메모리 사용량이 엄청 오르는걸 확인할 수 있었다. 수정을 위한 1차 시도. isolatedModules 옵션 적용. 각 파일을 개별적으로 컴파일해서 처리하는 옵션인가보다. (아래 참고 문서 참조) // package.json ... "transform": { "^.+\\.(t|j)s$": [ "ts-jest", { "isolatedModules": true } ] }, ... ...는 실패. 2차 시도. --runInBand 옵션 적용. 로컬에서까지 메모리가 더더욱 미쳐 날뛰기 시작했다. 테스트 케이스 하..
업무를 하다가 dynamoDB 에서 s3로 데이터를 뽑고, 그 데이터를 저장하는 과정이 번거로웠던 적이 있어서 작성했던 쉘 스크립트다. aws-cli 가 필요하다. # export-dynamo.sh #!/bin/bash export AWS_PROFILE=dev DOMAINS=( "domain" "domain2" ) EXPORT_PATHS=( "s3://bucket/AWSDynamoDB/123123123-c16fcad5/data/" "s3://bucket/AWSDynamoDB/123123123-ad15794f/data/" ) for i in "${!DOMAINS[@]}" do echo "${DOMAINS[$i]} ::: ${EXPORT_PATHS[$i]}" bash ./download-by-table.sh..
오랜만에 글을 쓰기 때문에, 뭘 쓸지를 몰라서 아주 기초적인 것부터 적어본다. 리눅스의 기본 명령어들로, 유닉스와도 호환 가능한 명령어이다. 1. ls : 디렉토리내의 컨텐츠를 조회하는데 사용한다. (list) $ ls# 디렉토리 내 컨텐츠 조회 $ ls -al# 디렉토리 내 컨텐츠 상세 조회 2. cd: 디렉토리 이동 ( change directory ) $ cd# 사용자 디렉토리로 이동 (/Users/[계정]) $ cd ~# 사용자 디렉토리로 이동 (/Users/[계정]) $ cd /usr# /usr 디렉토리로 이동 3. mkdir: 디렉토리 생성 (make directory) $ mkdir test # test 디렉토리 생성 4. rm: 파일 또는 폴더 삭제 (remove) $ rm test.txt..
개발을 하다보면 항상 듣게 되는 용어 중 하나인데, 누군가에서 설명하기 참 어려운 용어이다. 모두가 선험적으로 아는데 모두가 정확히 뭔지는 모르는 그런 것? 다 아는데 뭐라 말로 정의하기 힘든 그런 것? 사전적인 의미로는 골격이라고 정의할 수 있는데, 이걸 누군가한테 말해서 알아들을리도 없고 참 설명하기 어렵다. 그냥 내 나름대로 누군가에게 설명하라고 한다면, 운동의 2분할 3분할으로 비유하고 싶다. 용어 대응 어플리케이션 몸 만들기 프레임워크 2분할, 3분할 운동법 라이브러리 스미스 머신, 덤벨 몸 만들기를 어플리케이션에 비유한다면, 프레임워크는 큰 단위의 운동법(2,3분할), 라이브러리는 머신이나 덤벨로 볼 수 있을듯.
Spector.js : WebGL 개발자 도구의 일종. 읽던 책에서 WebGL Inspector라는 툴을 소개해주어서 찾아봤으나, 없어졌는지 도저히 찾을 수가 없더라. 그래서 비슷한거라도 있겠지 하면서 찾아보니까 이게 나왔다. 좋은 것 같다. 하이라이트 되어있는 Mesh들은 클릭하면 각각의 Shader 소스코드를 볼 수 있다. 요기서 받을 수 있다. https://spector.babylonjs.com/#maindemossection Spector.js demos & documentation SpectorJS is an Open source toolking helping to Explore and Troubleshoot your WebGL scenes with ease. spector.babylonjs...
sed (Stream EDitor) : 커맨드라인 편집기의 한 종류. 대화형 편집기 (vim, nano) 등과는 다르게 파일을 직접 보고 편집하는 것이 아니라, 미리 지정한 rule에 따라 편집하며, 텍스트 파일 자체의 데이터를 바꾸지 않는다는 특징을 가진다 (물론, 데이터를 바꾸는 옵션도 있다) . sed 형식 : sed options script file 이 외에도 굉장히 많은 내용을 제공한다. 과연 내가 쓸일이 있을까?? 그러니 포스팅은 여기서 끝
반드시 정확한 시간에 구동해야할 필요가 없다면, 위 디렉토리에 그냥 스크립트 파일은 던져놓으면 편하게 사용할 수 있다. ex) 하루에 한 번 실행해야할 스크립트라면 daily 디렉토리에 떤져놓으면 된다. 정확한 시간에 cron을 돌려야 한다면 crontab -e 명령어를 이용해 편집을 하자.
스크립트를 사용할 때 -n, -e, -d 등의 옵션을 사용하고는 한다. 아래 코드처럼 만들면 위처럼 동작하는 코드를 손쉽게 만들 수 있다. #!/bin/bash echo while [ -n "$1" ] # if first argument str length is not 0 do #echo $1 case "$1" in -a) echo "found the -a option";; -b) param="$2" echo "Found the -b option, with parameter value $param";; -c) echo "Founc the -c option";; --) shift break;; *) echo "$1 is not an option";; esac shift # shift to next para..
다른 언어에서와 마찬가지로 함수를 선언, 정의하고 호출하여 사용한다. #!/bin/bash func1() { read -p "Enter a value: " value echo "doubling a value" return $[ $value * 2 ] } func1 echo "$value" echo "The new value is $?" 다른 언어들과의 차이점은 리턴값을 받을 변수가 정해져 있다는 점($?)이다. 함수에 인자를 넘겨주고 싶을 경우 아래와 같이 사용할 수 있다. #!/bin/bash function arraydblr { local origarry local newarray local elements local i origarray=($echo "$@") newarray=($(echo "$@"..
Program : (VertexShader + FragmentShader)가 컴파일된 WebGLShader의 조합. 생각컨대, WebGL의 실행단위라고 이해해도 무방할 것 같다. WebGL 의 실행순서는 다음과 같다. Program 생성 Program에 (컴파일된) Shader 붙임(attach). Program 링크. Program 실행(렌더링) 아래 링크를 꼭 보길 바란다. Smallest GLSL을 보면 군더더기 없이 해당 내용에 대해 볼 수 있다. WebGL이 직관적이지 않은 형태를 띄고 있어 구조를 이해하는데 꽤 오랜 시간이 필요했는데, 정말 감사하게도 아래와 같은 사이트가 있다. https://webglfundamentals.org/webgl/lessons/resources/webgl-stat..