一个清单让你效率大增

摘要:做数据开发要要具备什么基础?如何提高开发效率?请对照下面这个清单~

这是久违的第三篇文章,这次我们讲点没什么“技术含量”但绝对有用的东西。

你是否常常遇到这种情况: 写写画画苦思冥想后终于茅塞顿开想到了一个无与伦比绝世无双的idea(大雾),兴奋激动地扒了数据打算写个DEMO或搞个工程跑个漂漂亮亮的结果出来(大雾),结果写代码时磕磕碰碰处处不顺,在IDE和Google来回切换,思路老被打断影响发挥,折腾半天还没碰到自己设计的模型和算法的边,心里烦躁又凉凉?你并不是一个人。

根据观察,往往阻止我们coding如飞的,不是模型和算法的多晦涩和复杂(毕竟都在心里捋了多少遍了),而是日期处理,集合运算等常见逻辑,还有就是模块化、模式设计等代码工程化和重构。

代码工程化算是小头,这个范畴太大太重,以后有机会再展开讨论。然而,常见逻辑可是大头,没什么技术含量却要反反复复地实现。若能减少些反复Goolges的时间和精力,进入心流状态(还是大雾),对我们造轮子的效率和质量的提高还是很有帮助的!

这里,我给大家总结和整理了搞数据开发常见逻辑的清单,供大家参考和对照,不在于全面但在于有针对性(面面俱到不就是复制文档目录么),能涵盖数据科学开发中80%以上的需求。

如果有看到自己不熟悉的,建议及时查查资料整理笔记哦。这个清单我会根据后续开发的积累进行调整,若有遗漏,欢迎补充。往后我也会按照清单和主题整理例程做成cheatsheet,作为系列推出来!

下面上干货!

一般来说,从事数据开发,我们需要熟悉:

  • Java,Python,SQL,Shell(没人喜欢但真的需要…)等语言
  • Pandas、Numpy、Scipy等数据处理常用的库和包
  • Hadoop家族、Storm、Flink、TensorFlow、Keras等你的算法依赖的计算框架

对于上面提及的语言和库,我们需要熟悉如何用它们实现以下逻辑:

  • 日期处理
    • UTC、GMT等各种日期格式的格式化和反格式化
    • 当前系统日期的获取,日期的加、减、取整、周期序列生成等
  • 类型转换
    • 各语言的数据类型间转换和序列化
    • Pandas、Storm等数据处理库和计算框架内的类型转换和与语言原生类型的转换
  • 字符串处理
    • UTF-8, GBK等常见编码的转换和解码
    • 大小写转换、截取、拼接、查找、替换、正则表达式
  • 集合运算
    • 遍历和元素增删改查
    • 并、交、差、补等基础集合运算
    • filter、mapper、reduce等集合FP构造
    • one-hot编解码、tokenize等集合映射构造
  • 线性代数运算
    • Numpy, Pandas等数据处理包的行列变换
    • Tensorflows, Keras等计算框架提供的算子
  • 反射
  • 多线程和线程安全
    • 各语言下的多线程实现
    • 常用类和包的线程安全问题
    • 各计算框架的线程模型、资源共享、死锁解决等
  • 数据接入
    • Kafka等数据流的接入和配置
    • MySQL、Redis、HBase等RDMB和NoSQL的接入和配置、连接池和并发、增删查改等
  • 文件操作
    • CSV、JSON、XML等格式的数据文件读取、解析、偏移设置和流水化
    • Pandas、Storm等数据处理库和计算框架的缓存、模型、结果的序列化和持久化
  • 参数传递和配置解析
    • 管道和流水线的参数传递
    • 各语言的原生或第三方库的配置解析方法,如Python的optparse等
    • 各计算框架的配置解析方法和全局/局部等作用域,如Tensorflow的FLAGS等

扫描下方二维码关注公众号“KAMI说”,获取更多精彩原创内容~

KAMI说
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值