• golang--2016gopher北京大会(1)


        大会感想:牛人真的很能写代码,实现很多功能,而且开源的精品越多,影响力越大,越能过上dream life。比如beego的作者,去了America,进入了Apple。另外,精英们特点是表达能力很强,也能撕逼。比如Golang和Rust性能pk就争论得不可开交。参与这种技术社群真的是让人脑洞大开,记得谁说过那么一句话--不让你感到惊喜的语言不值得学。我想表达的是不让我感到惊喜的会议不值得花钱参加。

        好多人从nodejs转向了golang,原因无非在于golang是高吞吐低延迟,适合CPU负载密集型,非中断式的后台加载。而nodejs能很好用于IO密集型的服务,解释执行和动态类型,在单线程加载解释方面会有延迟如JSON编译工作(摘自infoq)。

      来个倒叙吧:我只记录我感兴趣的,有些东西我不知道什么意思,纯记录

        一、网易云的人分享: 

    pipeline测试:树莓派+facebook argmented traffic control
    cat /proc/sys/net/ipv4/tcp_wmem
    ##go和nginx lua性能对比测试:
    ab -n 1000000 -c 5000 -k "http://127.0.0.1:8081/512b"

        二、grabtaxi:

    docker优化经验:内存swap off

    路由优化经验:

    • nethttp->fasthttp
    • Pool bufferio Reader/Writer
    • Pool conn,buffer
    • header struct
    • string->[]byte

    代码看不懂,上图

    代码规范

    golint go vet go errcheck goimports gofmt
    gometalinter
    

    代码测试

    stretchr/testify
    rafaeljusto/redisgomock
    测试时替换函数指针
    

    不能总来图片,抄写下代码

    package main
    import "testing"
    var realImpl = func() int {
        //do something for real
    }
    
    func TestSomething(t *testing.T) {
        defer func(org func() int) {
            realImpl = org
        }(realImpl)
        realImpl = func() int {
            return 0
        }
        //carry on with the testing
    }
    

    工作流程

    1.好的工作流程

    • 让普通的人表现得更牛
    • 让牛人逆天

    2.糟糕的工作流程

    • 普通人想辞职
    • 牛人已经辞职了

    持续集成

    • TravisCI->drone.io->Jenkins 

    持续部署

    • DataDog->NewRelic->Scalyr->Slack

    资源和程序一起发布

    • https://github.com/jteeuwen/go-bindata

    debug性能问题

    • pprof
    • github prometheus/prometheus
    • github tsenart/vegeta
  • 相关阅读:
    matlab播放音乐
    virtualbox安装增强功能时【未能加载虚拟光盘】
    VirtualBox piix4_smbus Error
    VirtualBox虚拟机运行Ubuntu如何不卡
    微信支付注意事项
    ListView实现RadioButton的单选效果
    他山之石____Java 线程池的原理与实现
    线程池的使用____银行业务调度系统
    基础加强____【动态代理 & AOP】【实现类Spring的AOP框架】
    基础加强____【Java类加载器 & "委托机制"】
  • 原文地址:https://www.cnblogs.com/zzuse/p/5399953.html
Copyright © 2020-2023  润新知