自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(291)
  • 资源 (20)
  • 收藏
  • 关注

转载 Shell整理(持续更新中)

curl用法在单行命令里设置环境变量set查看磁盘信息(型号, 容量等)查看磁盘是否SSDsshfs挂载/卸载line-by-line方式合并2个文件exec, source, fork的区别(参考: Shell十三问)获取当前TTY的名字/限制脚本仅能在TTY中执行curl用法安装最新版curlrpm -Uvh http://nervion.us....

2016-06-06 19:28:28 1843

原创 Python中, datetime, date, timestatmp, string互相转换

date -> datetimetimestamp -> datetimestring -> datetimedatetime -> datedatetime -> timestampdatetime -> stringtimestampdate -> datetimefrom datetime import date...

2018-06-12 12:06:57 1015

原创 openTSDB/Bosun报警语法 介绍/学习笔记

openTSDB表达式概述/api/query, 内含rate options, filtersFiltersMetric Query String FormatopenTSDB中文版Bosun表达式 - 英文运算优先级Bosun查询举例Bosun常用函数openTSDB表达式概述/api/query, 内含rate options, filters...

2018-03-06 10:35:26 7461

翻译 实用Unicode

翻译: https://nedbatchelder.com/text/unipain.html这是我在PyCon 2012做的一次分享。你看在这个页面看到演示稿和描述文字,也可以用浏览器打开分享稿,也可以直接看这个分享视频。点击演示稿会调到全屏模式。 因为里面使用了Symbola字体,使用你需要在哪些特殊符号出现之前就先下载这个字体。大家好,我是Ned Batchelder。我写Python已经1

2017-11-08 20:50:37 1019

原创 使用metaclass验证子类

实验代码# coding: utf-8# Python2中定义Metaclass, 该Metaclass要继承自type, 实现__new__方法class MetaCls(type): def __new__(meta, name, bases, class_dict): print (meta, name, bases, class_dict) if c

2017-10-22 14:22:19 631

原创 How to monkeypatch a staticmethod/classmethod/instancemethod?

