自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木鱼大叔的技术博客

技术的道路上,不断前行,进无止境

  • 博客(81)
  • 资源 (14)
  • 论坛 (1)
  • 收藏
  • 关注

原创 ThinkPHP5 动态生成图片缩略图

需求场景不同终端(PC端、手机端、平板),不同界面(列表页、详情页),对图片大小的要求不一样, 如果所有场景下都使用同一尺寸的图片,势必对会网络带宽及服务器性能造成一定的影响,由此需要服务器端能够根据前端的请求参数,自动匹配出相对应的图片资源,以此来降低服务端的压力,同时也能给用户带来更友好的用户体验。具体步骤如下:1 开启apache的rewrite功能,具体方法请自行...

2019-05-09 16:18:59 459

原创 ThinkPHP5水平分表后分页查询解决方案

ThinkPHP5内置了partition方法,可用于实现简单的分表。新增,修改,删除,查询单条数据时,用partition方法都可以轻松搞定,因为这些操作有一个共同的特点,就是能事先明确的知道,我要操作的是哪一条记录。但有一个需求,ThinkPHP5似乎没有解决,比如当一个大表,被拆分成若干个子表时,如何根据相关条件及排序获取分页数据。这种需求场景下,由于事先并不知道哪些数据会出现在第一页,哪些...

2018-09-06 20:36:46 7428 1

原创 ThinkPHP5与GatewayWorker集成(windows环境)

1. 安装GatewayWorker类库composer require workerman/workerman-for-wincomposer require workerman/GatewayWorker-for-win安装完成后,目录结构如下:2. 编写代码在application目录下,创建一个应用模块,模块名称为gatewayapp,其目录结构如下:con...

2018-07-23 17:07:22 6019 11

原创 windows下配置apache+https

通过https反向代理映射到http地址,可实现以https的方式,访问普通的http网站。主要涉及到以下三个配置文件的修改:httpd.confhttpd-ssl.confhttpd-vhosts.conf具体实现步骤:1. 修改conf/httpd.conf取消ssl及proxy相关注释#LoadModule ssl_module modules/m

2018-01-10 14:34:15 38342 25

原创 MySQL数据同步的实现方式之主从复制

MySQL数据库同步复制的功能主要体现在它的配置文件(liunx 下为/etc/my.cnf)上,其工作原理为slave端记录并且执行master端的操作日志。一. 准备工作需要准备2台主机,一台作为主服务器master,一台作为从服务器slave,信息如下:主服务器:IP 10.0.10.21 /MySQL版本 5.5从服务器:IP 10.0.10.22 /MySQL版...

2016-08-19 17:29:07 2025 1

原创 golang 知识点汇总

1. 命名规范及大小写的访问权限golang的命名需要使用驼峰命名法,且不能出现下划线。 golang中根据首字母的大小写来确定可以访问的权限。无论是函数名称、方法名称、常量名称、变量名称还是结构体的名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用。可以简单的理解成,首字母大写是公有的,首字母小写是私有的。 结构体中属性名的大写如果属性名小写则在数据解析(如json解析,或将结构体作为请求或访问参数)时无法解析。2. 两个特殊的函数在golang中有两.

2020-11-24 14:57:40 11

原创 gin框架中mysql的简单使用

1. 安装gorm命令行中输入命令:go get github.com/jinzhu/gorm稍等片刻后,即可安装成功。2. 安装mysql驱动命令行中输入命令:go get github.com/go-sql-driver/mysql3. 创建相关文件基于MVC模式,我们创建了如下目录和文件,文件内容先为空,后面再添加,如图:4. 配置mysql数据库编写数据库配置文件,在mysql.go文件中,加入如下代码:package...

2020-11-16 11:27:28 25

原创 跟我学,一步步教你搭建文档自动化工具Swagger-PHP(ThinkPHP5环境)

1. 安装Composer确认Composer是否已安装,cmd窗口输入命令:composer -V如果能看到版本号信息,说明Composer已经安装,如图:否则请自行下载安装,下载地址:https://getcomposer.org/download/2. 安装swagger-phpcmd窗口中,切换到TP5项目的根目录,输入命令:composer require zircote/swagger-php安装成功后,vendor目录下...

2020-11-13 14:22:17 27

原创 goland 搭建 gin 框架

