
일단 우리가 지난 시간 Flask를 이용해서 back-api에 이리저리 작업한걸 시원하게 삭제한다.(제길) 그리고 다시 가상환경을 만들자. 그리고 VisualStudioCode 실행하자. cmd 화면에서 "code ."입력해주면 되고 안되는 사람은 https://blog.thereis.xyz/94 아래 쪽에 보면 해결방법 나오니까 따라하시면 됨. 혹시 위의 내용을 입력하기 힘들어하는 사람이 있을 까봐 아래의 코드 입력란에서 퍼갈 수 있다. django >=1.9,

요 며칠 포스팅이 뜸했는데 그 이유에 대해서 이야기하려고 이런 "비상사태" 포스트를 올린다. 그동안 짤방 검색기를 만들기 위해서 Flask를 이용한 웹 API 서버를 만드려고 이것저것 시도를 해보다가 규모가 좀 생기려고 하니 Flask가 갖는 태생적 한계점에 부딪히게 되어버렸다. 일단 이유를 이야기하자면 이렇다. Flask의 장점인 간편한 개발 장점이 바로 단점으로 작용하는 가장 적절한 예가 되어버린 것 같다. 우리는 지난 시간 일단 관리자가 짤방을 등록을 하기 위해서는 로그인을 해야 하고 로그인을 하기 위해서는 관리자를 등록해야 하니 DB를 먼저 세팅하자 해서 MySQL을 설치하는 과정까지 마무리를 했다. 나는 이후에 적절하게 데이터를 잘 입력하는지, 그리고 잘 가져오는지 까지 확인하고 이후의 절차에 ..

이제 DB도 준비되었으니 Flask와 DB를 연결하는 작업을 진행하려고 한다. 내가 포스팅을 준비하는 동안 Flask 하위 프레임워크 중에 Flask-Restful이라는 녀석이 있음을 알게 되었다. 우리는 Flask를 이용해 Restful API 서버라는 것을 만들 예정이었는데 누가 그 밑 작업을 다 해놓고 Flask-Restful이라는 이름으로 벌써 배포해 놓고 있었다는 사실을 알아버린 거다. 그리고 requirements.txt라는 녀석을 이용해서 우리가 설치할 패키지들을 보다 스마트하게 만들 수 있다는 것을 알게 되었다. 그래서 나는 back-api 안에 있는 모든 내용을 깔끔하게 지워버리고 개발환경을 다시 세팅하기로 했다. 보통 처음 하는 일엔 삽질이 필요한 법이다. 미안하지만 개발환경을 다시 만..

우리는 짤방 검색이 가능한 짤방 검색기를 만들기로 했다. 물론 내 맘대로 결정한거라서 "만들기로 했다"는 표현이 적절하지 않을 수도 있지만 여긴 내 블로그니까 내 맘대로 할꺼다. 암튼, 검색을 하려면 어딘가에 데이터가 있다는 이야기고 그 데이터는 어딘가에 저장이 되어있다는 이야기가 된다. 오늘은 그 "어딘가"를 준비해보도록 할거다. 지난 시간 우리는 아주 작은 단위의 기획을 통해 일단 관리자 등록을 먼저 만들어야 한다고 결론을 내렸다. 관리자가 짤을 등록하기로 했고 그러면 짤을 등록하는 관리자 페이지가 있어야하고 관리자 페이지에는 아무나 들어가면 안되니까 관리자 로그인을 해야하고 관리자 로그인을 하려면 결국 관리자를 등록해야하는 상황인거다. 관리자를 등록을 하려고 생각해봤을 때 우리는 질문을 던질 수 있..

개발환경은 대충 다 꾸민 것 같고 이제 코딩을 해볼까? 하고 생각했다. 하지만 막상 코딩을 하려고 보니까 "짤방 검색기"를 만들겠다고 생각만 했지 안에 뭘 어떻게 만들어서 동작을 하게 할지 계획이 전혀 없는 상태로는 코딩을 하고 싶어하는 내 손가락이 안절부절못하게 되었다. 그래서 우리에게 지금 필요한건 "기획"이다. 어떻게 코딩할지 일단 계획을 의식의 흐름대로 계획을 세워보도록 하자. 일단 사용자는 우리 검색기에 접속한 뒤에 하는 일을 간단하게 순서대로 나열해보자. 사용자가 짤방 검색기에 접속한다. 검색어를 입력하면 데이터베이스에 저장되어있는 짤방들이 검색되어 화면에 표시된다. 이게 사용자 화면에서 일어나는 일이라면 우리가 중요한 사실 하나를 잊고 있는게 된다. "저장되어있는 짤방은 어디에 있는가?" 일..

