回首2018,时间如此之快;今年工作之余的学习也有较多收获,故予以总结,一来以便回顾查漏补缺,二来制定明年学习计划。
备注:本篇只总结业余时间的学习,工作相关的不便公开。
年度知识关键词
Clojure DNS协议 数据可视化 IoT数字电路 移动端开发 NAS 全栈 Postgresql 黎曼猜想
学习总结
clojure
学习使用clojure+clojurescript进行全栈开发,实现了单页面应用基本网站架构,和较为复杂的页面查询。完成了两个网页:工作的一些测试工具展示;自己的个人工具集网站。
使用clojurescript+react native编写app,计划做个手机APP来将照片加密上传存储在OSS或者S3,目前进度是完成了初步的页面,主要的加密、上传功能还没有开始做。
使用gloss库进行网络协议开发
为了获取单个域名CDN节点,想法是搜集全国的DNS服务器,然后向这些DNS服务发起查询请求,得到CDN节点。由于DNS协议比较奇葩,目前gloss库对这种可变头部决定后续内容,目前实现了构造数据包,对于响应包解析还存在问题,目前gloss库作者已经不再维护,后续有时间可以再研究下这个问题。
clojure luminus非常好用, 可以直接生成一个包含各个组件的应用。
书写自己的工具时使用了postgresql,发现其非常好用,不仅和mongodb一样,支持存储json格式,而且和mysql一样, 是关系型数据库。
管道数据流思想
https://github.com/linpengcheng/PurefunctionPipelineDataflow
使用该思想,可以方便的将代码结构简化,但是入门时还是总是会不自觉的将代码复杂度提高,需要不断练习、体会。
12306
使用chinaz工具获取CDN节点,学习使用clojure async批量请求,实现同时查询多个CDN节点功能。
IoT
IoT本年度主要思考智能家居方面,从去年的尝试模拟身份证ID,想着直接拆解室内终端,尝试监听电路信号,模拟重放开门信号;发现了数字分析仪,于是购买了Digilent OpenScope MZ,直接连接在线路上,没做任何保护,结果就是烧毁了。
后来又发现了物美价廉的DsLogic数字分析仪,于是入手一个,采集信号后,利用树莓派模拟发现信号电压不够,多试了几次发现树莓派也被烧毁了……
下图是DsLogic的监听数字信号的结果:
和同学聊天中知晓了些电路知识,发现自己这块还是空白,于是找了麻省理工的数字电路公开课,学习第一节就明显感觉牛逼学校教授知识确实很赞,从基本的电路知识,一层一层介绍了后续知识的拓展,描绘出了数字电路一层一层抽象发展出的计算机学科。
好用的工具
- Explainshell
好用的Linux命令参数解释工具,对于复杂命令可以拆解理解。
- graph-easy
生成ascii图形,相比较graphviz,可以方便生成ascii图形,对于利用github搭建的静态博客,图片存储很麻烦,所以写博客时使用ascii图形表达更加方便。
- outline
google的母公司出品,包装了ss,傻瓜式安装、配置、管理,多平台,非常方便。
https://www.getoutline.org/(需要梯子)
- Notion
用过的最好的笔记软件
Other
黎曼猜想
黎曼猜想被证明可谓是一大新闻。
业余买了两本相关书籍,大概了解了黎曼猜想讲了什么,但是其中很多概念不了解。
比如虚数,之前学习的时候记得规定i的平方是-1,但是为什么是这样的呢?当查阅资料了解更多时,就会发现数学发展与人类进步密切相关。
从最开始的正整数1、2、3……,到加入0后的自然数,再到负数,然后到有理数(3/5等),接着到无理数(根号2),已经到了实数域。
可以将复数看作为一种工具,它的引入是为了解决问题。那么为什么是引入这样的,而不是那样的?
关于复数的引入,可在网上找到很多文章
比如:http://www.ruanyifeng.com/blog/2012/09/imaginary_number.html
总结
2018年相比2017年学到的东西深入了一点,这一年业余主要写clojure,但是很多项目都比较零碎,目前正在做的就是一个自己工具,将零碎的小工具整合,主要实现web页面,方便使用管理。
工作上的事情也颇多,较为好的一点是做自己擅长且喜欢的工作了,心里压力小了很多;这也是利用业余时间能够学习更多的原因。
新的一年,继续整理自己工具,写clojure,折腾智能家居,顺便看看那些年不知道的所以然(数学为什么是这样的?),^_^
原文地址:https://www.cnblogs.com/rainmote/p/10306817.html