- 博客(137)
- 收藏
- 关注

原创 【copilot 使用指南 - @workspace】
看下加和不加workspace的区别,不加,只能推测,无法给出准确答案,加完以后,则可以搜索整个项目,给出答案。那么如何让copliot 跨文件分析,分析整个项目,分析整个代码目录下的代码,就要用到@workspace
2024-05-06 23:30:14
4819

原创 【傻傻分不清? DDOS防护 VS 防火墙】
DDoS-Distributed Denial of Service 分布式拒绝服务攻击,是一种网络安全攻击,其中攻击者利用大量计算机或其他设备向目标系统发送大量请求,使其无法正常响应或完全瘫痪,攻击手段为消耗服务器资源。4层传输层的攻击包括在 ip,tls攻击,消耗socket资源。7层应用层攻击还有伪造用户请求,进入到业务服务中,消耗服务器cpu以及数据库资源等。特点:伪造,大量。
2024-04-23 10:32:49
2143
3

原创 【Mobile Push - 自己做个移动端消息推送】
Mobile Push 是什么,还不清楚的同学可以参考这篇。简单来说就是 移动端上的消息弹框提示 ,一般来讲,我们可以直接对接设备厂商的云服务通道 或者 借助国内外第三方Mobile Push消息推送服务 来实现这个功能。但是其实这个也可以不和设备厂商,第三方消息推送服务商强绑定,完完全全自己做。下面介绍下,开源消息推送协议。
2024-04-08 00:04:09
1250

原创 【通过OpenPGP签名,聊RSA 是与非, 公钥加密-私钥解密,真的对吗?】
至此我们再看问题 :公钥加密-私钥解密, 真的对吗?答案是对的。同样 ` 私钥加密-公钥解密 也是对的。公钥加密-私钥解密,是对要传输的原始数据的加解密,用于数据加密场景私钥加密-公钥解密,是对要签名的数据哈希的加解密,用于签名验签场景基于RSA非对称加密的理论基础 ,进行的安全场景实践,真是奇妙的设计啊!
2024-03-23 18:07:42
900

原创 【IoT进阶-数字孪生实现-附代码】
AWS IoT Device Shadow 服务为 AWS IoT 事物对象添加影子。无论设备是否已连接,Shadows 都可以将设备的状态提供给 AWS IoT 应用程序和其他服务。AWS IoT 事物对象可以有多个命名的阴影,这样您的物联网解决方案就有更多选项可以将您的设备连接到其他应用程序和服务。这里事物就是指的设备本身阴影就是**设备分身,**所以影子服务和我们上面介绍的数字孪生是完全吻合的!
2024-03-19 23:33:22
2162
原创 【物联网IoT - 10分钟,构建一个自己的MQTT Broker服务!】
Eclipse Mosquitto 作为物联网IoT MQTT Broker,对比其它MQTT Broker,类似于数据库中的SQLite。使用mosquitto命令行客户端 mosquitto_sub/pub 安装完后试下,订阅和发布。修改配置文件 ,路径 /etc/mosquitto/mosquitto.conf。mosquitto里面的消息队列长度默认多长,如果长时间不消费,怎么处理死信。单机可部署,轻量级,不支持分布式,简单快直接。,配置ssl,避免消息在网络中明文传输。
2025-02-06 00:21:35
628
原创 【编程简史:Eclipse 之物联网】
和Paho MQTT都是 Eclipse 基金会旗下的开源项目,分别负责 MQTT Broker 和 MQTT 客户端功能。Eclipse 基金会是一个独立的、非营利性的开源社区,提供项目管理、社区支持、基础设施和市场推广等服务,支持多个重要的开源项目。通过 Eclipse 基金会的支持,Eclipse Mosquitto 和 Paho MQTT 项目得以持续发展和改进,为开发者提供高质量的 MQTT 解决方案。
2025-02-06 00:17:11
479
原创 【Go - 小心! Go中slice的传递陷阱 】
📢注意:slice 是引用传递 ,传递过去的参数,内存没有重新分配。没有答对的小伙伴,可以同时参考这篇。一道经典题目,下面会输出什么呢。
2025-02-02 14:08:15
407
原创 【网站建设:HTTPS - 如何生成免费SSL证书,并自动更新】
某阿X云服务平台的证书托管服务中,有关于HTTPS证书获取,生成和自动更新的功能。但其作为一项增值服务,每月就要几百元。但是这个我们可以自己写几行代码来实现,假设我们有个域名wu123.cn要为域名 生成 SSL 证书和密钥。:Let’s Encrypt 是一个免费的、自动化的、开放的证书颁发机构 (CA),可以为你的域名生成免费的 SSL 证书。
2025-02-01 22:28:01
1134
原创 【Go - MD太可怕了,小心! Go中Slice的append陷阱】
append追加元素,如果slice还有容量的话,则会继续使用原先开票的空间。不会重新开辟空间。当底层数组装不下的时候,Go就会创建新的底层数组来保存这个切片,slice地址也随之改变。append是否返回新地址,和原有容量和添加数据数量有关,不是固定的。所以一定不要默认append会进行新的内存开辟,更不要拿append 作为复制操作,认为append完以后拿到的slice一定就是全新独立的slice。所以在使用append的时候,一定小心谨慎,认真看好空间的分配,防止相同地址被覆盖写入。
2025-01-31 00:29:53
271
原创 【浏览器 - shim 是什么】
在编程中,shim是一种技术,用于在不同的环境中提供一致的 API 接口。它通常用于填补不同浏览器或平台之间的功能差异,使得代码能够在各种环境中正常运行。具体来说,shimshimshimshim。
2025-01-31 00:29:02
326
原创 【WebRTC - OpenAI 都在用? 实战秘籍,10分钟! 带你速通WebRTC,构建你自己的RTC服务】
可以看出 基于 `网络语音/视频通话` 的场景,尤其是类似 实时网络 语音电话这种。各大语音app (whats app, Facebook, Google系软件) 都有基于webrtc或者参考webrtc的思路进行实现。OPENAPI 也推出了实时流视频接口,Realtime API with WebRTC ...
2025-01-30 01:35:18
1916
原创 【浏览器 - Mac实时调试iOS手机浏览器页面】
最近开发个项目,需要在 Mac 电脑上调试 iOS 手机设备上的 Chrome 浏览器,并查看Chrome网页上的 console 信息,本来以为要安装一些插件,没想到直接使用Mac上的Safari 直接可以调试,再此记录下,分享给需要的伙伴。鼠标在Mac Safair调试工具页面,手机上也会同步展示所选区域。点击后,可以看到控制台,
2025-01-30 01:31:19
1363
2
原创 【WebRTC - STUN/TURN服务 - COTURN配置】
在WebRTC中,对于通信的两端不在同一个局域网的情况下,通信两端往往无法P2P直接连接,需要一个TURN中继服务,而中继服务可以选用 COTURN 构建。注:COTURN 是一个开源的 TURN(Traversal Using Relays around NAT)和 STUN(Session Traversal Utilities for NAT)服务器项目。
2025-01-26 22:59:44
1032
原创 【浏览器 - Chrome调试模式,如何输出浏览器中的更多信息】
在开发过程中,如果不主动console.log,浏览器中的信息有些不会主动输出到 控制台console里面。这个如果是一些浏览器内部的接口调试,则会很麻烦。比如RTCPeerConnection过程 ,RTCPeerConnection属于浏览器内部的方法,其中的输出如连接,错误信息等默认都看不到。为了捕获更多浏览器的调试信息和错误消息。
2025-01-26 22:56:14
832
原创 【实战:超实用,10分钟教你,服务间数据同步】
最近接手了个项目,项目代码不多,但是问题不少,尤其是项目中涉及了服务之间的数据同步数据不是丢,就是乱 。每天提心吊胆 ,生怕又有数据不一致了,需要手动介入处理 ,偶尔周末还要个”意外惊喜”。.....至此,针对数据同步的典型问题,给出对应方案,绘制到我们最开始的图上。数据同步,稳了!
2024-12-08 00:09:32
1145
原创 【Nodejs - 史上最短的库】
无意间发现 hostname库 ,真的是,史上最短的库了吧 [捂脸]有的时候还真的是多看下源码 ,完全没必要引入啊。
2024-12-08 00:07:22
100
原创 【Linux - lsof 找出谁在操作】
- 当你想修改某个文件,却被提示文件正在被修改,类似如下提示,- 当你想删除某个日志文件,却因为还有地方持续写入,执行rm 操作却迟迟无法删除,- 当你本地想用git提交代码时,却被告知有git进程正在进行操作,从而存在锁.git/index.lock,git暂时无法提交。这时很烦躁,也许简单粗暴的关闭命令行或者重启机器往往能解决问题。但是难道你不好奇,到底是谁在操作啊?是哪个进程占用了啊。
2024-12-04 00:59:46
618
原创 【物联网:车辆VIN码的生成和校验】
*什么是vin码?**车辆VIN码是车辆识别码(Vehicle Identification Number)的简称。它是一个独特的17位字符编码,用于识别每一辆机动车。VIN码包含了车辆的制造商、型号、生产年份、生产工厂等信息。VIN码的17个字符,不包括I、O、Q,以避免与数字1和0混淆。
2024-12-04 00:58:37
398
原创 【Go - 什么有序?解密MongoDB bson.D】
在Go进行MongoDB的查询,插入等语句的运行时,总是会用到bson.D。对于bson.D,官方文档中的解释是有序的,这也是其与bson.M的一大区别。但是这个有序的到底是指什么有序,检索时使用索引有序,还是插入时按顺序更新?其和bson.M的具体区别是什么。下面让我们来一探究竟,
2024-11-28 20:31:09
812
原创 【安全 - openssl 生成密钥对和CSR】
client.key 私钥在这里面, client.csr 公钥在这里面,同时这个文件可以包含 -subj 国家,组织,名称等信息,可以方便用于后续的证书生成。client.csr ,是 Certificate Signing Request 的缩写,即证书签名请求 ,用于后续请求生成证书。 证书在这些基础信息上,会多过期时间等。
2024-11-28 20:30:11
677
原创 【Go - 超实用,3行代码实现个自增器】
根据上面要点,需要跨服务进程可以访问,且保障严格自增。综上考虑, 依赖MonogoDB来实现这个自增器,以下是代码实现,自增器的作用是生成一个唯一的递增序列号。这在一些需要生成自增id的场景十分有用,比如自增的订单号,任务号,序列号。最后可以带入运行一下,
2024-09-15 13:26:28
576
原创 【Go - 类型断言】
类型断言,Go语言中,类型断言用于将接口类型的变量转换为具体类型。valueokoktruefalse如果类型断言失败,ok为falsevalue将是具体类型的零值。
2024-09-15 13:25:19
544
原创 【Http 每天一小问 ,不想明文,使用Https加密传输,但Get请求参数在url里,这部分会加密吗?】
用过Https的小伙伴都知道HTTP 中的TLS 会在传输前,对传输内容进行加密。但假如有个Get请求,其包含参数在url里,比如:?user_id=uu001,这部分会被加密的吗,传输的过程会不会是明文的。
2024-09-09 20:22:19
688
原创 【Http 每天一小问 ,Post上传文件时, 文件和 -d(--data)和 -F(--form) 不能同时存在 ,怎么办】
今天在做文件上传的时候 ,遇到报错, Warning: You can only select one HTTP request method!You asked for both POST ,选项来发送表单数据,包括文件和其他字段。然后在服务端的时候接收,类似。
2024-09-09 20:21:44
544
原创 【Http 每日一问,访问服务端的鉴权Token放在header还是cookie更合适?】
下面具体展开下。在选择将鉴权 Token 放在 HTTP Header 还是 Cookie 中时,需要考虑安全性、使用场景和具体需求。
2024-09-07 01:04:41
1049
原创 【Go - 函数 参数缺省/默认值】
Go现在与将来都不会支持参数默认值。Go始终在使得自己变得尽可能的简单,而增加这种额外的支持会使parser变得更复杂。但是如果仍然需要,这里也有一些实现途径,这种算是比较常见的一种,。b_optional 本质是个变长参数,对应一个切片,切片长度可能为0,也可能包含1个或者多个值。不强校验每个字段必须要存在,在函数开始时检查添加默认值。
2024-09-06 20:05:11
746
原创 【Go - vendor, 本地, 独立依赖包】
go vendor机制通过将依赖包复制到项目的vendor目录中,确保了项目的依赖包版本一致性和独立性。结合 Go Modules 使用,可以更好地管理项目的依赖包,避免因外部包的变化而导致的问题。
2024-09-03 23:58:53
1379
原创 【Go - 每日一小问 ,const 变量存储在哪里,堆还是栈上?】
答:都不是 , 在bss(未初始化数据区) 和 data(初始化数据区)上。
2024-09-03 23:58:17
427
原创 【Go - 10分钟,快速搭建一个简易日志回传系统】
上周一个平凡的工作日傍晚,快要下班的时候,客户端新产品线负责人突然火急火燎的找到我 ,说新的APP马上要release了,发现还少个APP异常崩溃时,用户上报日志的功能 ,需要后端支持,提供个日志回传接口。时间紧,立刻开始行动。提供个接口 ,自然不是难题,但是只需要提供一个接口吗?我知道这很急,但先别急,
2024-09-01 14:43:47
1462
原创 【Go - 每日一小问,new出来的空间,是在堆还是栈上,用手动回收吗】
和有些语言不同,Go中的new 不是直接分配在栈或堆上,而是取决于内存逃逸。Go语言中的new不一定总是在堆上分配内存,实际分配由编译器决定,基于变量是否逃逸作用域,也就是取决于内存逃逸。。Go判断内存逃逸 可以通过如下命令, 查看是否逃逸,典型的内存逃逸场景,:如果一个变量在函数返回后仍然被引用,那么它必须分配在堆上。:如果一个变量的地址被返回或传递给其他函数,它也可能会逃逸到堆上。:如果一个变量被传递给另一个 goroutine,它也会逃逸到堆上。
2024-09-01 14:42:04
597
原创 【Go - 特殊导入包方式 . 和 _】
导入:将导入包中的标识符直接引入到当前包的命名空间中,简化代码但可能引起命名冲突。导入:只执行包的init函数,不引入任何标识符,通常用于初始化。根据具体需求选择合适的导入方式,可以提高代码的简洁性和可维护性。
2024-08-27 23:02:20
289
原创 【yarn publish : 报错 passed folder/tarball doesn‘t exist 】
当执行yarn publish 时报错,具体命令类似报错内容,网上搜了一圈,基本没有这个报错的相关内容,最后分析并解决了,这里记录分享下过程,给遇到相同问题的朋友个参考。
2024-08-27 23:01:42
417
原创 【Go - 每日一小问: 对未初始化的的 chan 进行读写,会怎么样?为什么?】
对未初始化的chan进行读取操作会导致永久阻塞,因为没有数据可读。对未初始化的chan进行写入操作会导致永久阻塞,因为没有 goroutine 可以读取数据。这种设计确保了程序的健壮性,防止对未初始化的chan进行误操作。
2024-08-26 22:02:00
609
原创 【Go - 每日一小问: 对已经关闭的的 chan 进行读写,会怎么样?为什么?】
对已关闭的chan进行读取操作会返回零值并且不会阻塞,可以通过第二个返回值判断chan是否已关闭。对已关闭的chan进行写入操作会导致运行时(panic这种设计确保了数据的一致性和程序的健壮性。
2024-08-26 22:01:25
332
原创 【Go - 模式示例 - 5分钟写个 生产者/消费者 】
今天写个经典模式 生成者-消费者,开始之前简单梳理下, 这个模式需要注意什么,废话不多说,直接上代码,
2024-08-25 01:22:03
480
空空如也
【go 地理库 - wgs84和gcj02坐标系转换】
2024-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人