自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构与算法之美 (23 | 24 二叉树基础)

问题:什么样的二叉树适合用数组来存储?1.2.3.4. 解答5. 练习(待完成)

2022-01-18 00:03:43 143

原创 数据结构与算法之美 (21 | 22 哈希算法)

问题1:如何防止数据库中的用户信息被脱库(被盗)?问题2:哈希算法在分布式系统中有哪些应用?1. 哈希算法将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。一个优秀的哈希算法需要满足的四几点要求:从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法);对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同;散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;哈希算

2022-01-16 11:01:55 293

原创 数据结构与算法之美 (20 | 散列表(下))

问题:为什么散列表和链表经常会一起使用?1. 用散列表实现 O(1) 时间复杂度的 LRU 缓存淘汰算法首先,一个缓存(cache)系统主要包含下面这几个操作:往缓存中添加一个数据;从缓存中删除一个数据;在缓存中查找一个数据。使用 双向链表 实现 LRU 缓存淘汰算法的复杂度:当要缓存某个数据的时候,先在链表中查找这个数据。如果没有找到,则直接将数据放到链表的尾部;如果找到了,我们就把它移动到链表的尾部。因为查找数据需要遍历链表,所以单纯用链表实现的 LRU 缓存淘汰算法的时间复杂很

2022-01-15 23:14:38 435

原创 数据结构与算法之美 (19 | 散列表(中))

问题:如何打造一个工业级水平的散列表?1. 设计散列函数散列函数的设计不能太复杂:过于复杂的散列函数,势必会消耗很多计算时间,也就间接地影响到散列表的性能。散列函数生成的值要尽可能随机并且均匀分布:避免或者最小化散列冲突,而且即便出现冲突,散列到每个槽里的数据也会比较平均,不会出现某个槽内数据特别多的情况。实际工作中,我们还需要综合考虑各种因素。这些因素有关键字的长度、特点、分布、还有散列表的大小等。散列函数的设计方法:数据分析法,根据数据特征选出差异较大的范围作为标识值。如取手机号的后四位

2022-01-15 22:27:08 197

原创 数据结构与算法之美 (18 | 散列表(上))

问题:Word文档中的单词拼写检查功能是如何实现的?1. 散列表散列表的英文叫“Hash Table”,我们平时也叫它“哈希表”或者“Hash 表”。散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。待计算的输入值:叫做键(key)或者关键字。输入值经过计算的方法:叫作散列函数(或“Hash 函数”、“哈希函数”)。计算出的值:叫做散列值(或“Hash 值”、“哈希值”)。总结:散列表用的就是数组支持按照下标随机访问的时候,时间复杂度是 O

2022-01-12 00:22:51 105

原创 数据结构与算法之美 (17 | 跳表)

问题:为什么Redis一定要用跳表来实现有序集合,而不是红黑树?1. 跳表定义有多级索引的链表结构,就是跳表。加来一层索引之后,查找一个结点需要遍历的结点个数减少了,也就是说查找效率提高了。2. 跳表复杂度在跳表中查询任意数据的时间复杂度就是 O(logn)。插入、删除操作的时间复杂度也是 O(logn)。空间复杂度是 O(n)。3. 跳表索引动态更新跳表是通过随机函数来维护其“平衡性”。随机函数的选择很有讲究(可以看Redis 中关于有序集合的跳表实现)。4. 解答

2022-01-10 23:18:16 158

原创 PHP观察者模式一篇就够了

PHP 观察者模式摘要:结合自己的实际经验进行总结,通俗易懂,看完收获满满1. 定义:观察者模式(Observer Pattern)又叫发布订阅模式(Publish/Subscribe)定义了一种一对多的关系,让多个观察者对象同时监听某一个目标对象,当这个目标对象的状态发生变化时就会通知所有的观察者对象,使得它们及时掌握目标的动态,进而做出相应的处理(或自动更新自己)。当对象间存在一对多关系时,则使用观察者模式。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。一

2020-11-10 20:21:42 115

原创 Vue2.x 学习 (一)

摘要:本文主要讲述windows下vue的环境配置nodejs安装,提供npm工具cnpm安装,提供镜像,加快下载速度Vue Devtools安装,提供Chrome Vue查看工具Vue-cli安装,工程化vue项目1. nodejs安装:A. 官网下载 https://nodejs.org/en/下载完成后直接打开安装,选择添加到 path 环境变量中去...

2020-03-27 16:47:03 156

原创 使用PHP生成Excel和PDF文件

摘要:使用 Laravel 作为PHP框架,结合 phpspreadsheet 生成 Excel,结合 dompdf 生成 PDF 。1. 扩展安装:composer安装 composer require "phpoffice/phpspreadsheet" [php5] composer require "dompdf/dompdf" [php5]2. 创建控制...

2019-09-05 16:31:41 2132

原创 Laravel session 共享

