11月
11
场景
数据存储在mysql数据库中。在一个离散的一段时间内(开始时间到结束时间),求出每隔一个小时,用户消费的金币。
这时,就需要将这一段时间以小时来分割了,然后groupby。
该怎么做呢。
实现
时间通常是 datetime 或 timestamp 。通过 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月
09
拥有自己的服务器,这个时候从本地上传文件到服务器或从服务器下载文件到本地就很必要了。你可以用ftp工具,但这样有的时候不方便。因为对服务器的使用和操作都是在shell下进行。通常我们通过xshell去操控自己的服务器。rz,sz工具就是一个很好的工具。通过命令rz
上传文件到服务器,sz
下载服务器文件到本地。秒秒钟,在命令里搞定。
安装rzsz
yum install -y lrzsz
使用
上传。输入命令rz
,就会弹出选择窗口。选择所要上传的文件。多文件通常以.zip
的方式上传,方便解压。
rz
下载。进入到对应目录,sz
文件名,也会弹出选择窗口,选择适当的位置,确定,就可以了。
cd xxx
sz xxxxx
记住,该命令仅在 xshell等这样的工具下才可以。
11月
06
- 下载 igbinary
http://windows.php.net/downloads/pecl/releases/igbinary/1.2.1/
根据服务器选择合适的版本。如果是iis,选择 Non Thread Safe (NTS)。
-
下载 redis
http://pecl.php.net/package/redis/2.2.7/windows
-
上边两步下载的包,解压,将dll文件复制的php的ext目录下。在php.ini中开启php-redis,如下。
;php_redis
extension=php_igbinary.dll
extension=php_redis.dll
php 5.6下载
http://windows.php.net/download/
参考
http://www.cnblogs.com/myright/articles/5408276.html
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
打开。
方法二
- 下载laravel安装包。
composer global require "laravel/installer=~1.1"
- 将
~/.composer/vendor/bin
路径添加到系统环境变量中, 这样 laravel 执行文件就会存在你的系统。
-
创建项目。
// XXX 为项目名
laravel new XXX
参考:https://docs.golaravel.com/docs/5.2/installation/
11月
06
mac或linux下安装composer很方便。在win下稍微麻烦一点。想要使用composer,还是得去安装。
- 下载 Composer-Setup.exe,然后安装。安装的时候,会提示选择 php.exe 的位置,选择好即可。然后一步一步的安装。
-
在 php 目录下,打开 php.ini 文件,开启openssl扩展。去掉 extension=php_openssl.dll
前面的分号;
。
-
设置环境变量,将php目录添加到系统环境变量中。计算机->属性->更改设置->高级->环境变量->系统变量->Path->编辑
。
-
下载 composer.phar,将其放到 php 目录下。然后,在php目录下新建一个文件 composer.cmd,内容写成:**@php "%~dp0composer.phar" %* ** 保存。运行这个文件,然后打开cmd运行:composer。
-
设置全局镜像。
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
11月
06
现象
android手机打开html网页,点击按钮时,down
状态会出现阴影。
处理
给这些按钮加一个样式即可。如下:
.no-shadow{
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
}
10月
17
在用webpack打包的时候,所打包的文件,会经常使用到 module.exports,exports,export和export default,import与require 这些语法。看起来眼花缭乱,其实,都是有迹可循的。
基本问题
- module.exports 和 exports 是属于 CommonJS 模块规范。
-
export 和 export default 是属于 es6 语法。
-
同样 import 和 require 分别属于 es6 和 CommonJS。
-
module.exports 和 exports、export 和 export default 都是导出模块。 import 和 require 则是导入模块。
module.exports 和 exports 的区别与联系
Node应用由模块组成,采用CommonJS模块规范。根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。
10月
17
前边
es6 语法使用也越来越多了,本来已经落后了,再不学习就更落后落后了。
es6模块设计思想更是突出。es6模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。es6模块加载是静态加载,使得静态分析成为可能。有了它,就能进一步拓宽 JavaScript 的语法,比如引入宏(macro)和类型检验(type system)这些只能靠静态分析实现的功能。
es6模块自动采用严格模式,不管你有没有在模块头部加上"use strict";。
既然是模块,模块功能怎么构成呢。模块功能有 export 和 import 两部分构成。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。
export
一个模块,就是一个独立的文件。通过export,将内部的变量,对象,方法,类输出给外部。并且export在顶级使用,如果在块内部使用就会报错。
export有以下一些规定。
- export 必须在顶级使用。
-
export命令规定的是对外的接口。必须用{}包裹起来,或直接 export。
-
export 输出接口与外是动态绑定的。 无论改变哪个,该数据都会改变。
-
既然export是输出接口,就有一个接受接口。接受用import,也需要要用{}包裹起来。
-
一个模块中,可以有多个 export。
-
export可以使用 as 关键字重命名。
9月
21
vue
https://cn.vuejs.org/
https://www.awesomes.cn/
http://element.eleme.io/#/zh-CN/
https://www.iviewui.com/
https://n3-components.github.io/N3-components/component.html
bootstrap + vue
http://yuche.github.io/vue-strap/
https://bootstrap-vue.js.org/
https://uiv.wxsm.space/getting-started/
react
https://ant.design/index-cn
css study
http://cssreference.io/
js effects
https://threejs.org/
https://github.com/iview/iview-doc
https://threejs.org/examples/?q=waves#canvas_particles_waves
https://segmentfault.com/q/1010000010716445
9月
04
很多框架,网站,实现的模态窗口体验不是那么完美。不过,知乎的模态窗口却是很完美的。比如登录。知乎的模态窗口实现了以下几点:
- 弹出模态窗口后。所有滚动条都隐藏(如果有的话),并且鼠标滑轮,无论怎么滚动,被半透明遮挡在下边的内容岿然不动。
-
弹出模态窗口后。窗口在水平和垂直方向是都是居中的。
-
关闭模态窗口后。滚动条功能恢复。
Demo: https://api.qiubg.com/demo/vnmodal
gitHub: https://github.com/vini123/vnmodal