Write the Code. Change the World.

分类目录
11月 11

场景

数据存储在mysql数据库中。在一个离散的一段时间内(开始时间到结束时间),求出每隔一个小时,用户消费的金币。

这时,就需要将这一段时间以小时来分割了,然后groupby。

该怎么做呢。

实现

时间通常是 datetimetimestamp 。通过 DATE_FORMAT,我们可以对时间进行分段。

比如:

%H 0-23小时
%S 00-59秒

所以可以这样:

select sum(coin), DATE_FORMAT(log_time, "%H") as h from gift_tb where log_time >= '2017-11-10 00:00:01' group by h

看起来是可以了。可是如果时间总长度大于1天呢。或是我需要30分钟来分割,10分钟来分割。这样显然是不行的。

好吧,路总是要人走的。

计算的根本还是时间,那不如将时间稍微处理下。

公式: floor( (记录时间 - 时间段的开始时间)/ (60 * 60) ) as h

于是就有了:

select sum(coin), floor((UNIX_TIMESTAMP(log_time) - 1510243200)/(60 * 60)) as h from gift_tb where log_time >= '2017-11-10 00:00:01' group by h

参考

http://www.w3school.com.cn/sql/func_date_format.asp

http://blog.csdn.net/zhuyu_deng/article/details/43409547

11月 06

方法一

使用 composer 根据需要安装具体版本的laravel

// php 5.6.4以下版本最高安装laravel5.2
composer create-project --prefer-dist laravel/laravel blog "5.2.*"

blog 为项目名,文件都被安装在blog目录下

如果安装完成后,发现没有安装vendor。请不要担心,请将 php.ini 里面的mbstring extension=php_mbstring.dll 打开。

方法二

  1. 下载laravel安装包。
composer global require "laravel/installer=~1.1"
  1. ~/.composer/vendor/bin 路径添加到系统环境变量中, 这样 laravel 执行文件就会存在你的系统。

  2. 创建项目。

// XXX 为项目名
laravel new XXX

参考:https://docs.golaravel.com/docs/5.2/installation/

11月 06

mac或linux下安装composer很方便。在win下稍微麻烦一点。想要使用composer,还是得去安装。

  1. 下载 Composer-Setup.exe,然后安装。安装的时候,会提示选择 php.exe 的位置,选择好即可。然后一步一步的安装。

  2. php 目录下,打开 php.ini 文件,开启openssl扩展。去掉 extension=php_openssl.dll 前面的分号;

  3. 设置环境变量,将php目录添加到系统环境变量中。计算机->属性->更改设置->高级->环境变量->系统变量->Path->编辑

  4. 下载 composer.phar,将其放到 php 目录下。然后,在php目录下新建一个文件 composer.cmd,内容写成:**@php "%~dp0composer.phar" %* ** 保存。运行这个文件,然后打开cmd运行:composer。

  5. 设置全局镜像。

composer config -g repo.packagist composer https://packagist.phpcomposer.com

// 或

composer config -g repo.packagist composer https://packagist.laravel-china.org

镜像介绍

https://pkg.phpcomposer.com/

https://laravel-china.org/composer

7月 22

前言

网站加入加载进度条,是件很酷的事情。NProgress.js 就是一个不错的插件。

官网地址:http://ricostacruz.com/nprogress/

CDN: http://www.bootcdn.cn/nprogress/

使用

NProgress 依赖于 jquery1.8 以上的版本。所以,在使用之前,先引入jquery。NProgress有自己的样式文件,也要引入进来。所以,在使用之前,要引入对应的css, js。如:

<link href="//cdn.bootcss.com/nprogress/0.2.0/nprogress.min.css" rel="stylesheet">

<script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

<script src="//cdn.bootcss.com/nprogress/0.2.0/nprogress.min.js"></script>

继续阅读

7月 10

回调通知是指客户端在上传时指定服务端在处理完上传请求后,应该通知某个特定服务器,在该服务器确认接收了该回调后才将所有结果返回给客户端。

因为加入了回调请求和响应的过程,相比简单上传,使用回调通知机制一般会导致客户端花费更多的等待时间。

开发者可以要求七牛云存储在某文件上传完成后向特定的 URL 发起一个回调请求。七牛云存储会将该回调的响应内容作为文件上传响应的一部分一并返回给客户端。回调的流程如下:

image

继续阅读

7月 07

前边

业务流程:

客户端在上传资源到七牛云存储之前要先从业务服务器获取一个有效的上传凭证,因此需要先后和两个服务端打交道。


继续阅读

7月 05

前言

只做一件事情,可以做的很精致。验证码,只是一个网站很小很小的一部分,有人有公司却做的体验非常棒。下边是网易易盾和极验两加公司做的验证码产品demo的链接:

网易易盾: http://dun.163.com/trial/jigsaw
极验:http://www.geetest.com/exp.html

极验提供了两种验证方式(拖动和点击),四种展现形式(float、popup、custom、bind),二次验证的服务以及多平台。以保障良好的安全以及体验。不过,按钮不能任意定义高度。免费产品也不能自定义图片。
继续阅读

7月 01

下载安装mariadb

https://downloads.mariadb.org/

找到最新的(或你所需的版本),然后根据自己的系统选择下载。这里下载是最新的稳定版本:mariadb-10.2.6-winx64 。下载链接出来之前,需要填个表单。提交表单后,就开始下载了。

运行下载文件,选择安装目录到 D:/service/wnmp/mariadb 下。下一步,下一步,直到安装完成。中间需要打钩就打钩。
继续阅读