0 - 初始状态1 - 修改staticmethod2 - 修改classmethod3 - 修改instancemethod3-1 - 全部实例3-2 - 单个实例最近在用Mock的mock.patch替换实例方法, 感觉很神奇, 加上之前用过JS, 知道JS中可以为实例方法bind新的实例, 所以猜测在Pyhon这门脚本语言中也应该有类似的机制, 可以让我们修改静态方法(static

2017-10-09 15:12:08 990

转载 MySQL查看数据库/表所占磁盘空间大小

查询所有数据库占用磁盘空间大小select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_sizefrom information_schema.tables

2017-09-30 15:52:36 1990

原创 [super][继承][面向对象][构造函数][多重继承]

super()内置函数父类的构造函数必须手动调用, 调用方式有2种: 1. MyParentClass.__init__(xxx) 2. super(MyClass, self).__init__(xxx) 区别在于: 1比较直观, 在涉及多重继承时, 可以手动控制父类构造函数的调用顺序, 需要手动为每个父类调用一次构造函数; 2比较灵活, 动态查找父类, 在涉及多重继承时, 会自动调用各个

2017-06-20 17:31:41 813

原创 Python中, 使用setup.py和console_scripts参数创建安装包和shell命令

项目目录结构setup_test├── my_project│   ├── __init__.py│   └── __main__.py└── setup.py文件内容 - __setup__.pyfrom setuptools import setupsetup(name='my_project', version='0.1.0', packages=['my_pr

2017-06-12 18:15:21 6901

原创 一键设置L2TP脚本-Ubuntu14.04LTS

亲测在Vultr和UltraVPS的Ubuntu 14.04 LTS成功搭建L2TP的VPN。本方法使用Linux自带的账户认证作为L2TP的认证。用户名默认为vpn_user,密码在脚本执行过程中,由执行者手动设定密码;PSK为psk,开机自动启动。本脚本必须使用root账户执行。#!/bin/bash# Referring from https://raymii.org/s/tutorials

2017-05-02 16:42:24 2936

翻译 Shell中,实现单一实例(译)

代码#!/bin/bash## Copyright (C) 2009 Przemyslaw Pawelczyk <[email protected]>#### This script is licensed under the terms of the MIT license.## https://opensource.org/licenses/MIT## Lockable script

2017-03-20 16:05:20 810

原创 Shell中, eval的用法

简介eval是Shell内置的命令。基本用法如下:eval [arguments]主要功能是读入arguments并执行之。arguments的退出码(Exit Code)会被当做eval的退出码。如果没有arguments,则退出码是0。在平时的使用中,我们一般会用到eval的2个特性。两次扫描参数cat >parse_twice.sh<<EOF""#!/bin/bashx=100y=xe

2017-03-17 16:35:23 9785

翻译 Shell中的算术运算(译)

算术运算尽管Shell中的变量被缺省地看做是string类型,而非number,但是Shell本身仍然支持算术运算。 主要有以下5种方式。1. declare$ n=6/3$ echo $n6/3$ declare -i n #将n声明为一个整数(integer)$ n=6/3$ echo $n22. expr$ z=5$ z=`expr $z+1` # 加号(+)两边要有空格

2017-03-16 22:38:05 1197

原创 Shell中, 退出整个脚本

常规做法cat >test.sh<<EOF''#!/bin/bashexit_script(){ exit 1}echo "before exit"exit_scriptecho "after exit"EOFchmod a+x test.sh./test.shecho $?# 输出before exit1可以看到直接使用exit可以退出脚本,并且可以将错误码作为参数传递。

2017-03-16 16:03:26 19818

原创 Shell中, 为标准错误输出添加时间戳

示例#! /bin/bashexec 2> >(while read line; do echo "[$(date "+%Y-%m-%d %H:%M:%S")] $line"; done)ls /not/exist/path运行chmod u+x stderr_ts.sh./stderr_ts.sh输出[2017-03-15 18:33:33] ls: /not/exist/path: No

2017-03-16 14:15:29 3884 1

原创 Shell中, 快速创建清空文件内容

常规做法echo -n > /path/to/file 注意使用-n参数,这样可以去掉末尾的换行符。更简洁的做法:>/path/to/file:(冒号)是Bourne Shell内置命令,完整用法是下面这样子的:: [arguments]它除了展开arguments和重定向(redirection)以外,不做任何事情。另外,它返回的状态码是0,所以可以用来实现死循环:while :do

2017-03-16 14:15:01 1591

原创 Shell中, 内嵌文档和内嵌字符串的使用

内嵌文档(Here Documents)内嵌文档(Here Documents)的完整用法如下:[n]<<[-]word here-documentdelimiter常规用法cat <<EOFa text linea command substitution: `pwd`a parameter expansion: $$EOF# 输出a text linea comma

2017-03-16 14:14:26 1128

原创 [exec][source][fork]区别

exec fork source shell bash 区别

2017-03-06 17:40:41 744

原创 AliSQL源码编译

CentOS AliSQL 源码 编译 安装 配置

2017-03-02 16:24:57 1031

原创 [MySQL][Gap Lock][Next-Key Lock]浅析

MySQL GapLock NextKeyLock

2017-02-24 17:42:09 2089

转载 [Shell][find]用法

Linux Shell find 用法 详解 举例

2017-02-20 16:15:33 761

转载 Nginx中的正则表达式

Nginx 正则表达式

2017-02-20 15:22:56 794

原创 ES6中, Promise/then的用法, 躲坑秘籍

知识点Promise.then()的返回值是一个新的PromisePromise.then()需要2个参数(均可选), 第1个参数用于处理resolve, 第2个参数用于处理reject无论resolve*被处理*还是reject*被处理*, Promise.then()都会*默认*返回一个新的Promise实例, 且该Promise实例是*resolved*状态的; 当然了, 这种默认的行为

2017-01-05 15:43:09 5099

原创 CentOS Linux中,使用sendEmail发送163邮箱的邮件

代码wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gztar -xzvf sendEmail-v1.56.tar.gzcd sendEmail-v1.56./sendEmail \ -f [email protected] \ -t [email protected]

2016-07-13 16:24:16 3714

原创 CentOS6中,安装PHP7

最近在安装Zabbix管理工具的时候遇到了PHP安装的问题, 折腾了一阵, 总算搞定, 期间查了一些资料, 分享出来, 供大家参考, 少走些弯路.更新软件源[1]wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpmwget http://rpms.remirepo.net/enterprise/re

2016-07-11 20:36:13 835

原创 CentOS中,使用PHP-FPM+Nginx运行PHP网站

安装nginx和php-fpmyum install nginx php-fpm为php-fpm增加反向代理cat >/etc/nginx/conf.d/my_php.conf<<EOFserver {  listen 80;  server_name my_php.lslxdx.com my_php.lslxdx.com;  root /var/www/html/my_php;  loca

2016-07-11 15:43:14 911

原创 Node.js中,使用cluster创建子进程

'use strict';var cluster = require('cluster');var numCPUs = require('os').cpus().length;// 每个fork出来的子进程, 都会从头执行该js文件console.log('Begin to run js file. pid = ' + process.pid);if(cluster.isMaster){ c

2016-06-24 19:54:10 836

原创 Linux中,使用cron,按照日期日志,并且删除n天以前的日志归档

代码cat > my_daily.sh<<EOF#!/bin/bashdir=/path/to/logs;file=my.log;date_file=$file-$(date +%Y%m%d); # 形如my.log-20160620# 删除20天前的日志归档find $dir -mtime +20 -name "$file-*.tar.gz" -exec rm -rf {} \;# 归档当

2016-06-20 16:43:27 1655

原创 Node.js中, 使用Q.ninvoke封装对象方法为promise

var Q = require('q');function _o(msg){console.log(msg);}function main(){ var obj1 = { var1: 1, func1: function(callback){_o('obj1.func1, var1 = ' + this.var1); callback(null, this.var1);} }

2016-06-15 11:52:07 1128

原创 javascript中,自动类型转换总结

类型不同的2个变量做加法(+)运算时,会发生自动类型转换:如果2个变量是number, boolean, null, undefined中不同的2种类型,那么计算结果为number,其中null被当做0,undefined被当做NaN如果2个变量至少有1个是string或object类型,那么计算结果为string,其中null被当做’null’,undefined被当做’undefined’

2016-06-15 10:45:44 729

原创 Nodejs中,使用nock做http请求的mock

nock 可以拦截nodejs向外发送的HTTP请求,并模拟HTTP服务器响应,返回特定的结果,这对于接口测试非常方便。// 例子更改自: // https://github.com/node-nock/nock#use// 和// https://github.com/node-nock/nock#repeat-response-n-timesvar nock = require('nock

2016-06-14 19:10:09 3452

原创 javascript中,使用正则表达式实现'字符串截断翻页'

const TEMPLATE_NTH_OCCURANCE = '(?:(?:[^d]+d){n_1,}?)((?:[^d]+d){0,ps})';// !!!使用之前,务必bind({pageSize: xxx<integer>, pageNo: xxx<integer>})!!!function truncate(str, delimiterChar){ var pageSize = Ma

2016-06-06 23:06:59 624

原创 Node.js中,获取req请求的原始IP

Node.js代码var express = require('express');var app = express();var http = require('http');var server = http.createServer(app);app.set('trust proxy', true);// 设置以后,req.ips是ip数组;如果未经过代理,则为[]. 若不设置,则req

2016-04-08 20:45:11 7400

原创 JavaScript中,for, while, if, switch用到的后缀递减(a--)运算

环境: Chrome 版本 50.0.2661.18 dev (64-bit)forfor(a=2; a--; ){console.log(a);}// output:// 1// 0whilea=2;while(a--){console.log(a);}// output:// 1// 0ifa = 2;if(a--) console.log(a);// output:// 1

2016-03-30 14:32:25 922

原创 Node.js中,q在链式调用和异步调用中起到的作用

Node.js中,q可以方便地将回调大坑转换成链式调用,极大地增强了代码的可读性,下面一段代码演示了q在链式调用和异步调用中起到的作用。源码//app.jsvar Q = require('q');function func1(){ console.log('fun1 start'); var deferred = Q.defer(); deferred.resolve('func1

2016-03-30 14:31:28 1210 1

原创 Android Studio 报错"gradle xxx is required. current version is xxx"

gradle-wrapper.properties: 可以设置Gradle版本  distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zipbuild.gradle: 设置Android Plug-in for Gradle的版本  buildscript {      reposito

2015-12-24 19:12:41 1043

原创 Android Plug-in for Gradle源码下载

1. 翻墙2. git clone https://android.googlesource.com/platform/tools/build参考资料:1. https://android.googlesource.com/platform/tools/build/2. http://tools.android.com/build/gradleplugin

2015-12-03 20:17:01 1521

转载 XCode中,为单个文件设置编译选项(Compiler Flags)

When you migrate a project to use ARC, the -fobjc-arc compiler flag is set as the default for all Objective-C source files. You can disable ARC for a specific class using the -fno-objc-arc compiler

2015-09-02 17:20:10 3038

原创 Vim中,VCSCommand插件,报'No suitable plugin'错误

是因为当前目录中没有.svn文件夹,或者该文件夹中文件的格式,与当前使用的svn

2014-08-26 12:42:38 1605

原创 Rails中delegate用法

class C attr_accessor :obj delegate :size, :to => :objendc=C.newc.obj=[1,2,3]c.size # 3

2014-08-11 15:19:55 1434

Android Gradle Plugin

使用AndroidStudio的时候,对Gradle的配置完全不同,苦于找不到源码,所以我找了一份,供大家下载!下载过程在这里有描述:http://blog.csdn.net/lslxdx/article/details/50165613

2015-12-03

log4cpp的QtCreator工程

用log4cpp-1.0的src和include/log4cpp两个文件夹制作的log4cpp的QtCreator4.7.4的static library工程,输出的是liblog4cpp.a文件。

2013-03-27

QJSON类库的Qt Creator项目,可以在Linux和Windows中使用

qjson.tar.gz文件: 若生成的是在Linux中的qjson类库,可以直接使用Qt Creator打开里面的qjson.pro文件,构建即可。现在使用的是staticlib模式,即生成的是扩展名为.a的静态库文件,如果想生成共享库文件(扩展名为.so),需要修改qjson.pro文件中的“CONFIG += staticlib”,修改为“CONFIG += sharelib”。如果生成共享库文件,则需要将该库文件复制到/usr/local/lib文件夹中,并修改/etc/ld.so.conf文件,在该文件的末尾增加/usr/local/lib,为链接程序ld指定共享库文件的搜索文件夹,然后执行ldconfig命令,以使新的ld配置加载生效。另外,可以使用ldd命令查询某可执行文件依赖哪些共享库,比如ldd /bin/bash,可以查看bash依赖的共享库文件。 使用该工程生成的静态库或共享库时,需要在C++代码中 #include "serializer.h" #include "parser.h" #include "qjson_export.h" 三个文件,这三个文件位于src文件夹中。 若生成Windows中的qjson类库,也可以使用Qt Creator打开里面的qjson.pro文件,然后构建,不过生成的不是.a文件或.so文件,而是.lib或.dll文件,而且也不需要配置连接程序ld。估计只需要配置下vs或其他IDE的LibraryPath就行了。

2013-03-18

Linux 新手最佳晋级10本培训书籍集

从 http://download.csdn.net/download/cqqcqq11/4064478 上下载的,只不过那里的文件是“快压”压缩的,下载者需要安装“快压”,着实让一些人很不爽! 我用zip压缩的,可以使用winrar或winzip解压。 人家没要资源分,我也不要~

2012-05-28

CMake+VS2008生成的QJson库,有src文件夹

如果你想用QtCreator编译生成,则请使用Git下载:git clone git://gitorious.org/qjson/qjson.git 否则,从GitHub上下载下来的tar.gz没有pro文件,而且用CMake编译会报错。我把src文件夹里的CMakeLists.txt文件修改过,可以用CMake编译了~

2012-04-17

qt-solutions-qt-solutions

从Qt官网上下载的Qt的解决方案资料库(Qt Solutions Archive) http://qt.nokia.com/products/qt-addons/solutions-archive/ 有JPEG2000的,有Windows中Services的,有浏览器插件的,有单应用程序的,有SOAP的,有文件加锁操作的,有属性操作的。 如果你比较节俭资源分,那么也可以自己从: http://qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtjp2imageformat 下载。

2012-04-06

span掉落的演示代码

博文 “display:block-inline形式的Span或Div中添加文字后,导致Span或Div排版掉落、错位”的原因及解决方法 里的示例代码

2012-02-29

Post gre SQL 的JDBC的API说明文档

从 http://jdbc.postgresql.org/ 官网下的jdbc api,然后制成了CHM,供大家学习使用。

2012-02-16

NDbUnit 教程

是【冰蝶】写的【NDbUnit学习总结】

2011-11-07

dbunit帮助文档(HTML版)

直接从http://www.dbunit.org/apidocs/index.html上下载的HTML文件的压缩包。 因为没有做成CHM,所以只要1分就行~

2011-08-22

dbunit帮助文档(chm版)

从http://www.dbunit.org/apidocs/index.html下载的HTML,然后自己制作的CHM,很辛苦,所以要2分吧~

2011-08-22

Scrum Guide [中文]

从网上下的。 http://www.scrum.org/storage/scrumguides/Scrum%20Guide%20-%20CN.pdf#view=fit

2011-08-14

Flash 钟表,适合在网页上使用

13中Flash做的Clock,从Flash-clock.com上找的,大部分都是自己从代码中扒出来的,那个网站因为不提供下载。 有星期、时分、秒、毫秒、年月日等。 至于分数嘛,希望大家多少给我点,因为从代码里扒.swf文件也怪不容易的~

2011-03-17

cplusplus.com网站/reference

供自己和大家参考。 至于资源分数嘛,总得给我一分吧~

2011-01-10

c99标准 C ISO99

是别人在论坛里分享的,我把它下了下来,然后再以0分分享给大家。

2011-01-07

微软C编程精粹.doc

是别人在论坛里分享的,我把它下了下来,然后再以0分分享给大家。

2011-01-07

网页设计技巧及网页制作常见问题

从网上下的chm.本文档由太平洋软件资讯栏目制作

2009-10-31

算法分析(同济大学)

算法分析(同济大学).pdf

2007-11-10

空空如也

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

TA关注的人

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