- 博客(106)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 个人博客搭建记录(持续更新中)
2020/2/6目前想要通过windows下用wampserver集成环境下用laravel框架实现个人博客今天下载了wampserver 还有composer安装laravel期间composer安装laravel有点问题因为翻墙等原因需要更改镜像源还有需要下载的laravel版本wampserver尽量下载支持php版本7.0或者7.2以上因为laravel的版本可能要求php的版...
2020-02-06 21:12:55
357
原创 laravel学习(三)-----控制器Controller
路由器的部分会指向Controller,下面学习Controller相关知识artisan命令自动生成controller文件 php artisan make:controller /Contro/Foo1Controller在路由中添加中间件 public function __construct() { //添加中间件 // $this-...
2020-03-25 00:23:38
438
原创 laravel学习(二) ---- 路由Route学习
基于MVC,laravel有一个Route,位于routes/web.php --->路由访问入口文件我们通过修改其文件中代码(添加控制器,重定向,访问视图)的方法,完成路由分发,学习一下关于Route定义的格式和类型都有哪些Route::get('/', function () { return view('welcome');});Route::get('...
2020-03-24 19:14:00
519
原创 简单工厂模式
各个类型操作 我们放入一个A的接口, B需要使用其中classA只需要调用对应接口进行调用,而工厂中的对应classA方法则调用另外一个类classA 进行内部代码实现, 这样做的好处是如果后面添加一个classB我们只需要在工厂中添加一个对应调用classB的方法,再到外部实现classB的逻辑,而client端需要修改的代码很少很少。我们称接口A的类为工厂//工厂class Fa...
2020-03-23 15:45:52
206
原创 开放封闭原则
对于一个类,我们尽可能进行现有功能的扩展,而不是在内部进行修改,类似于加减乘除,我们应该设计出实数类,还有运算类,对于后面功能的扩展,只在当前类的基础上扩展,而不是直接修改内部逻辑代码下面代码就是面向过程:如果后面加了开跟,又需要修改里面代码class getResult(){switch (i) case + :return numberA+numberB; case - :...
2020-03-22 23:25:58
169
原创 三范式
初期设计表我们有时我们需要遵循范式, 但也需要注意到反范式, 在范式和反范式之间我们需要根据业务发展场景进行折中或者平衡两者之间关系下面先介绍范式和反范式的概念:一般情况了解到第三范式即可,第一范式---- 原子性 即表中的列具有不可在分割性,每一行列都保存最小"单位",这里的原子性和 事务中的ACID原子性概念不同。例如:其中进货和销售不具有原子性,因为还可以进行分割。业务场景下...
2020-03-20 13:11:12
298
原创 单一职责
单一指责定义:就一个类而言,应该仅有一个引起它变化的原因 ----《大话设计模式》.通俗来讲,为了降低功能之间的耦合,如果一个类中有多个功能封装在一个方法,如果后期功能升级可能比较困难,所以将类中的方法提取出新类或者新方法进行各自实现完成,后期功能升级或者代码修改,对于其他的功能代码没有太多的影响。下面举个例子,如果我需要进行例如我们在一个生物圈中是一个类,类中有鱼和鸟以及人类,每个种类都有...
2020-03-19 21:51:08
199
原创 单例模式
参考博文地址:https://github.com/baijunyao/design-patterns/blob/master/singleton/index.php首先认识或者了解下单例模式的作用: 防止new多个实例,造成资源消耗过大,使用场景有数据库连接实例,通过单例,减少对mysql连接数量普通实例创建代码<?phpnamespace Designpatterns\Sing...
2020-03-18 22:11:07
238
原创 八大排序学习
内排序稳定排序冒泡排序 折半排序 插入排序 基数排序非稳定排序希尔排序 快速排序 堆排序 选择排序外排序插入排序直接插入<?php//[0,..., i] 从1开始向后i循环 插入排序的位置//若a[x] < a[x-1] 那么 temp = a[x] a[x] = a[x-1]//继续从当前x-1向 0的方向比较 如果 a[x...
2020-03-02 23:57:41
198
原创 usort使用理解
格式 usort(array, function(){$a, $b});作用:用户自定义排序格式以及方式$a <=> $b retrun <=> 的参数如果return 1 则表示$b $a 这样排序如果return -1 则表示$a $b 这样排序...
2020-02-24 12:49:56
257
原创 laravel时区修改
先在config/app.php 中查找timezone我们修改为'timezone' => env('TIMEZONE','UTC'),然后再到.env中添加:TIMEZONE=Asia/Shanghai我们试试重新更新下数据...
2020-02-20 15:45:44
484
原创 laravel学习(四)-----模型&Eloquent ORM学习
通过Facade\DB使用sql原生查询比较麻烦,并且每个功能类中都需要实现一次SQL语句编写,通过Eloquent ORM 在model中创建一个表的sql操作,只需要在model中实现一次,其他功能类就可以直接调用贴上文档链接6.x版本的laravel移除了默认model目录,支持用户自己定义一个model目录也可以通过laravel 的artisan来自动部署model内容php a...
2020-02-20 15:03:54
311
原创 可重复读如何解决幻读
可重复读的概念 与 不可重复读的概念行锁+gap锁(间隙锁)快照读 与 当前读区别快照读中的MVCC 和 乐观锁当前读中的gap锁 和 悲观锁
2020-02-19 16:07:43
7043
原创 css小白学习
<!-- <!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title><style>body{ background-color:#d0e4fe;}h1{ color:orange;...
2020-02-16 21:12:48
292
原创 html小白学习
<!DOCTYPE html><html><head><!-- <head> 元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。可以添加在头部区域的元素标签为: <title>, <style>, <meta>...
2020-02-14 18:11:29
379
原创 php中时区修改
数据库插入数据时发现时间和本地时间有时差,感觉应该是php的时区没有设置成中国的1. php.ini文件打开2. 搜索date.timezone3. 修改为date.timezone = "Asia/Shanghai"4.重启php服务...
2020-02-12 21:30:27
227
原创 聚簇索引和非聚簇索引
聚簇索引:数据和索引放在一起(B+树下innodb主键索引一般即为聚簇索引存储形式,如果没有主键,或者索引,数据库会隐式创建一个聚簇树) 数据一般存放在叶子结点,并以双向链表的形式进行链接非聚簇索引: 数据和索引没有在一个树中,叶子结点存储的为聚簇(主键)值,一般为一般索引的存储形式,通过一般索引查询数据需要二次查询,第一次在非聚簇索引中查询到符合条件的主键值,第二次再到聚簇索引中查询对应主键...
2020-02-12 19:19:56
174
转载 折半查找思考
在知晓折半查找的算法,做了剑指的旋转数组的查找, 力扣的有序数列中查找某个重复的数组左右边界,所有的算法难点或者重点是边界while循环的low < high 还是 low <= high 或者 high = mid 还是 high = mid + 1这些条件处理,稍有不注意就会导致过不了测试用例这里粘贴一个大神贴,转载学习一下:折半查找总结Although the b...
2020-02-10 16:00:05
249
原创 面经--百度知道
一面电话面(32min)自我介绍做的项目中最具有技术的项目项目设计到mysql联合查询,问到了数据库事务的隔离级别,每个隔离级别存在的问题,如何解决(读已提交造成幻读的场景,以及可重复读怎么解决的, 当时回答可重复读也会造成幻读,通过加共享锁和排他锁进行避免)mysql的索引,聚簇索引和非聚簇索引联合索引(准备问我联合索引的,结果回答了聚簇索引。。。)聚簇索引是什么,没有主键是聚簇...
2020-02-09 17:52:12
158
转载 TCP三次握手 四次挥手 面试
三次握手 四次挥手为什么要 TCP 四次分手?由于 TCP 连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个 FIN 来终止这一方向的连接,收到一个 FIN 只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个 TCP 连接上仍然能够发送数据,直到这一方向也发送了 FIN。首先进行关闭的一方将执行主动关闭,而另一方...
2020-02-05 15:03:20
211
转载 Mysql中为什么用B+树而不是B树
转载自:https://blog.csdn.net/xlgen157387/article/details/79450295很好的一篇博文结合B树和B+树对比总结更易懂一些:1、 B+树的磁盘读写代价更低:B+树的内部节点并没有指向关键字具体信息的指针,因此其内部节点相对B树更小,如果把所有同一内部节点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多,一次性读入内存的需...
2020-02-04 20:10:23
1916
原创 redis入门学习(二) 数据持久化
通过前面的学习,了解了redis的各个数据类型后,知晓了为何使用redis它的优势主要是数据存储和查询比关系型数据库快,这是因为redis的数据都是存储在内存中的原因,并且具有较多的数据类型,使得在访问查询高频数据时我们可以放置在redis进行缓存,进而减小mysql的访问压力,而正因为redis存储在内存中的原因,导致在redis服务关闭前,如果未将内存中的数据存在磁盘上会导...
2020-01-30 14:40:21
223
原创 php spl学习
记录搬砖过程中使用到的spl数据结构1. splstack(实现基于双向链表)官网splstack手册$stack = new SplStack();$stack->push('ch');//提前要判断是否为空 如果为空top时会报错$stack->top()//empty不能使用$stack->isEmpty()...
2020-01-15 16:17:40
100
原创 Mysql存储引擎
1.InnoDB 引擎(MySQL5.5以后默认使用)MySQL 5.5 及以后版本中的默认存储引擎,他的优点如下:灾难恢复性好支持事务使用行级锁支持外键关联支持热备份对于InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一起的,数据按主键的顺序物理分布实现了缓冲管理,不仅能缓冲索引也能缓冲数据,并且会自动创建散列索引以加快数据...
2020-01-15 16:10:59
122
原创 linux拾遗
1.解压缩命令tar xzf/xvf name.gz/tartar -zcvf test.tar.gz file1 file2 压缩查看当前文件大小 ls -lhS查看磁盘使用 df -h删除文件 rm -f查找文件名有croe.的文件并删除 find . -name "core.*"|xargs rm -rfv...
2020-01-15 16:10:45
145
原创 drop delete truncate
drop,delete与truncate的区别drop直接删掉表truncate删除表中数据,再插入时自增长id又从1开始delete删除表中数据,可以加where字句。(1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入...
2020-01-15 16:10:43
257
原创 git
首先将目录盘右击点开git branch -a //查看分支git checkout -b(branch_name) //-后加分支名称再修改好之后git add * //放到暂存区中再将暂存区中的代码提交到head中 git commit -m "message"创建仓库 git init //在当前的目录下创建dir1的仓库 git in...
2020-01-15 16:08:24
78
原创 关系型与非关系型数据库
关系型数据库mariaDB SQLite SQL-Server Mysql ORACLE关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织优点:易于维护:都是使用表结构,格式一致;使用方便:SQL语言通用,可用于复杂查询;复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。缺点:读写性能比较差,尤其是海量数据的高效率读写;固定的表结构,...
2020-01-15 16:05:06
133
原创 lnmp搭建之ubuntu环境搭建
环境virtual+ubuntu 16.04问题网络配置问题ubuntu安装时不需要配置网络信息,在安装好系统之后才进行网络的配置,后面ifconfig时显示本地环路路由,bd之后有network/conf这个文件信息的路由填写错误,信息dhcp写成static导致ping不通命令输入后报错信息显示为方块报错信息全是方块,是因为语言配置文件的语言出错,reconfig进行重...
2020-01-15 16:04:53
165
原创 redis学习(安装)
第一章&第二章 redis下载安装1.下载安装cygwin模拟器(win上使用linux)1.1官网下载cygwin一路next,安装好之后和gitbash类似1.2 安装好之后使用wget http://download.redis.io/redis-stable.tar.gz(Linux版) https://github.com/microsoftarchive/redis/r...
2020-01-15 12:09:03
252
1
原创 redis学习(一) 五大数据类型学习
入门学习:启动redis:redis-server再启动一个客户端,使用命令:redis-cli shutdown 进行关闭redis现在开启redis服务 在另一个cmd中打开redis目录 输入命令:redis-cli -h 127.0.0.1 -p 6379连接到当前服务设置键值 和 获取键值keys * 是获取当前redis中存储的所有键名(如果...
2020-01-15 11:21:52
225
原创 面向对象的五大原则
当前23种的设计模式都是基于这五大原则,即单一原则,接口隔离原则,开放-封闭原则,替换原则,依赖倒置原则。在面向对象中,为了使业务代码具有较低的耦合性,方便后期维护和优化,使用这基于五大原则的设计模式,设计模式最先是使用在建筑学,而不是计算机独有。单一职责(SRP)例如生产车辆,如果一个工人需要从装配到测试每个人都需要参与,那么学习和工作的成本会很高,而且如果某个环节修改,那么整个工厂的人都...
2020-01-14 16:04:45
102
原创 echo&var_dump&print&print_r区别
echo 和print 是语言结构print_r和var_dump是函数var_dump()打印的信息更加详细,比如打印数组时,var_dump()会输出数组元素的类型Array ( [0] => 0 [1] => 1 [2] => 2 [3] => a )array(4) { [0]=> int(0) [1]=> int(1) [2]=> in...
2020-01-12 16:03:37
107
原创 php魔术方法学习
学习《PHP核心技术与最佳实践》第一章节1.1-1.3魔术方法 常用的 __construc __destruct __set __get __call __toString1.__set如果new一个类的实例,访问或者赋值一个类的私有属性,直接访问肯定不行,那么我们可以调用其类的public方法来进行赋值或者修改, 也可以用一个set内置在类中,等修改一个私有属性时...
2020-01-12 12:39:21
120
原创 HTTP常见状态码
1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码。100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。102 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。2xx (成功)表示成功处理了请求的状态代码。200 (成功...
2020-01-10 16:07:41
333
原创 get&post数据提交方式
get ---数据查询post ---数据修改put ---数据上传head ---验证urldelete--删除数据get & post的区别get中参数拼接在url中,对于用户是可见的,当然安全性也就降低了,而post数据是存在body中进行传输,在url中不可见,较之安全性比get好点get提交数据或者参数 2K~4K 有大小限制,而post传输数据大小可以自...
2020-01-10 16:07:39
887
原创 HTTP&HTTPS
从输入url到数据接受的过程首先在浏览器中输入url地址通过域名解析(DNS)解析出需要访问的服务器IP地址建立TCP的三次握手链接发起http请求服务器响应接收到对应的请求并返回通过返回数据客户端进行处理那么存在问题是http中的数据安全不能保证,缺点主要有数据为明文,容易非法获取,例如账号密码等通信双方的身份没有确认,无法保证返回的数据是从理想的服务器中返回,中间可能有...
2020-01-10 16:07:38
1458
原创 TCP&&UDP区别联系
区别:TCP面向连接,UDP是无连接的(三次握手四次挥手)TCP提供可靠传输,即无差错,不丢失,UDP尽最大努力进行交付,但不保证可靠传输TCP面向字节流,UDP面向报文段,并且没有拥塞控制,所以在传输数据失败后不会阻塞影响后面的数据进行继续传输(实时视频会议,直播)TCP只能点到点,一对一,而UDP支持一对一以及一对多,多对一,多对多j交互通信开销上,因为TCP需要保证传输可靠,所...
2020-01-10 16:07:30
123
空空如也
https初始公开密钥加密解密中客户端是如何解密的?
2020-01-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人