自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 集成Gitlab CI/CD、Docker、Kubernetes来实现流水线部署

基于GitLab CI/CD+Docker+Kubernetes的自动化CI/CD方案与实践细节👾

2022-12-17 22:16:03 649 1

原创 GitLab CI/CD+Docker的CI/CD部署工作流

最近学习了GitLab的CI/CD,想结合GitLab runner和Docker来实现一个简单的自动化CI/CD方案👀

2022-12-17 22:13:04 1523

原创 【堆排|快排】Top-k问题

【堆排|快排】Top-k问题引言两种算法原理大顶堆/小顶堆构造流程:大顶堆的排序流程Golang利用大顶堆算法实现top-k算法快速选择(快排变形)Golang利用大顶堆算法实现top-k算法引言决解top-k问题一般有:堆和快排两种思路两种算法的优劣如下:快速排序算法的时间、空间复杂度都优于堆排序算法但是快速排序算法需要修改原数组,如果原来的数组不能修改的话,还需要拷贝一份数组,造成空间复杂度升高快速排序算法需要保存所有数据后才能选出top-k。如果把数据看成输入流的话,使用堆方法则是

2022-05-27 14:59:19 830

原创 【Go】elasticsearch + go-mysql-elasticsearch 实现中文分词、高亮效果

引言本文使用的开源项目库如下:1.MySQL数据实时同步到elasticsearch的工具库:https://github.com/go-mysql-org/go-mysql-elasticsearch2.elasticsearch 中文分词插件:https://github.com/medcl/elasticsearch-analysis-ik温馨提示:本文使用的是7.17.3版本的elasticsearch,故安装的IK分词器插件也是7.17.3版本的,小伙伴们可以根据自身elasticsea

2022-05-14 16:50:06 768

原创 建立专用隧道实现目标服务器上对应服务的安全访问

引言IPsec VPN 的Github仓库:ipsec-vpn前提条件需要两台服务器分别作为vpn服务器和目标安全访问服务器需要作为vpn服务器的主机上需要提前安装好DockerVPN服务器的搭建选择一台服务器作为vpn服务器并在该服务器上启动IPsec VPN容器,容器启动命令如下:$ docker run \\ --name ipsec-vpn-server \\ --restart=always \\ -v ikev2-vpn-data:/etc/

2022-05-04 13:43:16 2360

原创 【WebSocket】Gin利用WebSocket实现在线聊天室

Gin利用WebSocket实现在线聊天室引言数据结构的定义客户端结构体定义管理使用在线客户端结构体定义消息体的定义Client对应方法的定义Read方法的定义Write 方法的定义Check方法定义ClientManager 对应方法的定义Start方法的定义InitSend方法定义BroadcastSend方法定义Quit 方法定义Gin 对应的处理函数启用最终效果引言使用WebSocket实现实时的在线聊天室有以下3个技术难点:1.实时记录每个用户都在线状态,并实时更新在线用户数量2.实时接

2022-04-22 17:17:32 3871 2

原创 【Go】viper读取Go项目中的配置文件

引言Viper是Go应用程序的完整配置解决方案,包括 12-Factor 应用程序。它设计用于在应用程序中工作,可以处理所有类型的配置需求和格式。它支持:设置默认值读取JSON、TOML、YAML、HCL、envfile和Java properties属性配置文件实时查看和重读配置文件(可选)从环境变量中读取从远程配置系统(etcd或Consor)读取数据,并观察变化从命令行标志读取从缓冲区读取设置显式值Github地址:https://github.com/spf13/viper

2022-02-27 16:22:42 818

原创 gRPC开发: gRPC的四种通信模式

引言gRPC应用程序共有四种基础的通信模式,分别为:一元RPC,服务端流RPC,客户端流RPC以及双向流RPC注:阅读本文,如果没有gRPC基础的同学可以看我之前关于如何简单构建gRPC客户端和服务端的文章:gRPC开发:go语言构建简单的服务端和客户端一元RPC模式服务定义://ecommerce/order_management.pb.gosyntax="proto3";//导入这个包,使用常用的数据类型,如StringValueimport "google/protobu

2022-02-26 22:56:19 2834

原创 Golang IDEA 配置代理提高go get 下载的包的速度

第一步:打开Golang IDEA 的设置界面,打开选择Go Modules选项第二步:在Environment中输入如下配置设置Golang IDEA的GORPOXY和GOPRIVATE环境变量GOPROXY=https://goproxy.io,direct;GOPRIVATE=git.mycompany.com,github.com/my/private设置完毕Apply之后就可以快速地在Golang IDEA下下载go的第三方包了...

2022-02-24 23:19:39 2518 2

原创 【gRPC开发】go语言构建简单的服务端和客户端

gRPC开发:go语言构建简单的服务端和客户端准备工作安装protocol buffers到protocol buffers到github到release页面下载指导压缩包(本文以mac 系统安装protocol buffers为栗子,其他系统方法类型)下载完毕后解压并进入解压后到目录直接依次执行一下命令进行protocol buffers的安装1. ./configure2. make3. make check4. sudo make install5. protoc

2022-02-23 21:41:35 1353

原创 【Gin】Golang Web开发之Gin框架

Golang Web开发之Gin框架概述安装Gin框架Custom HTTP configuration 自定义HTTP配置Gin URLGin文件上传服务Gin中间件自定义日志输出格式 Custom Log Format请求参数的模型绑定 Model binding and validation自定义请求参数验证参数绑定Uri (Bind Uri)参数请求头(Bind Header)Bind HTML checkboxesGin框架的JSON 介绍Gin文件管理HTML模版Custom Template

2022-01-30 22:44:20 1128

原创 【fastapi】利用pyCharm为fastapi项目配置和使用环境变量

pyCharm添加和使用环境变量用途详细过程用途安全性 :有效防止因为代码开源导致数据库账号密码等隐秘信息泄露;便捷性 :一次配置环境变量即可在本当前项目中全局使用;详细过程 本文以利用pyCharm为fastapi项目配置环境变量来讲解首先在项目的启动入口,进行如下设置进行环境变量的相关映射配置from pydantic import BaseSettings, Fieldclass Config(BaseSettings): # redis config

2021-08-22 12:31:13 4666

原创 【超级详细】在Centos7服务器上部署Django项目

