Skip to content

Instantly share code, notes, and snippets.

View twn39's full-sized avatar
🏠
Working from home

Tang Weinan twn39

🏠
Working from home
View GitHub Profile
@twn39
twn39 / unpect-error.js
Created December 9, 2019 07:39
Custom error: UnexpectError
function UnexpectError(code, message) {
this.name = 'UnexpectError';
this.code = code;
this.message = message || 'Default Message';
this.stack = (new Error(message)).stack;
}
UnexpectError.prototype = Object.create(Error.prototype);
UnexpectError.prototype.constructor = UnexpectError;
export default UnexpectError;
@某人匹配
/ @([^\s,%&.]+) / #排除空白字符,标点特殊标点符号
用户名:
/[^\s@,.%&]{1, 20}/ 排除空白字符,特殊标点符号,长度为1~20
@twn39
twn39 / stats.sql
Last active April 16, 2019 09:57
根据日期统计
select count(tmp.id) as total, date_format(tmp.updated_at, '%Y-%m-%d') as time
from (select id, updated_at from hotel_dida_travel where updated_at > DATE_SUB(CURDATE(), INTERVAL 30 DAY)) as tmp
group by date_format(tmp.updated_at, '%Y-%m-%d');
BitmapData.prototype.getContext = function() {
return this.context;
};
BitmapData.prototype.getCanvas = function() {
return this.canvas;
};
BitmapData.prototype.getCanvasPos = function(el) {
var canvas = document.getElementById(el) || this.getCanvas();
@twn39
twn39 / gtk.markdown
Created October 31, 2014 02:53
gtk 3.0 compile
$ pkg-config --cflags gtk+-3.0
 -pthread -I/usr/include/gtk-3.0 -I/usr/lib64/gtk-3.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
$ pkg-config --libs gtk+-3.0
 -pthread -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

注: 不同的系统会有所不同

@twn39
twn39 / log.php
Created October 27, 2014 03:22
monolog example
<?php
require './vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\RedisHandler;
$logger = new Logger('my_logger');
$redislog = new Logger('redis');
@twn39
twn39 / promise.js
Created October 24, 2014 07:34
Promise [bluebird]
var Promise = require('bluebird');
var fs = require('fs');
function readFile(path) {
var file = new Promise(function(resolve, reject) {
fs.readFile(path, 'utf8', function(err, data) {
if(err) {
reject(err);
} else {
@twn39
twn39 / blowfish.cbc.js
Created August 22, 2014 06:45
PHP加密,node解密,采用blowfish CBC模式。
var crypto = require('crypto');
function BlowFish(){
this.decode = function(data, password){
var text = data.split('.');
var code = text[0];
var iv = text[1];
@twn39
twn39 / app.js
Created August 12, 2014 10:13 — forked from elranu/app.js
//app.js Socket IO Test
var app = require('express').createServer(),
redis = require('socket.io/node_modules/redis'),
io = require('socket.io').listen(app);
var pub = redis.createClient(port, "url");
var sub = redis.createClient(port, "url");
var store = redis.createClient(port, "url");
pub.auth('pass', function(){console.log("adentro! pub")});
sub.auth('pass', function(){console.log("adentro! sub")});