입대한지 벌써 6개월차에 접어드는 지금 맨 처음 입대할때의 목표를 다시 살펴봤다.

1. 꾸준히 운동하기

2. 코딩 공부하기 ( 백준 플레찍기 )

3. 영어 공부하기

 

1은 하고 있고 2 번 목표는 생각보다 너무 빨리 달성해버렸다.

그렇다고 영어공부만 1년 3개월을 할 수는 없어서 알아보던 중 구름 ide를 이용해 사지방에서 웹 개발을 할 수 있다는 정보를 얻게 됐다.

그래서 입대하기 전에 만들던 칵테일 레시피 사이트의 백엔드 부분을 사지방에서 업데이트해보려고 한다.

 

입대 전 개발환경은

Mac + VS Code + Python3 + Django였다.

이제는 goorm ide 하나로 진행해보려고 한다.

 

1. Goorm IDE 회원가입 및 컨테이너 생성

https://ide.goorm.io/

 

구름IDE - 설치가 필요없는 통합개발환경 서비스

모두가 개발자가 된다 매일 전 세계 사용자들이 다양한 아이디어를 실현하고 있습니다. 프로젝트 멤버들과 실시간으로 공유하고 협업해 보세요. 지금 시작하기 코드 파일 수3,754,000+코드 작성

ide.goorm.io

그냥 들어가서 회원가입하고 컨테이너 생성을 누르면 된다.

이때 그냥 구글 아이디로 로그인을 하면 컴퓨터를 끄면 모든 내용이 초기화되는 사지방 특성상

매번 로그인 할 때마다핸드폰으로 Gmail을 키고 2차 인증을 해야하므로

이메일 인증을 하고 아이디를 새로 만드는 것을 추천한다.

 

 

컨테이너 생성시엔 장고를 이용해 개발을 한다고 소프트웨어 스택에서 냅다 장고를 고르지말고

 

파이썬으로 고르는 것을 추천한다.

장고를 고르고 했더니 알아서 장고 프로젝트를 만들어 주는건 좋은데

DRF를 이용해 백엔드 API를 만드려면 어차피 그 프로젝트 삭제하고 다시 만들어야한다.

 

프로젝트 이름 등은 알아서 설정하고

그 외에는 그냥 mysql 또는 mongoDB설치 정도만 설정하고 나머진 그냥 진행하면 될 것 같다.

 

2. 가상환경 설정 및 프레임워크 설치

소프트웨어 스택을 파이썬으로 설정했다면 파이썬3가 설치되어있는 ubuntu 기반의 서버를 사용할 수 있다.

root@goorm: /woorkspace/폴더 밑에 아까 설정한 프로젝트 이름으로 파일들이 생성된다.

mkdir venvs # 가상환경용 파일 생성
cd venvs # 만든 파일 진입
python -m venv cocktail # cocktail 이라는 이름으로 가상환경 생성

이후 만들어진 파일로 들어가 가상환경을 실행시키고 장고 및 필요한 프레임워크들을 다운 받으면 된다.

(django,django-rest-framework,mysqlclient,corsheaders 등을 설치했다.)

cd cocktail/bin
source activate #가상환경 실행

컨테이너 생성시에 mysql 설치 항목에 체크를 했다면 mysql은 이미 설치된 상태이다.

 

3. 깃허브 연동 및 프로젝트 파일 생성

장고 프로젝트 생성은 원래 "django-admin startproject" 명령어를 통해 진행하지만

기존에 만들던 백엔드 API를 수정하는 것이 목표이므로 깃허브에 미리 올려뒀던 파일을 clone 해오는걸로 대체했다.

왼쪽 탭의 GIT 메뉴를 누르고 저장소 연결하기를 통해 clone을 해도 되고

터미널에서 git clone "http:// ...." 명령어를 통해 clone을 해와도 된다.

 

4. DB연동 (MySQL)

mysql 설치를 이미 해놨기 때문에 장고 프로젝트에 연결만 하면 된다.

sudo service mysql start # mysql 시작
sudo mysql -u root -p #root 계정으로 mysql 진입 비밀번호는 아무거나 치면 됨
use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '원하는 비밀번호';

mysql이 제대로 설치됐는지 확인해본 후 루트 계정의 비밀번호를 바꿔준다. (phpmyadmin 사용을 위해)

https://retromakers.tistory.com/m/14

 

MySQL 초기설정 : DB 생성 및 신규 유저 권한 설정

MySql의 초기 설정 방법을 정리해 봤습니다. mysql이 설치되어 있고 mysql 관리자는 id와 pw를 알고 있는 경우를 가정합니다. DB와 이를 사용할 USER를 만들고, 내부/외부에서 접속이 가능하도록 권한 설

retromakers.tistory.com

이후 원하는 설정으로 유저 및 데이터베이스를 생성한다.

그리고 만든 유저 및 데이터베이스 설정대로 settings.py 파일로 들어가서 DATABASE 항목을 수정하면 된다.

