본문 바로가기

분류 전체보기687

pkg 모듈 실행 시 "(0, assert_1.default)(!this.bar)" 에러 발생하는 경우 발생문제 Node.js를 v14에서 v16으로 버전업 후 pkg 모듈을 통해 실행파일을 생성하려고 하면 아래와 같은 에러가 발생할 수 있습니다. > pkg@5.7.0 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.15.0-win-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.4","name":"node-v16.15.0-win-x64"} > Building base binary from source: built-v16.15.0-win-x64 > Fetching Node.js source archive from nodejs.org... > Error! AssertionError [ERR_ASSERTI.. 2022. 12. 4.
VSCode에서 JavaScript CommonJS의 export 객체 속성들 <Find Reference>에 검색되지 않는 문제 문제 JavaScript에서 CommonJS 형식인 module.exports를 통해 객체를 export할 수 있습니다. 아래 코드는 math.js 내의 산술연산 함수들을 export하고 있습니다. 그리고 math.js의 함수를 사용하는 index.js 가 있습니다. 지금 상황에서는 index.js가 math.js의 sum과 subtract 함수를 import 하여 사용하고 있는데요, 만약, 다양한 코드 영역에서 sum 함수를 import하여 사용하고 있을 때, sum 함수를 참조하고 있는 모든 영역을 찾고 싶을 때 어떻게 해야 할까요? VSCode에서는 기능을 통해 선택한 속성을 참조하는 코드 영역을 모두 찾아줍니다. 그런데, 위 코드처럼 CommonJS 형식으로 export한 속성들은 같은 파일 내에.. 2022. 9. 6.
AI 기술로 복원한 독립운동가 사진 최근에 사람의 얼굴이 담긴 저화질의 사진을 업로드하면 AI 기술을 통해 고화질로 변환해주는 도구를 찾았습니다. 호기심으로 대한민국의 독립운동가들의 저화질 사진을 몇 장 이용해서 고화질로 복원했을 때의 모습을 보고 싶었습니다. 복원 전 (원본) 복원 후 사진 순서대로, (1) 김구, (2) 백정기, (3) 유관순, (4) 윤봉길, (5) 안창호, (6) 이상룡, (7) 안중근, (8) 이봉창 입니다. 2022. 9. 3.
[디자인패턴] 빌더 패턴 (Builder Pattern) 예시 - 서브웨이 소개 서브웨이에 방문하면 손님은 빵 크기, 빵 종류, 추가토핑, 야채, 소스를 선택해야 하나의 샌드위치가 완성됩니다. 이와 같이 하나의 객체를 만드는 과정에서 옵션이 다양할 때 사용하는 패턴이 빌더 패턴 (Builder Pattern) 입니다. 이 포스팅에서 빌더 패턴을 설명하지는 않고, 빌더 패턴을 적용한 서브웨이 샌드위치를 생성하는 소스코드를 공유합니다. 소스코드는 타입스크립트를 기반으로 작성하였습니다. 열거체 const enum EBreadSize { SMALL = 1, LARGE = 2, } const enum EBreadType { WHITE = 1, WHEAT = 2, HONEY_OAT = 3, HEARTY_ITALIAN = 4, PARMESAN_OREGANO = 5, FLAT_BREAD = .. 2022. 8. 23.
Cloudflare Workers와 Notion API로 유저 데이터 관리하기 소개 사이드프로젝트로 개발중인 온라인 게임의 유저 정보를 기존에는 유저 로컬 환경에 파일로 보관하고 있었는데, 정식으로 출시되면 클라우드 서버에서 관리할 필요가 있기에 알아보던 중 노마드코더라는 개발자 유튜버가 소개한 Cloudflare Workers와 Notion API를 이용하여 프로토타입 수준의 데이터베이스 (이하 DB)를 구축할 수 있는 것으로 보여 직접 적용해보기로 하였습니다. 본 포스팅은 Windows 10 환경 개발자를 대상으로 소개합니다. 준비물 Node.js v12+ Visual Studio Code 노션 (Notion) 계정 Postman 작업 순서 우선, 유저 정보를 보관할 데이터베이스를 Notion으로 만들고, 만들어진 데이터베이스에 유저 데이터를 관리하는 Cloudflare Wor.. 2022. 8. 14.
DALL-E 2 사용 후기 요약 DALL-E 2를 직접 사용해보았다. 사용자의 창의성에 따라 DALL-E 2는 무궁무진한 고화질의 사진을 뽑아낸다. 좋은 DALL-E 2 결과물을 얻으려면 사용자도 어느 정도 학습이 필요하다. Reddit 커뮤니티에서 많은 사람들이 창의적인 프롬프트 결과를 공유한다. DALL-E 2의 작품을 상업적으로 이용할 수 있다. 소개 얼마전 뉴스에서 DALL-E 2의 작품을 보고 신기하다고만 생각하고 말았는데, 어느날 문득 직접 사용해볼 수 있는지 궁금했다. 그래서 DALL-E 2 홈페이지에 들어가보니 사용신청을 할 수 있고, 초대되면 무료로 50번 이미지를 생성해볼 수 있었다 (한 번에 4장씩 생성됨). 별 생각없이 신청했는데, 어느날 이메일로 초대되었다는 메일을 받아서 설레는 마음으로 처음에는 떠오르는 .. 2022. 8. 14.
JavaScript로 interface 모사하기 소개 JavaScript에는 class만 존재하고, interface가 없습니다. 따라서, interface를 이용한 아키텍처를 불완전하게 적용할 수 밖에 없습니다. class만으로 interface와 비슷한 기능을 하도록 모사하는 방법을 제안합니다. Step 1. interface base 생성 프로젝트에서 소스 폴더 내에 interfaces 폴더를 생성하고, 그 안에 base.interface.js 파일을 만들어 다음과 같이 작성합니다. /** * 인터페이스 정의 헬퍼 함수 * * @template T * @param {T} newInterface * @returns {T} */ function defineInterface(newInterface){ const NOT_IMPLEMENTED = "thr.. 2022. 8. 6.
숲 속 커다란 메타세콰이어 나무 2022. 8. 3.
<화이트 타이거> 리뷰 도전 (3.7/5.0) 발람은 영화 속에서 여러 도전을 했다. 황새 가문의 운전기사가 되기 위해 직접 황새 가문의 집에 찾아가서 자기 어필을 한 점, 첫 번째 운전기사가 되기 위해 무슬림 운전기사를 협박해서 쫓아낸 점, 핑키가 음주운전으로 사람을 죽였을 때 사태를 빠르게 정리한 점 (잘못되었지만), 자신을 해고하려던 아쇽을 죽이고 뇌물을 훔쳐 달아나려고 한 점들이 있다. 발람의 여러 도전의 모습들을 보면서 아무리 열악한 환경이라도 자신에게 주어진 능력을 최대한 활용하기 위해 노력하면 자신의 환경을 개선시킬 수 있다는 점을 보여주었다. 아부 (3.8/5.0) 계급 사회에서 아부는 뗄 수 없는 존재이다. 피지배 계급에 속한 사람들은 지배 계급에 속한 사람에게 잘 보여야 콩고물이라도 얻을 수 있다. 이를 위해.. 2022. 7. 31.