自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(1592)
  • 收藏
  • 关注

原创 6元/年英国Giffgaff卡申请和使用

我们来到页面最底部,选择“Pay as you go”这一项,由于我们只是用它来注册账号、接收验证码等,而使用这张卡又必须要往卡里充值,所以我们选择这一种,向卡里充值10英镑即可,不考虑其他套餐。来到填写个人信息的页面,这里不需要真实身份,至于地址,你可以使用地址生成器随机生成一个,或者你也可以在地图上随机找一条街道作为填写进去的地址。(我使用的是真实地址,用的拼音)底部显示了你的用户名,到时你在登录个人中心时,需要用用户名+密码登录,所以别急着关掉这个页面,记一下用户名(使用手机号也可以登录)。

2024-07-09 10:14:19 1557

原创 swiftui中封装一个carditem视图,结合toolbar实现滚动的瀑布流,仿小红书首页

这个组件封装出来的效果如图所示:里面使用到的就是水平布局和垂直布局,还有一个Image组件。

2024-07-08 15:33:52 604

原创 swiftui中NavigationStack布局navigationBarTitleDisplayMode作用,以及内容顶部空白区域解决办法

因为默认是automatic,而且你没有设置navigationBarTitle,所以这个位置就是默认空着,占一个空白区域。那可能就有异味了:我也没有设置navigationBarTitle这个内容啊,为啥就对我的内容布局有影响呢?那这个navigationBarTitleDisplayMode是干什么用的呢?用于设置视图的导航栏标题的显示模式。它的值是一个枚举类型。

2024-07-08 15:33:02 674

原创 swiftui中设置建议最多5个tabItem项,多个tabItem项会被自动折叠起来

在swiftui中设置底部的菜单栏的时候,最多建议设置5个,如果超过了,会被自动折叠到More中,点击More就会出现类似list的样式显示,不是很友好。

2024-07-05 11:17:29 242

原创 豆包Marscode体验官,体验云编程和AI助手加持的快乐

其实早在前不久,我就想着如果有一个在线的代码编辑器该多好啊,毕竟我的电脑内存并不大,芯片并不好,而且还有好多小电影要存储......嗯,这不,它就来了,真的太震撼了,真的是云编辑器,而且还自带Ai助手!这真的让人很难不爱啊豆包 MarsCode IDE 是一个云端 AI IDE 平台。通过内置的 AI 编程助手,开箱即用的开发环境,你可以更专注于各类项目开发。

2024-07-04 18:40:34 555

原创 swiftui中TabView使用,以及Tab使用注意

使用交互式用户界面元素在多个子视图之间切换的视图。也就是手机底部的几个导航菜单一样,但是注意官方给的例子里面有使用Tab组件的,但是这个Tab组件注意:暂时只支持beta版本的系统,低版本是没有的:TabView提供了一个交互式界面,允许用户在其内部的子界面间自由的切换,TabView有两种显示模式,一个是DefaultTabViewStyle,另一个是PageTabViewStyle,本文将对DefaultTabViewStyle这种类型的基本使用和外观样式设置进行一下探索学习。

2024-07-04 18:05:53 1517

原创 NavigationView已经过时了,该用 NavigationStack 和 NavigationSplitView了

在iOS 16及以后,NavigationView将会被弃用,取而代之则是NavigationStack。

2024-07-04 16:37:37 1086

原创 swiftui中几个常用的手势控制单击点击,双击和长按事件

【代码】swiftui中几个常用的手势控制单击点击,双击和长按事件。

2024-07-04 15:20:09 325

原创 ScrollView组件No exact matches in call to initializer

在scrollview中使用text后报错,水平滚动使用的话,应该里面包含一个水平布局的组件,例如HStack组件,可以设置ScrollView滚动方向为 .horizontal或者 .vertical。

2024-07-04 14:22:29 180

原创 SwiftUI中List的liststyle样式及使用详解添加、移动、删除、自定义滑动

SwiftUI的swipeActions()修饰符允许你添加一个或多个滑动动作按钮到你的列表行,可选地控制他们属于哪一边,以及他们是否应该被触发使用一个完整的滑动。先看下代码及效果图:swipeActions()方法有三个参数,第一个edge决定操作按钮放哪边;第二个allowsFullSwipe决定完全滑动是否自动执行第一个操作,默认值为true;第三个即是内容闭包了。关于样式,只能通过tint设置背景色,如果不设置,系统默认是灰色的。

2024-07-04 11:40:31 1442

原创 swiftui中常用组件picker的使用,以及它的可选样式

一个可选项列表就是一个picker组件搞出来的,它有多个样式可以选择,并且可以传递进去一些可选数据,有点像前端页面里面的seleted组件,但是picker组件的样式可以更多。

2024-07-03 18:26:44 340

原创 mac上使用finder时候,显示隐藏的文件或者文件夹

默认在finder中是不显示隐藏的文件和文件夹的,但是想创建.gitignore文件,并向里面写入内容,即便是打开xcode也是不显示这几个隐藏文件的,那有什么办法呢?

2024-07-02 19:40:55 622

原创 vue3长列表优化,使用vue-virtual-scroller实现直播间弹幕列表虚拟滚动效果

但是需要注意:获取DynamicScroller这个组件的时候,要使用document.getElementById('liveMsg')这种形式,不能使用ref这种,因为ref获取到的并不是一个html元素,没有scrollTop方法,所以无法滚动到底部。这三个组件区别是滚动每一项高度是固定的还是动态的,Recycle就是固定的高度,Dynamic是动态的,动态的话,必须要包含DynamicScrollerItem。

2024-07-02 15:21:39 2274

原创 直播的js代码debug解析找到protobuf消息的定义

我们都知道直播的弹幕消息是通过websocket发送的,而且是通过protobuf传输的,那么这里面传输了哪些内容,这个proto文件又要怎么定义?每个消息叫什么,消息里面又包含有哪些字段,每个字段又是什么类型?都可以通过js查看得到。

2024-07-01 11:07:24 468

原创 从直播消息中找到对应的proto协议内容

这么多直播间的消息,我们该怎么从里面找到我们需要的消息定义呢?

2024-07-01 11:06:24 360

原创 protobufjs解析proto消息出错RangeError: index out of range: 2499 + 10 > 2499解决办法

使用websocket通讯传输protobuf消息的时候,decode的时候出错了:出现这种错误的时候,99%是因为proto里面的消息类型和服务端发送的消息类型不一致导致的。

2024-07-01 11:05:42 427

原创 xcode报错Initializer ‘init(_:)‘ requires that ‘Binding<String>‘ conform to ‘StringProtocol‘

这是因为前面使用的$foods是Bind类型,所以后面的food也要是Bind类型,所以就报错了。使用$food进行渲染,就不会报错了。

2024-07-01 11:05:15 195

原创 调试解析直播弹幕消息protobuf内容,一步一步教你debug查看PushFrame和Response解码在哪里

我们知道直播间的弹幕消息是通过websocket传输的,而且传输的并不是明文数据,而是protobuf消息,至于为什么使用这个protobuf消息,因为它是二进制传输,更快更稳,相对于直播这种实时性比较高的要求,使用这种消息传输是非常合适的。

2024-06-29 15:13:09 726

原创 tauri使用github action实现跨平台编译并解决编译错误,mac已损坏,无法打开,你应该将它移到废纸篓解决办法

里面有编译文件可以参考。今天主要讲一下遇到的问题。

2024-06-28 14:07:03 1094

原创 Failed to resolve import “protobufjs/minimal“ from “src/proto/dy.js“. Does the file exist?

但是这是自动生成的啊,怎么办?

2024-06-28 11:55:16 292

