2020-04
2

学习思路

By xrspook @ 10:39:47 归类于: 烂日记

昨天因为网速不好,所以晚上我开始看某本叫做Think Python的书。那本书有免费的电子版,但是也已经被O’ Reilly出版了.如果在亚马逊上买,需要接近20美金。为什么明明不用钱就能看电子版的书要给钱呢?其实在看这本书之前,我已经见过非常多O’ Reilly的书了。我感觉他们出的书都是某个体系里面的大头,不是一般的有名,但是好不好学又是另外一回事。我还记得大四的时候,晚上我要在实验室里独自通宵度过生死时速33,那时我带了一本O’ Reilly的犀牛过去看(学校图书馆借的)。那本是JavaScript的书是中文版的,但看得我太郁闷了,因为翻译的简直牛头不对马嘴,感觉根本不是人肉翻译的。又过了好多年我才看到评论叫大家千万不要买那本犀牛!JavaScript这个东西可以这么说,我完全没学好。甚至可以说不知道自己学了些什么。之所以大四的时候要学习JavaScript,是因为我想做某些网页特效。一般的网页用HTML跟CSS就可以了,但是一些炫酷的东西就必须掌握JavaScript,这包括一些动画效果。现在大不一样了,绝大多数浏览器都已经兼容了HTML5,所以一些对从前来说需要一大段话的东西现在两句话就搞定了。以前我总在BlogBus的网页里放不少JavaScript,有可能是网站统计的,也有可能是某些特效的,但当我开始用WordPress以后,我很少用那个东西了,我尽量地让网页上的JavaScript瘦身到极点,但是还是会有些东西是我控制不了的。比如说WordPress自带的,虽然我没有写上去,但是后台会在生成我的网页的时候加不少东西,我一点办法都没有。除非我的后台不用WordPress,我才能做到我想要的那种纯净,但显然现在我没有那么强大。或许某一天我把整个网站静态下来了,我就可以这么干了。

回到Think Python这本书。第一章的一开头,他们就说到了计算机科学家。之前我好像没听说过这种说法。他们是这样给计算机科学家定义的:

计算机科学家像数学家一样,使用规范的语言来阐述思想(尤其是一些计算);像工程师一样设计、组装系统,并且在多重选择中寻找最优解;像自然科学家一样观察复杂系统的行为模式,建立猜想,测试预估的结果。计算机科学家唯一最重要的技能就是『解决问题』。解决问题意味着要有能力把问题进行方程化,创造性地考虑解决思路,并且清晰又精确地表达出解决方案。

所以他们必备清晰的思路。以及非常有条理的逻辑。把大问题拆分为小问题,然后逐个击破。我已经活了34年多,看到计算机科学家这个定义以后,我才发现原来自己就是这种人。还记得从前大学的时候,专业课老师给我们解释过科学与技术到底是什么东西。科学就是研究一些比较抽象的概念。而技术是解决一些实际的问题。我属于那种二者兼有之的类型,一方面我对未知的世界充满好奇心,但另一方面,在解决具体问题的时候我会非常带劲。工作了10年有余以后,我觉得其实科学与技术这两种东西并不是从前老师定义上的那么黑白分明。科学你要深入进去,你就必须用技术探索,而技术之所以存在,就是为了要解决一些人类未知,但又很想知道的东西。

我不知道其他人学习编程是为了什么,但我知道,我学习编程是因为我想实现一些我想做到的事。此刻,我只是想做到一些我想做到的,或许在以后,我会把这变成是别人很希望我能帮他们做到的。

2020-03
31

如果可以再选一次编程初恋

By xrspook @ 8:59:02 归类于: 烂日记

编程是什么,我也不知道,但显然对我的很多同学而言,那是一个别人给你的任务,要你去实现它。那就像是一次测验或者一次考试,把那东西拿下,他们就会有成就感,或者那根本谈不上成就感,完全是因为那跟成绩挂钩,那跟学分挂钩。任何东西和那扯上关系,他们都会觉的有满满的肾上腺素。他们不是为自己而变成。情况就像那些沉迷于游戏的人。当然我之所以这么说,大概因为我不玩游戏,我是一个游戏渣,所以我才会有这样的看法。当我的同学花很多时间听歌、看电影、看电视、看综艺的时候,我花了很多时间在我的blog上,有可能是回忆某天我干了些什么,有什么感悟,也有可能我正在改进blog的。有可能是版面装修,也有可能是某篇日志里某个图片的PS。现在回想起来,那真挺神奇的,为什么我每天都可以为自己的日志配张图呢?现在我已经不记得是不是每篇日志都这么干了,但的确很多日志我都用心地配了图。有些简单一点,直接是照了个相,然后处理一下,修改一下大小也就可以了,顶多是加个滤镜什么的,但更多的那些是集合了好些操作的。

