runtime功能go
go互斥锁
互斥锁的定义 type Mutex struct { state int32 sema uint32 } 一个 sema,背后实际上 是一个 休眠队列,可以看下上篇。 一个state,这个状态 分为4个部分。 后三位 各自代表一个状态。 前29位代表最大可等待协程的个数。 state的结构 lock ......
袋鼠云产品功能更新报告08期|近百项全新功能和优化,你要的都在这里!
欢迎来到袋鼠云08期产品功能更新报告!在瞬息万变的市场环境中,我们深知客户的需求与期待,因此,我们及时推出袋鼠云最新产品更新及优化,包括数据治理中心、Hive SQL 性能优化、新插件等,助力企业在数字世界中勇往直前。 以下为袋鼠云产品功能更新报告08期内容,更多探索,请继续阅读。 离线开发平台 新 ......
Go--命名规则
在Go语言中,项目名和文件名的命名规则有一些建议和惯例。以下是一些常见的规则和最佳实践: 项目名: 项目名应该简短、有意义,并能够清晰地表达项目的目的或功能。 项目名通常使用小写字母,使用连字符或下划线分隔单词。 项目名不应包含特殊字符或空格。 项目名应尽量避免与现有的库或包名冲突。 文件名: 文件 ......
Go语言实现GoF设计模式:备忘录模式的实践探索
在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外进行保存,以便在未来将对象恢复到原先保存的状态。 ......
直播平台源代码,实现一个简单的带tabs选项卡切换的首页导航功能
直播平台源代码,实现一个简单的带tabs选项卡切换的首页导航功能 package.json: { "name": "angular-router", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": ......
StackGres 1.6 数据库平台工程功能介绍以及快速上手
StackGres 1.6 数据库平台工程功能 声明式 K8S CRs StackGres operator 完全由 Kubernetes 自定义资源管理。除了 kubectl 或任何其他 Kubernetes API 访问之外,不需要安装任何客户端或其他工具来管理 StackGres。您的请求由 ......
go锁基础 - atomic、sema
atomic和sema是实现go中锁的基础,简单看下他们的实现原理。 atomic `atomic 常用来作为保证原子性的操作。 当多个协程,同时一个数据进行操作时候,如果不加锁,最终的很难得到想要的结果。 var p int64 = 0 func add() { p = p + 1 } func ......
使用Go Validator在Go应用中有效验证数据
使用Go Validator在Go应用中有效验证数据 原创 TimLiu 爱发白日梦的后端 2023-12-01 08:01 发表于广东 作为一名开发者,确保Go应用中处理的数据是有效和准确的非常重要。Go Validator是一个开源的数据验证库,为Go结构体提供强大且易于使用的数据验证功能。本篇 ......
go-GMP 协程切换时机 和 协程实战
当m在执行某个g的时候,g非常耗时,例如一个for循环,每次循环sleep1分钟,循环1000次。 这个例子看似无聊,却是很难解决的,成功的避开了2个系统切换时机。 如果这个时候,一直执行这个g,别的g就会得不到执行,例如有g是处理用户支付的,这样就会造成收钱不积极。 协程饥饿问题 本地队列 本地队 ......
通过.NET Core+Vue3 实现SignalR即时通讯功能
.NET Core 和 Vue3 结合使用 SignalR 可以实现强大的实时通讯功能,允许实时双向通信。在这个示例中,我们将详细说明如何创建一个简单的聊天应用程序,演示如何使用 .NET Core SignalR 后端和 Vue3 前端来实现实时通讯功能。 步骤1:准备工作 确保你已经安装了以下工 ......
go-GMP
go的协程和线程都绕不过GMP,关于GMP基本的工作流程,有go开发经验的大致都懂,这边更多关注GMP如何解决一些类似 协程饥渴的问题,以及底层的大致实现原理。 多线程循环 上篇讲了单线程是如何循环的,这里还是为 GMP的出场 大致介绍下。 工作模型 多个M都去全局G的队列中获取 g,所以,全局g的 ......
Centos7如何安装asp.net core runtime 8
centos 7 目前为止只支持 7,所以官方的文档 https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-centos 也写的很明白,但是有时候还是会怀疑是不是没更新,于是找到了这篇文章:https://github.com/dot ......
go build 跟 go run 的区别
go build 和 go run 是 Go 语言中两个常用的命令,它们的主要区别在于编译和执行的过程。 1.go run go run 命令用于编译并运行 Go 程序。它将源代码直接编译成可执行文件,并立即运行该文件。这个命令非常适合用于快速测试和运行小规模的代码片段。 使用 go run 命令时 ......
(转)Go实现随机加盐密码认证
原文:https://juejin.cn/post/7068192471498358821 为什么要加密 人们往往有使用同一密码的习惯, 为了防止数据库意外泄露/破坏和出于保护用户隐私的目的, 不应在数据库里存入用户密码明文 实现 代码 scss 复制代码 package main import ( ......
python flask下载功能
前言 flask 下载功能 一、约定 要下载文件绝对路径:/tmp/flask_web/download/test.tar.gz py主程序:/tmp/flask_web/main.py 二、main.py 内容 @app.route("/down/<path:filename>", methods ......
Dokcer + nginx + Gitee Go 实现一键化部署你的项目
- 什么是 CICD 是指持续集成、持续发布,是⼀套实现软件的构建测试部署的⾃动化流程。 什么是 DevOps ⼀词是由英⽂ Development(开发)和 Operations (运维)组合⽽成 ⼀种思想,强调软件开发测试运维的⼀体化,减少各个部⻔之间的沟通成本从⽽实现软件的快速⾼质 ᰁ 的发布 ......
微信小程序使用canvas生成分享海报功能复盘
前言 近期需要开发一个微信小程序生成海报分享的功能。在 h5 一般都会直接采用 html2canvas 或者 dom2image 之类的库直接处理。但是由于小程序不具备传统意义的 dom 元素,所以也没有办法采用此类工具。 所以就只能一笔一笔的用 canvas 画出来了,下面对实现这个功能中遇到的问 ......
前端自动复制功能
一、步骤 1、input,value是你想复制的内容 2、聚焦input的文字,input.select() 3、执行copy命令 document.execCommand("Copy") 4、判断是否成功——不准确,但是有比没有好。 二、代码实现 let inputs=document.creat ......
go的GPM - 协程的本质
协程与线程 线程在创建、切换、销毁时候,需要消耗CPU的资源。 协程就是将一段程序的运行状态打包, 可以在线程之间调度。减少CPU在操作线程的消耗 进程用分配内存空间 线程用来分配CPU时间 协程用来精细利用线程 协程的本质是一段包含了运行状态的程序 后面介绍后,会对这个概念更好理解 协程的本质 上 ......
夜莺项目发布 v6.4.0 版本,新增全局宏变量功能
大家好,夜莺项目发布 v6.4.0 版本,新增全局宏变量功能,本文为大家简要介绍一下相关更新内容。 全局宏变量功能 像 SMTP 的配置中密码类型的信息,之前都是以明文的方式在页面展示,夜莺支持全局宏变量之后,可以在变量管理配置一个 smtp_password 的密码类型的变量,在 SMTP 配置页 ......
安装go
1. 安装包直接安装 2. 配置环境变量 GOPARH: 新建的,用来存放go项目代码的地址 GOROOT: 你安装go的目录 3. 创建文件目录 在GOPATH地址下面,创建3个文件夹 ......
界面组件DevExpress Reporting v23.1新版亮点 - UX功能增强
DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表 界面组件DevExpress Reporting v23.1已于前段时间 ......
一行代码解决IE停用后无法继续使用IE弹窗功能的问题
微软确认将在2023年2月14日通过Edge浏览器更新,彻底封死IE。Windows Update中没有记录、开始菜单中的IE以及桌面IE图标双击自动打开Edge,默认程序设置了IE也没有任何效果,仅能通过Edge浏览器设置IE模式浏览。但是之前通过这种方式使用IE最近发现无法弹窗了,而有些IE应用 ......
功能特别全面又强大的同步备份软件,你找到了吗?
随着企业规模的不断扩大,许多企业都会拥有自己的数据中心。因此每日员工都需要在服务器与服务中心之间调取文件,同时还需要对每日新增的业务数据进行实时同步。如果量比较小,一般问题不大;一旦数据比较大,量也比较大,就很容易出现问题,光靠人为的检查和重复传输,太耗费精力。部署一套同步备份软件是企业IT部门最常 ......
.net下功能强大的HTML解析库HtmlAgilityPack,数据抓取必备
.net下功能强大的HTML解析库HtmlAgilityPack,数据抓取必备 HtmlAgilityPack是一个.NET平台下的HTML解析库,它可以将HTML文本转换为DOM文档对象,方便我们对HTML文本进行操作和分析。HtmlAgilityPack支持XPath语法,可以通过XPath表达 ......
go数据类型-空结构体、空接口、nil
空结构体 func main() { a := struct{}{} fmt.Println(unsafe.Sizeof(a)) fmt.Printf("%p\n", &a) } 打印 0 0x117f4e0 有经验的开发人员都知道,所有的空结构体是指向一个 zerobase的地址,而且大小为0 一 ......
IIS 10的重大更新通常会随着Windows Server和Windows 10的累积更新一起发布,这些更新可能包括性能改进、安全性增强、新功能和修复程序
IIS 10是Windows Server 和Windows 10操作系统中内置的Web服务器角色。针对IIS 10的重大更新通常会随着Windows Server和Windows 10的累积更新一起发布,这些更新可能包括性能改进、安全性增强、新功能和修复程序。 在过去的更新中,IIS 10可能会获 ......
Go代码优化
1、Go 语言的 if 语句允许在条件之前传递一个语句。 原始代码: f, contains := factory[string(token)] if contains { // Do something } 优化:(稍微提高了代码的可读性) if f, contains := factory[sT ......
如何在安防视频监控平台EasyCVR首页增添统计设备每个小时的温度展示功能?细节如下
首先开启一个定时器,每个小时自动生成摄像头温度保存到数据库,在提供查询接口供前端查询某个摄像头当天的温度 ......
go数据类型-sync.map
定义 在runtime的sync.map包中有定义: type Map struct { mu Mutex // 锁 read atomic.Pointer[readOnly] //包含了readOnly类型的一个struct,下方把 Pointer 也贴了 dirty map[any]*entry ......