自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 编译原理自顶向下的语法分析

αn,若存在a∈VT,使得a∈First(αi)∩First(αj)(1≤i,j≤n且i≠j)或a∈First(αi)∩Follow(A)(1≤i≤n,A ⇒* ε)或αi ⇒* ε且αj ⇒* ε(1≤i,j≤n且i≠j),则对应于文法G的自顶向下分析需要回溯。特别地,若X1X2…|βn,其中βi(1≤i≤n)不以A开头,且αi(1≤i≤m)不等于ε,则A的产生式规则改写为:A→β1A’|β2A’|…|αβ1|γ,其中γ不是以α开头的候选式,则A的产生式规则可替换为A→αA‘|γ,A’→β1|β2|…

2024-12-11 19:02:34 792

原创 操作系统第四章自用

指令的工作原理—操作码+若干参数(可能包含地址参数)从X=X+1大致看一下指令的执行过程 逻辑地址(相对地址)vs物理地址(绝对地址) 静态重定位动态重定位链接的三种方式 ① 静态链接装入时动态链接运行时动态链接两种方式.交换技术分区说明表动态分区分配(可变分区分配) 系统要用怎样的数据结构记录内存的使用情况呢? 如何进行分区的分配和回收操作?如何回收?.内部碎片与外部碎片

2024-12-10 22:25:52 353

原创 期末操作系统第三章自用

执行TSL指令时,它的内部运转逻辑:假设lock现在为false,代表临界资源A空闲,那么我就可以访问这个资源,同时将lock=true,提醒别的进程,这个临界资源A我正在使用,让他们等等假设lock为true,代表临界资源正在有人使用,所以我必须等待,并且将lock=true,并不影响什么,所以没关系,只是为了让lock为false时可以上锁,将上锁与检查在一个TSL指令完成。

2024-12-07 17:02:14 492

原创 编译原理第二章

qk的k条弧,弧上均标记为a。1)定义:对一个DFA M,若能找到一个状态比M少的DFA M’,使得L(M)=L(M’),且M’满足两个条件:i)M’中没有多余的状态。3.状态等价:设DFA M=(S,Σ,δ,s0,F),对s,t∈S,若对任何α∈Σ*,均有δ(s,α)∈F当且仅当δ(t,α)∈F,则称状态s和t是等价的。对一个DFA M,其识别的语言L(M)={w|w∈Σ*,若存在Z∈F,使δ(s0,w)=Z},其中:w=ua∈Σ*,则δ(s,ε)=s,δ(s,ua)= δ(δ(s,u),a)。

2024-12-06 20:08:35 1139

原创 编译原理期末复习第一章

1)定义:若文法G[Z]=(VN,VT,P,Z)中的每个产生式规则的形式为:αAβ→αvβ,其中α,β∈(VN∪VT)*,A∈VN,v∈(VN∪VT)+,则G[Z]为1型文法。2)右线性文法:若文法G[Z]=(VN,VT,P,Z)中的每个产生式规则的形式为:A→αB或A→α,其中A,B∈VN,α∈(VN∪VT)*,则G[Z]为右线性文法。3)左线性文法:若文法G[Z]=(VN,VT,P,Z)中的每个产生式规则的形式为:A→Bα或A→α,其中A,B∈VN,α∈(VN∪VT)*,则G[Z]为左线性文法。

2024-12-06 19:57:53 391

原创 操作系统第二章

例如,当OS要调度某进程执行时,要从该进程的PCB中查处其现行状态及优先级;在调度到某进程后,要根据其PCB中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其PCB中的程序和数据的内存始址,找到其程序和数据;可见,在进程的整个生命期中,系统总是通过PCB对进程进行控制的,即系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的。进程在执行过程中,当需要和与之合作的进程实现同步,通信或者访问文件时,也都需要访问PCB;OS是根据PCB来对并发执行的进程进行控制和管理的。

2024-12-06 19:46:44 342

原创 软件工程第二章

可行性研究的目的可行性研究的目的:用最小的代价在最小的时间内确定问题是否可以被解决并非任何问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费二:可行性研究的本质可行性研究的本质:系统分析和设计过程的大大压缩和简化,在较高层次上以较为抽象的方式进行系统的分析和设研究每种解法的可行性经济可行性:经济效益是否大于开发成本技术可行性:现有技术能够实现。

2024-12-06 14:54:28 1112

原创 软件工程第一章

采用工程的概念、技术、原理和方法,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济的开发出高质量的软件并维护它。

2024-12-06 14:37:02 696

原创 操作系统第一章

王道

2024-11-21 16:37:08 159

原创 小程序面试问答(解决方案)

​​​​。

2024-11-04 10:05:57 2045

原创 小兔鲜儿 - 项目打包12()自用

