Skip to content

Instantly share code, notes, and snippets.

@colinzhu
colinzhu / mirrors.txt
Last active April 27, 2025 04:16
Mirrors - npm, maven, go
npm install -g nrm
nrm ls
npm ---------- https://registry.npmjs.org/
yarn --------- https://registry.yarnpkg.com/
* tencent ------ https://mirrors.tencent.com/npm/
cnpm --------- https://r.cnpmjs.org/
taobao ------- https://registry.npmmirror.com/
npmMirror ---- https://skimdb.npmjs.com/registry/
huawei ------- https://repo.huaweicloud.com/repository/npm/
@colinzhu
colinzhu / gitProxy.md
Created April 25, 2025 04:57 — forked from matinrco/gitProxy.md
Configure git/ssh to use socks/http proxy in windows, linux & wsl2

Windows

Add this to your ssh config file ( which is located in %USERPROFILE%\.ssh\config ) or create one if it's missing:

Http proxy & repo access via ssh:

Host *
    ProxyCommand "C:/Program Files/Git/mingw64/bin/connect.exe" -H {proxyserver}:{port} %h %p

or (for specific host name)

Host gitlab.com
@colinzhu
colinzhu / generateThreadDump
Created May 21, 2024 14:17
generateThreadDump
package org.example;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
public class Main {
public static void main(String[] args) {
System.out.println(threadDump(true, true));
:set nocompatible
@colinzhu
colinzhu / idea.desktop
Created November 14, 2023 11:14
intellij idea desktop shortcut
[Desktop Entry]
Type=Application
Terminal=true
Name=idea
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './idea/bin/idea.sh'"
Categories=Application;
@colinzhu
colinzhu / git proxy
Last active January 20, 2024 07:59
git proxy
## for http/https
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
## for ssh - proxy socks5
create a file ~/.ssh/config
Host github.com
HostName github.com
User git
@colinzhu
colinzhu / settings.xml
Created November 8, 2023 12:35
maven settings.xml
<settings>
<proxies>
<proxy>
<id>proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>127.0.0.1</host>
<port>1080</port>
<nonProxyHosts>localhost|*.example.com</nonProxyHosts>
</proxy>
Router router = Router.router(vertx);
SockJSHandler sockJSHandler = SockJSHandler.create(vertx);
SockJSBridgeOptions options = new SockJSBridgeOptions().addInboundPermitted(new PermittedOptions().setAddress("news-feed"))
.addOutboundPermitted(new PermittedOptions().setAddress("news-feed"));
router.route("/eventbus/*").subRouter(sockJSHandler.bridge(options));
@colinzhu
colinzhu / gist:28379d7f6957cba2b376c1b965de815e
Created September 3, 2023 11:13
message poller vs task poller
message -> insert
message poller -> select/x, update
message -> insert, update
task poller -> insert*, select/x, checkout/x*, delete*
@colinzhu
colinzhu / Validator.java
Last active March 13, 2023 14:40
A super simple Java object validator checks all the rules and returns all the error cases, with actual values
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.*;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Validator<T> {