Day 30:後记 - 旅程的尾声...

图片来源:https://unsplash.com/photos/PeUJyoylfe4

终於来到铁人赛的最後一天了! 在旅程的最後,让我们一同回顾这30天经历的总总吧!

总复习

专案01 - 超简单个人履历 (D02~D07)

我们一开始从HTML开始,介绍了许多HTML的标签和属性,後来加上CSS,让我们的网页穿上华丽的衣装,最後,利用上述所学的技巧,打造自己第一个个人履历网页!

Python基本介绍 (D08~D13)

Python是很适合新手学的程序语言,也是爬虫专案主要使用的程序语言。在基本介绍这几天,我教了环境架设、变数、容器、流程控制、回圈和函数等基础的Python语法,希望大家学完後,对Python有多一点的认识,甚至可以用Python写一些小程序!

专案02 - PTT C_chat版爬虫 (D14~D15)

介绍两个常用的爬虫套件,RequestsBeautifulSoup,并使用这两个套件取得PTT C_chat版的文章标题,不知道大家还记得多少呢?

专案03 - PTT 八卦版爬虫 (D16~D19)

C_chat版的方法用在八卦版马上就出了问题,才发现要加上cookie来解决,後来还教了sessionpost的概念,省去每次都加上cookie的麻烦,这个专案教的都是爬虫相当重要的观念,非常推荐大家去看这一段。

专案04 - Facebook爬虫 (D20~D21)

这是我们第一次遇到动态网页,使用Selenium这个套件,让浏览器自动化模拟使用者的行为,像是输入帐密、点击按钮、滚轮下滑等等。除了爬取贴文的文章外,还补充了下载图片的教学哦~

专案05 - KKBOX风云榜 (D22~D23)

KKBOX风云榜也是动态网站,但我们不使用Selenium,因为这个网站是使用名为AJAX的技术动态载入资料的,所以我们直接透过API来取得资料就好了!

专案06 - 股市趋势图 (D24~D26)

我们呼叫台湾证券交易所的API取得股市资料,但因为有次数限制,所以先将资料整理成Pandas的DataFrame型态,再存成.csv档。绘制趋势图前再汇入预先存好的股市资料,然後用两种工具绘制趋势图 - MatplotlibPandas

专案07 - 天气小助理 (D27~D29)

在小明的故事中,我们帮他写了一个天气小助理,从气象资料API取得今日的天气状况,并透过LINE Notify传送讯息给他,最後一天,我们将这个专案部署到Heroku云端平台,并使用Heroku Scheduler这个工具每天固定早上六点执行程序!

完赛心得

2021 IT铁人赛30天完赛!!! ??

想报名铁人赛的理由,其实是因为去年看到学长参加铁人赛的文章後,觉得这个活动很有意义,於是参加铁人赛成为我这一年的目标之一,因为我当时还很菜什麽都不会,所以我一直在思考我可以写些什麽,同时一直在学习新东西。一年过去了,现在我完成了IT铁人赛,不仅达成了我的目标,同时也见证了这一年的努力没有白费!

我在开赛前其实就做了相当多的准备,大约开赛一个月前决定铁人赛的主题,前两个礼拜思考专案内容和验证是否可行,前一个礼拜就开始写文章。铁人赛过程中也有经历了一些状况:像是开赛没多久我就去打疫苗了,打完後的第二天非常不舒服,但还是勉强起来完成发文。在写Python基本介绍那部分时,发现有好多东西想写,因此有压缩到後面的内容,不知道有没有人发现实际的时程跟第一天规划的不一样呢ww。

顺带一提,发文已经成为我每天早上固定的习惯了,搞不好明天早上还会忘记已经完赛还爬起来发文呢?

开赛後,我最常被人问的问题是:「干嘛参加铁人赛? 写文章感觉很浪费时间ㄟ。」的确,或许是因为我对自己的标准比较高,经常要烦恼该怎麽写才会让读者比较好懂,每天大概要花一个早上写文章。还有其实我本来没打算写这麽多的,但後来不小心就越写越多,你如果仔细去看每一篇文章,都有3000左右个字哦(有的甚有5000个字!),你想,3000个字*30天 = 90000个字,还不包括专题程序码,说不辛苦肯定是骗人的。

但是,我不认为这是浪费时间。我很认同我的老师讲过的一句话:「当你能够教会别人一项技术时,才算真正学会这项技术。」我在铁人赛的过程中确切地体认到这件事,我原本以为我对爬虫已经很精通了,没想到要写文章时,才发现有些观念自己并不是那麽熟悉,甚至有些观念原本都搞错了! 正是因为要教会别人,才会去厘清自己的观念,也才会发现错误所在。如果只是会写程序的人是做不到这一点的。

还有一个原因,其实我很多技术也是看过去IT铁人赛其他人写的文章学的(包括爬虫也是)。如果过去那些人觉得浪费时间而不写的话,我也没机会看到这些文章了。正所谓「取之於社会,用之於社会」,不能只想从社群中获取好处,自己有能力时,就应该尽自己的能力回馈给社群,以延续良好的社群风气。

心得写的有点多,最後感谢IT邦帮忙举办IT铁人赛,感谢每个一同走过30天旅程的人,感谢每个看到最後的各位,我们有缘再见。

结束之後...

我想了解一下各位的学习状况和意见回馈,并用於改善未来的文章方向,只需要花2~3分钟即可完成,看完文章的人麻烦帮我填一下调查问券,感谢~

问券连结请点我

本系列文章以及范例程序码都同步更新在GitHub上。除此之外,这系列文章之後也会放在我的部落格上,喜欢的话也别忘了给我一个鼓励哦,你的支持是我创作最大的动力~

[2022/02/06更新] 寒假终於有时间将文章转移到部落格上了,抱歉让各位等那麽久QAQ

部落格连结

/images/emoticon/emoticon08.gif


<<:  用React刻自己的投资Dashboard Day20 - 首页功能切板

>>:  Spring Framework X Kotlin Day 30 Review

[Day2] 断词介绍

一. 为何需要断词 最主要的原因就是中文的最小一个单位就是一个词,通常不能直接喂一个句子给你的语言模...

Ruby on Rails Model 验证及回呼

资料验证(Validation) 回呼(Callback) 资料验证(Validation) 开发网...

Day4-"回圈"

回圈结构是高阶语言其中一项重要的发展,回圈事实上结合了低阶语言的部分功能,使得程序部分的叙述区块能够...

Day 12 : 如何正确使用 Zettelkasten 笔记法?了解 4 种笔记形式的功能,以利後续笔记连结

前言 还记得我在 Day03 介绍的《Zettelkasten卡片盒笔记法,建立知识连结网路来活用笔...

不容小觑的数据分析工具 - Excel:制作图表

当我们已经把资料整理好,且针对该次分析有结论和建议时,我们该怎麽将成果展现给主管和同事们呢?如果只是...