当前位置: 首页 > 编程日记 > 正文

My excellent 2018

又到一年年底时,除了感叹一句时间过得真快之外,也非常庆幸自己能够渡过了这精彩的一年。

工作

首先是工作上面的变化。自16年毕业以后就在招联消费金融有限公司上班,一直到今年的五月份。在招联的期间,有幸得到老大的赏识,也学到了非常多的东西,积累了不少项目经验,认识了许多优秀的人。为了见识一下更大的世界和谋求更高的薪水,经过慎重的决定之后来到了腾讯,好好感受一番国内顶级互联网公司的打法。

换了新的工作单位,也适应了新的工作节奏。身边的同事都是非常优秀的人才,从他们身上学会了很多之前不曾见识过的东西,这也是我入职以来最大的收获之一。能够和一群优秀的人共事,本身就是一件幸福的事情。

至于刚刚所说的工作节奏,这边的氛围我是觉得蛮OK的。没有奇怪的加班文化,也没有人会管你几点来几点走,只要能够在既定时间完成所需的工作即可,非常自由。所以在项目紧的时候,会合理地加一会班把事情做完;项目松的时候,我会在白天做需求,晚上继续学习感兴趣的东西提升自己,又或者是去健身,和朋友开个黑什么的。

让人觉得痛苦的地方也是有的,比如说参与维护一些内部的老系统。由于公司历史比较久,业务众多,人员的进出也相对频繁,所以很多老的系统会有一些谜一样的祖传代码,让人看了想掀桌。之前我是很抗拒维护老系统的,觉得这东西费时间费精力,代码也是罗里吧嗦的古代风格。后来看了一篇帖子,有一段话说得很好,大意如下:

在维护老系统的过程中,首先你会了解到当初为什么要这么做。也许一句看似啰嗦的代码,其实是考虑到了几个特殊的情况。接下来,你便可以在维护的过程中对系统进行深入的理解,然后总结一番,把缺失的文档补回来。当中的过程已经修炼了你阅读代码、撰写文档的能力。

学会在淤泥里面发现黄金,也是今年让我成长的觉悟之一。

学习

为了加入腾讯,也是经过了一番准备。在准备的过程中,好好巩固了一大堆基础知识,对以前模棱两可的知识点有了质的提升。由于自己一直有写博客的习惯,所以在知识的积累上,无论深度还是广度,都有值得肯定的地方。对于面试常见的知识点,在自己的博文中大多有所涉猎,为了把它们总结成文,这个过程更让我对于具体的知识点能够知其然且知其所以然。以此同时,写博客也能锻炼对于自己对于知识、经验的总结能力。于是在面试的过程中一点也不慌,和面试官的交流能够做到有来有回,非常愉快。

当然,在面试的过程中也暴露了我的一些缺点,尤其是对于计算机基础的掌握。非科班出身是永远的痛,但并不是局限我的理由。在明白自己的短板以后,便也有的放矢地补充所或缺的知识。

首先是Charles Petzold所著的《编码——隐匿在计算机软硬件背后的语言》。这本书抛开代码,从人类最开始对于信息传递、数学计算的需求开始讲述,描绘了计算机从一个个简单的概念,到最后复杂集成的历史。这本书让我深刻理解了计算机的工作原理,更宝贵的是隐藏在这些原理后面的设计哲学。

其次是过了一遍关于编译原理的课程,明白了一行代码是如何经过编译后被机器所执行的。关于编译原理其实早已听说,但是一直没有勇气去深入学习,觉得它太难且离我太远。回顾了自己所写的文章,发现基本上都是一些非常浅显的内容,也意味着自己掌握的也只是一些非常浅显的东西。既然如此,为什么就不敢去突破一下呢?

幸运地在YouTube上找到了中国科技大学华保健老师的《编译原理》课程,立马扎进去深入学习。我是属于那种靠实践才能真正掌握某一知识的人,所以在学习一段时间以后,做了个JS解释器,也总结成了一篇《前端与编译原理——用JS写一个JS解释器》,终于成为了我历史文章中第一篇真正有技术深度的文章,成就感满满。

