surfharu

PDF.js 와 Express를 활용한 웹 기반 PDF 뷰어 만들기

목표 PDF.js와 Express 활용하여 웹 기반 PDF 뷰어 서비스를 구축한다. PDF.js ? 웹 브라우저에서 PDF 문서를 표시하고 렌더링하기 위한 오픈 소스 JavaScript 라이브러리이다. 이 라이브러리는 Mozilla Foundation에서 개발되었으며, 웹 페이지에서 PDF 문서를 자연스럽게 표시하고 상호작용할 수 있는 기능을 ...

Private Docker Registry 구축하기 (feat.ubuntu)

Docker 이미지를 자체적으로 관리하기 위해 Private Docker Registry를 구축하는 방법에 대해 알아보겠습니다. 준비 사항 Ubuntu 서버 Docker 및 Docker Compose 1. Docker Registry 서버 설정 Docker Registry를 위한 디렉토리를 생성합니다: $ mkdir ~/docker-re...

Elasticsearch, fscrawler 기반 문서 검색 시스템 구축하기

목표 Elasticsearch와 fscrawler를 활용하여 문서 검색 시스템을 구축한다. Elasticsearch ? Elasticsearch는 Apache Lucene( 아파치 루씬 ) 기반의 Java 오픈소스 분산 검색 엔진으로 대용량 데이터를 신속하게 저장, 검색 및 분석할 수 있는 기능을 제공한다. 데이터를 실시간으로 처리하여 색인할 ...

nextjs 프로젝트 docker 빌드하는 방법

1. docker 설정 파일 추가 nextjs - With Docker 사이트에서 Dockerfile, .dockerignore 파일을 복사하여 nextjs 프로젝트 루트 위치에 추가해준다. 2. next.config.js에 설정 추가 /** @type {import('next').NextConfig} */ const nextConfig = { ...

MongoError: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.

MongoError: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit. 원인 해당 예외는 mongodb가 검색 및 정렬 쿼리 시 메모리를 32MB 초과 사용시 나타나는 오류이다. 해결 방법 아래의 방법...

pandas 데이터프레임을 콘솔에 가독성 좋게 출력하는 방법

pandas 데이터프레임을 콘솔에 출력 시 tabulate 를 이용해 가독성을 올릴 수 있다. tabulate 설치 pip install tabulate 한글의 경우 영어와 달리 줄간격이 달라 깨지므로 추가로 tabulate[widechars]를 추가로 설치해준다. pip install 'tabulate[widechars]' 사용 예시 imp...

mongodb 백업 및 복구 (feat.docker 기반)

docker 기반으로 mongodb 설치 시 db 백업 및 복구하는 방법을 알아본다. db 백업 $ docker exec {mongodb 컨테이너명} sh -c 'mongodump --archive -u {mongouser} -p {mongopass}' > ./dump_$(date '+%d-%m-%Y_%H-%M-%S').gz db 복구 $ ...

github push 시 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

Problem 잘 사용 중이던 github가 어느날 git push 시 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 오류가 발생하였다. $ git push @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST ...

엣지(Edge)에서 PDF 파일 다운로드 시 브라우저에서 바로 열리지 않도록 설정하는 방법

엣지(Edge)의 경우 PDF 파일 다운로드 시 브라우저 뷰어로 바로 열리게 기본 설정이 되어있다. 그러다보니 윈도우에 AdobeReader 등의 PDF 뷰어로 기본 설정이 되어 있어도 브라우저로 열리게 되어 불편함이 발생한다. Solution PDF 파일을 바로 읽지 말고 다운로드 받도록 설정해 준다. [설정 방법] 엣지 브라우저 주소창에 ...

python 모듈 import 가 안되는 경우 해결 방법(feat.vscode)

Problem pip로 사용하려는 모듈을 설치 했지만 import가 되지않고 ModuleNotFoundError 오류가 발생하였다. ModuleNotFoundError: No module named 'tqdm' Cause OS 에 여러 개의 python이 설치가 되어 있었고 pip 로 설치한 위치와 vccode에서 실행되는 python의 위치가 ...