전체 글
Node.js App을 Deamon처럼 활용하기
2018.04.18Node.js 응용프로그램을 실행하는 방법은 일반적으로 node 혹은 npm 명령어입니다. 이 때 별개의 터미널을 이용해 실행하거나, OS의 스케쥴러를 이용하죠. 하지만 웹 서비스와 같이 항상 실행되어야 하는 App도 있습니다. 이런 경우 별도의 터미널로 실행되어 있을 때 실수로 터미널을 종료하기라도 하면 치명적일 수 있습니다. PM2는 Node.js App을 백그라운드에서 실행해줘서 이런 상황을 방지해 줄 수 있습니다. PM2 KeyMetrics에서 제공하는 PM2의 PM은 Process Manager라고 합니다. 이름에서 볼 수 있듯이 Node.js 프로세스를 관리해주는 프로그램이죠. PM2의 홈페이지에서는 IBM, MS, PayPal 등의 업체가 PM2를 이용하고 있다고 합니다. PM2를 이용하면 ..
청약조회긱
2018.04.12청약조회긱 서울에서 예정 중인 혹은 진행 중인 주택 청약을 빠르게 조회해주는 챗봇입니다.Telegram Bot API를 이용하여 간단하게 구현되었습니다. :: 사용 언어- node.js :: 주요 라이브러리- cheerio: 웹페이지 분석- cron: 스케줄러- telegraf: Telegram Bot API 사용 지원 :: 주요 기능- 청약 조회 + 예정 중인 혹은 진행 중인 주택 청약을 조회하여 출력합니다.- 청약 정보 구독 + 구독을 신청한 경우 예정된 시각에 자동으로 새 정보를 발송합니다. :: 사용해보기- 이 링크를 누르면 Telegram을 통해 사용해 볼 수 있습니다. :: 스크린샷
Node.js로 가상호스트 이용하기
2018.04.12한 서버에서 여러 웹 서비스를 운용해야 하는 경우가 있습니다. 단순히 도메인이 여러개라서 한 도메인으로 사용자를 전달한다거나, 사용자 페이지와 백 오피스를 함께 운용할 수도 있지요. 이런 경우 Apache나 Nginx를 이용한다면 설정 파일을 이용해서 VirtualHost를 활용하곤 합니다. 만약 모든 서비스가 Node.js로 운용되고 있다면 굳이 Apache나 Nginx를 찾지 않고도 VirtualHost를 사용할 수 있습니다. 사전 준비: hosts 파일 편집 hosts 파일은 로컬에 보관하는 일종의 전화번호부입니다. DNS 동작에서의 hosts 파일 역할에 대한 자세한 설명은 다음 링크에서 확인하실 수 있습니다: hosts 파일 - 생활코딩 hosts 파일은 아래 위치에서 찾을 수 있습니다. - W..
Node.js에서 메일 발송하기
2018.04.10이메일은 사용자에게 낮은 비용으로 메시지를 전달할 수 있는 수단입니다. 이번 포스트에서는 Node.js에서 간단한 방법으로 메일을 발송하는 방법을 알아봅니다. 서버 구성 이번에 공유하는 예시는 이용하는 서버 환경에 따라 작동이 되지 않을 수 있습니다. 이 점 유의해주시기 바랍니다. - OS: Ubuntu 16.04 (aws) - Node.js: v8.11.1 사전 준비: Postfix 설치 1. 아래 명령어를 이용하여 Postfix를 설치를 시작합니다. sudo apt-get install -y postfix 2. 설정 화면이 실행됩니다. enter 혹은 return키를 눌러 다음 화면으로 이동합니다. 3. Internet Site를 선택합니다. 4. 자신의 도메인을 입력합니다. 도메인이 없는 경우 기본..
웹 개발 시 유용한 VSCode Extension
2018.04.04VSCode는 가벼운 에디터지만 필수적인 기능만 제공하고 있습니다.대신 Marketplace를 통해 추가 기능을 제공하고 있죠.Extension 기능을 적절히 활용하면 생산량 증가를 꾀할 수 있습니다. VSCode 설치 후 고정적으로 이용하는 Extension을 추천해드릴 겸 목록을 공유합니다. Active File In StatusBar (이동) 현재 편집 중인 파일의 경로를 하단 상태 막대에 표시합니다. 이 경로를 클릭하면 바로 클립보드에 복사할 수도 있죠. 터미널이나 탐색기를 여러번 이용해야 하는 경우 그 빛을 발합니다. Bracket Pair Colorizer (이동) 프로그램의 덩치가 커지면 여러 단계의 괄호를 이용해야 합니다. JavaScript 코드는 특히 더 심하죠.괄호의 단계별로 다른 색..
이미지 파일의 배경색을 제거하기
2018.04.02Express.js 서버로 업로드 한 이미지 파일의 배경색을 제거하기 웹 서비스를 운영하다보면 사용자의 도장을 인식하거나, 간단한 사진 합성을 하는 등 사용자가 업로드 한 이미지의 배경색을 제거하고, 이미지의 내용 부분만 추출해야 할 수도 있습니다. 사용자가 이미지를 업로드하면, 배경을 제거하는 예제를 공유합니다. 사전 준비 1. GraphicsMagick을 설치합니다. - GraphicsMagick은 널리 이용되는 이미지 처리 라이브러리입니다. 이 예제에서는 GraphicsMagick을 이용해 이미지를 처리합니다. - Windows: 아래 링크에서 다운로드 후 설치를 진행하세요. http://www.graphicsmagick.org/README.html#installation - *nix: 아래 링크에..
Tistory 초대장 배포:완료
2018.03.26Tistory 초대장을 배포합니다. 댓글에 비밀댓글로 필명과 메일 주소, 블로그 주제, 비밀번호를 적어주시면 선착순으로 메일을 보내드리겠습니다. 비밀번호는 'ZEF0944'입니다. 1주일 안에 블로그가 생성되지 않으면 발송된 초대장은 회수됩니다. 2018/03/26 18:57 모두 배포되었습니다. 감사합니다. 2018/03/26 12:26 잔여 초대장은 1장입니다.
자주 쓰는 Bookmarklet
2018.03.24Bookmarklet을 활용하여 생산성 향상하기 웹브라우저의 Bookmark는 자주 가는 사이트를 등록해두는 기능입니다.이 Bookmark에 JavaScript 코드를 등록해둔다면 생산성 향상을 기대할 수 있습니다. Bookmarklet 생성 간단합니다.웹브라우저에서 Bookmark를 등록할 때, URL에 'javascript:'로 시작하는 간단한 스크립트를 입력합니다.혹은 웹 페이지에 있는 링크를 브라우저의 Bookmark Bar로 끌어다 놓아도 추가할 수 있습니다. 1. 직접 스크립트 입력해서 추가 2. 끌어다 놓아서 추가 자주 사용하는 Bookmarklet 주로 참고 문서를 열거나 WebApp을 실행할 때 이용합니다.아래 자주 사용하는 Bookmarklet을 공유합니다. 각 항목의 항목명을 끌어서 ..
Excel 파일(.xlsx)을 JSON 형식으로 변환하기
2018.03.23Express.js 서버로 업로드 한 Excel 파일을 JSON 형식으로 변환하기 재무제표, 수익률 데이터, 용돈 데이터 등등... 종종 Excel로 기록된 데이터를 Node.js에서 다뤄야 할 경우가 있습니다. Express.js로 구현된 웹 페이지에 사용자가 엑셀 파일을 업로드하면, 해당 파일을 읽어들여 json 형식으로 돌려주는 예제를 공유합니다. 사전 준비 1. Dependencies: 아래 명령어를 이용해 필요한 패키지를 설치합니다. - multiparty: multipart/form-data 형식으로 전송된 파일을 좀 더 편리하게 다룰 수 있도록 도와줍니다. - xlsx: Excel 파일을 다룰 수 있도록 도와줍니다. npm i --save express http body-parser mult..
[Solr 빠른 완성] 6. 검색 결과 강조
2016.12.22검색 결과 강조 각종 검색엔진을 이용하여 검색 결과를 보면 내가 입력했던 검색어가 강조되어 표시되는 것을 볼 수 있습니다. 우리가 만든 검색 결과 페이지에 적용할 순 없을까요? Solr는 이 Highlighting 기능을 지원하고 있습니다. 지금까지 그랬던 것처럼 아주 간단한 방법으로 구현할 수 있는데요. 오늘은 이 Highlighting 기능을 확인해보겠습니다. Highlighting 적용기존의 표 방식의 결과 페이지에는 본문 조각을 표시하기가 좋지 않습니다. src/main/webapp/WEB-INF/jsp/board4/boardSearch.jsp 파일을 아래와 같이 변경해주세요. 검색 결과 [] by. ... ... 검색 결과에 검색어를 강조하기 위해 src/main/java/gu/board4/bo..
[Solr 빠른 완성] 5. SolrJ를 이용한 검색
2016.12.17SolrJ를 이용한 검색 4편까지의 연재를 통해서 새 색인 문서를 추가하고 삭제하는 법을 확인하였습니다. 이 모든 과정은 사실 오늘을 위해서 배웠다고해도 과언이 아닙니다. 오늘 5편에서 드디어 Solr를 이용해 검색을 진행하겠습니다. 색인된 문서 검색 게시판에 샘플 데이터를 충분히 입력해주세요. 예제에서는 노래 가사를 사용하겠습니다. 이제 검색 결과를 표시할 페이지를 디자인하겠습니다. src/main/webapp/WEB-INF/jsp/board4/boardSearch.jsp를 생성하고 아래 코드를 입력해주세요. 검색 결과 번호 제목 등록자 등록일 검색 페이지를 표시하기 위해 src/main/java/gu/board4/board4Ctr.java에 아래 코드를 이용하여 board4Search() 메소드를 추..
[Solr 빠른 완성] 4. SolrJ를 이용한 색인 제어
2016.12.15SolrJ를 이용한 색인 제어 이전 3편에서 말씀드렸듯 SolrJ를 이용하면 Java 프로그램 안에서 Solr에 접근할 수 있습니다. JSP 웹 사이트를 제작한 경우 새 색인 문서를 추가하기 위해서 어렵게 직접 HttpRequest에 데이터를 담아서 보낼 필요 없다는 뜻이죠. 아래와 같이 가독성 높은 코드를 만들 수 있습니다. 이번 4편에서는 사용자가 게시판에 글을 쓰고 수정하고 삭제할 때, 색인 문서를 추가하거나 삭제하도록 수정해보겠습니다. 색인 문서 추가, 수정src/main/java/gu/board4/board4Svc.java 파일의 43번째 줄에 아래 코드를 추가합니다.SolrInputDocument solrDoc = new SolrInputDocument(); solrDoc.addField("i..