自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue学习笔记3——事件处理

尽管我们可以直接在方法内调用,但如果方法能更专注于数据逻辑而不用去处理DOM事件的细节会更好。)来监听DOM事件,并在事件触发时执行对应的JavaScript。// 读取data里面数据的方法:this.count。// 所有方法或者函数都放在这里,跟data同级。为解决这一问题,Vue 为。对象和通过事件传递数据。

2024-05-22 17:51:55 491

原创 Vue学习笔记2——创建一个Vue项目

Vue使用一种基于HTML的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的DOM上。所有的Vue模板都是语法层面合法的HTML,可以被符合规范的浏览器和HTML解析器解析。下面举个例子来演示一下,Vue自带很多样式,在src-components中的文件用不到的话可以全部删除,与此同时App.vue中的内容也应当删除,只保留原始框架就行了。如果不确定是否要开启某个功能,你可以直接按下回车键选择No。最基本的数据绑定形式是文本插值,它使用的是"Mustache"语法 (即双大括号)。

2024-05-20 15:44:54 549

原创 Vue3学习笔记1——初识Vue

Facebook 的 React 团队提出了不同于上面的 Angular、Vue 的的解决方案,他们设计了 React 框架,在页面初始化的时候,在浏览器 DOM 之上,搞了一个叫虚拟 DOM的东西,也就是用一个 JavaScript 对象来描述整个 DOM 树。那个时候写代码,就是找到某个元素,进行 DOM 操作,特别像铁器时代的拼刺刀,随着前端项目规模的逐渐提升,前端也需要规模化的时候,在 2009 年 AngularJS 和 Node.js的诞生,也宣告前端工业革命的到来。

2024-05-17 10:23:13 1037

原创 MySQL学习笔记12——效率和优化

你肯定遇到过这样的情况:SQL语句执行起来特别慢,要等好久才出结果,或者是干脆就"死”在那里,一点反应也没有。一旦遇到这种问题,就要考虑进行优化了。而要想提高应用的运行效率,我们就必须掌握优化查询的方法。下面就讲一下MySQL的查询分析语句和2种优化查询的方法。

2024-05-10 15:34:44 863

原创 MySQL学习笔记11——数据备份 & 范式 & ER模型

第二范式要求,在满足第一范式的基础上,还要满足数据表里的每一条数据记录,都是可唯一标识的。第三范式要求数据表在满足第二范式的基础上,不能包含那些可以由非主键字段派生出来的字段,或者说,不能存在依赖于非主键字段的字段。mysqldump的备份文件包含了创建数据库、数据表,以及插入数据表里原有数据的SQL语句,我们可以直接运行这些SQL语句,来进行数据恢复。息系统的设计阶段,通常使用ER模型来描述信息需求和信息特性,帮助我们理清业务逻辑,从而设计出优秀的数据库。

2024-05-09 15:01:42 983

原创 MySQL学习笔记10——日志

为了节省磁盘空间,我们可以移除旧的日志文件,创建新的日志文件,来对通用查询日志文件进行维护。从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的白志文件中,这个从服务器本地的日志文件就叫中继日志。日志在发现错误、数据复制、数据恢复、操作审计,以及确保数据的永久性和一致性等方面,都有着不可替代的作用,对提升你的数据库应用的开发能力至关重要。查看二进制日志主要有3种情况,分别是查看当前正在写入的二进制日志、查看所有的二进制日志和查看二进制日志中的所有数据更新事件。

2024-05-08 17:15:19 796

原创 MySQL学习笔记9——触发器和权限管理

当商品信息和库存信息分别存放在两个不同的数据表中时,可以创建一个触发器, 让商品信息数据的插入操作自动触发库存数据的插入操作。这里的意思是,创建一个角色, 角色名称是"manager" ,角色可以登录的主机是"localhost",意思是只能从数据库服务器运行的这台计算机登录这个账号。因为运维人员可能会经常变动,如果有一个完整的数据库设计文档,就可以帮助新人快速了解触发器的设计思路,从而减少错误,降低系统维护的成本。给用户授权的方式有2种,分别是通过把角色赋予用户给用户授权,和直接给用户授权。

2024-05-07 16:15:03 1018 1

原创 MySQL学习笔记8——游标

本节学习了游标的使用方法,包括在存储过程中使用游标的4个步骤,分别是定义游标、打开游标、读取游标数据和关闭游标。除此之外,还介绍了经常与游标结合使用的流程控制语句,包括循环语句LOOP、WHILE和REPEAT;条件判断语句IF和CASE;还有跳转语句LEAVE和ITERATE。