条件编译支持: 支持 .vue, .ts, .js, .scss, .css, pages.json 等文件。Q:按照 uni-app 规范开发可保证多平台兼容,但每个平台有自己的一些特性,该如何处理?把当前 uni-app 项目打包成网页(H5)端,并配置路由基础路径。把当前 uni-app 项目打包成微信小程序端,并发布上线。根路径,部分网站并不是部署到根路径,需要按运维要求调整。项目打包上线需要使用到多个工具,注意工具之间的职责。的打包,预览、测试、发行,使用。,让代码按条件编译到指定平台。

2024-11-04 09:59:44 399

原创 小兔鲜儿 - 订单模块11(自用)

​获取当前页面栈,如果不能返回上一页,按钮变成返回首页。滚动驱动的动画,根据滚动位置而不断改变动画的进度。注意事项滚动驱动的动画目前仅支持微信小程序端,暂不支持 H5 端、App 端,多端兼容时添加条件编译。参考代码vue// 获取页面栈// 获取当前页面实例,数组最后一项// 页面渲染完毕,绑定动画效果// 动画效果,导航栏背景色'.navbar', // 选择器。

2024-11-04 09:58:40 963

原创 小兔鲜儿 - 购物车模块10(自用)

导致无法返回上一页的问题,将购物车业务独立为组件,使其既可从底部 tabBar 访问,又可在商品详情页中。把原本的购物车业务独立封装成组件,在两个购物车页面分别引入即可。在页面初始化的时候判断用户是否已登录,已登录获取购物车列表。完成加入购物车,购物车列表交互,计算结算金额等业务。接口地址:/member/cart/selected。接口地址:/member/cart/:id。接口地址:/member/cart。接口地址:/member/cart。接口地址:/member/cart。

2024-11-04 09:47:35 637

原创 小兔鲜儿 - SKU 模块9(自用)

存货单位(Stock Keeping Unit),库存管理的最小可用单元,通常称为“单品”。,我们可以依据文档为插件添加 TS 类型声明文件,从而提高项目数据校验的安全性。:后端返回的数据格式和插件所需的格式不一致,我们需要按插件要求进行处理。组件的交互,接下来进入到购物车模块,并实现加入购物车功能。,以确保插件具有良好的社区口碑、兼容性、性能和维护状况。尽管该插件未采用 TS 开发,但作者提供了详细的。属于电商常见业务,插件市场有现成的。插件,我们下载并在项目中使用。,请下载插件到本地。

2024-11-04 09:45:04 1086

原创 小兔鲜儿 - 地址模块8(自用)

地址模块共两个页面:地址管理页,地址表单页 ,划分到会员分包中。根据是否有地址 id 来判断提交表单到底是新建地址还是更新地址。新用户没有收货地址,先完成新建地址,新建成功返回地址管理页。获取地址详情,把获取的数据合并到表单数据中,用于数据回显。侧滑地址列表项,右侧显示删除按钮,删除地址前需二次确认。接口地址:/member/address/:id。接口地址:/member/address/:id。接口地址:/member/address/:id。接口地址:/member/address。

2024-11-04 09:43:35 1069

原创 小兔鲜儿 - 用户模块7(自用)

当用户进入【我的】页面时,由框架自动预下载【会员模块】的分包,提升进入后续分包页面时的启动速度。用户可以对会员信息进行更新操作,涉及到表单数据提交、图片读取、文件上传等知识点。提交表单,更新会员信息,Store 昵称记得修改,用于会员中心页展示。会员中心页(我的):渲染用户头像,昵称,完善猜你喜欢分页加载。类型声明封装升级(可选),提取用户信息通用部分,再复用类型。接口地址:/member/profile/avatar。在用户登录/注册成功后,展示会员信息,更新会员信息。通过 VS Code 插件。

2024-11-04 09:40:36 1072

原创 小兔鲜儿 - 微信登录6(自用)

出于安全限制,小程序【规定】想获取用户的手机号,必须由用户主动【点击按钮】并【允许申请】才可获取加密的手机号信息。,允许开发者获取微信用户的基本信息(昵称、性别、手机号码等),开发者常用来实现注册/登录的功能。模块已经搭建完成,现在只需要在用户登录成功后,补充 TS 类型声明并保存用户信息即可。温馨提示:接口文档中提供练习使用的登录接口,大家可在课后自行完成。用户登录态,不包含用户昵称、性别、手机号码等信息,作用是用于。:解密手机号信息,把手机号和用户登录态关联在一起。,只需要传手机号即可实现快捷登录。

2024-11-04 09:37:18 698

原创 小兔鲜儿 - 商品详情(登录前)5()自用

当图片被点击的时候。

2024-11-04 09:34:59 493

原创 小兔鲜儿 - 分类模块4(自用)

