自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木鱼大叔的技术博客

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

  • 博客(91)
  • 资源 (14)
  • 收藏
  • 关注

原创 FastAPI使用攻略(路由自动注册、全局依赖、跨域)

学习完本节内容,我们至少可以 get 到以下技能:① 如何创建一个 FastAPI 应用② 如何启动一个 uvicorn 服务器③ 如何注册路由(自动注册)④ 如何注入全局依赖(类似于拦截器)并排除例外情况⑤如何处理跨域问题⑥如何接收请求参数,并对请求参数进行验证⑦如何自定义异常并对其进行处理

2022-02-26 20:34:15 1786

原创 php项目接入xxl-job调度系统

1.部署xxl-job调度中心此处略,请自行百度。下面重点介绍如何将php项目接入xxl-job调度。2. 整合xxl-job调度系统核心是使用xxl-job的GLUE运行模式,通过一段php代码片段,调用远程的http资源。2.1 创建执行器项目参考执行器示例项目, xxl-job-executor-samples/xxl-job-executor-sample-springboot,修改下其中的 application.properties 文件,内容如下:# 执行器..

2021-12-14 16:04:24 1008

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

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

2018-09-06 20:36:46 10647 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 7093 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 47704 26

原创 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 2348 1

原创 PySimpleGUI小试牛刀之Tomcat项目部署工具

​之前写过一篇python 自动化部署项目,实现了Tomcat项目的初级自动化部署功能,但是它有一个不足,只支持单个项目部署,也就是说,项目被高度定制化了,所有的配置信息都被固化在了程序里,无法扩展。所以今天,我们给它来个小小的升级,让这个工具以界面图形化的方式运行,在这个界面上,支持对要部署的Tomcat项目进行管理。......

2022-08-01 14:02:03 791 1

原创 shell 自动化运维

项目环境Linux + Java+ Jar包shell 源码#!/bin/shport=9999root_dir="/home/app"jar_name="abchina-bank-0.0.1-SNAPSHOT"if [ ! -f "${root_dir}/release/${jar_name}.jar" ];then echo "新jar包不存在,部署终止!" exit 1fi# 备份jar包echo "正在备份项目,请稍候。。。"today=$(date..

2022-04-21 10:17:48 1085

原创 python 自动化部署项目

python 自动化部署项目

2022-04-21 10:08:39 2581

原创 Spyder,PyCharm 和 Jupyter 如何选择

Spyder适合做数据处理工作 ,使用者通常为数据工程师。PyCharm适合构建大型的工程类项目,使用者通常为开发工程师。Jupyter Lab适合科研教学和代码片段的讲解,使用者通常为科研人员和讲师。...

2022-02-16 16:24:44 4693

原创 python数字猜大小游戏

玩法:系统或人工随机生成一个数字(范围1~100),这个数字可以公布给现场所有人,但是猜的人除外。代码部分import randomprint("数字猜大小游戏!\n玩法:随机生成一个数字(范围1~100),这个数字可以公布给现场所有人,但是猜的人除外。")result = random.randint(1,100)print("随机数字:%d" %result)num = 0score = 0score_dict = [100,90,80,70,60,50,40]while T

2022-02-15 16:20:16 7405

原创 python之禅中英版

英文原版The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Specia

2022-02-15 15:20:28 486

原创 HTTP1.0, HTTP1.1,HTTP2.0 区别及如何升级

一、HTTP1.0特点:无状态、短连接HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器处理完成后立即断开TCP连接(短连接),服务器不跟踪每个客户端也不记录过去的请求(无状态)。二、HTTP1.1特点:长连接、请求管道化、缓存处理、Host字段、断点传输① 长连接HTTP1.1增加了一个Connection字段,通过设置Keep-Alive可以保持HTTP连接不断开,避免了每次客户端与服务器请求都要重复建立释放建立TCP.

2022-02-14 15:00:11 4553

原创 百度地图API的两种加载方式

1. 同步加载直接在页面中使用script标签,引入api地址即可,如下:<script src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥" type="text/javascript"></script>2. 异步加载(推荐)引入api地址的时候添加callback回调参数,当脚本加载完成后callback函数会被立刻调用,如下:function loadBaiDuScript() { ...

2022-01-19 15:32:41 2444

原创 golang 知识点汇总

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

2020-11-24 14:57:40 620

原创 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 2297 1

原创 跟我学,一步步教你搭建文档自动化工具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 2615 4

原创 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 4999 2

原创 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 413

原创 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 599

原创 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 2103

原创 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 310

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

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

2020-02-27 14:33:19 313

原创 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 628

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

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

2019-05-09 16:18:59 674

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

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

2018-09-20 16:45:22 426

原创 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 1815

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

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

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

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

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

2018-08-16 17:33:35 9650 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 5809 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 4417 6

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

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

2018-08-07 15:06:33 11726

原创 QueryList异步抓取网页数据

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

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

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

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

2018-08-03 09:08:57 247

原创 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 2085 1

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

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

2018-08-01 09:57:48 942

原创 html5本地存储类库

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

2018-07-24 17:06:52 302

原创 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 866

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

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

2018-04-25 09:41:34 63717 7

原创 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 5540

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

memcached安装包(linux版rpm包)

memcached安装包(linux版rpm包)

2016-08-23

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

HTML5基础写法

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

2013-05-20

空空如也

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

TA关注的人

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