DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

第一次参加gopher china,居然还有情侣来的。。不过整体的质量还是挺高的。。

  • go与人工智能,主要是讲的go的几个库,包括wukong,zerg,sego,aha,主要是做信息系统的收集以及处理,还有mlf的机器学习的框架。

    这里看到的是,通过机器学习的方式去分析模型,去预测点击?aha的一种展现方式,其实类似于es,是不是可以将es转化为wukong,来可定制我们的数据展现,通过多tag的方式,多维度去展现?

    然后,zerg,这个集群爬虫框架,貌似要比python scrapy的爬取要更快,是不是可以在后面的爬取过程中来使用它?

    中间有提到用golang来实现spark部分的,这块是不是可以用golang来替换scala?有提到spark的单机迁移

  • pingcap部分,主要是讲的tidb部分,在mysql client以及db中间,插入一层,将db换做更有效率的tikv,即kv存储

    这块,据说是google spanner的论文,主要是讲通过proxy层部分,实现sql部分的兼容,以及mpp framwork,同时,支持动态扩展,动态紧缩,下层的tikv仿照的是hbase(也是kv?)?

  • bfe这块,就没怎么涉及,应该主要是gc部分的使用

  • bilibili部分,这里讲一个小文件系统,bfs,采用小文件聚合成为一个32g的大文件,来写入到磁盘中。

    整体上,由几个模块组成,volumn模块,store模块,ops模块,meta模块。主要注意的几点:读的时候,主动关闭了预读策略,减少了内存开销,因为读完之后,相关内容会回流到cdn上;块+offset来确定,读写的位置,由于offset设定为8位,所以整体上采用32G的文件作为一个chunk;专门用ops模块来处理迁移,merge,失败后恢复等问题;

  • google 部分,主要是对于x/text/部分的讲解,主要涉及到i18n部分

  • mijia,这部分主要是比较相关的web application。

    其实他的经历跟自己还是挺像的,从之前的j2ee转向python,flask,然后再写了scala on play,最后转向了go部分。其中有一点提的挺有道理的,拒绝mgic,至少要找一种best practise,放弃scala的原因就是magic太多。。

    学习go,需要了解他的go proverb,例如orm部分,一般情况下的orm是通过reflect来实现,但reflect是不clear的,所以相关reflect的orm,我们就不用,保证符合clear这样的proverb,这也算一种best practise吧。

    还有一点,是modelq,他是仿照scala slick的方式,利用go genernate来产生相关的orm部分的代码,

    然后,其实挺令我困惑的一点是,一直在做业务部分,从哪里去找到相关动力和激情?

  • coreos部分,主要是是关于go performs部分的调优,采用go profile来进行相关性能监测,同时还有web的方式的来查看相关的call stack以及time used

    可以尝试在prerelease环境里,对于相关的api进行性能的监控,看下是不是有所优化的空间。。

  • go mobile部分 (tomasen)

    最新的go,提供go mobile的方式,为前端提供跨平台的支持,android部分提供aar部分,ios提供framework的注入。

    这样的跨平台,优点是,利用go的网络特点,将相关的网络请求封装起来,例如后台下载等,统一android和ios的下载框架等。。带来的特点是快速进行原型开发

    缺点部分:不可避免会将go的runtime env带到手机的内存里,这块有风险;一个项目中只能引入一个go mobile生成的包,无法像jar包那样引用多个,相当的不方便;go同java之间的通讯还是依靠类似rpc的方式,效率上需考虑(但好像一般的应用无需考虑这个问题)。。

拖到现在才来写新年的计划。回顾一下自己的2015,工作换了,学习上也切成mac模式,技术上接触到了各种各样的东西,视野上也扩展了一些。。

还是定下2016的计划:

  • 工作上,能够继续扩展视野,接触spark,scala更多的知识,技术上能够到4吧,尝试向架构师方向去做一些东西出来。。

  • 看书上,还是要多看书,每周写一些书的感想,然后还有leecode,刷些题,捡起算法和数据结构。blog迈向100篇大关。。

  • 新的一年,给自己定一个方向,各种后端技术部分去接触,去学习大数据相关的东西,尝试去转型为golang的程序员?

  • 新的一年,能够去开源一些东西出来,能够做一个app出来。

  • 生活上,今年的目标是去西藏,做好平时的锻炼,两周的时间,争取做到30岁之前的疯狂。。

  • 另外在生活上,尝试去接触一下,追一个吧。。然后房子上,考虑一下,做一些升值的措施吧。

顺心意,争取做好这一点。

本周完成:

  • sticker接口的release
  • new api部分讨论
  • post gcm以及facebook userinfo
  • 删除es索引部分脚本

未完成:

  • 测试环境频繁挂掉的原因
  • gcm的相关guide

本周所得:

  • go部分框架的继续学习
  • go部分处理消息以及数据库部分,替代nodejs这种异步方式,防止遗漏?
  • logstash-out-elasticsearch插件部分的更新

下周计划:

  • guide完成
  • 给出相关api迁移时间表

go部分的还需要加深,awanson go部分可以先看看

gcm的开源部分?

本周完成:

  • textcutie部分,完成python的s3上传
  • 测试环境方面,尝试建一套测试环境
  • api规范部分输出
  • beego框架熟悉,以及go语言学习

未完成:

  • 统计的自动化部分
  • es的自动重启部分?

本周所得:

  • python的相关经验,以及利用screen的命令来进行相关工作
  • go语言的学习

下周计划:

  • api迁移的计划表部分
  • sticker的api完成

关于分享的ppt部分,是不是尝试先做一些。。

go部分的学习,要加快一些,多用一些语言特性,多用一些开源库

本周完成:

  • smart cross部分完成线上推送
  • gcm部分,状态回传部分优化
  • ant转gradle部分,进行试验和测试
  • hashtag部分,针对server端的认证,以及client获取数据接口

未完成:

  • 相关经验的总结
  • gcm部分,还存在部分state为0的情况

本周所得:

  • 关于数据库连接池部分,针对java以及nodejs部分
  • scala部分的一些实践经验

下周计划:

  • 打包平台部分联调
  • hashtag部分的联调

hashtag部分,采用nodejs来写,如果要采用的话,尝试cluster的方式,同时配置一下nginx部分

关于自己已经写的一些东西,总结一些基础部分,例如scala,nodejs等

gcm发送的multiResult部分,尝试做一个开源maven出来。。