渲染轮播图数据业务功能对于前端来说比较简单,只需调用后端提供的接口将获得的数据展现。该接口同时包含一级分类和二级分类数据,二级分类数据需要先对数据进行处理,再进行渲染。用户点击左菜单的一级分类,切换右侧对应的二级分类和商品。商品分类页中的广告位,可复用之前定义的轮播图组件。接下来,先把一级分类数据结合模板语法渲染到页面中。当用户点击一级分类时,需要高亮显示,即给它添加。注意:传递参数 2 标识获取商品分类页广告。提取当前二级分类数据后,剩下的就是列表渲染。商品二级分类是从属于某个一级分类的,通过。

2024-11-04 09:31:55 306

原创 小兔鲜推荐模块3(自用)

主要实现 Tabs 交互、多 Tabs 列表分页加载数据。

2024-11-04 09:29:26 737

原创 小兔鲜儿 - 首页模块2(自用)

新鲜 · 亲民 · 快捷-- 搜索条 -->搜索商品

2024-11-04 09:25:57 845

原创 黑马小兔鲜小程序一(自用)项目起步

如果没有统一代码风格,团队协作不便于查看代码提交时所做的修改。实现持久化,小程序端不兼容,需要替换持久化 API。项目模板包含:目录结构,项目素材,代码风格。为什么用手机预览没有数据?配置以下地址为合法域名 👇。微信小程序端,需登录。👉新仓库地址仓库地址。

2024-11-04 09:18:48 1406

原创 硅谷16按钮权限加打包

这个需要你在每个按钮元素中使用v-has="btn.User.XXXX"去判断。比v-if方便。不需要在组件内部引入仓库//获取对应的用户仓库//全局自定义指令:实现按钮的权限//代表使用这个全局自定义指令的DOM|组件挂载完毕的时候会执行一次//自定义指令右侧的数值:如果在用户信息buttons数组当中没有//从DOM树上干掉//el就是dom元素//options:传入进来的值if (!},})

2024-10-31 16:57:05 427

原创 硅谷15菜单权限

这样配置路由后,如果你访问的是异步路由,会在刷新的时候出现空白页面。原因是异步路由是异步获取的,加载的时候还没有。因此我们可以在路由守卫文件中改写。这个的意思就是一直加载。之前获取需要的路由方法中使用的是浅拷贝,会改变原有的路由。因此我们这里引入深拷贝的方法。注意:这里使用了递归。其次,这里是浅拷贝,会改变原有的路由。

2024-10-31 16:54:42 559

原创 硅谷13+14按钮,数据大屏

predefine:预定义颜色'#ff4500','#ff8c00','#ffd700','#90ee90','#00ced1','#1e90ff','#c71585',])

2024-10-31 16:53:53 441

原创 硅谷13首页

首页模块比较简单,代码量也少。

2024-10-31 16:51:56 409

原创 硅谷(12)菜单管理

需要的参数一共是4个,其中code、name由v-model绑定的对话框收集。其余俩个通过点击按钮传递的参数收集。注意:type这里使用了嵌套。

2024-10-31 16:51:02 636

原创 硅谷甄选(11)角色管理

props:属性: label:指定节点标签为节点对象的某个属性值 children:指定子树为节点对象的某个属性值。获取已分配权限的id,这里我们只需要收集最后一层的id即可,因为组件会自动更具最后一层的选择情况决定上层的选择状况。还是熟悉的组件:el-card、el-table 、el-pagination、el-form。default-checked-keys:默认勾选的节点的 key 的数组。node-key:每个树节点用来作为唯一标识的属性,整棵树应该是唯一的。:model:要校验的数据。

2024-10-31 16:49:54 680 1

原创 硅谷甄选(10)用户管理

个人觉得这里的批量删除有个小bug,假设所有数据都可以删除的话,那么把最后一页的数据都删除掉,会使得页面跳转到当前页而不是前一页。你会发现,此时你的token存储在本地存储里面,所以是有的,username存储在仓库里面,所以刷新就没了。这也是之前说的仓库存储的问题。实现原理:函数会将勾选与否注入到val中,如果是,就将全部数据(allRole)赋值给选中的数据(userRole),选中的数据通过v-model实现页面的同步变化。表格绑定的data是要显示的数据,item项的prop也是要展示的数据。

2024-10-31 16:48:44 546

原创 硅谷甄选(9)SKU模块

注意:在这里切换页码和切换每页数据条数的回调不同是因为:它们都能对函数注入数据,切换页码注入的是点击的页码数,因此我们可以直接使用getHasSku作为他的回调。切换每页数据条数注入的是切换的页码条数,我们希望切换后跳转到第一页,因此使用handler,间接调用getHasSku。其实现在看来这部分模块做的事情就是我们前端人的一些缩影。思路不难,难在琐碎的工作中要处理的各种各样的东西。更新按钮这里没有业务。2:对数据结构的理解(可以将请求回来的数据放到正确的位置上)3:element-plus组件的使用。

