• mongoDB

    MongoDB – 계정 관리

    mongod.conf mongod.conf 파일은 mongodb 설정 파일입니다 mongoDB는 기본적으로 authorization이 활성화되어 있지 않아서 누구나 쉽게 접속할 수 있습니다 접근 제어를 위해 별도의 authorization 활성화 설정을 해야합니다 mongod.conf 환경설정 더 알아보기 Dockerize시 계정 설정 Docker mongoDB 슈퍼 계정 관련 환경 변수 MONGO_INITDB_ROOT_USERNAME MONGO_INITDB_ROOT_PASSWORD Docker-Compose 작성 예시 예시로 mongo-express도 함께 추가하였으나 mongo-express는 사용 시에만 참고하세요 mongo-express – Node.js, Express 및 Bootstrap3으로 작성된 웹 기반 MongoDB 관리 인터페이스 Docker Image 배포 예시 1, 2번과 같이 Docker 배포 시 별도의 계정과 패스워드를 지정하지 않았으므로 authorization 비활성화를 위해 mongod.conf의 security.authorization 값이 disabled가 되도록 설정합니다 3번과 같이 Docker 배포 시 슈퍼 계정에 대한 환경 변수를 지정하였으므로 해당 계정으로 접속이 가능하도록 authorization 활성화를 위해 mongod.conf의 security.authorization 값이 enabled가…

  • mongoDB

    MongoDB – 기본 환경설정

    ※ mongoDB 4.2 version 해당 문서는 mongoDB 4.2 version을 기준으로 테스트 후 작성하였으니 참고 부탁바랍니다. mongodb 서비스 관리 mongod 환경설정 파일 위치 지정 mongod 환경설정 주요 옵션 옵션 기본값 설명 systemLog.verbosity 0 로그 메시지 에 디버그 상세 수준 (1-5) systemLog.logRotate rename 서버 로그 교체 시 동작 지정(rename or reopen) systemLog.destination 모든 로그 출력을 보내는 대상 (file or syslog) systemLog.logAppend false 재시작 시 기존 로그를 작성 방식(백업 후 새로 작성 or 기존 로그에 이어서 작성) systemLog. path 필수 로그 파일의 경로 net.port 필수 DB 접속 포트 net.ipv6 false ipv6 사용 허용 여부 net.bindIp 필수 접근 허용 IP net.bindIpAll false 모든 IP 접근 허용에 위해 ipv4의 경우 bindIp에 0.0.0.0 로 입력하면 되지만 ipv6의…

  • mongoDB

    MongoDB – 백업 및 복원

    백업하기 mongodump 명령어 사용 예시 mongodump 주요 옵션 옵션 설명 –uri 대상 mongoDB의 접근 uri -h, –host 대상 mongoDB의 접근 호스트 IP –ssl 활성화된 ssl mongod나 mongos 연결시 –sslCAFile 인증 기관의 루트 인증서 체인이 포함된 .pem 파일 –port 대상 mongoDB의 접속 포트 -u, –username 대상의 사용자 ID -p, –password 대상의 사용자 비밀번호 -d, –db 대상 데이터베이스 -c, –collection 대상 컬렉션 -q, –query 적용할 쿼리 –out 백업 데이터를 저장할 디렉터리 경로 –gzip 백업 데이터를 gzip 파일로 압축하여 저장 복원하기 mongoimport JSON, CSV 또는 TSV 파일의 데이터를 mongoDB 인스턴스로 변환 UTF-8로 인코딩된 데이터 파일만 지원 mongorestore mongodump로 생성된 binary database dump 파일을 mongoDB 인스턴스로 변환 참고 자료 mongodump mongoimport mongorestore

  • mongoDB

    MongoDB – 이해하기 (+기본 명령어 사용법)

    MongoDB 이해해보기 MongoDB란? 오픈 소스 라이브러리 NoSQL 데이터베이스 – Document 기본 파일 경로 /data/db 환경설정 파일 – mongod.conf 컬렉션(collection) mongoDB의 컬렉션은 DataBase의 하위에 속하는 개념으로 SQL의 테이블과 같은 존재입니다. 일반 컬렉션과 제한 컬렉션 일반 컬렉션 동적으로 생성 후 데이터의 추가에 맞춰 크기가 자동으로 늘어남 제한 컬렉션 미리 생성할 때 크기를 고정 생성된 데이터 공간을 큐 형태로 동작 크기를 초과할 경우 오래된 문서에 데이터를 덮어 씌우는 방식 고성능의 로깅 활용에 유용함 일반 컬렉션은 제한 컬렉션으로 바꿀 수 있음 제한 컬렉션은 일반 컬렉션으로 바꿀 수 없음 제한 컬렉션은 샤딩할 수 없음 MongoDB와 SQL MongoDB와 MySQL 성능 비교 MongoDB와 SQL 비교 SQL MongoDB 테이블 컬렉션 행 (row) BSON 문서 열 (column) 필드 색인 (index)…

  • AWS

    AWS – 탄력적 IP 관리

    AWS – 탄력적 IP 할당이란? 동적 클라우드 컴퓨팅(EC)에 할당된 퍼플릭 IPv4를 고정적으로 할당하는 것을 말합니다 인스턴스에 할당된 IPv4는 유동적이므로 인스턴스를 실행할 때마다 변경됩니다. 현재 IPv6는 지원하지 않음 탄력적 IP 관리 콘솔로 이동 AWS Management Console 접속 EC2 Service 이동 AWS Management Console -> 검색으로 이동 EC2 Sevice 콘솔에 접근하게 되면 좌측에 아래 이미지의 네비게이션을 볼 수 있습니다. 네비게이션에서 네트워크 및 보안 -> 탄력적 IP 이동 바로가기 탄력적 IP 할당 우측 상단의 아래 이미지 버튼 클릭 – 생성 진행 생성 후 탄력적 주소 목록에서 할당된 IP 선택 – 우측 상단 작업 버튼 – 탄력적 IP 주소 연결 클릭 생성된 IP를 적용할 인스턴스 혹은 네트워크 인터페이스 선택 적용 후 탄력적 주소 목록에서 해당…

  • mongoDB

    MongoDB – Sample Data 사용해보기 (+Docker)

    선행 docker install mongodb tool (robomongo) install Sample Data Download mongodb-sample-dataset 접속 Code import 방식 Download Clone mongodb Dockerize mongo image file pull docker images check docker run mongo image file %cd% – mongodb-sample-dataset 를 저장한 위치 의미 docker ps check docker exec sample data import robomongo 접속 정보 등록 import 확인 결과 참고 자료 mongodb-sample-dataset robomongo

  • Flask

    Flask – flask wtf

    CSRF 란? 참고 – [Web – CSRF와 XSS] flask-wtf 설치 FlaskForm CSRF 토큰 적용 CSRF 특정 블루프린트에서 제거처리 프로덕션 환경에서도, API 문서를 정상 테스트 처리해주기 위해선 IP ACL등을 정하는 듯 조치필요. CSRF 토큰 검증 CSRF방어가 필요한 요청(=쓰기/변경이 가능한 엔드포인트 및 메서드들) 마다 특정 토큰을 포함시켜서 요청하여, 서버에서 비교하는 방식 참고 자료 flask-wtf config

  • Python

    Python – pytest 패키지 관련 정리 (유닛테스트 , TDD)

    유닛테스트와 TDD 유닛테스트란? 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트 TDD란? 테스트가 주도하는 개발 항상 실패하는 테스트를 먼저 작성 (RED) 테스트가 통과하는 프로덕션 코드를 작성 (GREEN) 테스트가 통과하면 프로덕션 코드를 리펙토링 패키지 설치 pytest fixture pytest가 테스트를 진행하면서 공통적으로 이용할 수 있는 자원 데코레이터를 사용하여 정의 scope (범위) default – function Higher-scoped fixtures are executed first (상위 범위가 먼저 실행되게 하려면 fixture 범위[scope] 설정) lower-scoped fixtures : such as function or class higher-scopes fixtures: such as session conftest.py Test시 fixture 를 이곳에서 초기 설정 pytest 실행시 함께 실행 파일을 분리할 때 fixture들은 conftest 파일로 정리하는 것이 좋습니다 configs.py pytest 실행 시 테스트 환경으로 어플리케이션에 설정해야할 환경 변수 TESTING : 테스트 환경 여부…