데이터베이스 구현을 뒤로 미루는 일

엉클 밥은 소프트웨어 개발의 지혜 3절의 “급여 관리 사례 연구”에서 데이터베이스 구현을 뒤로 미루겠다고 하였다. 이를 통해, 요구사항을 더 분명히 알게 되며, 필요이상의 기반구조를 막음으로써 필요한 것만 데이터베이스로 구현할 수 있다고 하였다.

그래서 오늘부터 시작한 프로젝트는 데이터베이스로 구현하는 것을 미루고, 코드로 필수적인 부분들을 먼저 구현해 보았다.

그러다보니 자연스레 데이터베이스 설계에 공을 들이는 것보다도 사용자가 어떤 프로그램을 사용하게 될지를 생각하는데 더 많은 시간을 쓰게 되었다. 재미있는 건 저자의 이야기처럼 무엇이 필요한지, 고객의 요구가 무엇인지 더 분명해지고 있다는 것이다.

아직까지는 흥미로운 도전이다. 이후 결과도 본 글에 업데이트 하겠다.

파이썬으로 웹 크롤링 시작하기

HTML과 XML 파싱에 사용되는 python 패키지로 BeautifulSoup이 있다. 현재 버전은 4.4.0이다.

BeautifulSoup의 문서는 다음 한 페이지에 모두 설명되어 있다. 한 페이지의 양이 좀 길기는 하다. 한글문서가 있었던 것 같은데 지금은 링크가 깨져있다.

문서: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

코드:

from bs4 import BeautifulSoup
html_string = '''
<html>
<head>
<title>나루의 HTML parsing</title>
</head>
<body>
</body>
</html>
'''
soup = BeautifulSoup(html_string, 'lxml')
title = soup.select("title")[0].get_text()
print(title)

결과:

나루의 HTML parsing

HTML 태그 중 title 태그의 값을 가져오는 코드를 간단히 구현하였다.

select method는 결과를 list type으로 가져온다. 그리고 get_text method는 태그 사이에 있는 텍스트 값을 문자열로 가져온다.

다음에는 실제로 웹 페이지의 정보를 가져오는 코드를 작성해 보자.

무엇이 필요한 지 아는 것

열심히 한다고 다 잘되는 게 아니다.

전략과 전술이 있어야 조금 더 발전하는 자리로 갈 수 있다.

때로는 도구를 사용할 줄 몰라서 더디게 갈 때도 있다. 그 때엔 도구의 사용을 장려하고 숙달되게 할 필요가 있다.

지금은 건강을 챙겨야 할 때, 집으로 칼같이 달려간다~*

DRY~*

오늘은
“Do not Repeat Yourself.”
이 말을 강렬하게 느끼는 하루…

이게 코드 얘기면 차라리 낫겠다.

답답해 죽갔다.

IntelliJ IDEA Competitive Discount

IntelliJ IDEA 경쟁적 할인 프로그램을 활용하면 구매가의 25%를 할인받을 수 있다.

미리 핵심부터 이야기하자면, 타 개발 도구 구매 내역을 증빙할 수 있는 자료를 제출하면, Jetbrains 담당자가 해당 제품 정가의 25% 할인된 가격으로 주문을 만들어준다. 국산 Software인  Editplus로도 할인 받을 수 있었다. 그 결과 저렴하게 intelliJ IDEA 개인 라이센스를 구매할 수 있었다.

저렴하게 할인 받을 수 있는 기회를 준 Jetbrains에 고맙게 생각하며, 구매과정을 친절하게 안내해준 Jetbrains 직원 Dominica에게 고마움을 표한다.

아래에는 과정과 절차를 기록해 두었다.

더 보기 “IntelliJ IDEA Competitive Discount”

블로깅 시작~*

워드프레스 설치해 보았다.

오랜만의 블로깅인데,

예전에 어딘가에 써 두었던 글들은 어딘가에 있겠지만 가져오긴 어렵공ㅠ

개발하면서 드는 고민들, 그리고 떠오르는 생각들 이것저것 함 써보려 한다.

기록하지 않으면 잊혀질 것이고 사라질 것이니까.

일단 오늘은 여기까지~*