logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

分布式ID生成解决方案——雪花生成算法Golang实现

在分布式系统中生成唯一ID的方案有很多,常见的方式有以下几种。雪花算法生成的ID是纯数字且有序的,最早是 Twitter 公司在其内部用于分布式环境下生成唯一 ID,其原始版本是scala版。由首位无效符、时间戳差值,机器编码(由机器id和服务id组成),序号四部分组成。注意,默认的雪花算法是 64 bit,具体的长度可以自行配置。如果希望运行更久,增加时间戳的位数;如果需要支持更多节点部署,增加

#分布式#golang
面向对象分析与设计——GRASP原则

要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效、灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢?这时就需要比23种设计模式更重要更经典的GRASP模式登场了。GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职

#设计模式
利用开源库基于Java实现NSGA-II算法详细教程

一、前言最近,我发现一个开源库,基于该库能够较为简单地使用Java实现NSGA-II算法。NSGA-II相关内容可以参考我之前的博客。开源库github:https://github.com/onclave/NSGA-II注:对于Java实现NSGA-II,使用较为广泛的库是JMetal,个人感觉相对来说上手更难,感兴趣的人可以看看,此博客不予说明。二、使用2.1、简单上手以下代码是文档中给出的默

#java#算法
【Go】gin框架的ShouldBindQuery与BindQuery的区别

前言Gin文档地址:https://gin-gonic.com/zh-cn/docs/examples/binding-and-validation/使用gin框架进行模型绑定时,似乎使用两种绑定方法都可以,我很好奇ShouldBindQuery与BindQuery的区别,于是查了一下资料,果然是自己没有好好看文档。Gin提供了两类绑定方法:Must bindMethods - Bind, Bin

#golang#后端
VMware虚拟机安装CentOS过程

软件及镜像准备软件:产品名称版本号VMware® Workstation 16 Pro16.1.2 build-17966106Linux系统:发行版本版本号下载地址CentOS7.9.2009阿里镜像下载虚拟机中创建系统1、打开Vmware并选择创建新的虚拟机2、选择典型安装或自定义安装典型安装:VMware会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好。自定义安装:自定义安装可以针对

#centos#linux
【Golang】go语言实现数据结构——堆

堆一种特殊的树,满足下面两个条件:堆总是一棵完全二叉树。堆中某个节点的值总是大于等于(小于等于)其所有子节点的值。如果是大于等于情况就称为大顶堆,小于等于情况就是小顶堆。在Java语言中,我们可以直接使用容器PriorityQueue实现堆。Golang也存在类似的实现方式,但本文先介绍一下手动实现,再介绍如何使用golang提供的接口实现。一、手撕代码实现1.1、说明由堆的性质可知,堆是一颗完全

#golang#数据结构
数据库设计(结构化设计方法)——学生考试管理系统

数据库设计(结构化设计方法)——学生考试管理系统文章目录数据库设计(结构化设计方法)——学生考试管理系统作业要求一、需求分析1.1、需求说明1.2、数据流图1.2.1、系统的顶层数据流图1.2.2、系统的第0层数据流图1.3、数据字典1.3.1、数据流1.3.2、数据存储1.3.3、处理过程逻辑二、概念设计2.1、实体2.2、系统局部E-R图2.2.1、教师实体、课程实体和考核点实体的联系2.2.

#数据库
数据库设计(结构化设计方法)——学生考试管理系统

数据库设计(结构化设计方法)——学生考试管理系统文章目录数据库设计(结构化设计方法)——学生考试管理系统作业要求一、需求分析1.1、需求说明1.2、数据流图1.2.1、系统的顶层数据流图1.2.2、系统的第0层数据流图1.3、数据字典1.3.1、数据流1.3.2、数据存储1.3.3、处理过程逻辑二、概念设计2.1、实体2.2、系统局部E-R图2.2.1、教师实体、课程实体和考核点实体的联系2.2.

#数据库
【Go】将切片作为参数传入函数并使用append方法遇到的问题

切片的内部结构:type SliceHeader struct {Data uintptrLen intCap int}由切片的结构定义可知,切片的结构由三个信息组成:指针Data,指向底层数组中切片指定的开始位置长度Len,即切片的长度容量Cap,也就是最大长度,即切片开始位置到数组的最后位置的长度问题:将切片作为函数参数传入时,在函数内使用append方法并不能改变切片。如下述代码所示:fun

#golang
到底了