
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这里提到的endpointId是一个负载了数据的逻辑点,就像一根水管的出口,有新数据来就会根据后端记录的endpointId推送到用户正在查看的endpointId。用户没有正在查看的endpoint就不会有新数据推送。这里如果如果对endpoint加上权限就相当于实现对实时数据的准确推送。
【代码】docker --hbase部署。
设计模式-责任链模式
1.RSA非对称加密RSA非对称加密的是对签名的加密,不是对jwt的头部,荷载加密,头部和荷载用的时base64加密,从jwt官网就可以知道token是通过拼字符串拼在一起的。从而得出结论:1.荷载里面可以放自定义的数据,但是不能放敏感数据。如上图,就算拿着token到这里,可以看见header,payload,但是左下角显示的时无效的签名Invalid Signature,因为没有放入公钥输入对
来自包,在WaitGroup错误传播机制上下文取消功能当有 goroutine 返回错误时,自动取消其他 goroutine特性错误处理无内置支持,需手动处理自动传播第一个错误,支持错误取消上下文集成无支持 context 传播和取消并发控制无支持 SetLimit 限制并发数易用性较简单功能丰富,但稍复杂内存使用较小稍大(维护额外状态)标准库是需要额外导入适用场景简单并行任务需要错误处理的复杂任
场景最优方案简单数值更新(计数器、状态)sync/atomic 原子操作goroutine间数据传递Channel复杂共享数据读写(读多写少)复杂共享数据读写(读写均衡)sync.Mutex(缩小锁粒度)高性能无锁场景(中间件)CAS无锁编程可拆分的共享数据Goroutine局部存储/不可变数据。
减少分配:对象池、栈分配、重用对象简化对象图:降低指针密度,避免复杂引用监控优化:持续监控,基于数据调优环境适配:根据部署环境调整GC参数。
我们都知道可以通过-run=RegExp来指定运行的测试用例,还可以通过/来指定要运行的子测试用例,例如:go test -v -run=Split/simple只会运行simple对应的子测试用例。测试覆盖率是你的代码被测试套件覆盖的百分比。通常我们使用的都是语句的覆盖率,也就是在测试中至少被运行一次的代码占总代码的比例。上面的做法是能够解决问题的。单元测试是对软件中的最小可测试单元进行检查和验
pprof开启后,每隔一段时间(10ms)就会收集下当前的堆栈信息,获取各个函数占用的CPU以及内存资源;最后通过对这些采样数据进行分析,形成一个性能分析报告。注意,我们只应该在性能测试的时候才在代码中引入pprof。
默认情况下,主机上/etc/hosts文件中定义的自定义主机不会被容器继承。每个容器都有自己独立的网络命名空间,其中包括自己的/etc/hosts文件。如果你想将额外的主机添加到容器中,可以在创建容器时修改容器的/etc/hosts文件。这可以通过在运行docker run命令时使用--add-host标志来实现。--add-host标志允许你在容器的/etc/hosts文件中指定额外的条目。以上







