11月底写年终小结有点早,毕竟还有一个月,让今年的成绩更好一些。
去年年底转职,之前所做的python,以及docker熟悉了一半。不过转职之后,原先做的一部分AI(具体包括了数据挖掘,数据抓取,和深度学习的几个框架tensorflow, MXnet等)被搁置在一边,今年主要在虚拟币和区块链领域学习。
技术:
1)亚马逊云的使用
1.1)EC2 instance的创建,扩容,用户管理,针对资源的管理,RSA密钥的发行,导入,安全群的设置(基本级别),instance的I/O port设置,亚马逊domain 的获取,管理,,Google邮件转发配置,多个domain名的配置等。
镜像img的创建,通过镜像复制创建instance.
instance 的终止,数据卷的清理等。
1.2)RDS instance的创建、升级,用户密钥创建,通过Command CLI和UI CLI(workbench)客户端的连接和数据库资源查询等
1.3)S3 bucket的使用,数据共享等。
2)wordPress上对于网站参数的配置修改等(此处只是接了同事的一些事情,做了一些troubleshooting和一些后期维护)IP地址的隐藏等
3)前端:
Nginx服务器的一些配置
npm, yarm 等package管理软件的使用
前端开发中,bootstrap和H5的一些使用技巧,node.js的基本功能。最近正在熟悉的是react.js, 以及常用的工具链之一next.js等。
使用RPC-JSON 进行数据的传送,JSON的提取(目前还在研究JSON在React下的应用)
4)后端:
C++把STL全部回顾了一遍,尤其是对于vector, map, list, array 等,还有是一些安全自动指针的作用有了比较深的体会。boost 是最近在新学习的,boost是STL的升级版,使用上更加安全简单,而除了对于模板、泛型编程的使用之外,还有对于自动指针和network, socket这部分的功能也比传统的方式更加有效。
5)对于CMake的使用,CMake比起Makefile,要更加自动化,自动生成Makefile,并且可以分段编写CMake 文件,然后后期合成。CMake中还有一些环境参数的配置,相对可以统合起来,而无需每次去自己配置环境,总之,CMake的方式使得在跨平台的环境下的部署变得简便起来。
但无论CMake还是Makefile,一直无法跳过的是正则表示,这部分以前偷懒太多,没有吃透,今后再继续努力。
git 的使用,基本用法知道,但有一些使用技巧,以后再加强。
g++和gcc, 现在g++在C++14之后(目前版本是到了18?)使用普遍,其区别暂时没有看出来。只是在现在的C++版本,编译工具都是g++而已。
ps:EOS的核心代码又封装了,成为eosiocpp。
区块链相关
6)Ethereum上ERC-20的发行,solidity的基本语法等,下载Geth钱包,同步了以太坊的数据,体验了一下以太坊。关于ICO发行中相关的一些参数控制,以及各种区块链框架,共识机制的了解。对于ICO的整个商业运营流程也经历了并了解。(不过以太坊的其他技术,例如钱包开发尚没有时间去了解)
7)矿机技术的了解;关于ASIC的纳米技术,关键技术指标Hashrate等参数的计算,对于芯片的tape out的整个流程的了解,GPU矿机的算法,矿池的算法和连接方式等等。
8)仔细阅读了《mastering bitcoin》的中文版,最近鉴于BCH的分叉大战,又开始重新阅读英文原版,发现确实如同Craig S. Wright 所说,很多属性设计很好。之前的中文版把基本的BITCOIN的基本元素和设计都解释得很清楚,算是一个对虚拟币的真正入门。
9)EOS的代码分析和解读,其中对于EOS的虚拟机、区块生成,区块验证,RAM算法,钱包和账户,在自己本地机器上搭建了EOS的实验环境,发行EOS平台的币,写了一个简单的DApp,将EOS的基本属性过了一遍,但对于所有代码的解读还在继续中。
英文:
10)英文最大的突破是每天上下班听bloomberg,现在听力基本上可以直接在Youtube上听各种技术讲座,新闻没有什么压力,也有听不懂的,不过通过上下文理解没有大的出入。
阅读方面以前基本还是局限于一些英文新闻和短文,现在所有的技术文章都直接读英文,这种一手资料让我获益匪浅。BCH分叉大战中我花了两三天时间(业余时间)将CSW的要点看了一遍,抓住要点,之前群里对于ABC和BSV的讨论我并没有时间去看,但仅仅很短时间基本上对两派争论焦点和技术侧重点都很清楚。
目前对于英文新闻,技术讲座,包括各种经济文章都直接砍原文,这样是捷径中的捷径,尤其是技术书类,有条件的就不要去看翻译的书,看起来很快,其实一些感觉不到的误差会一点点毁掉对精髓的理解。英文可能是程序员的基本素养,我想。
日文的技术文章我现在也不看。
其他:
古诗习作练习
一些报道文章,对于日本社会的多角度考察,对于社会有一个比较成熟的思考。
关于明年
明年继续讲js 相关的前端技术搞精通,毕竟现在只是刚刚开始,前端技术需要多实践,才能体会,而前端的实用性也很强。
C++要变成大牛,这个是所有技术的中心,对技术的理解也会彻底改变。
python我觉得有点类似于以前的Fortran等科学计算类开发语言,主要是它的算法包比较牛,而编程技术却不见特别翻花样,。不过python做爬虫是必须掌握的,之前还是做了一半就停了。
Ruby,Golang都需要熟悉一下,这些语言其实scale不大,至少需要能读懂,Ruby根据需要,如果要拓展精通就到时候再精通
更重要的是手机开发这部分,object-c, swift, 以及angular这些都是必备的,不过这个要看时间安排。
java 可以复习一下,配合js 前端技术一起弄掉。
AWS要系统搞清楚,比较有用。
对于一些unix 下的工具要继续搞熟悉一些,之前的BSD LINUX如果有时间就弄掉算了,好像很早就想看,居然没时间看。正则表达式也是如此。
对于编程的一些架构设计,之前看只是一些空话,但可以配合编程去弄一下。