csatblogspotdotcom

Tuesday, January 28, 2014

近期翻墙方法汇总

最近试了下翻墙相关的软件,tor、I2P、freenet、之类的匿名代理不好使,速度慢,自由门、无界等也用不了,免费VPN、SSH中速度快的也不好找,只有基于Google App Engine一类的代理依然坚挺,一般稍微出名点的都被墙了。另外刚发现了一个shadowsocks,类似GAE,服务端可部署在一个没被墙的VPS上,自己电脑上的客户端通过服务端翻墙,关键就是需要找到一个靠谱的VPS或者别人提供的免费账号~ 手机上的fqrouter的http请求就是通过基于GAE的goagent代理,而https请求就是通过shadowsocks代理的!

后记: 目前开放注册的类VPS包括RedHat的OpenShift,也是一朵云,属于PaaS(Platform as a Service, 可对比另两种云:Saas和IaaS,即Software as a Service和Infrastructure as a Service,OpenShift是运行在Amazon的IaaS之上的PaaS),进去后可以创建一些应用包括MySQL、WordPress等,可以通过ssh管理这些应用,而之所以能用它来翻墙是因为它的ssh开放了转发功能,直接开启ssh的时候开启隧道功能即可,速度比GAE慢(GAE是通过美国加利福尼亚州圣克拉拉县山景市谷歌公司出来,通过太平洋海底光缆接入,而RedHat的云服务是运行在Amazon的云之上的,这个可以通过ssh后看出来:服务器是域名是***.compute-1.amazonaws.com,IP显示美国弗吉尼亚州阿什本Amazon东海岸数据中心,所以速度要慢,其实在服务器上wget网速很快)。登入后容易超时,echo $TMOUT默认TMOUT为300s,可以进去后设置:unset TMOUT或者“export TMOUT=”。注意,用GAE类时浏览器设置http和https代理,而OpenShift的ssh设置socks5代理 另一个开放注册的PaaS是Salesforce.com的Heroku,支持https且不限流量,使用方法类似GAE,利用snova,上传文件到服务端,客户端定向流量到服务端,而且可以自动脚本配置支持pac,让浏览器根据列表里的内容智能选择哪些需要代理 另外还有一些平台CloundFoundry(属于VMware)/Appfog/Dotcloud/Modulus/Jelastic等,可以用snova(支持Heroku/CloundFoundry(属于VMware)/OpenShift/Appfog/Dotcloud/Modulus/Jelastic,服务端也支持各种VPS,支持SSH和SPAC-Special Proxy Auto Config),它也分为服务端和客户端,用法类似goagent 此外APJP类似snova,支持传统PHP主机, PaaS等等,包括GAE、PHP平台、Heroku、DotCloud、CloudFoundry(属于VMware)、Jelastic、OpenShift、PHPFog、CloudControl、Engine Yard等 ( OpenShift Heroku Jelastic CloundFoundry Dotcloud CloudControl ) (goagent snova apjp是三大)

Labels: ,

Monday, January 27, 2014

关于格式转换

有几类方法(主要是其他格式转PDF,PDF转txt等涉及OCR): 在线类 1.发邮件,附上文件,自动回复。此方法若干年前试过,现在网上搜不到相关信息了。 2.在线转,上传文件到网站,然后填上自己邮件地址等待回复,或者直接下载,此类网站也很多,例如http://www.online-convert.com/等。或者上传到Google Docs然后下载为PDF。 单机类 1.文件自动另存为。有些需要插件支持。 2.装软件转,此类小软件很多。其中一类是虚拟打印机,例如doPDF,TinyPDF、PDFCreator 或 Foxit PDF Creator。 综合类 可以单机装上Google云打印相关软件,打印成PDF。 所有实体打印机或者虚拟打印机都可以作为Google云打印的一个打印机。 相关软件例如Cloud Print for Windows(http://www.swdevs.com/cps.htm),但该软件只能免费一个打印机,且打印一张,限每天3次 又如Wappwolf Automator(http://wappwolf.com/),搞个Google Drive或Dropbox文件夹,定义只要传个文件到里面,就进行一个操作,这其中就包括转PDF,该软件转PDF要收费。 Paperless Printer(http://www.rarefind.com/paperlessprinter/index.html)免费,可打印成文件(格式包括PDF、JPEG等若干),也可打印到Google云打印机(包括PDF文件存到Google Drive和打印到实体打印机),试了下,打印PDF到Google Drive时中文文件名被识别成乱码,不过没有大碍,很不错。

