err
  • 2024-07-02go binary 与 gob
      在Go中,除了使用encoding/binary包将结构体转换为字节切片,还可以使用encoding/gob包进行序列化。两者各有优缺点,适用于不同的场景。以下是对比和示例:encoding/binary优点:高效:直接将结构体的内存布局写入字节切片,效率较高。简单:适用于简单的固定大小结构体。跨语
  • 2024-07-02go中实现日志级别与切割,日志配置热生效,pprof的技术解析
    引言在线上分布式系统和微服务架构中,日志记录是排查问题、调试程序和监控服务运行状态的重要手段。合理设置日志级别,可以帮助开发和运维人员有效地获取所需信息。然而,在实际运行中,常常需要在不重启服务的情况下动态调整日志级别,以适应不同的调试需求和运行环境。本文基于g
  • 2024-07-01golang 实现tcp socket 通信
    都说golang适合网络编程,知道今天写了tcp我才知道他到底有多简洁。(虽然已经对着golang的webrtc研究很久了)首先是client端代码:packagemainimport( "bufio" "fmt" "net")funcmain(){ conn,err:=net.Dial("tcp","192.168.1.106:8080") iferr!=ni
  • 2024-07-01术业有专攻,不要用原生 http 库自己写爬虫!
    术业有专攻,不要用原生http库自己写爬虫!网管叨bi叨 2024-06-0509:27 北京 3人听过 以下文章来源于凉凉的知识库 ,作者凉凉的知识库凉凉的知识库.凉凉的知识库,带你学点后端必备知识有些人可能认为爬虫框架和httpclient库的功能一样,用httpclient库也可以写
  • 2024-07-01RabbitMQ延时任务通过死信队列实现(golang)
    最近在一个项目中,需要实现在用户上传图片30分钟后,删除对应图片,以保证用户隐私。我们使用rabbitmq来实现。基于rabbitmq实现延时任务有两种方式,一种为队列ttl+死信exchange,另一种为安装插件(https://github.com/rabbitmq/rabbitmq-delayed-message-exchange)。其中安装
  • 2024-07-01鸿蒙技术之WebSocket连接详解
    WebSocket连接详解WebSocket是一种在单个TCP连接上提供全双工通信信道的协议,它允许服务器主动向客户端推送数据,非常适合实时通信和数据交换频繁的应用场景。以下是WebSocket连接的详细步骤和知识点:1.创建WebSocket对象首先,需要通过createWebSocket()方法创建一个WebSock
  • 2024-07-01Go1.19革命:打造超效能站点模板爬虫
    目录项目介绍环境配置核心依赖库爬虫实现HTTP请求数据解析数据存储运行与测试代码详解注意事项项目介绍本文将介绍如何使用Go1.19实现一个简单的站点模板爬虫。这个爬虫将访问指定的网站,获取页面内容并解析需要的数据,最终将数据存储在本地文件中。此教程适合具有基本G
  • 2024-07-01简单实现Ai音乐suno-api
    本文由ChatMoney团队出品前言在科技与艺术的交汇处,AI音乐创作正以其独特的魅力,引领着音乐产业的一次革命。不久前,AI音乐的浪潮席卷了整个创意领域,激发了无数音乐爱好者和技术开发者的无限想象。在这场音乐与科技的盛宴中,主流的AI音乐平台suno无疑成为了焦点,尽管它尚未对外开放A
  • 2024-06-30Golang文件操作
    文件是数据源(保存数据的地方)的一种,word文档,txt文件,excel文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音...os.file封装了所有对文件的操作,且file是一个结构体: 打开和关闭文件1.打开文件,用于读取: 传入的是一个字符
  • 2024-06-24【JavaScript脚本宇宙】浏览器中的文件系统:深入了解最受欢迎的JavaScript库
    超越传统存储:探索创新的浏览器文件系统解决方案前言在现代的网页开发中,文件系统和文件操作是不可或缺的一部分。无论是上传图片、下载文档还是在浏览器中保存离线数据,我们都需要与文件系统进行交互。为了简化这些任务并提供更好的用户体验,有许多JavaScript库被开发出来,以
  • 2024-06-24golang使用grpc
    (1)安装protoc,这是通用的,所有语言都需要​#下载网址:https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protoc-3.9.0-win64.zip解压后将将protoc的bin目录添加到环境变量中 如果不会添加环境变量请百度运行protoc--version查看是否已经添加到环境
  • 2024-06-23Cobra - How to avoid access global variables in a global variable or init() function
    在同一个package中的init()函数是按照所在文件文件名的字母顺序执行的,如果一个文件排在root.go之前,那么在其中字义的<文件名>Cmd全局变量赋值时将不能使用在root.go中初始化并赋值的全局变量(如globalflags),同样在其init()函数中也不能使用那些全局变量,如果使用则会报空指针错误。
  • 2024-06-23nodejs 统计算指定后缀,格式的文件
    都是gpt生成的 可用版本constfs=require('fs');constpath=require('path');functioncountHtmlFiles(dirPath){letcount=0;constfiles=fs.readdirSync(dirPath);files.forEach(file=>{constfilePath=path.join(dirPath,
  • 2024-06-22常微分方程算法之编程示例一(欧拉法)
    目录一、研究问题二、C++代码三、计算结果一、研究问题    前面几节内容介绍了常微分方程有限差分格式的推导。为加强对本专栏知识的理解,从本节开始,我们补充一些具体算例及相应的编程。    欧拉法的原理及推导请参考:常微分方程算法之欧拉法(Euler)_欧拉
  • 2024-06-22基于Redis和openresty实现高并发缓存架构
    目录概述缓存架构设计实践代码路由业务封装redis效果概述  本文是对项目中QPS高并发相关问题的一种解决方案,利用Nginx与Redis的高并发、超低延迟响应,结合Canal进行实现。openrestry官网  当程序需要提供较高的并发访问时,往往需要在程序中引入缓存
  • 2024-06-21golang openai GPT4o 示例代码
    packagemainimport( "context" "errors" "fmt" "io" "log" "os" "github.com/joho/godotenv" openai"github.com/sashabaranov/go-openai")funcmain(){ err:=godoten
  • 2024-06-19npm ERR! network request to https://registry.npmmirror.com/create-vite failed,
    npmERR!networkrequesttohttps://registry.npmmirror.com/create-vitefailed,  npmverbnpmv9.5.1npmERR!codeETIMEDOUTnpmERR!syscallconnectnpmERR!errnoETIMEDOUTnpmERR!networkrequesttohttps://registry.npmmirror.com/create-vitefailed,reas
  • 2024-06-19汇编语言程序设计 - 将当前目录下文件 FIE10.TXT 的所有小写字母改为大写字母,然后拷贝到当前目录文件 FILE20.TXT。
    80x86汇编题目题目描述:编写一个程序,将当前目录下文件FIE10.TXT 的所有小写字母改为大写字母,然后拷贝到当前目录文件FILE20.TXT。思路:1,分别打开两个文件,保存文件句柄2,读取FILE10文件的一个字节到BUF内存中。3,判断是否为小写。非小写字母直接写入到FILE20文件中,小写字母
  • 2024-06-18go使用opentelemetry+jaeger---grpc
    clientpackagemainimport( "context" "fmt" "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" "go.op
  • 2024-06-18go使用opentelemetry+jaeger---gin+gprc
    api-1packagemainimport( "context" "fmt" "github.com/gin-gonic/gin" "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin" "go.opentelemetry.io/otel" "go.opentelemetr
  • 2024-06-18什么是微服务架构,Node.js如何支持微服务?
    现代软件开发中,微服务架构成为一种非常流行的设计模式。微服务架构将一个大型的、复杂的应用程序拆分成多个独立的小,每个小服务负责一个特定的业务功能。这种架构设计使得应用程序更加灵活、可扩展,并且易于维护。本文将详细解释微服务架构的概念并探讨Node.js如何支持微服务
  • 2024-06-18tcp 连接
    前言看到这个标题你可能会说,TCP连接的建立与断开,这个我熟,不就是三次握手与四次挥手嘛。且慢,脑海中可以先尝试回答这几个问题:四次挥手是谁发起的?如果断电/断网了连接会断开吗?什么情况下没有四次挥手连接也会断开?这不是面试,而是遇到了实际问题,至于是什么问题,容我先卖个关子,
  • 2024-06-18Go实现点对点聊天
    这里测试最基本的,服务发现的那种需要魔法,我的虚拟机不行,示例去官网的example查看p2p.gogoget安装缺失的库packagemainimport( "bufio" "context" "crypto/rand" "flag" "fmt" "io" "log" mrand"math/rand" &qu
  • 2024-06-18go tcp 同步 请求
      客户端服务端典型的同步请求-响应模型简单的Go示例,展示了如何实现您描述的同步请求-响应模型。客户端会发送一个包,然后等待接收服务器的响应。服务器接收包后处理数据,然后发送处理完成的消息。客户端接收到响应后,再次发送下一个包 服务端:packagemainimport(
  • 2024-06-17JS 控制并行度
    consturls=["url1","url2",...,"url100"];constmaxConcurrentNum=10;//最大并发数//数组分块,chunk表示每批次数量,返回数组二维数组functionchunk(arr,chunk){letresult=[];for(leti=0,len=arr.length;i<len;i+=chunk