본문 바로가기

분류 전체보기68

(파일시스템) Blob, Base64, arrayBuffer, Buffer 모든 이미지, 영상, 음성 데이터들은 바이너리 형태로 존재하게 된다. 그렇다면 이러한 바이너리 형태의 데이터를 우리는 어떤 형식으로 만들어 쓸수 있을까? 1. Blob (Binary Large Object) Blob은 대용량 바이너리 데이터를 객체 형태로 변환해 저장한 것이다. js에서 input엘레먼트로 파일을 받을때 나오는 FileList, File 역시 이 Blob형식을 상속받은 것이라고 할 수 있다. 이러한 Blob 데이터는 js에서 createObjectUrl() 메소드를 통해 Blob Url로 변환 하여 사용할 수 있는데, 해당 브라우저에서만 임시적으로 사용할 수 있고 그냥 두면 GC가 해제 시켜주지 않기 떄문에 revokeObjectUrl()로 꼭 해제를 시켜줘야 한다. 또한 Base64, .. 2023. 9. 10.
(모듈시스템)CJS와 ESM - 모듈 시스템이란? 초창기 자바스크립트의 크기가 작았을땐 하나의 자바스크립트 파일로도 페이지가 동작했지만 점점 시간이 지나면서 스크립트의 크기가 커지고 복잡해지면서 여러 문제가 생기게 되었다. 특히 여러 스크립트파일을 하나의 전역 스코프에서 관리하기 때문에 파일의 순서가 잘못되면 전역 변수가 쉽게 오염이 되고 많은 버그가 생기게 된다. 그래서 결국 브라우저에서도 이러한 자바스크립트를 위한 모듈시스템을 도입하게 되는데, 모듈시스템을 통해 각 모듈의 import, export를 제외한 나머지것들은 타 모듈에서 신경쓰지 않아도 되었으며, 무엇보다 파일의 단위를 나누기 수월해 졌다. 브라우저에서는 esm모듈 시스템, Node.js에서는 commonJs란 모듈시스템을 현재까지 사용중이며 그 과정에는 AMD와 U.. 2023. 8. 11.
새로운 배움 이전에 4달정도 피아노 학원에 다녔었다. 현재 중단한 이유는 원래 엘리제를 위하여 한곡을 제대로 치는걸 목표로 했었는데 그게 어느정도 되니까 다른 걸 배우고 싶어서 중단했다. 피아노를 배워본건 초등학교때 잠깐이었기에 악보 보는데도 시간이 걸렸고 악기에 대한 경험이 전무했던터라 엘리제 하나 치는데도 4달이나 걸렸던것 같다. 4달동안 강사님 두분을 거쳤는데 첫번째 강사님은 정말 디테일 하나하나까지 캐치해 주시는 분이었다. 세심하게 잡아주시는건 정말 고마웠지만 나중엔 오히려 이런 부분이 나에게 독이 됬던것 같다. 만약 피아노에 뜻이 있었다면 모르겠지만 그냥 취미 정도로 배우고 싶었던 나는 중간에 흥미를 잃었고 결국 다른곡으로 갈아타게 됬다. 하나의 곡을 완벽하게 소화하기 위해선 음, 박자, 리듬감, 세기, 울.. 2023. 6. 11.
몸 가꾸기 원래 군대가기 전까지 최고 몸무계가 65kg이었는데(지금은 53kg이다.) 그 당시엔 지금과 다르게 정말 많이 먹었고, 무엇보다 복싱에 미쳐서 운동량이 많았기에 위의 몸무계를 유지할 수 있었다. 하지만 군대 제대 이후에 복싱을 그만두고 틈틈이 헬스를 하고있지만 운동량이 줄어드니 식욕이 줄고 살이 빠졌다. 또한 건강에 더 신경쓰기 위해 좋아하던 술, 패스트 푸드, 군것질 거리들을 줄였다. 건강 자체는 나아졌겠지만 섭취 칼로리가 달라졌기에 아무리 운동을 해도 근육이 크는것에 한계가 있는듯 하다. 그래서 몸을 좀 키워보기 위해 몇가지 사항을 정리해봤다. 첫째, 다식 마른 사람들의 벌크업 비결중 가장 공통된건 과식이 아닌 다식이었다. 과식의 경우 결국 우리몸이 소화하는데 한계가 있고 괜히 위장병만 들수 있다. .. 2023. 6. 11.