2024-04-24 16:25:27 928

原创 MySQL学习笔记7——视图和存储过程

视图是一种虚拟表,我们可以把一段查询语句作为视图存储在数据库中,在需要的时候,可以把视图看做一个表, 对里面的数据进行查询。创建视图语法结构:现在,假设我们要查询一下商品的每日销售明细,这就要从销售流水表(demo.mytrans) 和商品信息表(demo.goodmaster)中获取到销售数据和对应的商品信息数据:销售流水表(mytrans):商品信息表(goodmaster):在不使用视图的情况下,我们可以通过对销售流水表和商品信息表进行关联查询,得到每天商品销售统计的结果,包括销售日期、商品

2024-04-23 17:55:48 921

原创 MySQL学习笔记6——事务与临时表

事务可以确保事务中的一系列操作全部被执行,不会被打断,或者全部不被执行,等待再次执行。事务中的操作,具有原子性、一致性、 永久性和隔离性的特征。但是这并不意味着,被事务包裹起来的一系列DML数据操作就一定会全部成功, 或者全部失败。你需要对操作是否成功的结果进行判断,并通知MySQL针对不同情况,分别完成事务提交或者回滚操作,才能最终确保事务中的操作全部成功或全部失败。MySQL支持4种不同的事务隔离等级,等级越高,消耗的系统资源也越多,需要根据实际情况进行设定。

2024-04-22 15:31:55 868

原创 MySQL学习笔记5——函数和索引

- 删除索引DROP INDEX 索引名 ON 表名;--删除主键索引ALTER TABLE 表名 DROP PRIMARY KEY;索引的成本存储空间的开销,是指索引|需要单独占用存储空间。数据操作上的开销,是指一旦数据表有变动,无论是插入一条新数据,还是删除一条旧的数据,甚至是修改数据,如果涉及索引字段,都需要对索引本身进行修改,以确保索弓|能够指向正确的记录。因此,索引也不是越多越好,创建索引有存储开销和操作开销,需要综合考虑。

2024-04-22 11:29:54 1166

原创 MySQL学习笔记4——时间函数

那么,解决问题的关键,就是把交易时间的小时部分提取出来。EXTRACT (type FROM date)表示从日期时间数据"date" 中抽取"type"指定的部分。除了获取小时信息,我们往往还会遇到要统计年度信息、月度信息等情况,MySQL也提供了支持的函数。这个查询,也可以通过使用日期时间函数HOUR()来达到同样的效果。HOUR (time) 表示从日期时间"time"中,获取小时部分信息。时间函数就是用来处理时间的函数。首先,我们来分析一下“统计一天中每小时的销售数量和销售金额”的这个需求。

2024-04-16 15:54:02 961

原创 MySQL学习笔记3——条件查询和聚合函数

HAVING在GROUP BY之后,可以使用分组字段和分组中的计算函数,对分组的结果集进行筛选,这个功能是WHERE无法完成的。如果需要通过关联查询从其他的表获取需要的信息,那么执行的时候,也是先通过WHERE条件进行筛选,用筛选后的比较小的数据集进行连接。这种必须先分组才能筛选的查询,用WHERE语句实现就比较难,我们可能要分好几步,通过把中间结果存储起来,才能搞定。它的作用是,通过计算分组内指定字段值的和,以及分组内的记录数,算出分组内指定字段的平均值。这也就是说,我们要知道是按什么字段进行分组的。

2024-04-15 16:13:20 1076

原创 MySQL学习笔记2——基础操作

部分插入一条数据记录是可以的,前提是没有赋值的字段,一定要让MySQL知道如何处理,比如可以为空、有默认值,或者是自增约束字段等等,否则MySQL会提示错误的。相应的,表B就是这个关系中的从表,表B中的"id" ,就是表B用来引用表A中数据的,叫外键。外键约束就是约束的一种,它必须在从表中定义,包括指明哪个是外键字段,以及外键字段所引用的主表中的主键字段是什么。所以,如果你的系统比较复杂,尽量给表加一个字段做主键,采用手动赋值的办法,虽然系统开发的时候麻烦一点,却可以避免后面出大问题。

2024-04-09 11:33:45 659

原创 MySQL学习笔记1