将Django项目部署到阿里云的轻量服务器(包含nginx的https配置概览准备工作配置uwsgi配置nginx概览准备工作安装uwsgipip install uwsgi2.安装Nginxyum install nginx配置uwsgi1.现在你的django项目下面创建 以你项目名命名的.xml文件,并写入如下内容:<uwsgi> <socket>127.0.0.1:8000</socket><!-- 内部端口,自定义

2021-06-08 17:42:30 485

原创 【机器学习】入门第一天

K-NN(k-近邻算法)总览算法原理python基础代码知识完整代码如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入总览算法原理K-近邻算法的步骤计算已知类别数据集中的点与当前点间的距离按照距离递增的顺序进行排序选取出距离最小的前k个点找出前k个点中类别出现

2021-05-29 15:41:53 147

原创 【广州大学】数据结构课程设计:神秘国度的爱情故事

数据结构课程设计报告广州大学 计算机科学与网络工程学院计算机系 19级网络工程专业网络194班超级菜狗(学号:19062000)(班内序号:xxx)完成时间:2021年1月11日一.课程设计目的数据结构课程设计是计算机类专业的工程基础课。课程设计的主要内容包括线性表、栈与队列、树、图等经典的数据结构实现,以及排序、查找等经典算法的设计与实现。该门课程设计主要培养学生软件开发的基本能力,包括基本数据结构的设计与实现能力,基本算法的设计、编程与调试能力,...

2021-03-16 14:39:24 2500 2

原创 计算机组成原理课程设计

计算机组成与系统结构课程设计报告学 院: 计算机科学与网络工程学院 专业班级: 网络工程 学 号: 19062000 姓 名: 超级菜狗 完成日期: 2021年 01 月 12 日一、本课程设计的性质、目的、任务 《计算机组成与系统结构课程设计》是计算机学院各专业集中实践性环节之一,是学习完《计算机组成与系统结...

2021-03-16 14:33:17 3066

原创 计算机组成原理课程设计:16条指令的微指令编写详细步骤

SUB指令ADDANDDECCLRRLRRCMOVLDIOUTLDASTAJMPJZJCHALT

2021-01-10 10:06:42 5827 4

转载 二路归并排序

二路归并排序二路归并排序主要运用了“分治算法”,分治算法就是将一个大的问题划分为n个规模较小而结构相似的子问题。这些子问题解决的方法都是类似的,解决掉这些小的问题之后,归并子问题的结果,就得到了“大”问题的解。二路归并排序主旨是“分解”与“归并”分解:1.将一个数组分成两个数组,分别对两个数组进行排序。2.循环第一步,直到划分出来的“小数组”只包含一个元素,只有一个元素的数组默认为已经排好序。归并:1.将两个有序的数组合并到一个大的数组中。2.从最小的只包含一个元素的数组开始两两合并。此时

2020-12-30 17:35:10 693

原创 [数据结构] BFS算法实现层序遍历输出一颗二叉树

题目描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]示例1思路: 在数据结构中BFS遍历序列和层序遍历序列一致故可以用BFS算法实现层序遍历。基本思想是,先让头节点入队,然后再其出队之后将其左右孩子入队,就是在每一个结点出队时随即让其左右孩子入队,这样可以保证队列中的元素个数总与该层的结点数一致。/** * struct TreeNo

2020-12-25 00:47:26 441

原创 【数据结构】判断链表是否有环

思路: 想像一下两个人在操场上跑步,起点相同,快的是不是最后一定会追上慢的。所以在有环的链表中fast指针总是比slow指针走快一步,则每一次slow到fast的距离都会+1,而fast到slow的距离会-1,则fast最后一定会和slow相遇。知道上述原理之后代码实现就简单了/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListN

2020-12-23 23:54:48 141

原创 【牛客网每日一题】二分查找

**题目描述:**给定一个已知长度的有序数组,利用二分查找找出第一个大于或者等于其值的下标(下标位置从1开始)核心代码int Bsearch(int v,vector<int>a,int n){ if(v>a[n-1])return n+1; if(v<a[0])return 1; int i=0,j=n-1,ans=n+1; while(i<=j) {int mid=(j+i)/2; if(v==a[mid]) {

2020-12-22 12:58:54 283

原创 反转链表

每日一题打卡2020.12.20输入一个链表,反转链表后,输出新链表的表头。解题思路:其实就是利用类似栈的方法,依次将原本链表的每一个点像栈一样压入新链表中(为了方便理解我说了新链表,但其实没有创建新链表)。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* Re

2020-12-20 15:58:51 68

原创 [数据结构] 图DFS和BFS遍历算法

[数据结构] 图DFS和BFS遍历算法这里简单的用递归算法实现DFS算法;利用队列简单实现BFS算法DFS算法实现图的邻接矩阵的遍历原理很简单,先用一个数组标记已经访问过的结点,并且依次递归访问每一个顶点的邻接点直到所有顶点都被访问过为止。因为在访问每一个顶点时顺便把其编号输出,所有最后得到的就是这整个图的DFS遍历序列。int Visist[MAX]={0};//定义全局变量观察每一个被访问过的结点static int _count=0;//记录DFS的输出次数void DFS(G

2020-12-20 15:19:43 968

原创 (语言:C++)求迷宫最短路径问题

(语言:C++)求迷宫最短路径问题以该迷宫位例子求点(1,1)到点(3,2)的最短路径1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 0, 0, 1, 0, 0, 0, 1, 0, 11, 0, 0, 1, 0, 0, 0, 1, 0, 11, 0, 0, 0, 0, 1, 1, 0, 0, 11, 0, 1, 1, 1, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 1, 0, 0, 11, 0, 0,

2020-11-16 22:20:11 969

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除