MVT 패턴은 MVC 패턴과 똑같습니다.장고는 MVC 패턴을 기반으로 하고, 이름만 MVT 패턴이라고 이전 포스팅에서 간략하게 설명했습니다. 이번 포스팅에서 다운로드를 하기 전에 패턴에 대해서 공부하고 다음 포스팅에서 장고를 다운로드 해보겠습니다. MVC 패턴은 Model, View, Controller의 앞 글자를 딴 말로 Model에서는 데이터 저장 및 수정, 변경, 삭제 등의 일이 일어나는 데이터베이스 부분입니다. 그리고 Controller에서는 로직을 담당합니다. 데이터의 변경이 필요한 부분에서는 모델에 요청하고 그 결과값을 받고, 그냥 html 문서만 보여주면 되는 순간에 그러도록 명령합니다. View 부분이 화면의 UI를 담당하는 부분입니다. 사용자에게 실질적으로 보여지는 부분이라고 생각하시면..
개발속도를 생각한다면 당연 파이썬의 장고입니다.신속한 것이 우선일까 아니면 정확한 것이 우선일까 하는 질문을 받은 적이 있습니다. 신속정확이냐 아니면 정확신속이 맞냐하는 질문이었죠. 상황에 따라서 그 대답은 달라지겠지만 워낙 빠르게 움직이는 it 세상에서는 신속이 먼저고 정확은 그 다음이라고 생각합니다. 사업적인 면에서도 그렇지 않을까요? 빠르게 만들어보고 일단 검증을 받으면서 고쳐나가는게 더 좋다고 생각합니다. 파이썬의 대표적인 프레임워크인 장고는 이러한 경우엔 당연 1순위입니다. 많은 것들이 미리 갖춰져있기 때문에 아주 빠르게 개발할 수 있습니다. 많은 것이 미리 갖춰져있기 때문에 좀 더 무겁다면 무거운게 단점이랄 수도 있겠지만요.개발속도 뿐만 아니라 장고를 선택해야하는 이유많은 사람들이 장고를 선택..
저번 포스팅에서는 크롬 개발자 도구를 활용해 우리가 스크랩핑 할 부분의 태그를 확인했고, 필요한 모듈을 불러오기까지 했습니다. 파이썬을 활용한 뉴스 스크래핑 1파이썬을 활용한 뉴스 스크래핑 2 지난 포스팅들을 보려면 위의 링크를 확인해주세요.의사 코드(pseudo code) 작성하기의사 코드(수도 코드)는 실제 프로그래밍언어로 구성된 것이 아니라 일반적인 언어로 코드를 흉내내서 알고리즘을 써 넣은 코드입니다. 일단 코드가 어떻게 구성될지 미리 생각해보고 작성하는 것이 더 효율적이겠죠? 항상 미리 의사코드를 작성한 후에 그에 맞게 코드를 작성해보시는 것을 추천드립니다. 일단 rss를 통해 링크를 가져온 후 다시 링크에 접속해서 기사의 내용을 가져오는 것이 우리의 목표입니다. 그래서 크롤러 함수를 한 개 만..
저번 포스팅에서는 스크래핑을 할 때엔 필요한 모듈들과 가상환경을 구축하는 방법에 대해서 다뤘습니다. 지난 포스팅에 다룬 것이 기억나지 않는다면 아래 링크를 통해서 복습해주세요. 파이썬을 활용한 뉴스 스크래핑 1rss를 통하여 오늘자 뉴스 링크 가져오기오늘자 뉴스를 스크래핑하는 것이 우리의 목표였습니다. 오늘자 뉴스를 어떻게 받을 수 있을까요? 여러 방법이 있겠지만 저는 rss를 활용해보겠습니다. rss(Rich Site Summary)는 뉴스나 블로그에서 주로 사용하는 컨텐츠 표현 방식으로, 웹 사이트의 내용을 보여줍니다. 중앙일보의 rss를 이용하면 오늘자 뉴스들을 접할 수 있습니다. 중앙일보 전체 기사 rss 바로가기 rss를 보면 문제점을 하나 발견할 수 있습니다. 오늘자 뉴스 전체를 가져오고 싶은..
스크랩핑이란?인터넷을 정보의 바다라고 합니다. 아주 방대한 정보를 가진 인터넷의 정보를 모두 살펴보는 것은 이미 불가능한 일입니다. 우리에게 필요한 정보만 빠르게 받아서 볼 수 있다면 아주 효율적이면서 유익하다고 할 수 있겠죠? 그래서 스크래핑이 필요합니다. 스크래핑은 웹사이트에서 내가 필요한 정보를 추출해 가져오는 기술입니다. 지금부터 파이썬을 활용해서 오늘자 뉴스를 스크래핑 해오는 크롤러를 만들어보도록 하겠습니다. 필요한 모듈 알아보기뉴스 스크랩핑에서 우리가 사용할 모듈은 requests와 beautiful soup입니다. 간단히 설명하자면 requests는 우리가 필요한 정보가 있는 웹페이지를 가지고 오고, beautifuls soup는 가져온 페이지에서 우리가 필요한 부분을 골라낼 수 있습니다. ..
파이썬 인터프리터를 활용한 단어테스트기 만들기 1 보러가기영어 단어 불러오기다른 영어단어 파일을 사용해도 상관없고, 저번 포스팅에서 제공한 단어를 사용하셔도 상관없습니다. json 파일로 만들어서 이용할 것이라는 것만 아시면 됩니다. 같은 디렉토리에 영어파일을 두고 word_test.py 파일을 만들어주세요. 맨 처음 해야할 것은 json으로 된 영어 단어를 불러오는 일입니다. json에 관련된 메소드를 활용하려면 관련 모듈을 가지고 와야 하겠죠? import json with open('toeic_voca.json') as data_file: vocas = json.load(data_file) with open()은 괄호 안에 있는 파일을 불러와서 열고 사용한 다음엔 자동으로 파일을 닫아줍니다. as는..
만들면서 더 배워봅시다.간단한 것들이라도 만들어보는게 학습에 큰 도움이 됩니다. 오늘 포스팅은 같이 단어테스트기를 만들어서 앞에서 배운 것들을 활용해봅시다. 같이 만들 것을 미리 설명해보도록 하겠습니다. 우선 프로그램이 실행되면 욕을 해달라고 하며 입력을 받습니다. 그리고 몇 일차를 진행할 것인지 묻습니다.(6일차까지 있습니다.) 단어의 영어 뜻이 나오고, 그에 맞는 단어를 입력하면 됩니다. 정답을 맞출 경우 "정답입니다"라고 나오고 틀렸을 경우 우리가 입력한 욕과 함께 정답이 무엇인지 나옵니다.사용자의 입력을 받는 함수 input()우선 프로그램을 만들기 전에 알아두어야 할 것들을 정리해보겠습니다. 사용자에게 입력을 받으려면 어떻게 해야할까요? input()함수를 이용하면 입력을 받고, 입력 받은 값을..
예외처리란 무엇일까요?코드 상에서는 문법적으로 정확하지만 에러가 발생하는 것을 예외라고 하며 그러한 예외들을 처리하는 것을 예외처리라고 합니다. 다양한 예외들이 존재하고, 예외가 발생하면 프로그램이 작동을 멈추게 되지만, 예외처리를 통해 계속 진행시킬 수 있게 만들어 줍니다.예외처리를 하는 코드는 어떻게 생겼을까요?try: #실행할 코드 except 발생오류: #오류발생 시 처리할 코드 try ... except ... 문을 통해서 예외처리를 할 수 있습니다. except 뒤에는 예상되는 발생오류의 이름을 적습니다. 쉬운 예를 하나 들어서 직접 사용해보도록 하겠습니다. 파이썬 인터프리터에 2/0을 실행하면 어떤 에러가 발생할까요? Traceback (most recent call last): File "..
모듈이란?모듈은 변수, 함수, 클래스 등을 모아 놓은 파일입니다. 내가 처음부터 끝까지 만들필요 없이 다른 사람이 만든 것을 가져온 다음 내가 구현하고 싶은 것을 추가하는 것도 프로그래밍을 하는 아주 좋은 방법입니다. 거인의 어깨 위에 올라서면 더 넓은 곳을 볼 수 있습니다. 이미 만들어져 있는 모듈이 거인이라고 할 수 있습니다.모듈 사용해보기import를 통하여 모듈을 불러 올 수 있습니다. 파이썬에 내장 모듈을 통해 공부해보도록 하겠습니다. import random random.randint(1, 10) random 모듈은 랜덤한 수(난수)를 반환해야할 때 사용하는 모듈입니다. 그 안에는 여러 함수들이 있지만 저는 randint()라는 함수를 사용해보겠습니다. randint()는 범위를 지정하면 그 ..
상속이 필요한 이유상속이란 것은 무엇인가를 물려받는 다는 뜻입니다. 클래스는 상속이라는 개념을 가지고 있습니다. 누구한테서 무엇을 물려받을까요? class Car: def countWheels(self, wheel): print("my wheels is", wheel) class Bmw(Car): def whatColor(self, color): print("my color is", color) car1 = Bmw() car1.countWheels(4) #my wheels is 4 car1.whatColor("balck") #my color is balck 클래스 Car와 Bmw를 정의했습니다. Bmw를 정의할 때 괄호에 Car라는 클래스명을 적어줬습니다. 이런식으로 적어주면 상속이 일어납니다. 상속을 ..