우리는 Back-end파트에 사용할 언어로 Python을 이용할거다. Python에서도 Flask라는 라이브러리를 이용해 서비스를 제공할 예정이다. 그래서 준비물을 챙기라고 했을때 Python을 설치하라고 했던거다. 이런 언어를 선택하거나 라이브러리를 선택하는 기준은 사실 프로젝트에서 요구되는 기술과 개발 방법론에 적합한 언어와 라이브러리를 선택하게 되는데 그것은 초급자에겐 조금 어려운 일이 될 수 있다. 이런 선택은 보통 아키텍쳐 역할을 하는 사람이 하게 되는데 이번 경우에는 글쓰는 내가 한다. 우리는 Python과 Flask를 이용해 웹 서버를 만들거다! 암튼 프로젝트 셋팅을 해보도록 하겠다. 일단 Python으로 프로젝트를 만들 때 일반적으로 가상환경이라는 것을 만드는데 가상환경에 대한 설명을 잠깐..

지난 시간까지 Front-end 개발환경을 만드는 시간을 가졌다. 그래서 이번엔 Back-end개발환경을 만드는 시간을 갖겠다고 이야기를 하려고 생각을 했는데 이 시리즈의 대원칙이 기억났다. 컴퓨터는 조금 다룰 줄 알지만 개발에 대해서는 눈곱만큼도 모르는 사람이 이 글을 따라가기만 해도 짤방 검색기가 완성되는 시리즈 자, 개발에 대해서 눈곱만큼도 모르는 사람이 Front-end, Back-end 설명해봐야 이해를 할 수 있을까 생각해봤더니 충분히 모르겠구나 하고 생각이 들어서 이번 번외 편을 준비했다. Back과 Front가 무엇일까? 개요 일단 Back이나 Front의 의미는 코드가 어느 지점에서 동작하는가에 대해 구분해놓은 영역표시같은거라고 생각하면 된다. 코드는 간단하게 분리해서 보자면 두 영역으로..

개발을 하기 위한 준비물은 다 챙긴것 같고 이제 개발환경을 만들어야 하는데 일단 이 개발환경은 Windows 운영체제 기준으로 만들것이므로 본인이 혹시 Mac OS 유저라던지 Linux 유저라던지 하는 분들은 나도 어쩔 수가 없다. 알아서 만들어보도록 하자. 일단 개발환경을 만들기전에 우리는 CMD(Command)라는 것을 알아야한다. 이걸 보고 명령 프롬프트라고 부르는데 검정바탕에 하얀 글씨가 떠있고 마우스 없이 키보드만으로 명령어를 입력해야하는 그런게 있다. 맥 OS에서는 터미널이라고 부른다. 암튼, 그걸 실행하도록 하자. 윈도우키 + R을 입력하자. 그러면 "실행"이라는 창이 등장한다. 거기에 cmd라고 입력하면 아까 말한 검정화면이 등장할거다. 이렇게 등장한 검정화면은 처음 보는 사람에게는 굉장히..

일단 코딩을 위해서는 몇가지 준비물이 필요하다. 예를 들어 글을 쓰기 위해 워드 프로그램이 필요하듯(MS Word나 한컴 오피스 같은거) 코딩을 할 때도 에디팅 툴이 필요한데 보통 이런 프로그램을 두고 IDE 라고 한다. Integrated Development Environment라고 통합개발환경이라고 부르는 툴인데 대표적으로 아래와 같은 툴들이 있다. Microsoft Visual Studio Eclipse JetBrains IntelliJ IDEA Visual Studio Code Brackets Atom Notepad++ Vim 이 외에도 툴은 무궁무진하게 많다. 일단 돈을 내고 라이센스를 구입한 뒤에 사용할 수 있는 툴이 있는가 하면 공짜로 사용할 수 있는 툴도 있는데 Visual Studio나..

어느 날 나에게 누군가 다가와 프로그래밍을 잘하는 방법에 대해서 물어본다면 무엇이라 답해야 할까... 어제 저녁에 생각해봤다. 사실 나는 미대를 졸업했고 누군가에게 코딩에 대해서 배워본적이 없었다. 학원을 간 것도 아니고, 그렇다고 내 머리가 좋은 것도 아니다. 특히 수학적으로 나는 두 자리 수가 넘는 덧셈, 뺄셈은 암산으로 계산하지 못한다. 근데 나는 어떻게 지금 개발자가 되어있는 것인가? 코딩에 대한 교육도 없었고, 그저 대학시절 플래시 액션스크립트를 잠깐 배운 것을 계기로 12년을 웹 개발자로 생활 할 수 있었던 것은 어떤 이유 때문일까? 자, 반대로 생각해보자. 우리가 코딩을 못하는 이유가 무엇일까? 내가 곰곰이 생각해봤는데 코딩을 배워서 어디에 써먹어야할지 목적이 없어서 어떤 언어를 배워야할지,..