logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

golang设计模式——建造者模式

其实可以看到,绝大多数情况下直接使用后面的这种方式就可以了,并且在编写公共库的时候,强烈建议入口的参数都可以这么传递,这样可以最大程度的保证我们公共库的兼容性,避免在后续的更新的时候出现破坏性的更新的情况。...

文章图片
#golang#设计模式#建造者模式
golang设计模式——设计原则

七大设计原则:单一职责原则、开闭原则、依赖倒置原则、接口隔离原则、迪米特原则、里氏替换原则、合成复用原则

文章图片
#设计模式
分布式文件存储——文件秒传

每次文件上传到云存储服务,会自动计算文件的HASH值,下一次用户上传,只要Hash值相同就可以省区重复上传,客户端计算文件Hash值传到云端进行对比才可以实现秒传。建立唯一文件表用于存储唯一的文件的信息,而用户文件表存储每个用户的文件的信息,包括重复文件。在db/下创建db/userFile,并创建用户文件结构体和用户文件表的更新。在handler/handler.go的UploadHandler

文章图片
#哈希算法#服务器#golang
golang设计模式——访问者模式

表示一个作用于某对象结构中的各元素的操作。对象结构中的各元素:就是指一个类和类里的各种成员变量,对应UML中的Element。操作:就是指访问者,访问者有操作元素的能力。所以这句话可以解释为:访问者模式,就是访问者可以操作类里的元素。再看定义:它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。这句话主要讲访问者模式的优点:类在不做任何改动的情况下,能够增加新的操作/解析方式。如元素类

文章图片
#访问者模式#golang#设计模式
golang设计模式——备忘录模式

简单写了一个小功能,还是挺麻烦的,我想这也是大家不太想用设计模式的一个原因。但是当使用的时候,却发现这个设计模式能够方便的实现很多功能,这也是有人想用设计模式的原因。备忘录模式虽然不常用,但是对合适的场景还是很有帮助的。

文章图片
#golang#设计模式#备忘录模式
分布式文件存储——使用RabbitMQ实现异步上传

创建数据目录 mkdir /data/rabbitmq # 启动mq docker run -d --hostname rabbit-svr --name rabbit -p 5672 :5672 -p 15672 :15672 -p 25672 :25672 -v /data/rabbitmq:/var/lib/rabbitmq rabbitmq:management。

文章图片
#rabbitmq#分布式#golang
golang设计模式——状态模式

仔细看上面的代码对事件触发状态的转移及动作的执行的改动会很简单可快速增加新的事件增加新的状态也方便,只需添加新的状态类,少量修改已有代码坏处就是类特别多,类里的函数也会特别多,即使这些函数根本无用。不过能获得更好的扩展性,还是值得的。...

文章图片
#状态模式#golang#设计模式
分布式文件存储——阿里云oss存储

代码】分布式文件存储——阿里云oss存储。

文章图片
#分布式#阿里云#云计算
分布式文件存储——分块上传和断点续传

基于分块上传机制实现,传输暂停或者异常中断后,可以基于原来的进度重传。:传输暂停或异常中断后,可基于原来进度重传。redis缓存用于云端与客户端文件信息交互。:文件切成多块,独立传输,上传完成后合并。5、查看分块上传的整体状态。...

文章图片
#运维#数据库#java
Kratos战神微服务框架(二)

使用makefile注:需要安装make指令注:默认是linux命令,windwos需要修改路径service.gobiz层data层data.goconfigs配置文件注:是否需要修改config的makefile

#微服务#服务器#golang
    共 19 条
  • 1
  • 2
  • 请选择