我不是CS科班的学生,此次也并没有接触完整的、系统的网络编程开发。在题目中用“网络开发”显得有点大,但是我也很难用一个词概括我做了什么,就用这个词代替吧。

我做了什么

  1. 写了一个抠网页的脚本。我用python模拟访问电费查询网站,把电费数据抠了出来。
  2. 做了一个微信公众号的后端。在苏瑞辅大佬的指导下,使用php完成了一个微信公众号后端的开发,可实现调用python脚本以及自动转发微信回复至个人邮箱。

几点心得

CS大佬们就不要看了,我是讲给网络编程初学者以及非科班爱好者的[/滑稽]

1. 学会查找你想要的资料

这是我觉得最重要的能力,没有之一。一个人所能记住的知识是有限的,哪怕只去学一种语言,也不可能放肆地说自己“精通”。但是,网络是无限的。比如,某个不常用函数的定义,我们完全没有必要记住。只要能用好各类搜索引擎,快速准确地找到它,就够了。另外,我觉得,能够自己获取的信息,就尽量不要问别人,这是礼仪。

我从来没有接触过php,但是我经历了以下的步骤:

  1. 搜索“php快速入门”,花15分钟了解基本语法,例如,变量名前要加’$’
  2. 大佬给了我一个类库(此处向苏瑞辅致♂敬),我大体看了下语言结构
  3. 跟据自己的需求,在php官网查找相应函数调用方式
  4. Debug的时候遇到错误提示,Google一下,一般在StackOverflow上就能找到对应解决方案

所以,我可能根本没有入门php,但是我已经可以完成一些简单的后端操作了。

2. 英文水平很重要

这是接着第1点的。

毕竟,国内的计算机水平距离国际先进水平还有相当大的差距,汉化的资料总有不足。要想获取一手的开发资料,英文水平当然很重要。

3. 万物皆I/O

(此处再次向苏瑞辅致♂敬,就用原话了。)

这是一种思维方式,只可意会不可言传。

举些例子:

  1. 调用函数,都是按类型传参(Input),然后获取一个返回值(Output)
  2. 我们浏览网页,都是先使用HTTP GET或POST一个请求(Input),然后就可以看到服务器传回的网页(Output)
  3. 硬件开发中,假如我要使用一个频率-电压转换集成块,一定是输入一个频率(Input),然后获得一个电压值(Output)

4. 有一个大佬带着能让你避开很多坑

大佬一定是比你聪明的,或者比你起步早的,他能看到的,你不一定能看到。大佬也许会不停地嘲讽你,但是听着就好了,毕竟能学到东西,特别是能学到学习方法,这就够了。

当然,有一个能互相学习的大佬,那更是万幸。

此处又一次向苏瑞辅致♂敬。[/手动滑稽]

总结

好啦,没什么好总结的,这几天挺开心。