1. 安装go软件包下载地址:https://studygolang.com/dl下载后,双击安装即可。2. 配置系统变量这里需要配置2个系统变量,一个是GOROOT,一个是GOPATH注意:GOROOT和GOPATH不能在同一路径下,且变量名必须是GOROOT和GOPATH.3. 安装git下载地址:https://git-scm.com/下载后,直接双击安装即可。.4. 设置go代理在下载gin框架之前,我们还需要配置...

2020-11-10 15:18:19 137

原创 Vue项目中路由的基本使用

1. 安装vue-router库将vue-router库安装到项目中,执行命令:npm install vue-router -S2. 配置路由映射在src/router目录下,创建一个index.js路由映射文件,内容如下:import Vue from 'vue'import VueRouter from 'vue-router'// 安装路由插件Vue.use(VueRouter)// 路由映射表const routes = [{path: '/', .

2020-11-06 10:43:00 39

原创 Vue项目中引入ElementUI组件

1. 创建Vue项目请参考【PhpStorm创建Vue项目】一文。2. 安装Element-UI打开PhpStorm的命令行,执行命令:npm install element-ui -S ,将element-ui组件安装到项目下,如图:安装成功后,在项目的node_modules目录下,会自动生成一个element-ui目录,其结构如下:3. 引用elementUI3.1 引入elementUI在main.js中引入elementUI,内容如下:...

2020-11-06 10:32:00 19

原创 PhpStorm创建Vue项目,运行及打包发布

话不多说,直接上干货,使用WebStorm开发的同学,步骤与PhpStorm基本是一致的。1. 安装Node打开Node.js的官方网站 http://nodejs.cn/download/,找到windows版本的安装包,将其下载到本地,然后双击安装即可,具体安装过程,此处忽略。Npm命令解释:npm install moduleName:安装模块到项目目录下。npm install -g moduleName:-g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm

2020-11-06 10:16:49 77

原创 iframe跨域通信

假设A和B两个页面,处于两个不同的域中,现在在A页面中,通过iframe方式引入了B页面,那么B页面中的参数如何传递给A页面呢?A页面中又如何获取B页面传递过来的数据呢?A页面内容<iframe id="iframe-a" width="100px" height="100px" src="B页面地址,可以带参数" frameborder="0" sandbox="allow-modals allow-forms allow-scripts allow-same-origin all

2020-08-15 14:16:16 50

原创 一个简单示例,带你了解python中的类方法、静态方法、实例方法和私有方法的区别

直接上干货~from random import randintclass Game: ''' 类方法,不需要实例化,通过类名直接调用,使用装饰器@classmethod修饰 @cls: 第一个参数必须是当前类本身,参数名一般约定为cls ''' @classmethod def play1(cls): cls().__pl...

2020-02-27 14:33:19 111

原创 artTemplate前端模板引擎使用说明

一、一句话介绍artTemplate是新一代的高性能JavaScript模板引擎二、插件官网https://aui.github.io/art-template/三、插件下载完整版:https://github.com/aui/art-template浏览器版:https://github.com/aui/art-template/tree/master/lib...

2019-05-23 10:58:43 282

转载 如何防范和应对Redis勒索

【漏洞概述】Redis 默认情况下,会绑定在 0.0.0.0:6379,导致Redis服务暴露到公网上。如果在没有开启认证并且在任意用户可以访问目标服务器的情况下,可以未授权访问Redis服务,进一步可进行数据增删改查,甚至获取服务器权限等恶意操作,属于高风险漏洞。【漏洞利用条件】1. Redis服务以root账户运行;2. Redis无密码或弱密码进行认证;3. Redi...

2018-09-20 16:45:22 226

原创 MySQL存储过程,树状结构数据查询

1. 根据父级节点id查询其所有的子级节点id,查询结果中包含当前传入的父级节点id值#根据传入的父级id查询所有子节点的id#tableName 表名#idKey 节点标识#pIdKey 父节点标识#pId 父节点id值#调用示例 call get_child_nodes('org','id','pid',213,@result);CREATE PROCEDURE `get...

2018-08-22 13:50:40 1583

原创 Apache配置项目图片地址映射

项目需求将服务器物理磁盘上的某个目录,映射到apache能够访问到的url地址上。以此来达到图片和代码的分开部署,同时也方便项目后期的文件迁移,当图片资源变的越来越大,大到需要几个小时,甚至一整天的时间,来迁移图片资源时,这种分开部署的优势,将会更加明显。解决方案方案一搭建独立的图片服务器,用来处理所有的图片资源,该方案有可能会涉及到资源的跨域访问问题。方案二利用a...

2018-08-19 17:47:40 1233 1

原创 php结合Redis实现高并发下的秒杀抢购功能

实现思路    准备两个队列A和B,假设A队列的名称为stock,用于存放商品总库存信息,B队列的名称为users,用于存放抢购成功后的用户信息。每当有用户进行抢购操作时,先从A队列弹出一个元素,如果该元素有值,说明还有剩余库存,此时,将用户信息存入B队列,否则,说明已无库存,应该终止抢购。代码部分    stock.php 用于设置队列中的库存信息// 秒杀开始前,将库存放入...

2018-08-16 17:33:35 7098 5

原创 Select2 - Ajax 获取下拉框分页数据(鼠标滚动分页)

适用场景:下拉框中有大量数据的情况(建议100条数据以上就要考虑使用分页获取的方式了)。直接上代码    引入相关js和css    select2/select2.min.css    select2/select2.min.js    select2/i18n/zh-CN.js/** * ajax获取select2下拉框数据(带鼠标滚动分页) * @param s...

2018-08-16 12:13:41 4814 4

原创 UEditor图片跨域上传解决方案

预设环境UEditor版本:1.4 客户端地址:http://www.aaa.com 图片服务器地址:http://www.bbb.com 图片服务器端UEditor的部署URL:http://www.bbb.com/ueditor/ 客户端和图片服务器各部署一套UEditor环境客户端修改修改1:/ueditor/ueditor.config.js将原有的serve...

2018-08-10 21:12:03 3568 5

原创 Windows下安装Redis及php的redis扩展

目录    Redis简介    环境要求    安装Redis    数据持久化    主从复制    启动Redis命令行方式启动:系统服务方式启动:    客户端测试    安装php-redis扩展    php客户端使用    Redis相关完整软件包Redis简介    Redis是一个key-value存储系统。和Memcach...

2018-08-07 15:06:33 10210

原创 QueryList异步抓取网页数据

环境要求:php7及以上phantomjs引擎 下载地址QueryList4.0核心思想:根据抓取对象网页的布局,编写相应的规则,规则语法参考jquery即可。抓取示例:京东商城产品列表抓取规则://京东商城采集规则配置$rules = array( 'product_list' =&gt; array( 'url' =&gt; 'h...

2018-08-07 08:32:18 2934 1

转载 姑娘,你为什么要编程呢

       本来你一个姑娘,可以去做一双贴满水晶的blingbling美甲更显十指纤纤,不用担心敲键盘不方便;  可以不时到健身房练练瑜珈来磨练心性,而不是通过看着满屏代码调bug;  可以洗完泡泡浴早早躺下睡个美容觉,而不是深夜赶紧贴上面膜,多少有些自欺欺人地告诉自己,刚才电脑的辐射才不会摧毁皮肤的水汪汪。  ... ...  可是突然有一天,你开始发现代码这个东西的魔力:...

2018-08-03 09:08:57 137

原创 phalapi框架改进方案,在一套phalapi系统上,管理多套api应用

版本:PhalApi 2.2.3请自行安装好PhalApi,然后按照步骤,作如下修改。修改思路:在src/app/Api目录下,根据需要,创建若干个api应用,每个应用以文件夹的形式存在,然后根据每个api的应用名称,创建对应的数据库配置文件。涉及到的文件如下:修改1:config/di.php原来的notorm实例化操作如下:// 数据操作 - 基于NotORM$di...

2018-08-02 17:31:37 1690 1

原创 检测ip地址库内是否存在指定的ip

检测ip地址库内是否存在指定的ip,支持精确匹配、尾部*号匹配及ip区间匹配。应用场景:ip 白名单 / 黑名单、系统后台限制内网访问等。/** * 检测ip地址库内是否存在指定的ip,支持精确匹配、尾部*号匹配及ip区间匹配 * @param string $ip 待检测的ip字符串 * @param array $ipList ip数组列表,该参数为空时...

2018-08-01 09:57:48 652

原创 html5本地存储类库

//html5本地存储类库var storage = { // key前缀,用于区分同一个项目中其它类库使用的缓存 prefix: "uid_", /** * 缓存本地数据 * @param key * @param value */ setLocalItem: function (key,value) { ...

2018-07-24 17:06:52 205

原创 php常用日期相关函数

/** * 获取指定日期所在周的起止时间 * @param null $curTime * @return array */public function getCurWeek($curTime=null) { $curTime = $curTime ? : date('Y-m-d'); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 $week = date('w...

2018-07-13 11:00:52 644

原创 网页加载waiting(TTFB)时间过长的解决方案参考

环境:windows+thinkphp+apache+mysql问题描述:开发服务器上有个项目,总是时不时的会出现加载时间特别长的情况,有时4、5秒,有时11、12秒才能看到最终的页面,如图:解决过程:首先是百度,这么多年养成的习惯,没办法。百度上一搜,会出来各种关于“waiting(TTFB)时间过长”的解决方案,但一一看过之后,都无法解决我的问题。毕竟,每个人碰到的情...

2018-04-25 09:41:34 45275 3

原创 windows 下安装 MySQL5.7服务端(满满都是坑)

1. 从官网上下载mysql-5.7.20-winx64.zip安装包(Archive版),下载后,先解压到一个目录下。2. 配置my.ini解压后的目录中,是不包含my.ini文件的,需要我们手动在根目录下创建。内容如下:[mysql]#设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口

2017-11-25 10:05:49 4866

原创 requirejs集成百度编辑器ueditor

Ueditor版本:1.4.3.1关键点:1. 利用requirejs的shim加载editor.all.js并导出到全局变量2. 通过shim的deps加载 ueditor.config.js 和 ZeroClipboard.min.js3. 利用init回调方法将ZeroClipboard导出到window对象中,避免因为requirejs导致ZeroClipboard没有

2017-10-19 14:56:10 1914

原创 MySQL常用函数之日期时间函数

1. 获取当前日期和时间select now();2. 获取当期日期,不包括时间select current_date(),curdate();3. 获取当前时间,不包括日期select current_time(),curtime();4. 获取当前时间戳select unix_timestamp();5. 获取指定

2017-02-21 13:26:53 469

原创 linux下本地用户认证机制的实现(php版)

绝大多数情况下,一款Web应用系统的用户认证机制,最常见的实现方式,就是自定义用户管理功能,该模块是内嵌在web应用中,随web应用一起发布出去的。然而,对于一些特殊的应用,尤其是基于linux服务器的应用软件,它们会经常使用linux本地的用户认证机制,来实现用户的认证功能。下面就来看一下在平时的开发过程中如何使用linux的本地用户认证机制。首先,明白一点,linux系统中,真正的用户账号

2017-02-17 14:47:15 950

原创 ThinkPHP中坑爹的关联模型

ThinkPHP中的关联模型极大的方便了我们的数据处理,但是一不留神就会掉进它的坑里,今天下午有个同事就不幸中招了,故在此做个备忘,希望广大程序员们能跳过这个坑。涉及的关联模型:HAS_ONE,HAS_MANY,MANY_TO_MANY众所周知,在定义以上关联模型时,需要设置foreign_key属性,但是这个属性默认映射的字段是一个表的主键,在ThinkPHP中,主键的字

2016-09-26 17:38:01 2195 1

原创 基于swoole搭建聊天室程序

上一章节,我们搭建好了swoole的应用环境,地址: Linux下swoole环境搭建,接下来,我们基于swoole来手动创建一个简易的聊天室程序,用到的主要技术:swool的websocket,html5的WebSocket1. 创建websocket服务器swoole从1.7.9版本开始, 内置了websocket服务器功能,我们只需通过几行简单的PHP代码,就可以创建出一个异

2016-08-30 16:49:35 4884

原创 Linux下swoole环境搭建

传统php在传统的思维定式中,提起php,很多人都认为它就是一个搞网站的服务器端语言,事实上也确实如此,在网络通信,游戏,物联网,智能家居等领域,php就显得很不受欢迎了,但是swoole的出现,将彻底打破这个格局,它让php跳出了传统的web开发,在服务器网络编程领域大放光彩。一句话,swoole大大延伸了php的应用领域。什么是swooleswoole是一个高性能的异步网络通信引擎

2016-08-30 11:03:52 6333 2

原创 PHP7运行环境搭建(Windows7)

php7号称能直追facebook的HHVM,为了体验一把传说中的高性能,我特意在本地电脑上尝试着安装了php7,不得不承认,php7的运行环境相对于之前的php5来说还是有一点苛刻的。下面开始进入主题。一.环境准备1. windows7版本要求如果你用的是win7系统,必须确保你的系统上安装了SP1这个更新包,这个绝对是必要条件,如图:2.

2016-08-29 10:59:00 14879

原创 Eclipse安装NodeJS插件

1. 下载nodeclipse点击此处nodeclipse,将nodeclipse下载到本地。2. 从本地安装打开Eclipse,我们选择从本地安装nodeclipse,如图:注意截图上的勾选项,我们只需要安装其中几个就可以了,如图:另外,不要勾选"Contact all updates site duri

2016-08-26 17:44:58 4943

原创 Express开发框架的安装与配置

什么是Express借用官方的介绍,Express是一个基于Node.js平台的极简、灵活的web应用开发框架,它提供了一系列强大的特性,帮助你创建各种 Web和移动设备应用。如何安装请先确保你的机器上安装了Node.js,然后通过npm方式来安装,非常方便。安装步骤1. 安装 Express在cmd命令行下,输入npm install express

2016-08-26 15:29:18 3434 2

原创 Linux下Node.js的安装配置

1. 下载Node.js打开Node.js的官方网站http://nodejs.cn/download/,找到Linux版本的安装包,将其下载到本地的某个目录下。如图:注意:此处,我选择的是编译版本。2. 安装安装的过程很简单,其实就是一个解压的过程。首先,将node-v6.2.0-linux-x64.tar.gz软件包上传到服务器的某个目录下,如:

2016-08-26 11:32:22 443

memcached安装包(linux版rpm包)|linux-memcached.zip

memcached安装包(linux版rpm包)

2016-08-23

HTML5基础写法

html5基础语法,适合入门级,高手就不要来了

2013-05-20

ThinkPHP5集成GatewayWorker

在ThinkPHP5框架中整合GatewayWorker,欢迎下载,一起讨论! GatewayWorker版本:3.0

2018-08-15

GatewayWorker与ThinkPHP3整合

在ThinkPHP3框架中整合GatewayWorker,欢迎下载,一起讨论! GatewayWorker版本:3.0

2018-08-15

Redis软件包(windows版)

windows环境下的redis相关软件包,内含文件信息如下: Redis-x64-4.0.2.2.zip php_redis-4.0.2-7.2-ts-vc15-x64.zip php_redis-4.0.2-7.2-nts-vc15-x64.zip php_igbinary-2.0.7-7.2-ts-vc15-x64.zip php_igbinary-2.0.7-7.2-nts-vc15-x64.zip 请看清楚版本,根据需要下载!

2018-08-07

laravel中文开发文档

laravel中文开发文档,内含5.1到5.3三个版本 laravel中文开发文档,内含5.1到5.3三个版本

2017-11-28

html5+php 断点续传

利用html5和php实现的断点上传功能,亲测完全可以使用。

2017-04-25

swoole安装包(含依赖包)

swoole是一个高性能的异步网络通信引擎,为php提供了多线程功能,它可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域,它以php扩展的方式提供服务。

2016-08-30

php调试插件FirePHP类库

php调试插件FirePHP,服务端类库

2016-08-25

SugarNMSTool网络管理软件

SugarNMSTool是“北京智和信通技术有限公司”开发的图形化SNMP工具,可以免费使用。工具只有3M大小左右,便于携带,免安装,无数据库,可在Windows、Linux、Unix系统上快速运行。 工具由大型SugarNMS智能网管软件的精华功能精简而成。SugarNMSTool是网管员、SNMP设备开发调试、SNMP诊断的日常必备工具。

2016-07-23

eclipse远程开发插件RSE

安装方式请参考: http://blog.csdn.net/tdcqfyl/article/details/51984792

2016-07-23

eclipse打包插件fatjar

该插件适用于eclipse 4.4以下版本,安装方式请参考: http://blog.csdn.net/tdcqfyl/article/details/51984792

2016-07-23

eclipse的php开发插件pdt

安装方式,参见: http://blog.csdn.net/tdcqfyl/article/details/51984792

2016-07-23

zabbix插件grafana安装包

这个是grafana的离线安装包,rpm格式,安装命令: rpm -ivh --checksig --nopgp fontconfig-2.8.0-5.el6.x86_64.rpm freetype-2.3.11-15.el6_6.1.x86_64.rpm module-init-tools-3.9-25.el6.x86_64.rpm sysvinit-tools-2.87-6.dsf.el6.x86_64.rpm initscripts-9.03.49-1.el6.centos.2.x86_64.rpm grafana-2.5.0-1.x86_64.rpm

2016-07-23

发表博客时,无法上传图片

发表于 2018-08-06 最后回复 2018-08-06

空空如也

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

TA关注的人 TA的粉丝

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