전체 글
[Database] SQLite에서 Postgres로 데이터베이스 마이그레이션
Django 개발중에 SQLite를 사용하고 있다가 Postgres로 데이터를 옮겨야 할 경우가 있다. SQLite 데이터 dump python3 manage.py dumpdata > datadump.json 이후 코드는 Django settings.py의 Database를 postgres로 설정을 변경 후 실행한다. python3 manage.py migrate --run-syncdb python3 manage.py shell >>> from django.contrib.contenttypes.models import ContentType >>> ContentType.objects.all().delete() >>> quit() python3 manage.py loaddata datadump.json
[Docker] Docker 저장공간 마운트하여 사용하기
라즈베리파이4에 우분투 19.10.1 설치 후 도커 설치까지 완료하였다. 라즈베리파이4 저장공간을 늘리기 위해 외장하드디스크 1TB짜리를 연결해 둔 상태인데, 파티션을 둘로 나누었다. /dev/sda1은 /home에, /dev/sda2는 /var/lib/docker에 마운트 하여 도커 저장공간으로 쓰기로 한다. blkid vi /etc/fstab UUID=0f79b311-228e-4af5-b371-c43f766e2014 /var/lib/docker ext4 defaults,noatime 0 0 blkid 명령어로 uuid를 확인 후 fstab에 도커 저장공간으로 사용할 부분을 위와 같이 추가하였다. 이후 재부팅 후 도커가 시작되면서 마운트 된 폴더에 필요한 디렉토리와 파일들을 자동으로 생성한다. /var..
[BeautifulSoup4] 클래스 이름이 없는 태그 찾기
HTML 크로울링 시 패턴이 항상 일치하지 않는 경우가 있는데, 개발 완료 후 운영 초기에는 발견하지 못하다가 나중에 파싱이 잘못되어 있는 것을 발견하였다. 이런 경우는 파싱되는 데이터를 어느정도 지켜봐야 발견되는 경우가 많다. 다행히 패턴이 있었는데 클래스 이름이 없는 span 태그의 값을 찾으면 되는 것이였다. find('span', {'class': None}) span 태그 중 class 이름이 없는 것을 찾을 때, 위와 같이 사용하면 된다.
[Postgres] postgres 이미지 사용 시 시간 설정
python script에 psycopg2 패키지를 사용하여 postgres 데이터베이스에 자료를 저장하게 세팅이 되었다. 잘 동작하나 보다가 시간 설정이 한국 시간 설정이 꼬여서 이상하게 나오는 것을 확인하였다. 그래서 docker-compose.yml 파일의 environment 설정을 확인해 보니 TZ=Asia/Seoul으로 이미 설정이 되어 있었다. environment: - TZ=Asia/Seoul 알고보니 postgres 데이터 볼륨을 db라는 이름으로 생성한 도커 볼륨을 사용하고 있어서 설정 변경이 되지 않았던 것 volumes: - db: {} services: postgres: volumes: - db:/var/lib/postgresql/data 아래와 같이 postgres를 위해 생성된..
[Nginx] nginx.conf alias 설정 시 주의사항
docker-compose.yml 파일 세팅을 끝내고 작동을 시켜보니 페이지에서 static 파일들을 받아오지 못하는 현상이 있었다. 확인 해 보니 nginx.conf 파일의 static 경로 설정이 잘못되어 있었던 것. server { location /static/ { alias /static;
[Psycopg2] Python Psycopg2 패키지 스트링 처리
파이썬에서 psycopg2 패키지를 사용하여 postgres에 insert 쿼리를 하는 경우, 쿼리의 value 중 스트링을 처리하는 값에 대해 에러가 발생하였다. 처음에는 쿼리에 내가 원하는 values를 사용하기 위해 중괄호 포멧을 사용했었다. """Querry {0} {1}""".format(value1, value2) 하지만 value들 중 스트링 형식에 Single Quteo(' : 따옴표)를 사용하는 값에 대해서 에러가 발생하였다. postgreSQL 쿼리에 single quteo로 감싸진 값에 대해서는 colume으로 인식하는 것 같다. 그래서 아래와 같이 쿼리 변경 후 해결하였다. """Querry %s %s""".format(value1, value2)
[Ubuntu] 라즈베리파이4 Ubuntu Server 19.10.1(arm64) Docker & Docker-Compose 설치
1. https://ubuntu.com/download/raspberry-pi 링크의 라즈베리파이4 Ubuntu Server 19.10.1 arm64 설치 2. 업데이트 및 업그레이드 sudo apt update -y sudo apt upgrade -y 3. 도커 & 도커 컴포즈 설치 sudo apt install docker.io sudo apt install docker-compose 4. 사용자 계정(ubuntu) 도커 권한 추가 및 부팅시 도커 자동 실행 sudo usermod -aG docker ubuntu sudo systemctl enable docker 5. 설치 확인 docker version docker-compose version
[Raspbian] 라즈베리파이 라즈비안 docker & docker-compose 설치
https://dev.to/rohansawant/installing-docker-and-docker-compose-on-the-raspberry-pi-in-5-simple-steps-3mgl Installing Docker and Docker Compose on the Raspberry Pi in 5 Simple Steps Installing Docker on the Raspberry Pi sometimes can get messy, let me help you with that! dev.to 꼭 순서대로 진행할 것!@ 추가로 도커 루트 디렉토리에 외부 저장소 사용하는 방법 1. fdisk /dev/sda > 파티션 원하는대로 생성 2. mkfs.ext4 /dev/sda1 3. vi /etc/fstab ..