在实现解析器的过程中,也对JS这门语言的本身有了更为深入的了解。对于作用域、闭包、垃圾回收等等的知识能够真正的掌握,而不是停留在背诵概念的阶段——因为我把它们都实现了一遍。

除了基础知识以外,由于工作的关系第一次深入接触到了游戏开发。曾几何时对游戏开发有着深深的恐惧,因为印象中对于一个看似简单的逻辑,在小游戏中的制作中也是复杂得很,而且还要考虑帧率、性能等等乱七八糟的东西。但是当我真正进入了解以后才发现,不管是web开发也好,游戏开发也好,本质来说也利用代码去实现逻辑而已,之不过实现的方式不同。想通了这一点就不再抗拒了,反而为即将到来的挑战多了跃跃欲试的期待。经过一个多月的努力,终于上线了第一个小游戏“膨胀大赛”,放在了手机QQ趣玩模块里面,接受所有手Q用户的检验。在开发的期间也引入了工程化的理念,把一些常用的游戏模块抽离出来,供他人使用。可惜由于业务调整,接下来要负责别的项目去了,反而有些不舍。

生活

年初的时候报了健身,同时体测显示肚子和屁股的赘肉超标。经过小半年的锻炼,身体指标恢复了正常;到了年尾的现在,健身已经成为了习惯,身体相比去年有了质的飞跃,至少很多衣服胸口的扣子已经扣不上了哈哈哈哈。

和女票来到了恋爱的第四个年头,两个人都在不断变得更好。生活中依然会有摩擦,但两个人都比以前更加宽容有耐心,不仅是恋人,更是无话不谈的好朋友。

今年的足迹也是比以往都要丰富。年初的时候去香港迪士尼跨年,感受了童话般的梦幻;在五月份的时候到了厦门,认真地文艺一番;九月份公司团建到了成都重庆,心里烙下了被辣椒支配的恐惧;国庆节跑到了台湾,体会了宝岛嗲嗲的风土人情。期间也有和老同学回广州打CS喝茶,到惠州按摩洗脚吃海鲜。每一次出游都非常开心,希望明年能够去更多的地方。

前段时间买了台Switch,一股脑把《荒野之息》打了个通关。可能由于这部作品太高了,导致别的游戏都没有心情玩下去,最后导致Switch在家里持续吃灰,好几个月没打开来玩过了。

在车队的强势carry与运气的加成之下,总算在《王者荣耀》的第13个赛季登上了王者段位,个中辛酸大家都懂。不知道明年会不会出PS5呢,如果出了一定要买一台回家镇宅。

来年的期待

对于工作,希望能够负责更多更重要的模块,认识更多的同事,积累更多经验,升个级。

对于学习,除了保持工作技能相关的持续学习以外,希望能够投入更多时间对于历史、心理、哲学能够有所涉猎,看更多的纸质书。

生活上,和女票继续好好的。去东北滑雪,带爸妈旅游,没事租个车出去兜圈儿。

希望在明年我生日的时候,能够送自己一个很漂亮的纹身,而前提是把肌肉练好看,基于这个目的,我会一直坚持撸铁健身的~~

跳舞是很好玩的东西,虽然今年都没有去studio学跳舞了,但在家里跟着音乐乱跳已经成为了习惯。又承包了今年年会的街舞表演,希望以后的年会都能够上台吧,因为真的很享受聚光灯下的感觉。

最重要的,还是身边的人都能够身体健康,事事顺利啦。

新年快乐~

Merry X'max~

相关文章:

POJ 2955 Brackets (区间DP)

题目链接:http://poj.org/problem?id2955 BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 1977 Accepted: 1012Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regul…

从芯片到AI智能芯片,一文了解它的前世今生

作者 | 元宵大师,Python高级工程师,致力于推动人工智能、大数据分析在金融量化交易领域中的应用。欢迎大家关注我的个人公众号《元宵大师带你用Python量化交易》。责编 | 胡巍巍来源 | CSDN(ID:CSDNnews)经过长期的发展…

Windows7下OpenGL简单使用举例

1、 从http://www.opengl.org/resources/libraries/glut/glut_downloads.php下载glut相关头文件和库glutdlls37beta.zip ,(默认的windows机子上并没有glut头文件及相应的库,它主要用来打开窗口、开发和管理菜单,以及管理事件等),…

