2016年终总结--一个Python程序猿的跨界之旅
时间过得真快。感觉15年年终总结刚写完,16年就结束了。看了blog,16年就写了可怜的8篇,对我来说16年还算顺风顺水。
真正可能出乎意料的是年底我离开了呆了2年半的龙图游戏,临时放弃了用了3年半的Python。转向了Java领域和数据仓库,这也算是跨界了吧。。
。
家庭
16年老婆和闺女来北京住了小半年,那段时间是非常幸福的一段时光。最终还是不适应北京的天气和雾霭,老婆和闺女逃离了北京。我又恢复了“单身”生活。
16年在家庭上面比15年要有所进步,但恐怕17年。
。
。
,看北京近期这雾霭,逃离北京才是上上策,但苦于没有合适的机会,或许该寻找寻找自己第二职业了。。。
工作
离开工作了2年半的龙图游戏。甚是不舍。但天下无不散的宴席,在龙图游戏的2年半我给自己打个85分,还算不错。有一群靠谱的同事,做了一件靠谱的事,攻克了公司实实在在的问题。这就是我对这两年的评价。
年底之前老大推荐我去滴滴,说他们那边正须要人,让我去试试。细问之下发现和我如今技术栈全然不吻合,他们做数据分析是基于Hadoop/Hive来做的。应用层主要是Java。但我一直是写Python的。虽说语言不是问题,但转过去是有代价和成本的,但能够去聊聊。
过去发现的确有几点吸引了我
1.部门刚成立不久,业务正在上升期,有非常多事可做
2.虽说是BI部门,但做的非常多事情超出了BI领域。事情不会单调
3.部门老大非常有想法和能力
4.Python在后期会用来做一些非常有意思的事情,比方数据挖掘。模型算法
对我个人来说,也越来越发现Python的局限性,比方
1.大规模用Python的公司不多。Python略显小众,也就那么几家。豆瓣。知乎,搜狐,饿了么等
2.国内的Python高手不多。大部分还局限在语法层面,如Pythonic,Python圈还缺少一股设计模式的风,一股高性能的风。。
。
3.Python不适合做系统层面的东西,中间件这么大一块蛋糕基本和Python无缘了。分布式服务等也不太适合
4.脚本语言一时爽,重构火葬场,相对来说做大系统还是静态语言比較合适,这也是为什么之前研究过一段时间的golang
世界这么大,出去看看也好。
Java相对来说还是更严谨一些,可研究的东西很多其它,如netty,spring,jvm等,面向对象更纯粹,关键还是各个领域通吃。如大数据Hadoop系。分布式服务框架。中间件(队列,数据库分库分表Proxy),搜素。Web等。
当然语言仅仅是工具,假设大家有机会不妨尝试多语言。
相对来说有Python基础,写Golang可能会更适合一些,但Golang的隐式接口,鸡肋的反射以及缺少泛型有时会让你捉急。当然假设又一次让我选择肯定是開始就搞Java。这是不会错的。
大学更合适的应该先学习C, 然后就一直学习Java,然后就没有然后了。。。
技术
16年还是看了不少书的,尤其是还了曾经的一些旧账,比方<<代码大全>>大学就翻了一些,一直没看下去,可喜的是16年最终一口气看完了。只是好像已经忘记几乎相同。。。
。这里简单总结下。
1. <<Head First设计模式>> 曾经看的pdf,但一直没什么感觉,16年买了实体书,竟然看的头头是到,意犹未尽。或许真的是年龄到了。有些书就自然有感觉了,哈哈
2. <<重构>> 必看,都不用介绍了
3. <<高性能Mysql>> 这本也是先看的pdf, 后买的实体书,记得15年就买了,看了几章,16年一口气读完,非常爽,强烈建议研发必看
4. <<代码大全>> 就家伙太厚了。须要花耐心看完,的确非常全
5. <<性能之巅>> 真本事看的也非常爽,对CPU,内存。磁盘。网络等讲的非常好,<<高性能Mysql>>部分章节也讲的不错。会产生共鸣的
6. <<effective Python>> 搞Python的这本书能够看下,但感感觉离<<effective java>>和<<effective c++>>还有不少差距
7. <<Python编程实战:运用设计模式、并发和程序库创建高质量程序>> 搞Python的这本书非常有必要读一读。但我没看完,非常遗憾,等后期有时间一定好好研究研究
8. <<Go语言程序设计>> 了解Golang的,还能够就是啰嗦
9. <<分布式服务框架-原理也实战>> 服务化如今这么火,能够随便找一本书看看,这本偏介绍性质的,比較简单
....
还有其它一些没有看完的,16年了买了非常多书,预计能有30本,我还有非常多的书要看,任务还非常艰巨,如今在研究Java。要看的书预计很多其它了,哈哈读书还是一件非常享受的事。
计划
计划总是美好的,如今看看自己15年终计划,我预计50分都不到,部分的确是没有运行好,很多其它的还是发现没有足够兴趣,不贴近自己工作情况。17年的计划希望更务实一点。
编程语言
1.Java,多看标准库源代码。要写几篇源代码解读文章。至少看完1个出名开源项目。如logback这样的
2.Spring 最好能深入源代码去研究
3.多看几本Java好书。
《《effective java》》
《《spring in action》》
《《Java并发编程实战》》
《《Java编程思想》》
…
4.了解jvm
领域
1.大数据 Hadoop/Hive/Hbase
2.数据分析,看完《《Head First 统计学》》
锻炼
多跑步,多打乒乓球,重点直板横打,说不定以后打球就是我第二职业,以后回老家的本钱,O(∩_∩)O哈哈
17年,让我们拭目以待
2016年终总结--一个Python程序猿的跨界之旅的更多相关文章
- python笔记:#002#第一个python程序
第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3.x 版本简介 执行 Python 程序的三种方式 解释器 -- python / python ...
- 人生苦短之---第一个Python程序
第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3.x 版本简介 执行 Python 程序的三种方式 解释器 —— python / python ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- 3.第一个python程序
学习任何一门语言的第一步,首先要写个'hello world',这算是程序员的一个传统.但在写之前,还有注意几个问题. 首先,python是一门脚本语言,而脚本语言的特点就是:我们写的代码会先由解释器 ...
- python入门(4)第一个python程序
python入门(4)第一个python程序 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计算结果是不是300: ...
- 一个Java程序猿眼中的前后端分离以及Vue.js入门
松哥的书里边,其实有涉及到 Vue,但是并没有详细说过,原因很简单,Vue 的资料都是中文的,把 Vue.js 官网的资料从头到尾浏览一遍该懂的基本就懂了,个人感觉这个是最好的 Vue.js 学习资料 ...
- 2.第一个python 程序
第一个python程序 一..python程序的编写步骤 1.创建 xxx.py文件(文件名不要中文) 文件名要以py为扩展名,因为导入的时候其他扩展名会报错.如果不导入的情况可以不限制扩展名. 2 ...
- python基础学习(一) 第一个python程序
1. 使用python/python3解释器的方式 按照惯例,我们都是以Hello world作为一门程序语言的开始,进行如下的操作: 在桌面上新建一个hello-python文件夹 进入hello- ...
- 1.3 第一个python程序
使用Pycharm编写第一个python程序 1.打开 Pycharm,选择 Create New Project,创建一个新项目 2.选择Pure Python表示创建一个纯Python程序项目, ...
随机推荐
- ArrayList中重复元素处理方法.[Java]
1.使用HashSet删除ArrayList中重复的元素 private static void sortByHashSet() { ArrayList<String> listWithD ...
- TestDirector自定义管理:用户配置
一.进入Customize 1.打开TD,点击TestDirector,进入登录界面,在TD登录页面右上角点击“CUSTOMIZE(自定义)”. 2.选择要登录的域和项目,输入用户帐号和密码,点击确定 ...
- Socket编程(一):建立与客户端的连接并接受数据
我们这里利用Socket在模拟一个客户端与服务器通信,其实客户端与服务端通信就像人与人打电话一样,想要给一个人打电话,我们首先必须要有手机,必须知道对方的手机号码,这里Socket就好比一部手机,而短 ...
- java -jar demo.jar
部署springboot项目 生成jar包其实还是依赖springboot的jar才能跑起来,为什么呢? 1.在C盘手工创建了一个文件夹,是拷贝了demo.jar这个jar包运行是报错的. 2.在D: ...
- Mybatis源码分析之结果集处理
解析封装 ResultMap 是和结果集相关的东西,最初在解析 XML 的时候,于 parseStatementNode 方法中,针对每一个 select 节点进行解析,转换为 MappedState ...
- FastReport.Net使用:[36]"续表"
1. RepeatedBand的打印和子报表的使用. RepeatedBand实现方法:设置Band为每页重复.注意,从第二次打印开始,就是重复打印了.第一次打印不认为是RepeatedBand. 报 ...
- 【BZOJ 4663】 (最小割)
4663: Hack Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 69 Solved: 26 Description 由于 FZYZ 教学区禁止使 ...
- BZOJ3052 [wc2013] 糖果公园 【树上莫队】
树上莫队和普通的序列莫队很像,我们把树进行dfs,然后存一个长度为2n的括号序列,就是一个点进去当作左括号,出来当作右括号,然后如果访问从u到v路径,我们可以转化成括号序列的区间,记录x进去的时候编号 ...
- [BZOJ2427][HAOI2010]软件安装(Tarjan+DP)
2427: [HAOI2010]软件安装 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1987 Solved: 791[Submit][Statu ...
- [Codeforces #514] Tutorial
Link: Codeforces #514 传送门 很简单的一场比赛打崩了也是菜得令人无话可说…… D: 一眼二分,发现对于固定的半径和点,能包含该点的圆的圆心一定在一个区间内,求出区间判断即可 此题 ...