Markdown Syntax

Overview Nearly all Markdown applications support the basic syntax outlined in John Gruber’s original design document. There are minor variations and discrepancies between Markdown processors, those are noted inline wherever possible. Headings To create a heading, add number signs (#) in front of a word or phrase. The number of number signs you use should… Continue reading Markdown Syntax

YAML Syntax

Introduction YAML is used for configuration files, blueprints, and also in page settings. YAML is to configuration what markdown is to markup. It’s basically a human-readable structured data format. It is less complex and ungainly than XML or JSON, but provides similar capabilities. It essentially allows you to provide powerful configuration settings, without having to… Continue reading YAML Syntax

ProviewR – An open source process control

可能是市场上唯一能够以真正的面向对象方式设计和编程的开源过程控制系统。Powered By SSAB. General ProviewR is an Open Source Process Control System. It is modern, powerful and general and contains all functions normally required for successful sequential control, adjustment, data acquisition, communication, supervision, etc. The configuration of a ProviewR system is done graphically, making the application adaptation simple, reliable, and flexible. ProviewR is a distributed… Continue reading ProviewR – An open source process control

老生常谈,TCP三次握手、四次挥手过程及原理

本文来自于互联网,原始出处已无法考证 TCP 协议简述 TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。 无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。 同时由于TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议,TCP是全双工模式,所以需要四次挥手关闭连接。 TCP包首部 网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。包首部就像协议的脸。 所以我们在学习TCP协议之前,首先要知道TCP在网络传输中处于哪个位置,以及它的协议的规范,下面我们就看看TCP首部的网络传输起到的作用: 下面的图是TCP头部的规范定义,它定义了TCP协议如何读取和解析数据: TCP首部承载这TCP协议需要的各项信息,下面我们来分析一下:

Windows PowerShell Quick Reference

How to Access Arguments To access command-line arguments used when starting a script use the automatic variable $args. You can cycle through the individual arguments in the $args collection by using code similar to this: foreach ($i in $args) {$i} To access a particular argument use the collection index number, with 0 representing the first… Continue reading Windows PowerShell Quick Reference

批处理

摘自网络 例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似): ping sz.tencent.com > a.txt ping sz1.tencent.com >> a.txt ping sz2.tencent.com >> a.txt ping sz3.tencent.com >> a.txt ping sz4.tencent.com >> a.txt ping sz5.tencent.com >> a.txt ping sz6.tencent.com >> a.txt ping sz7.tencent.com >> a.txt exit 是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程。这里>的意思,是把前面命令得到的东西放到后面所给的地方,>>的作用,和>的相同,区别是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt文件越来越大(想到如何搞破坏了??)。By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。 例二、再给出一个已经过时的例子(a.bat): @echo off if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif a.bat 为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵。 例三,使用批处理脚本查是否中冰河。脚本内容如下: @echo off netstat -a -n >… Continue reading 批处理

x509

x509证书一般会用到三类文件,key,csr,crt。 Key是私用密钥,openssl格式,通常是rsa算法。 csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。 crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。 1.key的生成 openssl genrsa -des3 -out server.key 2048 这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key: openssl rsa -in server.key -out server.key server.key就是没有密码的版本了。 2.生成CA的crt openssl req -new -x509 -key server.key -out ca.crt -days 3650 生成的ca.crt文件是用来签署下面的server.csr文件。 3.csr的生成方法: openssl req -new -key server.key -out server.csr 需要依次输入国家,地区,组织,email。最重要的是,有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。 4.crt生成方法 CSR文件必须有CA的签名才可形成证书. 可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢. openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key… Continue reading x509

自动切换IE代理设置,通过使用IE自动配置脚本

