思路golang file line
golang 反射
参考 https://www.cnblogs.com/jiujuan/p/17142703.html float反射示例 package main import ( "fmt" "reflect" ) func main() { var x float64 = 1.2345 fmt.Println( ......
golang Context应用举例
Context本质 golang标准库里Context实际上是一个接口(即一种编程规范、 一种约定)。 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() err ......
PROFINET IO设备协议栈的基本实现思路
PROFINET IO协议的难点在于其协议状态机不是一个分层的上下层关系,而是一种复杂的关系,因为各个状态机都有可能有接口调用,耦合度很高,一口气完整实现协议栈难度很大。 PROFINET IO设备通信的一般过程 对于一个PROFINET IO设备来说,其实就是一种协议转换器,将连接的输入模块的数据 ......
filebeat新filestream类型是否支持tail_files类似功能探究
背景 试水搭建ELK,使用了ELK7.17.13版本,filebeat默认配置的input type已经是filestream而非旧版的log类型,开始了探索之旅。 信任ChatGPT导致的三次失败尝试 ChatGPT3.5介绍说filestream是旧版log类型的替代者,提供了更多的功能和改进, ......
Golang method | Interfaces 示例
方法与接口(method Interface) package interFaces import ( "fmt" "log" ) // manager Appstore online account type Account struct { surName string givenName st ......
Golang视频学习地址
GO 视频学习资料 Go编程基础: https://study.163.com/course/courseMain.htm?courseId=306002 8小时转职Golang工程师(如果你想低成本学习Go语言):https://www.bilibili.com/video/BV1gf4y1r79 ......
Golang 命名返回值和普通返回值
1、概述 在Go语言中,函数可以有命名返回值和普通(匿名)返回值。命名返回值会被视为定义在函数顶部的变量,并且在使用 return 语句返回时,不再必须在其后面指定参数名,也就是支持“裸”返回;而使用普通返回值时,使用 return 语句返回时,需要在其后面指定与普通返回值相同类型的参数名。 实际上 ......
(十三)Unity性能优化-优化思路
原链接:https://github.com/lwwhb/Unity2022_SUNTAIL_Stylized_Fantasy_Village_Optimization 性能优化问题的本质慢与快的问题前提稳定性:不能因优化造成稳定性变差兼容性:不能因优化导致兼容性变差性价比:优化要有度,考虑成本与复 ......
file文件上传后 添加水印 并且生成file文件 使用formData上传
function hecheng (){ // 创建一个canvas const d2 = testCanvas.getContext('2d'); // 准备图片1 const url = URL.createObjectURL(file.files[0]); var img = document ......
using wget utility to download files while keeping path structure
From man wget: -x, --force-directories: [...] create a hierarchy of directories, even if one would not have been created otherwise. E.g. wget -x http: ......
golang 多生产者+多消费者模式
参考 https://gist.github.com/vitan/aedb628a40478cf8b6a33dc87a5ff52f https://gist.github.com/mochow13/74ee57078d58536929575ab481dd9693 1 package main imp ......
[888] How to get the directory of the current Python file
To get the directory of the current Python file, you can use the os.path module in combination with the __file__ attribute. Here's how you can do it: ......
MQ常见问题解决思路
MQ避免消息丢失 1、Producer的消息丢失,即Producer发送了消息,但是MQ却未接收到消息: Producer初始化为 confirm 模式,消息发送后会异步回调生产者,生产者即可知道消息是否发送成功 @Component @RequiredArgsConstructor @Slf4j ......
《优化接口设计的思路》系列:第四篇—接口的权限控制
前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接 ......
Golang 的骚操作:go:linkname
背景 在看源码时,一些源码方法没有方法体,难道说明这些方法为空?例如:time.Now调用的 now(), time.Sleep , reflect.makechan // Provided by package runtime. func now() (sec int64, nsec int32, ......
golang 1.18 workspace mode
why ? 为什么需要workspace 历史发展和版本依赖的管理 GOPATH 最开始的模式 开发者需要设置一个环境变量 GOPATH,用于指定项目的工作空间。GOPATH 是一个目录路径,其中包括了三个重要的子目录:src、bin 和 pkg 通过 go get 命令,GOPATH/src 下的 ......
Docker: docker-compose file
docker-compose.yaml: version: '3.3' services: nginx: image: nginx:latest ports: - 8080:80 With regards to the preceding docker-compose file, we have t ......
缓存击穿、缓存穿透、缓存雪崩等并发问题的解决思路
在微服务应用中,每个细微的问题都可能由于并发被无限放大。 在并发场景下,比较常见的有:秒杀活动中的商品超卖问题、数据冷热分离处理、缓存/数据库双写一致性问题、缓存击穿、缓存穿透、缓存雪崩问题等。 在Java基础中,解决并发的思路就是锁,而锁的本质就是将并发执行串行化,在微服务应用中,synchron ......
golang 的循环导入
内容来自对 chatgpt 的咨询 循环导入概念 在Go语言中,循环导入是一个需要避免的问题。它发生在两个或更多的包彼此导入对方,形成一个导入循环,导致编译器无法处理。 例如,假设你有两个包,包A和包B。包A导入了包B,然后包B又导入了包A,这就形成了一个循环导入。在这种情况下,编译器将无法确定要首 ......
swig/perl5/swig_wrap.cpp:763:20: fatal error: EXTERN.h: No such file or directory
001、问题 002、解决方法 (base) [root@pc1 MaSuRCA-4.1.0]# yum -y install perl-devel 参考:https://www.likecs.com/ask-702675.html 。 ......
打靶思路
主要流程 信息收集: ·途径: IP、端口、目录、网站开发语言、whois、邮箱、子域名等 ·思路: 首先嗅探目标主机,工具:arping、fping、nmap 已知IP:可以用工具扫描端口 工具:nmap、masscan、 已知端口:(公认端口:0-1023,注册端口:1024-49151,动态/ ......
golang 代码实现判断当前时间是否在"19:00"和"24:00"这两个时间范围内
代码是 chatgpt 写的 package main import ( "fmt" "time" ) func main() { now := time.Now() // 获取今天的年月日 year, month, day := now.Date() // 创建两个新的时间点,它们在今天的 19: ......
单点登录的设计与实现思路
1.定义 单点登录 (Single sign-on ,缩写为 SSO),一种对于许多相互关连,但是又是各自独立的软件系统,提供“存取控制” 的属性。 当拥有这项属性时,当用户“登录”时,就可以获取所有系统的存取权限,不用对每个单一系统都逐一登录。 2.概述 随着业务的发展,产品的功能越来越多,越来越 ......
golang 怎么使用接口中声明的方法
假设你有一个golang 的 interface,里面声明了1个函数,怎么调用这个函数 type Man interface { Eat(ctx context.Context, food string}) error } 使用方式 创建结构体实现这个接口声明的方法,然后创建该结构体对象,调用方法 ......
git pull代码时提示:Your local changes to the following files would be overwritten by merge
内容来自对 chatgpt 的咨询 这个错误提示意味着你在执行git pull命令时,Git发现你当前工作目录中的一些文件与远程仓库的变更产生了冲突。这可能是因为你在本地修改了一些文件,而远程仓库也有更新。Git不允许在有未提交的本地修改时直接执行git pull,以防止可能的冲突。 要解决这个问题 ......
golang 使用redis设置分布式锁 demo
内容来自对 chatgpt 的咨询 分布式锁是在多个节点上运行的应用程序中协调工作的一种常用方法,而Redis是实现分布式锁的流行选择。以下是使用Go语言和github.com/go-redis/redis库来设置Redis分布式锁的一个简单示例: 首先,确保你已经安装了该库: go get -u ......
golang 对字符串进行base64编解码、md5 编码
内容来自对 chagpt 的咨询 一、对字符串进行 base64 编解码 base64 编码 要在Go语言中对字符串进行base64编码,你可以使用标准库中的encoding/base64包。以下是一个简单的示例: package main import ( "encoding/base64" "f ......
golang 把内容写到 csv 文件或者 xlsx 文件里
内容来自对 chatgpt 的咨询 csv 格式 csv 格式的文件使用 wps 或者 office 打开后是一个 excel 表格的形式,很容易看到表格里的数据。csv 格式跟 markdown 格式有点像,只需要按照固定的语法放置文本,保存后,用对应的渲染软件打开,就能得到想要的效果。 比如下面 ......
从一个golang 员工emp数组中,找到其中name相同的元素,把结果放到一个新数组里,代码实现
内容来自对 chatgpt 的咨询 为了找到具有相同名称的员工,并将结果放入一个新的数组中,我们可以首先使用一个映射(map)来存储每个名称及其出现的次数。然后,我们可以遍历原始数组并使用映射来判断是否有重复的名称。 以下是一个示例代码,演示如何实现这一目标: package main import ......