전체 글 231

Python으로 일정 시간에 메일 보내주는 웹 크롤러 제작하기

안녕하세요. 문범우입니다.최근 파이썬을 활용할 일이 많이 없었는데, 엊그제 문득 필요한게 생각나서 후다닥 파이썬으로 만들어보았습니다. 뭐라고 이름을 지어야할지 모르겠는데..많은 분들도 만들어서 사용하시기도 하는 것으로 알고 있습니다.제가 자주 보는 커뮤니티에서의 특정 게시판 상위 n개에 대해서 크롤링하여 링크를 포함한 헤드라인만 정해진 시각에 제 메일로 보내는 프로그램입니다. 저는 OKKY라는 커뮤니티에서 스터디, 뉴스, 행사에 관련된 3개 게시판에 대해 상위 5개 또는 3개의 글을 정해진 시각(오전, 점심, 오후)에 메일로 보내도록 하였습니다. 메일 내용을 더 꾸밀 수도 있겠지만..일단은 심플하게 아래와 같이 메일이 전송됩니다 :) 실제로 이렇게 해두고 나니, 정해진 시각에 한번쯤 더 쳐다보게 되고 요..

포트폴리오 2019.02.11

알고리즘_시간복잡도 예제

안녕하세요. 문범우입니다.지난 포스팅에서 시간복잡도, 공간복잡도 등에 대해서 알아보며 Big-O 표기법에 대해서 살펴보았습니다.이번에는 실제로 특정 코드나 알고리즘을 대상으로 그 시간복잡도를 분석해보는 실습을 진행해보도록 하겠습니다. 아래에서 다루게 될 예제들은 ''코딩인터뷰 완전 분석"(게일라크만맥도웰 지음, 이창현 옮김)_인사이트출판 서적에서 일부 참고 및 발췌하였습니다. > N에 대한 정확한 사용 우리는 이전 포스팅에서도 그러했듯이 Big-O 표기법으로 나타낼때에 흔히 O(N), O(log N) 과 같이 나타냅니다. 그런데 이때 N에 대해 정확하게 이해하지 못하였다면 추후 잘못된 분석을 할 수 있습니다.아래와 같은 상황을 생각해보겠습니다. 여러개의 문자열로 구성된 배열이 있습니다. 이때 각각의 문자..

알고리즘_시간복잡도, 공간복잡도, Big-O 표기법

안녕하세요. 문범우입니다.최근 Java로 알고리즘 스터디를 시작하게 되었습니다.단순히 문제풀이 보다는 이론적인 내용들을 살펴보며 관련된 문제를 푸는 방식으로, 기초부터 다시 살펴보려합니다.이번에는 직접적인 알고리즘 내용에 앞서, 알고리즘 분석 즉 시간복잡도와 공간복잡도에 대해 이야기를 먼저 진행해보겠습니다. > 왜 알아야 하는가? Big-O 표기법은 알고리즘의 효율성을 나타내는 지표 혹은 언어이다.이를 통해 자신이 작성한 알고리즘이 이전보다 빨라졌는지 느려졌는지 판단하는데 도움이 될 것이다.물론 이 외에 다른 개발자들과 특정 알고리즘에 대해 이야기하거나 효율성 판단등에 의해서 Big-O 표기법을 통해 보다 원활하게 의사소통을 진행할 수 있다. 실제로 Big-O 표기법 이외에 다른 표기법도 있으나 이에 대..

#4_블록체인 무엇인가::소유권의 본질

이전글#1_블록체인 무엇인가::소프트웨어 시스템 아키텍처#2_블록체인 무엇인가::분산 P2P 시스템#3_블록체인 무엇인가::블록체인의 과제 안녕하세요. 문범우입니다.지난 포스팅에서는 블록체인의 과제에 대해서 알아보았습니다. 이번에는 소유권의 본질에 대해 알아보도록 하겠습니다. 즉, 내가 가진 것을 내 것이라고 어떻게 증명하는지 함께 생각해보도록 합니다. 1. 소유권? 하나의 상황을 함께 생각해보겠습니다. 회사를 가기 전에 오전에 간단히 먹기 위한 쿠키를 하나 가지고 집을 나와 출근을 하기 위해 가는 길에서 목이 말라 편의점에 들려 바나나우유를 하나 구입하려 합니다. 헌데 편의점 직원이 가방 안에 있는 쿠키를 빤히 쳐다보고 있습니다. 하필이면 편의점에 있는 쿠키와 같은 쿠키입니다. 이런 상황이라면 불행히도..

블록체인 2019.01.19

#3_블록체인 무엇인가::블록체인의 과제

이전글#1_블록체인 무엇인가::소프트웨어 시스템 아키텍처#2_블록체인 무엇인가::분산 P2P 시스템 안녕하세요. 문범우입니다.지난번 포스팅을 통해 분산 P2P 시스템에 대해서 알아보고, 실제로 많은 사람들이 사용하는 토렌트 서비스를 통해서 이해해 보았습니다.그럼 이번 포스팅에서는 이러한 분산 P2P 시스템을 왜 아직 많은 곳에서 사용하지 않는지, 그리고 그것을 블록체인이 어떻게 해결해 줄 수 있는지에 대해서 알아보며 블록체인에 대해 정의를 내려보도록 하겠습니다.1. 순수 분산 P2P 시스템의 지속 가능성 사실 우리는 두번째 포스팅에서 순수 분산 P2P 시스템이 산업 전체를 뒤바꿀 수 있을 만큼 강력한 잠재력을 지니고 있다고 알아보았습니다. 그런데 왜 아직 많은 곳에서 사용되지 않는 것 일까요? 즉, 순수..

블록체인 2019.01.13

#2_블록체인 무엇인가::분산 P2P 시스템

이전글#1_블록체인 무엇인가::소프트웨어 시스템 아키텍처 안녕하세요. 문범우입니다.지난 첫번째 글에서 '소프트웨어 시스템 아키텍처'에 대해서 알아보았습니다. 그 중에서도 블록체인이 도구로서 활용될 분산 시스템에 대해서 주로 알아보았습니다.그리고 이번 포스팅에서는 분산 시스템 중에서도 특수한 형태로 나타난 '분산 P2P 시스템'에 대해서 알아보도록 하겠습니다. 1. 분산 P2P 시스템이란 피어 투 피어(peer - to - peer) 시스템은 분산 시스템의 특수한 형태입니다. P2P 시스템에서는 개별 컴퓨터(노드)로 구성되어 있으며 분산 시스템이기 때문에 중앙 노드의 조정 없이 네트워크의 모든 구성원이 서로에게 계산 자원을 제공합니다.무엇보다 중요한 것은 네트워크 상에서 각 노드는 시스템 내에서 동등한 권..

블록체인 2019.01.12

#1_블록체인 무엇인가::소프트웨어 시스템 아키텍처

안녕하세요. 문범우입니다.앞으로 몇회에 걸쳐서 블록체인에 대한 기초적인 내용을 정리해보려 합니다.단순히 자료를 수집해서 정리해보기에는 아직 제 스스로도 개념적으로 부족한 부분들이 많아서, 다니엘 드레셔 지음, 이병욱 옮김의 '블록체인 무엇인가?' 라는 책을 기반으로 하려 합니다. 정리의 순서가 책의 순서와 비슷할 것이며, 책을 보면서 좀 더 궁금한 내용 같은 부분은 온라인을 통해 공부해가며 추가하여 정리하려 합니다. 궁금하거나 건의사항이 있으신 분은 언제든지 댓글 또는 이메일, 카톡을 통해서 연락주시면 감사하겠습니다.블록체인을 위한 기초 이번 글에서는 블록체인을 이해하기 위한 기초로써, 소프트웨어 아키텍처에 대해 알아보면서 블록체인이 달성하고자 하는 것에 대해서 함께 알아보도록 하겠습니다. 1. 소프트웨..

블록체인 2019.01.06

#10_ 비밀지도(2017 카카오톡 블라인드테스트 1차)

안녕하세요. 문범우입니다.이번에 소개해드릴 알고리즘 문제는, 2017년 카카오톡 블라인드테스트 1차 코딩시험에서 나왔던 문제중 난이도가 제일 낮다는 소개된 '비밀지도' 문제입니다. 해당 문제는 프로그래머스를 통해, 아래 주소에서 만나보실 수 있습니다.https://programmers.co.kr/learn/courses/30/lessons/17681?language=python3 난이도가 가장 낮다고 소개된 만큼, 문제자체도 간단하고 풀이도 어렵지 않습니다.따라서 해당 문제는 추가적인 설명대신 코드만 첨부해드리도록 하겠습니다.추가적으로 궁금한 사항이 있으시면 언제든지 댓글 및 카카오톡이나 이메일을 통해서 연락주시면 바로 답변드리도록 하겠습니다. 123456789101112131415161718192021..

#9_ 추석트래픽(2017 카카오톡 블라인드테스트 1차)

안녕하세요. 문범우입니다.요새 많은 기업들이 공채시즌이 다가와서 그런지, 평소보다 알고리즘 문제풀이에 대한 학원이나 온라인강의에 대한 광고가 많아진 것 같네요. 요새보면 대부분의 기업에서 SW인원들은 다른 시험보다 코딩테스트를 중요시하고 있고 많은 사람들이 제일 까다로워 하는 부분인 것 같습니다. 요새 개인적으로 공부하는 기계학습이나, 리액트네이티브때문에 블로그활동을 자주못하고 있는데, 오랜만에 프로그래머스에 들어갔다가 2017년 카카오톡 블라인드테스트 1차 코딩문제를 공개해두었길래 이번주에 하나씩 풀어보려합니다. 처음에는 쉬운문제부터 풀어보려했는데.. 나중에 확인해보니 이번에 소개해드릴 '추석트래픽' 문제가 가장 어려웠다고 하네요. 프로그래머스에서 제공하는 작년 카카오톡 코딩테스트 문제는 아래에서 만나..

시립대 졸업 가능 여부 확인 사이트 개발 후기

안녕하세요. 문범우입니다. 최근 장고를 활용하면서 재밌는 아이디어 없을까 하다가..졸업과 취업을 앞두고 있는 제가 생각나면서학교 졸업 가능 여부를 일일이 확인하던 모습이 보였습니다. 이에 따라서 교내 행정정보시스템에서 성적표를 .xls파일로 다운 받고, 단순히 그 파일과 영어성적 입력으로 졸업가능 여부를 확인해주는 사이트를 개발하였습니다. 먼저 사이트 주소는 아래와 같습니다. http://uos-info.doorbw.com/ 해당 사이트는 django(2.0 version)를 이용하여 개발되었습니다. aws ec2와, 도메인 설정을 위해 aws route53을 이용하였습니다. 일단은 제가 속해있는 전자전기컴퓨터공학부에 한해서 서비스가 제공되고 있지만혹여나 다른 과나 학부에 의한 요청도 들어오면 추가해보도..

포트폴리오 2018.09.05
728x90