Skip to content

Instantly share code, notes, and snippets.

View xuanyu-h's full-sized avatar
🎯
Focusing

xuanyu xuanyu-h

🎯
Focusing
  • Shanghai
View GitHub Profile
@xuanyu-h
xuanyu-h / vpnsetup-centos.sh
Last active July 4, 2018 15:17
vpnsetup-centos
#!/bin/sh
#
# Script for automatic setup of an IPsec VPN server on CentOS/RHEL 6 and 7.
# Works on any dedicated server or virtual private server (VPS) except OpenVZ.
#
# DO NOT RUN THIS SCRIPT ON YOUR PC OR MAC!
#
# The latest version of this script is available at:
# https://github.com/hwdsl2/setup-ipsec-vpn
#
@xuanyu-h
xuanyu-h / SnowFlake.java
Created December 29, 2017 03:12
Twitter 雪花算法
/**
* @author Spirit
* @date 2017/12/14
*/
/**
* Twitter 雪花算法
*
* 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000
* 1 位标识
class ArrayBlockingQueue
attr_reader :capacity, :queue
def initialize(capacity = 5)
@capacity = capacity
@lock = Mutex.new
@empty = ConditionVariable.new
@full = ConditionVariable.new
@queue = []
end
@xuanyu-h
xuanyu-h / synchronize_access_object.rb
Created November 1, 2018 03:30
synchronizing access to an object
# encoding: utf-8
# frozen_string_literal: true
require 'thwait'
class Object
def synchronize
mutex.synchronize { yield self }
end
# Ruby Thread Pool
# ================
# A thread pool is useful when you wish to do some work in a thread, but do
# not know how much work you will be doing in advance. Spawning one thread
# for each task is potentially expensive, as threads are not free.
#
# In this case, it might be more beneficial to start a predefined set of
# threads and then hand off work to them as it becomes available. This is
# the pure essence of what a thread pool is: an array of threads, all just
# waiting to do some work for you!
@xuanyu-h
xuanyu-h / Singleton.java
Last active November 9, 2018 01:22
Java Singleton
// 定义单例模式中需要完成的代码逻辑
public interface MySingleton {
void doSomething();
}
public enum Singleton implements MySingleton {
INSTANCE {
@Override
public void doSomething() {
System.out.println("complete singleton");
@xuanyu-h
xuanyu-h / gist:a3479b39a6e922f8b0f6b105d7a9b85b
Created January 24, 2019 03:09 — forked from rxaviers/gist:7360908
Complete list of github markdown emoji markup

People

:bowtie: :bowtie: 😄 :smile: 😆 :laughing:
😊 :blush: 😃 :smiley: ☺️ :relaxed:
😏 :smirk: 😍 :heart_eyes: 😘 :kissing_heart:
😚 :kissing_closed_eyes: 😳 :flushed: 😌 :relieved:
😆 :satisfied: 😁 :grin: 😉 :wink:
😜 :stuck_out_tongue_winking_eye: 😝 :stuck_out_tongue_closed_eyes: 😀 :grinning:
😗 :kissing: 😙 :kissing_smiling_eyes: 😛 :stuck_out_tongue:
@xuanyu-h
xuanyu-h / date.md
Created September 9, 2019 14:51
go date/time format
Go layout Java notation C notation Notes
2016-01-02 yyyy-MM-dd %F ISO 8601
20160102 yyyyMMdd %Y%m%d ISO 8601
January 02, 2006 MMMM dd, yyyyare neat %B %d, %Y
02 January 2006 dd MMMM yyyy %d %B %Y
02-Jan-2006 dd-MMM-yyyy %d-%b-%Y
01/02/06 MM/dd/yy %D US
01/02/2006 MM/dd/yyyy %m/%d/%Y US
010206 MMddyy %m%d%y US
@xuanyu-h
xuanyu-h / CourseCode.java
Created December 2, 2019 12:18 — forked from darbyluv2code/CourseCode.java
Spring MVC Validation - FAQ: Is it possible to integrate multiple validation string in one annotation?
package com.luv2code.springdemo.mvc.validation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
@xuanyu-h
xuanyu-h / ss.sh
Last active March 1, 2020 10:20
ss.sh
#!/usr/bin/env bash
### BEGIN INIT INFO
# Provides: Shadowsocks-libev
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Fast tunnel proxy that helps you bypass firewalls
# Description: Start or stop the Shadowsocks-libev server