不解之缘:不能分开的缘分,指难以解除的密切关系。
虽然在计算机方面多有涉猎,但是我纯属是业余的,我学的能源与动力工程和材料物理与化学专业和计算机关联也不大。也可能是小小的缘分吧,在计算机应用领域摸爬滚打了六年左右,这个过程概括来说就是:痛并快乐着。为什么会痛呢?因为软件需要开发学习的知识量大,从基本的编程语言,到学习使用开发工具和自主设计开发是一个漫长积累的过程,也就是所说的入门门槛过高,如果意志不坚定、学习兴趣不高或者学习方式不对的话,很容易中途放弃。而我从开始做软件开发(主要是移动APP)以来也是不断尝试受打击再不断尝试的一个过程。为什么又说快乐呢?因为在学习的过程中也会出现一些惊喜,比如一些高大上控件的使用和一些绚丽多彩的特效画面,而且当看到自己编的程序和做的软件成功运行的时候也会感到一定成就感。而且有了Android这个自学经历的经验教训,后面自学其他Php,Mysql,JavaScript,C++,Python,html,css,小程序等各种编程语言都非常快触类旁通基本一看就会。
大一的话其实学到了一些C语言(2015.9~2016.3)和VB的基础(2016.3~2016.7),按部就班考了个二级C语言91分优秀证书,也没有想过做过软件开发,不过编程语言还是有很有相通达之处的,对我后来学习理解Java起到了一定帮助。
大二上学期2016年10月认识冷老师接触到了公众号,也只是借助一些第三方平台做了简单的开发,还没有真正用到编程语言,后来这个公众号用来辅助教学用于发布一些实验课件之类的,这个也是一个团体做的后来是集体写了篇文章报了次挑战杯不过没进省赛,后来这篇文章就投期刊了,修修补补一年多2018年1月份才见刊。
大二寒假(2017.1~2017.2)借了同学个电脑在家扯了根网线(新装500元办了1个月)开始入门android开发,当时也不知道真正为什么要学,就是感觉软件能够运行到手机上挺高大上的。当时好像也查了些学习方法之类不过太杂看的团团晕,一开始好像我想要直接入门android开发软件结果碰壁了一星期,就转向基本的编程语言Java的学习了,Java是在慕课网上看的Java入门一二三季学的,学习了Java基本知识和Eclipse IDEA的使用(图2,现在除了android开发中用到一些基本东西外其他的都忘光了,但为我后面(2018.4)临时抱佛脚获得蓝桥杯大赛三等奖奠定了基础),边看边敲代码学学了两个星期吧,学会了一些比较基本的东西就转向android开发了。
Android也是先看的慕课网上的视频,学到了一些基础知识但是理解的不是很透彻,后来转向看MARS老师录的免费开放视频了,讲的比较详细也跟着进行了实战演练(大概用了一个多月基本实践掌握了android基本控件的用法),不过遗憾的该教程是使用的是谷歌已停止的维护的Eclipse+ADT开发的,而我安装用的谷歌14年新推出的Android Studio开发工具,中间存在很多冲突。
大二下学期(2017.3)开学不久我就买了一台配置还可以的Dell电脑,熬了一晚利用刚学的基本控件和公式编程做了一个简单的霍尔效应实验数据计算处理的APP(输入相应刻度下测量的4个负效应下的电压就可以算出霍尔电压和磁感应强度),如图3所示。除了MARS老师的视频,还看了学堂在线的入门级Android课程“智能设备应用开发(基于Android平台)”并完成了相关的作业,如图4所示。
在入门Android开发之后想进一步提升Android开发实战水平,于是跟冷老师说可以尝试立项大创做移动实验平台的开发,为此还特地做了调查问卷,最终被立项为经费1万元的省级大创项目[1]。在2017.3~2018.6做这个项目期间,我购买了“Android通用框架设计与完整电商App开发”等课程更加深入系统地学习Android开发,学习了搭建框架快速开发的编程思想实现Android开发一个质的飞跃(为我能够自信地后面接单失物招领等APP的定做奠定了基础),并总结了一套Android通用开发笔记和高性能安卓开发框架源码,如图5所示。
除了省创项目好像就是业余零零星星看一些博客学习了,期间还有些小插曲就是第一次尝试在流体力学专业课上计算沿程阻力系数、在工程热力学课程做公式助记APP,在机械设计课程上做减速器自动计算APP,并在研讨课上进行了APP展示如图6、7、8所示,不过遗憾是一些复杂的如科尔布鲁克公式不知道用什么算法近似求解。
大二暑假留校这段时间(2017.7~2017.8)备案注册了域名,搭建了cents 6.8系统的阿里云主机的wdcp控制面板使linux主机更加易于操作,搭建了FTP服务器用于上传视频课件等资源到网站并通过url在APP客户端访问。此外就是在阿里云大学里学习尝试实践,搭建了一个自己的wordpress博客cyj.yunjunet.cn已运行4年多,如图9所示。
再后来到了大三上学期(2018.3),在阿里云大学上对暑假学习成果考试认证检测了一下,考试的还是比较基础的知识点所以较容易通过了,而且好像除了自我检测外也没有其它的用处(后来参加夏令营起到了加分项),如图10所示。 随后考前两天临时抱佛脚考了个计算机三级网络技术合格证书[2],如图11所示。紧接着2018.4.1又临时抱佛脚参加了第九届蓝桥杯大赛获得个省三等奖证书[3],如图12所示。
再后来(2018.7)就是总结上述的编程开发的经历参加北大新材料学院夏令营的故事了[4],很高兴能够得到潘院长的认可准许我加入材料计算团队,不过因为意外没去成。
后续就是大四和研究生期间的WEB前后端,小程序及Php,Mysql,JavaScript,C++,Python,html,css等编程语言的自学实践经历了,请等待后续分享。未完待续。。。
参考文献
[1][省级大创项目]教育类APP的探索和实践——大学物理实验助手APP开发
https://blog.csdn.net/qq_39154376/article/details/122495397
[2]记计算机三级考试经历(附题库)
https://www.zhihu.com/question/22852816/answer/750904310
[3][蓝桥小记]蓝桥杯参赛经历分享_CYJ-CSDN博客
https://blog.csdn.net/qq_39154376/article/details/115364331
[4]获得北大新材料学院夏令营offer的艰难历程(附面试答辩PPT)
https://zhuanlan.zhihu.com/p/73286402