본문 바로가기

전체 글

(69)
Django 테이블 삭제하는 방법. django.db.utils.OperationalError: no such table 오류 해결 방법 Intro Django 로 개발을 하면서 자주 TABLE( 혹은 Model, 섞어서 표현하겠음. )을 삭제할 때 Migration 에 대한 개념이 별로 없어서인지 django.db.utils.OperationalError: no such table 에러를 자주 만나게되었습니다. 이번에도 한 번 그런 에러가 발생해서 이번 기회에 한 번 정확한 해결방법 및 Django 에서 Model을 삭제하는 방법에 대해 정리해보려합니다. 요점 중요한 점은 django ORM (Database를 직접 다루는 게 아니라 Django에서 api를 통해 다루는 방식 ) 에서 python manage.py makemigrtions 는 DB에 migrate할 변동내역을 적어놓기만하는 것이고 실제 DB에 그 내용이 반영되는 것은 p..
티스토리 블로그에 마크다운으로 코드 올리기 Intro 티스토리에서 글을 쓸 때 마크다운 모드를 지원하지만, 꽤나 부족한 점이 많아보인다. 개인적으로는 마크다운에 능통한 편도 아니기 때문에, 라이브로 preview 까지 됐으면 좋겠지만, 그 중 가장 큰 분제는 바로 코드 올리기이다. 우연히 어떤 블로그에서 마크다운으로 코드를 올릴 수 있도록 js를 짜신 걸 보았는데, 좋은 아이디어인 듯 했으나, 적용이 안 되길래 내가 그냥 만들었다. 맨날 a=10 b=20 이런 식으로 올리기가 이제는 너무 귀찮았고, 개발자라면 귀찮음을 없애기 위해 더 귀찮은 일을 하는 것이 보통이기 때문에.... 이번에 만든 코드로 앞으로는 귀찮음이 적어질 것 같다. 사용방법 현재는 Prism.js 라는 Code Highlighting 기능이 있는 라이브러리와 함께 사용 중이다...
Dockerfile의 CMD와 ENTRYPOINT 차이. docker-compose.yml의 command 인트로 Docker를 처음 배우면서 Dockerfile을 작성할 때 CMD 와 ENTRYPOINT의 차이점을 잘 몰랐다. 사실은 Entry가 참가자 명단 뭐 그런 뜻이라는데 나는 뭔가 입구같은 느낌을 받아서, Container의 Working Directory를 지정하는 WORKDIR과 혼동을 했다. 그래서 학교 시험문제도 틀렸었다. 근데 이번에 아는 분의 README.md를 읽어보다가 docker-compose.yml의 command 와 관련해서도 한 번 개념을 집고 넘어가면 좋을 것 같아 정리해본다. 간단하게 봤을 때 CMD 와 ENTRYPOINT의 차이 ( Dockerfile에서 ) 공통점은 우선 CMD 와 ENTRYPOINT 모두 해당 Dockerfile을 이용해 생성된 Image를 바탕으로 Co..
브루트포스 브루트포스를 사용할 때 마다 방식이 헷갈려서 참고용으로 저장해놓는 것이라, 최대한 간단하게 에시 코드만 적겠습니다. 기본적으로는 python을 이용합니다. # 재귀를 통한 순열, DFS 라고도 하는 듯? 1 2 3 4 5 6 7 8 9 10 11 12 def brute(l, candidates): if len(l) == len(totalList): print(l) else: for c in candidates: _candidates=candidates[:] _candidates.remove(c) brute(l+[c], _candidates) n = int(input()) totalList = list(range(1, n+1)) brute([], totalList) cs # 백준 14888번 연산자 끼워넣..
2019 전역 후 보낸 한 학기 인트로 여유롭게 보낸 시기도 있었고 시간이 정신 없이 흘러갔던 시기도 있었는데데, 어느 덧 전역 한 지도 반 년이 지나 한 학기가 끝나고 방학도 어느 정도 지났다. 가끔 개발자들이 반기마다 회고록을 쓰는 걸 보긴 했는데, 이건 개발자의 회고록이라기 보단 그냥 내 일기 같은 느낌으로 써본다. ㅎㅎ 왜 닉네임이 우미인가 사실 왜 닉네임으로 우미를 쓰는 지는 아무한테도 말 한 적이 없다. 조금 오글거려서..? 별로 할 닉네임이 없어 전역 전에 근무서면서 고민하던 중, 원래 둥글둥글한 발음의 'ㅇ'을 좋아했었는데, 내가 우연히 코딩을 접했던 것, 그 우연으로 내 인생의 방향이 달라지기 시작했던 것을 의미로 하여 우연의 미학으로 이름을 붙인 것이다. 듣는 사람에 따라 좀 오글거릴 수도 있는데 뭐 그냥 그렇다. 그..
[백준알고리즘] 1931번 회의실 배정 동아리에서 코딩테스트 준비를 시작했다. C++로 짜니까 어려운 것 같다가도 python으로 짜보니 또 C++이 편한 것 같기도... 효율은 C++이 좋은 것 같기는 하다. 그리디 알고리즘이라는 것을 이용한다고한다. 딥러닝할 때의 그리디인줄.. 근데, 내가 좋아하는 알고리즘 문제는 지식이 없어도 생각하면서 풀 만한 정도의 문제랄까.. 근데 생각해본 다음에 알아보니까 내가 푸는 방식이 그리디 방식이 맞더라 헤헷. 그리디 알고리즘은 이미 설명이 많이 되어있으니 한 번 찾아보시고 ( 사실 문제를 풀었지만 나도 딱히 알아보진 않음 ) 처음에 이 문제를 C++로 풀 때 많이 애를 먹었다... for문에서 필요없는 break;을 하나 넣어서 반례로도 잘 안찾아져가지고.. 배운 점 사람들은 C++에서는 vector를 ..
docker-compose를 통해 Nginx, Django 연동하기 1 - 간단한 Django app 만들기 소개docker-compose 를 통해 Nginx, uWSGI, Django 를 이용한 웹 서버, 웹 애플리케이션을 구축해보는 아주아주 씸플한 Super simple application을 만들어보겠다.이번 주말 내내 이 작업을 엄청 했더니 어느정도 쉬운 구조에서는 도가 트였다. 이러한 도커 애플리케이션을 만들 것이다.그냥 IP:Port에 접속했을 때 인사를 해주는 간단한 Django Application을 웹서버에 올려보자. 프로젝트 구조는 위와 같다. 이번 시간엔 django 디렉토리까지만 다루겠다. 작업 내용 프로젝트 구조에 맞게 디렉토리와 virtual environment를 설정해준다. django-admin command를 이용해서 django project와 그 속의 app을 생성해준다. 이..
웹서버를 짜주는 Django 에서 프로젝트를 구성하는 방식 Intro 방학을 맞이해서 우선은 Django 및 DB 공부를 시작하게되었는데, 일주일에 한 번 정도는 배웠던 내용을 정리하고자 블로그에 포스트를 쓰려한다. 지금도 검색 한 번이면 중복되는 내용이 수두룩하게 나올만한 너무 흔한 내용은 이제 블로그에 적으나 마나이니까, 내가 궁금했던 것 바탕으로 알아본 내용 중 주로 세부적인 부분을 다뤄보려한다. 아무래도 첫 번째 글이다 보니, Django에 대한 전체적인 내용을 다루려하는데, 개인적으로 내가 당황했던 Django의 Project Structure에 대해 다뤄보려 한다. Django 가 무엇이지? 간단히 말하자면 Web Server나 Web Application을 편리하게 짤 수 있도록 도와주는 Python Framework이다. 생각보다 Wikipedia..