分类目录归档:开发

Apache代理连接到本地开发环境

有时候开发环境需要直接在公网进行调试。比如微信,要求通过公网已备案域名或者地址提供服务,而调试是在开发环境,一般不具备这个条件,通过下面的方法可以快速实现:

  1. 启动一个Server to Client的数据包转发forwarding,如下图,这样就会在服务器监听一个端口,并把对这个端口的请求转发到本地开发环境的指定端口;完成这一步以后相当于本地环境和服务器连通了,如果不要求80端口的话,问题就算解决了。

  1. 但如果非要用80端口,就需要接下来的配置,如果Apache已经占了80端口,就需要在Apache开启端口转发;当然了,前提还要做一个域名解析。使用这个域名访问你的开发环境。

Bootstrap 2.0和3.0的区别

转自:http://www.weste.net/2013/8-20/93261.html

bootstrap已经推出了3.0的新版,看起来2.3.x版本也不会再更新了。那么bootstrap 2.3版与3.0版的区别在哪里呢?下面我们就来介绍一下。

Bootstrap 3.0增加了一些新的特性,对于一些类也进行了调整。不过两个版本在使用的方法上是没什么大的区别的。

bootstrap 2.3版与3.0版重要类的改变对比:

Bootstrap 2.x Bootstrap 3.0
.container-fluid .container
.row-fluid .row
.span* .col-md-*
.offset* .col-md-offset-*
.brand .navbar-brand
.nav-collapse .navbar-collapse
.nav-toggle .navbar-toggle
.btn-navbar .navbar-btn
.hero-unit .jumbotron
.icon-* .glyphicon .glyphicon-*
.btn .btn .btn-default
.btn-mini .btn-xs
.btn-small .btn-sm
.btn-large .btn-lg
.visible-phone .visible-sm
.visible-tablet .visible-md
.visible-desktop .visible-lg
.hidden-phone .hidden-sm
.hidden-tablet .hidden-md
.hidden-desktop .hidden-lg
.input-small .input-sm
.input-large .input-lg
.checkbox.inline .radio.inline .checkbox-inline .radio-inline
.input-prepend .input-append .input-group
.add-on .input-group-addon
.thumbnail .img-thumbnail
ul.unstyled .list-unstyled
ul.inline .list-inline

bootstrap 3.0版新增的类

Element Description
Panels .panel .panel-default .panel-body .panel-title .panel-heading .panel-footer .panel-collapse
List groups .list-group .list-group-item .list-group-item-text .list-group-item-heading
Glyphicons .glyphicon
Jumbotron .jumbotron
Tiny grid (<768 px) .col-xs-*
Small grid (>768 px) .col-sm-*
Medium grid (>992 px) .col-md-*
Large grid (>1200 px) .col-lg-*
Offsets .col-sm-offset-* .col-md-offset-* .col-lg-offset-*
Push .col-sm-push-* .col-md-push-* .col-lg-push-*
Pull .col-sm-pull-* .col-md-pull-* .col-lg-pull-*
Input groups .input-group .input-group-addon .input-group-btn
Form controls .form-control .form-group
Button group sizes .btn-group-xs .btn-group-sm .btn-group-lg
Navbar text .navbar-text
Navbar header .navbar-header
Justified tabs / pills .nav-justified
Responsive images .img-responsive
Contextual table rows .success .danger .warning .active
Contextual panels .panel-success .panel-danger .panel-warning .panel-info
Modal .modal-dialog .modal-content
Thumbnail image .img-thumbnail
Well sizes .well-sm .well-lg
Alert links .alert-link

bootstrap 3.0版删除的类

Element Removed from 2.x 3.0 Equivalent
Form actions .form-actions N/A
Search form .form-search N/A
Fluid container .container-fluid .container (no more fixed grid)
Fluid row .row-fluid .row (no more fixed grid)
Navbar inner .navbar-inner N/A
Dropdown submenu .dropdown-submenu N/A
Tab alignments .tabs-left .tabs-right .tabs-below N/A

修改PuTTY v0.65源码以支持密码保存

PuTTY为安全考虑不支持保存会话中的密码。有时候还是会有密码保存的需求。这里提供的是最新版本0.65的修改方法:

这个保存到注册表的,明文保存,有一定风险,慎用。

winhelp.h
#define WINHELP_CTX_connection_username “connection.username:config-username”
后增加
#define WINHELP_CTX_connection_password “connection.password:config-password”

setting.c
X(STR, NONE, username) \
后增加
X(STR, NONE, password) \


write_setting_s(sesskey, “UserName”, conf_get_str(conf, CONF_username));
后增加
write_setting_s(sesskey, “PassWord” , conf_get_str(conf, CONF_password));

gpps(sesskey, “UserName”, “”, conf, CONF_username);
后面增加:
gpps(sesskey, “PassWord” , “” , conf, CONF_password);

config.c

ctrl_editbox(s, “Auto-login username”, ‘u’, 50,
HELPCTX(connection_username),
conf_editbox_handler, I(CONF_username), I(1));
后增加
c = ctrl_editbox(s, “Auto-login password”, ‘w’, 50,
HELPCTX(connection_password),
conf_editbox_handler, I(CONF_password), I(1));
c->editbox.password = 1;
ssh.c
找到
Plain old password authentication
在其后的变量定义后面增加
char *pwd;
pwd = conf_get_str(ssh->conf, CONF_password);
if (strlen(pwd)==0){

然后在其后的注释段Send the password packet前增加:
}else{
s->password = dupstr(pwd);
}

修改版本号:在version.h里修改TEXTVER的值即可。

官方下载的源代码 修改后的源代码