Vue3
Vue3简介
Vue3中对比Vue2最大的更新亮点就是组合式API(Composition API),但也保留了选项式API(Options API)
组合式&选项式选项式 API:
选项式 API 是 Vue 2 中使用的传统方式,它将组件的逻辑分散在不同的选项中,如 data、computed、methods、watch 等。
使用选项式 API 编写的组件代码相对较为分散,随着组件的复杂度增加,代码可读性和维护性可能会下降。
选项式 API 使用了基于对象的方式来定义组件,将数据和方法都声明在组件实例的选项中。
这种方式对于熟悉 Vue 2 的开发者来说更加熟悉和容易上手。
组合式 API:
组合式 API 是 Vue 3 中引入的一种新的组件编写方式,基于函数的组合,通过 setup 函数来组织组件的逻辑。
使用组合式 API 可以将相关的逻辑代码放在同一个函数内部,使代码更加集中和清晰,提高了代码的可维护性。
组合式 API 使用了基于函数的方式来定义组件,setup 函数返回一个对象,对象中包含组件的数据、方法等。
这种方式更加灵活,可以使用任何 JavaS ...
验证码
短信验证
需选择一家可靠的短信服务提供商,服务提供商通常提供API来集成短信功能到您的应用程序中,不同的提供商提供不同SDK或库。
后端实现
安装相应的短信SDK或库,以便与短信服务提供商的API进行通信。
创建一个后端API,接收来自前端的手机号码和其他必要的注册信息。
在后端API中,生成一个随机验证码并将其保存到数据库或缓存中,同时将手机号码和验证码发送到短信服务提供商的API。
验证短信服务提供商的响应,确认短信已成功发送。
协商接口
请求需校验信息(图形/数据库已有信息),响应成功后才可进行下一步
信息正确,请求提交手机号,后端生成发送短信的随机验证码,存储于缓存/数据库,调用短信提供商发送短信API携带手机号&验证码,提供商响应服务器成功与否,再响应客户端短信是否发送
客户端收到短信,填入所需信息,提交请求携带验证码&所需信息,后端对比验证码成功,才可完成注册/信息插入,响应结果
前后端交互
在注册页面或组件中,添加一个用于输入用户收到的验证码的字段。
通过AJAX或AXIOS方式,将用户输入的手机号码和验证 ...
PIP依赖管理
pip简介常用命令安装依赖包1pip install package_name
用于安装指定名称的依赖包。
安装指定版本的依赖包1pip install package_name==version_number
用于安装指定名称和版本号的依赖包。
升级依赖包1pip install --upgrade package_name
用于升级已安装的依赖包至最新版本。
列出已安装的依赖包1pip list
用于列出当前环境中已安装的所有依赖包及其版本号。
卸载依赖包1pip uninstall package_name
用于卸载指定名称的依赖包。
导出依赖包列表1pip freeze > requirements.txt
用于将当前环境中已安装的依赖包及其版本号导出到一个文本文件(一般命名为requirements.txt),方便在其他环境中重现相同的依赖包配置。
从requirements.txt文件安装依赖包:1pip install -r requirements.txt
用于从指定的requirements.txt文件中安装所有依赖包及其版本号。
搜索依赖包1pi ...
ChatGPT
Docker 方式搭建
使用 CentOS、Arch Linux 进行实验,无需你懂的方式进行对话。
参考:
GitHub-pengzhile:pandora
安装 Docker 参考本博客文章Docker
下拉 pengzhile 大佬的镜像
123456789101112docker pull pengzhile/pandoraUsing default tag: latestlatest: Pulling from pengzhile/pandoraf03b40093957: Pull complete05c2151a829c: Pull complete413e4e4760ae: Pull complete92ec8b395aa1: Pull complete295d2f1818b0: Pull completeb161d91fdb6b: Pull complete0bb6c060da43: Pull complete2a5bb1e631c2: Downloading [============> ...
TypeScript
简述
TypeScript 是 JavaScript 的一个超集,它在 JavaScript 的基础上增加了类型系统和更强大的面向对象编程支持。有趣的是它将JS这样的动态类型语言变成了动态类型语言。
参考:
TypeScript-文档
优势
以下是ChatGTP给出的答案,结合我自己的理解就是,TS相比JS来说和用IDEA编程Java语言一样,可以自动补全,导航(快速跳转至自定义变量、方法、类等标识符的位置),类型检查(编译时检查类型错误/编辑代码时显示类型错误)、重构(智能地重命名变量、方法、类等标识符)。
参考:
TypeScript-文档:5分钟上手TypeScript
类型系统: TypeScript 提供了静态类型检查,可以在编译时发现很多常见的错误,例如类型错误、拼写错误等。这使得代码更加健壮和可维护。同时,类型系统还使得编辑器和 IDE 更加智能,可以提供更好的代码补全、重构等功能。
更好的面向对象编程支持: TypeScript 提供了更好的面向对象编程支持,包括封装、继承、接口、抽象类等。这使得编写复杂的应用程序更加容易和可维护。
更好的工具支持: 由于 T ...
JavaScript
初识
JavaScript是一种由ECMAScript标准规范定义的编程语言。它的实现可以是开源的。
在浏览器中,JavaScript 是单线程执行的。这意味着在任何给定时间点,JavaScript 代码只能由一个线程执行。这个单线程通常称为主线程或 UI 线程。
NodeJS中JavaScript 也可以实现多线程编程,例如Worker Threads API 允许开发者在 Node.js 中创建独立的线程,这些线程可以执行 CPU 密集型任务、并行处理数据或执行其他需要并发执行的操作。这些线程是由操作系统调度和管理的。
但是,需要注意的是,Node.js 是单线程的事件驱动模型,主线程上的事件循环仍然是单线程的,因此在任何给定时刻只有一个事件在主线程上执行。而 Worker 线程的执行是在独立的 JavaScript 执行环境中进行的,它们可以并行执行代码,它们之间通过线程间的消息传递机制进行通信,但不会影响主线程的事件循环。
启动每个 Worker 线程都会消耗一定的系统资源,包括内存和 CPU 资源。每个 Worker 线程都有自己的 JavaScript 执行环境和相关的资源 ...
uni-app
概述
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台,并且在 HBuilderX 中可直接打包生成 Android、iOS App。
参考:
DCLOUD-官网
DCLOUD社区:DCloud_heavensoft:DCloud产品综述
DCLOUD:uni小程序 SDK
DCLOUD:uniCloud
凤凰架构:无服务时代
CSDN树洞菇凉:weex、nvue、uni-app 和 nvue开发与vue开发的常见区别
相关uniCloud
uniCloud 是 DCloud 联合阿里云、腾讯云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。
免运维,无需关心扩容和攻击
比传统服务器更便宜
全栈,js开发前后端
与uni-app搭配有更高的开发效率
凤凰架构:无服务时代 无服务架构对一些适合的应用确实能够降低开发和运维环节的成本,譬如不需要交互的离线大规模计算,又 ...
Nginx
初识
参考:
知乎-竹汐:nginx有哪些作用?
Nginx官方:nginx documentation
反向代理
以下配置文件中共有三条路由:
/指向/data/www下的静态网页,服务由Nginx执行
/h5/指向frps监听远程frpc客户端的Node.js服务器
/dalai/wx指向frps监听远程frpc客户端的Python运行程序
其中Nginx路由参数比如/h5/,Nginx收到请求会将对应/h5/的请求发给对应的服务,此时对应的服务是Node.js服务,同时将路由也发给Node.js监听的服务,此时Node.js会收到某客户端发来请求/h5/Vue路由的页面数据。
参考:
博客园-郑清:Nginx 配置反向代理
知乎-小知:Nginx配置反向代理,一篇搞定!
配置了反向代理、静态网站,测试后互不干扰
/静态网页
/h5/内网穿透后反向代理Vue项目
/dalai/xw内网穿透后反向代理微信公众号后端项目
/etc/nginx/nginx.conf
123456789101112131415161718192021222324 ...
内网穿透
概述
参考:
愚人BLOG:利用反向代理搭建内网穿透
知乎-波哥:彻底理解正向代理、反向代理、透明代理
首先大白话搞清楚两个专业名词
正、反向代理正反向代理首先作为代理一定是相对服务器而言的。
正向代理,一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术,比如科学上网技术。
反向代理,正是本文涉及到的技术手段,目的是从一个内网的外部去访问内网内部主机,当然一般情况下是访问不进去的,但使用了反向代理服务器就可以做到,此方式如何打开防火墙/网关?其实是内部主机主动向反向代理服务器发送请求后,反向代理服务器与内网客户端建立了一个链接,此时的反向代理服务器就可以通过防火墙/网关对内网设备(前提是发起过对反向代理服务器的请求)发起请求。
内网穿透首先一般情况下,处于内网的你的主机,比如手机电脑接入互联网通过dhcp获取本地地址一定会是一个内网地址,肯定不会是公网地址,此时的地址是不能被外界访问的,但可以主动向外网地址发起请求,此时正好建立了一个链接,正在被你请求的公网地址是可以对你发请求的。但如果公网IP或者处于另一个内网的人想请求你主机上的服务,比如你搭建的网站 ...










