- 博客(150)
- 收藏
- 关注
原创 一篇文章带你理解浏览器缓存
浏览器缓存机制详解:前端开发者需要关注强缓存和协商缓存两种机制。强缓存通过Cache-Control(如max-age)实现,在有效期内直接从内存/磁盘读取资源;协商缓存通过ETag/Last-Modified实现,需向服务器验证资源是否变更。实践中,带哈希的静态资源应设置长期缓存(如1年),HTML文件则采用短缓存或协商缓存。后端通过响应头控制缓存策略,前端通过内容哈希确保文件更新时URL变化。关键点在于:HTML入口必须能及时更新,静态资源实现持久缓存,二者配合既保证加载速度又确保版本更新。
2026-04-17 11:13:43
83
原创 Python入门学习三
async def要创建一个 “能异步执行的函数”,必须用async def开头(不能用普通def# 这是一个协程函数(注意 async def)print("协程开始执行")return "协程执行完成"注意:协程函数不能直接调用!如果像普通函数一样调用result = my_coroutine() # 不会打印任何内容print(type(result)) # 输出:<class 'coroutine'>(是协程对象,不是返回值)
2025-12-03 16:28:30
1354
原创 REST API
web2.0阶段的出现,客户端不限于pc浏览器,可能是移动App,也可能是小程序,这就要求服务端提供一套统一的api接口,不同类型的客户端基于相同的协议/规则来调用api接口并获取预期的数据。REST是一种设计API接口规则,因具有简单,易读,易用的特点,在web项目中非常受欢迎。4. 请求响应 - 模版路径/由需求决定 4. 请求响应 - 需求决定,一般响应格式为json格式。不同的开发者对api的设计不同,可能出现一个接口,不同的人写出的风格不一样。
2025-12-02 11:21:53
349
原创 Python入门学习二
定义类class 类名称:类的属性 # 成员变量类的行为 # 成员方法#成员方法,在传入参数时,self是透明的def 方法名(self, 形参1,...., 形参):slef.成员变量#创建类对象对象 = 类名称()案例name = None # 姓名age = None # 年龄print(f"大家好我是{self.name}")print(f"大家好我是{self.name}", msg)student1.say_msg("哎呦不错哦")
2025-12-01 14:28:11
824
原创 Python入门学习一
本文从前端开发者的角度介绍Python基础语法,重点对比Python与JavaScript的差异。主要内容包括:Python环境搭建、基础语法(变量、数据类型、运算符)、逻辑判断与循环、函数定义与使用、数据容器(列表、元组、字典等)、文件操作、异常处理以及模块和包的使用。特别针对前端开发者熟悉的JavaScript语法,详细对比了两种语言在数组/列表操作、字符串处理、对象/字典等方面的异同。文章还介绍了PyCharm的使用技巧和第三方库安装方法,最后通过JSON数据转换和ECharts可视化案例展示Pyth
2025-11-27 17:25:55
839
原创 nodejs - 基础知识
Node.js是基于chorme的v8引擎的js运行环境fs模块是nodejs官方提供的用来操作文件的模块path是nodejs官方提供用于处理路径的模块,它提供了一系列的方法和属性用来满足对路径的处理需求在网络节点中,负责消费资源的电脑叫做客户端,负责对外提供网络资源的电脑叫做服务器http模块是nodejs官方提供,用于创建web服务器的模块模块化:模块化就是遵守固定的规则,把一个大文件拆分成独立并互相依赖的多个小模块好处提高代码的复用性提高代码的可维护性实现按需加载。
2025-03-20 13:34:39
1021
原创 hubilder打包ios app, 并上传TestFlight
云打包DCloud 根据 appid 来判断用户是否有权限进行云打包。既不是所有者、又不是协作者,就无法打包;打包后的原生应用根据 appid 来管理本地资源。每个appid有独立的沙盒,存储是隔离的;热更新(wgt升级)通过 appid 来覆盖资源数据统计广告换量uni push制作发行页面用户反馈购买原生插件uni云端一体安全网络。
2025-03-17 15:04:43
1718
1
原创 Hbuilder 打包ios包
前置知识uni-app应用标识(AppID)什么是uniapp的APPIDuni-app的AppID可以在项目文件的manifest.json文件中查询到,那他是什么呢?AppID是标记应用的唯一标识,一个项目就会对应一个AppID,这个AppID可以在开发者管理后台看到,去操作这个应用的相关权限AppID会在HBuilder创建项目时自动生成保存在manifest文件中,是不可手动去修改的,只能手动获取。如下图修改AppID会带来什么。
2025-02-25 14:37:36
1018
原创 vue3项目的创建与配置
ESLint 中文网eslint用于规范代码,可以通过插件配置规范代码的语法,自定义编码标准,帮助团队编写更清晰更易于维护代码prettier是专注于代码格式化的工具,关于代码外观的一致性,如缩进,引号,分号等,主要是消除不同开发之前的代码风格争议与eslint的区别很简单:如eslint是规范代码使用const 还是let, pertteirt在意的是你是用的双引号还是单引号。eslint强调代码正确性,Prettier强调风格的一致性。
2025-02-19 15:40:02
803
原创 vite配置scss全局变量
main.ts全局引入,是让整个项目都加载使用了scss文件的样式,每个scss文件的yi'ji保持了自己独立的作用域,不同文件直接的变量是不能相互使用的,这也是为什么要在vite.config.js中配置。在使用相对路径的时候,vite可能无法解析,因为在sass的加载器在处理相对路径时,会根据当前文件的位置查找,而additionalData是全局注入的内容,没有明确的上下文依赖关系,因此相对路径对报错。而variable.scss通常是在vite.config.js中配置,他们的区别是什么呢。
2025-02-19 11:06:30
1457
2
原创 Key “rules“: Key “constructor-super“: structuredClone is not defined
由于项目所使用的 Node.js 版本过低,而 ESLint 或者其相关插件在执行过程中使用的方法。vue3的项目,配置好eslint后,使用启动lint检查,报错。是在 Node.js 17 及以上版本才支持的内置方法,因此只需要进行升级nodejs就好了。推荐使用nvm来管理多个node版本。升级成功后,在诚心启动就OK啦。
2025-02-06 10:49:37
685
原创 初级前端面试题 - js
脚本,脚本内容是:获取cookie(有个人的列表信息),并发送到我的服务器(服务器配合跨域),有人查看阅读,就可以轻松的获取访问者的cookie假设有一篇博客<body><p>xxx</p><p>xxx</p>
2025-01-07 14:26:18
1970
2
原创 JAVA开发入门学习七- 数组
/ 声明1// 赋值// 声明2// 赋值2// 声明+赋值一起初始化// 动态初始化: 数组变量的赋值和数组元素的赋值分开进行// 静态初始化:数组变量的赋值和数组的元素赋值同时进行String[] stringArray = new String[]{"测试1", "测试2"};// 数组的取值// 超出数组长度,报错:ArrayIndexOutOfBoundsException// 数组的length与遍历i++) {
2024-12-24 17:31:45
803
原创 java开发入门学习三-二进制与其他进制
常用的进制有二进制,八进制,十进制,十六进制。而我们最熟悉的是十六进制,他们分别是怎么表达的呢?定义不同的进制,写法不同0b0B101010100012100x0XA10。
2024-12-19 11:10:30
493
原创 java开发入门学习二 - 变量
定义: 被java赋予了特殊含义的,用做专门用途的字符串或单词(与前端定义一样,如const let 等)官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html。
2024-12-18 18:01:55
684
原创 java开发入门学习一 -基本概念入门
JDK: Java程序开发工具,包含了JRE和开发人员使用工具JRE: Java程序运行时环境,包含了JVM和运行时所需要的核心类库JDK = JRE + 开发工具集(例如java编译工具等)JRE= JVM + Java se标准类库。
2024-12-17 18:24:49
911
原创 excel的导出
excel的导出是开发常见的功能,但是excel得到处都是谁导出呢?一般情况excel都是由后端导出生成blob格式返给前端,前端进行下载,当然前端也可以自己利用数据进行excel导出,这篇文章将介绍前端导出和后端导出的一些插件使用。
2023-07-13 10:50:55
3219
原创 前端需要注意和了解的SEO
SEO(Search Engine Optimization又叫做搜索引擎优化。是一种方式:利用的规则提高网站在有关搜索引擎内的。
2023-05-18 15:50:27
825
原创 vue实现自定义上传下载
在vue中灵活应用input, 写好上传样式,触发input回调实现上传例如:上传头像下载文件,主要是要理解下载时后端返回的数据是什么,前端到底要怎么处理,可以去看看前面的文章链接,这里直接写封装的方法例如: 下载excelaxios({},data,link.download = fileName //下载的文件名})}...
2022-08-18 10:10:42
655
原创 从入门到手写call和apply
对于js定义一个函数,如果不是对象的方法,那么它就是全局对象的函数。window对象身上的例:apply和call是一个方法 - 作用是改变函数调用的this指向callapply和call的区别例如如果第一个参数传null手写call手写apply...
2022-06-23 15:26:56
201
原创 图形验证码
如下图实现图形验证码1.uniapp中利用天御插件实现1.前提条件使用图形验证,必须申请所需要的CaptchaAppid和AppSecretKey(在下面地址中进行申请)登录 - 腾讯云2.添加插件(1)插件需要在微信公众平台中添加 = 》 设置 =》第三方设置 =》 添加插件(2)再次重新启动项目到微信开发者工具后,直接添加插件3.使用1.在mainfest.json中进行配置插件 "plugins" : { "t-captch..
2022-06-21 09:58:00
2384
1
原创 手把手教学vue的路由权限
后台管理类系统大多都涉及权限管理,菜单权限,按钮权限。菜单权限对应 - 路由。菜单权限 - 根据用户角色不同,路由文件动态配置。vue-routerVue Routervue-router是vue项目在进行开发过程中必不可少缺少的插件,目前vue2依赖的是vue-router3,vue3依赖的vue-router4在进行权限控制之前一定要了解哪些路由需要权限哪些不需要知识点集结动态添加更多的路由规则。参数必须是一个符合 选项要求的数组。已废弃目前版本再使用该api会被提示已经废弃,但是暂时依旧可以使用
2022-06-13 14:45:48
4491
2
原创 nuxt框架获取用户真实的ip
需求:获取用户真实ip,接口数据请求多次(爬虫)禁用用户,拉入黑名单在这个需求中,前端所需要做的是,在接口请求将真实ip传入1.客户端渲染和服务器端渲染简单理解一下客户端渲染和服务器端渲染1.客户端渲染客户端渲染,是服务端给客户端相应数据,客户端进行将数据生成DOM元素在浏览器进行渲染2.服务器端渲染服务器端直接返回html结构给浏览器进行渲染3.区别服务器端渲染更利于seo引擎。2.nuxtnuxt的服务器端是node.js在正常请求接口过程中,后端
2022-05-12 16:26:19
3168
3
原创 uniapp实现语音识别
前言: 本篇文章主要是调用录音将录音文件传递给后端进行识别使用的api - uni.getRecorderManager()uni.getRecorderManager() | uni-app官网api在H5是并不兼容的创建初始化事件和监听事件<script>// #ifdef MP-WEIXINconst recorderManager = uni.getRecorderManager();// #endifexport default{ data
2022-04-29 11:14:03
5076
8
原创 微信小程序实现图片上传
图片上传是常见功能,在微信小程序中怎么实现呢?介绍两个apiwx.chooseImage - 选择图片从本地相机中选择图片 -wx.chooseImage(Object object) | 微信开放文档上传-UploadTask | 微信开放文档单张图片上传wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], succe...
2022-04-28 14:19:21
5644
原创 前端所使用的二进制
MDN关于blob的解释 -Blob - Web API 接口参考 | MDNblob是类文件对象,不一定是JavaScript的原生数据格式,取名来源于SQL数据库,表示二进制大对象。 ...
2022-04-19 11:46:52
2149
原创 bus总线的原理解析
非父子组件间传递数据有很多种方式,本文从官方文档开始解析bus总线的原理1.关于官方介绍从 Vue 1.x 迁移 — Vue.js在官方文档中对bus总线的介绍是使用,但是明确指出了复杂情况推荐使用vuex实现非父子组件直接的传值,bus总线应用在简单的项目1.怎么理解bus总线bus总线就是一个中间组件,触发事件,触发中间组件,监听中间组件的变化2.bus组件存在的条件和注册1.所有组件都可以访问2.可以使用$emit,$on,$off在项...
2022-04-06 11:24:18
3050
原创 vsCode常用软件
1.Chinese (Simplified)中文(简体)语言包为 VS Code 提供本地化界面。将英文版的vscode转换为中文版界面2.Auto clost Tag自动闭环标签,加快代码速度3.Auto Complete Tag自动关闭,自动重命名标签4Auto Rename Tag5.HTML CSS SupportHTMLid和class属性完成。 支持链接和嵌入的样式表。 支持模板继承。 支持其他样式表。 支持...
2022-03-16 14:48:32
830
原创 nginx实现简单代理
下载nginx链接: https://pan.baidu.com/s/1LX0f9XiL1zod007E5Zr7vQ?pwd=spdw 提取码: spdw
2022-02-24 15:25:17
3369
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