21天学编程小结
2019年4月30日,我注意到在英文、日文推特界,有人发起了#100DaysOfCode 活动,但中文推特界似乎不见动静。就决定身先士卒,在推特上每天发布学编程的消息。
5月1日第1天
- Git的历史 A Short History of Git
- 看了油管视频Jekyll and Sublime Text
- 写了给文科生看的Github和Markdown极简教程;
- 安装gollum wiki系统报错;
- 安装sublime text jekyll 折腾成功;还不算正式学code。
5月2日第2天
- 学习了编剧语言fountain,安装研究了sublime text 的编剧插件 fountainhead。
- 学习设置了googlegroups邮件列表。
- 注册了一个域名Movie.Camp,并实现了全站迁徙。
- 陪儿子去书店买了本《Scratch编程乐园》
5月3日第3天
- 今天发现宝藏,Python - 100天从新手到大师jackfrued/Python-100-Days: Python - 100天从新手到大师完全免费的py学习库,一口气学了两天的内容,亲手编了五个小程序,收获满满。
- 同时学会了git命令行,终于摆脱了git图形界面,并成功commit + push了博客,每天进步的错觉真好。
5月4日第4天
- 用时1.5小时,学习了条件分支语句:if, elif, else, 照猫画虎编了判断三角形边长和求面积的程序,个税计算器
- 另外买了斋藤康毅写的《深度学习入门》和李泽写的《scrach高手密码》。前者对我来说,后者对我儿子来说,都如同天书。但是不怕,怕是学习的大敌。
Goldengrape建议:python基础完成后,对于深度学习,推荐coursera上的(link: http://deeplearning.ai) deeplearning.ai开的课程,吴恩达讲得很好,课后练习也很不错。看完手把手教的课程,再翻翻参考书可能更简单方便
5月5日第5天
- 学习了循环语句for,while,照本宣科编了判断一个正整数是否是质数的小程序,用了sqrt优化算法。
- 还自学了《Python核心编程(第2版) 》前三章,发现Python的编程风格跟好莱坞剧本要求风格之间,有奇妙的关联。都是通过缩进来定义块,增强代码的可读性。收获满满,快乐萦怀。
5月6日第6天
- 今天主要是巩固练习,学者编写了「百钱白鸡」问题,「水仙花数」,「斐波那契数列」的Python程序。
- 同时在看《Scratch 高手密码》第二章,原来积木块编程游戏里蕴含的思路和算法,跟代码编程是一样的。
- 另:我儿子大字不识几个,对着书其吃垮差,做了一个球拍托球游戏,把我看呆了。
5月7日第7天
今天的内容超级难,讲的是函数和模块的使用,基本上没弄明白,例子也没有抄,因为看不懂。不过好歹也算学了编程,故而打卡一次。
5月8日第8天
空缺一天。
Goldengrape建议:建议慢一点,多看几遍,等几天缓缓,或者做些相似的小练习。但是不要跳过内容,字符串和常用数据结构在后续很常用,不是“看看就好”的东西。我觉得python学习/或者其他计算机语言学习,最困难的部分就是停下,然后忘了,然后放弃,一段时间后再重来,尽量要保持有小练习练手。
消极姐说:
我对数据结构有非常美好的回忆。我真正开始理解编程就是在贵系
蹭的数据结构课。老师没打开过教材,上课就一个编辑器,从头写
一个类,一边讲一边往里面添方法。讲完编译,测试,通过,正好
下课。我期末要熬图根本没工夫复习的,但是这门课学的东西一点
都没忘。#老师的名字已经不记得了但有头发
5月9日第9天
学习遭遇陡峭曲线,得到了各界朋友的勉励,只有熬过去,才能学得会,否则年年学,年年放弃。今天继续复习函数,并且编了走马灯的Python小函数,运行起来了,虽然一脸懵圈。
5月10日第10天
今天学习了「面向对象编程基础」,并且敲代码定义一个类描述数字时钟。面向对象的编程我学过一点c++,从概念上并不陌生。代码有些看不懂的地方,也就没有深究。学习编程对我最大的帮助就是,降低了技术痛苦的耐受度。以前能忍忍就过去的,现在坚决不忍,一定要整明白。
5月11日第11天
今天如果再按照教程往下走,就是进阶版的面向对象编程了,自己知道几斤几两,就返回去学习巩固函数,确保代码都是手敲上去的,而不是copy & paste,用函数的方法求阶乘,测试了半天没通过,原来是缩行对齐出现了问题。快不是目的,比浮云慢也无所谓,关键是找到学习的乐趣。
5月12日第12天
今天开始学习我梦寐以求的正则表达式,对于主要从事文本处理的我来说,这才是我最需要的。根据一个《30分钟掌握正则表达式》的教程,已经能够完成很多基本功能,我用这个办法,把《圣经》中的“第x章”和阿拉伯数字“节号”查找出来,替换掉。同时做了《硬办法学python》前4课练习。
5月13日第13天
练习正则表达式在python中的应用,写了检验用户名和qq号输入是否合法的代码。
5月14日第14天
- 今天python继续练习正则表达式,写了三个小程序:手机号搜集、骂人话变星号、诗词分句。
- 今天开始学习Julia,安裝了Pkg.Plots,并用它来学习微积分,优雅而美妙的体验。Calculus with Julia
5月15日第15天
今天开始学习网络编程,用python发送邮件,折腾了6个小时才发送成功。原来,python里要求输入邮件的password,不是主password,而是为app而生成的专用密码。更搞笑的是,我一开始把程序叫做(link: http://email.py) email.py,结果所有的邮件发送都报错,一查才知道,这是个禁用文件名。
5月16日第16天
今天是忙碌而有意义的一天。首先是跟Jekyll奋斗,用了next主题模版进行修改,遇到各种问题,在Sublime Text上用正则表达式全站修改文本。接着发现了建站神器MKdocs,用它做成了自己梦想的静态网站:GC4.camp
5月17日第17天
继续研究建站神器MKdocs,更换了模版,完善我梦想中的静态网站,内容丰盈,欣欣向荣,见风长三尺。
5月18日第18天
- 今天研究了python静态网站建站神器pelican,既能本地独立建站,也能放到github上,同时学会了换主题。
- 另外,mkdocs的模版都玩了一遍,顺手给自己的编剧故事营改了版。
5月19日第19天
- 跟co-founder一起聊了一个项目,7:57分商量域名,8:26分网站上线,这在以前是不可想象的,今天都以成为现实,因为技术的复用性实在太强了。MkDocs是很好用的python静态网站建站利器之一,很多方面,比pelican更好用。
Goldengrape建议:静态建站还可以考虑nikola (link: https://getnikola.com/) getnikola.com 我比较喜欢它能够很好支持jupyter,这样可以直接把代码写好了当作blog发布出来。 跟github page的结合也不错。 跟mkdocs类似的有一个gollum wiki (link: https://github.com/gollum/gollum) github.com/gollum/gollum 用markdown方式写wiki,可以发布在github wiki上
5月20日第20天
今天按照 @goldengrape 博客中的指引,安装了gollum wiki系统,过程并不顺利,好不容易调试成功,发现不支持中文。又安装了rugged_addapter但是怎么也运行不起来。我就从xcode command line一路从头再安装了一遍,终于一个个wiki系统建成了。我正用它来作为编剧分析。
5月21日第21天
今天研究了静态页面生成系统Hugo,并且已经测试成功,于是有了大家看到的这个站。
21天小结
21天时间,不长也不短。我每天花在学编程的时间,从最初的每天1.5小时,发展到后来的4个小时以上。虽然至今还没有独立编出过什么程序,但是在应用方面有了长足的进步,表现在:
- 熟练使用git command line
- 使用Github已经快速而习惯,并且已经进阶到可以使用wiki的地步。
- 掌握了建立静态页面的多种利器,包括:
- Jekyll
- Hugo
- MkDocs
- Pelican
- Gullom wiki
- 培养了发现问题,解决问题的能力,多少个夜晚,在google中寻找一个个疑难杂症的答案,一个办法一个办法尝试,失败了就去睡一觉,醒来继续试。这种精神正是一个coder和hacker必须具备的基本素质。
- 建设并且改版了自己的好几个网站,并且准备对自己的博客进行一次技术改造。
- 影响了儿子,在我的带动下,他现在睡前读物都变成了《scratch高手密码》,每天变量,循环,语句挂在嘴边。言传身教是给孩子最好的礼物吧。
总之,在贸易战来临、风雨飘摇之际,能够学一门技术,将来黑市上换粮票也能比别人多一点吧。这就是学习的意义。
©️ All rights reserved. 📧 [email protected]