Kaito's Blog

致力成为一枚silver bullet.

0%

最近做的东西比较纯粹、直接,比如写爬虫抓数据,写程序脚本等等。但是突然接需求和与需求人沟通的时候,发现存在各种问题,导致需求延期、沟通扯皮等等问题。其中也有自身原因,也有需求人的不足。现在分析下情况,记下来,且当教训来鞭策自己吧。

需求设计缺陷

从需求人手中拿到原型,接下来肯定是技术与需求人过一下,如果有问题,尽早提出并解决。当时犯的毛病就是,没有仔细分析原型,认为到了开发时遇到问题,再沟通解决也不晚,其实不然,秉着问题越早提出越好的原则,认真分析原型,发现问题,反馈需求人是很有必要的。否则到开发时,后果小则加功能项目延期,大则项目夭折都是非常痛苦的。分析如下:

1、原型代表着需求人直接想要得到的东西;
2、原型直接关系到技术实现方面可能会遇到的问题;
3、在前两者来看,一方面是需求,一方面是实现,如果沟通不好,很容易扯皮;
4、技术角度来看,可能开发人员更熟悉其细节,要权衡利弊,提前说明可能会遇到的问题;
阅读全文 »

不用多说,常用chrome的应该有所耳闻,键盘党更是相见恨晚,vimium是一款可以用键盘来控制浏览器的插件。

vimium快捷键

j:向下细微滚动窗口   k:向上细微滚动窗口
J:下一个标签页  K:上一个标签页
d:向下滚动半个屏幕   u:向上移动半个屏幕
gg:回到顶部
G:到达页面底部
H:后退   L: 前进
f:将当前网页上的所有可见链接/输入框分配一个快捷键。F:新窗口中打开页面
g+i:定位到输入框,多个按Tab键切换
x:关闭当前页面   X:恢复刚刚关闭的页面
o:相当于地址栏,可匹配历史记录、收藏夹并在当前窗口打开,或者直接打开一个网址或者搜索一个关键字,O:新窗口中打开
g+s:查看源代码
r:重新载入当前网页
t:创建新标签
gu:跳转到父页面
yy:拷贝当前页面的URL到剪贴板
yf:拷贝某一个URL到剪贴板
H:回退上一个历史页面(相当于浏览器中的向左箭头)
L:回到下一个历史页面(相当于浏览器的向右箭头)

以上只列出了几个常用的,更多快捷键参考:https://github.com/philc/vimium/blob/master/README.md

Python HTML 导出 PDF 用到 pdfkit + wkhtmltopdf

说明:

wkhtmltopdf主要用于HTML生成PDF

pdfkit是基于wkhtmltopdf的python封装,其最终还是调用wkhtmltopdf命令

1、下载并安装:

wkhtmltox-0.12.1_linux-centos6-amd64.rpm

2、安装pdfkit:

pip install pdfkit

3、使用,参考:https://pypi.python.org/pypi/pdfkit/0.4.1

import pdfkit

pdfkit.from_url('http://google.com', 'out.pdf')
pdfkit.from_file('test.html', 'out.pdf')
pdfkit.from_string('Hello!', 'out.pdf')
阅读全文 »

本文主要介绍了从最基础配置属于自己的VIM
主要分为:1、基础配置,2、插件管理。
可以参考我的vim配置

~/.vimrc基础配置

syntax on                   "语法高亮

" 加载插件
so ~/.vim/bundles.vim        在下面有说明

set fileencodings=utf-8,gbk
set backspace=indent,eol,start
set tabstop=4               "tab为4个空格
set number                  "显示行号
set hlsearch                "开启搜索高亮  
set incsearch               "输入搜索字符串的同时进行搜索  
"set ignorecase              "搜索时忽略大小写  
set ruler                   "开启光标位置提示
set cmdheight=1             "命令部分高度为1
"set autoindent              "自动缩进 
set showmatch               "显示匹配的括号 
"set smartindent             "智能缩进
set smarttab
set expandtab
set shiftwidth=4            " 设定 << 和 >> 命令移动时的宽度为 4
set softtabstop=4           " 使得按退格键时可以一次删掉 4 个空格
set laststatus=2            " 显示状态栏 (默认值为 1, 无法显示状态栏)

" Set leader,必须加上以下此项,后面插件会用到
let mapleader = "," 
let g:mapleader = "," 
阅读全文 »

MySQL元数据:

-- 查看可用的字符编码
SHOW character set;    |    DESC infomation_schema.character_sets;

-- 查看字符集校对规则
SHOW COLLATION LIKE 'gbk';    |    DESC infomation_schema.COLLATIONS;

-- 查看当前服务器|数据库的字符集和校对规则
SHOW variables LIKE 'character_set_server';    character_set_database
SHOW variables LIKE 'collation_server';        collation_database

-- 查看表的字符集和校对规则
SHOW CREATE TABLE test_tab;

-- 查看数据库模式
SELECT @@sql_mode;

-- 修改数据库模式
SET SESSION | GLOBAL sql_mode='STRICT_TRANS_TABLES';

-- 查看是否支持分区
SHOW VARIABLES LIKE 'partition';

分区4种类型:

- RANGE:适用于 1.需删除过期数据 2.经常查询包含分区键
- LIST:类似RANGE,枚举值列表分区
- HASH:平均分布 1.常规HASH(取模) 2.线性HASH(线性2的幂运算),只支持整型
- KEY:类似HASH,但不允许使用表达式,除整形外,支持其他类型
- COLUMNS:1. RANGE COLUMNS, 2. LIST COLUMNS
阅读全文 »