분류 전체보기
[백준 - 4179번] 불! - 자바(JAVA) 정리 및 해설
[백준 - 4179번] 불! - 자바(JAVA) 정리 및 해설
2020.07.301. 개요 이 문제는 BFS를 활용하여 빠르게 미로를 탈출하는 문제이다. 특히 불과 함께 사람이 미로를 동시에 탈출하는 문제로써 이것을 어떤식으로 해결하는 가에 따라서 문제가 많이 달라진다. https://www.acmicpc.net/problem/4179 4179번: 불! 문제 지훈이는 미로에서 일을 한다. 지훈이를 미로에서 탈출하도록 도와주자! 미로에서의 지훈이의 위치와 불이 붙은 위치를 감안해서 지훈이가 불에 타기전에 탈출할 수 있는지의 여부, 그리�� www.acmicpc.net 2. 설명 이런 문제에서 결국 중요한 포인트는 "같은 시점에 불과 사람을 동시에 움직이는 것"이 가장 중요하다. 결국 이문제에서 핵심으로 문제를 풀려면 불과 사람이 동시간에 움직이여야 한다는 조건이 붙는다. 그 조건을 만..
특정 확장자만 파일 업로드 가능하게 만들기 (mp3)
특정 확장자만 파일 업로드 가능하게 만들기 (mp3)
2020.07.26백엔드에서 파일을 전달 받을때 특정 값의 파일만 전달 받게 유효성 검사를 통해서 내가 받고 싶은 파일만 업로드 가능하게 할 수 있다. 즉, 그런 작업을 위한 유효성 검사툴이 각 프레임 워크별로 존재한다. 역시나 장고는 vaildator가 역시 내장되어 있었다. 하지만 재대로 사용하는 방법을 정확하게 몰라서 찾아봤다. Django에서 model에서 validators를 사용하는 방식 from django.core.validators import FileExtensionValidator from django.db import models class MyModel(models.Model): pdf_file = models.FileField(upload_to='foo/', validators=[FileExten..
Django 테이블 지우고 난 후 다시 마이그레이션 하는 방법!
Django 테이블 지우고 난 후 다시 마이그레이션 하는 방법!
2020.07.26Web framework에서 DB는 아주 큰 중요한 요소이다. 최근 Web Framework의 추세상 ORM을 적용하는 많은 프레임워크가 많은데요. 그러다보니까 내가 프로그래밍을 하고 SQL문을 장고에서 자동으로 ORM을 통해 생성되게 된다. 물론, 내가 생각한대로 table이 잘 생성되면 좋겠지만.. 예상치 못한 상황으로 table을 바꿔야하거나, 혹은 table 자체를 다시 설계해야하는 상황이 생겼다. 출처: (http://www.analyticaweb.com/desarrollo-web/aprende-ya-que-es-un-orm) 그리고 장고에서 DB table이 꼬이면, 어디서부터 table이 생긴건지, 어디서부터 없는건지 파악할 수 없기때문에 진짜 말그대로 sqlite3에 직접들어가서 확인해보는..
git에 가져온 Django가 pycharm에서 서버실행이 되지 않을때
git에 가져온 Django가 pycharm에서 서버실행이 되지 않을때
2020.07.24깃에서 바로 git clone을 하면 다음과 같은 오류가 발생한다. django is not importable in this environment와 같은 에러를 발생시킨다. 즉, interpreter가 없다는 식으로 말해버리는데 이때는 project interpreter를 통해서 가상 환경을 만든 폴더를 적용하는 방식을 통해서 해결해야한다. 1. 일단 파이참의 Preferences에서 project Intepreter를 들어간다. 2. 여기서 가상환경을 등록하면 알아서 run configuration에서 잡아준다. 다음과 같이 문제해결이된다. 근데 pycharm CE버젼에서는 django Run이 없기때문에 Python으로 돌리는 방식말고는 없다. https://blueshw.github.io/2016..
장고 URL html 템플릿 URL 설정시 참고사항
장고 URL html 템플릿 URL 설정시 참고사항
2020.07.24{{ post.title }} board:post_detail 이부분 대충 보면 url -> 의 주소로 이동하겠다는 뜻인데 이게 먹힐려면 장고걸스 듀토리얼에는 요런식으로 적혀져있다. {{ post.title }} 문제는 이러면 재대로 출력이 안되고 reverse문제가 발생하는데, 이 url.py에서 post_detail의 를 재대로 찾아주지 못해서 발생하는 문제 같았다. 어디에서 이 url을 찾아야하는지 못하는 문제가 발생하므로 앞에 이함수를 들고 있을 범직한 곳으로 가서 전달해줘야하는 문제가 발생하는 것같다. 즉, 그 app의 이름 : url의 def이런식의 구조를 만들어놔야지 되는 듯했다. 결론 URL 규칙은 url,py의 name ='~~' 의 String값을 알아서 mapping시켜주는 것 같다...
Django에서 파일 업로드 구현시 파일이 안올라갈때..
Django에서 파일 업로드 구현시 파일이 안올라갈때..
2020.07.24Django 파일 업로드시 분명히 model Form도 다 만들고 했는데 안올라가는 상황이 있다. ?? 왜 안되나했드니만 enctype에서 multipart/form-data를 하지 않았기 때문. 파일 저장이 안되서 실제로 보여줘야할때 재대로 보여줄 수 없었다 . 즉, 저 enctype을 추가하지 않은 경우 파일 자체는 넘어가지지 않는다.
블로그 스킨을 새단장했습니다.
블로그 스킨을 새단장했습니다.
2020.07.23최근 고민을 좀 많이 하게 되었습니다. 특히 이 블로그에 대한 이전에 대한 고민을 엄청 많이 했는데요. 일단 티스토리의 기본 스킨의 한계점을 명확하게 느끼고 있었습니다. 특히 기본 스킨의 경우 에디터와 실제 블로그 상에서 보이는 사이즈가 달라서 제가 에디터에서 쓰는 글과 실제 글이 너무 달라서 좀 짜증이 많이 났었는데요. 그리고 결정적으로 안이쁘기까지 했어서 그걸 일일히 스킨을 바꿔가면서 만드는것도 귀찮고 해서 차라리 다른 대안을 찾아보게 됩니다. 사실은 Velog를 선택하려다가 조금 고민을 많이 했던 것이 있었습니다. 실제로 Velog가 더 "힙"(그놈의 얼어죽을 힙이요.) 해보이는 건 사실이었고 실제로 마크다운 방식의 글쓰기 툴도 깃허브 TIL을 정리하면서 많이 익숙해진 탓에 글 쓰는 맛도 좀 있고 ..
OpenCv와 CNN으로 손으로 적은 숫자 인식기 만들기
OpenCv와 CNN으로 손으로 적은 숫자 인식기 만들기
2020.06.30안녕하세요. 머신러닝 마지막 기말고사로 간단한 프로젝트를 만들 기회가 있어서 저는 OpenCV를 통한 숫자 인식기를 만들어보았습니다. CNN의 경우 MNIST를 통해서 인식 시키는 Model은 여기저기 예제가 많기 때문에 굳이 여기서 명시하지 않고 참고 했던 사이트들을 나열하겠습니다. 일단 이번 기회에 중점적으로 설명드릴 부분은 OpenCV를 통해서 숫자를 인식 시키는 것입니다. 1. OpenCV를 통해 숫자 인식시키기 일단 사진 속에서 "숫자"라는 것을 인식 시키는 것이 중요하다. 어떤 식으로 숫자를 인식 시킬 것인가라는 측면에서 이것저것 많이 시도 했다. 시도 자체는 많이 했던 것 같은데, 실제로 무슨 시도를 했었는지를 기록을 따로 하지 않아서 가장 최적의 결과가 나온 방식을 이야기해보겠습니다. (분..
[백준 - 1309번] 동물원 - 자바(JAVA) 정리 및 해설
[백준 - 1309번] 동물원 - 자바(JAVA) 정리 및 해설
2020.05.03이번에 풀어볼 문제는 DP문제인 동물원입니다. 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 이문제는 오르막수와 비슷한 문제 양상을 띄고 있어서, 비슷한 문제 풀이를 이용했습니다. 이차원배열을 통해서 총 3가지의 경우를 나타냈는데 각각의 의미는 이렇습니다 Dp[n][0] -> 두 개의 방 중에 사자를 아예 넣지 않은 경우 Dp[n][1] -> 두 개의 방 중에 사자를 왼쪽 방에 넣은 경우 Dp[n][2] -> 두 개의 방 중에 사자를 오른쪽 방에 넣은 경우 즉, 이전 방의 경우의 수를 계속 취합해서 더할 수 있는습니다. 문제는 주어져있는 조건 "사자를 넣은 방에는 오른쪽방과 아랫방에는 넣을 수 없다" 라는 조건때문에, 사자를 넣지 않은 경우..
[백준 - 11057번] 오르막 수 - 자바(JAVA) 정리 및 해설
[백준 - 11057번] 오르막 수 - 자바(JAVA) 정리 및 해설
2020.05.03이번에 풀어볼 문제는 DP문제인 오르막 수입니다. 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. www.acmicpc.net 이 문제에서 핵심적으로 봐야할 것은 이차원 배열을 통해서 이 문제를 이해하는 방식이라고 생각합니다. 제가 이 문제에서 사용한 방식은 DP[][] 이렇게 있을때 앞의 [] 배열은 N을 뜻하고 뒤의 배열은 [] N에 따라 붙는 한자리 숫자를 뜻합니다. 글로 표현하기가 어려워서 ..
파이썬에서 리스트 안 리스트를 집합으로 만들때 해결방법
파이썬에서 리스트 안 리스트를 집합으로 만들때 해결방법
2020.03.18[Python] - 웹 크롤링으로 강원대학교 컴퓨터공학과 공지사항 텔레그램 봇 만들기에서 저는 한가지 기능을 만들어내고 있었는데요. 그 기능은 바로 최근 크롤링한 리스트와 이전 크롤링한 리스트를 비교해서 최신 게시물이 있으면 그 최신 게시물만 뱉어낼수 있게끔 처리하는 작업을 만들어내고 있었습니다. 이런 방식을 위해서는 list를 Set으로 만들어줘야했는데요. 저는 list안에 크롤링한 데이터들을 List로 가지고 있어서 Set으로 만들어주는데 문제가 발생했습니다. ㅠ TypeError: unhashable type: 'list' 파이썬을 많이 접해보지 않은 나로써 좀 당황하고 얼좀 탔는데 해결법은 예상보다 단순했는데요.. 파이썬에서 List는 변동가능하기때문에, 만들어지지 않는 것인데요. 즉, List를..
웹 크롤링으로 강원대학교 컴퓨터공학과 공지사항 텔레그램 봇 만들기
웹 크롤링으로 강원대학교 컴퓨터공학과 공지사항 텔레그램 봇 만들기
2020.03.18파이썬으로는 많은 개발을 할일이 없었는데, Telegram 봇을 만져보고 작동하다보니 꽤 재밌어서 학교 공지사항 봇을 만들게 되어서 포스팅 하게 되었습니다. 일단 왜 만들게 되었는지? 최근 코로나 19 사태로 학교에서 이런저런 공지사항이 올라오는데요. 어떤 공지사항은 꽤 중요하고, 어떤 사항은 저랑은 상관없는 소식이기도 하니, 이런 저런 공지사항을 읽어보거나 읽지 않거나 선택적으로 골라서 봐야했습니다. 그걸 제가 직접적으로 공지사항을 확인하기 위해서 매일매일 학교 공지사항을 확인하기는 너무 귀찮기도하고, 개인적으로 저희에게 메세지가 오는 것도 없어서 차라리 이런 공지가 올라올때마다 봇으로 알람을 울리게 하는 것이 좋다고 생각했습니다. 크롤링하기에는 저희 학과 홈페이지가 통합되면서 훨씬 크롤링하기에는 훨씬..