相比于PS,我更喜欢写代码。但实际上,当时我接触的代码不过是CSS而已。网站的基本结构很简单,因为高深的东西已经被BlogBus封装起来了,所以我能操作的不过是最基础的HTML代码。以及可以随意让我修改的CSS。当时我可以修改CSS,但我不可以随意增加或者减少CSS的起效位点。有些东西他们没有把控制权放出来,所以某些部位我是没办法通过CSS控制的。当时,甚至可以这么说,我没有接触到真正的编程。因为什么判断循环都是不存在的,又或者格式输出也是不存在的。更加不用说什么变量参数之类的东西。

为什么我大二的时候会对C语言那么着迷呢?我真的不知道。如果还可以选的话,我会主动选择C语言吗?当时的我根本不知道居然有那么多编程语言。直到后来,我终于见识到了各种各样了强大的东西,比如说昨天我上的那节课,说Python居然不需要用大括号把语句框起来,只通过缩进就能判断,那是同一个层级的。这简直把我脑子里的编程语言给颠覆了!如果那是在其它语言,无论是C还是PHP,又或者是其他东西。根本不可能运行成功,但Python通过4个空格的缩进就实现了。于是我不得不问一句,为什么我们当年要学习C而不学Python呢?当我用过VSCode以后,我觉得debug的过程很爽快,写代码也很轻松,因为你写好一半,另外一半就蹦出来了。前面你对某个东西定义了,后面当你打出一点点,余下的东西你可以通下拉把它选出来。当你写出判断之类的东西,回车后自动缩进是自然而然的事。代码写出来以后,不同类型的东西有不同的颜色,一眼就看得出来。正在写或者保存以后,如果某个地方出现了红色波浪线,意味着那里通常出状况了,有可能是静态的语法判断把你冤枉了,但对我来说,通常那都是我的粗心大意。如果当年学习C语言的时候也有这么多帮助,大概我们就不会在语法和格式上面纠结半天。实际上,我们的脑子应该用在天马行空上,而不是死在那些花括号对碰上,不是吗?当年,我可是用txt记事本写C语言的。更多时候,我身边没有电脑,我是拿草稿纸写的。的确,这样白手起家锻炼了我,但我觉得,用VSCode写代码,才会让我真正感受到写码的快乐。

34岁才开始和Python交朋友,我觉得这还不算太迟。

2020-03
28

为什么要睡弹簧床垫?

By xrspook @ 19:33:21 归类于: 烂日记

昨天晚上我很早就睡了,8点多开始看电影,那是一部韩国电影,名叫《新世界》。大概是两个星期以前我已经看了大半,剩下的那些直到昨晚才看完,因为前半部分看得我挺郁闷,没什么看下去的欲望,所以也就把那忘了,但是我的忘记又不完全是忘掉它的存在,因为我还知道自己没看完,但是当我有其他想法的时候,这部电影的优先级永远是最低的。一边看电影,我就一边觉得好困,看完以后,我就躺到了我妈的床上,几乎秒睡,但是在10点之前我又醒了,因为那个时候我爸该去睡觉了,于是我迷迷糊糊地溜回自己的房间睡觉。回自己房间睡觉,躺下了以后,我又觉得自己的睡意没那么浓了,而且总觉得有蚊子咬,做好了防蚊措施以后,很快我就睡着了。所以准确来说,我从昨天晚上9点多,一觉睡到今天早上9点多。感觉好久都没试过这么早睡觉。睡了接近12个小时以后,我觉得起来的时候腰都酸痛。

我总觉得这是因为床垫,所以很早以前,我就想过要把床垫换掉,哪怕叫我睡木板,我也愿意。现在睡的床垫也是历史悠久,我在这个屋子住了这么久,就用了这么久,11年了!虽然相比于单位的床垫,这张床垫的质量实在好太多。单位的那张床垫,只用了两年不到,但是当我踩在上面的时候,床垫的某些部位我已经感觉到一个一个的弹簧,可想而知那个面板有多么的薄。或者不是那个面板薄,而是里面的那些材料受到挤压以后就不能回弹回去了。对女的来说,我的体重不算轻,但是,把男的也算进去以后,我算是一个比较轻的存在,真不知道那些体重大的男同事睡在床垫上面是一个什么感觉。当然我说的是踩在上面,踩在上面受力面积小,压强必然大,躺在上面,肯定又是另外一种感觉。可以肯定的是,我家的床垫无论是踩在上面还是躺在上面都不会感受到一个个弹簧。