Labels: ,

Friday, January 24, 2014

远程共享服务器修改密码后无法访问的解决

2012-11-19 16:33 共享服务器密码更改,再次访问共享时被拒绝(\\***.***.***.***\***),只需在命令行中执行“net use * /delete”将所有保存的连接(包括密码)清除即可,这样再次访问时输入新的用户名密码,就可以正常访问了

Labels: ,

sql2000服务开启后1433端口不通

2012-11-13 16:32 localhost的1433端口都不通,netstat查看,本地根本没有端口监听,win2003Server打上SP2补丁后还是不行,sql2000运行sp4补丁后还是不行,最后发现sp4补丁执行后原来是把安装文件解压到目录,而没有安装,最后安装sql-sp4补丁后OK

Labels: ,

mingw的安装

2012-08-03 17:28 先执行MinGWStudio.exe安装MinGW Studio,然后将另一台机上已经安装好的MinGW目录拷贝至本机任一目录如C:\MinGW,打开MinGWStudio设置目录为C:\MinGW即可。如果不拷贝,则用MinGW联网自动下载安装也可。 另外msys是模拟Unix/Linux环境的,普通开发不需要

Labels: , ,

7zip无权限导致“can not open file"错误

2012-08-03 17:24 win7 64 C盘 右键压缩,7zip无权限导致“can not open file"错误,管理员权限打开7zip在里面右键压缩成功,或拷贝至其他目录,压缩成功

Labels: ,

HTC G11 (s710e) 刷机过程

2012-07-22 20:40 s710e自带很多软件,而且无法获取root权限删除,只好刷机 查看机器是否S-OFF,查看存储卡是否FAT32,并在电脑上装好手机驱动 确认后,将PG32IMG.zip下载到存储卡根目录,更新recovery。(之前用adb+fastboot没能成功安装recovery,不知道是数据线接触不良问题还是驱动问题) 之后拷入从刷机精灵下载的“HTC Incredible S 原生CM9 豪华相机 索尼引擎.zip”,重启进入recovery选择相关选项即可

Labels: ,

win7做wifi热点的设置

2012-07-11 16:49 win7自带的共享无法使android2.2上网,用以下方法可以解决: 右击“命令提示符”,选择以“管理员身份运行” 在命令提示符下输入命令:netsh wlan set hostednetwork mode=allow 在命令提示符中输入:netsh wlan set hostednetwork ssid=您想要的无线网络的名称 key=您想要设置的密码 这一步是设置无线网络名称和密码,密码必须8位以 上 选择能直接连上网的网络连接的属性,勾选“允许其他网络用户通过此计算机的Internet连接还连接”选项,在下拉菜单中选择刚才建立的虚拟网 络,确定 这一步可能遇到问题:“Internet连接共享访问被启用时,出现了一个错误(NULL)”,启动服务里的“Windows Firewall”就好了 在命令提示符中继续输入:netsh wlan start hostednetwork (这一步是打开刚才虚拟的无线网络,这样你的Wifi手机就可以链接到你刚才建的虚拟Wifi网络了) 这样建立好之后。并不是开机自动运行的,所以,每次开机如果想使用的话,必须在cmd命令行中手动输入 netsh wlan start hostednetwork 这个命令才会启用你建立的wifi网络 除了上述方法之外,connectify这个小软件也可以让android2.2连接 后记: 初次使用时自带DHCP,后来这次在另外一台电脑上使用需要手动设置IP

Labels: , ,

win7共享网络设置

2012-07-01 02:41 win7网络连接里面自带共享wifi。 遇到问题1:有时最后一步不出现共享选项,此时需把网络属性里的共享的ICS相关的勾去掉,重新设置即可 遇到问题2:提示ICS设置不成功,此时把win7防火墙恢复为默认设置即可

Labels: ,

sql server 2008 导入文本数据出现“SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED”提示的解决

2012-06-29 19:46 sql server 2008 导入文本数据出现“SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED”提示,原因是默认的每列的宽度是50,在导入时选中导入文件后的“高级”里面,有OutputColumnWidth,默认值50改大一点就可以了

