728x90
반응형

Computer Science 56

[Django] Migration/마이그레이션 충돌 시 해결방법들

Django에서 제법 잘 발생하는 마이그레이션 충돌. 원인 GitHub 등에 파일을 공유하면서 다른 사용자의 마이그레이션 파일을 내 컴퓨터에 받아오는 등 마이그레이션 파일이 중복되는 경우. 모델을 변경했지만, 마이그레이션에는 변경사항이 없으면서 데이터베이스에도 반영되지 않아서 발생하는 경우. 형태 대표적으로 no such column 오류. 바뀐 모델에서 컬럼을 추가했는데 마이그레이션에 반영이 안되는 등의 이유로 발생한다. 그 외 dependency 설정 오류 등 다양한 오류명으로 발생한다. 해결 방법 1. 데이터베이스를 드랍하지 못할 때 주석을 이용하는 방법 migration폴더 안에 있는 .py파일들 중 __init__.py부분을 제외한 나머지 파일들 중에서 문제가 되는 모델이 있는 코드들을 주석처리..

[Python, Django, MySQL] 장고에서 MySQL 데이터베이스 사용하기

장고와 MySQL, 파이썬과 MySQL 연결하기 Python 프로그램으로 MySQL 데이터베이스를 연결하는 방법은 대표적으로 pymysql이 있지만 장고에서는 데이터베이스 설정을 별도로 제공해주기 때문에 pymysql보다는 mysqlclient만으로도 깔끔한 연결이 가능하다. 따라서 mysqlclient를 사용하는 방법과, pymysql을 사용하는 방법 2개를 전부 설명하고자 합니다. mysqlclient(추천) 1. pip로 설치할 패키지 pip install mysqlclient 2. 만약 접속하는 사람이 root가 아니라면, 다음의 사용자 생성 및 권한 설정을 해준다. create database {db이름}; use mysql; create user '{사용자이름}'@'%&#..

[Docker] pull access denied

도커 이미지를 pull하려는데 로그인을 요구한다길래 docker login 명령어를 이용해서 로그인을 완료했음에도 불구하고 docker: error response from daemon: pull access denied for... 이러한 에러가 발생하면서 로그인을 요구한다. 이럴 때는. docker pull {이미지명} (X) docker pull {사용자명}/{이미지명} (O) 으로 하면 잘 된다. 아무래도 태그를 통해 pull할 이미지를 구분하는 것 같았다. 만약 내 도커 아이디가 yourhyeony이고, 생성할 이미지 이름이 test라면 우리는 이미지를 만들 때 yourhyeony/test로 태그를 만들어서 도커 허브에 업로드한다. 태그를 생성할 때 사용자명/이미지명 순으로 이름을 짓기 때문이다..

[Docker] pull permission denied

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/... 이런 에러가 뜰 때 사용자가 접근하려고 했으나 권한이 없어 발생하는 문제이다. 1. 현재 권한을 가진 사용자 리스트 조회 ls -al /var/run/docker.sock 2. 로그인중인 유저를 docker group에 포함시키기 sudo usermod -a -G docker $USER $USER는 현재 로그인한 사용자 아이디를 나타내는 환경 변수 3. 시스템 재시작 sudo systemctl reboot 4. 재시작 후 권한 부여 목록 조회 id docker group은 999 5. 터미널에서 도커 로그인 하는 명령어 docker login

[Docker] 도커 이미지/볼륨/네트워크 삭제하기

도커 이미지를 그냥 삭제하려고 하면 오류가 발생한다. 그 이유는 해당 이미지를 사용중인 컨테이너가 있어서 발생하는 것이다! 모든 명령어는 bash쉘 기준이다. 이미지 삭제 방법! 1. 이미지를 사용중인 컨테이너를 찾는다. docker ps 실행중인 컨테이너 리스트를 얻는다. docker ps -a 모든 컨테이너 리스트를 얻는다. docker ps -a --filter ancestor={이미지 이름} 해당 이미지를 사용중인 특정 컨테이너를 찾는다. 2. 결과가 나오면 해당 컨테이너를 삭제한다. docker rm {컨테이너 이름 또는 id} 해당 컨테이너를 삭제한다. docker rm -f $(docker ps -aq --filter ancestor={이미지 이름 또는 id}) 이미지를 이용하여 그 이미지를..

[Docker] 도커 이미지 생성/빌드하기

1. 깃 리포지토리 클론하거나 본인이 이미지를 만들고자 하는 리포로 이동. 클론해서 run 하는 명령어 docker run --name repo git clone asdf.git 2. 도커파일 작성 예시는 내가 작성한 Django 서버를 돌리는 도커파일이다. FROM ubuntu:22.04 # AWS EC2의 우분투 버전과 통일 # 장고 프로젝트이므로 python이미지를 사용해도 괜찮지만, 이 프로젝트는 같이 적용할 것이 있어서 우분투를 사용했다. RUN apt-get -y update RUN apt-get install -y python3-pip # pip 설치 RUN apt-get install libmysqlclient-dev -y # for MySQLclient (데이터베이스로 mysql을 사용하..

[Android] ListView에 Adapter 적용하기

Stringrequest를 보내고, Listview에 Adapter가 제대로 적용이 안될 때 해결 방법 초반에 그냥 1개만 선언하고 Onresponse 로 json 파일을 List에 전부 넣었다면 try문 끝나기 전에 notifyDataSetChanged(); 실행!! 그러면 잘 적용된다. 예시 첫 번째, 로컬 데이터베이스에서 데이터를 가져올 때 todoLists = localdb.Read(date); // 로컬 데이터베이스에서 데이터를 읽어오고 todoListAdapter.updateDataSet(todoLists); // 로컬 데이터베이스 내용을 적용해준 뒤 todoListAdapter.notifyDataSetChanged(); // notifyDataSetChanged()를 실행해서 화면에도 적용될..

[PHP] 데이터 값에 table HTML이 적용되어 있을 때

작년 여름, 안드로이드 개발을 하던 시기 정말 오랜 시간 원인을 찾지 못했던 에러였다. 데이터를 php서버로부터 받아왔는데, table HTML과 CSS가 적용된 값이 넘어와서 정상적으로 데이터를 활용할 수 없었다. 1. 원인 그래서 여러가지로 구글링을 해 보다가, 스택오버플로우에서 나랑 똑같은 오류를 겪고 있던 사람을 찾을 수 있었다. 그래서 문제는..! while(mysqli_stmt_fetch($statement)) { $total_response[] = $statement; } 우선 response에 이 $statement를 그대로 때려박으려고 했던 게 첫 번째 원인이었다. PHP 서버의 데이터 fetch 시 각 필드별로 가져오도록 변경하면 해결할 수 있다. json 형식이니까, (어쩌면 당연하게..

728x90
반응형