2024-10-31 16:46:56 534

原创 硅谷甄选(8)spu

添加和修改按钮不同的地方在于对于数据的来源不同,修改按钮是一部分(spuParams)来源于父组件传递的数据,将他们与组件绑定,在数据上展示。首先:SPU的数据应该分为5部分:第一部分:是父组件里的展示的数据,也是我们点击修改按钮时的那个数据。最重要的是熟悉数据的结构。前面数据填的格式不对(子组件中直接发起请求,并且将服务器返回的四个数据存储,加上参数传递的第一部分数据,这样子组件拿到了全部的数据。(发请求得到的、自己添加的)放到对应的数据(存储数据用的容器)中,发起请求(保存按钮已经做完了),更新页面。

2024-10-31 16:43:36 1103

原创 硅谷甄选(七)属性管理模块

/定义card组件内容切换变量let scene = ref<number>(0) //scene=0,显示table,scene=1,展示添加与修改属性结构。

2024-10-31 16:37:26 984

原创 硅谷甄选(六)品牌管理模块

API中的以及组件中。//已有的品牌的ts数据类型id?: number//包含全部品牌数据的ts类型//获取的已有全部品牌的数据ts类型data: {绑定参数:model:校验的数据:rules:校验规则ref="formRef":表单实例prop:表单元素校验的数据,可以直接使用表单绑定的数据。Rules//表单校验规则对象tmName: [//required:这个字段务必校验,表单项前面出来五角星//trigger:代表触发校验规则时机[blur、change]],

2024-10-31 16:19:39 1072

原创 硅谷甄选(五)部分功能完善

/登录接口需要携带参数类型//定义全部接口返回数据都有的数据类型//定义登录接口返回数据类型//定义获取用户信息返回的数据类型data: {注意:在src\store\modules\user.ts以及src\api\user\index.ts文件中对发请求时的参数以及返回的数据添加类型定义。

2024-10-31 16:11:29 611

原创 硅谷甄选(四)Layout模块(主界面)

scss全局变量//左侧菜单宽度//左侧菜单背景颜色//顶部导航的高度滚动条//滚动条外观设置在这部分对router-link遇到一些bug,理解也更深了,特意写一个小结总结一下bug:router-link不生效。描述:当我点击跳转函数的时候,直接跳转到一个新页面,而不是layout组件展示的部分更新。思路:首先输出了一下路径,发现路径没有错。其次,因为跳转到新页面,代表layout组件中的router-link不生效,删除router-link,发现没有影响。

2024-10-29 22:07:19 858

原创 硅谷甄选(三)登录注册

修改使用规则rules使用自己编写的函数作为规则校验。//定义表单校验需要的配置对象//规则对象属性:/* {required: true, // required,代表这个字段务必要校验的min: 5, //min:文本长度至少多少位max: 10, // max:文本长度最多多少位message: '长度应为6-10位', // message:错误的提示信息。

2024-10-29 08:26:36 2069 1

原创 硅谷甄选(二)立个target,每天都更新博客

一项目初始化一个项目要有统一的规范,需要使用 eslint + stylelint + prettier 来对我们的代码质量做检测和修复,需要使用 husky 来做 commit 拦截,需要使用 commitlint 来统一提交规范,需要使用 preinstall 来统一包管理工具。1.环境准备pnpm 8.0.02.初始化项目二硅谷甄选运营平台,UI组件库采用的element-plus,因此需要集成element-plus插件!!!

2024-10-22 22:51:47 454

原创 《硅谷甄选》项目笔记(一)

Props:用于父组件向子组件单向传递数据。Props 是只读的,子组件不应该修改它们,这样可以保持数据的单向流动,使得数据流更加清晰和可预测。Events:用于子组件向父组件发送消息,通常是作为响应用户操作(如点击按钮)或其他交互的结果。通过$emit触发事件,子组件可以通知父组件发生了某些事情,并可选地传递一些数据。在 Vue 中,自定义事件是一种强大的通信方式,允许组件之间进行更灵活的交互。自定义事件不仅可以用于父子组件之间的通信,还可以用于非直接父子关系的组件之间,甚至可以用于全局事件通信。

2024-10-19 21:20:02 753

原创 小兔鲜(二)Home 页面

/ 定义props// 主标题title: {},// 副标题})</script><template>-- 主标题和副标题 --><h3></h3></div>-- 主体内容区域 --><slot /></div></div>.head {h3 {flex: 1;small {</style>感觉什么都没学,但轮播图很重要,还有分类,和props,插槽这这几个知识点。

2024-10-18 19:10:39 658

原创 重学小兔鲜项目

其实就是学了导航栏固定和登录和注册的多重渲染。

2024-10-18 14:42:35 1005

空空如也

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

TA关注的人

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