Snagit9-12注册码

SnagIt 9 注册码: AM5SC-8LWML-MVMWU-DTLGE-ERMBE SnagIt 10 注册码: 5HCAK-DEGMZ-EYABA-M4LCC-ACBE2 DFKDA-JZ5FC-TGLAA-CM5DM-MFEBD CMCFH-93DCD-SFZYC-K5KCM-C7CA7 SnagIt 11 注册码: 7CTCC-5WQCS-98AY8-V8F2M-76258 NCTCC-5WFCK-98A28-V8…

Strut2访问

访问HelloWorld应用的路径的设置 在struts2中,访问struts2中action的URL路径由两部份组成: 包的命名空间action的名称 例如: 访问本例子HelloWorldAction的URL路径为: /l6n/helloWorldAction (注意:完整路径为:http:/…

单v100 GPU,4小时搜索到一个鲁棒的网络结构

作者 | Slumbers,毕业于中山大学,深度学习工程师,主要方向是目标检测,语义分割,GAN责编 | JaneNAS最近也很火,正好看到了这篇论文,解读一下,这篇论文是基于DAG(directed …

关于pyecharts 地图显示添加数据的问题

echarts : 香港地区显示(人口密集的人口数目) http://echarts.baidu.com/examples/editor.html?cmap-HK series: [ { name: 香港18区人口密度, type: map, mapType: HK …

MMX Intrinsics各函数介绍

SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

大数据中台向AI中台演进是大势所趋?

来源 | 宜信技术学院&#xff08;ID:CE_TECH&#xff09;导读&#xff1a;自从阿里巴巴提出“中台”的概念之后&#xff0c;这个词汇就成为各领域企业关注的焦点&#xff0c;很多人在考虑建设自己的中台。然而&#xff0c;构建中台是否真有必要&#xff1f;是否所有的企业都要建…

WordPress标签

1、分类目录调用函数&#xff1a; <?php wp_list_cats();?> 2、调用页面函数&#xff1a; <?php wp_nav_menu( array( theme_location > ast-menu-primary, container > false ) ); ?> 3、转载于:https://blog.51cto.com/okowo/…

SSE3和SSSE3 Intrinsics各函数介绍

SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

kubernetes学习笔记之十三:基于calico的网络策略入门

一、.安装calico [rootk8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/canal/rbac.yaml clusterrole.rbac.authorization.k8s.io "calico" created clusterrole.rbac.authorization.k8s.i…

设计模式之抽象工厂模式(Abstract Factory)摘录

面向对象系统的分析和设计实际上追求的就是两点&#xff1a;高内聚(Cohesion)和低耦合(Coupling). 23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式包括&#xff1a;1、FactoryMethod(工厂方法模式)&#xff1b;2、Abstract Factor…

grub设置密码的方法

grub设置密码的方法&#xff1a;一、grub设置明文口令的方法&#xff1a;修改/etc/grub.conf配置文件就可以了.[root RedHat ~] # vi /etc/grub.conf #注&#xff1a;此为链接文件&#xff0c;指向 /boot/grub/grub.conf#boot/dev/hdbdefault0timeout5splashimage(hd0,0)/gr…

web服务器(IIS)的操作步骤

转载于:https://blog.51cto.com/14118520/2335646

微软全球AI总监:Azure AI是OpenAI技术商业化变现唯一、排他性合作方

作者 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;7 月 24 日下午&#xff0c;微软在北京举行了媒体交流会。会上&#xff0c;微软全球副总裁&#xff0c;人工智能平台负责人 Eric Boyd 介绍了 Azure AI 近期的最新进展情况&#xff0c;并带…

NYOJ_16_矩形嵌套

有点小坑的严格单调递增序列&#xff0c;主要是排序那里坑了一下。 思路&#xff1a;矩形的嵌套&#xff1f; (a<c&&b<d)||(a<d&&b<c)? 不&#xff0c;只要在建点时保证a<b&#xff0c;条件就会少一个&#xff0c;直接a<c&&b<…

抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

作者 | James Vincent等编译 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;在过去的一年中&#xff0c;AI 生成书面文字的能力大大提高。通过扫描庞大的文本数据集&#xff0c;机器学习软件可以生成从短篇小说到歌词的各种令人信服的样本。…

JS 总结之事件循环

众所周知&#xff0c;JavaScript 为了避免复杂&#xff0c;被设计成了单线程。 ⛅️ 任务 单线程意味着所有任务都需要按顺序执行&#xff0c;如果某个任务执行非常耗时&#xff0c;线程就会被阻断&#xff0c;后面的任务需要等上一个任务执行完毕才会进行。而大多数非常耗时的…

设计模式之工厂方法模式(Factory Method)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式包括&#xff1a;1、FactoryMethod(工厂方法模式)&#xff1b;2、Abstract Factory(抽象工厂模式)&#xff1b;3、Singleton(单例模式)&#xff1b;4、Builder(建造者模式)&#xff1b…

SpanBERT:提出基于分词的预训练模型,多项任务性能超越现有模型!

作者 | Mandar Joshi, Danqi Chen, Yinhan Liu, Daniel S. Weld, Luke Zettlemoyer, Omer Levy译者 | Rachel责编 | Jane出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】本文提出了一个新的模型预训练方法 SpanBERT &#xff0c;该方法能够更好地表示和预测…

XP与Windows 7(Win7)等操作系统Ghost备份

XP与Windows 7&#xff08;Win7&#xff09;等操作系统Ghost备份 2013年5月5日 前提&#xff1a;备份还原win7的话&#xff0c;此种Ghost备份方法只针对没有100MB保留分区的win7安装方式。去掉100MB的方法可以参考《Windows7&#xff08;win7&#xff09;系统重装与破解》&…

SSE4.1和SSE4.2 Intrinsics各函数介绍

SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力

Nacos近期发布了0.7.0版本&#xff0c;该版本支持对接第三方CMDB获取CMDB数据、使用Selector机制来配置服务的路由类型、支持单机模式使用MySQL数据库、上线Node.js客户端&#xff0c;并修复了一些bug。对接CMDB实现就近访问在服务进行多机房或者多地域部署时&#xff0c;跨地域…

数十篇推荐系统论文被批无法复现:源码、数据集均缺失,性能难达预期

作者 | Maurizio Ferrari Dacrema译者 | 凯隐责编 | Jane出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【导读】来自意大利米兰理工大学的 Maurizio 团队近日发表了一篇极具批判性的文章&#xff0c;剑指推荐系统领域的其他数十篇论文&#xff0c;指出这些论文中基…

crontab 总结

2019独角兽企业重金招聘Python工程师标准>>> 1.写法 每三天执行一次&#xff1a;0 0 */3 * * root command&#xff0c;注意&#xff1a;* * */3 * * root command 这样写是不对的。其它每N小时执行一次也类似 &#xff08;后续补充&#xff09; 转载于:https://…

ubuntu安装thrift

ubuntu环境下安装thrift-0.10.0 1.解压 2.编译安装 ./configure -with-cpp -with-boost -without-python -without-csharp -with-java -without-erlang -without-perl -with-php -without-php_extension -without-ruby -without-haskell -without-go make sudo make install3.是…

AES(Advanced Encryption Standard) Intrinsics各函数介绍

AES为高级加密标准&#xff0c;是较流行的一种密码算法。 SIMD相关头文件包括&#xff1a; //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #…

轻松应对Java试题,这是一份大数据分析工程师面试指南

作者 | HappyMint转载自大数据与人工智能&#xff08;ai-big-data&#xff09;导语&#xff1a;经过这一段时间与读者的互动与沟通&#xff0c;本文作者发现很多小伙伴会咨询面试相关的问题&#xff0c;特别是即将毕业的小伙伴&#xff0c;所以决定输出一系列面试相关的文章。本…

【Elasticsearch 5.6.12 源码】——【3】启动过程分析(下)...

版权声明&#xff1a;本文为博主原创&#xff0c;转载请注明出处&#xff01;简介 本文主要解决以下问题&#xff1a; 1、ES启动过程中的Node对象都初始化了那些服务&#xff1f;构造流程 Step 1、创建一个List暂存初始化失败时需要释放的资源&#xff0c;并使用临时的Logger对…