小时候,家里没有弹簧床垫这种东西,从来都是睡在木板床上。冬天就在上面铺一个褥子。那个褥子也不是专门的东西,而是旧的棉被。一直以来都这样。大学的时候,我依然这样。我的大学同学用的可能是买回来的薄床垫,但我用的依然是旧棉被。我觉得这样挺好的,睡硬床板,对身体好。起码我睡硬床板的时候,就从来没试过长时间睡觉后感觉浑身痛。所以如果有机会的话,我会换掉家里的床垫。我家床垫下有一块夹板,或许那个时候我会直接睡在上面,又或者在上面垫一张很薄的床垫。真不知道为什么会有默认睡床垫的这个习惯。这个肯定是外国带进来的,但为什么非得这样呢?

在经历过这一次新冠之后,我会重新审视生活中的很多东西。从前我一直觉得外国的都比较高端、现代、合理。但现在,我觉得其实他们也有很多陋习,那些陋习流淌在他们的血脉之中,是他们生活的一部分。作为一个外国人我看得很明白,但是他们自己却完全不觉得这些是问题。我们不进行拿来主义,选择照单全收的话,肯定会出状况。

2020-03
25

框架在变

By xrspook @ 8:49:39 归类于: 烂日记

今天我突然觉得很崇拜我自己,为什么可以这么神,能做到自己想做到的事情,哪怕在那之前我完全不懂。我不知道这种自学能力是不是与生俱来的,还是一直以来的教育让我具备了这种能力且越发强大。对别人来说,我或许是一个每样事情都蜻蜓点水,没有深入进去的人,因为我的兴趣,真的变得好快,快到有时连我自己都措手不及。我尽量改正自己这个坏习惯。把一件事坚持不懈做下去效果会非常惊人。我觉得我的blog让我学会了坚持。只要做就好了,一开始的时候,我对自己的blog没有内容或者字数上的限制。所以一开始那几天我贴了不少图。因为当时用的是可视化编辑器,所以我完全没有想过这种事往后会让我的网页崩溃,因为自动带入了一些前端看某些情况下看不到实际又存在的东西。以前没有意识到,现在打开那些东西的时候,我自己都吓呆了。

从前之所以没有毛病,大概因为当时网页框架用的是table,但现在table这种东西几乎可以说已经极少用到了,起码对我来说是这样的,一整个网站写下来,我一句table都没用,但是用框架定位是非常正常的思路,尤其当从前的网页是用可视化编辑器整出来的时候,那样的话就保证了像我这样随便贴的人正文也不出错。我用过Frontpage,也用过Dreamweaver,但是Dreamweaver我用得很少,虽然我买过了相关纸质教程。Frontpage再怎么少,我也用那个做过一个大学选修课的作业。大概因为我交了个网页,有诚意,所以老师给了我个不错的分数。现在再去想从前的table会觉得,那太死板了。

跟从前比起来,现在看同一个网页,显示器的类型非常多。可能是用PC看,也可能也可能是用MAC看,绝大多数可能是在智能终端上看。不同手机的分辨率不一样,再加上各种型号牌子的平板,那就更加没办法算清。即便是PC的显示器,大小差异也很大。老掉牙的17寸以下仍然大有人在,也有人用的显示器堪比别人家的电视机。而且那种还真不像我妈那样,把小米电视当做显示器,方便率极低,那种超大型的显示器如果你在做网页的时候,还得考虑适配宽度分辨率,那就真的太难了。以前的主流显示器,大概都有一个范围,占有率前5加起来,估计能占到所有显示器比例的70%以上。在那种情况之下固定框架可以给出具体参数,但现在显然不能这么想了。如果屏幕小的话,你可能在那里显示的栏目只能是一栏,而且尽量要做到,再小的屏幕(非极限测试)也能放得下一栏,而不需要用滑动条左右移动。判断出读者是屏幕大的,可能你整个网页会分出很多栏。当然,会有一些主要区域用来吸引眼光,就像你去门户网站,看到满屏的路人甲广告一样。前段时间我发现了个网友的网站,小屏的时候,版头跟主体是上下结构的。如果遇到宽屏或者分辨率大于一定数值的时候,版面是左右结构的。我觉得这样的配置就很好了,但我也知道,这样清爽的网页没办法解决我这个要求太多的人。因为我总想把我要展示的东西塞在网页里。或许在我下一次blog模板修改的时候,我会把版面兼容性放在一个很重要的位置,比如说必须得考虑。

