저번 포스팅에서는 컴포넌트를 작은 컴포넌트를 하나 만들어서 App 컴포넌트에 넣어봤습니다. 우선은 저번 포스팅에서 지웠어야 했지만 깜빡한 관계로 App.css에 있는 것들을 다 지워주세요. 그리고 우리가 직접 만들 것을 보면서 데이터가 어디에서 어디로 전달되는 지 확인해보도록 하겠습니다. 리액트에서 데이터는 큰 컴포넌트에서 작은 컴포넌트로 전달됩니다. 그리고 데이터는 한 곳에 있습니다. 바로 제일 큰 컴포넌트입니다. 해당 화면은 3개의 컴포넌트로 되어있습니다. 그 3개는 App 컴포넌트(파란화면) Profile 컴포넌트(흰색 네모 상자), ProfileImage 컴포넌트(이미지 부분)이고, 여기서는 App 컴포넌트에 모든 데이터들이 들어가있고, 그보다 작은 컴포넌트들에게 전달되는 것이죠. // App.j..
리액트를 배워봅시다. 리액트는 페이스북에서 만든 UI 라이브러리입니다. 데이터가 바뀌었을 때만 인식해서 바뀐 부분만 처리해준다면 얼마나 간편하고 빨라질까요? 그리고 라이브러리이기때문에 여러 기술과 함께 쓸 수 있습니다. 리액트를 배우면서 많은 개념들을 만나게 됩니다. 같이 쉬운 예제를 통해서 하나하나씩 배워보도록 하겠습니다.리액트 설치하기create-react-app이라는 것이 있습니다. create-react-app github 바로가기 보통 cra라고 표현하는데요. 이것을 이용하면 귀찮은 것들 없이 간단하게 리액트 환경을 만들어줍니다. 해당 모듈을 다운로드 받으려면 npm을 다운로드 하셔야 합니다. npm은 node.js를 다운받으면 자동으로 다운받아집니다. node.js 다운로드 받으러 가기 LTS..
저번 포스팅에서는 크롬 개발자 도구를 활용해 우리가 스크랩핑 할 부분의 태그를 확인했고, 필요한 모듈을 불러오기까지 했습니다. 파이썬을 활용한 뉴스 스크래핑 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라는 클래스명을 적어줬습니다. 이런식으로 적어주면 상속이 일어납니다. 상속을 ..