Array-like Object : 배열과 유사한 '객체' 객체의 모든 key가 index이고, 예외적으로 length key를 하나 가져야만 한다. Array : 그냥 배열 let not_array_like = { 0: "hello", 1: "injuk", 2: "ingnoh", } let array_like = { 0: "hello", 1: "injuk", 2: "ingnoh", length: 3, } console.log('1. contents'); console.log(not_array_like); console.log(array_like); console.log('2. with from'); console.log(Array.from(not_array_like)); console.log(Array..
참고 : eval() - JavaScript | MDN eval() 주의: 문자열로부터 eval()을 실행하는 것은 엄청나게 위험합니다. eval()을 사용하면 해커가 위험한 코드를 사용할 수 있습니다. 아래에 eval을 절대 사용하지 말 것!을 확인하세요. eval()은 developer.mozilla.org eval은 매개변수로 받은 문자열을 코드로 해석하는 내장함수이다. console.log('2+2'); console.log(eval('2+2')); /* 실행 결과 2+2 4 */ console.log('console.log("abc");'); eval('console.log("abc");'); /* 실행 결과 console.log("abc"); abc */ let ingnoh='hello'; e..
JS에서 비동기 처리를 위해 제공하는 방식은 콜백, Promise, async & await가 있다. 이 중 가장 최근에 나온 문법이 async와 await이며, 핵심은 가독성 향상에 있다. i). 문법 함수 앞에 async를 붙이고, 함수 내부 실행 중 비동기 처리를 하는 코드 앞에 await을 붙여준다. 아래는 어디까지나 예시이며, 각 await 행에서 비동기 처리를 대기하는 Function의 반환값을 처리해줄 것. // 비동기 처리를 한 번만 하는 경우 async function [FUNCTION_NAME]() { await [FUNCTION_THAT_RETURN_PROMISE](); } // 비동기 처리를 여러번 하는 경우 async function [FUNCTION_NAME]() { await ..
1. Protocol Buffer란? 데이터를 직렬화하기 위한, Google의 언어 / 플랫폼 중립적인 기술 Data가 어떻게 구조화되어야하는지 한 번만 정의하면, 자동 생성된 소스 코드를 통해 다양한 데이터 스트림과 언어에서 구조화된 데이터를 쉽게 쓰고 읽을 수 있다. (= 사용할 수 있다.) 2. Encoding i). 다음과 같이 데이터 구조를 정의했다고 가정하자. Test1이라고 이름 붙인 구조는 정수형 변수 a를 사용한다. 이를 Java에서 모델로 표현했다면, 다음과 같은 형태가 된다. public class Test1 { private int a; } 해당 Java 모델을 통해 JSON 문서를 주고 받는다면, 다음과 같은 형식일 것이다. { a: [int] } 즉, 실제로 주고 받는 정보의 형..
aws iot secure tunneling에서 localproxy를 테스트하기 위해 웹 서버를 띄울 방법을 모색하다 배우게 된 방법. python3 -m http.server [port] [--directory 디렉토리 경로] port는 생략할 경우 default 8000번을 사용한다. --directory는 생략할 경우, 현재 디렉토리를 기준으로 실행된다. 활용 예시 (index.html을 만들어 초기 페이지를 작성) [~] # index.html 내용 : this is ingnoh's http.server example!!! [~] vi index.html [~] python3 -m http.server Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:800..
구조 분해 할당은 객체나 배열을 변수로 분해할 수 있게 해주는 문법이다. 함수에 객체 또는 배열의 일부만 전달하고자 하는 경우에 사용할 수 있다. 1. 배열 분해 배열을 분해하고 변수에 초기화 하는 과정이 짧아진다. 대상 배열이 실제로 파괴되거나 분해되는 것은 아니다. let arr = ["injuk", "hong"]; console.log(`Arr: ${arr}`); let [last, first] = arr; console.log(`Last: ${last} First: ${first}`); /* 실행 Arr: injuk,hong Last: injuk First: hong */ let [a, b] = 'hong ingnoh'.split(' '); console.log(`last: ${a} first: ..
Docker는 컨테이너와 서비스로부터 많은 정보를 얻을 수 있도록 다수의 로깅 메커니즘을 제공하고 있다. 이러한 로깅 메커니즘은 logging driver라고 함! 각각의 Docker 데몬은 명시적으로 다른 로깅 메커니즘을 사용하지 않는 이상, default logging driver를 사용한다. default logging driver는 'json-file' logging driver이며, 컨테이너의 로그를 JSON 형식으로 캐싱한다. 그러나 기본적으로 log-rotation을 지원하지 않으므로, json-file은 계속해서 쌓여 많은 디스크 공간을 차지하게될 수도 있다. 이는 Disk exhaustion의 원인이 될 수 있으므로, 다음과 같이 default logging driver를 설정하자. ma..
- Total
- Today
- Yesterday
- Spring Cloud Config
- AWS
- 코딩테스트
- Vault
- AWS IoT
- Docker
- RancherDesktop
- etc
- shell
- Java
- postgresql
- Database
- jQuery
- javascript
- Node.js
- eureka
- terraform
- Gradle
- react
- Git
- Linux
- JEST
- IntelliJ
- JPA
- hashicorp
- Puppeteer
- pgloader
- spring boot
- mysql
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |