- 博客(30)
- 资源 (4)
- 收藏
- 关注
原创 Golang:依赖注入与wire
依赖注入(dependency injection,缩写DI)是一种软件设计模型,用于实现类之间的解耦和依赖关系的管理。它通过将依赖关系的创建和维护责任转移到外部容器中,使得类不需要自己实例化依赖对象,而是由外部容器动态地注入依赖。依赖注入的实现方式包括构造函数注入、属性注入、接口注入等,每种方式都有其特定的用途和优势。修改后代码,我们把db的初始化放到了NewService的外面,在调用NewService的时候将其通过传参的方式传递过来。在Golang只使用依赖注入的核心目的,其实就是为了解耦代码。
2024-06-15 22:45:00
2092
3
原创 Golang:浅析Context包
在golang官方文档中是这样介绍context包的:在context包中定义了context类型来在不同的Goroutine 之间传递上下文,携带截止时间、取消信号以及携带上下文的系统参数(k-v)的类型。对服务器的传入请求应该创建上下文,对服务器的传出调用应该接受上下文。它们之间的函数调用链必须传播上下文,可以选择将其替换为使用WithCancel、WithDeadline、WithTimeout或WithValue创建的派生上下文。
2023-10-31 10:04:43
382
1
原创 Go中的编程模式:Pipeline
本文章我们重点来介绍一下 Go 编程中的 Pipeline 模式。用过 Linux 命令行的人都不会陌生,它是一种把各种命令拼接起来完成一个更强功能的技术方法,在C语言中也有pipe管道的叫法,具体的有兴趣的同学也可以去了解。现在的流式处理、函数式编程、应用网关对微服务进行简单的 API 编排,其实都是受 Pipeline 这种技术方式的影响。Pipeline 可以很容易地把代码按单一职责的原则拆分成多个高内聚低耦合的小模块,然后轻松地把它们拼装起来,去完成比较复杂的功能。
2023-10-20 15:16:59
367
原创 Qt+go-Fastdfs 仿百度云盘开发笔记-服务端功能实现(二)
Qt+go-Fastdfs 仿百度云盘开发笔记-服务端功能实现,使用Gin框架,数据存储使用Mysql.
2023-03-31 22:19:59
248
原创 Qt+go-Fastdfs 仿百度云盘开发笔记(一)
Qt+go-Fastdfs 仿百度云盘开发笔记,基于Nginx作为反向代理和轻量级web服务器,客户端使用Qt搭建,后台应用使用Go-Gin框架开发。分布式解决方案用Go-Fastdfs,简介和安装部署可参考Go-Fastdfs安装部署,数据存储使用mysql和redis进行缓存。
2022-12-11 22:25:40
781
原创 Opencv开发笔记(三):使用形态学滤波对图像进行边缘及角点检测
Qt+opencv使用形态学滤波对图像进行边缘及角点检测,从而获取一副灰度图像的边缘图。
2022-11-03 22:08:32
673
原创 OpenCV开发笔记:mingwQt5.9.1和opencv3.4.1的搭建开发环境
cmake mingw 编译opencv 搭建Qt+opencv开发环境
2022-10-16 16:52:54
823
原创 Anaconda2安装及环境移植使用
一、Anaconda安装·执行bash Anaconda2-4.4.0-Linux-x86_64进行Anaconda的安装··进入安装程序,提示输入“ENTER”继续:·Please,pressENTERtocontinue>>>ENTER复制代码··输入yes确认接受许可协议·Doyouacceptthelicenseterms?[yes|no][no]>>>yes复制代码··...
2021-04-07 15:22:44
789
原创 使用Python+Qt5 制作带UI界面的多线程配爬取小程序
M3U8文件,ts格式视频文件爬取 带DUI界面的爬取软件 开发语言:Python+QT5 使用多线程爬取下载视频文件,可使用配置文件修改线程数量。GitHub:https://github.com/asdbaihu/Crawler-9.git
2021-03-31 10:14:31
374
原创 TBase环境部署过程及使用一
TBase简介Tbase是腾讯开源的一个提供写可靠性,多主节点数据同步的关系数据库集群平台.你可以将Tbase配置一台或者多台主机上,Tbase数据存储在多台物理主机上面.数据表的存储有两种方式,分别是分布式或者复制,当向TBase发送查询SQL时,TBase会自动向数据节点发出查询语句并获取最终结果。TBase采用分布式集群架构(如下图),该架构分布式为无共享(无共享)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理
2020-07-22 14:57:14
3969
原创 OpenSSL-OpenSSH 安全漏洞(CVE-2018-0739)离线升级-自制脚本一键升级
因为最近项目使用绿盟扫描,出现一些安全漏洞,查找资料发现是openssl、openssh版本低的原因,所有记录一次离线升级openssl、openssh。查看openssl与openssh的现有版本openssl# openssl version -aopenssh# ssh -V...
2020-06-12 17:13:07
1520
2
原创 Centos7虚拟机联网配置及配置源
首先虚拟机的网卡模式设置为NAT模式尽量不要有配置多个网卡,使用一个网卡设置。我在配置两个网卡驱动的时候发现,我的网卡配置信息文件只有一个,这个时候一直无法链接外网vim /etc/yum.conf 编辑yum的配置文件设置代理vim /etc/yum.repos.d/CentOS-Base.repo 配置yum的源信息,这里要注意的是配置的时候不同系统的key值有可能不一样,在Centos下的记得按baseurl=源链接配置,这个baseurl不能为其它名称。...
2020-06-09 15:48:02
147
原创 【golang分布式文件系统】go-fastdfs分布式文件系统搭建
###一、FastDFS简介 go-fastdfs是一个基于http协议的开源的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。 项目地址:https://github.com/happyfish100/fastdfs ###二、go-fastdfs (go语言版本的FastDFS) 项目地址:https://github.com/sjqzhang...
2020-06-02 15:04:14
5792
转载 Go发起Http请求及获取相关参数
golang要请求远程网页,可以使用net/http包中的client提供的方法实现。查看了官方网站有一些示例,没有太全面的例子,于是自己整理了一下。get请求get请求可以直接http.Get方法,非常简单。func httpGet() { resp, err := http.Get("http://www.01happy.com/demo/accept.php?id=1") ...
2018-11-13 19:49:21
2142
原创 libcurl库的使用的
libcurl库的使用的一些心得一、概述最近由于要做一个下载工具,最开始想到了libcurl库,和它提供的一些接口。网上的很多资料都是不全,或者是没有什么例子的,由于资质驽钝,使用libcurl库提供的api总是不那么顺畅。最后通过自己努力和查看官网提供的一些帮助文档和例子,终于把这个下载器制作出来了,现在把一些心得写出来,供后来人少走些弯路吧。(国内的程序猿总是没有多少分享精神的,很多资料的...
2018-11-11 18:38:02
284
原创 Golang Http 学习
go模拟json格式数据请求方式package mainimport ( "net/http" "fmt" "io/ioutil""bytes") func main(){ url := "http://www.baidu.com/" //你要请求的url地址 cx_json :={"user":"aaa","
2018-11-11 15:43:36
96
原创 C++ Excel文件读写之简便方法
对于 文件的 读写, 当然是 文本文件 最好读,最好写,没有 什么文件结构 需要考虑。 对于windows 下的 excel 等文件 进行操作时就不是那么容易了,大家可以搜搜 ,基本上都是都复杂的方式才能读写。 当然,这也不是我的的独创,在某些CSDN 的角落 也有本文类似的表达,咱们不必较真。关键: CSV 格式的文件,是一种文本文件,可以通过 C++ 的文件流简单的读...
2018-03-09 19:57:55
5960
4
转载 C++ 面试基础
转自:http://blog.sina.com.cn/s/blog_a8b2435901013nw3.html1,关于动态申请内存答:内存分配方式三种:(1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。全局变量,static变量。(2)在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运...
2018-03-09 19:54:41
179
转载 Opencv Mat操作大全
[cpp] view plain copy#include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main() { float array[]={1,2,3}; float array1[]={2,3,1}; ...
2018-03-09 19:52:16
1612
Qt+go-Fastdfs 仿百度云盘开发笔记代码一,试用Qt实现登录和注册功能
2022-12-11
update_ssh_ssl.tgz
2020-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人