Skip to content

Instantly share code, notes, and snippets.

View jiangli373's full-sized avatar
💭
I may be slow to respond.

jiangli jiangli373

💭
I may be slow to respond.
View GitHub Profile
@jiangli373
jiangli373 / ping.gs.php
Created March 16, 2020 10:24 — forked from cereal-s/ping.gs.php
Get number of pages from a PDF, using GhostScript.
<?php
/**
* Return the number of pages of a PDF.
*
* Imagick::pingImage() takes too much when dealing with big files.
*
* Command to execute:
*
* gs -q -dNODISPLAY -c "(%s) (r) file runpdfbegin pdfpagecount = quit"
@jiangli373
jiangli373 / gist:f931f05075a7593bc276b6c9778c6936
Created March 11, 2020 11:47
nodemailer发送邮件到QQ邮箱,附件名称被截取
nodemailer/lib/mime-node/index.js
// value = mimeFuncs.buildHeaderValue(structured);
const fileName = encodeURI(this.filename);
value = `attachment; filename*0*=utf-8''${fileName}`;
@jiangli373
jiangli373 / ubuntu16 install and configure redis.md
Last active May 3, 2018 08:49
How To Install and Configure Redis on Ubuntu 16.04

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04

Introduction

Redis is an in-memory key-value store known for its flexibility, performance, and wide language support. In this guide, we will demonstrate how to install and configure Redis on an Ubuntu 16.04 server.

Prerequisites

To complete this guide, you will need access to an Ubuntu 16.04 server. You will need a non-root user with sudo privileges to perform the administrative functions required for this process. You can learn how to set up an account with these privileges by following our Ubuntu 16.04 initial server setup guide.

When you are ready to begin, log in to your Ubuntu 16.04 server with your sudo user and continue below.

@jiangli373
jiangli373 / install.sh
Created April 3, 2018 03:40
安装imagemagic脚本
#!/bin/sh
#通用软件安装脚本
#解压软件包到/tmp下
#安装libpng
cd /tmp
echo "安装libpng"
wget https://www.imagemagick.org/download/delegates/libpng-1.6.31.tar.gz
tar -zvxf libpng-1.6.31.tar.gz
cd libpng-1.6.31
@jiangli373
jiangli373 / gist:fc28bce84e74ee35924d352308e863ae
Created March 16, 2018 07:25
centos6编译安装ImageMagick
###centos编译安装ImageMagick
wget https://www.imagemagick.org/download/ImageMagick-6.9.9-38.tar.gz
tar xvfz ImageMagick-6.9.9-38.tar.gz
cd ImageMagick-6.9.9-38
./configure
@jiangli373
jiangli373 / gm.js
Created March 16, 2018 07:22
gm转换psd到png
'use strict';
const fs = require('fs');
const gm = require('gm').subClass({imageMagick: true});
const instream = fs.createReadStream('./psd.psd');
const writeStream = fs.createWriteStream('./psd1.png');
gm(instream)
.flatten()
.stream('png', (err, stdout) => {
if (err) {
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
/**
* <pre>
* 转盘抽奖算法demo
@jiangli373
jiangli373 / ios6-viewport-scale-bug-fix.html
Created November 11, 2015 08:10 — forked from ufologist/ios6-viewport-scale-bug-fix.html
Fix iPhone4/iOS6 browser viewport appear black or white area bug!!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fix iPhone4/iOS6 browser viewport appear black or white area bug!!</title>
<!--
关键是要注意在初始化页面时设置 viewport width=320.1, 非常之诡异!
PS: 在查了N多资料, N多尝试后发现, 其实只要不将width设置成320或device-width即可, 其他任何数字都可以! 不设置width这个属性也可以!
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta id="eqMobileViewport" name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" servergenerated="true">
<title>Slick Slider Contribution - jsFiddle demo</title>
<!--<link rel="stylesheet" type="text/css" href="https://rawgit.com/kenwheeler/slick/master/slick/slick.css">-->
#with regex from http://detectmobilebrowsers.com/
#map suggestion via kolbyjack
#not tested
map $http_user_agent $mobile_agent{
default 0;
~* "android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino" 1;
~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibr