- 博客(99)
- 收藏
- 关注

原创 软件开发工程师知识整理(数据结构)
1 计算机科学1.1 数据结构数据:客观事物的符号表示,是所有能输入到计算机中并能被计算机程序处理的符号的总称。数据元素:数据的基本单位,也称元素、记录。(单元格)数据项:组成数据的、有独立含义的、不可分割的最小单位。(行)数据对象:性质相同的数据元素的集合。(列)数据结构:相互之间存在一种或多种特定关系的数据元素的集合。数据类型:一个值的集合和定义在这个值集上的一组操作的总称。抽象数据类型:由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象
2020-08-20 20:54:56
2043
原创 SpringBoot学习(一)——Maven安装
Maven的下载页面:https://maven.apache.org/download.cgi。
2023-12-13 11:31:12
729
原创 Nginx安装及常用优化和配置
Nginx编译安装(ssl、stream模块安装)TCP转发、SSE、Websocket配置、负载均衡反向代理、ssl配置、高德地图配置、文件服务器
2022-07-19 07:33:03
2341
原创 Go语言RSA加密算法的常用api整理(go-rsa文档)
go-rsa,rsa公私钥生成、公私钥保存、证书生成、pfx证书读取、加密解密、sha1withrsa签名验签
2022-06-07 19:30:24
545
原创 Go语言的sm2加密算法封装
随机生成公私钥// CreateSM2Key/** * @Description: 随机生成公私钥 * @return privateKey * @return publicKey * @return err */func CreateSM2Key()(privateKey *sm2.PrivateKey,publicKey *sm2.PublicKey,err error) { // 生成sm2秘钥对 privateKey, err = sm2.GenerateKey(ran
2022-05-10 10:36:28
3690
原创 MySQL常见错误及处理方法
1205 - Lock wait timeout exceeded; try restarting transaction出现此错误是因为语句被锁住了,所以释放这个锁,首先查询被锁的语句select * from information_schema.innodb_trx;执行kill命令kill 141865400;
2022-04-13 17:56:38
534
原创 Go随机数的简单实现
为了保证每次可以生成不一样的随机数,需要设置随机种子var ( // 设置随机种子 r = rand.New(rand.NewSource(time.Now().Unix())))生成指定范围内的整数// RandInt/** * @Description: 随机整数 * @param start * @param end * @return v */func RandInt(min, max int) (v int) { return r.Intn(max-min)
2022-03-29 09:19:11
443
原创 Go操作中文字符串
因为Go中字符串是以[]byte形式存储的,而Unicode字符中一个地方对应多个字节,所以不能直接进行便利,需要先将其转化为[]rune再进行操作package chinesevar Chinese = new(chinese)type chinese struct{}// Len/** * @Description: 获取中文字符串长度 * @receiver c * @param str * @return int */func (c chinese) Len(st
2022-03-21 14:39:14
913
原创 Go发送Get / Post请求到服务器(Params、application/json、application/x-www-form-urlencoded、multipart/form-data)
因为近期遇到了需要请求第三方接口的功能需求,故将常见的请求方式统一封装整理。一般来说,我们使用GET请求从服务器获取数据,当都需要对服务器数据进行变更是,则需要使用POST请求Get请求普通GET请求// Get/** * @Description: 标准的get请求 * @receiver h * @param urlPath http接口地址 * @return data * @return err */func (g *GetRequest) Get(urlPath strin
2022-03-05 11:53:31
1966
原创 Go语言常见类型转换(int、int32,int64,float32、float64与string类型互转)
Go语言常见类型转换(int、int32,int64,float32、float64与string类型互转)
2022-03-03 23:20:48
8713
原创 高并发接口限流方案
高并发系统用于保护系统有三种利器:缓存、降级、限流。服务端限流的方案可以归纳为两窗两桶(固定窗口,滑动窗口,漏桶算法,令牌桶算法)固定窗口法固定时间周期划分时间为多个时间窗口,如:每10秒为一个时间窗口在每个时间窗口内,每有一个请求,计数器加一当计数器超过限制,丢弃本窗口之后的所有请求当下一时间窗口开始,重置计数器缺点通过请求量为允许限制的两倍假设限制1秒内最多通过10个请求,在第一个窗口的最后半秒内通过了10个请求,第二个窗口的前半秒内又通过了10个请求。这样看来就是在1秒内通
2022-02-22 14:54:15
1825
原创 Casbin实现RBAC
Casbin框架Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。官网:https://casbin.org/docs/zh-CN/rbac-with-domains-api中文文档:https://casbin.org/docs/zh-CN/overviewRBAC API:https://casbin.org/docs/zh-CN/rbac-api域内基于角色的访问控制 API:https://casbin.org/docs/zh-CN/rbac-with-
2021-12-15 14:15:02
1449
原创 数据库导出数据字典(MySQL)
MySQLMySQL数据库可以利用information_schema库中的columns表快速导出数据字典。执行以SQL语句即可对数据字典进行查询:SELECT TABLE_NAME AS '表名', COLUMN_NAME AS '字段名', COLUMN_TYPE AS '数据类型', IS_NULLABLE AS '允许为空', COLUMN_KEY AS '键', COLUMN_COMMENT AS '字段说明', COLUMN_DEFAULT AS '字段默认值',FRO
2021-12-02 09:09:02
6637
原创 Golang开发工程师面试题整理
Go语言Go语言中数组和切片的区别是什么?它们可以相互转化吗?切片是指针类型,数组是值类型;数组的长度是固定的,而切片不是(切片可以看成动态的数组);切片比数组多一个容量(cap)属性;切片的底层是数组。相互转化因切片和数组的类型不同,不能彼此直接赋值。可以使用[:]方式将数组转换成切片。// 初始化一个数组a0 := [2]int{1, 2}// 初始化一个切片s1 := make([]int, 5, 5)fmt.Println(a0)fmt.Println(s1)/
2021-11-26 12:14:29
1441
原创 gin-start,实现一个通用的Gin项目模板
Gin 是一个用 Go (Golang) 编写的 web 框架,是性能和高效的追求者的不二选择。随着开发的项目逐渐增多,现将一些经验整理出来,制作一个Gin项目的通用模板,欢迎大家一起学习讨论。Github地址:https://github.com/melf-xyzh/gin-startGitee地址:https://gitee.com/melf-xyzh/gin-start创建项目1、在Goland中新建一个go项目,在环境输入框中配置代理:https://goproxy.cn/Hel
2021-11-10 10:47:46
1456
原创 机器学习之LSTM的Python实现
机器学习之LSTM的Python实现什么是LSTM?LSTM(长短期记忆人工神经网络),是一种可以学习长期依赖特殊的RNN(循环神经网络)。传统循环网络RNN虽然可以通过记忆体,实现短期记忆,进行连续数据的预测。但是当连续数据的序列变长时,会使展开时间步过长,反向传播更新参数时梯度要按时间步连续相乘,会导致梯度消失。故引入LSTM(长短期记忆人工神经网络)。LSTM的核心理念循环核注:iti_tit:输入门(门限)ftf_tft:遗忘门(门限)oto_tot:输出门(门限)Ct
2021-11-04 11:13:11
31230
8
原创 PyTorch快速入门
什么是PyTorch?PyTorch是基于以下两个目的而打造的python科学计算框架:无缝替换NumPy,并且通过利用GPU的算力来实现神经网络的加速。通过自动微分机制,来让神经网络的实现变得更加容易。安装pip install torchpip install torchvision张量什么是张量(Tensor)?可以将张量通俗的理解为多维数组维数阶名字数学实例示例0-D0标量(scalar)数字(只有大小)2551-D1向量(vec
2021-11-01 18:06:55
593
原创 机器学习之多项式曲线拟合的Python实现
1、什么是多项式曲线拟合多项式拟合就是我们需要得到一个无限逼近真实曲线的的多项式:y(x,W)=w0+w1x+w2x2+…+wkxk=∑i=0kwixiy(x,W) = w_0 + w_1x + w_2x^2 + … + w_kx^k = \sum_{i=0}^{k}w_ix^iy(x,W)=w0+w1x+w2x2+…+wkxk=i=0∑kwixi注:kkk 为多项式的阶数w0,…,wkw_0,…,w_kw0,…,wk为多项式的系数,记为WWW使用均方误差作为误差函数对拟
2021-10-27 17:18:44
3851
1
转载 C# LINQ和Lambda表达式详解
简单的查询语句LINQ语法var data=from a in db.Areas select a ;Lamda语法var data=db.Areas;SQL语法string sqlStr=" SELECT * FROM Areas ";简单的Where语句LINQ语法var data=from a in db.orderInfo where a.orderId > 20 select a ;Lamda语法var data=db.orderInfo.Where( t=&
2021-10-15 15:18:33
492
原创 ASP.NET Core 项目分层的第一个接口实现(基于Net.Core 3.1和Visual Studio 2019)
添加实体模型在项目根目录下新建Models文件夹,在这里可以创建实体类using Microsoft.EntityFrameworkCore;using System;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;namespace EFGetStarted.Models{ public class Company {
2021-10-14 18:08:24
410
原创 ASP.NET Core 使用EF Core连接MySQL创建 Web API(基于Net.Core 3.1和Visual Studio 2019)
创建 Web 项目[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dnByQgCM-1634203950476)(C:\Users\MELF\AppData\Roaming\Typora\typora-user-images\image-20211014094208764.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u7ke4xOr-1634203950479)(C:\Users\MELF\AppData\Roaming\Typo
2021-10-14 17:41:16
906
原创 使用 ASP.NET Core 创建 Web API(基于Net.Core 3.1和Visual Studio 2019)
使用 ASP.NET Core 创建 Web API创建Web项目打开Visual Studio 2019,点击创建新项目选择ASP.NET Core Web API输入项目名称,勾选将解决方案和项目房租同一目录中选择目标框架为.NET Core 3.1,勾选配置HTTPS生成的项目目录结构如下图所示运行项目会在浏览器中跳转出如下内容添加模型类在项目根目录下新建Models文件夹点击右键,选择添加,选择类。将类命名为TodoItem新建的TodoItem类如图所示
2021-10-13 17:30:02
1947
原创 Gin + gRPC双向流模式 + sse实现grpc客户端到前端界面的消息推送
Gin + gRPC + sse实现grpc客户端到前端界面的消息推送功能需求工厂客户端与服务端通过gRPC连接突破工厂防火墙(不需要额外开启端口)前端可以控制数据推送的开启和停止前端数据大屏显示(实时数据)实现定义gskmes3.protosyntax = "proto3"; // 语法使用 protocol buffer proto3// 包名: gskmes3package gskmes3;option go_package = "./gskmes3";/* 服
2021-09-02 15:49:26
3116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人