본문 바로가기

개발바닥

(27)
[개발] GraphQL을 알아보자. 안녕하세요 Devport 입니다. 이번에 GraphQL을 적용하는 개인 프로젝트를 진행하면서 느꼇었던 점들을 하나하나 정리해보기 위해서 블로그를 시작하게 되었습니다. 저는 이번 개인 프로젝트에서 DB는 MongoDB를 사용하는 구조를 갖고 있습니다. MongoDB에서는 Join이 쉽지 않아 연관 Collection의 정보를 조회하는 부분이 어려움이 있는데 GraphQL의 연쇄 리졸버 기능으로 유사하게나마 구축할 수 있어 서버 개발에 시간을 단축할 수 있었습니다. 저는 이러한 부분에서 개발의 생산성을 올려줄수 있는 훌륭한 프레임워크라고 생각됩니다. GraphQL? GraphQL은 페이스북에서 2012년 네이티브 모바일 앱으로 GraphQL을 처음 사용하기 시작하였고 2015년 React 컨퍼런스에서 Gra..
Reverse-Proxy를 통해서 Multi Node Process에 Proxy 처리 upstream ffaso-server { ip_hash; server localhost:3000; server localhost:3001; } server { access_log /var/log/nginx/reverse-access.log; error_log /var/log/nginx/reverse-error.log; location / { proxy_pass http://example-server; } } Load balancing methods round-robin(디폴트) - 공평하게 돌아가면서 분배 hash - 해시한 값으로 분배, 사용하려면 "hash " 형태를 사용 ip_hash - 아이피로 해싱하여 분배 random - 랜덤 분배 least_conn - 연결 수가 가장 적은 서버를 선택해서..
PM2를 사용하여 Multi-Node 실행 pm2를 이용하여 nodejs를 관리가 되어야 하므로 global 영역에 설치 되어야 함 npm install -g pm2 아래 파일을 등록하여 node를 여러개 가동 할 수 있도록 한다. var ignoreWatch = [ 'node_modules', 'logs', 'data', 'dist', 'conf' ] // Options reference: https://pm2.keymetrics.io/docs/usage/application-declaration/ module.exports = { apps : [ { name: 'server-1', script: 'index.js', autorestart: true, watch: true, ignore_watch: ignoreWatch, max_memory_r..
무료 SSL인증서 발급 with Let's Encrypt 안녕하세요 devport 입니다. https 사이트를 운영하기 위해선 SSL 인증서가 필수적으로 필요합니다. 무료로 SSL을 설치할 수 있는 Let's Encrypt를 사용하여 제 개인 서버에 적용해보고자 합니다. Let's Encrypt는? 인증서는 3개월이 유효하고 주기적으로 갱신 필요 인증서를 발급받기 위해선 root 권한을 사용 Public 도메인이 할당된 서버에서만 발급이 가능 도메인 인증자 이메일을 계정당 1개의 인증서만 무료 1일 3회 이상 발급을 시도 할 수 없으므로 실수 하지 않도록 주의가 필요 Certbot 설치 Let's Encrypt를 설치하기 위해서는 Certbot을 설치가 필요합니다. # EPEL repository 활성화 $ yum -y install epel-release #..
Nunjucks에 대해 알아보자. 안녕하세요 Devport 입니다. 회사에서 서버는 Flask Framework를 사용하고 있는데요. Flask의 템플릿엔진을 사용하는 페이지 들이 있는데 매번 서버에 도큐먼트를 올려 검증을 하는 과정으로 인하여 Nunjucks 모듈에 대해서 알아보려고 합니다. Nunjucks(넌적스)? Nunjucks는 Javascript를 위해서 강력하고 정교한 템플릿 엔진을 제공 합니다. jinja2에 영감을 받아 개발되었기 때문에 많은 부분에서 Flask의 Template 엔진과 유사한 부분이 많이 있다고 볼 수 있습니다. Nunjucks에서는 Rich: 블록 상속, 자동 이스케이핑, 매크로, 비동기 제어 등의 기능을 제공합니다. Fast & Lean: 브라우저에 미리 컴파일된 템플릿으로 빠른 성능 Extensib..
E2E 테스트 프레임 워크 - Playwright_번역본 안녕하세요 Devport 입니다. 이번에 테스트 프레임워크 중 하나인 E2E에 대해서 스터디 하기 위해서 일단 Github 문서를 번역해두고 추후에도 쉽게 확인하기 위해서 해당 블로그를 작성하였습니다. 의역 및 오역이 있을 수 있을 수 있기 때문에 잘못 번역된 부분은 알려주시면 감사하겠습니다. Playwright? 단일 API로 Chromium, Firefox 및 WebKit을 자동화하는 Node.js 라이브러리 입니다. Playwright는 항상 친환경적이고 유능하고 안정적이며 빠른 크로스 브라우저 웹 자동화를 가능하게도록 구축되었습니다. Linux macOS Windows Chromium 97.0.4681.0 ✅ ✅ ✅ WebKit 15.4 ✅ ✅ ✅ Firefox 93.0 ✅ ✅ ✅ 사용방법 npm..
다른 PC와 마우스 또는 키보드를 공유해보자 (with 맥, 윈도우즈) 안녕하세요 Devport입니다. 저는 윈도우즈 데스크탑 PC와 맥북을 가지고 있는데 이번에 마우스 및 키보드를 공유할 수 있는 프로그램을 설치해보려고 합니다. 이전 회사에서 Synergy 옛버전으로 무료로 사용했었지만 Barrier라는 Sysnergy를 Fork한 Open-Source 프로젝트로 마우스 및 키보드 공유프로그램을 설치해보려 합니다. (최신 버전의 Synergy는 어느 정도 비용을 지출해야 제대로 된 기능을 사용할 수 있습니다. 비용에 제한이 없이 다양한 기능을 사용해 보고 싶다면 Synergy사에 최신 버전을 설치하고 기본적인 마우스, 키보드, Text 클립보드 정도의 기본기능만 있어도 충분하다 판단하시는 분은 해당 Barrier를 사용하는 것을 추천드립니다.) 0. 설치 요구 사항 설치 ..
PyCharm Activation code 추출 방법 안녕하세요 devport 입니다. 이번 포스팅에서는 PyCharm License의 Activation Code를 추출하는 방법에 대해서 알아보도록 하겠습니다. 나에게 할당된 Activation Code 추출하는 방법 우선 계정에 로그인후에 상단 헤더바에 Licenses를 클릭하여 해당 페이지로 접근합니다. "Download activation code for offline usage"를 클릭하면 자신에게 할당된 라이선스를 다운로드 받을 수 있게 됩니다. 다른 계정의 Activation Code 추출 방법 만약 자신이 라이선스 그룹의 관리자라면 그룹내 라이선스에 대해서 Activation Code를 추출 할 수 있습니다. 라이선스 창에서 "회사명"을 클릭합니다. 활성화, 만료, 모든 상태의 라이선스의 항목..