Labels: , ,

firefox搜索栏搜索定制

2012-01-19 13:55 进入C:\Program Files (x86)\Mozilla Firefox\searchplugins(win7_64系统下,其他系统根据情况有所不同),里面有若干个xml文件,每个对应搜索栏里的一个选项,自己可以打开编辑 后记:移动版firefox在FirefoxPortable\App\Firefox\searchplugins里面

Labels: , , ,

空系统安装win7_64

2012-01-13 03:37 msi X350,原装DOS系统,通过U盘安装win7_64: 用老毛桃、小马等winPE工具制作好U盘启动,进入winPE,运行U盘里面的nt6_hdd_installer程序,按提示装到启动盘,并利用U盘工具将启动盘激活(这一步很重要),把win7的ISO解压到一非启动盘根目录下,重启后安装。

后记20170104:
激活分区非常重要!(用硬盘分区工具激活),不然会提示没启动盘或找不到硬盘之类的,激活后还需要MBR是OK的,(用MBR修复工具修复),这两步都OK才能正常进入Windows

Labels: ,

转:SQL Server中的Null值解析

转发时间: 2011-12-25 20:16 from: http://blog.csdn.net/cassaba/article/details/4748528 NULL 是数据库中特有的数据类型,当一条记录的某个列为 NULL ,则表示这个列的值是未知的、是不确定的。既然是未知的,就有无数种的可能性。因此, NULL 并不是一个确定的值。 这是 NULL 的由来、也是 NULL 的基础,所有和 NULL 相关的操作的结果都可以从 NULL 的概念推导出来。 判断一个字段是否为 NULL , 应该用 IS NULL 或 IS NOT NULL ,而不能用 ‘=’ 。对 NULL 的判断只能定性,既是不是 NULL ( IS NULL/IS NOT NULL ),而不能定值。简单的说,由于 NULL 存在着无数的可能,因此两个 NULL 不是相等的关系,同样也不能说两个 NULL 就不相等,或者比较两个 NULL 的大小,这些操作都是没有意义,得不到一个确切的答案的。因此,对 NULL 的 = 、 != 、 > 、 < 、 >= 、 <= 等操作的结果 都是未知的,也就算说,这些操作的结果仍然是 NULL 。 同理,对 NULL 进行 + 、 - 、 * 、 / 等操作的结果也是未知的,所以也是 NULL 。 所以,很多时候会这样总结 NULL ,除了 IS NULL 、 IS NOT NULL 以外,对 NULL 的任何操作的结果还是 NULL 。 下面列举了 SQL Server 中处理 null 值时容易忽略的几个地方。 在阅读下文之前,请先创建示例表, Script 如下: create table dbo. cassaba_null ( column1 nvarchar ( 50) not null, column2 nvarchar ( 50) null ) go insert into dbo. cassaba_null values ( '1' , null) insert into dbo. cassaba_null values ( '2' , 'string' ) insert into dbo. cassaba_null values ( '3' , '' ) go 1. 使用 =null / <>null 咦,开篇不就说不能使用 =null / <> null 来判断 null 值吗?是的,默认情况下的确如此。实际上 SQL Server 可以 使用 SET ANSI_NULLS { ON | OFF } 设定来控制 =null / <>null 的行为。 当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。 即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。 但是当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵守 ISO 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为 XYZ_value 也不为 NULL 的行。 参看下面演示代码: 示例 1 : set ansi_nulls on declare @test1 nvarchar ( 10) if ( @test1 = null) select 1 else select 2 --------------------------------------------------------------------- 结果返回 2 示例 2 : set ansi_nulls off declare @test1 nvarchar ( 10) if ( @test1 = null) select 1 else select 2 --------------------------------------------------------------------- 结果返回 1 示例 3 : set ansi_nulls on select * from dbo. cassaba_null where column2 != null --------------------------------------------------------------------- 无记录返回 示例 4 : set ansi_nulls off select * from dbo. cassaba_null where column2 != null --------------------------------------------------------------------- 返回第 2 , 3 条记录 2. 改变 null 值的连接行为 SQL Server 提供 SET CONCAT_NULL_YIELDS_NULL { ON | OFF } 来控制 null 与其它字符串连接的行为。 当 SET CONCAT_NULL_YIELDS_NULL 为 ON 时,串联空值与字符串将产生 NULL 结果。例如, SELECT 'abc' + NULL 将生成 NULL 。 当 SET CONCAT_NULL_YIELDS_NULL 为 OFF 时,串联空值与字符串将产生字符串本身(空值作为空字符串处理)。例如, SELECT 'abc' + NULL 将生成 abc 。 如果未指定 SET CONCAT_NULL_YIELDS ,则应用 CONCAT_NULL_YIELDS_NULL 数据库选项的设置。 注:在 SQL Server 的未来版本中, CONCAT_NULL_YIELDS_NULL 将始终为 ON ,而且将该选项显式设置为 OFF 的任何应用程序都将产生一个错误。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 如果不希望每次都判断 null, 可以使用 isnull 函数来达到每次把 null 自动替换为空字符串进行连接的效果。 示例 5 : declare @test nvarchar ( 50) select isnull ( @test, '' ) + 'extend' go select column1 + isnull ( column2, '' ) as column3 from dbo. cassaba_null go --------------------------------------------------------------------- 3. 变量的默认值与 null 值 命名一个变量后,如果没有给它赋初始值,它的值就是 null 。有时候需要注意初始 null 值和通过 select 语句给变量后期赋 null 的区别。因为此 ’null’ 非彼 ’null’ 。 示例 6 : declare @test nvarchar ( 50) -- 无符合条件的语句 , 保持默认值 null select @test= column2 from dbo. cassaba_null where column1 = '4' -- 有符合条件的语句,返回的栏位值为 null ,并且赋给 @test select @test= column2 from dbo. cassaba_null where column1 = '1' 如果后面的代码使用 @test 的值是否为 null 来判断有没有匹配的记录,则可能发生错误。碰到这种状况,我们同样可以使用 isnull 函数来避免这个问题。 select @test= isnull ( column2, '' ) from dbo. cassaba_null where column1 = '1' 如上面的语句,即使有匹配的记录返回 null, 也会变成空字符串赋给 @test 了。这样就把两种情况区分开了。 4. 子查询中的 null 子查询中出现的 null 值经常会被我们忽视,先查看下面的例子。 示例 7 : set ansi_nulls off select * from cassaba_null a where a. column2 = ( select b. column2 from dbo. cassaba_null b where b. column1 = 1) --------------------------------------------------------------------- 不管上面 ansi_nulls 设置为 on 还是 off ,始终没有记录返回。我们修改一下查询语句: select * from cassaba_null a where a. column2 in ( select b. column2 from dbo. cassaba_null b where b. column1 = 1) 这样,如果 ansi_nulls 设置为 on , 则没有记录返回。 如果设置为 off ,则会返回一条记录。 对于这种状况,如果我们确定不需要返回 null 值记录,则使用下面的 sql 语句: select * from cassaba_null a where a. column2 in( select b. column2 from dbo. cassaba_null b where b. column1 = 1 and b. column2 is not null) 反之,使用下面的语句: select * from cassaba_null a where a. column2 in( select b. column2 from dbo. cassaba_null b where b. column1 = 1 and b. column2 is not null) or a. column2 is null 5. Case 语句中的 null Case 中的 when 语句注意不要写成 when null, 否则得不到想要的结果。 下面的第 1 条 sql 错误, 2 , 3 正确。 示例 8 : select case column2 when null then 'a' else 'b' end as column3 from cassaba_null select case isnull ( column2, 'a' ) when 'a' then 'a' else 'b' end as column3 from cassaba_null select case when column2 is null then 'a' else 'b' end as column3 from cassaba_null 6. 与 null 相关的函数 表 8-4 NULL 函数 函 数 名 描  述 ISNULL ISNULL 检测表达式是否为 NULL ,如果是的话替换 NULL 值为另外一个值 COALESCE COALESCE 函数返回指定表达式列表的第一个非 NULL 值 NULLIF 当指定的两个表达式有相同值的时候 NULLIF 返回 NULL 值,否则返回第一个表达式的值 具体的使用方法,请参考 SQL Server 的帮助文档。 总而言之,在写 sql 的时候,我们要非常注意 null 值的检查和使用。同时,在设计数据库的时候,如果栏位不可能为 null 值,就应该添加 not null 的约束,对于可能为 null 值的,也考虑是否可以使用默认值取代。

Labels: , ,