설치 환경 Quick Install 1. 패키지 업데이트 sudo apt update 2. GPG key 레포지토리 등록 sudo apt install -y ca-certificates curl gnupg sudo mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg 3. Node.js 20 LTS 레포지토리 추가 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodist..
설치 환경 우분투 22.04 의 경우 , 일부 시스템 유틸리티와 패키지가 Python 3.10에 의존하고 있습니다. 강제로 3.12 버전을 설치 시, 시스템 오류로 인해 부팅이 안될 수 있습니다. 가능하면 24년 03월 기준, Python 3.10 버전을 권장드립니다. 위 경고에도 불구하고 강제로라도 설치를 원하시는 경우만 아래 방법을 이용하시기 바랍니다. Quick Install1. 패키지 업데이트 sudo apt update2. deadsnakes 팀이 유지관리하는 PPA를 레포지토리에 등록sudo add-apt-repository ppa:deadsnakes/ppa -y# 혹여 Python Nightly 버전을 원한다면 아래 코드로 추가한다.sudo add-apt-repository ppa:deads..
Jenkins란?Jenkins는 소프트웨어 개발 프로세스를 자동화하고 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Deployment)를 지원하는 오픈 소스 자동화 도구이다.Jenkins를 사용하면 개발자들은 소스 코드를 자동으로 빌드하고, 테스트하고, 배포할 수 있으며, 이를 통해 소프트웨어 개발 프로세스의 효율성과 신뢰성을 높일 수 있도록 도와주는 도구이다.작성 배경기존에 회사에서 운영중인 서버의 경우 Java11 / CentOS7 을 사용 중 이다. 문제는 많은 프로그램들을 비롯해 이번에 JENKINS 또한 더 이상 LTS 버전 지원이 힘들 예정이라는 경고메세지를 노출시키고 있다.앞으로 Renewal하는 서버의 경우 Java17 / Ubuntu 22...
구매 배경아이가 자기전에 장난감 빔프로젝터를 가지고 자기전에 동화를 보곤 했는데 장난감 빔 프로젝터가 고장이 났다. 장난감 빔프로젝터 내부 글라스가 빠진 것 같아 이번 기회에 진짜 빔 프로젝트를 구매하기로 마음 먹었다. 정작 가격차이는 크지 않는 것 같다 후기알리 익스프레스에서 구매가격은 약 8만원 대. 그렇게 가성비가 뛰어나다는 HY320을 구매했다.울트라 HD라고 적혀있지만, FULL HD까지 출력하는 제품이다.하단 HD는 아무래도 HDMI 라는 명칭을 피하려고 저렇게 표현한 듯 싶다. QC 인증 마크 표시가 보인다. 스트로폼 구조는 나름 안전하게 잘 포장되어있다. 기기의 허리를 잡아주는 보조 스트로폼도 있었다.빔프로젝터, 케이블 (유럽형), 리모컨. 아쉽게도 리모컨은 음성인식을 지원하는 버전은 아닌..
이슈 Spring에서 Message Queue RabbitMQ 설정 후 구동하면 아래와 같은 이슈가 발생하는 경우 channel error; protocol method: #method(reply-code=404, reply-text=NOT_FOUND - no queue "Queue-Name" in vhost .... 원인 메세지 리스너 컨테이너에 설정된 Queue가 없기 때문에 발생한다. 만약 개발 중인 경우 404가 아닌 다른 에러라면, 보통 기존에 만들어진 Queue와 새로 바라보려는 Queue 옵션정보가 달라 이에 대한 에러를 내뱉는 경우가 있다. 이 경우엔 큐를 아예 삭제 처리 하고 진행하는 것을 추천한다. 해결 환경 : Spring framework 6.1 / RabbitMQ 3.13.0 @B..
이슈배경SKB 뿐만 아니라 다른 인터넷 공급사 어디든 500Mbps 사용 중 1Gbps(1000Mbps)로 변경 시 통신사 모뎀에서 다이렉트로 연결 시에는 온전히 기가인터넷 100퍼센트 속도가 나오지만, 공유기 통해 유선 사용 시 최대 속도가 이전 500mbps로만 나오는 이슈.환경 및 증상ASUS RT-AX53U 두대 AiMesh 구성공유기를 통한 유선시 최대 속도 500Mbps통신사 모뎀을 통해 연결 시 1000Mbps사용된 모든 랜케이블은 cat 5e 이상통신사 모뎀 내 포트별 최대속도 1000Mbps 설정속도 측정 사이트NIA 속도 측정 http://speed.nia.or.kr NIA 인터넷 속도측정NIA 한국지능정보사회진흥원에서 제공하는 인터넷속도 품질측정 시스템speed.nia.or.kr시도1..
배경 사진을 찍다보면 정확하게 직사각형 기준으로 찍는건 사실상 어렵다고 볼 수 있는데, 이를 기하학적 변환하는 프로그래밍을 통해 충분히 이미지를 변화할 수 있다. OCR을 하고자 하는 경우에 이런식으로 처리하면 OCR 성공률을 높일 수 있다는 점에서 아래 예제는 자주 쓰일 것으로 예상된다. 그냥.. 영수증 이쁘게 펴주는걸 개발하고 싶어 검색하다가 추후에 쓰일 것 같아 정리한다 준비 점심시간에 자주 가는 싸다김밥 메뉴판을 가지고 진행해본다. 위 사진에서 메뉴판에 각 꼭지점 좌표를 구한다. 그냥 그림판에 로드해서 나는 구했다. import cv2 import numpy as np # 이미지 파일 경로 img_path = '/Users/god-logger/Downloads/IMG_7319.png' # 이미지 ..
이슈 ssh -i [key] [account]@[publicIP] 으로 접속 시, 아래와 같은 메세지와 함께 이슈가 발생 Permission denied (publickey). 해결 이건 진짜 안될 경우에만 쓰는 방식이다. 왠만하면 기존 콘솔 접속 row를 해제하고 전용키와 공용키 저장 후 새로 콘솔접속을 생성하면 왠만하면 되지만 안될 경우 쓰는 방법이다. 오라클 클라우드 인스턴스 콘솔 접속 메뉴에서 로컬접속 생성을 누룬 후, 전용키와 공용키를 전부 다운로드 한다. 이후 [콘솔 접속 생성]을 눌러 콘솔접속 항목을 하나 활성화 시켜놓는다. key 파일은 chmod 권한 400으로 지정한다 chmod 400 /{경로}/ssh-key-2024-aa-bb.key 아래의 명령어을 통해 확인된 내용을 복사한다. c..
배경 일을 하다보면 참 예상치 못한 일을 해야하는 경우가 종종 발생한다. 이런 일들은 때론 내게 의도치않은 양질의 경험을 제공해주기 때문에 나는 개인적으로는 즐기는 편이다. 이번 케이스는 대략 12만장의 프레임이미지를 한번에 웹 페이지에 로드를 해야하는 경우다. 상세히는 서술하진 못하지만 우선 요구사항을 들어보니, 딱히 굳이 이미지를 꼭 로드해야하는 필요성은 없는 것으로 확인되었다. 일전에 HD급의 2400장~3000장의 이미지를 부분적으로 로드한 적이 있는데 사실 로드가 그리 오래걸리진 않았다한들, 아무리 생각해도 12만장은 무리로 판단했다. 이슈가 될 변수도 의외로 많았다. 네트워크 지연, 예상치 못한 브라우저에서의 보안 정책등.. 회의를 통해 단순히 제공받은 프레임이미지를 품질을 낮추지 않고, 동일..
ESM 지원 CommonJS로만 개발되던 많은 프로그램들이 ESM을 지원하는 경우가 점점 늘고 있다. 대표적인 예로 몇 가지를 들어보면 google Lighthouse, Express.js , Mongoose (MongoDB ODM)등을 들 수 있다. 국내에서는 카카오테크에서 작성한 CommonJS에서 ESM으로 전환하기를 보면 다음의 문장을 확인할 수 있다. 구글의 Lighthouse 10 버전은 모듈 시스템이 CommonJS에서 ESM으로 전환되었기 때문에 CommonJS의 require() 함수로는 ESM 시스템의 모듈을 불러올 수 없게 되어있다 CommonJS에서 ESM으로 전환하기 안녕하세요, FE플랫폼팀에서 FE 개발자를 위한 개발을 담당하는 Ethan입니다. 이 글에서는 운영 중인 서비스에서..