Skip to content

Instantly share code, notes, and snippets.

View sss.sh
#!/bin/sh
readonly SERVER_PORT="8388"
readonly SERVER_PASS="your_password"
sudo yum install git
sudo yum install python-setuptools && easy_install pip
sudo pip install git+https://github.com/shadowsocks/shadowsocks.git@master
firewall-cmd --permanent --zone=public --add-port=${SERVER_PORT}/tcp
@john-yuan
john-yuan / parseObjectPath.js
Created Jul 13, 2019
A function to parse object path in JSON.
View parseObjectPath.js
/**
* Parse the property path string.
*
* @param {string} path The property path.
* @returns {string[]} Returns the array of path.
*/
function parseObjectPath(path) {
var i = 0;
var l = path.length;
var ch;
View formatPrice.js
/**
* 格式化价格数字
*
* @example
* // 123,456.00
* formatPrice(123456);
*
* @param {number} price 价格数字
* @param {string} [separator] 可选的分隔符号,默认为英文逗号 `,`
* @returns {string} 返回格式化后的价格字符串。
View buildCalendarView.js
/**
* 获取指定月份日历视图中的 42 个日期对象。
*
* @param {number} year 完整的年份数字,如 `2019` 即代表 2019 年。
* @param {number} month 月份数字,如 `11` 即代表 11 月。
* @param {number} [startWeekDay=0] 可选的参数,默认为 `0`(星期日),表示日历中的第一列为星期几(一般为星期日或者星期一)。其中 `0` 表
* 示星期日,`1` 表示星期一,后面以此类推。
* @returns {Date[]} 返回一个数组,包含 42 个 `Date` 对象。
*/
function getCalendarDateList(year, month, startWeekDay) {
View domClassUtils.js
/**
* 将值转换为字符串并移除首尾空白字符
*
* @param {any} value 需要转换的值
* @returns {string}
*/
function toTrimedString(value) {
if (typeof value !== 'string') {
if (value === null || value === undefined) {
value = '';
@john-yuan
john-yuan / getCalendarDateList.js
Last active Jun 15, 2019
获取指定月份日历视图中的 42 个日期对象。
View getCalendarDateList.js
/**
* 获取指定月份日历视图中的 42 个日期对象。
*
* @param {number} year 完整的年份数字,如 `2019` 即代表 2019 年。
* @param {number} month 月份数字,如 `11` 即代表 11 月。
* @param {number} [startWeekDay=0] 可选的参数,默认为 `0`(星期日),表示日历中的第一列为星期几(一般为星期日或者星期一)。其中 `0` 表
* 示星期日,`1` 表示星期一,后面以此类推。
* @returns {Date[]} 返回一个数组,包含 42 个 `Date` 对象。
*/
function getCalendarDateList(year, month, startWeekDay) {
View colorConverter.js
/**
* Convert rgb formatted color string to hash formatted color string
*
* @example
* // @returns #ff00ff
* rgb2hash('rgb(255, 0, 255)');
*
* @param {string} rgbColorStr The rgb formatted color string
View filterCopy.js
/**
* 复制数据结构定义(definition)中指定的内容
*
* @param {Object.<string, *>} definition 数据结构定义
* @param {Object.<string, *>} dataSource 数据源
* @param {Object.<string, *>} [options] (可选)附加选项
* @param {any} [options.defaultObject=null] (可选)当数据源中没有定义中的对象时使用的默认值
* @param {any} [options.defaultArray=[]] (可选)当数据源中没有定义中的数组时使用的默认值
* @returns {Object.<string, *>} 返回过滤后的数据
*/
View MainDomainCrossTabNotification.js
/**
* 主域名跨标签轻量级事件通知机制
*
* 主要用于具有相同主域名的多个浏览器标签之间的事件通知。比如现在浏览器中有两个标签,
* 第一个标签的域名为: site1.example.com;第二个标签的域名为:site2.example.com。
* 两个标签中都可以进行登录操作,但在登录之后需要通知另一个标签。此时便可以使用这个类。
*
* 注意:
*
* 1. 这个类使用 cookie 作为通信媒介
View onceTransitionEnd.js
var onceTransitionEnd = function (node, time, callback) {
var finished = false;
var timer = setTimeout(listener, time + 50);
var listener = function () {
if (finished === false) {
removeListener();
node = null;
time = null;
listener = null;
removeListener = null;