본문 바로가기

분류 전체보기

(126)
Apache와 Nginx Proxy Manager의 SNI 처리 방식 차이 1. SNI(Server Name Indication)란?SNI(Server Name Indication)는 클라이언트가 서버에 HTTPS 요청을 보낼 때, TLS 핸드쉐이크 과정에서 어떤 도메인 이름을 요청할 것인지 명시적으로 전달하는 TLS 확장 기능. 이를 통해 하나의 서버에서 여러 도메인을 호스팅할 수 있음.openssl s_client -connect example.com:443 -servername example.com2. Web 서버 별 동작 방식Apache의 기본 동작 방식Apache 웹 서버는 SNI 없이도 기본 SSL 인증서를 반환한다.예를 들어, Apache에 example.com과 example.org 두 개의 도메인을 설정했다고 가정 했을 때// Apache 설정 예시 (Virtu..
VSCode(or Cursor AI) 사용 시 NestJS 디버깅 설정하는 방법 이전에 VSCode nodejs 디버깅 방법을 올린적이 있지만 Cursor 셋팅 기념 다시 재업로드해본다.. 1. launch.json 파일 설정하기- Run and Debug에서 launch.json 파일을 신규 생성하거나 수정한다.- 환경 변수 값은 필요한 경우 설정// launch.json{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Debug NestJS", "skipFiles": ["/**"] } ]} 2. package.json에서 스크립트 추가 - nestjs 커맨드를 통해 프로젝트를 신규 생성했을 때 기본 스크립트 명령어. 디..
Windows11 Ubuntu 설치 오류. WslRegisterDistribution failed with error: 0x800701bc https://learn.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package 이전 버전 WSL의 수동 설치 단계wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다.learn.microsoft.com 1. 기본 검색에서 '기능' 입력하여 windows 기능 켜기/끄기 실행에서 아래 항목들을 활성화 - Linux용 Windows 하위 시스템 - 가상 머신 플랫폼  2. Windows Powershell 관리자 권한으로 실행wsl.exe --install# orwsl.exe --update 3. 컴퓨터 재부팅 후 ..
docker postgresql 표준 시간대(timezone) 설정 방법 ** Ubuntu 표준 시간대 확인timedatectl  1. docker postgresql 접속 (나는 postgis 사용중)// docker exec -it [container name] /bin/bashdocker exec -it postgis /bin/bash// psql -U [username]psql -U postgres 2. postgresql 현재 timezone 확인show timezone; 3.   postgresql 타임존 설정 방법 1) docker run 할 때 환경변수로 타임존 설정 2) 특정 데이터베이스를 명령어를 통해 타임존 설정      ** SET timezone TO 'Asia/Seoul'; 명령어는 현재 세션에서만 유효하기 때문에 세션이 종료되면 설정이 초기화 된다...
리눅스 사용자 및 그룹 관리 1. 사용자 목록 조회 cat /etc/passwd 2. 사용자 추가 adduser -u 1000 [user] - 사용자 비밀번호 설정 passwd [user] - 사용자 그룹 추가 (추가 후 재로그인) sudo usermod -aG [group] [user] 더보기 * CentOS: sudo 명령어 안될 때 usermod -G wheel [user] - 사용자 삭제 userdel [user_id] 더보기 "userdel: user xxx is currently used by process yyy" 에러 발생시 killall -TERM -u [user] 명령어 실행 후 삭제 명령어 재실행 - 사용자 UID 변경 usermod -u 1001 [user] - 그룹 GID 변경 groupmod -g 1001 ..
[Realforce] 무접접 키보드 리얼포스 R1, R2, R3(BT) 총 리뷰 및 Realforce Connect 연결 방법 먼저 저는 키보드 전문가도 아니고 키보드에 관심있는 사람도 아닙니다. 그냥 일반인입니다. 리얼포스를 1세대, 2세대, 3세대 모두 사용해본 경험을 살려 느낀점을 이야기 해보려고합니다. 마냥 좋다고 칭찬하는 글이 아니기 때문에 참고 정도만 하시고 키보드 구매에 도움이 되길 바라겠습니다. 리얼포스 정착기 (TMI - 노관심이면 구분선 아래로) 키보드에 관심은 없지만 그동안 저에게 맞는 키보드를 찾기 위해 은근히 갈아 탔습니다. 처음엔 가격, 다음은 디자인, 마지막엔 타건감.. 경험할 때마다 원하는바가 달라졌고 그렇다보니 정착을 못했습니다. 지인이 처음에 리얼포스를 추천해줬을 때 이제 막 사회생활을 시작한 터라 아무리 좋다고해도 몇십만원하는 키보드를 구매하기엔 가격적 부담이 컸습니다. (솔직히 키보드 좋아봤자..
의존성 production install 후 next build 시 next.config.mjs 에@next/bundle-analyzer 라이브러리 못찾는 에러 해결 production install 은 devDependencies에 나열 된 패키지를 설치하지 않는 것으로, # npm npm install --production # yarn yarn install --production 하지만 위와 같이 하게된다면 next.config.mjs 에서 next build 시 에러가 발생한다. 이유는 @next/bundle-analyzer 를 찾을 수 없기 떄문이다. @next/bundle-analyzer 는 devDependencies 에 있기 때문에 production install 시에 설치되지 않는다. 물론 해당 의존성을 dependencies 로 옮기면 바로 해결 될 문제이겠지만, 이런 하드한 방법을 사용하고 싶지 않았다. 일단 에러가 나는 이유는 next.con..
nextjs 에서 antd 5.x 와 tailwind 적용 tailwind 적용은 https://tailwindcss.com/docs/guides/nextjs 참고 보통 antd 에 tailwind 를 추가로 쓰려고하는 사람은 아마? 대부분 간단한 스타일링을 할 때 (ex: padding, margin 등) inner style은 싫고, 그렇다고 css module 이나 css-in-js 를 사용해 파일을 추가로 생성하는게 부담스러울 때 쓰려고 한다고 생각한다. ※ tailwind 만으로 컴포넌트를 백프로 제작하길 원한다면 쿨하게 antd와 같은 UI 디자인은 버리기를 추천(UI Design 이중화 방지!)한다! tailwind 기본 설정이 끝났다면 tailwind.config.js 에 딱 두줄만 추가해주면 된다. /** @type {import('tailwin..
[Nodejs] phantomjs 사용하여 pdf 파일 추출하기 소스코드 const phantom = require('phantom'); const fs = require('fs'); const fileUtils = new FileUtils(); const uploadFolder = `${process.env.UPLOAD_FOLDER_SMTP_ATTACH}${orderInfo.orderNo}`; const flag = await fileUtils.mkdir(uploadFolder); const attachFile = orderInfo.orderNo + '.pdf'; const instance = await phantom.create(); const page = await instance.createPage(); const file = 'invoicePaid.html'..
[Nodejs] package-lock.json 의존 설치 npm ci 명령어 npm install을 할 때 lock 파일에 의존하여 설치하도록 해야 협업시 버전 관련 문제를 줄일 수 있다. package-lock.json 또는 yarn.lock 파일이 무조건 존재해야하며 pakage.json 과 lock 파일의 dependencies가 맞아야한다. lock파일에 의존하여 설치를 하고싶을 때 아래의 명령어를 실행한다. node_modules을 지우고 실행한다. npm npm ci yarn yarn install --immutable --immutable-cache --check-cache * install 오류 발생시 더보기 error https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.0.2.tgz: Integrity check fail..