#settings.py

#이 부분 지우기
# DATABASES = { 
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }

#새로 쓸 부분
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db 이름',
        'USER': '사용자 이름',
        'PASSWORD': '비밀번호',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

그리고 python manage.py makemigrations, python manage.py migrate를 통해 마이그레이션을 진행해보고 이상이 있는지 확인해보면 된다.

 

https://incomeplus.tistory.com/224

 

Ubuntu MySQLClient 설치시 에러 발생 해결 OSError: mysql_config not found

명령어 $ sudo pip install mysqlclient Error OSError: mysql_config not found 원인 에러가 발생하는 이유는 mysqlclient 모듈을 설치하기 위한 종속성이 완성되지 않았기 때문이다. 즉, mysqlclient를 설치하기 전에 미

incomeplus.tistory.com

https://zenna9.tistory.com/43

 

django 실행 시 에러 해결(did you install mysqlclient?)

django를 실행하려고 python manage.py ....명령어들을 치면 자꾸 아래 메시지가 나왔습니다. django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient? pip install mysqlclient를 하면 아

zenna9.tistory.com

mysqlclient가 설치되지 않았다는 오류가 생긴다면 이 페이지들을 참고하자.

 

마이그레이션이 잘 된다면 python manage.py runserver 명령어를 통해 장고 서버를 실행해보자.

 

5. 서버 외부 접속 테스트

프로젝트 > 실행 URL과 포트 메뉴를 이용해 서버 실행에 사용되는 도메인 주소를 등록할 수 있다.

원하는 도메인 아무거나 입력후 포트를 장고 기본 포트인 8000으로 설정하고 등록하자.

그러면 밑에 url 및 포트 주소와 복사하기 버튼이 생길텐데 그대로 복사하고 크롬으로 들어가서 붙여넣기하면

아까 실행한 장고 웹사이트가 나오는 것을 볼 수 있다.

 

6. DB GUI 설치 - phpMyAdmin

깃허브 관리는 터미널을 이용해 한다고 해도 db 관리를 터미널로 하기는 아직 쉽지 않다.

하지만 사지방 특성상 gui 프로그램을 설치할 수 없으므로(하모니카 OS로 바뀌고 파일 설치가 막힌 듯 하다)

설치 없이 돌릴 수 있는 phpMyAdmin 을 이용해 db를 관리하자.

 

https://wnw1005.tistory.com/535

 

우분투 20.04에서 phpMyAdmin 설치 01 - 저장소 설치

[관련 게시물] 2021.02.20 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 01 - 저장소 설치 2021.03.15 - [서버 운영/APM 서버 구축] - 우분투 20.04에서 phpMyAdmin 설치 02 - Apache 서버 관리자를 위

wnw1005.tistory.com

 

이 게시글을 참고해서 설치했다.

이것 저것 오류가 많이 생겼었고 개발환경 설정하는데 여기서 시간을 제일 오래 잡아먹었는데

노션에 기록하는걸 까먹었다..

phpmyadmin 설치에 성공했다면 아까 했던 url 메뉴에서 80번 포트를 열어주면 된다.

그 후 80번 포트와 연결된 뒤에 /phpmyadmin을 입력한후 크롬 주소창에 넣으면 phpmyadmin 로그인 창이 나온다.

여기서 id에 root 그리고 비밀번호를 아까 설정한 root 계정 비밀번호를 입력하면 phpmyadmin을 이용해 웹으로 db관리를 할 수 있게 된다.

 

여기까지 성공한다면 이제 사지방에서 오로지 웹만 이용해 백엔드 개발을 할 수 있다.

 

API 테스트 - postman

DB GUI - phpMyAdmin

개발 - Goorm IDE

 

7. 개발환경 세팅 후 시작할 때

1. goorm ide 시작

2. 가상환경 진입

3. sudo service mysql start, sudo service apache2 start

4. phpmyadmin 실행

 

+ db를 초기화 해야하는 상황이 온다면

 

1. 장고 migrations 파일로 들어가 __init__.py를 제외한 모든 파일 삭제

2. sudo mysql -u root -p

3. drop database cocktail; (db 이름)

4. CREATE DATABASE cocktail;

5. 가상환경 진입 이후 python manage.py makemigrations, migrate

 

+ mysql utf8 오류 (db에 한글 삽입시 오류)

https://calvinjmkim.tistory.com/23

 

MySQL 데이터베이스의 characterset 언어를 UTF8로 변경하기

여전히 간단하게 사용하기에는 가장 좋은 관계형 데이터베이스는 MySQL인 것 같다. 그런데 MySQL에서 가장 흔히 하는 실수가 기본 언어셋을 변경하지 않는 것이다. 과거의 유물이어서 그런 탓이겠

calvinjmkim.tistory.com

이 과정대로 설정 변경후 mysql 재시작 및 db 재생성

 

 

 

 

 

 

+ Recent posts