전체 글 썸네일형 리스트형 [Node] 04. 콜백을 사용한 비동기 제어 흐름 패턴 본 문서는 Node.js 디자인 패턴 바이블을 읽고 리뷰를 남기고 있습니다. 문고들은 이 책의 일부분을 인용한 것임을 밝힙니다. 동기식 프로그래밍 스타일을 사용하는 플랫폼에서 Node.js와 같이 연속 전달 스타일과 비동기 API를 일반적으로 사용하는 플랫폼으로의 적응은 쉽지 않을 수 있습니다. 비동기 코드는 구문이 실행되는 순서를 예측하기 어렵게 할 수 있습니다. 이 장에서는 몇 가지 규칙과 패턴을 사용하여 실제로 어떻게 콜백을 능숙하게 제어하며, 깔끔하게 관리 가능한 비동기 코드를 작성할 수 있는지 살펴볼 것입니다. 콜백을 올바르게 다루는 법을 알게 되는 것은 프라미스와 async/await와 같이 최근에 쓰이는 접근법을 사용하기 위한 초석이 될 것입니다. # Contents 비동기 프로그래밍의 어려.. 더보기 [Node] 03. 콜백과 이벤트 본 문서는 Node.js 디자인 패턴 바이블을 읽고 리뷰를 남기고 있습니다. 문고들은 이 책의 일부분을 인용한 것임을 밝힙니다. 비동기식 프로그래밍에서는 파일 읽기 또는 네트워크 요청 수행과 같은 일부 작업을 백그라운드 작업으로 실행할 수 있습니다. 비동기 작업이 호출되면 이전 작업이 아직 완료되지 않은 경우에도 다음 작업이 즉시 실행됩니다. Node.js에서 비동기 작업의 완료를 통지받는 가장 기본적인 메커니즘은 콜백입니다. 콜백은 비동기 작업의 결과를 가지고 런타임에 의해 호출되는 함수일 뿐입니다. 비동기식 프로그래밍인 Node.js에 대해 배워보도록 하겠습니다. 비동기 코드를 작성하기 위해서 그것이 무엇을 의미하는지도 이해해 볼 것입니다. 또한 콜백 패턴과 연관이 있는 관찰자 패턴을 배워볼 것입니다.. 더보기 [Node] INI 라이브러리를 통한 환경설정 파일 구현 - ini Parser - 본 문서는 INI 라이브러리 ini 을 모듈화 하여 프로젝트와 의존하지 않은 코드를 작성하였습니다. 프로젝트의 오류와 반영된 코드 및 결과 값들을 파악하여 동작을 이해할 때 사용하기도 합니다. ini Parser를 사용하게 되면 환경설정 파일을 외부로 반출 시킬수 있기 때문에 환경설정 파일과 코드와의 의존성이 약해져서 더욱 좋은 코드가 작성될 수 있다는 점입니다. 환경설정을 변경하기 위해 코드를 고치는 것 보다 간단하게 ini 환경설정 파일을 고치는 것이 유용하다고 판단됩니다. 그러면 아래 예제를 통해 시작해보도록 하죠. # Contents ini Install 예제 코드 # ini Install 해당 라이브러리를 이용하기 위해 우리는 2개의 라이브러리를 설치할 예정입니다. ini : ini로 구성된 파.. 더보기 [Node] Logging 라이브러리 winston 본 문서는 Logging 라이브러리 winston 을 모듈화 하여 프로젝트와 의존하지 않은 코드를 작성하였습니다. 프로젝트의 오류와 반영된 코드 및 결과 값들을 파악하여 동작을 이해할 때 사용하기도 합니다. 그러면 아래 예제를 통해 시작해보도록 하죠. # Contents winston Install 예제 코드 # winston Install 해당 라이브러리를 이용하기 위해 우리는 2개의 라이브러리를 설치할 예정입니다. winston : 로깅을 도와주는 실질적인 라이브러리 입니다. winston-daily-rotate-file : winston에서 로깅된 로그들을 파일로 저장해주는 winston 유틸리티 라이브러리입니다. 설치 방법은 아래와 같습니다. npm install --save winston npm.. 더보기 [Linux] 일정 기간이 지난 파일 삭제 스크립트 및 크론탭 일정 기간이 지난 파일의 삭제 스크립트 및 크론탭 예제입니다. 예제에서는 특정 폴더 전체에서 수행하는 스크립트와 특정 폴더 안에 어떠한 문자열을 찾아 삭제를 수행하는 스크립트로 나뉘어져 있습니다. # Contents 일정 기간이 지난 파일 삭제 스크립트 크론탭 적용 # 일정 기간이 지난 파일 삭제 스크립트 스크립트 형식으로 제공하고 있습니다. 아래 코드를 [ 파일명 ].sh 로 저장하여 주시기 바랍니다. 1. 특정 폴더 전체에서 수행 #!/bin/sh /usr/bin/find /DATA/gitlab_backups/ -type f -mtime +10 -exec rm {} + type -f 는 파일만 찾는 Option입니다. 디렉토리를 찾기 위해서는 -d 옵션으로 변경해 주시면 됩니다. -mtime 옵션은 .. 더보기 [Gitlab] 깃랩 복원 (백업을 통한 복구) 깃랩 백업 복구를 위한 문서를 정리하였습니다. # Contents Gitlab Restore # Gitlab Restore Gitlab Restore 명령어 포맷은 아래와 같습니다. gitlab-rake gitlab:backup:restore BACKUP= 아래는 실제로 깃랩 복원을 한 예시입니다. 정상적으로 처리됨을 확인하였습니다. gitlab-ctl stop sudo gitlab-rake gitlab:backup:restore BACKUP=1519826736_2018_02_28_10.4.4-ee gitlab-ctl start 더보기 [Gitlab] 깃랩 백업 설정 깃랩을 설치 한 후 백업폴더를 지정하고 싶은 경우 정리한 문서입니다. 필자는 /DATA/gitlab_backups 디렉토리에 저장하고 싶다고 예를 들면서 설명하도록 하겠습니다. # Contents Gitlab Backup Configure # Gitlab Backup Configure Gitlab 설정파일을 아래 명령어를 통해 수정하도록 합시다. sudo vi /etc/gitlab/gitlab.rb 위 명령어를 통해 gitlab 설정 파일을 연 후 아래 라인을 찾아서 수정하도록 합시다. 라인 카운트는 변경될 수 있으니 특정 문자열을 찾는 것이 편합니다. gitlab_rails['backup_path'] = '/DATA/gitlab_backups' #line 537 부분을 수정함 ETC. 깃랩 백업 쉘 명.. 더보기 [Gitlab] 깃랩 CE 설치 및 사용법 for Ubuntu 깃(Git)은 오픈소스 버전 컨트롤 시스템으로, 크고 작은 프로젝트를 빠르고 효율적으로 관리하기 위한 것입니다.. 깃랩(GitLab)은 깃 위에서 구축되었으며, 훌륭한 인터페이스를 제공하지만, 보다 복잡한 작업을 처리하기 위해서는 커맨드 라인을 통해 깃을 사용해야 합니다. 깃랩 홈페이지에서 제공하는 사용법을 정리한 것입니다. 원문은 이곳에서 확인할 수 있습니다. 깃랩을 설치하기 전 깃랩과 깃허브의 차이점에 대해 간단하게 소개하고자 합니다. 깃랩에서는 https://about.gitlab.com/devops-tools/github-vs-gitlab/ 에서 깃허브와의 차이를 통해 자신들의 강점을 소개하고 있습니다. GitLab See how Github compares to Gitlab single appl.. 더보기 이전 1 ··· 6 7 8 9 10 11 12 ··· 14 다음