본문 바로가기

프로그래밍(공통)

(7)
Code Complete 변수 변수에 대한 참조를 지역화하라. 변수에 대한 참조가 가능한 가까이 있는게 취약성을 줄이는 방법이다. a = 0; b = 0; c = 0; a = b+c; 위 코드에서 a에 대한 첫번째 참조와 두번째 참조의 폭(span)는 2이며, b는 1, c는 0이다. 추가로 이 폭을 줄이면 코드의 가독성도 높아진다. 변수의 수명을 가능한 짧게 유지하라. 변수의 수명은 첫 번째 참조와 마지막 참조 사이의 폭이다. 예를 들어 line no 1.에서 첫 참조되고 no.25에서 마지막 참조되었다면 수명은 25 명령문이다. 이 때, 그 외 참조가 하나도 없었다면 참조의 span은 23이며, 매 라인마다 참조가 있었다면 span은 0이다. 이 수명 또한 줄일수록 코드의 안정성과 가독성이 높아진다. 바인딩 시간 바인딩 시간은 변..
Software의 방어적인 프로그래밍 Assertion 크고 방대한 시스템에서 오류를 찾아내기 위해 적합하다. 사용 지침 절대로 발생해서는 안 되는 조건을 위해서 어설션을 사용하라. 선행 조건과 후행 조건을 문서화하고 검증하기 위하여 어설션을 사용하라. eg. Private Funtion Velocity { _ ByVal latitude AS Single, _ ByVal longitude AS Single, _ ' 선행조건 Debug.Assert( - 90
[도메인] OAuth의 개념과 OAuth 2.0? OAuth 네이버, 카카오, 페이스북 로그인을 통해 사용자에게 회원가입을 대체할 수 있는 편리한 서비스를 제공한다. 이 과정에서 어떻게 기존 사이트의 회원 정보를 안전하게 사용할 수 있는 지에 대한 표준 프로토콜이 OAuth이다. OAuth를 활용하면 사용자가 네이버, 카카오 등의 아이디/비밀번호 같은 세부 사항을 작성하지 않아도 서비스의 사용자 정보를 새로운 서비스에서 안전하게 사용할 수 있다. 이 과정을 실 생활에 빗대은 예시이다. 외부 손님 B가 회사에 근무하는 A를 만나러 왔다. 회사는 A에게 B의 방문 사실을 알린다. A는 B가 문제 없고 정상적인 목적으로 왔다고 회사에 알린다.=> 인증 A는 B의 방문 목적, 인적 사항 등을 기록한다. 회사는 B에게 방문증을 발급한다. => 허가 A와 B는 정..
[Linux] Vim 에디터를 Vundle로 커스터마이징 기본 셋업 $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim $ sudo apt install universal-ctags $ vi .vimrc .vimrc 내용 et rtp+=~/.vim/bundle/Vundle.vim " :vs -> 창 수직 분할 " ctrl+ww -> 창 이동 " :NERDTree " :term -> 터미널 열기, ctrl+d 닫기 call vundle#begin() Plugin 'VundleVim/Vundle.vim' " 파일 구조 관리 Plugin 'scrooloose/nerdtree' " 태그로 함수 등을 관리 Plugin 'majutsushi/tagbar' " git으로 관리되는 ..
[python] 엑셀에 저장된 주소 정보를 위도, 경도로 변환하기 환경 설정 $ pip install requests $ pip install openpyxl 추가로 아래 파이썬 코드가 작성된 폴더에 엑셀 파일을 위치시킨다. 첫번째 열에 주소 정보를 입력 API 공간정보 오픈플랫폼 오픈API Geocoder API 2.0 레퍼런스 Geocoder API 2.0 레퍼런스입니다. API 버전 : Geocoder API 2.0 레퍼런스 Geocoder API 1.0 레퍼런스 소개 주소를 좌표로 변환하는 서비스를 제공합니다. 요청URL을 전송하면 지오코딩 서 www.vworld.kr 사이트 회원가입 후 API를 발급받고, Geocoder API 1.0 레퍼런스를 활용 geo.py #-*-coding: utf-8 -*- import requests import openpyxl ..
서버 구성 관련 명령어(Ubuntu 18.04, Node.js, MongoDB) $ sudo apt-get update $ sudo apt-get install -y build-essential $ sudo apt-get install curl $ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -- $ sudo apt install nodejs $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - $ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sourc..
vscode에서 git 사용 1. git 초기 사용자 정보 설정 $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 2. 설정 확인 $ git config --list 3. Git local repository 가운데 세번째에 존재하는 git 아이콘을 클릭한 뒤 우측 상단의 편집 옆에 있는 아이콘을 클릭하면 로컬 저장소가 생성된 것이다. 4. Local 저장소를 Github repository에 연동 git 사이트에서 repository를 새로 생성한 뒤, 혹은 이미 존재하는 repository에서 Clone or downloads의 경로를 다음과 같이 터미널에 입력한다. $ git remote add origin..