在创建表的时候,字段名称要避开MySQL的系统关键字。原因是MySQL系统保留的关键字都有特定的含义,如果作为字段名称出现在SQL语句中,MySQL会把这个字段名称理解为系统关键字,从而导致SQL语句无法正常运行。来识别一条SQL语句结束,所以,写的每一条SQL语句的最后,都必须有一个分号,否则,MySQL会认为这条语句没有完成,提示语法错误。能减少数据的唯一性,减少数据错误。默认约束,主键约束、外键约束、非空约束、唯一性约束、自增约束等。在MySQL中,一个完整的数据存储过程总共有4步,分别是。

2024-04-07 17:39:01 517

原创 软件工程学习笔记14——案例解析篇

复盘也是整个项目开发过程中很重要的一部分,正是因为有这样一次次的“事后诸葛亮”会议,才让团队成员能从中总结成功经验,吸取失败教训。从大厂对软件工程实践中,你可以学习到一个优秀的公司是如何来应用软件工程,打造出高质量产品的,也可以借鉴其中好的实践到你自己的项目中。最后要清楚,即便是大厂,对软件工程的应用也不是一成不变的,会随着技术的发展、软件工程的发展不断改进。

2024-03-29 16:56:56 964

原创 软件工程学习笔记13——案例解析篇

可能低估了技术实现的难度,最终项目要开发的时候,开发人员才发现根本无法如期完成当初承诺的项目目标,最终导致项目失败。在制定一个迭代的计划的时候,让团队成员一起参与对任务的打分,参与计划的制定。小团队被人诟病较多的地方就是在于流程规范的缺失,但像大公司,流程规范繁多,也容易造成效率低下,人浮于事的情况,这也就是为什么现在大公司的开发团队也在分拆,从大团队拆分成小组,精简流程规范。

2024-03-28 17:14:09 1279

原创 软件工程学习笔记12——运行维护篇

DevOps 可以理解为一种开发(Development)和运维(Operations)一起紧密协作的工作方式,从而可以更快更可靠的构建、测试和发布软件。DevOps 并不意味着开发一定要懂运维技术,运维要懂开发技术,而是说两个工种要更紧密的协作,有共同的目标:更快更可靠的构建、测试和发布软件。DevOps 的主要原则就是自动化、信息透明可测量、构建协作文化。团队采用 DevOps 的方式工作的话,会带来哪些好处整个软件的构建、测试和发布过程高度自动化。

2024-03-27 20:56:26 1046

原创 软件工程学习笔记11——软件测试篇

功能质量、代码质量和过程质量这三个方面组合在一起,很好地概括了软件质量。功能质量满足用户需求,是对功能质量最基础的要求。在这个基础上,Bug 数量、性能、UI/UX 都是很重要的质量指标。代码质量虽然用户不能直接感知到代码,但是代码质量高低会直接影响功能质量,同时代码质量低也会影响后续的维护升级。代码质量指的是实现软件功能的架构和代码的质量。代码的质量主要体现在以下这些方面:可维护性、可读性、执行效率、安全性、可测试性。过程质量。

2024-03-26 14:49:57 814

原创 软件工程学习笔记10——开发编码篇2

最底层、最基础的就是学习能力,通过学习能力,快速学习掌握新技术;中间一层就是解决问题的能力,充分利用学到的技术,去发现问题、分析问题和解决问题;最上一层就是影响力,是核心竞争力的综合体现。学习能力、解决问题能力和影响力一起构成了软件工程师的核心竞争力,就像下面这个金字塔图一样,我称之为软件工程师竞争力金字塔。但必须要注意,这三层缺一不可,你不能光去追求影响力而不踏踏实实学习和做事,也不能光去做事而不学习。必须要踏实地、一层层地打好基础,这样才能让你的竞争力是持久的,而不是昙花一现。

2024-03-25 17:46:24 735

原创 软件工程学习笔记9——开发编码篇1

自动化逐步应用到运维领域,确实是让部署过程更容易,但也只是让部署过程更容易,还是无法解决发布版本的质量问题,还是可能会因为配置错误导致失败,测试环境正常的功能到生产环境就不工作了。持续交付,对于生产环境的部署,依然需要有手动确认的环节。而持续部署,和持续交付唯一的不同,就是手动确认的环节都没有了,每次代码从分支合并到主干,在自动化测试通过后,会直接自动部署生产环境,不需要人工确认。持续交付,就是在持续集成的基础上,再进一步,在功能合并到主干后,不仅会进行自动化测试,还会打包,并部署到测试环境中。

2024-03-22 18:48:31 615

原创 软件工程学习笔记8——系统设计篇

