Skip to content

Instantly share code, notes, and snippets.

Avatar

Denis Wang wangyingang

View GitHub Profile
@wangyingang
wangyingang / README-Template.md
Created Jan 5, 2019 — forked from PurpleBooth/README-Template.md
A template to make good README.md
View README-Template.md

Project Title

One Paragraph of project description goes here

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

@wangyingang
wangyingang / Utils.java
Created Jul 13, 2015
Convert InputStream to Byte Array
View Utils.java
public class Utils {
public static byte[] getBytes(InputStream is) throws IOException {
int len;
int size = 1024;
byte[] buf;
if (is instanceof ByteArrayInputStream) {
size = is.available();
@wangyingang
wangyingang / UrlEscapeSample.java
Created Jul 10, 2015
URL escape sample (java.net.URLEncoder and Guava UrlEscaper)
View UrlEscapeSample.java
public class UrlEscapeSample {
public static void main(String[] args) {
String filename = "中国 地图/? a.docx";
String urlEncoding = URLEncoder.encode(filename, StandardCharsets.UTF_8.toString());
prettyPrint("java.net.URLEncoder", urlEncoding);
prettyPrint("UrlEscapers.urlFormParameterEscaper", UrlEscapers.urlFormParameterEscaper().escape(filename));
prettyPrint("java.net.URLEncoder then replace to %20", urlEncoding.replaceAll("\\+", "%20"));
prettyPrint("UrlEscapers.urlPathSegmentEscaper", UrlEscapers.urlPathSegmentEscaper().escape(filename));
prettyPrint("UrlEscapers.urlFragmentEscaper", UrlEscapers.urlFragmentEscaper().escape(filename));
}
View DropwizardJettyCrossOriginIntegrationTest.java
import io.dropwizard.Application;
import io.dropwizard.Configuration;
import io.dropwizard.client.JerseyClientBuilder;
import io.dropwizard.setup.Environment;
import io.dropwizard.testing.junit.DropwizardAppRule;
import org.assertj.core.data.MapEntry;
import org.eclipse.jetty.servlets.CrossOriginFilter;
import org.junit.ClassRule;
import org.junit.Test;
View gist:d2de4dbdab5776cca66d

Sublime Text 2 – Useful Shortcuts (Mac OS X)

General

⌘T go to file
⌘⌃P go to project
⌘R go to methods
⌃G go to line
⌘KB toggle side bar
⌘⇧P command prompt
@wangyingang
wangyingang / cleanup_old_kernels.md
Last active Aug 29, 2015
Clean up useless kernels on partition /boot
View cleanup_old_kernels.md

do-release-upgrade fail?

May be you got a warinning message when you execute do-release-upgrade:

Not enough free disk space

The upgrade has aborted. The upgrade needs a total of xxx M free space on disk '/boot'. Please free at least an additional xxx M of disk space on '/boot'. Empty your trash and remove temporary packages of former installations using 'sudo apt-get clean'.

Because your /boot partition is filled with old kernels. You can easily remove the old kernels if you know which packages they came in.

View gist:5a1e58e86187793c5fae
^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
// Match
2009-12T12:34
2009
2009-05-19
2009-05-19
20090519
2009123
View tmux.md

tmux cheat sheet

(C-x means ctrl+x, M-x means alt+x)

Prefix key

The default prefix is C-b. If you (or your muscle memory) prefer C-a, you need to add this to ~/.tmux.conf:

# remap prefix to Control + a
View tmux-cheatsheet.markdown

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname