- 博客(1431)
- 收藏
- 关注
原创 flutter跨平台开发模板,继承get和dio,实现全局loading和快速更改名称和图标icon
main分支:最简单的最通用的模板,集成了get路由管理和getx数据状态管理,还有全局loading效果,还有shared_preferences临时数据存储,仿照前端开发localstoreage来存储数据,项目结构也是仿照前端开发结构,让前端开发人员以熟悉的方式开发flutter软件,并且以最简单最快速的方式来开发项目。
2024-01-21 19:00:00 978 1
原创 uniapp+uviewPlus+vue3+ts+pinia+vite+echarts 开发基础模板,开箱即用,非常顺手
使用 uniapp + vue3 + ts + pinia + vite + echarts 开发基础模板,拿来即可使用,不要删除 yarn.lock 文件,否则会启动报错,这个可能和 pinia 的版本有关,所以不要随意修改。
2023-11-10 14:49:15 604
原创 用Tauri+Vue3+TypeScript+Pinia写的基础类似百度云开发模板,支持国际化和主题切换,图片音视频播放等,可做图床视频床使用
一个基础的tauri开发模板,具备国际化多语言切换,暗黑和亮白主题切换,注册登陆页面美化,动态路由自动构建左侧菜单列表,Pinia状态管理等等功能,开箱即用项目地址: https://github.com/Sjj1024/s-hub/tree/tauriv1.0 代码下载后,使用pnpm 安装依赖运行程序:
2023-06-09 18:18:39 1013 8
原创 antd中Upload上传图片宽高限制以及上传文件的格式限制
项目中有一个需求,要上传轮播图,且有尺寸要求,所以就需要在上传图片的时候进行尺寸限制,使用了Upload组件,需要在组件的beforeUpload方法中进行限制。如果尺寸不符合要求,validateImageSize方法会返回false,如果尺寸符合就会返回true。
2024-04-23 19:00:31 139
原创 认识rust中闻风丧胆生的命周期,不用过于担心,它对于所有人都是平等的
在很多时候编译器是很聪明的,但是总有些时候,它会化身大聪明,自以为什么都很懂,然后去拒绝我们代码的执行,此时,就需要我们通过生命周期标注来告诉这个大聪明:别自作聪明了,听我的就好。因此,这时就回到了文章开头说的内容:在存在多个引用时,编译器有时会无法自动推导生命周期,此时就需要我们手动去标注,通过为参数标注合适的生命周期来帮助编译器进行借用检查的分析。总之,实现方法比想象中简单:加一个约束,就能暗示编译器,尽管引用吧,反正我想引用的内容比我活得久,爱咋咋地,我怎么都不会引用到无效的内容!
2024-04-23 14:14:53 892
原创 quill富文本编辑器中文汉化和高度设置操作
如果你用的是snow 主题,那么就可以直接使用我的css样式。将以上css样式添加到项目中,就可以了。
2024-04-22 20:06:04 455
原创 cargo build使用指南,build编译后的target文件夹目录结构说明
cargo build 的结果会被放入项目根目录下的 target 文件夹中,当然,这个位置可以三种方式更改:设置 CARGO_TARGET_DIR 环境变量、build.target-dir 配置项以及 --target-dir 命令行参数。行云流水,但谈不上一气呵成。细心的读者可能已经发现,在调用的时候,路径中有一个明晃晃的debug字段,没错我们运行的是debug模式,在这种模式下,,可是福兮祸所伏,. 原因是,在debug。
2024-04-22 13:40:00 697
原创 Swift 可选(Optionals)变量类型
Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。Swfit语言定义后缀?在这两种情况下,变量 optionalInteger 都是可选整数类型。注意,在类型和之间没有空格。Optional 是一个含有两种情况的枚举,None 和 Some(T),用来表示可能有或可能没有值。任何类型都可以明确声明为(或者隐式转换)可选类型。当声明一个可选类型的时候,要确保用括号给?操作符一个合适的范围。
2024-04-20 19:28:39 682
原创 Swift环境搭建,创建Playground训练场
Swift是一门开源的编程语言,该语言用于开发OS X和iOS应用程序。在正式开发应用程序前,我们需要搭建Swift开发环境,以便更好友好的使用各种开发工具和语言进行快速应用开发。由于Swift开发环境需要在OS X系统中运行,因此其环境的搭建将不同于Windows环境,下面就一起来学习一下swift开发环境的搭建方法。
2024-04-20 16:52:14 550
原创 发布Chrome浏览器extension扩展插件,必须开启google两步验证
我在发布google浏览器插件的时候,提示必须要开启两步验证,所以这里记录一下开启两步验证的方式有哪些。
2024-04-20 11:33:28 374
原创 浏览器渲染流程中的 9 个面试点
输入 url 到页面展示,发生了什么?css 加载会造成阻塞吗?说一说你对回流、重绘的理解。为什么 JS 会阻塞页面加载?为什么 JS 引擎是单线程?为什么不准时?event loop执行顺序event loopGUI的执行顺序性能优化。
2024-04-20 10:09:32 900
原创 1024同步写作助手操作说明文档
开发这个浏览器插件的主要目的是为了解决多个平台发布文章不同步问题,比如我在csdn上写了一篇文章发布了,但是我还有掘金/知乎/博客园/今日头条/微信公众号等平台啊,我也想把这篇文章同步到其他几个平台,怎么办?难道让我手动再复制一下到其他平台啊?nonono,我不会那么做的,那么做只会浪费我精彩且有限的生命。所以,我开发了这个浏览器插件。
2024-04-18 17:43:36 375
原创 Python批量裁剪图片
但是你只能通过不断摸索crop_box的取值,根据原图像上绘制的边界框,逐渐确定你最后的裁剪区域。前两天想要把连续的不同帧的静态图片拼成一个GIF图片,但是原来的图片需要裁剪,而且存在很多张,幸好这么多张的图片裁剪的位置是一样的,于是我便尝试用Python优雅地批量裁剪这些图片。代码的输入是图片的地址和两个点的坐标,这两个点的坐标分别表示一个矩形的左上角顶点和右下角顶点,这个矩形就是你的裁剪区域。 用draw_bbox拿到合适的crop_box以后,下面给出裁剪图片的代码。
2024-04-18 16:21:58 451 1
原创 答应我,在vue中不要滥用watch好吗?
这篇文章介绍了watch主要分为两种使用场景,一种是当watch的值改变后需要同步更新渲染的dataList,另外一种是当watch的值改变后需要异步从服务端获取要渲染的dataList。如果不管同步还是异步都一股脑的将所有代码都写在watch中,那么后续接手的维护者要梳理dataList相关的逻辑就会非常痛苦。因为到处都是watch在更新dataList的值,完全不知道应该在哪个watch中去加上最新的业务逻辑,这种时候我们一般就会再新加一个watch然后在新的watch。
2024-04-18 14:31:03 875
原创 来说说vue3是怎么处理内置的v-for、v-model等指令?
上下文其实就是在某个范围内的“全局变量”,在这个范围内的任意地方都可以拿到这个“全局变量”。举两个例子:在vue中可以通过provied向整颗组件树提供数据,然后在树的任意节点可以通过inject拿到提供的数据。比如:根组件App.vue,注入上下文。业务组件list.vue,读取上下文。在react中,我们可以使用函数创建一个上下文对象,然后注入到组件树中。// ...return (树中的节点一般可以通过children拿到子节点,但是父节点一般不容易通过子节点拿到。
2024-04-18 14:17:59 787
原创 Windows家庭版开启远程桌面的方法
Windows家庭版提示不支持远程桌面,如下图Windows11家庭版:本文将介绍一种Windows家庭版开启远程桌面的方法,分为开启远程桌面设置、配置问题排查及解决:安装远程桌面补丁文件;手动开启“远程协助”,防火墙开放端口;RDP Wrapper自救指南;远程桌面设置常见问题排查和解决。1、下载补丁并解压,下载链接:GitHub - stascorp/rdpwrap: RDP Wrapper Library注意:用谷歌浏览器会提示危险文件,选择“保留危险文件”即可。如果大家不放心,请用杀软进行查杀。
2024-04-18 14:12:08 594 1
原创 css实现模糊镜效果及渐变字体和text-shadow冲突解决方案
今天主要介绍2个css特效,一个是css实现模糊镜效果,就是一个返回顶部标签,或者固底标签,网页滑动的时候看到网页滑动过的部分是模糊的。类型模糊镜子的效果,看哪里哪里背景是模糊的。还有就是解决一个渐变字体或者图片字体添加text-shadow,阴影会在文字顶部的问题。
2024-04-18 13:55:23 392
原创 写给小白的ChatGPT和AI原理
以上就是生成式AI的基本工作原理,通过深度学习算法处理大量的文本数据,从而学习语言的语法和语义规律,并能够自动生成符合语法和语义的文本。在生成文本时,生成式AI会基于上下文信息生成一个语言模型,然后利用随机采样或贪心搜索方法生成文本序列。
2024-04-18 11:40:57 791
原创 面试官:为什么忘记密码要重置而不是告诉你原密码?
如果明文存储的话,风险太大,且不说数据库的数据有被盗的风险,如果被服务端的相关人员特别是有数据库权限的恶意利用,那将是不可预估的风险。当你输入密码登录之后,服务端会先把你的密码对应的盐取出,然后再去执行一遍获取哈希值的过程。盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让哈希后的结果和使用原始密码的哈希结果不相符,这种过程称之为“加盐”。哈希算法的是不可逆的,你无法通过哈希之后的值再得到原值,这样的话,服务端也不知道你的原密码到底是什么,自然没办法告诉你原密码是什么。
2024-04-17 19:34:13 800
原创 React间接实现一个动态组件逻辑
在一个超级小的项目里面使用react开发一个菜单功能,但是又不想使用react-router,所以就想着能不能使用一个很简单的方式做一个替代方案?我在引入一个组件后,我想把这个组件和菜单做一个关联映射,这样当点击菜单后,就可以直接跳转到对应的组件,这才是最理想的一个方式。
2024-04-16 20:37:44 409
原创 Git回滚操作,工作区和暂存区恢复修改删除的文件
在利用git协作过程中,经常需要进行代码的撤销操作,这个行为可能发生在工作区,暂存区或者仓库区(或版本库)。我们先讨论在工作区与暂存区发生的撤销行为,这里会有两个命令提供帮助,git restore与git checkout。后面我们会讨论在仓库区发生的撤销行为,这里同样会有两个命令提供帮助,git reset与git revert。
2024-04-16 16:59:54 1859
原创 AppleScript初体验,让你的mac实现自动化UI操作
AppleScript是苹果公司开发的一种脚本语言,用于操作MacOS及其应用程序,在实现MacOS自动化工作方面非常给力。我们可以使用AppleScript用来完成一些重复琐碎的工作,AppleScript具有简单自然的语法,另外系统也提供了语法查询字典,可以很方便的查询语法。
2024-04-16 13:55:32 1336
原创 vscode如何方便地添加todo和管理todo
如果想在vscode中更加方便的添加和管理TODO标签,比如添加高亮提醒和查看哪里有TODO标签等,就可以通过安装插件快速实现。
2024-04-16 11:21:10 397
原创 Vue3的11种组件间通信方式简单说明,前端必备5分钟完看学会
vue3出来很久了,也非常成熟了,平时项目只管用也没多想,直至今天想写一编关于vue3传参,然后我总结一下竟然总结出来11种方式那么多,11种我分别列了出来,由于vue3有两种setup写法,下面我将用最简洁的代码例子针对主流的写法对每一种用法进行细说。一、父传子父组件代码: 在第二行那里 :name="name" 把那么传给子组件子组件代码: const props = defineProps({})接收后直接在标签使用二、子传父子组件代码: 注册 addEvent 事件
2024-04-16 10:26:46 809
原创 vscode和pycharm等idea编写protobuf文件格式化
想在pycharm或者goland等idea中开发protobuf文件的话,可以安装一个插件:protocol-buffers。如果是vscode想要编写proto文件,可以安装另外一个插件:vscode-proto3。安装之后,proto文件就会支持高亮和格式化了。
2024-04-15 11:05:36 504
原创 mac电脑python运行websocket出现[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed cert
2024-04-15 07:18:49,795 - INFO - 直播流m3u8链接地址是: https://pull-hs-f5.flive.douyincdn.com/media/stream-403194963593265836/index.m3u8。2024-04-15 07:18:49,796 - INFO - 直播流FLV地址是: https://pull-hs-f5.flive.douyincdn.com/media/stream-403194963593265836.flv。
2024-04-15 10:35:54 931
原创 发布 Chrome/Edge浏览器extension扩展到应用商店
创建和发布自定义 Chrome 应用和扩展程序:https://support.google.com/chrome/a/answer/2714278?hl=zh-Hans 在 Chrome 应用商店中发布:https://developer.chrome.com/docs/webstore/publish?hl=zh-cn注册开发者帐号:https://developer.chrome.com/docs/webstore/register?hl=zh-cn大包压缩扩展然后会生成一个压缩包和一个密钥文件: 首
2024-04-14 22:12:58 6940 2
原创 nuxt安装报错Error: Failed to download template from registry: Failed download raw.githubusercontent.com
我们通过执行如下命令,创建 Nuxt 项目时:报错:报错原因:这个问题应该是DNS解析不到raw.githubusercontent.com的IP,导致链接失败的。
2024-04-14 17:37:42 504
原创 CSS中:root伪类的说明和使用
root选择器用匹配文档的根元素。在HTML中根元素始终是HTML元素,所以也可以把:root理解为html根元素选择器,但是比html根元素的优先级高,:root伪类选择器常常被用于定义全局的CSS变量或者设置全局的CSS样式。CSS :root 选择器 | CSS 参考手册定义全局变量你可以使用:rootcss:root {// 定义CSS变量;// 代码中所有盒模型的边框向内挤压cssbody {:root {html {尽管html选择器出现在后面,:root。
2024-04-14 14:37:54 405
原创 vscode前端项目使用Tailwind CSS开发必备技能,5分钟快速上手
Tailwind CSS IntelliSense 是一款功能强大的工具,可以帮助开发者更快、更高效地编写代码。该工具可以实时提供 Tailwind CSS 类的建议,减少错误,提高代码质量。通过使用 IntelliSense,开发者可以提高生产力,减少学习曲线,并提高应用程序的可访问性。如果你是一名使用 Tailwind CSS 的开发者,请务必充分利用这一强大的功能。
2024-04-13 15:43:42 1171
原创 tRPC架构设计简单理解
互联网发展早期,业务场景差异大,试错迭代速度很快。这导致其后台服务使用的语言技术栈、开发框架、通信协议、服务治理系统、运维平台等或多或少存在差异。业务发展到一定阶段后,跨业务合作越来越多,组织架构调整也愈发频繁。技术体系差异,特别是开发框架的不统一,给业务互通带来巨大成本,也导致开发和运营的效率难以快速提高。同时,随着云原生技术的发展,业务越来越多地使用开源技术和云组件。拥抱云原生已经是一种主流趋势。上述问题在腾讯内部也同样存在,且因为规模大、业务类型多,更加难以解决,更必须解决。
2024-04-12 16:32:40 867
原创 TCP/IP 协议栈在 Linux 内核中的 运行时序分析
一个完整的Linux内核一般由5部分组成,它们分别是内存管理、进程管理、进程间通信、bai虚拟文件系统和网络接口。内存管理主要完成的是如何合理有效地管理整个系统的物理内存,同时快速响应内核各个子系统对内存分配的请求。Linux内存管理支持虚拟内存,而多余出的这部分内存就是通过磁盘申请得到的,平时系统只把当前运行的程序块保留在内存中,其他程序块则保留在磁盘中。在内存紧缺时,内存管理负责在磁盘和内存间交换程序块。进程管理主要控制系统进程对CPU的访问。
2024-04-11 16:02:57 952
原创 程序员Git使用心得,只能帮你到这里了
暂存 git add->提交 git commit->上传 git remote;克隆 git clone;拉取 git fetch拉取并合并 git pull。
2024-04-11 15:55:07 778
原创 git常用命令合集,程序员必备技能,5分钟学会
1.git remote -v 查看当前仓库地址2.git remote add origin 仓库地址:给当前git项目添加远程仓库绑定3.git branch -M main : 重命名当前分支为main4.git push -u origin main:将当前(main)分支上的内容上传到刚刚添加的origin远程库。5.git fetch origin:从origin远程库拉取该远程库有但你的本地库没有的内容。
2024-04-11 15:37:03 965
原创 typescript中的type关键字和interface关键字区别
Type又叫类型别名(type alias),作用是给一个类型起一个新名字,不仅支持interface定义的对象结构,还支持基本类型、联合类型、交叉类型、元组等任何你需要手写的类型。
2024-04-10 19:52:58 364
原创 Nginx常用配置,开箱即用
经常遇到Nginx安装和配置的问题。这里笔者将常用配置统统写在下面,方便咱们日常使用。这里本着开箱即用的原则,所以大多数时候不会解释为什么要这样去配置,也不涉及Nginx的安装步骤。下面的所有配置,都可以直接复制后粘贴使用,只要改改ip地址或者端口就可以了。
2024-04-10 12:00:28 347
原创 SSH穿透ECS访问内网RDS数据库
处于安全考虑,RDS一般只会允许指定的IP进行访问,而我们开发环境的IP往往是动态的,每次IP变动都需要去修改RDS的白名单,为我们的工作带来很大的不便。那么如何去解决这个问题?假如我们有一台ESC服务器,ESC服务器跟RDS在同一个内网之中,只需要将ECS内网IP添加到RDS白名单,然后我们通过SSH进行端口转发,就可以通过内网形式访问数据库了。这样做更安全,由于IP是固定的,效率也更高。但是访问速度就取决于当前ESC的带宽了,不过这对于我们开发来说往往是足够的了。
2024-04-10 11:51:26 619
原创 日志监控思路分享,只监控日志内容,不存储
基于这两点考虑 Java 肯定不适合干这事了,Java 虽然有规则引擎如 drools 或者直接用 Groovy 也可以做的可扩展性,但 Java 对运行时依赖太重,即使用 GraalVM 打成 native 包,也不一定就好用。因此,笔者选择使用 Rust 来开发做 watcher 模块开发,并集成 Lua 引擎到项目中,使用 Lua 脚本来提供可扩展性。有一个这样的需求,就是实时监控日志文件的内容,不需要存储,仅当某行日志内容触发某个规则时调用一段业务逻辑就行了。,可以将其称为 watcher 模块。
2024-04-10 11:39:34 552
phpstudy-x64-V8版本安装包
2023-06-07
可以在浏览器里免费使用chatgpt的插件
2023-05-10
使用Python模块ppadb控制手机拍照
2023-05-08
使用Python的uiautomator2控制手机操作叮咚买菜
2023-05-08
使用Python画一个爱心图片来讨你的女朋友一笑
2023-05-08
Python识别ocr验证码的程序,识别率非常高
2023-05-08
使用Python脚本将 CSV 加载到 SQLite 数据库的脚本(带有类型推测)
2023-05-08
Python写的Grpc小案例Server端
2023-05-05
Python脚本的链式编程思想Demo
2023-04-28
Python脚本Clickhouse连接示例
2023-04-28
安卓Android版zerotier最新安装包
2023-04-28
Python企微定时打卡
2023-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人