自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PHP使用ES搜索

目录版本说明安装依赖封装单例模式封装ES客户端操作封装使用示例封装MySQL 数据同步ES同步双写异步双写定时任务数据订阅版本说明注意自己的PHP版本和Elasticsearch版本的对应关系,选择合适的PHP Elasticsearch 客户端版本Elasticsearch版本PHP ES客户端版本PHP版本>= 7.0, < 8.0>= 7.0&...

2024-03-11 10:22:00 399

原创 Elasticsearch

目录Elasticsearch简介存储结构索引-index文档类型-type文档-document文档字段-field映射-mapping类比MySQL存储结构文档CURD文档元数据插入文档查询文档更新文档删除文档文档类型定义精确值 & 全文类型自动映射自定义文档的数据类型查询索引的映射规则查询Search APIQuery DSL基本语法格式匹配单个字段精准匹配单个字段in 查询范围查...

2024-03-11 10:20:00 274

原创 PHP8新特性----注解

说注解之前,先说说以前的注释,我们经常会在PHP的项目中,看到的一个东西,类似如下的@param 和 @see :/** * @param Foo $argument * @see https:/xxxxxxxx/xxxx/xxx.html */ function dummy($Foo) {}这个叫做注释,对于以前的PHP来说,注释中的@param和@see毫无意义,整个这一...

2021-03-14 08:12:00 168

原创 PHP底层运行机制与原理

1.PHP的设计理念以及特点多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响。当然,随着时代发展,PHP也早已支持多线程模型弱类型语言:和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。在PHP中,一个变量的类型并不是一开始就确定的,而是运行中才会确定并可能发生隐式或显式的类型转换,这种机制的灵活性在web开发中非常方便、高...

2021-03-04 08:07:00 101

原创 Linux随笔

目录Linux常用命令cd命令ls命令grep命令tra命令rsync命令一些常见问题apt安装错误:ssh启动错误MySQL不用密码也能登录MySQL允许远程连接WSL上安装jupyter不能自动打开浏览器Vim使用技巧Vim基础配置获得写权限多行注释Linux磁盘挂载查看系统上的数据创建分区查看新分区创建文件系统开机自动挂载挂载文件系统ssh免密登录重定向DockerDocker架构安装Do...

2021-02-17 17:18:00 283

原创 PHP使用 tokent (令牌)进行登录

一、用户认证问题最初互联网用户认证一般流程如下:1、用户登录,向服务器发送用户名和密码。2、服务器验证用户信息通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,客户端获取后将这个session_id写入 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回...

2020-03-13 11:46:00 957

原创 IPTABLES详解

一、IPtables的实质iptables其实不是真正的防火墙,我们可以将它理解成一个客户端代理,通过这个代理,我们将安全的设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙,这个框架就是netfilter。所以,netfilter才是防火墙真正的安全框架,它位于内核空间中。 而iptables只是一个命令行工具,位于用户空间中,我们用这个工具操作真正的框架。netfil...

2019-08-09 15:15:00 290

原创 iptables简介

一、IPtables的实质iptables其实不是真正的防火墙,我们可以将它理解成一个客户端代理,通过这个代理,我们将安全的设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙,即netfilter。所以,netfilter才是防火墙真正的安全框架,它位于内核空间中。 而iptables只是一个命令行工具,位于用户空间中,我们利用这个工具操作真正的框架。netfi...

2019-08-09 15:15:00 75

原创 Ubuntu 16 服务器配置PHP+MySQL+Apache环境

Ubuntu 16 服务器配置PHP+MySQL+Apache环境 一、获取软件包资源并进行资源更新apt是Ubuntu上默认的软件包管理器,使用它可以很容易进行各种软件安装,而且会自动帮你安装可能需要的依赖关系。另一个强大的软件管理工具是 dpkg,可以用于安装本地的deb文件。但是 dpkg 不会解决模块的依赖关系,也不会关心ubunt...

2019-04-18 10:17:00 144

原创 使用U盘装Windows10系统

一、装备工作使用U盘装系统需要准备以下工具:8G左右的U盘一个。由于制作启动盘会删除U盘的所有数据,所以重要资料请提前备份。系统的镜像文件。这里我推荐MSDN, 我告诉你。这里下载的镜像和官方的一样,都是纯净版的,没有任何第三方捆绑软件。启动盘制作工具。用来将系统镜像写入U盘制成系统启动盘。推荐使用UltraISO(软碟通),下载安装就好了,虽然该软件是收费的,但是可...

