Skip to content

Instantly share code, notes, and snippets.

View pygman's full-sized avatar
🏠
Working from home

pygman pygman

🏠
Working from home
View GitHub Profile
@pygman
pygman / ab.sh
Created September 13, 2016 06:45
ApacheBench ab 压测
# 常用命令参数如下: -n 测试的请求数量 -c 同时请求数量(并发数) -t 测试时间 以上一般搭配 -n & -c 或者 -n & -t -k HTTP保持Keep-Alive方式(长连接) -p POST方式下发送的数据 -T POST或PUT方式下的Content-type
# 从常用命令参数中,我们用案例说话: a. 同时10个请求,连续点击1000次(每次Request完毕自动销毁,重新请求)
```
ab -n 1000 -c 10 http://www.test.com/index.html
```
# b. 同时10个请求,连续点击1000次,并保持Keep-Alive方式(保持长连接的方式)
```
ab -n 1000 -c 10 -k http://www.test.com/index.html
```
@pygman
pygman / 代理ssh端口方式.markdown
Created September 9, 2016 02:15
如何从外网访问内网主机

很多时候,我们需要在外面访问公司,或者家里面的电脑,但是我们一般情况下这些电脑没有办法直接暴露到外部网络中,那么我们应该怎么做呢?我们需要一个外面的VPS,或者另外一台暴露到公网的主机作为跳板。 假设:

  • A主机($A_IP):我们内网需要被访问的主机。
  • B主机($B_IP):有一个公网IP的主机,可以是购买的VPS。
  • C主机($C_IP):需要访问A主机的电脑,比如我们随身的笔记本或者手机。 首先我们需要把A主机的ssh链接到B主机上面:
autossh -M 2132 $B_IP -N -R 6333:localhost:22

我们用autossh来保证A主机的ssh一直保持连接。这个命令把A主机的ssh端口绑定到B主机的6333端口上面。

@pygman
pygman / 冒泡排序.markdown
Last active September 21, 2016 05:34
排序算法

冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6,3和4无需交换。5和3交换,变成3,5,4,8,6,3.这样一次冒泡就完了,把最小的数3排到最前面了。对剩下的序列依次冒泡就会得到一个有序序列。冒泡排序的时间复杂度为O(n^2)。

/**
 * @Description:冒泡排序算法实现
 */
public class BubbleSort {
    
    public static void bubbleSort(int[] arr) {
 if(arr == null || arr.length == 0)
@pygman
pygman / aoe
Created September 7, 2016 10:05
aoe
aoe
@pygman
pygman / README.md
Created September 2, 2016 10:14
HTML标签“a”用法整合 一篇让你看个够

HTML代码,我已经很熟悉了,如果网深入里的应用,我还是一位学者。对于“a”标签的简单实用,使用起来很简单,但是,随着web前端技术的进步,简单的用法已经不能够满足条件要求了。废话不多说了,开始探讨之路吧。

  1. 标签的普通用法: 这是最基础的格式:三龙鑫。 这里面的就不需要解释了,都能理解到了。
  2. 还有一种定点锚链接,这个功能就是在显示页面中点哪到哪。用法是这样的: 返回顶部 这的span标签也可以替换成div标签。
  3. 给图片加上链接: 样式这样写:
@pygman
pygman / README.md
Created September 2, 2016 10:06
文字和布局换行多种效果 HTML和css笔记

在web前端技术中,换行标签的使用非常频繁。换行最普通的用法是使用“
“标签,但是,在有些倩况下此标签会失去换行功能,因此达不到页面效果展示。所以,在制作页面时,可以使用css样式来实现换行功能。


  1. 标签的使用 这个标签的使用没什么技术含量,直接使用就可以,只要不是什么大的问题,通常情况下可以正常使用。

  2. 如何让title中的内容实现换行效果? 比如,让a标签中的title属性内容达到换行效果,有三种方法使用:回车、符号一、符号二。 2.1 回车这种方法就不占用篇幅解释了,顾名思义就是键盘上的回车键,直接使用就可以让title属性中的内容达到换行的效果。 Web前端技术 文字和布局换行多种效果 HTML和css笔记 2.2 符号换行

@pygman
pygman / __Clip-path__.css
Created September 2, 2016 09:46
用 CSS 隐藏页面元素的 5 种方法
/*
隐藏元素的另一种方法是通过剪裁它们来实现。在以前,这可以通过 clip 属性来实现,但是这个属性被废弃了,换成一个更好的属性叫做 clip-path。Nitish Kumar 最近在 SitePoint 发表了“介绍 clicp-path 属性”这篇文章,通过阅读它可以了解这个属性的更多高级用法。
记住,clip-path 属性还没有在 IE 或者 Edge 下被完全支持。如果要在你的 clip-path 中使用外部的 SVG 文件,浏览器支持度还要更低。使用 clip-path 属性来隐藏元素的代码看起来如下:
*/
.hide {
clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px);
}
/*
下面是一个实际使用它的例子:
如果你把鼠标悬停在第一个元素上,它依然可以影响第二个元素,尽管第二个元素已经通过 clip-path 隐藏了。如果你点击它,它会移除用来隐藏的 class,让我们的元素从那个位置显现出来。被隐藏元素中的文字仍然能够通过读屏软件读取,许多 WordPress 站点使用 clip-path 或者之前的 clip 来实现专门为读屏软件提供的文字。
@pygman
pygman / addCommas.js
Created September 2, 2016 09:34
JavaScript处理数字分位符号
//数组方式处理 小数位有空格隔开
function addCommas(val) {
var aIntNum = val.toString().split(".");
if (aIntNum[0].length >= 5) {
aIntNum[0] = aIntNum[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
if (aIntNum[1] && aIntNum[1] >= 5) {
aIntNum[1] = aIntNum[1] ? aIntNum[1].replace(/\B(?=(\d{3})+(?!\d))/g, " ") : " ";
}
@pygman
pygman / Mocker.java
Created August 30, 2016 08:10
无聊的难题
public class Mocker<T extends Exception>{
private void pleaseThrow(final Exception t)throws T{
throw (T)t;
}
public static void main(final String[] args){
try{
new Mocker<RuntimeException>().pleaseThrow(new SQLException());
}catch(final SQLException ex){
ex.printStackTrace();
@pygman
pygman / perm_comb.py
Created August 30, 2016 03:04
求排列组合数
def combcount(n,r):
f = lambda n,r:n*f(n-1,r) if n>r else 1
return f(n,n-r)/f(r,0)
def permcount(n,r):
f = lambda n,r:n*f(n-1,r) if n>r else 1
return f(n,n-r)
# 附带使用python的itertools求全排列、全组合函数
import itertools as it