- 博客(48)
- 收藏
- 关注
原创 RBAC权限管理
在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。(3)数据抽象可以通过权限的抽象来体现,如财务操作用借款、存款等抽象权限,而不用操作系统提供的典型的读、写、执行权限。
2024-03-19 08:43:36 316
原创 Redis分布式锁
在分布式系统中,多个机器共同处理同一个任务时,为了避免出现多个机器同时对同一个资源进行操作的情况,需要对资源进行加锁。而分布式锁就是一种在分布式系统中对共享资源进行加锁的机制。
2024-03-18 09:21:18 404
原创 Redis与数据库一致性处理
Redis与数据库一致性处理:1、延迟双删;2、缓存三重删除 + 数据一致性校验 + 更新流程禁用缓存 + 强制读Redis主节点
2024-03-18 09:12:32 304
原创 Hash索引、B+树索引
索引是对数据库表的一列或者多列的值进行排序一种结构,使用索引可以快速访问数据表中的特定信息。数据结构主要有B+树和哈希表,对应的索引分别为B+树索引和哈希索引。InnoDB引擎的索引类型有B+树索引和哈希索引,默认的索引类型为B+树索引。
2024-03-14 13:53:02 760
原创 数据库的脏读、不可重复读、幻读
幻读和不可重复读的区别在于,不可重复是针对记录的update操作,只要在记录上加写锁,就可避免;概念:在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。不可重复读和脏读的区别是,脏读是某一事务读取了另一个事务未提交的脏数据,而不可重复读则是读取了前一事务提交的数据。概念:在事务A多次读取构成中,事务B对数据进行了新增操作,导致事务A多次读取的数据不一致。解决:如果一个事物在读的时候,禁止读取未提交的事物。
2024-03-13 13:41:57 179
原创 Redis垃圾回收
Redis的内存回收机制主要体现在以下两个方面:删除到达过期时间的键对象。内存使用达到maxmemory上限时触发内存溢出控制策略。三种删除策略。八种淘汰策略
2024-03-13 08:49:26 311
原创 PHP文件末尾要不要加结束符“?>”
2、如果这是一个被别人包含的程序,没有结束符,可以较少很多问题,比如header,setcookie,session_start这些动作之前不能有输出,如果不小心在?>后边加了空格,被包含之后就回报错,不写的话不会有此问题。1、如果在结束符后面还有空格或空行,那HTML源代码里面就有输出空格或者空行;特殊情况:当php嵌入html页面中的时候,结束符是必须的,用以区分代码块。3、可以直接把光标移到最后,接着编程。
2024-03-13 08:27:44 293
原创 商品秒杀方案-避免超售
悲观锁的方案采用的是排他读,也就是同时只能有一个进程读取到num的值。事务在提交或回滚之后,锁会释放,其他的进程才能读取。在查询之前就开启事务,所有处理完成后再提交。
2024-03-07 20:37:39 635
原创 数据库事务的四大特性ACID
拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
2024-03-06 21:47:22 214
原创 常用设计模式及代码示例
工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。策略模式,意思就是定义一系列算法,把它们一个个封装起来,并且使它们可相互替换,使用得算法的变化可独立于使用它的客户,简单来讲就是,策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法。针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作。
2024-03-05 08:29:17 755
原创 数据库设计技巧
当全局数据库的设计完成以后,有个美国数据库设计专家说:“键,到处都是键,除了键之外,什么也没有”,这就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度抽象,主键与外键的配对,表示实体之间的连接。提倡“三少”原则的目的,是防止读者利用打补丁技术,不断地对数据库进行增删改,使企业数据库变成了随意设计数据库表的“垃圾堆”,或数据库表的“大杂院”,最后造成数据库中的基本表、代码表、中间表、临时表杂乱无章,不计其数,导致企事业单位的信息系统无法维护而瘫痪。
2024-03-04 21:47:40 1063
原创 Linux中CronTab计划任务
23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #晚上11点到早上7点之间,每隔一小时重启apache。* */1 * * * /usr/local/etc/rc.d/lighttpd restart #每一小时重启apache。1 * * * * /home/bruce/backup #每小时的第一分执行 /home/bruce/backup这个文件。0 0 1,15 * * fsck /home #每月1号和15号检查/home 磁盘。
2024-03-04 21:39:01 426
原创 如何加快页面加载速度
通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高二次页面的访问速度的程序的效率。将网站中的文件使用Gzip压缩后,可以显著的增加网页加载速度,同时也可以降低网站的带宽流量消耗。
2024-03-04 21:25:05 376
原创 DNS进行域名解析的过程
(3)若没有查到,则将请求发给根域 DNS 服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS 服务器发出应答信息, DNS 服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。客户端发出 DNS 请求翻译 IP地址或主机名。(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;(1)检查 DNS 服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;(4)若没有找到,则返回错误信息。
2024-03-04 21:18:02 444
原创 MySQL执行过程
在MySQL8.0版本以后,缓存贝官方删除了,因为查询缓存的失效非常频繁,如果在一个写多读少的环境中,缓存会频繁的新增和失效。当选择了执行方案后,MySQL 就准备开始执行了,首先执行前会校验该用户有没有权限,如果没有权限,就会返回错误信息,如果有权限,就会去调用引擎的接口,返回接口执行的结果。MySQL的缓存主要作用是为了提升查询的效率,缓存以key-value的哈希表形式存储,key是具体的SQL语句,value是结果集。根据执行计划进行最优的选择,匹配合适的索引,选择最佳的执行方案。
2024-03-01 14:49:41 261
原创 Nginx与PHP是如何通信的?
当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接收到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;Nginx本身不会对PHP进行解析,终端对PHP页面的请求将会被Nginx交给FastCGI进程监听的IP地址及端口,由php-fpm作为动态解析服务器处理,最后将处理结果再返回给nginx。Nginx通过反向代理功能将动态请求转向后端php-fpm,从而实现对PHP的解析支持,这就是Nginx实现PHP动态解析的原理。
2024-03-01 00:15:33 623
原创 中学教资科目二必背简答题(III类)(11~19)★
11、如何有效的进行知识概括?12、简述操作技能的形成阶段。13、简述加里培林的心智技能形成理论。14、情绪情感的调节方法。15、简述培养情绪情感的方法。16、简述贯彻教育的一致性与连贯性相结合德育原则的基本要求。17、简述班集体的特征。18、简述课堂管理的原则。19、简述维持课堂纪律的策略。
2024-02-29 23:52:11 428
原创 多台Web服务器如何共享 Session
内存数据库还支持数据过期失效的机制,正好与session的过期机制对应,推荐使用redis内存数据库,因为它比memcache支持更多的数据类型,且支持内存数据备份到磁盘。用cookie会话机制替代session会话机制,将session数据保存到客户端浏览器的cookie中,这样同一个用户访问同一网站时,无论负载均衡到哪台web服务器,都不用再去服务器请求session数据,而直接获取客户端cookie中的session数据。1、将本该保存在web服务器磁盘上的session数据保存到cookie中。
2024-02-29 09:19:42 527
原创 中学教资科目二必背简答题(III类)(1~10)★
1、教育与文化的辩证关系。2、学校教育对个体发展的特殊功能(学校教育在人身心发展中起主导作用的表现)。3、简述我国的教育方针的基本内容。4、简述活动课程的特点。5、简述制约课程开发的主要因素。6、简述贯彻启发性教学原则的基本要求。7、简述贯彻理论联系实际教学原则的基本要求。8、简述教学评价的功能。9、如何培养学生的想象力?10、如何培养学生的创造性?
2024-02-28 23:06:50 551
原创 中学教资科目二必背简答题(II类)(11~23)★★
11、简述贯彻谈话法/问答法的基本要求。12、简述引起和保持有意注意的因素。13、如何依据记忆规律合理安排和组织教学?14、简述建构主义学习理论的基本观点。15、简述操作技能的训练要求。16、简述自我效能的功能。17、简述学习策略的训练原则。18、简述中学生心理发展的基本特征。19、简述心理健康的标准。20、影响品德发展的因素。21、简述班主任应具备的基本条件。22、如何营造良好的课堂气氛?23、简述教学反思的环节。
2024-02-28 22:13:27 1013
原创 中学教资科目二必背简答题(II类)(1~10)★★
1、简述遗传的作用。2、我国教育目的的基本精神。3、简述美育的意义。4、简述美育的基本任务。5、简述教育制度的影响因素/建立学制的依据。6、简述学科中心课程理论。7、简述备课的基本内容/基本要求。8、简述一堂好课的标准。9、简述选择与运用教学方法的基本依据。10、简述贯彻讲授法的基本要求。
2024-02-28 21:38:10 551
原创 MyISAM与InnoDB存储引擎
InnoDB存储引擎的优势是支持事务,能适应高并发。对于计算逻辑较多或者财务系统等对于数据准确性要求高、并发量较大,并且在并发条件下要求数据一致性的应用,InnoDB是合适的选择。MyISAM存储引擎不支持事务和外键,优势是访问速度比较快。如果系统读取数据的情况多,更新数据的操作少,并且对于业务完整性、并发量要求不是很高的应用,考虑选择MyISAM存储引擎。
2024-02-28 15:09:10 165
原创 中学教资科目二必背简答题(I类)(31~38)★★★
31、简述贯彻尊重信任学生与严格要求学生相结合德育原则的基本要求。31、简述贯彻尊重信任学生与严格要求学生相结合德育原则的基本要求。33、简述德育的途径。34、简述培养班集体的方法。35、简述班主任的工作内容。36、如何矫正与处置课堂问题行为?37、如何建立教师的威信?38、简述教师的教学能力。
2024-02-28 12:53:54 551
原创 中学教资科目二必背简答题(I类)(21~30)★★★
21、简述学习策略的类型。22、如何培养良好的意志品质?23、简述认知风格差异的教育意义。24、影响人格发展的因素。25、简述埃里克森人格发展阶段理论。26、简述学校心理辅导的原则。27、简述学校心理辅导的途径。28、简述德育过程的基本规律。29、简述贯彻疏导德育原则的基本要求。30、简述贯彻长善救失德育原则的基本要求。
2024-02-28 11:18:02 330
原创 JavaScript深拷贝与浅拷贝
当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的。浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
2024-02-28 10:29:37 430
原创 中学教资科目二必背简答题(I类)(11~20)★★★
11、贯彻科学性和思想性相统一的教学原则的基本要求。12、简述班级授课制的优缺点。13、简述注意的规律在教学中的应用(培养学生注意力的方法)14、简述影响遗忘进程的因素。15、如何有效的组织复习?16、如何培养学生的思维?17、简述有意义学习的条件。18、如何激发学生的学习动机?19、简述影响学习迁移的因素。20、如何有效促进学习迁移?
2024-02-27 23:54:05 383
原创 中学教资科目二必背简答题(I类)(1~10)★★★
1、教育与政治经济制度的辩证关系;2、为什么学校教育在人身心发展中起主导作用?3、简述确立我国教育目的的依据。4、简述课程计划的含义及内容。5、简述教科书编写应遵循的基本原则与要求。6、简述新课程改革的具体目标。7、简述新课程评价观。8、简述教学过程的基本阶段。9、简述教学过程的基本规律。10、贯彻直观性教学原则的基本要求。
2024-02-27 23:17:55 854
原创 GIT与SVN对比
GIT存储的方式是按照元数据的方式进行存储,而传统的SVN则是以文件方式存储。GIT和SVN的版本控制,是通过.git和.svn文件,.git只是在本地的版本库的目录下存在,而.svn存在于每一个文件夹,当我们不需要版本控制的时候,要删除.svn很费时。GIT可以在没有网络的情况下使用,从远程库clone一个到本地库,没有网络的情况下,可以将修改提交到本地库,等有网的时候再传上去。GIT分支管理则相对复杂,但是用起来非常的爽,也特别的有趣,各个分支间可以随意的快速进行切换、合并、还原等操作。
2024-02-27 14:25:18 215
原创 git常用命令大全
git常用的几个命令:1、push命令;2、pull命令;3、commit命令;4、add命令;5、checkout命令;6、clone命令。
2024-02-27 14:16:08 256
原创 linux常用命令
top:该命令提供了实时对系统处理器状态的监控,它能够实时显示系统中各个进程的资源占用情况。grep:过滤文本,根据指定的字符串,对文件的每一行进行搜索,如找到,则输出该行内容。wc:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。find:在指定的路径下查找指定文件。ps:显示系统进程在瞬间的运行动态。mv:文件/目录改名或变更存储位置。cat:将文件的内容打印到标准输出。mount:挂载/卸载指定的文件系统。df:检查磁盘空间占用情况。chmod:改变文件的权限。chgrp:改变文件所属组。
2024-02-27 00:04:47 207
原创 数据库分库分表
应用场景:系统绝对并发量并没有上来,表的记录并不多,但是字段多,并且热点数据和非热点数据在一起,单行数据所需的存储空间较大。第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度。应用场景:系统绝对并发了并没有上来,只是单表的数据量太多,影响了SQL的效率,加重了CPU负担。应用场景:系统的绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。以字段为依据,按照字段的活跃性,将表中的字段拆分到不同的表中(主表和扩展表)解决方案:水平分表。
2024-02-26 23:40:45 825
原创 PHP代码控制http强制跳转到https
ThinkPHP用户直接加入到index.php 入口第一行。其他框架请加到入口某共公加载的文件中。方法一 https状态。
2024-02-26 23:36:14 232
原创 Laravel HTML转PDF-页码及自定义页脚
在做网站开发时,需要支持在线查看文件、填充数据,并生成带有数据的PDF文件,最简单的方式就是使用HTML转PDF。在线查看文件时,直接使用HTML渲染数据展示给用户,点击下载或者成成PDF时,将HTML转换成PDF,这样的好处是,文件内容和样式可以自己控制,还可以加一些其他属性,比如自定义页码,自定义页脚等。安装扩展包之后,会生成一个README.md文件,直接查看此文件,里面会详细介绍扩展包的具体用法,还包括简单的示例。1、安装HTML转PDF扩展包。
2024-02-26 08:59:55 563
原创 Laravel html转pdf字体修改-开发环境与测试环境生成的pdf格式不一致
项目开发过程中,有一套默认字体方案,由前往后依次匹配,比如字体方案是:仿宋-华文楷体-宋体,开发环境已经安装了华文楷体和宋体,没有安装仿宋,那么html转pdf之后使用的就是华文楷体。laravel框架,使用fpdi+tcpdf扩展包,在开发环境调好样式之后,分别在开发环境和测试环境生成pdf,发现生成的pdf页码行间距等不一致,最后发现是字体不一致导致的。在编写生成pdf的html页面时,确定唯一的字体样式,并且保证开发环境和测试环境正式环境都已经安装确定的字体。
2024-02-25 22:43:36 217
原创 Oracle 11g完整安装教程
Oracle11g完整安装教程,绝对干货,由于安装的软件比较大,还请开发者自行去官网下载。本文档以windows系统为例。
2024-02-22 22:00:25 5100
Web环境搭建:Linux+Nginx+PHP+Mysql+Redis
2024-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人