• 大土豆
    2019-03-21
    逆向微信的过程中,发现微信很多架构都看得到历史变迁,比如说微信加密的主库中,几十张表,表名和字段名都命名有大小写驼峰,有小写下划线。微信App内部的私有协议中,有纯二进制协议,有二进制和文本混合(朋友圈snsinfo表的blob类型的字段),有纯文本协议的,纯文本的又有json的,有xml的,还有用冒号隔开内容的自定义格式的。

    作者回复: 微信数据表初期的设计的确有那么一些问题,但是考虑到迁移的成本太高,所以一直都没有彻底去搞

    
     8
  • Andy
    2019-03-22
    记得自己15年刚入行的时候,小公司一个人负责Android客户端的开发,觉得把控项目的技术方案算是架构;后来去某直播平台上10+人的Android项目组觉得把写出优秀的框架也算架构;现在我我觉得架构真的像作者说的无处不在,一个小的需求,不同人的实现是可能有差别的,而且同一人在不同的环境和技术积淀下也会不同。所以,以求更好方为上策。

    作者回复: 是的,架构无处不在,每个人对架构的理解都可以不同

    
     4
  • OF
    2019-09-02
    这大土豆可真行。。。
    
     3
  • neo
    2019-07-10
    但是在最终产物上,组件化已经回归模块化…能举例说明下什么样算回归模块化,另外组件化会有什么问题?烦请有空解答下

    作者回复: 组件化是有远程下发的能力,模块化只是工程组织上面的“组件化”。

    这个主要因为有类似小程序、rn/weex、h5离线宝、flutter等多种手段去实现那些非核心功能

    
     2
  • 问答
    2019-03-21
    高屋建瓴,很棒
    
     2
  • 落英坠露
    2019-03-31
    引进架构的目的是为了可维护、可扩展,不同的需求由不同的人做确实不一样。我的原则就是抽象、隔离有层次,按功能划分模块,然后使用合适的设计模式规划。
    
     1
  • 大土豆
    2019-03-21
    微信的db读写,不知道你们是怎么做的😄,我现在IM的架构是读写全在主线程(主线程io没有大家想象的这么可怕,只是数据量多的时候,还是会卡),我现在的想法是下个版本改成一个线程专门写,然后读可以多线程读

    作者回复: I/O都是不可预料的,数据库读写都不会在主线程,如果用户数据量大的情况会很慢的

    
     1
  • Akon Convict
    2019-03-21
    我一直认为架构是一个很抽象的话题,别人只能分享他们当时特定的困难下如何解决问题,从而演变出现在稳定高效的框架,我们能汲取的只是他们思考问题的方式,出现问题的根源是什么,有什么方式可以解决,这些解决方案中哪些是优秀的方案。

    作者回复: 每个人对架构都有不同的理解,但是架构核心也是为了解决质量和效率问题

    
     1
  • Dimple
    2019-07-23
    一个技术人应该有个代表作。目前为止,我的代表作就是在项目组长搭建的基础上,完成了我们现有系统的聊天大部分功能。

    这虽然不是自己独立做的,但也是和组长两个人的成果,而且最后效果比预期的好,接下来的目标就是,脱离组长,自己建立一个架构体系,加油
    
    
  • 1
    2019-07-19
    一个技术人的一生应该有个代表作,给自己的技术生涯一个交代。读后感觉醍醐灌顶。感谢绍文老师!
    
    
  • 邱逢生
    2019-04-20
    Github搜索不到vending?

    作者回复: 这个框架并没有开源

    
    
  • LD
    2019-03-22
    我现在去架构的理解就是整合好的第三方框架到项目,规范项目内框架的使用,codereiew避免垃圾代码进入。
    
    
我们在线,来聊聊吧