rapheal 与 d3.js 以及svg以及android 内置浏览器

目前似乎d3比较火,细想一下,我觉得是其在android浏览器上兼容性上占优势,为什么呢?

 

原来android4.0之前的内置浏览器居然不是chrome,他们只是共享了些代码,具体是叫什么内核,我是没找到。参见 https://developers.google.com/chrome/mobile/docs/overview

 

而糟糕的是此浏览器居然不支持svg而只支持canvas。所以d3这方面就能兼容了。

 

在ios 是safari,那是自然支持svg得了,参见这里可看到svg支持表:http://caniuse.com/#search=svg .

 

那么你想找到一种支持所有主流浏览器的绘图方案还居然是不可能的,rapheal使用svg,vxml,但是它不能兼容andriod4.0之前的版本,你说这个android可恨不可恨。

 

 

 

参见:

http://coding.smashingmagazine.com/2012/02/22/web-drawing-throwdown-paper-processing-raphael/

http://stackoverflow.com/questions/8985682/svg-support-on-android-current-status

Continue reading rapheal 与 d3.js 以及svg以及android 内置浏览器

Godaddy域名被误删的经历

原来的域名ig2net.info和ig2net.com被我误删了! 其原因是godaddy那误导性的界面还有我的手贱!

 

本来我是买了两年的一直到2015年,花了50刀,当看到信用卡上已经出了账单时我以为已经购买成功,因此为安全原因就想把我的信用卡信息从godaddy上删掉。删的过程中,godaddy提示有两个item被绑定(ig2net.info和ig2net.com),我当时想款都已经付了,应该没问题吧。结果就点了确认,居然没有出错,居然就这样删了。结果就是ig2net.info和ig2net.com域名被删。我的博客马上就访问不了。

 

一身冷汗!赶紧找Godaddy客服,不好意思没有在线客服,除非你打电话直接联系,发了邮件说是18小时内回复,其实是第二天快24小时候才回个邮件说可以从domain可以恢复:

 

  1. Log in to your Account Manager. 登陆godaddy账户
  2. Next to Domains, click Launch. 点击Domains,点击Launch
  3. From the Domains menu, select Recover Expired Domains. 从Domains菜单中选择Recover Expired Domains
  4. Select the domain name(s) you want to recover. 选择你想恢复的域名
  5. Click Recover. 点击Recover
  6. Select the renewal length for the domain name(s), and then click Next.

    NOTE: Renewal lengths for multiple domain names can vary depending on maximum renewal lengths allowed by each domain name registry.

  7. (Optional) Select the registration and website options you want to apply to your domain name renewals.
  8. Click Next, and then complete the checkout process.

一路下来居然要我300美刀,有没有搞错啊!什么附加项目也没选,居然要这么多。

再联系客服,还是一天后回复:

 


Days after expirationAction
Day 1We make the first of three billing attempts to renew the domain name. If the billing fails, the domain name expires. The domain name can be renewed by the registrant at no extra cost.
Day 5We make the second billing attempt. If the billing fails again, the domain name is parked. The domain name can still be renewed by the registrant at no extra cost.
Day 12We make the third and final attempt to renew the domain name. The domain name can still be renewable by the registrant at no extra cost.
Day 19
The domain name can be renewed by the registrant for the cost of a one-year renewal plus an $80.00 redemption fee.
Day 26We add the domain name to an expired domain name auction.
Day 36The expired domain name auction ends. If there are no backorders and no bidders in the expired domain name auction, we list the domain name in a closeout auction.
Day 41The closeout auction ends.
Day 43We assign the domain name to the winner of the expired domain name auction, backorder, or closeout. If there are no bidders, we return the domain name to the registry.


我还是不明白,明明还没过期,怎么就到Day19了?

然后再看看Recovery,居然要我500刀,有没有搞错!

 

看来恢复无望,看能不能把钱要回来。再问客服,还是一天后恢复:

可以,要回复此邮件我们将退款给你。

 

这还差不多,不至于域、财两空。

 

只好再从name.com买了个域名kazge.com。

 

godaddy用了几年了,界面真是烂,一点也不fashion. 客服反映慢,邮件都是一天后才回复,我明明是他给我邮件后马上回复的。

不过它支持支付宝这点对国内来说还是比较方便的。

 

name.com是别人推荐的,目前用起来还没什么问题。不过传说的whois免费是没碰到的。

 

买域名要想能自动renew,那还得信用卡。否则,到时再续费就行了。

 

 

换了域名,原来许多文章指向站内链接也需要换,这片文章介绍了个插件Velvet Blues Update URLs

http://www.wpdaxue.com/wordpress-change-domain-update-urls.html