1. 什么是IE自动配置脚本 IE自动配置脚本起的作用就是,当IE访问网页的时候会根据脚本文件里面界定的内容来访问。比方说,你在脚本文件里面限定了访问某些IP使用某个代理的时候,访问另外一些IP使用另外的代理,这就很方便通过脚本文件来完成。 2. 如何创建、编辑IE自动配置脚本 1)创建:打开WINDOWS自带的记事本,编辑好代码后另存为“.PAC”格式 2)编辑:使用WINDOWS自带的记事本即可。 3. 如何编写IE自动配置脚本 最简单的格式就是包含一个叫FindProxyForURL的JScript函数,IE通过传入两个变量来调用这个函数,一个是用户浏览的地址URL全路经,一个是这个URL中的主机名部分(host)。 这个FindProxyForURL函数有三种可能的字符串返回值,一是”DIRECT”,就是直接连接,不通过代理;二是”PROXY proxyaddr:port”,其中proxyaddr和port分别是代理的地址和代理的端口;三是”SOCKS socksaddr:port”,其中socksaddr和port分别是socks代理的地址和端口,一个自动代理文件可以是多个选择的组合,其中用分号(;)隔开,如: function FindProxyForURL(url,host) { if (host == “www.mydomain.com”) return “DIRECT”; return “PROXY myproxy:80; PROXY myotherproxy:8080; DIRECT”; } 把以上代码另存为proxy.pac的文件,如:c:\proxy.pac,然后在IE的菜单里”工具”->”INTEL选项”->”连接”->局域网设置->把使用自动配置脚本选上,然后在地址栏填入file://c:/proxy.pac,注意file后是两斜杠,要使设置生效,需要关闭IE再重新打开. 现在我们介绍下这个proxy.pac脚本文件,脚本的语法是js语法,js的内置函数可以使用,要实现自动配置代理,需要实现FindProxyForURL这个函数,其参数url代表要访问的连接,host代表要访问连接的主机名,该函数有三个返回参数( direct:直接连接,proxy IP:PORT,socket IP:PORT), 返回结果大小写不敏感. PAC脚本另外一个重要的应用是多台代理服务器并存的情况下,通过pac脚本的控制,可以实现如下目标: 使用户随机选择使用多台代理服务器中的任意一台来达到流量负载均衡的目的; 使管理员通过PAC脚本控制用户使用和不使用某台代理服务器,这样可以空出时间对代理服务器进行维护; 让服务器工作在主备模式,当主服务器宕机时,会自动切换到其它备用服务器而不会中断服务; 根据访问目的地的不同,自动选择最佳代理服务器。 下面我们介绍几个常用的PAC函数,并举便说明: 1. isPlainHostName(host),判断是否为本地主机,例如以http://myservername/的方式访问,则是直接连接,否则使用代理 function FindProxyForURL(url, host) { if (isPlainHostName(host)) return “DIRECT”; else return “PROXY proxy:80”;… Continue reading 自动切换IE代理设置,通过使用IE自动配置脚本

Windows7 & 8 “用户文件夹”更改位置(更改Users目录位置)

Windows 7和Windows 8的用户文件夹默认所在位置是系统盘(通常是C盘)下的“\Users”目录之内。该文件夹中储存着所有的用户生成文件,比如你保存在“桌面”上的文件(实际上是保存在C:\Users\YourUserName\Desktop目录之中),再比如你保存在“我的文档”里的文件(实际上是保存在C:\Users\UserName\Documents目录之中)。 而随着Windows里安装的软件越来越多,就会有越来越多的“用户生成文件”被保存在“用户文件夹”里。在资源管理器的地址栏里输入“%AppData%”之后回车,就可以看到有多少软件把用户生成数据保存在那里。 用户文件夹处于系统盘的坏处在于,如若系统盘一旦坏掉,就可能连带用户文件一并丢失;其次,由于(随着使用不断生成的)用户文件处于系统盘,也没办法时常备份“干净的系统盘”。 如果能把用户文件夹挪到另外一块儿硬盘上(或者另外一个硬盘分区上),那么系统维护就会容易得多。平时生成的文件(大多数人放在“桌面”、“我的文档”里的文件最多),都被保存在系统盘(或分区)之外;于是随时都可以在不必担心用户文件丢失的情况下重新安装系统(或恢复系统备份)。 注意,以下假设你想把用户文件夹设置在D盘,假定D盘是NTFS分区。 在安装Windows7或者8的过程中,要求输入用户名及密码的时候,先不如输入任何信息,按“Shift+F10”呼出DOS窗口,输入以下命令: robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ rmdir “C:\Users” /S /Q mklink /J “C:\Users” “D:\Users” 而后关闭DOS窗口,按部就班继续安装直至完成。 如此安装的Windows7,所有“用户特殊文件夹”(User Special Folder)的内容都已经被设置在D盘(非系统盘)上。 如果想要移动已安装好的Windows7或者8中的用户文件夹,那么就要按以下步骤操作(稍微麻烦一点,并且过程中可能会出现无法拷贝文件的情况): 关闭所有应用程序; 按一下“Windows”键,输入“compmgmt.msc”之后按“Enter”,呼出“计算机管理器”; 鼠标点击“Administrator”,选择属性,而后在随后的对话框中去掉“帐户已禁用”之前的勾,而后关闭“计算机管理器”; 注销当前用户(注意,不是“切换用户”),而后以“Administrator”登录 打开命令行窗口,输入以下命令:robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ /XD “C:\Users\Administrator” 注销Administrator,重新用你的用户名登录Windows7,而后到“计算机管理器”里禁用Administrator; 以管理员身份打开一个DOS窗口,输入以下命令: rmdir “C:\Users” /S /Q mklink /J “C:\Users” “D:\Users” 搞定。