10 2022 档案
摘要:1.使用值为 nil 的 slice、map会发生啥 允许对值为 nil 的 slice 添加元素,但对值为 nil 的 map 添加元素,则会造成运行时 panic。 // map 错误示例 func main() { var m map[string]int m["one"] = 1 // er
阅读全文
摘要:一 前言 此项目为冬奥会智能分析与预测可视化平台,这个项目是用于参加中国大学生计算机设计大赛-信息可视化设计赛道的项目,最终获得国赛三等奖的成绩。现在主要介绍一下本项目的使用随机森林算法预测国家下一届获得的奖牌。 本项目对于下届冬奥会各个国家获得奖牌的预测是重点难点,经过翻阅大量的资料与阅读各种预测
阅读全文
摘要:权限管理 Casbin是用于Golang项目的功能强大且高效的开源访问控制库。 1. 特征 Casbin的作用: 以经典{subject, object, action}形式或您定义的自定义形式实施策略,同时支持允许和拒绝授权。 处理访问控制模型及其策略的存储。 管理角色用户映射和角色角色映射(RB
阅读全文
摘要:前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的
阅读全文
摘要:前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的
阅读全文
摘要:前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的
阅读全文
摘要:插件 QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK http://github.com/go-pay/gopay 发送邮件库 https://github.com/go-gomail/gomail 读写Microsoft Excel https://github.com/360
阅读全文
摘要:一 什么是Micro? Micro是一个微服务生态系统,致力于提供产品,服务和解决方案,以实现现代软件驱动型企业的创新。我们计划成为任何与微服务相关的事实资源,并期待公司能够利用这项技术为自己的业务。从早期的原型开始一直到大规模的生产部署。 我们已经看到行业发生根本性转变。摩尔定律是有效的,我们每天
阅读全文
摘要:1.输入输出的底层原理 终端其实是一个文件,相关实例如下: os.Stdin:标准输入的文件实例,类型为*File os.Stdout:标准输出的文件实例,类型为*File os.Stderr:标准错误输出的文件实例,类型为*File 以文件的方式操作终端: package main import
阅读全文
摘要:一 channel介绍 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。 Go语言的并
阅读全文
摘要:Goroutine详解 goroutine的概念类似于线程,但 goroutine是由Go的运行时(runtime)调度和管理的。Go程序会智能地将 goroutine 中的任务合理地分配给每个CPU。Go语言之所以被称为现代化的编程语言,就是因为它在语言层面已经内置了调度和上下文切换的机制。 在G
阅读全文
摘要:一 互联网协议介绍 1.1互联网分层模型 互联网的逻辑实现被分为好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的只是最上面的那一层,根本不会感觉到下面的几层。要理解互联网就需要自下而上理解每一层的实现的功能。 如上图所示,互联网按照不同的模型划分会有不用的分层,但是不
阅读全文
摘要:一 闭包详解 闭包的应该都听过,但到底什么是闭包呢? 闭包是由函数及其相关引用环境组合而成的实体(即:闭包=函数+引用环境)。 “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 维基百科讲,闭包(Closure
阅读全文
摘要:一 select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 select 是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收
阅读全文
摘要:一 什么是Map key,value存储 最通俗的话说Map是一种通过key来获取value的一个数据结构,其底层存储方式为数组,在存储时key不能重复,当key重复时,value进行覆盖,我们通过key进行hash运算(可以简单理解为把key转化为一个整形数字)然后对数组的长度取余,得到key存储
阅读全文
摘要:前言 切片是 Go 中的一种基本的数据结构,使用这种结构可以用来管理数据集合。切片的设计想法是由动态数组概念而来,为了开发者可以更加方便的使一个数据结构可以自动增加和减少。但是切片本身并不是动态数据或者数组指针。切片常见的操作有 reslice、append、copy。与此同时,切片还具有可索引,可
阅读全文
摘要:一 前言 此项目为冬奥会智能分析与预测可视化平台,这个项目是用于参加中国大学生计算机设计大赛-信息可视化设计赛道的项目,最终获得国赛三等奖的成绩。现在主要介绍一下本项目的后端项目搭建。 二 框架与技术栈 本项目采取的框架为Go中的gin框架: Gin是一个golang的微框架,封装比较优雅,API友
阅读全文
摘要:一 前言 此项目为冬奥会智能分析与预测可视化平台,这个项目是用于参加中国大学生计算机设计大赛-信息可视化设计赛道的项目,最终获得国赛三等奖的成绩。现在主要介绍一下本项目的数据库设计。 二 数据库选择 本项目选择的数据库为MySQL数据库。 2.1 MySQL数据库 MySQL是一个关系型数据库管理系
阅读全文
摘要:一 前言 此项目为冬奥会智能分析与预测可视化平台,这个项目是用于参加中国大学生计算机设计大赛-信息可视化设计赛道的项目,最终获得国赛三等奖的成绩。 此项目主要包括两部分,第一为冬奥会的数据分析与图表展示,第二为下届冬奥会各个国家奖牌的预测,预测使用的方法为随机森林。 本项目已经部署上线,大家可以点击
阅读全文
摘要:前言 优雅关机就是服务端关机命令发出后不是立即关机,而是等待当前还在处理的请求全部处理完毕后再退出程序,是一种对客户端友好的关机方式。而执行Ctrl+C关闭服务端时,会强制结束进程导致正在访问的请求出现问题。 实现原理 Go 1.8版本之后, http.Server 内置的 Shutdown() 方
阅读全文
摘要:前言 PCA(主成分分析)是十大经典机器学习算法之一。PCA是Pearson在1901年提出的,后来由Hotelling在1933年加以发展提出的一种多变量的统计方法。 PCA算法介绍 PCA(principal components analysis)即主成分分析技术,又称主分量分析,旨在利用降维
阅读全文
摘要:@ 前言 1.工作中,经常需要合并多个Excel文件。如果文件数量比较多,则工作量大,易出错,此时,可以使用Python来快速的完成合并。 2.使用方法:将需要合并的多个Excel文件放到同一个文件夹下,程序运行后,输入文件夹目录的地址即可,完成合并后会将合并后的文件放在当前目录下。 3.可以查看代
阅读全文
摘要:前言 二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用python来生成二维码、以及识别二维码。 二维码基础知识 从图中我们可以看出二维码结构整体划分为功能图形和编码区两大部分,功能图形又细分为:空白区、位置探测图形、位置探测图形
阅读全文