还行,但是不能更新评论中的链接。

Continue reading Godaddy域名被误删的经历

HttpClient ssl 无验证

今天发现httpclient完全是个版本帝,前段时间刚刚从升级到4.o,丢弃曾经熟悉的使用结构。这次升级到4.2后里面又一堆方法被丢弃了。

看着写的类一堆黄行行,心里确实不舒服,这里干个时髦。

 

Httpclient创建ssl无验证的工厂代码:

name="code" class="java:showcolumns">public static HttpClient getHttpClient() { if (httpClient != null) return httpClient;

Continue reading HttpClient ssl 无验证

Google日历的农历提醒

Google日历非常不错,提供免费的短信提醒功能,支持国内手机。

 

但是其尚不支持农历周期提醒,解决这个问题见这里:

http://hi.baidu.com/elegate/item/02ce23a0dca3899c14107363

 

软件使用注意:

选择的应该都是农历日期,前一个代表提醒的日期,后一个代表周期提醒结束日期,例如前一个设置2012-01-2,后一个设置2080-12-30那么就每年农历正月2号提醒一直到2080年,因为它还做不到无限循环提醒。

生成的ics文件是保存在软件所在目录。

Continue reading Google日历的农历提醒

再谈c盘空间不足

之前转载了c盘整理的文章,这次仍然c盘不足,发现一个较好的文件空间占用分析工具space_sniffer

主页:

http://www.uderzo.it/main_products/space_sniffer/download.html

下载:

http://www.uderzo.it/main_products/space_sniffer/files/spacesniffer_1_1_3_1.zip

 

这个是免费的,这里有文章介绍:

http://www.iplaysoft.com/spacesniffer.html

 

使用其扫一遍,发现这个itune占了2G,我就知道是这个原因,但一直不知道它到底是哪里占的空间,这下借助这个软件可以知道具体位置,删之。

 

另外有个hiberfil.sys 文件也很大,他是windows的休眠备份文件,可以通过禁止休眠来删除:

这里讲了两种方法禁止,我试过命令行,没成功,但是控制面板里是可以的,一下子又减少了3G.

http://jingyan.baidu.com/article/9113f81bcca4a22b3214c732.html

 

上面两个方式一共减少了6G,这样就差不多了。

 

另外还有几个明显很大的文件夹:

C:\ProgramData

C:\Users

C:\Program Files

这些没有提供设置来更改了路径,网上有些修改注册表的方法,不是很推荐。

http://www.360doc.com/content/12/1017/22/3145655_242113958.shtml

 

也不建议自己手动删除这些文件夹,可能导致程序配置问题无法运行。

我试过删除ProgramData,结果vmware station无法上网了,而且这个奇葩竟然把删除程序放在这个文件夹里,于是删除也删除不了,只好使用http://ishare.iask.sina.com.cn/f/14528142.html 这个来清理然后再重装。还不行的话那只有手动删除了 http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1308

不过这个也不一定解决问题,如果还不行(果然是奇葩),那你就只好一项项查找注册表vmware删除再试试了,我就是这样花时间试出来的。

Continue reading 再谈c盘空间不足

jquery validate 插件

jquery validate plugin是个很不错的验证form的插件,提供许多类型的验证并且UI错误提示。

 

主页:

http://docs.jquery.com/Plugins/Validation

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

 

配置一个form下面的验证:

$('#frm').validate({
			rules : {
				username : {
					minlength : 2,
					required : true
				},
				email : {
					required : true,
					email : true
				}
			},
			messages : {
				username : {
//					minlength : jQuery
//							.format("At least {0} characters required!")
					minlength : 'Why your name is so short?'		
				},
				email : {
					required : "We need your email address to send token to you"
				}
			}			
		});

 

据我使用的情况,选择子必须是个form,否则报错。

上面的例子为name=”username”这个元素指定了最小长度2,必须这两个验证

为name=”email”这个元素指定了必须和email这两个验证。

对应的messages则制定了出错后的显示字符串(如果要支持i18n则需要另外的使用方法。)

 

结合bootstrap使用的例子http://alittlecode.com/jquery-form-validation-with-styles-from-twitter-bootstrap/

代码中只需要添加如下:

 

highlight : function(element) {
				$(element).closest('.control-group').removeClass('success')
						.addClass('error');
			},
			success : function(element) {
				element.text('OK!').addClass('valid').closest('.control-group')
						.removeClass('error').addClass('success');
			}

 

需添加样式:

name="code" class="css:firstline[1]"> label.valid { width: 24px; height: 24px; background: url(../i/valid.png) center center no-repeat; display: inline-block; text-indent: -9999px; }

Continue reading jquery validate 插件

apache httpclient及httpurlconnection的问题

之前写过httpclient 在android上的问题(http://kazge.com/archives/947.html),后来曾想过完全抛弃httpclient,但是这次使用jvm上的httpurlconnection又碰到个问题。

 

 

httpurlconnection的问题:

当请求返回的是400之类的错误码时,则直接抛异常,得不到返回体。这个对于RESTFul请求就不太好了,因为它的返回体有时也包含了具体错误信息,客户端是要用的。而httpclient则没这个问题。

 

 

httpclient主要是在android上的问题:

google不推荐使用,版本保持在4.0.1不再更新,可想之后前途。

 

总结下:

jvm上还是用httpclient吧,Dalvik VM上Android2.3(Gingerbread)之后建议httpurlconnection。

Continue reading apache httpclient及httpurlconnection的问题

mysql 8小时解决

以前解决8小时问题通过设置不起作用,后来使用poxool池就可以

 

这次发现dbcp还是好些,可能还是配置问题:
http://stackoverflow.com/questions/8535433/spring-app-losing-connection-to-mysql-after-8-hours-how-to-properly-configure
从其答案中说是需要配置:
testWhileIdle, validationQuery and timeBetweenEvictionRunsMillis
这里有个例子
validationQuery = "SELECT 1" 
testWhileIdle = "true"   
timeBetweenEvictionRunsMillis = "3600000" 
minEvictableIdleTimeMillis = "18000000"
testOnBorrow = "true"
有人说
timeBetweenEvictionRunsMillis
这个值不能设置>time_out
但http://stackoverflow.com/questions/15949/javatomcat-dying-database-connection
几个例子都比它大,所以应该是要设置testWhileIdle=true
dbcp文档:
http://commons.apache.org/dbcp/configuration.html

Continue reading mysql 8小时解决

cannot be read or is not a valid ZIP file问题

今天又遇到maven问题:cannot be read or is not a valid ZIP file

 

工程是导入的,在别的机器上好好地,导入到我的机器上就出了问题。

 

我的是maven3,仓库是默认的。

 

打开报错的jar文件,好好地,没什么问题。

 

最后发现在eclipse里面打开这些包里的类却是报错。

 

看来还是包没有正确下下来。没办法只好将包从本地仓库中删掉,再更新maven 依赖。终于解决了。解决一个包的问题又出现另外的包同样的错,一个一个同样的解决办法,要是想爽快,干脆将整个本地仓库删掉再更新maven依赖。

 

你还得感谢它还报了个错,等我运行时,还是发现这类没找到,那类没找到,同样,删吧,更新……

 

就这样弄环境就花了两个小时,maven就是强。

 

导入maven工程很容易出现这种情况。

 

 

但最终都是maven这个怪物的问题,0073D164

Continue reading cannot be read or is not a valid ZIP file问题

mysql 时间字段使用int还是datetime …

注意:这里的int是mysql整形统称, 因为datetime是8字节,所以对应是应由mysql bigint代替,timestamp是4字节,可由mysql int代替,一般java,php时间戳应该是由mysql bigint才能完全存储,mysql int长度不够。

 

今天又纠结数据库里时间存储的问题,以往的经验,时区问题很繁琐,而mysql的date,datetime,timestamp都是和时区设置有关系的。(当然)

 

我认为一般设计数据库,时间存储的应该是UTC时间,这样便于物理和逻辑上的移植,对于国际化功能的应用更是如此。可以省去许多时区转换的麻烦,可以维持一致性。

 

网上也有这方面的讨论,大部分赞同int

 

例如:

Why MySQL’s (SQL) DATETIME can and should be avoided

 

 

 

对于性能,

下面的这篇文章的测试我认为具有片面性

MySQL DATETIME vs TIMESTAMP vs INT performance and benchmarking with MyISAM

其测试认为int 比datetime慢,但是其测试语句使用了相当多的mysql 日期函数,我们根本就不需要这样做,我们不需要使用数据库的日期函数,只要保证传入数据库的参数是int,像日期比较直接用int比较实际是比datetime要快的。

 

 

参照openfire的mysql设计,发现它根本就没有使用任何datetime,timestamp类型。而是用bigint或是char。

 

 

我的观点:

对于应用型数据库,不应该使用datetime。

对于需要在sql中嵌入逻辑的例如分析型数据仓库,数据管理员可能会倾向于使用datetime。

 

 

 

参见:

http://billauer.co.il/blog/2009/03/mysql-datetime-epoch-unix-time/

http://gpshumano.blogs.dri.pt/2009/07/06/mysql-datetime-vs-timestamp-vs-int-performance-and-benchmarking-with-myisam/

Continue reading mysql 时间字段使用int还是datetime …

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1