使用 Redis 配置 Laravel 之 Session 共享摘要:此方法仅适用于 一个顶级域名 (.laravel.com) 下的 多个二级域名 (abc.laravel.com , api.laravel.com , data.laravel.com , …)1. 测试环境:Ubuntu 16.04 LNMP Redis2. Laravel 配置 Rediscomp...

2019-08-22 14:59:20 695

原创 JQuery 上传文件并显示上传进度

上传文件&显示上传进度本文使用 jQuery 异步上传文件,并使用 PHP (Magento1 & Laravel) 进行后端处理。需配置文件上传参数,如 upload_max_filesize,post_max_size 等。参考文章:配置PHP上传文件大小限制1. html:<style type="text/css"> form.upload-fi...

2019-05-15 16:50:02 3353

原创 记一次JQuery实现轮播图

JQuery实现轮播图(一)摘要:附带点击图片放大图片功能。1. 先来个效果图:2. 上源码<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>Slider</title> <script type="text/javascr...

2019-04-02 15:49:42 154

原创 本地机通过 .pem 证书连接 ubuntu服务器

本地机通过 .pem 证书连接 ubuntu服务器摘要:生成 .pem 文件,使用文件代替密码连接服务器,并关闭服务器密码认证登陆。1. 在本地生成 .pem 文件:(Linux使用终端,Windows使用 git)ssh-keygen -t rsa -f myPem -b 2048 -vmv ./myPem ./myPem.pem会在当前目录下生成 myPem 和 myPe...

2018-10-03 10:43:56 1497

原创 Linix-Ubuntu Apache VirtualHost 配置

Linix Apache VirtualHost 配置摘要:Linix Apache VirtualHost 配置域名或配置IP和端口,及启用。 1. 配置域名:在 /etc/apache2/sites-available/blog.conf 添加以下代码VirtualHost *:80&amp;gt; ServerName wp.blog.com // 域名 ...

2018-08-24 11:51:18 619

原创 Windows下php之redis扩展及laravel之redis配置

php之redis扩展及laravel之redis配置摘要:主要讲述php安装redis扩展、 laravel如何使用redis。 1. php安装redis扩展:首先查看自己的php信息 我的php信息包含:5.6.31、x64、TS、VC11根据这些信息去下载匹配配的扩展版本下载地址:https://windows.php.net/downloads/pecl/re...

2018-07-30 14:42:56 783

原创 socket 学习之路

socket 学习之路摘要:socket 简介,socket 示例 。 1. socket 简介:Socket又称”套接字”,应用程序通常通过”套接字”向网络发出请求或者应答网络请求。2. 小标题2:分支1$customerSession = Mage::getSingleton('customer/session');分支2// 通过 id 获取产品$_...

2018-07-25 12:01:39 258

原创 laravel 发送邮件配置

标题摘要:本文讲述 Laravel 如何配置 QQ 邮箱,进行邮件发送 。 1. 开启 QQ 邮箱smtp,获取授权码:登录 QQ 邮箱 -&amp;amp;gt; 设置 -&amp;amp;gt; 账户 -&amp;amp;gt; 开启 POP3/SMTP 服务![授权码](https://img-blog.csdn.net/20180718124453135?watermark/2/text/aHR0cHM6Ly9ibG9n...

2018-07-18 13:18:48 3279 1

原创 magento1 数据库操作

a

2018-07-02 19:13:11 734

原创 php curl post/get 详解

curl 请求摘要:如何使用 curl 发送 post 和 get 请求。 1. 图片合成:图片资源路径文件 $path1 = ‘C:\Users\Administrator\Desktop\10600004.png’; $path2 = ‘C:\Users\Administrator\Desktop\106000040.png’; 获取图片资源信息...

2018-06-14 10:46:51 480

原创 php 生成二维码及图片尺寸转换

GD和图像处理(二)摘要:如何将两张或多张图片合成为一张图片,并输出到浏览器或指定的路径文件。 1. 图片合成:图片资源路径文件 $path1 = ‘C:\Users\Administrator\Desktop\10600004.png’; $path2 = ‘C:\Users\Administrator\Desktop\106000040.png’; ...

2018-06-13 17:35:40 1946

原创 php 图片合成

GD和图像处理(二)摘要:如何将两张或多张图片合成为一张图片,并输出到浏览器或指定的路径文件。 1. 图片合成:图片资源路径文件 $path1 = ‘C:\Users\Administrator\Desktop\10600004.png’; $path2 = ‘C:\Users\Administrator\Desktop\106000040.png’; ...

2018-06-13 10:19:53 915

原创 php 字符串生成图片,并输出

GD和图像处理1. 创建图像:新建一个基于调色板的图像 $im = imagecreate($width, $height) or die(“不能初始化新的 GD 图像流”); //返回图像标识符 $_bg_color = imagecolorallocate($im, 255,255,255); //创建颜色,返回颜色标识符创建图像后,紧跟的第一个颜色标识符为其...

2018-06-12 14:51:00 4301

空空如也

空空如也

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

TA关注的人

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