你现在已经知道了架构设计的价值,那么究竟什么是架构设计呢?要说清楚这点,我们可以分别从目标和方法两个角度来看。目标架构设计的目标,是用最小的人力成本来满足需求的开发和响应需求的变化,用最小的运行成本来保障软件的运行。架构设计,已经有很多成熟的方法。使用微服务这样的架构,把复杂系统拆分成一系列小的服务,服务再拆成功能模块,让人员更好地分工协作;通过前后端分离,让程序员更专注于某个知识领域,降低开发难度;用分层设计来隔离业务逻辑,减少需求变更带来的影响。这些架构设计的方法,其实都是基于工程领域。

2024-03-21 20:35:45 810

原创 软件工程学习笔记7——需求分析篇

需求分析的结果决定了后续的系统设计、开发、测试等阶段能否顺利如期进行。即使是用敏捷开发,同样也少不了对需求的分析整理。可以说需求就是整个产品的源头,所以需求分析的结果往往决定了产品的成败。如果没有正确把握客户需求,可能就会一步错,步步错!

2024-03-20 17:05:29 1064

原创 软件工程学习笔记6——项目规划篇2

也有很多系统用 Issue 来表示 Ticket 的概念,无论 Ticket 还是 Issue,表示的都是一个工作任务,可以包括软件的 Bug、功能需求、某个模块的开发、系统的重构任务等。项目中的任务,不能盲目乐观,都思考一下它最坏的结果是什么,如果最坏的结果不能接受,就说明要有个 B 计划,考虑风险管理了。最早在软件项目中,应用 Ticket (标签)跟踪系统的领域是测试领域,用来追踪 Bug,后来逐步衍生到整个项目管理领域,不仅跟踪 Bug,还用来跟踪需求、开发任务等。以及模块之间的关系是什么。

2024-03-20 15:28:00 701

原创 软件工程学习笔记5——项目规划篇1

想要技术转型管理,首先从转变思维方式开始,从技术思维到管理思维,从关注细节到关注整体。然后去改变习惯,控制自己想写代码的冲动,多去从其他角度想办法。要管理好一个项目,关键是要管理好项目中的人和事。对客户要管理好期望,对项目成员则通过合理的流程规范更好的一起协作;对于项目中事的管理就是对软件开发过程的管理,选择好开发模型很重要,然后就是制定好计划,按照计划推进,过程中不断的调整,并且管理好项目中的风险。开会是有价值的,开会是有成本,会议是不是高效,就看它创造的价值是不是高于其成本。

2024-03-19 14:50:03 802

原创 软件工程学习笔记4——敏捷开发之Scrum+极限编程+看板

这些年敏捷开发,已经逐步发展出一套 “**Scrum + 极限编程 + 看板**” 的最佳实践,Scrum 主要用来管理项目过程,极限编程重点在工程实践,而看板将工作流可视化。

2024-03-18 13:06:59 682

原创 软件工程学习笔记3——敏捷开发

敏捷宣言指出:敏捷不是一种方法论,也不是一种软件开发的具体方法,更不是一个框架或过程,而是一套价值观和原则。

2024-03-15 16:58:20 945

原创 软件工程学习笔记2——瀑布模型及其衍生模型

开发模型有很多,要记住所有的开发模型很难。但搞透了瀑布模型,搞清楚了其阶段划分,结合一些应用场景,就可以举一反三,了解绝大部分衍生模型了。

2024-03-14 11:46:06 1120

原创 软件工程学习笔记1——理解软件工程

从知到行,打好基本功,掌握软件工程学中涉及的方法和工具,学会举一反三,在软件项目的开发和管理过程中,能运用自如;也希望软件工程的思维,可以让你脱离技术的拘泥,有更高的格局和视角去看待工作和生活中的问题。

2024-03-13 15:37:00 958

原创 003.单链表实现英雄的增加,修改和删除操作

当不考虑编号顺序时的单链表英雄排行榜代码实现//当不考虑编号顺序时的单链表,水浒英雄排行榜public class SingleLinkedListDemo { public static void main(String args[]) { // 测试 // 创建几个节点 HeroNode hero1 = new HeroNode(1, "宋江", "及时雨"); He...

2020-02-24 22:51:26 133

原创 002.数组模拟队列

队列是一个有序列表,可以用数组或是链表来实现特点:先入先出数组模拟队列(一次性)数据存入之后再取出之后,不能进行第二次存储。代码实现:import java.util.Scanner;public class ArrayQueueDemo { public static void main(String[] args) { // 创建一个队列 ArrayQueue que...

2020-02-23 23:14:53 122

空空如也

空空如也

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

TA关注的人

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