TL;DR경량화 된 이미지를 활용해라.dockerignore 파일을 활용해라build를 위한 컨테이너와 배포를 위한 컨테이너를 분리해라 컨테이너를 쓰자소프트웨어 컨테이너는 이미 사용하지 않는 곳을 찾기 힘들 정도로 업계에서 널리 사용되고 있습니다.아직 실무에서는 사용하지 못했던차에 sakd.uk엔 본격적으로 도입하기로 했습니다. 사용해야 할 이유는 많습니다. 각각의 소프트웨어가 컨테이너에 즉시 실행 가능한 형태로 담겨있기 때문에 배포 과정이 간편화 됩니다.배포 과정이 간단하기 때문에 필요할 때 자동으로 Scale out 되도록 구성할 수도 있죠. 또 소프트웨어가 각자 컨테이너 안에 격리되어 있기 때문에 한 서버에서 여러 소프트웨어를 구동하더라도 간섭을 방지할 수 있습니다.만약 한 소프트웨어는 Pyt..
TL;DRRESTful의 특징 중 하나는 Stateless이다.세션은 인증 정보를 서버가 보관하기 때문에 Stateless를 위반한다.sakd.uk은 JWT 방식을 채택하였다. 세션 vs JWT2014년 말, sakd.uk을 싱글 페이지로 띄웠습니다.그리고 본격적으로 개발을 시작하는 첫 단계로 회원제를 도입하기로 했습니다. 그리고 바로 사용자 인증을 위해 어떤 방식을 써야할지부터 고민이 시작되었습니다. 인증과 인가의 차이인증(Authentication)과 인가(Authorization)는 서로 다른 의미이다.인증은 사용자의 신원을 검증하는 행위이고, 인가은 접근 권한을 확인하는 행위이다.즉, 로그인을 하지 않고 비밀글을 열어보고자 했다면 인증 단계에서 거부가 발생한 것이고,로그인은 했으나 다른 사람의..
Jetronome Server Jetronome Server는 운용 중인 Application의 상태를 한 곳에서 확인할 수 있는 가장 간단한 방법입니다. License: MIT License Features- 주기적 실행 여부 확인 - IP를 기준으로 한 App 목록 그룹화 - 신호 누락 시 알림 - 테스트 API 접속 실패 시 알림 Install - 서버로 사용할 Node.js 프로젝트에서 다음 명령을 실행합니다. npm i --save jetronome-server Usage 초기화 require('jetronome-server')({ alertFn: (name, msg) => { // 알림 발생 시 실행될 함수. console.error(name); console.error(msg); }, por..
Jetronome Client Jetronome Client는 Application의 상태를 모니터링 할 수 있는 가장 간단한 방법입니다. License: MIT License Features- 주기적 실행 여부 확인 - 실행 중인 PC의 자원 확인 Install- 점검할 Node.js 프로젝트에서 다음 명령을 실행합니다. npm i --save jetronome-client Usage초기화와 함께 신호 발생 시작require('./jetronome-client').init({ name: 'Dummy App', // Application Name (required) description: 'This is a test application.', // Description (required) server: ..
청약조회긱 서울에서 예정 중인 혹은 진행 중인 주택 청약을 빠르게 조회해주는 챗봇입니다.Telegram Bot API를 이용하여 간단하게 구현되었습니다. :: 사용 언어- node.js :: 주요 라이브러리- cheerio: 웹페이지 분석- cron: 스케줄러- telegraf: Telegram Bot API 사용 지원 :: 주요 기능- 청약 조회 + 예정 중인 혹은 진행 중인 주택 청약을 조회하여 출력합니다.- 청약 정보 구독 + 구독을 신청한 경우 예정된 시각에 자동으로 새 정보를 발송합니다. :: 사용해보기- 이 링크를 누르면 Telegram을 통해 사용해 볼 수 있습니다. :: 스크린샷
RandomGenerator 경품 추첨이나 각종 내기에 활용할 수 있습니다.추첨 대상을 입력하고, 추첨 인원을 선택한 뒤 추첨하기 버튼을 누르면 당첨자가 표시되는 매우 단순한 프로그램입니다. :: 사용 언어- HTML5- CSS3- jQuery- PHP5 :: 주요 기능- 추첨 대상 입력, 삭제 + 추첨 대상을 입력하고, 중간에 삭제할 수 있습니다.- 마지막 추첨 대상과 추첨 인원 유지 + 브라우저의 LocalStorage를 이용해서 추첨 대상과 추첨 인원이 유지됩니다. + 다시 접속했을 때 이전 상태를 불러옵니다.- 제목 변경 + 하단의 설정 막대를 이용해서 이벤트 제목을 변경할 수 있습니다.- 스킨 변경 + 하단의 설정 막대를 이용해서 배경색과 전경색을 변경할 수 있습니다.- 로고 삽입 + 하단의 설..