띄어쓰기 간격, 영어의 자간이 크게 벌어지는 경우

이미지
 텍스트 에디터나 브라우저에서 글을 쓸 때 한글의 띄어쓰기 간격이 넓어졌거나 영어의 자간이 넓어졌다면, [ Alt ] + [ = ] 단축키를 눌러보자.

자바스크립트 초기화된 배열 만들기

 자바스크립트에서 특정한 값으로 초기화된 배열을 만드는 방법은 아래와 같습니다. const arr1 = new Array(10).fill(0); // [0,0,0,0,0,0,0,0,0,0] const arr = new Array(10).fill().map((value, index, array) => index + 1); // [1,2,3,4,5,6,7,8,9,10]  'new Array(10)'를 사용해 길이가 10인 비어있는 배열을 만들 수 있습니다.  '.fill()'을 사용하면 단일 값으로 배열 내부를 채울 수 있습니다. '.fill(0)'이나 '.fill(null)'처럼 원하는 값을 넣을 수 있습니다.  단일 값이 아니라 순차적으로 변하는 값으로 초기화를 하기 위해서는 이어서 '.map()'을 사용하면 됩니다. 인자값에 함수를 정의하면 함수의 반환 값으로 새로운 배열을 만들어 반환합니다.  주의할 점은 'new Array()'를 사용해 만들어진 빈 배열은 '.map()'이 돌아가지 않습니다. '.fill()'을 사용해 어떤 값이라도 먼저 초기화를 해야 '.map()'이 돌아갑니다.

한컴 한글 문서 작성 시 곧은 따옴표 고정하기

이미지
 한컴2020 프로그램을 사용하면 한글과 영어 입력에 따라 따옴표의 모양이 다릅니다.  한글, 영문 상관없이 모두 곧은 따옴표로 나오게 하기 위해서는 입력기 환경 설정에서 현재 글자판, 제 1 글자판, 제 2 글자판 을 '윈도우 입력기'로 설정하면 됩니다.  해당 창 단축키는 Alt + F2 입니다.

Node.js로 윈도우 바로가기 실행

 Node.js의 child_process.spawn을 사용해 외부 프로그램을 실행할 때 실행파일의 바로가기를 사용하려고 합니다.  하지만, 바로가기 파일을 그냥 호출하면 오류가 발생합니다. 그때는 아래 코드와 같이 'shell: true'옵션을 설정해야 합니다. // Node.js v14.x const { spawn } = require('child_process'); spawn('C:/Users/my/Desktop/Program.lnk', args, { shell: true });  윈도우 바로가기의 파일 확장자인 '.lnk'를 꼭 붙여야 하며, 실행시 인자값이 없는 경우는 args에 null을 넣으면 됩니다.  관련된 질문 페이지 :  https://stackoverflow.com/questions/41497183/spawning-a-lnk-windows-shortcut-with-node-js-gives-unknown-error  child_process.spawn 공식 문서 :  https://nodejs.org/dist/latest-v14.x/docs/api/child_process.html#child_process_child_process_spawn_command_args_options

브룩(Brook) 어댑터 배터리 교환

이미지
 브룩(Brook) 어댑터를 닌텐도 스위치에 사용하고 있습니다.  마이크로 5핀을 사용하는 xbox one 컨트롤러에 결합하여 사용하는 물건입니다.  오래된 물건이라 며칠 전부터 충전 선을 뽑으면 1~2분 있다가 전원이 나가버리더군요.  인터넷을 검색하니 배터리 교환이 가능한 것 같아서 저도 시도해 봤습니다.  분해는 간단해서 양옆에 나사만 돌리면 됩니다.  조심스럽게 분해를 하면, 기존 배터리가 나옵니다. 적힌 내용은 IP652540 3.7V 800mAh 2.96Wh LB  입니다.  크기를 재보니 무언가 어중간한 수치입니다. 검색하면서 보니까 이름에 있는 652540이라는 숫자가 정해진 치수 같더군요.  65는 두께로 0.1mm 단위로 6.5mm, 25는 1mm 단위로 25mm, 40은 1mm 단위로 40mm입니다.  배터리의 어디를 가로로 봐야 하는지 모르겠지만 전선이 붙어있는 기판이 있는 부분을 위로 향하고 봤을 때, 두께 6.5mm, 가로 25mm, 세로 40mm 배터리를 찾으면 됩니다.  요즘은 취미로 작은 장치를 만드는 사람들이 많아서 그런지 ‘리튬폴리머 배터리’를 검색하면 다양한 크기를 팔고 있더군요.  하지만 해외는 같은 크기가 있는 것 같은데, 국내는 찾지 못했습니다.   해외 물건은 배송 기간도 그렇고, 뭔가 불안하기도 해서 용량은 작아도 국내에서 비슷한 크기의 배터리를 찾아봤습니다.  좀 찾아보니 602540 550mAh 제품을 찾았습니다. ( https://smartstore.naver.com/powerland/products/2466362502 )    3.7V 전압은 같고,  550mAh라 기존에 있던 800mAh보다 40% 정도 용량이 작네요.  250쯤이라고 생각했는데, 지금 보니 무시할만한 수치는 아니군요. 그래도 그냥 샀습니다. 비슷한 크기에 다른 용량은 못 찾았고, 국...

PHP에서 종료 태그를 빼는 이유

 '<?php'로 시작하는 PHP 파일에서 종료 태그인 '?>'를 생략하는 것은 단순히 편하기 때문이 아닐까 생각했습니다.  문득 정확한 이유가 있을까 찾아보니, 좀 더 명확한 이유가 있었습니다.  종료 태그를 넣은 다음에 실수로 공백이나 줄 바꿈이 추가되면 뜻하지 않은 문제가 발생할 수 있기 때문에 이를 방지하기 위함이라고 합니다.

PHP에서 JSON 변환시 빈 객체 만들기

 PHP에서 JSON형식으로 '{}'값을 반환해야 하는 상황이 생겼습니다.  지금까지 연관배열을 사용해 JSON을 만들었는데, 아무것도 들어있지 않은 값은 '[]' 형태의 배열이 반환됩니다.  찾아보니 JSON으로 변환 할 때 '{}'를 만들기 위해서는 'new stdClass()'로 빈 객체를 넣어주라고 합니다. $empty = []; echo json_encode($empty); // "[]" $empty = new stdClass(); echo json_encode($empty); // "{}"