목록분류 전체보기 (578)
꿈 많은 사람의 이야기
안녕하세요. 파이썬 장고를 활용한 게시판 웹 개발 14편입니다. 지난 포스팅까지 진행하면서 django rest api의 read 부분을 공부해봤습니다. rest api에는 CRUD가 있는데요. 현재 여기서 Read 부분만 한 것이죠? 그럼 django rest api에서 Update, Delete는 어떻게 할까요? 이번 포스팅은 update와 delete에 대해서 알아봅니다. 먼저 django rest api를 위해 만들었던 프로젝트에 들어갑니다. 여기에 보시면 UpdateAPIView와 DestroyAPIView를 상속했죠? 마찬가지로 rest_framework.generics 아래에 있습니다. 그리고 delete와 update에 해당되는 url도 추가해주셔야합니다. detail때와 마찬가지로 (?P..
가끔 웹 크롤러를 개발하다 보면 이런 상황이 있습니다. 윈도우에서 web crawler를 개발하면 당연히 화면이 있죠? 여기서 화면이라는 것은 window가 있다는 것입니다. 즉, 크롬 브라우저를 띄울 수 있고 그걸 볼 수 있습니다. 이러한 환경은 ubuntu나 centos에서도 마찬가지입니다. 하지만, 모든 환경이 다 이렇지 않습니다. linux 계열의 서버를 사용할 때 이런 window 개념이 없을 수도 있습니다. 말 그대로 kernel 상태만 주어지고 display가 없는 상태이죠 그럼 이 display가 없는 상태에서 python seleinum으로 웹 크롤러를 어떻게 개발할까요? selenium은 web browser를 화면에 띄우고 거기서 html 데이터를 가지고 옵니다. 근데 이 displa..
완성된 코드는 아래 github 주소에 있습니다! 도움이 되셨다면 좋아요와 깃허브 스타를 눌러주세요! 저에게 있어 큰 힘이 됩니다 ㅠㅠhttps://github.com/lsjsj92/django_todo_app 지난번 포스팅에서 django와 REST API를 연동해서 개발을 진행해봤습니다. 생각보다 어렵지 않은 작업이었죠? 이제 이 작업을 기반으로 detail view를 만들어봅니다. 지난번 포스팅이 list view였다고 생각하시면 됩니다. 하지만 이번 과정에서 조금 수정을 해주겠습니다. 만약, REST API를 활용해 웹 개발을 하시면 이것은 기존에 웹 게시판을 개발한 것과는 다릅니다. 기존 게시판은 단순히 웹과 DB가 연동해서 진행되었지만 이제는 REST API 서버가 DB를 바라보고 웹은 RES..
파이썬 개발을 하다 보면 pandas dataframe을 자주 사용합니다. 정말 너무 편리하기 때문입니다. mysql, mariadb와 같은 RDBMS에서 데이터를 가지고 올 때도 dataframe을 많이 사용하고 csv 파일 등을 읽을 때도 많이 사용하죠 특히 뭐 기타 언어들도 많이 사용하는 key, value 자료구조형인 파이썬에선 dict 구조도 많이 사용합니다 그리고 이 dict 구조를 dataframe으로도 많이 변환하죠 그래서 이번 포스팅은 그 방법에 대해서 알아보고 ValueError: DataFrame constructor not properly called! 에러에 대해서도 알아봅니다. 예를 들어 위와 같은 데이터가 있다고 해보죠 위와 같은 데이터 구조는 dict의 그냥 전형적인 구조입니..
완성된 코드는 아래 github 주소에 있습니다! 도움이 되셨다면 좋아요와 깃허브 스타를 눌러주세요! 저에게 있어 큰 힘이 됩니다 ㅠㅠhttps://github.com/lsjsj92/django_todo_app 파이썬 장고(django)로 웹 개발하는 시리즈를 오랜만에 올립니다. 이미 내용은 다 있지만 블로그에 올릴 시간이 없었네요 ㅎㅎ 지난번 내용은 장고와 Ajax를 연동시켜서 웹 개발을 하는 것까지 진행했습니다. (https://lsjsj92.tistory.com/490) 이번 포스팅부터는 django와 REST API를 연동하는 작업을 진행하려고 합니다. REST API는 굉장히 많이 들어보셨을겁니다. RESTful API 라고도 하죠. REST API는 HTTP의 기능도 지원해줘서 HTTP의 장점..
지난 포스팅에 seq2seq 모델을 적용시켜서 기계 번역에 대해서 알아보았습니다. 인공지능 기반 자연어 처리 번역 즉, 기계 번역(NMT)은 규칙 기반부터 확률, 통계 기반으로 시작하여 현재 딥러닝을 활용해 기계 번역을 하는 역사를 가지고 있다는 것도 배웠죠 또한, 그 중심에 seq2seq 모델이 있다는 것도 배웠습니다. 하지만 seq2seq는 한계가 있습니다. 그 한계는 바로 번역이 잘 되지 않는다는 것이죠 그래서 어텐션 메커니즘이 나오게 됩니다. Attention Mechanism은 무언가에 집중한다는 개념입니다. 이 어텐션 메커니즘의 효과는 정말 어마어마합니다. 현재 자연어처리 분야에 있어서 어텐션 메커니즘을 안쓰는 곳이 없기 때문이죠. 또한 인공지능, 딥러닝 분야에서도 핫한 기술이기도 합니다. 이..
요즘 Keras를 사용하다가 PyTorch를 공부하고 있습니다. PyTorch는 또 다른 딥러닝 라이브러리이죠 윈도우에서 지원이 미약하다가 이제는 좀 잘 되는 것 같은데요 ㅎㅎ PyTorch가 version이 up 되면서 1.1.0 버전이 나왔습니다. 이번 포스팅은 PyTorch를 윈도우 10에서 (windows 10) 설치하는 방법에 대해서 알아봅니다. 그리고 GPU도 실행시키구요 저는 CUDA 버전이 9.0인데요 먼저 윈도우에서 cuda 버전을 확인하는 방법부터 보죠! cuda version check in windows 바로 cmd를 켜서 nvcc --version을 하시면 cuda version을 볼 수 있습니다. 저는 release 9.0이라고 나와있네요! 이렇게 cuda 버전을 확인했으면 이제..
딥러닝이 핫한 지금 영상처리 분야뿐 아니라 자연어 처리 분야도 엄청 핫합니다. 특히 일반적인 문서 분류(text classification)를 넘어서 이제 번역기나 문장 생성, 텍스트 생성에도 포커스가 맞춰지고 있죠 이번 포스팅은 seq2seq에 대해서 자세히 알아보려고 합니다. 제 블로그에 seq2seq 내용을 다루긴 했지만 이론적인 내용이 부실했었습니다. 그래서 최근 제가 모두의 연구소에서 자연어처리 기초반(NLP)을 운영하면서 진행했던 발표 자료를 가지고 다시 정리해보려고 합니다. 기계 번역의 역사부터 현재까지 어떻게 진행되는지 전반적인 내용을 보려고 합니다. 그리고 이 자료는 허훈님의 자료를 조금 참고해서 만들었었습니다. 그럼 시작하죠! 먼저 기계 번역의 역사입니다. 기계 번역의 역사는 사실 좀 ..
얼마전부터 계속 황당한 일을 겪고 있습니다 바로 크롬 브라우저에서 한글을 입력을 하면 마지막 글자에 밑줄이 쳐지는 것입니다. 뭐 여기까지는 그래도 괜찮은데 문제는 엔터를 눌러서 문단을 바꾼다거나, 문장을 종료해서 다른 글을 또 쓰려고 하면 해당 밑줄이 그어져 있는 커서에 글자가 갑자기 삽입이 된다는 것입니다. 마치 한글이나 워드에서 insert 눌렀을 때 처럼, 삽입이 됩니다... 이렇게 저 위에 처럼 커서가 남겨지게 됩니다. 밑줄처럼요 네이버가 문제가 아닙니다. 구글에서도 똑같아요 그냥 chrome 브라우저를 사용하면 다 저렇게 됩니다 이게 무슨 문제일까??? 이게 내 컴퓨터 문제인가?? 알고보니 크롬 오류라고 합니다. 버그라고 하네요 저 뿐만 아니라 많은 사람들이 겪고 있었나봅니다 저렇게 공감도 많네..
요즘 자연어처리 (NLP)가 정말 핫합니다 텍스트 데이터를 활용하면 다양한 가치를 찾을 수 있고 재미있는 분석이 가능하기 때문이죠 그러나 우리나라 텍스트 데이터 분석은 형태소 분석기가 많이 필요합니다 영어 같은 경우에는 띄어쓰기로만 해도 커버가 가능하지만 한글은 그게 쉽지 않기 때문이죠 왜냐하면 사람들이 띄어쓰기도 잘 하지 않을 뿐더러 맞춤법, 은어 등이 많기 때문입니다. 그래서 형태소 분석기를 많이 사용하죠 예전에 형태소 분석기 중 하나인 konlpy를 설치한 것을 포스팅했습니다.(https://lsjsj92.tistory.com/442) 또한, 카카오 형태소 분석기(khaiii) 카이라고 불리우는 것도 포스팅 했었습니다.(https://lsjsj92.tistory.com/408) 사실 저는 MeCab..