越是研究,越会知道自己想要什么,要怎么做到。别人或许有很现成的办法,但我总喜欢自己去亲身经历一下。

2020-03
24

回忆那只让我恐惧的小海龟

By xrspook @ 9:25:43 归类于: 烂日记

我不是读计算机的,但因为我是一个工科学生,所以我的大学课程里面有程序设计,但是学的是最基础的C语言。我不知道C语言跟其它比起来到底怎样,虽然很基础,但是该有的东西也都有了。还记得小学时学的那个小海龟LOGO语言。那才是真的一个让我崩溃的东西,每次上电脑课我都会有心惊胆战的感觉,大概因为当时我们是小学三年级,英语之停留在口语的阶段。如果只是拼打字,我还可以凭借那张纯粹打印出来的键盘练习。因为大家家里都没有电脑,所以所有人也就那个样了。至今我不觉得自己的打字有多快,尤其是如果你要我打英文。中文之所以快,是因为输入法有一些模糊音的处理,估计如果我是一个外国人,英语的输入法也有模糊音处理。英语输入法的模糊音或许只是我不知道。

小学的时光现在回想起来,就像奇迹一样。没有键盘的我们是怎么练打字呢?那些需要按Shift键才出得来的大写字母到底是怎么练的?我已经不记得一开始我们练习打字用的是哪个软件,但我记得我用过TT。现在我的电脑里仍然有TT这个奇迹般的软件。小学电脑室里学生的的电脑没有鼠标。之所以上电脑课用LOGO语言的时候我很慌,因为我觉得自己根本没有完全搞懂,处于一个半懂不懂的状态。那个东西回家却不能找爸妈帮忙。除了上课那40分钟以外,就再没有上机的机会了。我没办法通过课外练习弥补我课堂上的困惑。又或者那个时候,如果我努力的钻研一下课本,我不会迷糊,但如果我有一个实操的电脑摸索,我一定会觉得那相当简单。小学上电脑课的时候都是两个同学一台电脑。我的同桌总觉得那个小海龟非常简单,于是老师讲课的时候,他总是在脑洞大开的各种探索,当时的电脑还没有中央控制全部这种高端的功能,所以老师根本不知道,学生在下面瞎搞。也大概因为这样,我的注意力就好在看他脑洞大开上面,因此忽略了老师。之所以同桌觉得那超简单,因为他家里有电脑。对我来说,小学的记忆中,电脑是个恐怖的存在。那门课对我来说比其它课程都要让我忐忑,但当时所有人都意识到,电脑将是未来需要掌握的基础技能,不懂电脑跟文盲没啥区别。

初中的时候,我家里终于有了电脑,那是一台别人淘汰的机子。虽然说是被淘汰的,但是没被淘汰之前,又或者新买回来的时候那东西很贵。小学时候,学校的机房学生用386,没有鼠标,只有老师的那台486才有鼠标,下课的时候我们会围看老师玩纸牌。所以当亲戚的那台旧电脑搬到我家的时候。我根本不知道如何用Windows系统。连怎么关机我都不会。鼠标单击双击左键右键是个迷之存在。虽然,亲戚的朋友把机装好以后,给我演示了一下要怎么操作,但实际上我只是迷迷糊糊似懂非懂,关个机费了九牛二虎之力。小学时的LOGO语言没学好,因为我没看书,家里也没电脑,当我家里有了电脑以后,我买了一些Windows操作系统的书,也看过一些Windows和Office类的教学光盘,于是,我终于不慌了。虽然那个DOS系统还是会让我莫名紧张,但看到Windows界面就会觉得安稳。

又过了好多年。电脑这东西几乎变成了老古董,现在大家用得最多的是各种智能设备。虽然样式在变化,但实际上最核心的东西仍然不变,无论是从前小学里我们用386的时候,还是现在的各种智能终端上的AI系统,核心的东西依然是编程算法。

冥冥之中,我总是要跟一些我早年害怕的东西打交道。大概战胜自己就是活着的意义。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress