- 博客(41)
- 收藏
- 关注
原创 【Golang】GoFrame 框架处理json参数以常规方式接收
在 GoFrame 框架中可以使用 r.Request.Get() 接收参数,但application/json参数不能以这种方式接收。可以使用 r.Request.GetRaw() 接收,但返回值是[]byte类型需要进一步转化很不方便。于是我便想写一个公共处理让application/json参数可以像接收form-data参数一样接收。在util包下写一个公共方法 request.go...
2019-10-25 13:32:42
3382
原创 【Golang】Http请求返回结果处理
在 Go 中 Http 请求的返回结果为 *http.Response 类型,Response.Body 类型为 io.Reader,把请求结果转化为Map需要进行一些处理。写一个公共方法来进行Response转Map处理:package utilimport ( "encoding/json" "net/http" "io/ioutil")func Pars...
2019-10-25 13:32:03
26335
原创 【Golang】Websocket使用token
近期在用GoFrame框架使用websocket时根据官方给出的案例创建websocketgolang 服务端package mainimport ( "github.com/gogf/gf/frame/g" "github.com/gogf/gf/net/ghttp" "github.com/gogf/gf/os/gfile" "github.com/go...
2019-10-21 17:03:04
3189
原创 【php】PHPExcel导出数据加超链接
最近遇到一个导出图片到excel的需求,由于图片消耗大,效率低下,因此需求改为导出图片地址。然后就看了一下PHPExcel导出单元格数据加超链接,顺便做个笔记。链接到外部$sheet->setCellValue("A1", "点击跳转");$sheet->getCell('A1')->getHyperlink()->setUrl("http://blog.csdn...
2019-08-23 14:14:09
2713
原创 【Mysql】Mysql函数locate 、position 、instr 用法解析
我们都知道使用like进行mysql的模糊查询,但mysql的一些内置函数有和like同样的效果,还比like更高效。locateSELECT `column` from `table` where locate('keyword', `condition`)>0 positionSELECT `column` from `table` where position('k...
2019-08-07 14:11:01
1138
1
原创 【composer】发布自己的composer包
Composer 介绍Composer 是 PHP 用来管理依赖关系的工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 将这样为你解决问题:a) 你有一个项目依赖于若干个库。b) 其中一些库依赖于其他库。c) 你声明你所依赖的东西。d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。准备工作github账号...
2019-08-03 14:06:16
332
原创 【docker】使用docker安装宝塔面板
在使用docker安装宝塔面板之前请先确保服务器已经安装并开启了docker拉取centos基础镜像,用容器启动该基础镜像,直接在这个容器中部署1.拉取纯净系统镜像$ docker pull centos:7.2.15112.启动镜像,映射主机与容器内8888(宝塔面板)、888(PHPMYADMIN)端口$ docker run -d -it -p 8888:8888 -p 888:...
2019-08-03 11:52:52
12743
原创 【docker】给运行中的docker容器追加端口映射
在docker运行容器时需要指定映射端口,那如果刚开始没有考虑的那么周全,后期遇到需要添加的端口时该怎么办呢。网上常见的方法有两种:1.配置防火墙转发端口。2.把docker容器打包成镜像,然后以该镜像为基础新建一个容器。笔者比较中意第二种方法,然而就在准备实施的时候发现了更好用的第三种方法。(注:该方法不受官方保护,谨慎使用,后果自负)docker容器被创建后会在服务器上保存一个文件...
2019-08-02 10:10:01
15591
4
原创 【docker】php容器安装pdo_mysql扩展
用docker安装了php7.1.3,然而php中没有默认安装pdo_mysql扩展,那就来安装喽。进入php容器$ docker exec -it php /bin/bash执行安装$ docker-php-ext-install pdo pdo_mysql如果安装失败出现下面情况/usr/local/bin/docker-php-ext-enable: cannot...
2019-08-02 10:06:54
9117
原创 【docker】php容器安装gd库
由于php官方Docker镜像中没有集成GD库,需要自行安装GD库进入docker的php-fpm容器依次运行下列命令即可安装apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-devdocker-php-ext-inst...
2019-08-02 10:06:05
1941
原创 【docker】为docker下的php容器安装php-redis扩展
使用docker安装的PHPFPM容器没有Redis扩展,需要安装一下扩展。首先进入docker的PHPFPM容器$ docker exec -it myphpfpm /bin/bash依次执行下列命令$ curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz...
2019-08-02 10:01:34
1598
原创 【PHP】PHP实现服务器端允许客户端ajax跨域
本文主要讲述的是用PHP实现服务器端允许客户端ajax跨域。解决跨域的关键是设置 Access-Control-Allow-Origin。例如:客户端的域名是 api.xxx.com,而请求的域名是www.xxx.com如果直接使用ajax访问,会有以下错误:XMLHttpRequest cannot load http://www.xxx.com/server.php. No 'Acce...
2019-08-02 09:52:37
298
原创 【composer】composer init 命令详解
验证cmposer 是否安装成功$ composercomposer init 命令后续步骤详解$ composer initDo not run Composer as root/super user! See https://getcomposer.org/root for details Welcome to the Composer config generator...
2019-08-02 09:17:10
1709
原创 【代码片段】Yii2创建公共数据表模型
Yii框架使用数据表是必须要创建model的,但是有些表不会在业务中被修改,只会涉及到一些简单的查询,建立文件根绝略麻烦,于是就想创建一个公共的模型用于处理这种简单的数据表。应用目录/models/Any.phpnamespace app\models;use Yii;use yii\db\ActiveQuery;class Any extends ActiveQuery{ pr...
2019-08-02 09:14:37
354
原创 【Mysql】Mysql自定义排序(FIELD、INSTR、LOCATE)
在开发过程中难免会遇到自定义排序的情况,下面来说说mysql的三种自定义排序函数。FIELD先来看看参数,field函数的参数FIELD(str,str1,str2,str3,...)参数就是N个字符串,排序的字段名也是一个字符串。根据参数写SQL:select * from t_test order by FIELD(id,2,4,1,3)运行后结果是正确的,顺序:2,4,1,3...
2019-08-02 09:08:31
1434
原创 【mysql】GROUP BY语句与HAVING语句的使用
一、GROUP BYGROUP BY语句用来与聚合函数(aggregate functions such as COUNT, SUM, AVG, MIN, or MAX.)联合使用来得到一个或多个列的结果集。语法如下:SELECT column1, ... column_n, aggregate_function(expression) FROM tables ...
2019-08-02 08:44:10
759
原创 windows查杀80端口占用进程
1、根据端口号“80”查找进程号netstat -ano|findstr "80"TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 77962、根据进程号“7796”查找进程名tasklist|findstr 7796Java.exe 7796 Cons...
2019-08-02 08:42:35
4183
2
原创 【小程序】微信小程序下拉刷新和上拉加载
在app.json中配置全局下拉刷新:"window": { "enablePullDownRefresh": false}在页面json文件中配置:"enablePullDownRefresh": true下拉刷新使用在页面中的 onPullDownRefresh 方法中(没有可自己添加),用户下拉后触发该方法。触发后不能自动回弹,需要调用结束下拉方法:onPullDo...
2019-08-02 08:38:15
431
原创 【vue】vue中使用jquery和bootstrap
在阅读本文之前,应该掌握了vue项目的搭建。命令执行请先切换到项目目录。引入jquery安装jquery(在package.json中查看是否安装,如果已安装可忽略此步骤)$ npm install jquery --save-dev在 build/webpack.base.conf.js 中添加如下内容:const webpack = require('webpack')...
2019-08-02 08:37:03
868
原创 【代码片段】vue中使用jquery发送ajax请求封装
首先确保你的vue项目中已经安装了jquery,如果没有请先安装。src/request/request.js :import $ from "jquery"var app_debug = true;if (app_debug == true) { var HTTP_HOST = "http://开发环境地址";} else { var HTTP_HOST = "htt...
2019-08-02 08:36:14
3929
原创 【代码片段】vue中使用axios发送请求封装
首先确保你的vue项目中已经安装了axios,如果没有请先安装。$ npm install axios -Ssrc/request/request.js :import Qs from 'qs';import axios from 'axios';axios.defaults.timeout = 30000;axios.defaults.baseURL = 'http://地址';...
2019-08-02 08:35:39
466
原创 【代码片段】BootStrap Table显示行号分页后依然递增
首先是常规的行号显示(不会分页后递增){ title: '序号', field: '', formatter: function (value, row, index) { return index+1; } } 需要分页后递增的,要获取当前分页的页码和每页显示数量,自己计算columns: [ { ...
2019-08-01 16:47:17
213
原创 【vue】vue组件之间传值
父组件向子组件传值在 Vue 中,可以使用 props 向子组件传递数据。父组件部分:<template> <div id="parent"> <v-child :msg="parentMsg"></v-child> </div></template><script> ...
2019-08-01 16:45:30
130
原创 【vue】vue组件间方法调用
父组件调用子组件的方法在子组件中加上ref即可通过this.$refs.ref.method调用子组件的方法父组件部分:<template> <div id="parent"> <v-child ref="vchild"></v-child> </div></template><...
2019-08-01 16:44:14
9867
转载 【python】使用 Requests 发送网络请求
安装 Requests使用命令安装requests$ pip install requests发送请求使用Requests发送请求要先导入Requests>>> import requests发送HTTP请求>>> response = requests.get('https://api.github.com/events')>>...
2019-08-01 16:42:12
2646
原创 【python】定时任务框架APScheduler使用
简介APScheduler基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。基于这些功能,我们可以很方便的实现一个python定时任务系统。安装利用pip进行安装$ pip install apscheduler源码安装(https://pypi.pytho...
2019-08-01 16:40:41
786
原创 【代码片段】使用python爬取豆瓣电影TOP250
使用python爬取豆瓣电影TOP250# 爬取豆瓣电影TOP250# -*- coding: utf-8 -*-# @Author: lovenLiu# @Date: 2019-04-03 09:03:09# @Last Modified by: lovenLiu# @Last Modified time: 2019-04-03 10:59:39import osimp...
2019-08-01 15:40:59
917
原创 【代码片段】python 多进程编程
代码import timefrom multiprocessing import Processfrom multiprocessing import Pooldef task(idx): print("第%s次执行:%s" % (idx, time.strftime("%H:%M:%S"))) time.sleep(2)if __name__ == '__main_...
2019-08-01 15:25:51
89
原创 【python】使用python操作redis
使用python操作redis介绍redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。安装redis$ pip install redis链接import redisr = redis.Redis(h...
2019-08-01 15:20:32
126
原创 【Python】Redis 队列实现
Redis 队列实现命令说明rpush : 往列表右侧推入数据blpop : 客户端阻塞直到队列有值输出简单队列实现client.phpimport timeimport redisimport randomfrom apscheduler.schedulers.blocking import BlockingSchedulerpool = redis.ConnectionP...
2019-08-01 15:17:57
553
原创 【代码片段】用python进行接口测试
用python进行接口测试前言最近公司搞了个抽奖的活动,开发完成之后需要测试一下中奖率是否准确。本来可以用Jmeter来测试,但我是一名开发人员并没有安装Jmeter,所以就想着写个python脚本测试。考虑到后续可能还会有类似的测试需求就弄了个公共的。代码import requestsdata = { "times": 100, # 请求次数 "method": "P...
2019-08-01 15:16:16
245
原创 【代码片段】利用python多进程进行接口并发测试
【代码片段】利用python多进程进行接口并发测试前言代码前言最近公司服务类的项目有个测试并发的需求,测试的目的并非是服务器能抗住多大的并发,而是测试服务在并发请求下是否是阻塞的。比如单个并发的执行时间大搞是两秒的话,那么10个并发的总执行时间是所有请求执行时间的总和还是最大请求时间。代码import timeimport requestsfrom multiprocessing im...
2019-08-01 14:46:29
3088
2
原创 关于php 类 方法重定义的问题
之前在写项目时把父类的成员方法在子类中重新定义了一下,程序没有任何问题。后来升级了一下php版本【从5.3.10升到了5.5.12】,升级后发现重新定义过的方法全部报错了,报错如下 Declaration of AdminModel::findAll() should be compatible with CActiveRecord::findAll($condition = '', $pa
2016-01-29 15:58:18
949
原创 Yii判断是否是ajax请求
1中 Yii::app()->request->isAjaxRequest2中 Yii::$app->request->isAjax
2016-01-28 17:27:37
1754
原创 jquery mTime 手机日期选择插件修改
mTimeV1.1手机日期选择插件修改使用两位数年数,从2000年开始,转化为两位年数,是哪一年就显示第几行这样就不满足需要用到2000年以前年份的需求了修改mTime/js/date.js如下line15:var initY=parseInt((nowdate.getYear()+"").substr(1,2));改为:var initY=par...
2016-01-28 10:05:05
1031
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人