2018-12-22 21:27:00 1120

原创 python3爬取淘宝商品(更新版)

最近有人反映淘宝的搜索功能要登录才能用,原先的直接爬取的方法挂了。稍微把之前的代码修改了一下,登录采用最简单的复制cookie来解决。顺便说一下,这只是根据搜索的的索引界面获取的信息,并未深入的获取每个具体商品的信息。为了以后有拓展空间,便于爬取详细的商品信息,我顺便把详情页的URL拿下来了。淘宝的页面其实并未做多大改变(吐槽一下:淘宝的程序员也挺懒的),之前的代码只要加上登录功...

2018-11-12 19:10:00 875 1

原创 python3爬取淘宝商品(失效)

最近有人反映淘宝的搜索功能要登录才能用,原先的直接爬取的方法挂了。稍微把之前的代码修改了一下,登录采用最简单的复制cookie来解决。顺便说一下,这只是根据搜索的的索引界面获取的信息,并未深入的获取每个具体商品的信息。为了以后有拓展空间,便于爬取详细的商品信息,我顺便把详情页的URL拿下来了。淘宝的页面其实并未做多大改变(吐槽一下:淘宝的程序员也挺懒的),之前的代码只要加上登录功...

2018-11-12 19:10:00 173

原创 PHP常见数组函数总结

一、数组的一些关于键名和值的基础操作函数1.获取数组所有的键或值:array_keys() array_values()$arr_keys = array_keys($array);$arr_values = array_values($arr);2.交换数组中键和值的位置,若重复前面的会被后面的覆盖:array_flip()$arr2 = array_f...

2018-09-10 18:08:00 489

原创 PHP基础面试题

1.POST和GET这两种提交方式有什么区别?HTPT对于客户端与服务器的交互定义了不同的方式,最基本的方法有四种:PUT、DELETE、POST、GET,对应着对网络上某个资源的增、删、改、查。因此,GET一般用于获取、查询资源,而POST一般用于更新资源信息。使用目的:GET 是从服务器上获取数据;POST 是向服务器传送数据可见性:GET 请求参数是作为一个键值...

2018-09-10 14:45:00 92

原创 MySQL进阶之存储引擎MyISAM与InnoDB的区别

一、存储引擎(表类型)通常意义上,数据库就是数据的集合,具体到计算机数据库可以是存储器上一些文件的集合或一些内存数据的集合。我们通常说的MySQL数据库、sql Server数据库等其实是数据库管理系统(Database Management System,即DBMS),它们可以存储数据,并提供查询和更新等功能。存储引擎就是如何为存储的数据建立索引、如何更新、查询数据等技术的实现...

2018-07-20 19:32:00 105

原创 MySQL进阶之索引

一、索引的本质:        数据库查询是数据库的最主要的功能之一,数据库系统的设计者从查询算法的角度对数据库进行了一定的优化。        最基本的顺序查找算法的复杂度为O(n),在数据量很大的时候算法的效率是很低的。虽然也有一些更优秀的查询算法:二分查找、二叉树查找,但这些算法都只能应用在特定的数据结构之上,如二分查找要求被检索数据本身是有序的、二叉查找则只能应用...

2018-07-20 14:38:00 101

原创 Scrapy学习笔记

一、爬虫框架Scrapy总览图片来源于网络上图就是整个Scrapy的架构图了,主要包括部分作用如下:Scrapy Engine:爬虫引擎,负责制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。简单来说,就是负责Spiders、ItemPipeline、Downloaders和Scheduler之间的信息传递。Scheduler:调度器,负责接受引擎发送过...

2018-07-17 12:17:00 236

原创 Linux进程间通信的几种方式

一、进程间通信的目的数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间共享数据:多个进程要操作共享数据,一个进程对共享数据信息传递:一个进程需要向另一个进程发送消息,通知它发生了某种事件。资源共享:多个进程之间共享同样的数据。为了做到这一点,需要内核提供锁和同步机制。进程控制:有些进程希望完全控制另一个进程的执行,此时控制进程希...

2018-07-11 20:39:00 834

原创 python3函数的参数

函数的定义能简化代码的逻辑,对于函数的调用者来说,只需要知道如何正确的传递参数,以及知道函数将返回什么值就可以了,而函数内部的复杂逻辑被封装起来,调用者不必了解。位置参数调用函数时,传入实参的值按照位置顺序以此赋给形参。def power(x, n): s = 1 while( n ): n = n - 1 s = ...

2018-07-01 11:43:00 143

原创 PHP数组简介

一、创建数组在PHP中可以使用array( [ index=&gt;values ] )这个语言结构来声明一个数组。数组的元素可以是任意类型,也包括数组,因此多维数组也是支持的。&lt;?php$fruits = array ( "fruits" =&gt; array("a" =&gt; "orange", "b" =&gt; "banan

2018-06-02 12:22:00 132

原创 cookie和会话

一、为什么要使用cookie和会话HTTP是一种无状态技术,这意味着每个单独的HTNML页面都是一个无关的。当人们穿过站点时,HTTP 没有用于跟踪用户或保持变量的方法,尽管浏览器会跟踪你访问过的页面,但服务器不会记录谁看过什么内容。使用服务端技术可以克服Web的无状态性。可用于此目的的两种最佳的工具就是cookie和会话。cookie和会话之间的关键区别是:cookie将数据存...

2018-03-26 12:07:00 142

原创 JavaScript函数、对象和数组

一、JavaScript函数1.定义函数:函数的通用语法如下function function_name([parameter [, ...]]){ statements;}由关键字function开始函数的定义接着是函数名,它必须由字母或下划线开始,后面可以是一串字母、数字、$符号或下划线必须带有括号,括号里的参数是可选的,多个参数用逗...

2018-03-21 18:41:00 147

原创 JavaScript控制流和表达式

一、with语句使用with语句可以简化JavaScript语句的一些类型,即把一个对象的多个引用降为一个引用,对with块里的属性和方法的引用将被看作是对对象的引用。&lt;script&gt;string = "The quick brown for jumps over the lazy dog"with(string){ document.wri...

2018-03-20 13:03:00 299

原创 JavaScript基础

一、在HTML文档中使用JavaScript1.直接在HTML中编写JavaScript代码:&lt;html&gt; &lt;head&gt;&lt;title&gt;Hello worid&lt;/title&gt;&lt;/head&gt; &lt;body&gt; &lt;script type="text/javascript

2018-03-20 10:19:00 75

原创 HTML表单处理

一、表单简介表单的处理是一个多进程。首先创建一张表单,以供用固话输入详细的请求信息。接着,输入的数据被发送到服务器,在服务器里这些数据得到编译和错误检测。如果PHP代码识别出一个或多个需要重新输入的字段,则带有相关错误信息的表单会被重新显示。当精确的输入信息满足代码的需要时,代码会采取一些调用数据库的行动。要建立一个表单,至少要有下面这些元素:一个打开的&lt;form&...

2018-03-18 10:19:00 201

原创 使用PHP链接MySQL

一、使用PHP查询MySQL数据库:1.通过PHP来访问MySQL的步骤是:连接到MySQL选择操作的数据库创建查询的字段执行查询的语句检索出结果并在网页上显示断开与MySQL的连接我们将依次完成这些操作,重要的是首先以安全的方式创建登陆的详细资料,以使的别人不容易访问你的数据库。2.创建登陆文件:许多用PHP创建的网站都包含了多个程序文件...

2018-03-12 22:27:00 522

原创 支持CSS3的高级CSS

一、匹配部分字符串在CSS2中,可以使用[ href='info.htm' ] 这样的属性选择器来匹配href属性中的字符,但是无法只匹配部分字符串。而CSS3给出了三个新的运算符:^ , $ 和 * 来解决这类问题。只需将其中一个运算符直接放在等于符号"="的前面,就可以匹配开始,结尾或任意部分的字符。1. ^ 运算符:匹配开头的字符串a[ href^='http://...

2018-03-11 15:17:00 79

原创 CSS基础学习笔记

一、导入样式表:当想要将样式运用到整个网站而不是单张页面时,管理样式的更好的方法是将它们从网页中分离出来,放到称作样式表的独立文件中,以便在需要时导入。(1).使用CSS的@immport指令导入样式表:&lt;style&gt; @import url(;styles.css');&lt;/style&gt;(2).从HTML内部导入样式表:...

2018-03-11 15:12:00 125

原创 PHP笔记

1.PHP标记与注释:由于 PHP 是嵌入式脚本,它经常会和 HTML 内容混在一起,为了区分 HTNL 与 PHP 代码,需要将PHP 代码包含起来。PHP 提供了如下四种标记:(1).标准标记:&lt;?php //code ?&gt;(2).短标记:&lt;? //code ?&gt;(3).ASP风格标记:&lt;% //code %&gt;(4)脚本风格标记...

2018-03-04 09:24:00 130

原创 Centos7下配置Apache的虚拟主机

一、虚拟主机虚拟主机是Apache提供的一个功能,通过虚拟主机能在一台服务器上部署多个网站。虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站。下面讲解Apache虚拟主机配置,当然,前提是你的CentOS已经安装并配置好了Apache服务器。二、搭建虚拟主机1.创建目录结构:首先,我们需要创建一个目录结构,以保存网站数据,为访客提供服务。我们...

2018-03-01 20:27:00 245 5

原创 CentOS7安装配置Apache、PHP和MySQL

一、安装Apachesudo yum install httpd安装成功后,Apache操作命令:systemctl start httpd //启动apachesystemctl stop httpd //停止apachesystemctl restart httpd //重启apachesystemctl enable httpd //设置apac...

2018-01-01 00:38:00 314 1

原创 CentOS7识别不到win10启动项的解决方法

Windows的文件系统是NTFS格式的,而CentOS是不支持NTFS格式的。因此,我们要安装另外的工具使CentOS能识别NTFS格式的文件系统。这里我们选择ntfs-3g这个工具,安装过程如下:1.添加源sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo...

2017-12-11 10:57:00 492 1

原创 MySQL随记

1.MySQL赋予用户权限:grant 权限(all privileges select drop insert等) on DatabaseName.TableName to UseName@host identified by "password"; 2.导出和导入数据:mysqldump -u UseName -p 数据库名 &gt; 导出文件名mys...

2017-11-01 09:15:00 108

原创 回归的线性模型

一、线性回归模型简介:回归问题的目的是在给定D维输入变量x的情况下,预测一个或多个连续目标变量t的值。线性回归模型的最简单的形式也是输入变量的线性函数,但是通过将一组输入变量的非线性函数进行线性组合,我们可以获得一类更加有用的函数,这些非线性函数被称为基函数。这样的模型是参数的线性函数,这使得其具有一些简单的分析性质,同时关于输入变量是非线性的。(1)线性基函数模型:回归问题...

2017-10-24 14:35:00 188

原创 Python获取最新电影的信息

这次将从电影天堂获取最新的电影的详细信息,这里电影的信息罗列的比较详细。本来只是想获取电影的迅雷链接,然后用迅雷去下载。但看到这里的电影的信息比较完整和详细,忍不住把所有信息都爬取下来了。下图是《猩球崛起3》 的简介,可以看到信息还是很多的。 主要代码如下:import requestsimport refrom bs4 import BeautifulS...

2017-10-15 22:56:00 408

原创 python3爬取百度知道的问答并存入数据库(MySQL)

一、链接分析:以"Linux"为搜索的关键字为例:首页的链接为:https://zhidao.baidu.com/search?lm=0&amp;rn=10&amp;pn=0&amp;fr=search&amp;ie=gbk&amp;word=linux第二页的链接为:https://zhidao.baidu.com/search?word=linux&amp;ie=gbk&...

2017-09-25 10:57:00 671

原创 计算机网络基础

一、HTTP报文1.请求报文HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为三部分:状态行、请求头、消息主体。类似下面这样:&lt;method&gt; &lt;requests-URL&gt; &lt;version&gt;&lt;headers&gt;&lt;entity-body&gt;HTTP定义...

2017-09-18 12:53:00 88

原创 My SQL 高级部分

一、存储过程存储过程是存储在数据库目录中的一段声明性sql语句,感觉其功能类似函数。1.简单的存储过程我们可以通过create procedure procedure_name 语句创建存储过程,然后通过call procedure_name 语句调用存储过程。delimiter // create procedure procedure_name( )...

2017-09-17 10:43:00 95

原创 MySQL 高级部分

一、存储过程存储过程是存储在数据库目录中的一段声明性sql语句,感觉其功能类似函数。1.简单的存储过程我们可以通过create procedure procedure_name 语句创建存储过程,然后通过call procedure_name 语句调用存储过程。delimiter // create procedure procedure_name( )...

2017-09-17 10:43:00 45

原创 My SQL基础

一、创建并导入数据库create database if not exists yiibaidb default charset utf8 collate utf8_general_ci;use yiibaidb;source /home/jxc/Downloads/yiibaidb.sql; 这里我们使用的是yiibaidb下载这个汽车零售商数据库模型,yii...

2017-09-14 09:17:00 172

空空如也

空空如也

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

TA关注的人

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