原创 github使用action出错Unable to locate executable file: pnpm. Please verify either the file path exists

就是这里报的错,所以需要修改一下:改为下面的格式。

2024-06-28 11:38:42 388

原创 如何使用WxPusher向个人微信推送发送实时消息,比如定时任务等

(微信推送服务)是一个使用微信公众号作为通道的,实时信息推送平台,你可以通过调用API的方式,把信息推送到微信上,无需安装额外的软件,即可做到信息实时通知。你可以使用来做服务器报警通知、抢课通知、抢票通知,信息更新提示等。WxPusher是免费的推送服务,为了能更好的服务大家,这里说明一下系统相关数据限制消息发送,必须合法合规,发送违规违法欺诈等等非正常消息,可能被封号;

2024-06-27 16:32:09 2790

原创 前端项目vue3/React使用pako库解压缩后端返回gzip数据

解压后的内容:{{ uncompressedData }}

2024-06-26 19:35:19 734

原创 在rust中使用reqwest获取响应里面的cookie,报错borrow of moved value: `response`value borrowed here after move

说的是先move了,然后再borrowed,因为move会转移response的所有权,转移所有权之后,就不能在原实例上租借了,这是rust中的规范。可以看到cookies上面绑定了一个生命周期`a,这个生命周期是和Response绑定的,所以当Response销毁的时候,这个cookie对应的也会销毁。确实是的,我在获取响应内容的时候使用了这个response实例和.text()方法,看一下这个方法里面的内容是啥?那是不是在这个cookie之前有某个地方使用并move了这个response实例?

2024-06-25 10:15:05 425

原创 pyppeteer模块经常使用的功能,相关操作案例

1.打开浏览器调用 launch 方法即可,相关参数介绍:ignoreHTTPSErrors (bool): 是否要忽略 HTTPS 的错误,默认是 False。headless (bool): 是否启用无界面模式,默认为 True。如果 devtools 这个参数是 True 的话,那么该参数就会被设置为 False。executablePath (str): 可执行文件的路径,如果指定之后就不需要使用默认的 Chromium 了,可以指定为已有的 Chrome 或 Chromium。

2024-06-24 22:42:23 1379

原创 Pyppeteer原理介绍和入门尝试

1.Chrome 浏览器和 Chromium 浏览器在 Pyppetter 中,实际上它背后也是有一个类似 Chrome 浏览器的 Chromium 浏览器在执行一些动作进行网页渲染,首先说下 Chrome 浏览器和 Chromium 浏览器的渊源。Chromium 是谷歌为了研发 Chrome 而启动的项目,是完全开源的。

2024-06-24 22:41:37 1278

原创 browerify介绍和简单实用,github的这个作者运用的太妙了

在github闲逛的时候,发现了一个很神奇的项目,这个项目的特点就是实用纯vue和js代码实现了直播间消息的获取,获取的方式就是建立websocket连接,然后接收消息,这没什么特别的,但是特别的地方是什么?

2024-06-24 16:37:04 1035

原创 不常见但很有用的chrome调试工具使用方法

对于chrome调试工具,常用的是elements标签、console标签、sources标签和network标签。但实际上,还有一些不太常见但相当实用的方法可以提高网页调试效率。本文将详细介绍那些不常见的chrome调试工具使用方法。

2024-06-24 16:13:00 521

原创 使用python连接dy直播间的websocket消息,竟然一会就自动断开了

我们把这个ping的线程也加上再试试:神奇的事情发生了,不断了。

2024-06-24 14:23:53 497

原创 git检查别人提交的PR(pull requests)并在本地验证,然后合并

如果一个 pull 请求的作者对请求没有响应或者已经删除了它们的 fork,那么该 pull 请求中提出的更改仍然可以通过一个新的 pull 请求进行合并。因为不能将这次pr合并到你本地的已经有作用的分支上了,我那一你那个分支还有用,合并上去之后如果不可用,你的代码还要回滚,多麻烦。换句话说,甚至在合并请求之前,提交请求中的提交在存储库中就是可用的。5.如果本地测试没有问题,就可以在git上点击merge pull request合并到主分支了,或者你也可以单独将你本地新测试的分支推到git上。

2024-06-24 11:55:54 1066

原创 python创建websocket服务器,实现循环发送消息

WebSocket协议是在2008年由Web应用程序设计师和开发人员创建的,目的是为了在Web浏览器和服务器之间提供更高效、更低延迟的双向通信。它允许客户端和服务器在任何时候发送消息,无需重新建立TCP连接。WebSocket可以在Web浏览器和服务器之间传输文本和二进制数据,使得构建实时Web应用程序变得更加简单。

2024-06-24 11:55:11 672

原创 tauri开发软件时报错The `Http` module is not enabled. You must enable one of its APIs in the allowlist.

【代码】tauri开发软件时报错The `Http` module is not enabled. You must enable one of its APIs in the allowlist.

2024-06-22 17:48:16 375

原创 tauri中从前端ts调用rust函数,并异步收到响应结果

命令是在文件中定义的。要创建一个命令,只需添加一个函数,并使用println!");())

2024-06-22 17:16:26 1095 2

原创 创建一个和tauri图标一致的icon和苹果icns图标

我们先看一下tauri的图标的样子,然后看一下tauri程序安装之后的样子,其实这里最困难的就是苹果设备的icon图标怎么搞,因为如果你设置的不合适,就会导致生成的苹果图标在安装后比较显大,有的不太好看。所以这里我们就模仿tauri原本的图标尺寸搞一个大小差不多的图标出来。大小和其他的图标差别不大了。

2024-06-22 14:25:13 265

原创 深入研究websocket直播中signature这个参数怎么来的,模拟自己生成一个

这是一个webmssdk.es5.js包里面的函数,所以需要将这个webmssdk.es5.js包下载到本地,然后集成到window对象上,就可以调用这个函数了,我这里写了一个demo:可以看到已经生成了值。上一节课我们已经找到了生成signature这个字段的代码位置,就是这个B函数,嗯......听起来好像有点奇怪,但是它确实叫B啊,笑死。不管了,看一下里面的逻辑是啥。V()其实会返回一个函数,这个函数可以传递两个参数,有了这两个参数传递过来,那我们就可以安心研究B里面的逻辑了。

2024-06-21 16:16:46 839 6

原创 直播websocket签名signature字段生成逻辑,一步一步带你研究学习

我在这里做了一些注释,方便研究后续逻辑,我们这里看到了,l就是签名signature参数,所以搞出来l就可以了,但是l又依赖s和n,n是websocket_key很明显,那就继续研究s,但是s又依赖于t + a + r + o + ee.VERSION这五个,其中t + r + ee.VERSION = "1.0.14-beta.0"是明显的, 那就需要研究a + o是啥了,a是啥呢?是的,把这里面的逻辑搞清楚不是就可以搞到signature这个签名了嘛,好了,好好研究去吧,同学们,下课。

2024-06-21 11:41:04 650

原创 apple watch上watchOS网络低级别和高级别区别,以及使用tcp/udp或者websocket的限制条件

低层网络:包括网络框架、 NSStream 和任何其他直接运行 TCP 连接或 UDP 会话的 API。3.它允许 watch OS 上的应用程序设置应用程序服务监听器,这样 tvOS 上的同一个应用程序就可以使用 DeviceDisCoveryUI 框架建立到它的低级连接。在 watch OS 9和 tvOS 16中添加了对此的支持。在 watch OS 9中添加了对此的支持。高级网络:包括 URLSession 中的 HTTP 和 HTTPS 支持,以及在此之上的任何代码层。

2024-06-20 16:43:45 638

原创 swift使用websocket通讯,依赖库Starscream集成,并验证apple watch实现websocket可行性

这里使用webscoket,主要是使用了Starscream这个库,看图片就知道很牛X,那么干就完了。

2024-06-20 16:08:13 1331

原创 xcode和iPhone真机或者watch真机连接问题

2.如果真机和xcode处于同一个局域网的话,之前已经连接过的话,默认在xcode中会显示这个真机设备的,直接选中这个设备就可以在设备上运行了:不用连接数据线就可以。设置 > 隐私与安全 > 开发者模式 > 开启,然后重启就可以了。watch设置:很麻烦,看文章。

2024-06-19 20:53:51 916

原创 xcode报错合集,你都遇到过哪些跳不过的坑

1.报错Consecutive declarations on a line must be separated by ';其实我这里是用因为创建了一个结构体,然后在没有使用@State的情况下,修改它的属性了。

2024-06-19 18:47:11 305

phpstudy-x64-V8版本安装包

一. 安装说明(特别注意) 1. 安装路径不能包含“中文”或者“空格”,否则会报错(例如错误提示:Can't change dir to 'G:\\x65b0\x5efa\x6587\) 2. 保证安装路径是纯净的,安装路径下不能有已安装的V8版本,若重新安装,请选择其它路径 二. 使用手册 https://www.xp.cn/phpstudy-v8/

2023-06-07

可以在浏览器里免费使用chatgpt的插件

可以在浏览器里免费使用chatgpt的插件,这个插件一次安装,后面可以永久免费使用,相当给力,再也不怕找不到怎么用chatgpt了,适合各种职场人士和写作的朋友,可以大大提高工作效率,写出来的东西非常nice,很棒很棒

2023-05-10

使用Python模块ppadb控制手机拍照

使用Python模块ppadb控制手机拍照,如果你想控制手机执行某项任务的话,但是你又不想动手操作的话,让你想让手机自动重复完成某项任务的话,就可以用这个小案例发挥你的想象

2023-05-08

使用Python的uiautomator2控制手机操作叮咚买菜

使用Python的uiautomator2控制手机操作叮咚买菜APP,来完后一些列人工操作的动作,别面你手动操作太累,也算是一个小案例,让你了解uiautomator2的使用和注意事项,如果能给你启发,那最好,所以快学习起来,解放双手吧

2023-05-08

使用Python画一个爱心图片来讨你的女朋友一笑

使用Python画一个爱心图片来讨你的女朋友一笑,使用Python的turtle模块画一个爱心小图片,送给你的女朋友,让你的女朋友笑一笑,怎么样,

2023-05-08

使用Python监听剪切板的程序,并将识别到的图片上传到指定图床

使用Python监听剪切板的程序,并将识别到的图片上传到指定图床

2023-05-08

Python识别ocr验证码的程序,识别率非常高

这是一个使用Python模块识别验证码的模块,非常简单,本地就可以识别出来常见的字母和数字验证码,非常适合需要验证码识别的朋友来使用,识别率高达90%以上,不用再对接百度的接口了,百度不但识别率低,还需要花钱,为啥不使用这个免费又好用的ocr识别呢

2023-05-08

Nginx的常用配置文件

Nginx的常用配置文件,适合负载均衡设置等

2023-05-08

Python将CSV转换为Excel

Python将CSV转换为Excel工具,适合csv和excel相互转换的工具

2023-05-08

Python实现csv文件转json文件

实现csv文件转json文件,适合Python后端开发者,将csv文件转为需要的json格式

2023-05-08

使用Python脚本将 CSV 加载到 SQLite 数据库的脚本(带有类型推测)

使用Python脚本将一个csv文件转换存储到Sqlite数据库中,适合会python脚本,并且想处理csv文件的朋友,然后将csv文件存储到数据库中进行检索查询等,提高工作效率

2023-05-08

Python脚本判断是哪个平台运行的

Python脚本判断是哪个平台运行的,可以判断是windows还是mac,然后调用不同的接口播放音频

2023-05-05

使用Python脚本进行内容加解密的案例

使用面向对象的编程思想,对内容进行加解密的案例,适合数据加解密操作

2023-05-05

Python发送Email邮件案例

使用Python编写的一个使用SMPT协议发送Email邮件的案例,适合消息监听的人群,可以实时得到消息响应

2023-05-05

Python写的一个加解密案例

Python写的一个加解密案例,适合对数据进行加解密操作的后端开发人员,保证数据的安全

2023-05-05

Python写的Interface接口案例

Python写的Interface接口案例,可以间接实现面向interface接口开发

2023-05-05

Python的grpc小案例Client客户端

Python的grpc小案例Client客户端,实现Python后端开发Grpc接口,实现数据的快速高效传递

2023-05-05

Python写的Grpc小案例Server端

Python写的Grpc小案例Server端demo,适合Python后端开发Grpc接口,实现数据的高效快速传递,另外还有一个Client的小案例,可以在我的资源列表里面找到

2023-05-05

Github接口上传文件案例

Github接口上传文件案例,使用小案例实现基本的Github接口使用

2023-05-05

使用FastApi写的小案例

使用FastApi写的小案例,快速实现后端接口开发

2023-05-05

使用hashlib生成MD5编号

使用hashlib生成MD5编号,适合想要唯一认证编码的python工作者使用的小Demo

2023-05-05

DF操作csv文件的Demo

DF操作csv文件的Demo文件,适合职场人员使用Python操作csv文件,实现快速方便的操作

2023-05-05

Python脚本的链式编程思想Demo

使用Python脚本开发一个链式编程的框架怎么样?一个简单的Demo可以给你不一样的启发思维,使用一个极简的demo,告诉你链式编程的核心原理

2023-04-28

python脚本读写csv文件并存储到mysql

使用python脚本读取csv文件并自动化链接mysql,并且自动化创建数据库表,并自动化将数据存储到表里面,并且支持断点续传

2023-04-28

Python脚本Clickhouse连接示例

Python脚本Clickhouse连接示例,使用最简单的官方Demo操作Clickhouse数据库,实现数据库的增删改查操作,不用再去官方找样例了,我这个就是最简单最直接的,输入的数据库IP和用户名密码就可以操作了

2023-04-28

安卓Android版zerotier最新安装包

安卓版Zerotier最新1.10.6安装包,省去了到谷歌应用商店下载的麻烦,直接在这里下载就可以使用了,是不是很方便,下载之后,安装后,添加你的id,就可以使用了

2023-04-28

Mac版ZeroTier最新安装包

mac版的最新版本zerotier安装包,下载后直接安装使用,填写自己的id后就可以加入局域网

2023-04-28

Windows版ZeroTier最新安装包

windows版的最新版本zerotier安装包,下载后直接安装使用,填写自己的id后就可以加入局域网

2023-04-28

Python动态插件框架小案例

一个使用python编写的动态插拔py插件的小案例,旨在说明python动态插件框架的结构

2023-04-28

Python脚本分析亚马逊商品

使用python脚本分析亚马逊商品数据的内容,循环100次尝试是否能成功分析的Demo

2023-04-28

钉钉群机器人API接口Python脚本

使用python脚本编写的钉钉群消息机器人提醒脚本,放到服务器运行,可以不间断定时给群成员发消息,可以提醒点外卖,上下班打卡等服务

2023-04-28

Python企微定时打卡

使用python脚本写的企业微信机器人定时打卡的python脚本,定时提醒你上下班打卡,还有点外卖等服务,可以二次编辑,根据你自己的需求进行修改使用,放到linux后台不间断运行,可以24小时为你服务,让你再也不会忘记任何提醒

2023-04-28

ChatGPT-0.12.0-macos-aarch64

ChatGPT苹果电脑m1芯片客户端,直接安装使用即可

2023-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除