博客园 - walkingSun
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=90415
2021-09-04T06:35:30Z
walkingSun
https://www.cnblogs.com/followyou/
feed.cnblogs.com
https://www.cnblogs.com/followyou/p/14406791.html
设计模式-依赖倒置 - walkingSun
[TOC] 依赖倒置(DIP) 依赖倒置原则(Dependence Inversion Principle,DIP):High level modules should not depend upon low level modules.Both shoulddepend upon abstract
2021-02-16T07:55:00Z
2021-02-16T07:55:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 依赖倒置(DIP) 依赖倒置原则(Dependence Inversion Principle,DIP):High level modules should not depend upon low level modules.Both shoulddepend upon abstract <a href="https://www.cnblogs.com/followyou/p/14406791.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/14396589.html
Go module - walkingSun
[TOC] module Go 在 1.11 之后推出了依赖包管理工具 Go Modules,使得开发者可以在 GOPATH 指定的目录外组织项目代码。 官方go module wiki "go/wiki/Modules" ; "Introduction to Go Modules" 是一篇很好的g
2021-02-10T12:47:00Z
2021-02-10T12:47:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] module Go 在 1.11 之后推出了依赖包管理工具 Go Modules,使得开发者可以在 GOPATH 指定的目录外组织项目代码。 官方go module wiki "go/wiki/Modules" ; "Introduction to Go Modules" 是一篇很好的g <a href="https://www.cnblogs.com/followyou/p/14396589.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/14396588.html
Go select - walkingSun
[TOC] select Unix中 想到的都是系统调用, I/O 模型时大都会提到基于 、`poll epoll select select` 有着比较相似的功能。 主要特性: 每个case都必须是一个通信 能在 Channel 上进行非阻塞的收发操作; 在遇到多个 Channel 同时响应时会随
2021-02-10T12:47:00Z
2021-02-10T12:47:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] select Unix中 想到的都是系统调用, I/O 模型时大都会提到基于 、`poll epoll select select` 有着比较相似的功能。 主要特性: 每个case都必须是一个通信 能在 Channel 上进行非阻塞的收发操作; 在遇到多个 Channel 同时响应时会随 <a href="https://www.cnblogs.com/followyou/p/14396588.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/14396587.html
redis批量获取多个string key的set命令 - walkingSun
[TOC] 场景 记录下开发中测试数据遇到的问题,开发环境想全量跑下数据验证数据的正确性,但每个账户的token存贮在redis中string类型,格式如: ,一个个获取要崩溃啊。我想获取到所有的账户,设置到开发环境中比较费事。 操作 先获取线上的token 得到所有的set命令 新建t.php文件
2021-02-10T12:45:00Z
2021-02-10T12:45:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 场景 记录下开发中测试数据遇到的问题,开发环境想全量跑下数据验证数据的正确性,但每个账户的token存贮在redis中string类型,格式如: ,一个个获取要崩溃啊。我想获取到所有的账户,设置到开发环境中比较费事。 操作 先获取线上的token 得到所有的set命令 新建t.php文件 <a href="https://www.cnblogs.com/followyou/p/14396587.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/14255959.html
Nginx流量控制 - walkingSun
[TOC] Nginx流量控制 流量复制 项目进行迁移上云,如何在不影响现有项目的情况下,进行验证测试,平滑迁移。理论上分割部分流量到云上进行验证,确定没有问题逐渐迁移,如果nginx不好分割流量的情况,其实不太好做迁移,风险太大。 nginx支持流量复制,在接收请求时,可以复制流量到另外的服务器而
2021-01-09T11:19:00Z
2021-01-09T11:19:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] Nginx流量控制 流量复制 项目进行迁移上云,如何在不影响现有项目的情况下,进行验证测试,平滑迁移。理论上分割部分流量到云上进行验证,确定没有问题逐渐迁移,如果nginx不好分割流量的情况,其实不太好做迁移,风险太大。 nginx支持流量复制,在接收请求时,可以复制流量到另外的服务器而 <a href="https://www.cnblogs.com/followyou/p/14255959.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/14057427.html
MySQL批量更新 - walkingSun
[TOC] MySQL批量更新,相对于一个个更新,效率肯定更快,特别是在有限定时间内需要实现大批量的更新,节约很多时间成本,近期实现也遇到一些坑,做些整理总结。 实现方式: replace into 使用的时候要注意:记录已存在是先删除再创建,所以只是更新某些字段使用这个会造成很大的数据丢失问题,切
2020-11-29T11:15:00Z
2020-11-29T11:15:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] MySQL批量更新,相对于一个个更新,效率肯定更快,特别是在有限定时间内需要实现大批量的更新,节约很多时间成本,近期实现也遇到一些坑,做些整理总结。 实现方式: replace into 使用的时候要注意:记录已存在是先删除再创建,所以只是更新某些字段使用这个会造成很大的数据丢失问题,切 <a href="https://www.cnblogs.com/followyou/p/14057427.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/14057001.html
设计模式-开闭原则 - walkingSun
[TOC] 开放封闭原则 Software entities like classes,modules and functions should be open forextension but closed for modifications.(一个软件实体如类、模块和函数应该对扩展开放,对修改关
2020-11-29T09:26:00Z
2020-11-29T09:26:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 开放封闭原则 Software entities like classes,modules and functions should be open forextension but closed for modifications.(一个软件实体如类、模块和函数应该对扩展开放,对修改关 <a href="https://www.cnblogs.com/followyou/p/14057001.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13977914.html
设计模式-单一职责原则 - walkingSun
[TOC] 单一职责 就一个类而言,应该仅有一个引起 它变化的原因。 如果一个类承担的职责过多,就等于把职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破环。 软件设计真正要做的许多内容,就是发现职责并把这些职责
2020-11-15T11:25:00Z
2020-11-15T11:25:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 单一职责 就一个类而言,应该仅有一个引起 它变化的原因。 如果一个类承担的职责过多,就等于把职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破环。 软件设计真正要做的许多内容,就是发现职责并把这些职责 <a href="https://www.cnblogs.com/followyou/p/13977914.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13976967.html
设计模式-里氏替换原则 - walkingSun
[TOC] 里氏替换原则(LSP) 面向对象继承优点: 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性; 提供代码的重用性; 缺点: 继承是侵入性的。只要继承,就必须拥有父类的所有属性和方法;降低代码的灵活性。子类必须拥有父类的属性和方法,让子类自由的世界中多了些约束; 增强了耦合性。
2020-11-15T07:45:00Z
2020-11-15T07:45:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 里氏替换原则(LSP) 面向对象继承优点: 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性; 提供代码的重用性; 缺点: 继承是侵入性的。只要继承,就必须拥有父类的所有属性和方法;降低代码的灵活性。子类必须拥有父类的属性和方法,让子类自由的世界中多了些约束; 增强了耦合性。 <a href="https://www.cnblogs.com/followyou/p/13976967.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13976800.html
设计模式-目录 - walkingSun
[TOC] 设计模式 设计原则 "里氏替换原则" "单一职责原则" "依赖倒置原则" "开放 封闭原则" "单列模式" "工厂模式" 策略模式 "http://note.youdao.com/noteshare?id=51c39d27b003a36c3af789e2168e9467&sub=3280
2020-11-15T07:07:00Z
2020-11-15T07:07:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 设计模式 设计原则 "里氏替换原则" "单一职责原则" "依赖倒置原则" "开放 封闭原则" "单列模式" "工厂模式" 策略模式 "http://note.youdao.com/noteshare?id=51c39d27b003a36c3af789e2168e9467&sub=3280 <a href="https://www.cnblogs.com/followyou/p/13976800.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13976056.html
Go 调试 - walkingSun
[TOC] pprof web 使用生成火焰图 http://127.0.0.1:8081/ui/flamegraph?si=cpu 查看cpu时长 参考 https://zhuanlan.zhihu.com/p/71529062 https://eddycjy.com/posts/go/tools
2020-11-15T03:01:00Z
2020-11-15T03:01:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] pprof web 使用生成火焰图 http://127.0.0.1:8081/ui/flamegraph?si=cpu 查看cpu时长 参考 https://zhuanlan.zhihu.com/p/71529062 https://eddycjy.com/posts/go/tools <a href="https://www.cnblogs.com/followyou/p/13976056.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13799845.html
Go chan - walkingSun
[TOC] chan Channel是Go中的一个核心类型,可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。 receive 操作符 `
2020-10-11T14:25:00Z
2020-10-11T14:25:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] chan Channel是Go中的一个核心类型,可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。 receive 操作符 ` <a href="https://www.cnblogs.com/followyou/p/13799845.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13778112.html
设计模式-工厂模式 - walkingSun
[TOC] 工厂模式 Define an interface for creating an object,but let subclasses decide whichclass to instantiate.Factory Method lets a class defer instantiat
2020-10-07T09:25:00Z
2020-10-07T09:25:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 工厂模式 Define an interface for creating an object,but let subclasses decide whichclass to instantiate.Factory Method lets a class defer instantiat <a href="https://www.cnblogs.com/followyou/p/13778112.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13775499.html
设计模式-单列模式 - walkingSun
[TOC] 单列模式 Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。) 线程不安全 "懒汉模式" 懒汉模式存在线程安
2020-10-06T13:05:00Z
2020-10-06T13:05:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 单列模式 Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。) 线程不安全 "懒汉模式" 懒汉模式存在线程安 <a href="https://www.cnblogs.com/followyou/p/13775499.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13752338.html
MySQL查询优化器 - walkingSun
[TOC] # 查询优化器 Optimizer查询优化器的任务是发现执行SQL查询的最佳方案。explain查看优化器优化过程中的信息```sqlid: MySQL Query Optimizer 选定的执行计划中查询的序列号。表示查询中执行 select 子句或操作表的顺序,id值越大优先级越高,越先被执行。id 相同,执行顺序由上至下。 select_type:查询类型,SIMPLE、PRIM...
2020-09-29T14:55:00Z
2020-09-29T14:55:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] # 查询优化器 Optimizer查询优化器的任务是发现执行SQL查询的最佳方案。explain查看优化器优化过程中的信息```sqlid: MySQL Query Optimizer 选定的执行计划中查询的序列号。表示查询中执行 select 子句或操作表的顺序,id值越大优先级越高,越先被执行。id 相同,执行顺序由上至下。 select_type:查询类型,SIMPLE、PRIM... <a href="https://www.cnblogs.com/followyou/p/13752338.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13610770.html
Go 优势 - walkingSun
[TOC] 讨论下目前语言的优劣,密集型计算的发展方向,面向并发的内存模型的演进,从几个角度来分析下:1. CPU早期语言(C语言),CPU都是以单核的形式顺序执行机器指令。顺序执行意味着在同一时刻只能在一个cpu顺序执行。单核CPU发展停滞,编程语言逐渐开始朝着多核并行化的方向发展,而Go也是在多核环境下原生支持并发的编程语言典范。2. 内存常见的并行编程模型有多线程、消息传递等。由于多线程并...
2020-09-03T13:25:00Z
2020-09-03T13:25:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] 讨论下目前语言的优劣,密集型计算的发展方向,面向并发的内存模型的演进,从几个角度来分析下:1. CPU早期语言(C语言),CPU都是以单核的形式顺序执行机器指令。顺序执行意味着在同一时刻只能在一个cpu顺序执行。单核CPU发展停滞,编程语言逐渐开始朝着多核并行化的方向发展,而Go也是在多核环境下原生支持并发的编程语言典范。2. 内存常见的并行编程模型有多线程、消息传递等。由于多线程并... <a href="https://www.cnblogs.com/followyou/p/13610770.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13592189.html
K8S 整理 - walkingSun
[TOC] kebectl 部署常用操作 服务管理 deployment、service、cronJob、ingress都是支持的 pod信息 查看pod日志 cronjob临时执行 构建job 从一个已有的cronjob载入配置执行 job执行完可以删除pods,避免占用空间 问题排查 查看容器进
2020-08-31T13:55:00Z
2020-08-31T13:55:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] kebectl 部署常用操作 服务管理 deployment、service、cronJob、ingress都是支持的 pod信息 查看pod日志 cronjob临时执行 构建job 从一个已有的cronjob载入配置执行 job执行完可以删除pods,避免占用空间 问题排查 查看容器进 <a href="https://www.cnblogs.com/followyou/p/13592189.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13289574.html
Go Http Request - walkingSun
[TOC] # 传输json通过GET、POST或PUT或PATCH向服务端发送JSON```gofunc GetJson(reqUrl string, params map[string]string, header map[string]string) (response HttpResponse) { response = HttpResponse{ Url: reqU...
2020-07-12T11:45:00Z
2020-07-12T11:45:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] # 传输json通过GET、POST或PUT或PATCH向服务端发送JSON```gofunc GetJson(reqUrl string, params map[string]string, header map[string]string) (response HttpResponse) { response = HttpResponse{ Url: reqU... <a href="https://www.cnblogs.com/followyou/p/13289574.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13217041.html
K8S Volumes 使用场景 - walkingSun
[TOC] # Volumes容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。 首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失——因为容器会以干净的状态重建。 其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两个问题。参考[官方](https://kuber...
2020-06-30T17:25:00Z
2020-06-30T17:25:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] # Volumes容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。 首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失——因为容器会以干净的状态重建。 其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两个问题。参考[官方](https://kuber... <a href="https://www.cnblogs.com/followyou/p/13217041.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/followyou/p/13205378.html
kebectl 部署常用操作 - walkingSun
[TOC] # kebectl 部署常用操作## 起deployment、service、cronJob、ingresskubectl apply -f web-click.yaml## deletekubectl delete -f web-click.yaml## 获取deploymentkubectl get deployment --namespace=bigdata## podkubec...
2020-06-28T14:25:00Z
2020-06-28T14:25:00Z
walkingSun
https://www.cnblogs.com/followyou/
【摘要】[TOC] # kebectl 部署常用操作## 起deployment、service、cronJob、ingresskubectl apply -f web-click.yaml## deletekubectl delete -f web-click.yaml## 获取deploymentkubectl get deployment --namespace=bigdata## podkubec... <a href="https://www.cnblogs.com/followyou/p/13205378.html" target="_blank">阅读全文</a>