참고 리눅스 1G 파일 만들기 [ dd 명령어 ] To create 1MB file (1024kb), enter: $ dd if=/dev/zero of=test.img bs=1024 count=0 seek=1024 You will get an empty files (also known as "sparse file") of arbitrary size using above syntax. To create.. woosa.tistory.com [~] dd if=/dev/zero of=./big_file.txt bs=1024k count=1024 [~] # 또는 아래의 명령어 사용 [~] # dd if=/dev/zero of=./big_file.txt bs=1 count=0 seek=1G [~] ls -lh bi..
업무 도중에 Node.js로 다음과 같은 기능을 작성할 일이 있었다. 수 많은 Promise를 생성하되, 각각의 Promise는 1:1로 대응되는 stream의 end 또는 error 이벤트에서 상태가 결정된다. Promise.all로 작업이 완료되는 것을 기다린다. 후속 작업을 처리한다. 그런데 await Promise.all(promises); 에서 대기하던 중 Node.js 애플리케이션이 아무런 로그 없이 code 0으로 정상 종료되는 상황이 발생하였다. (물론 코드 전역에 try - catch를 걸어도 어떠한 에러도 잡히지 않았다.) 해당 문제의 원인은 다음과 같으며, 핵심은 stream의 에러 또는 스펙이 아닌 Node.js 동작 방식에 있었다. Node.js는 애플리케이션을 실행할 경우, 이벤..
아래와 같은 코드가 있다고 하자. type User = { id: number; name: string; age: number; } // 프로미스를 반환한다. async function getUserAsync(id: number): Promise { const user: User = { id, name: 'ingnoh', age: 3, }; return new Promise((resolve => { setTimeout(() => { resolve(user); }, 2000); })); } (async function main() { console.log('main start!!!'); // 첫 번째로 출력된다. const user = await getUserAsync(1); console.log(user..

Deno - A modern runtime for JavaScript and TypeScript Deno is a simple, modern runtime for JavaScript and TypeScript that uses V8 and is built in Rust. deno.land MDN web docs를 보다가 못보던 아이콘이 보여서 찾아보게 되었고, macOS에서 간단하게 설치해 볼 수 있었다. Deno란? Deno는 JS / TS 런타임이며, Node.js의 Ryan Dahl이 주도하는 프로젝트이다. 아무래도 라이언 형이 Node.js에서 있었던 아쉬운 점, 또는 미련을 Deno를 통해 상당 부분 해소(?)하려는 것 같다. 설치하기(macOS) brew를 통해 간단하게 설치할 수 있다. ma..
동기 vs 비동기, 블로킹 vs 논블로킹 쉽게 이해하기 동기(sync) vs 비동기(async), 블로킹 vs 논블로킹 사전적 의미는 일단 치워두고 , 대조되는 개념들을 어떤 관점으로 봐야하는지 짧게 설명해보겠습니다. 동기 vs 비동기 : 처리해야 할 작업들을 어떠 siyoon210.tistory.com [node.js] node.js의 이벤트루프와 libuv의 이해 안녕하세요. 멍개입니다 이번 글에서는 node.js가 어떻게 비동기로 처리될 수 있는지 알아보도록 하겠습니... blog.naver.com 동기 / 비동기는 함수의 수행 결과를 클라이언트가 처리할지, 호출된 함수 자체가 콜백 등을 통해 스스로 처리할지에 따라 구분된다. 즉, 호출자의 관점에서 결과를 전달받기까지 대기할지, 다른 작업을 수행할..
함수에 대해 호출된 bind()는 인자로 this를 전달한다. function temp () { return this.x; } console.log(temp()); console.log( temp.bind({ x: 42 })() ); /* 실행 결과 undefined 42 */ bind() 의 두 번째 인자부터는 binding 대상 함수의 인수로 전달된다. function temp (prop) { return this[prop]; } console.log(temp('x')); console.log( temp.bind({ x: 42 }, 'x')() ); /* 실행 결과 undefined 42 */
. ├── app.js └── input.txt 요런 구조일 때, const fs = require('fs'); const { exec } = require('child_process'); // 요 부분은 본인이 원하는대로 후처리한다. // 후처리가 필요없으면 fs.readFileSync만 해도 무방하다. const text = fs.readFileSync('./input.txt', 'utf-8') .trim() .split('\n') .map(line => line.replace('\t', '=')) .join(';'); exec(`echo "${text}" | pbcopy`, ((error, stdout, stderr) => { console.log(stdout); })); 요런 식으로 pbcopy를..
- Total
- Today
- Yesterday
- AWS IoT
- javascript
- Git
- eureka
- Linux
- shell
- etc
- Java
- 코딩테스트
- react
- Docker
- Puppeteer
- Node.js
- RancherDesktop
- postgresql
- hashicorp
- JPA
- kotlin
- AWS
- terraform
- Vault
- pgloader
- JEST
- Spring Cloud Config
- jQuery
- mysql
- Gradle
- IntelliJ
- spring boot
- Database
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |