파이썬 토이 프로젝트 | [라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관 249 개의 자세한 답변

당신은 주제를 찾고 있습니까 “파이썬 토이 프로젝트 – [라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관“? 다음 카테고리의 웹사이트 https://you.tfvp.org 에서 귀하의 모든 질문에 답변해 드립니다: you.tfvp.org/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 PyCon Korea 이(가) 작성한 기사에는 조회수 1,845회 및 좋아요 8개 개의 좋아요가 있습니다.

파이썬 토이 프로젝트 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관 – 파이썬 토이 프로젝트 주제에 대한 세부정보를 참조하세요

[라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 발표자 : 권태관
기술블로그 구독서비스 : http://daily-devblog.com기술블로그 구독서비스를 만들게 된 계기와 과정에 대해 소개합니다.발표에서는 시간관계상 간략하게 소개를 하였고 좀더 자세히 보시려면 제 블로그를 참조 부탁드립니다.https://taetaetae.github.io/2018/08/05/daily-dev-blog-1/https://taetaetae.github.io/2018/08/09/daily-dev-blog-2/
PyCon Korea 2018 프로그램 자세히 보기 : https://www.pycon.kr/2018/program/81
slide: https://www.slideshare.net/taekwankwon/pycon-2018-llighting-talk

파이썬 토이 프로젝트 주제에 대한 자세한 내용은 여기를 참조하세요.

개발자 토이프로젝트 모아보기 서비스: DevFoliOh!

다른 개발자들은 어떤 포트폴리오를 만들었을까? 개발자들의 포트폴리오 혹은 토이 프로젝트를 한눈에 모아보세요.

+ 여기에 표시

Source: devfolio.kr

Date Published: 9/22/2022

View: 7130

[Toy project] 개발자 공부 3주만에 인스타를 클론하라구? – velog

Wecode에서 개발공부를 시작했다. 1주차에는 html/css, 2주차에는 Python, 3주차에는 Django를 배우며 숨가쁘게 달려왔다.

+ 여기에 보기

Source: velog.io

Date Published: 11/29/2021

View: 6508

Do it! 파이썬 생활 프로그래밍(11가지 프로젝트로 시작하는)

이 책은 생활 프로그래머 김창현 박사가 일상과 업무에서 파이썬 프로그래밍을 활용한 경험을 바탕으로 … 코딩 #실용 #개발 #프로그램 #데이터분석 #토이프로젝트 …

+ 자세한 내용은 여기를 클릭하십시오

Source: www.kyobobook.co.kr

Date Published: 3/20/2022

View: 3429

TIL] 나의 첫 토이프로젝트를 하면서 느낀점 – Nerd

토이 프로젝트의 장점. 나는 파이썬을 공부할 때 공부하는 법을 정확히 몰라서 같은 강의를 3 회독 이상 완강하고. 최대한 배운 것들을 예제를 바꿔 …

+ 여기에 표시

Source: destory.tistory.com

Date Published: 5/3/2022

View: 7534

‘<토이프로젝트>/[Python 프로젝트]’ 카테고리의 글 목록

<토이프로젝트>/[Python 프로젝트] 2. [python 프로그램] 언어 변경, 언어 번역 프로그램 (구글 번역 결과 가지고 오기). 안녕하세요. BlockDMask입니다.

+ 자세한 내용은 여기를 클릭하십시오

Source: blockdmask.tistory.com

Date Published: 4/19/2021

View: 2869

[Toy project] Python 파일 복사 프로그램

[Toy project] Python 파일 복사 프로그램 · 1. 개요Permalink. 파이썬 파일 복사 프로그램 작성(mycopy.py) · 2. 개발 명세Permalink · 3. 소스 코드 …

+ 여기를 클릭

Source: gilbertlim.github.io

Date Published: 5/2/2022

View: 2008

프로젝트가 장난이야?! – 우아한형제들 기술블로그

저는 개발자의 개인 장난(감)인 프로젝트인 토이 프로젝트에 대해서 이야기해보려고 합니다. 저는 웹 개발 입문과 거의 동시에 토이 프로젝트를 시작 …

+ 여기에 보기

Source: techblog.woowahan.com

Date Published: 9/16/2022

View: 8735

토이프로젝트 목록

토이프로젝트 목록. 탱타로케이 2021. 5. 3. 16:10 … Python Projects for Beginners: 10 Easy Python Programming Project Ideas.

+ 여기에 자세히 보기

Source: server-workshop.tistory.com

Date Published: 10/25/2022

View: 2412

[챗봇 토이프로젝트] 파이썬으로 웹크롤링하기

[챗봇 토이프로젝트] 파이썬으로 웹크롤링하기. 무니웜테일패드풋프롱스 2020. 3. 7. 16:33. 해당 챗봇은 지역명을 사용자로부터 입력받으면, 해당 지역의 ‘미세먼지 …

+ 여기에 표시

Source: moonheekim-code.tistory.com

Date Published: 4/16/2021

View: 8223

주제와 관련된 이미지 파이썬 토이 프로젝트

주제와 관련된 더 많은 사진을 참조하십시오 [라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[라이트닝 토크] 파이썬으로 토이프로젝트 만들기 - 권태관
[라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관

주제에 대한 기사 평가 파이썬 토이 프로젝트

  • Author: PyCon Korea
  • Views: 조회수 1,845회
  • Likes: 좋아요 8개
  • Date Published: 2018. 10. 5.
  • Video Url link: https://www.youtube.com/watch?v=e10hVYJHvKU

Do it! 파이썬 생활 프로그래밍(11가지 프로젝트로 시작하는)

내가 필요한 프로그램 직접 만들어 쓴다!11가지 프로그램을 만들면서 파이썬 프로그래밍 감각을 길러 보자———————————–파이썬 문법을 아는 것에 그치지 않고 자기 공부나 업무에 써먹고 싶다면 프로그래밍 감각을 틈틈이 길러야 합니다. 어떤 상황에 어떤 프로그램이 필요한지 스스로 떠올리고 실제로 만들 줄 알아야 파이썬을 제대로 써먹을 수 있으니까요. 프로그래밍 감각을 키우려면 어떤 도구를 한몸처럼 다루기 위해 여러 상황에서 써 보는 것처럼 실제로 쓸만한 프로그램을 여러 개 만들어 봐야 합니다. 이 책과 함께 계산기부터 미드 ‘프렌즈’에서 대사 추출, 아파트 실거래가 통계 분석, 포털 사이트 기사 수집 등 생활에 밀접한 프로그램 11개를 직접 만들면서 프로그래밍 감각을 길러 보세요. 이 과정에서 자연스럽게 정규표현식, CSV 파일 처리, 파일 입출력, 통계 분석, 웹 크롤링 등 다양한 파이썬 활용 분야까지 경험해 볼 수 있습니다.★ 이 책에서 만드는 프로그램 목록1. 19단 곱셈표 출력2. 부가세 자동 계산기3. ‘프렌즈’ 대본에서 대사 추출4. 서울시 인구 비율 조사5. 아파트 실거래가 검색6. 영문과 번역문 자동 정렬기7. CSV 파일을 활용한 사업성 분석8. 주택 실거래가 기초 통계 분석9. 직업 만족도 설문조사 통계 분석10. 웹 사이트 명언 자동 수집11. 포털 사이트 기사 자동 수집(목차에서 ‘Do it!’이 붙은 부분의 실습을 차례대로 따라 하면 누구나 쉽게 프로그램을 완성할 수 있습니다.)———————————–파이썬 기초만 알아도 충분하다!실용적인 교재를 찾는 교강사께도 강추! 문과생, 중학생도 쉽게 따라 만들 수 있다———————————–이 책은 누구나 책에 나오는 프로젝트를 쉽게 따라 할 수 있도록 실습 환경을 만드는 것에서부터 시작합니다. 그런 다음 가장 간단한 파이썬 활용인 계산기 만들기에서 출발해 구구단을 만들고 19단을 만듭니다. 그리고 엑셀로 할 수 있는 간단한 작업을 파이썬에게 시켜봅니다. 하나하나 프로젝트를 업그레이드하며 프로그램을 만드는 데 필요한 문법의 개념과 사용법을 바로바로 본문과 팁으로 설명하고, 코드가 어떻게 작동하는지 주석으로 친절하게 알려줍니다. 독자가 더 실감나게 프로젝트를 진행할 수 있도록 프로그램이 필요한 상황을 〈이런 상황이라면〉 코너로 제시하고, 프로그램을 어떻게 만들지 먼저 순서도를 그려봅니다. 본격적으로 코딩을 시작하는 부분에는 ‘Do it!’ 마크를 달아 독자가 읽다가 실습을 놓치지 않도록 배려했습니다.———————————–이제는 누구나 생활 프로그래머가 되어야 하는 시대!저자도 여러분과 같은 직장인, 프로그래밍 문외한이었다———————————–저자는 뼛속까지 문과생인 지리학 박사 출신으로, 2014년 지리학 박사 논문을 끝낸 다음에야 처음 파이썬을 만났다고 합니다. 바로바로 결과물이 나오는 파이썬에 매료된 그는 파이썬을 업무과 일상에 어떻게 적용할지를 즐겁게 고민하며 주말에 시간이 날 때마다 프로그램을 개발했습니다. 처음에는 계산기로만 파이썬을 활용하다가 공부한 시간이 점점 쌓여 이제는 파이썬을 활용해 자동으로 원하는 기사를 긁어와 자료집을 만들고, 길고 복잡한 텍스트에서 특정 패턴을 가진 문장만 추출할 정도로 발전했다고 합니다. 시간을 많이 써야 하는 단순 작업은 파이썬 프로그램으로 해결하게 된 것입니다.이 책은 저자처럼 기존 개발자가 아닌 일반인, 또는 프로그래밍 초심자가 실제로 프로그램을 만들어 조금이라도 써먹을 수 있는 데 초점을 맞췄습니다. 특히, 03장에서 ‘정규표현식’을 사용해 텍스트를 다루는 건 누구에게나 꼭 필요한 기능입니다. 정규표현식을 매일 연습해서 써먹는다면 글을 다루는 모든 직장인이 생산성을 폭발시킬 수 있을 거라고 저자는 강조합니다. 또한 오류를 해결하는 데 익숙하지 않을 독자를 위해 코드 한 줄에 최소 한 시간 넘게 시간을 써서 모든 실습 코드를 최소 10번 이상 테스트 했습니다.★ 이런 사람이 읽으면 좋아요“파이썬 입문서를 읽은 다음에 뭘 해야 할지 모르겠어요.”“코딩은 처음이지만 바로 프로그램을 만들면서 배워보고 싶어요.”“직접 프로그램을 만들어서 생활이나 업무에 활용하고 싶어요.”사무실에서 하루 종일 숫자와 씨름하는 직장인들, 표 안의 숫자를 매일 채워 넣는 연구원, 좋은 글을 쓰기 위해 매일 문서 프로그램으로 글을 고치며 고심하는 작가들, 그리고 더 많은 정보를 얻고 싶어하는 대학생들에게 이 책, ‘Do it! 파이썬 생활 프로그래밍’ 책은 날개를 달아줄 수 있습니다.★ 이 책은 출간 전에 독자들이 미리 읽어 보았습니다.“프로그래밍을 어려워 하는 초심자, 문과생, 일반 사무직 직장인에게 꼭 추천합니다.”- 허민(15년차 개발자)“진짜 생활에 써먹을 수 있는 파이썬 프로그래밍 방법이 들어 있습니다.”- 오정민(소프트웨어 전공 대학생)“처음 프로그램을 만들어 보는 사람도 쉽게 이해할 수 있도록 실습을 하나하나 뜯어서 설명해 주는 부분이 좋았어요!”- 김대엽(컴퓨터공학 전공 대학생)“실무에서 많이 사용하는 데이터 분석 패키지를 가볍게 사용해 볼 수 있습니다.”- 고재영(인공지능 연구원)“실습을 따라 하다 보면 코딩 실력이 자연스럽게 한 단계 상승할 거예요.”- 장현정(직업능력개발 훈련교사)“파이썬 입문을 막 끝낸 다음 데이터 과학 또는 인공지능을 더 공부해 보고 싶다면, 이 책을 먼저 읽어 보세요!”- 이요셉(14년차 IT인)“프로그램 완성을 향해 양파 껍질을 벗기듯 하나씩 접근하는 구성이 돋보입니다.”- 복종순(파이썬 코딩 강사)“이 책의 다양한 프로그램을 만들면서 앞으로 무엇을 더 공부해야 할지 감을 잡을 수 있었어요.”- 박서빈(프로그래밍을 전공하는 고등학생)함께 배우고, 나누고, 성장하는 ‘Do it! 스터디룸’으로 오세요!혼자 계획을 세우고 공부하다 보면 금방 지치기 마련이죠? 나와 비슷한 고민을 하고 있는 독자를 만나 어려운 내용을 공유해 보세요. 서로 도움을 주고받다 보면 공부가 더 보람찰 것입니다. 멀리 가려면 친구와 함께 앞으로 나아가 보세요.- 두잇 스터디룸: https://cafe.naver.com/doitstudyroom※ 이 책의 전체 실습 파일은 이지스퍼블리싱 홈페이지 자료실 또는 저자 깃허브에서 제공합니다.- 이지스퍼블리싱 홈페이지: http://www.easyspub.co.kr → [자료실] 클릭 → 도서명 검색- 저자 깃허브: https://github.com/skytreesea/do-it-python 닫기

TIL] 나의 첫 토이프로젝트를 하면서 느낀점

자기소개(첫 토이 프로젝트)

위의 사진은 나의 첫 토이 프로젝트이다.

맨 위의 부분에서는 h1태그를 이용해 나의 개발자 별명인 Jongveloper를 넣었고

부제목 목으로 (feat. 자기소개)를 넣었다.

화면 왼쪽을 보게 되면 블로그 형식으로 작성하였다.

깃허브 보러 가기 버튼을 클릭하게 되면 나의 깃허브로 이동이 된다.

그 밑에는 마음가짐이 있고 또 그 밑에 개발자 블로그(티스토리 블로그)가 있다.

그 밑에는 현재 날짜와 시각이 나오고 순차적으로 온도와 습도가 나온다.

화면의 메인에는 기본정보인 이메일과 휴대폰이 있고

노션 보러 가기 버튼이 존재한다.

노션 보러가기 버튼을 클릭하게 되면 항해 99를 함께하는 항해99 2기 2조 사전과제 노션 페이지로 이동된다.

그 밑으로는 순서대로 현재 공부 중인 언어와 희망하는 주특기 프로그래머가 되고 싶어 진 계기가 나오게 된다.

토이 프로젝트의 장점

나는 파이썬을 공부할 때 공부하는 법을 정확히 몰라서 같은 강의를 3 회독 이상 완강하고

최대한 배운 것들을 예제를 바꿔가며 공부를 진행했었다.

또한 퇴사하기 전에는 모바일로 들었던 강의를 듣고 또 들었다.

하지만 항상 내가 무엇이 부족한지 나에게 어떤 게 필요한지 정확하게 알 수 없었다.

하지만 토이 프로젝트를 진행하다 보면서 나의 부족한 점을 정확히 알 수 있었고

내가 이해가 부족한 부분들을 알 수 있게 되었다.

토이 프로젝트는 나의 발전에 확실한 도움이 되는 것 같다.

앞으로도 여러 개를 만들면서 간단한 자기소개 페이지가 아닌

플라스크와 접목도 시켜보고 이것저것 해보고 싶은 것이 많다.

토이 프로젝트를 하면서 느낀 점

토이 프로젝트를 하면서 느낀점은 다음과 같다.

이번 토이프로젝트를 하면서 구상(뼈대)을 안 잡아놓고 이것저것 막무가내로 시작하였다.

그래서 시행착오가 너무 많았고 그러다 보니 머릿속이 너무 꼬이게 되었다.

깃허브에서 코드를 공개하는 게 부끄러울 정도로 코드의 가시성이 떨어지고

정말 엉망인 코드였다.

나의 실력이 부족한 것이 크지만 부족한 실력으로 막무가내에 했다는 게

정말 무식한 게 용감하다는 말이 떠오를 정도로 코드의 완성도가 떨어진다.

따라서 다음 토이 프로젝트는 어느 정도 구상을 하고 시작을 해야 할 것 같다.

단순히 작동만 되는 코드가 아닌 가시성이 좋고 팀으로 협업할 때 좋은 코드를 만들고 싶다.

정말 엉망인 코드를 깃허브에 올리는 것이 부끄러웠지만 지금 현재 내 실력이고

깃허브에 점점 발전하는 모습을 올리는 것도 의미 있다 생각하기 때문에

깃허브에 있는 그대로 올렸다.

정말 부끄러운 코드지만 이번 프로젝트를 하면서 많은걸 느꼈기에 꼭 올리고 싶었다.

토이 프로젝트를 하면서 뿌듯했던 점

토이프로젝트를 하면서 뿌듯했던 것은 api적용이었다.

openopenweathermap을 통하여 날씨를 받아오는 것인데 강의를 보면서 할 때에는

정말 순조롭게 했던 일이 나 혼자 진행하다 보니 어려웠지만 구글링을 통해서

화면에 openweathermap에서 제공하는 아이콘과 날씨정보가 나왔을 때

너무 뿌듯했다. 처음에 쉬운 일이라고 생각하고 접근했지만 생각보다 어려웠고

console에 시험으로 찍어볼 때 수없이 많은 에러가 났고 그것을 하나하나

찾아서 고치는 과정을 겪고 console에까지 나오게 되었는데

화면에 나올 땐 또 몇몇 이유로 화면에 안 나타나게 되고 끝내 해결하게 되었을 때

정말 큰 성취감을 느끼고 혼자 의자에서 일어나서 자축을 했다..🤣

토이 프로젝트를 하면서 어려웠던 점

이번 토이프로젝트를 하면서 어려웠던 점은 구상이다.

구상이 잘 안되어서 정말 많은 수정을 했고 요소를 넣었다가 삭제했다가를

반복했다. 또한 기본적인 블로그 형식의 자기소개 페이지라는 것조차 생각 안 하고

무턱대고 코드를 짜기 시작해서 정말 코드가 엉망진창이었다…

부트스트랩 적용도 제대로 안 해서 더욱더… 엉망이었고

나의 부족한 점을 확실하게 느끼게 해 준 프로젝트였다😭

토이 프로젝트 첫번째(자기소개) 후기를 마치며

토이프로젝트 두 번째는 구상을 열심히 하고 가시성이 좋은

팀원들과 협업했을 때도 누구나 알아볼 수 있는 그런 코드를 짜고 싶다.

이번 프로젝트를 통해서 내가 얼마나 부족한지 알게 되었고

완성이 되었을 때 성취감이라는 당근은 나에게 너무 달콤했다.

두 번째 토이 프로젝트에서 나에게 채찍질을 하고

성취라는 엄청난 당근을 주고 싶다.

[Python 프로젝트]’ 카테고리의 글 목록

안녕하세요. BlockDMask입니다. 오늘은 제가 간단하게 파이썬으로 만든 언어 변경, 언어 번역 프로그램을 소개해 드리려 합니다. 오늘(2021.06.02) 만든 따끈따끈한 new 프로그램입니다. 1. 초간단 초 심플 번역 프로그램 소개 2. 번역 프로그램 사용법 3. language change 프로그램 사용 영상 1. 파이썬 번역 프로그램 소개 1-1) 프로그램을 만든 이유 이 프로그램은.. 이번에 유튜브를 시작한 와이프를 위해서 편하게 자막을 넣으라고 만든 프로그램 입니다. (드디어 유명 유튜버 아내가 생기는 걸까요) 해외 시장을 노리는지 자막을 하나하나 구글에 한->영, 한->일,… 등등 이렇게 번거롭게 번역하는 것을 보고, “하나 만들어주면 좋겠다” 싶어서 바로 작업에 들어가게 되었습니다..

[Toy project] Python 파일 복사 프로그램

# 모듈 import sys import os # 상수 FILENAME = ‘mycopy.py’ OPTION = ‘-cp’ # 예외처리를 직접 만들기 위한 클래스 class FileTypeError ( Exception ): pass # 예외 처리 구문 try : # sys.argv = [‘mycopy’, ‘-cp’, ‘복사할 txt파일’, ‘붙여넣을 txt파일’] # sys.argv의 원소를 각각 변수로 초기화 하는 과정에서 리스트에 누락이 있으면, IndexError 발생 option = sys . argv [ 1 ] # 옵션 f_copy = sys . argv [ 2 ] # 복사할 파일 f_paste = sys . argv [ 3 ] # 붙여넣을 파일 if option == OPTION : # 옵션이 정확히 들어왔을 경우 if f_copy [ – 4 :] == ‘.txt’ and f_paste [ – 4 :] == ‘.txt’ : # 복사/붙여넣을 파일의 형식이 .txt인 경우 with open ( f_copy , ‘rt’ , encoding = “utf-8” ) as f : text = f . read () # 복사할 파일을 읽어 텍스트를 변수로 저장 with open ( f_paste , ‘wt’ , encoding = “utf-8” ) as f : f . write ( text ) # 붙여넣을 파일을 열어 텍스트 복사 # 파일 복사 완료 후 내용 출력여부 확인 answer = input ( ‘파일 복사가 완료되었습니다. 복사한 파일의 내용을 확인하시겠습니까?(Y/N) : ‘ ) if answer == ‘Y’ or answer == ‘y’ or answer == ‘ㅛ’ : # Y print ( ‘파일명) {}’ . format ( f_paste )) print ( ‘내용)’ ) with open ( f_paste , ‘rt’ , encoding = “utf-8” ) as f : read = f . read () # 파일을 열어 저장된 내용 출력 print ( read ) else : # N print ( ‘파일 복사 프로그램을 종료합니다.’ ) # 프로그램 종료 else : # 복사/붙여넣을 파일의 형식이 .txt가 아닌 경우 raise FileTypeError () # 직접 생성한 파일형식에러 강제 발생 else : # 옵션이 정확하게 들어오지 않았을 경우 raise IndexError # IndexError 강제 발생 # 에러 처리 구문 except IndexError : # sys.argv 리스트에 값이 하나라도 누락되었을 경우 에러 발생 print ( ‘커맨드 형식이 올바르지 않습니다. 아래 형식을 참조하여 다시 입력하세요.’ ) print ( ‘커맨드 형식 : python {0} {1} [복사할 txt파일] [붙여넣을 txt파일]’ . format ( FILENAME , OPTION )) except ( FileTypeError , FileNotFoundError ): # txt파일이 아니거나 복사할 파일이 없는 경우 print ( ‘txt파일이 없거나 파일의 형식이 올바르지 않습니다.’ ) print ( ‘현재 경로에 있는 \’ *.txt \’ 파일 목록은 아래와 같습니다.’ ) print ( ‘—————————————————–‘ ) # OS별 현재 경로의 .txt 파일 리스트 출력 if os . name == ‘nt’ : # Window OS os . system ( ‘dir /b | findstr .txt’ ) else : # Linux OS, Mac OS os . system ( ‘ls | grep .txt’ )

프로젝트가 장난이야?!

안녕하세요. 저는 배달의 민족 주문시스템을 개발하고 있는 권용근입니다.

(출처 : 타요장난감 타요학교와 꼬마버스타요 버스 친구들:지호토이TV)

저는 개발자의 개인 장난(감)인 프로젝트인 토이 프로젝트에 대해서 이야기해보려고 합니다. 저는 웹 개발 입문과 거의 동시에 토이 프로젝트를 시작했고 이 프로젝트들을 통해 많은 성장을 이루었다고 생각하고 있습니다. 그래서 토이 프로젝트를 통해 무엇을 얻을 수 있었는지에 대하여 말해보려고 합니다.

(우아한 Tech : 김영한 팀장님의 카드 뉴스 중..)

토이 프로젝트란?

토이 프로젝트가 무엇일까요? 크고 간단하게 2가지로 나눈다면 이렇습니다.

1. 여유시간만 투자한다.

본업과 건강에 영향을 미치지 않는 선에서 여유시간을 투자해야합니다.

2. 어떠한 목적을 달성한다.

기능, 스펙, 규모, 일정에 대한 제약은 있을 수도 있고 없을 수도 있습니다. 런칭 혹은 배포도 마찬가지입니다. 프로젝트가 반드시 런칭되거나 배포될 필요는 없습니다. 이것은 내가(혹은 우리가) 프로젝트의 목적을 무엇으로 정하냐 에 따라 달라지게 됩니다.

여유시간을 투자하여, 어떠한 목적을 달성하는 개발 프로젝트가 토이 프로젝트 인 것 입니다. 샘플 프로젝트, 기능을 제공하는 라이브러리 프로젝트, 서비스를 제공하는 웹,앱 프로젝트 등등 무엇이든지 나올 수 있지요!

나의 토이 프로젝트

많은 토이 프로젝트를 진행했었지만, 그 중 대표적으로 챗봇 프로젝트 , 코딩덕후 프로젝트 라는 2가지 저의 토이 프로젝트를 중심으로 이야기해보려 합니다. 그래서 일단 간단히 2가지 프로젝트를 소개하겠습니다.

챗봇 프로젝트

저의 웹 개발 시작과 거의 거의 비슷한 시기에 시작했던 첫 토이 프로젝트 입니다. 저의 첫 회사에서 꽤 많은 구성원들이 사용해주었던 대화형(ARS형) 챗봇이였습니다. 나중에는 핵심 코어 기능만 분리하여 프레임워크화 하여 Boot Starter Pack으로 제공하였고, 슬랙, 텔레그램, 라인 등과도 연동하였습니다. 회의실 현황, 예약, 사다리, 심심이, 섣다 기능 등 온갖 잡 기능을 하나씩 추가해나갔던 장난감이였습니다.

Github Link : kingbbode/spring-boot-chatbot

코딩덕후 프로젝트

개발자들의 Github 활동을 장려하고자 Github 활동을 시각화해주는 서비스 프로젝트 로 2018년 11월부터 정식 시즌을 오픈하여 진행 중인 프로젝트입니다. 3명의 구성원들과 함께 진행하고 있는 첫 팀 프로젝트이고, PM 역할을 맡아본 첫 프로젝트 입니다.

Site Link : co-duck.com

위 두 가지 프로젝트를 진행하며 경험할 수 있었던 것, 얻을 수 있었던 것에 대한 이야기를 시작해보겠습니다.

토이 프로젝트로 경험할 수 있었던 것 & 얻을 수 있었던 것

1. 기술에 대한 접근 기회

회사에서 만들게 되는 서비스는 안정성을 추구합니다. 그래서 직접 만들기보다는 잘 만들어진, 충분히 검증된 프레임워크, 라이브러리를 선택하고 조합하여 사용을 합니다. 때문에 본인이 직접 라이브러리와 프레임워크를 구현하는 경험을 가지기는 쉽지가 않습니다.

토이 프로젝트는 무엇이든 목적이 될 수 있고, 무엇이든 해도 되는 프로젝트이기 때문에 저 스스로에게 많은 기회를 만들어줄 수 있었습니다.

기회 #1 프레임워크 만들어보기

처음부터 프레임워크를 만들기로 했던 것은 아니였습니다. 챗봇 프로젝트 를 진행하면서, 챗봇 개발에 대한 진입을 낮추어주자는 목적을 달성하기 위해 프레임워크 처럼 만들어보자는 결론이 나온 것이지요.

어떻게 하면 스프링과 같이 쉽게 기능을 작성하도록 할까에서 시작되어, 스프링의 어노테이션 기반의 메타 프로그래밍 방식을 사용하게 되었습니다.

@Brain public class FirstBrain { @BrainCell(key = “따라해봐”, function = “echo-start”) public String echo(BrainRequest brainRequest) { return “말해봐”; } @BrainCell(function = “echo-end”, parent = “echo-start”) public String echo2(BrainRequest brainRequest) { return brainRequest.getContent(); } }

이런 식으로 말이죠. 이를 가능하게 하기 위해, Java Relfection API 를 알아야 했고, 동적으로 생성된 챗봇을 위한 Bean 을 관리하기 위해 Spring BeanFactory Container 와 닮은 BrainFactory 도 만들게 되었습니다. (물론 완성된 구현물이 Spring Framework 에는 훨씬 못미치지만.. )

서비스를 개발할 때 사용하거나 경험해보지 못할 기술과 방법들을 직접 사용해볼 수 있었고, 이런 기술들을 사용하여 만들어진 스프링 프레임워크의 전체를 부지런하게 까보기 시작했고, 이해하기 위해 노력을 했습니다. 이를 통해 내가 사용하고 있는 프레임워크가 내부적으로 대략 어떻게 돌아가는지를 조금은 이해할 수 있게 된 큰 계기가 되었습니다.

기회 #2 Spring Boot Starter 만들어보기

마찬가지로 만들어진 기능을 쉽게 제공하기 위한 고민을 하다가, Spring Boot 의 Starter Pack 을 만들어보기로 했습니다.

이 때가 약 3년 전으로 국내에서 아직 스프링 부트의 대한 오해들이 만연하던 시기이기도 하였습니다. 물론 당시 신입이였던 저는 그런 것은 모르고, 제가 사용하는 프레임워크를 이해하기 위해 노력을 하고 있던 시기이기도 합니다.

한글 문서가 거의 없던 당시에 공식 문서를 나름 열심히 파고, 소스를 직접 하나씩 모두 들여다보았던 삽질의 기억들이 납니다.

그래서 단일 모듈의 프로젝트에서

이런 구조의(중간 버전의 레파지토리가 삭제되어 현재 구조로 대체) 멀티 모듈 프로젝트로 탄생되었죠!

이 때 부트에 대해서 정말 많은 이해를 할 수 있었고,

덕분에 2017 Spring Camp 에서 연사로 발표도 할 수 있었습니다.

2. 새로운 관심사

신기술이나 이전에 사용해본 적 없는 기술을 운영중인 서비스에 바로 적용할 수 있을까요?

기술이 이미 충분히 검증되었고, 스스로 문제가 발생했을 때 빠르게 해결할 수 있을만큼 기술에 대하여 내가 성숙되었다면 고민을 해보겠지만, 그 이전에는 절대 반대를 할 것 같습니다.

그럼 토이 프로젝트로 사용을 해본 후에 서비스에 적용을 하면 될까요?

내 토이 프로젝트가 회사 이상의 대규모 트래픽을 받고 있으며, 회사보다 복잡한 비즈니스적 요구사항을 가지고 있다면 고민을 해보겠지만, 그 이전에는 절대 반대를 할 것 같습니다.

“새로운 기술, 새로운 모델을 쓰는건 현재 환경에선 더이상 문제를 해결할 수 없다고 느낄때만 엄청 엄청 부담감을 느끼면서 적용한다.” by jojoldu

그럼에도 저는 토이 프로젝트에서 꼭 새로운 관심사를 사용해보시길 강력하게 추천드립니다. 저는 호기심을 잃은 개발자는 성장할 수 없다고 강하게 믿고 있습니다. 현재 내 업무에서 사용하지 않는 것과 내가 가진 기술에 대한 호기심은 전혀 무관합니다. 어떠한 기술로 무언가를 해결해본 경험은 언젠가 반드시 도움이 될 것 입니다.

도움이 되었던 사례 #1 REDIS 활용

챗봇 프로젝트 는 처음에 1 DEPTH 를 가지는 매우 단순한 챗봇이였습니다. 공백 split 을 사용하여 명령어 뒤의 기능을 수행하도록 하였습니다.

#투표 짬뽕 -> 짬뽕을 투표한다

챗봇으로 만드려는 기능이 점점 많아짐에 따라 명령어가 점점 난해해지기 시작했습니다.

#연차 사용 반차 2018-11-04 오전 -> 2018년 11월 4일 오전반차를 사용한다.

그래서 Redis 를 활용하여 챗봇 대화의 짧은 Expire 의 세션을 만들었고, 그 세션의 존재에 따라 현재 해당 유저가 대화 중인 상태인지 아닌지를 판단하는 기능을 만들어 대화 방식의 채팅 방식을 만들었습니다.

이때 제가 하고 있는 서비스에는 Redis 비슷한 것도 사용하지 않았던 시기였습니다.

그러나 경험은 개인의 만족으로 끝나지 않았습니다. 현재 배달의 민족의 비동기 결제 시스템을 적용할 당시 주문시스템의 사용자 경험과 관련된 결제 완료를 확인하는 부분에서 이 방식을 제안했고, 이 기능은 현재도 잘 쓰고있는 기능이 되었습니다.

2년 뒤 다른 업무에서 이 기능을 사용하게 될거라곤 생각도 못했습니다. 그러나 이렇게 저의 본업에도 도움이 경험이 되었습니다.

도움이 되었던 사례 #2 ADMIN 뚝딱

현재는 서버개발자를 담당하고 있지만, 이전 회사에서는 프론트와 서버를 모두 개발하던 개발자였습니다. 서버는 서버대로 재미가 있고, 프론트는 프론트대로 재미가 있었지만 과감히 서버개발자의 길을 선택하였고 프론트엔드는 완전한 취미가 되었습니다.

담당 업무에서 프론트엔드가 완전히 없어진 후 VueJs 라는 기술이 화제가 되고 있었습니다. 개발자의 호기심은 무죄입니다. 그래서 당시 진행 중이던 토이 프로젝트 코딩덕후 프로젝트 의 프론트엔드를 VueJs 로 만들기로 했고 VueJs 를 신나게 공부했었습니다.

이 때도 마찬가지로 제 업무에 프론트엔드는 완전히 없을 줄 알았습니다.

백오피스 필요없는 시스템은 역시 없는 것이였을까요? 결국 백오피스에 대한 요구사항이 생기게 되었고, 프론트엔드 경험이 있는 제가 만들게 되었습니다.

총 2개의 어드민을 만들었는데, 기존 다른 프레임워크와 호환되는 css만 사용하여 템플릿 라이브러리를 사용하지 않고 만든 ADMIN은 2주 가 걸렸고, Vuejs 어드민 템플릿 라이브러리를 사용하여 만든 현재의 주문시스템 ADMIN 은 2일 만에 만들 수 있었습니다.

(위 그래프는 실제 지표와 아무런 관련이 없음)

당시 바쁜 일정 중 주문시스템 ADMIN 이 생각 이상으로 빨리 만들어져 저희 팀의 관리자(팀장님)가 신나했던 기억이 납니다.

결국 서비스와 상관없이 진행했던 토이 프로젝트가 또 다시 저의 본업에 도움이 되었습니다.

3. 풀사이클 개발(Design-Develop-Test-Deploy-Operate-Support)

요즘 많은 곳에서 업무의 세분화로 알지 않아도 괜찮은 것 같은 영역들이 생기고 있습니다. 그 대표적인 예가 서버 개발 직군과 인프라 직군이 아닐까 생각됩니다. 서버 개발자가 정말 인프라에 대해서 몰라도 되는 것일까요?

저는 우아한형제들에 입사한 후 나와 같은 서버 개발자이지만, 인프라 괴물들을 몇 명 만났습니다.

이분들을 보며 확실히 느낀 것은, 내가 인프라를 직접 하지 않게 되더라도, 반드시 알아야 한다는 것 입니다. 인프라를 알고 모르고에 따라서 설계부터 개발, 운영(문제 해결)에 대한 모든 것이 차이가 난다는 것을 알았기 때문입니다. 넷플릭스의 풀사이클 개발자 블로깅에서도 이런 말을 합니다.

Operating What You Build(당신이 구축한 것을 운영하라)!!

그러나 현재 국내 개발자들이 풀사이클 개발을 회사에서 경험하긴 쉽지 않습니다. 그렇다면 어디서 경험할 수 있을까요?! 바로 토이 프로젝트입니다!

코덕 프로젝트 는 아키텍처부터 인프라까지 모두 직접 설계하고 구축하여 서비스되고 있는 저의 첫 토이 프로젝트입니다. “나 혼자서 하나의 서비스를 처음부터 끝까지 만들 수 있을까?” 라는 궁금증이 항상 있었습니다. 그러던 중 정말 만들어보고 싶은 서비스가 생겼고, 망설임 없이 시작을 하였던 것 같습니다. 토이 프로젝트를 시작한다는 것은 저에게 너무 당연한 일이 되었고, 토이 프로젝트는 정말 토이 프로젝트일 뿐이였기 때문입니다.

코덕 프로젝트

사실 하나의 프로젝트로 만들 수 있었지만, 멀티 프로젝트로 쪼개어 설계를 해보았습니다. 당연히 이런 소규모의 서비스라면 하나의 프로젝트로 만드는 것이 좋은 결정이겠지만, 제가 경험하고 싶었던 것은 분산환경이였습니다. 토이 프로젝트에서 나의 목적을 달성하는데에는 전혀 오버스팩이 아닌 아주 적합한 스팩이 되는 것 입니다.

그래서 해보고 싶던 디자인, TDD, 개발 스타일, 브랜치 전략, 이슈 관리, 배포 방식 등을 모두 해볼 수 있었고, 많은 시행 착오를 통해 더 많은 경험치를 쌓을 수 있었습니다.

그래서 완성된 구조는 아래와 같습니다.

저만의 멋진 구조를 완성시키고 싶었는데, 이 모든 것이 돈 이라는 것을 알게 되었습니다. 회사에서 사용하고 있던 당연한 것들을 적용해보려 하였고, AWS 견적 계산기로 대충 계산을 해보았더니…

(우아한형제들은 빵빵한 AWS 스팩을 제공합니다!)

그래서 비용 최소화 모델로 집에서 잠자고 있던 라즈베리파이까지 동원되어 완성된 구조입니다. 서버에 대한 설정부터 데이터베이스 설치까지 모든 것을 직접 해볼 수 있었던 좋은 경험이 되었습니다. 그 과정에서 호돌맨님의 영상(서버 기본 설정, MariaDB 설치)과 알구몬(algumon.com)의 경험을 담은 깨알팁이 정말 많은 도움이 되었습니다.

인프라 괴물님들 다시 한번 감사합니다.

아쉬운 점이 당연히 많습니다. 비용 문제로 AWS 에서 경험해보고 싶은 많은 것들을 아직 사용해보지 못한 것 때문입니다. 그렇지만! 저의 프로젝트는 진행형입니다! (정식 오픈한지 1달도 안된..) 앞으로 트래픽이 (제발) 늘어준다면 분명 더 좋은 경험들을 할 수 있으리라 확신합니다.

Site Link : co-duck.com

많이 이용해주세요 !!

4. 관리자를 이해

저같은 주니어가 어디가서 PM 역할을 해보겠나요? 토이 프로젝트이기에 가능합니다! 소제목으로 관리자를 이해 라고 해놓았지만 사실 관리자는 아직 저에게는 이해할 수 없는 영역입니다. 그럼에도 프로젝트를 진행하면서 느낄 수 있었던 관리자의 일부 모습의 이해 를 이야기 해보려고 합니다!

저는 코덕 프로젝트 를 만들기 위해, 3명의 개발자를 합류시켰습니다. 저는 꼭 만들고 싶었던 뚜렷한 프로젝트의 방향과, 취지가 있었기에 프로젝트를 시작하였고, 지인들은 개발 경험이 필요하여 합류한 것 입니다.

전체 설계가 끝나고 구현을 시작할 때까지는 모든 것이 순조로웠습니다. 구현해야할 내용을 작게 나누어 TODO 를 작성하였고, 그것을 구성원들에게 뿌리고 구현이 시작되면서 이상한 것들이 나타나기 시작했습니다!

내가 의도한 바와, 실제 구현이 미묘하게 다른 방향으로 흘러가고 있었습니다. 그러던 중 충격적인 말!

이런 기능을 만들어야하니까 만들고 있는데, 사실 이 기능을 왜 만드는지, 만들어서 뭘 하겠다는 건지 전혀 모르겠다.

그때서야 무엇이 잘못되었는지를 알았습니다. “내가 생각하는게 대충 이런거다” 라며 합류를 시켰고, “내가 생각하는게 있으니까, 일단 해놔봐”, “대충 이런건데, 나중에 설명해줄게” 같은 말들을 했던 순간이 스쳐갔습니다. 구성원들이 서비스를 전혀 이해하지 못하고 있던 것 입니다.

그 후 정밀한 PPT 를 만들어, 2시간에 걸쳐서 구성원들에게 프로젝트를 설명을 하였고 그제서야 많은 오해들이 풀리게 되었습니다.

(하지만 그래도 다 이해하진 못하더라는…)

그리고 우아한형제들 을 다시 생각하였습니다. 매월 진행되는 타운홀 행사, 그리고 최근 조직개편 이후에도 회사의 방향에 대하여 자세히 설명해주셨던 부문장님, 실장님, 팀장님을 떠올렸습니다.

(찍어둔게 없어서 합성을.. 실제론 꽉꽉 찹니다)

내가 현재 우리 회사의 방향을 알고 있고 이해하고 있다는 점, 고작 3명에게 설명하기도 벅찼었던 나의 모습을 떠올렸을 때야 관리자분들의 그런 모습들을 이해할 수 있었고, 감사하다고 생각이 들었습니다.

추가로..

그리고 구성원들을 쪼고 있는 내 모습에 팀장님도 사알짝 이해할 수 있었… (갈갈갈)

마무리

토이 프로젝트는 이렇 듯 저에게 정말 많은 경험을 선물해주고 있습니다. 개발자는 토이 프로젝트를 무조건 해야한다는 이야기가 아니며, 토이 프로젝트를 해야 좋은 개발자라는 이야기도 아닙니다. 그러나 토이 프로젝트를 하고 있는 개발자는 분명 더 많은 경험을 할 수 있는 개발자라는 것은 꼭 말하고 싶었습니다.

저에게 많은 토이 프로젝트들이 생겼고, 첫 서비스를 하는 프로젝트도 생겼습니다. 이 프로젝트들은 기꺼이 레거시가 되어주어, 레거시를 개선해보는 경험도 시켜줄 것이고, 트래픽이 늘어나 그에 따른 새로운 경험들을 시켜줄 것 입니다. 내가 만든 라이브러리를 사용하는 사람들도 생길 것이고, 그들이 제기하는 이슈도 맛보게 될 것 입니다. 그리고 저는 이 프로젝트들을 통해 더 성장하겠지요?

관심있는 기술, 하고싶은 개발이 있지는 않으신가요? 그렇다면 시작해보세요! 토이 프로젝트를!

토이프로젝트 목록

728×90

mikkegoes.com/python-projects-for-beginners/

1. 홀짝?

2. 숫자 스무고개

3. 운세 프로그램

4. 가위바위보

5. 행맨

6. 약어 변환기 – 긴 문자를 약어로 변환.

7. 비밀번호 생성기.

8. 단어 카운터 – 입력받은 파일에서 각 문자의 등장 횟수를 세는 프로그램.

9. 퐁 게임

10. 틱택토

11. 데이터 분석기

728×90

[챗봇 토이프로젝트] 파이썬으로 웹크롤링하기

해당 챗봇은 지역명을 사용자로부터 입력받으면, 해당 지역의 ‘미세먼지 농도’를 알려준다!

이를 위해서 먼저 파이썬으로 네이버 미세먼지 정보를 크롤링해야한다!

카카오 오픈빌더 승인이 아직 나지 않았기 때문에 나머지 과정은 추후에 올리도록 하겠다!

from urllib.request import urlopen, Request from bs4 import BeautifulSoup import urllib import bs4

먼저 이렇게 모듈들을 import해준다

location=input() enc_location=urllib.parse.quote(location+’미세먼지’) url=’https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=’+enc_location

그리고 사용자로부터 input 받는 지역명을 location 변수에 넣어준다. 그리고 네이버에 ‘서울시 미세먼지’를 검색했을 때 url의 뒤가 ‘지역명+미세먼지’이기 때문에, 해당 url을 복사해오고, 사용자로부터 받은 지역명+미세먼지를 삽입해준다

req=Request(url) res=urlopen(req) html=res.read()

이는 Request 모듈을 통해 우리가 아까 저장한 url을 http로 보내주고, res.read()로 해당 페이지를 읽어온다.

soup=bs4.BeautifulSoup(html,’html.parser’) table=soup.find(‘div’, class_=’state_info’).find(’em’,class_=’main_figure’).text

이제 BeautifulSoup을 통해서 위에 저장된 html을 파싱해주고, 이를 soup에 저장해준 후, 이 soup에서

우리가 가지고 오고자 하는 정보를 find한다! 그럼 이 find에 들어갈 값은 어떻게 알까 ?

이렇게 검색하고 개발자도구를 열어준다음, 가져오고자 하는 텍스트를 선택해주면 해당 텍스트가 어느 클래스에 있는 지알 수 있다. 여기서는

아래의 에 속하므로, 그에 따라서 코딩을 해주면 된다.

fine_dust=int(table) if(fine_dust<=30): answer='현재 '+location+' 미세먼지 농도는 '+table+'로 좋음! 입니다' elif(fine_dust<=80): answer='현재 '+location+' 미세먼지 농도는 '+table+'로 보통! 입니다' elif(fine_dust<=150): answer='현재 '+location+' 미세먼지 농도는 '+table+'로 나쁨! 입니다' elif(fine_dust>150): answer= ‘현재 ‘+location+’ 미세먼지 농도는 ‘+table+’로 매우나쁨! 입니다’ print(answer)

그리고 마지막은, 추출해온 미세먼지 농도를 정수형으로 변환시키고, 그에 따라 알맞은 대답을 저장해주는 것이다

from urllib.request import urlopen, Request from bs4 import BeautifulSoup import urllib import bs4 location=input() enc_location=urllib.parse.quote(location+’미세먼지’) url=’https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=’+enc_location req=Request(url) res=urlopen(req) html=res.read() soup=bs4.BeautifulSoup(html,’html.parser’) table=soup.find(‘div’, class_=’state_info’).find(’em’,class_=’main_figure’).text fine_dust=int(table) if(fine_dust<=30): answer='현재 '+location+' 미세먼지 농도는 '+table+'로 좋음! 입니다' elif(fine_dust<=80): answer='현재 '+location+' 미세먼지 농도는 '+table+'로 보통! 입니다' elif(fine_dust<=150): answer='현재 '+location+' 미세먼지 농도는 '+table+'로 나쁨! 입니다' elif(fine_dust>150): answer= ‘현재 ‘+location+’ 미세먼지 농도는 ‘+table+’로 매우나쁨! 입니다’ print(answer)

이게바로 크롤링이 완성된 코드이다! 다음번에 오픈빌더 승인이 나면 구름IDE를 이용해서 챗봇 스킬을 등록해보자!!

https://beomi.github.io/gb-crawling/posts/2017-01-20-HowToMakeWebCrawler.html

https://2jinishappy.tistory.com/21

키워드에 대한 정보 파이썬 토이 프로젝트

다음은 Bing에서 파이썬 토이 프로젝트 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관

  • PyCon Korea
[라이트닝 #토크] #파이썬으로 #토이프로젝트 #만들기 #- #권태관


YouTube에서 파이썬 토이 프로젝트 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [라이트닝 토크] 파이썬으로 토이프로젝트 만들기 – 권태관 | 파이썬 토이 프로젝트, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment