好遗憾呀
门口的石头桌子被偷了,纯手工打造的,貌似是明朝的货,在我家伴随着我美好的童年,真心觉得遗憾,这小偷怎么尽赶对我贵重的东西偷。
记得以前的手机版本在M9上是有问题的,由于屏幕分辨率的问题,看不到自建博客的按钮。
后来由于手机系统重装,丢了很多软件。今天偶然想起来了,安装一看还居然可以用咯。
随便写点什么做个测试,不知道是否支持中文。
按照衣服自己洗的惯例习惯,先上图:
本来按照我的计划里,在 android 版本的 糗事 发布后,是要出 iOS 的版本。
先前不是在写 jQueryPad++么,那是一个用 WPF 写的,遇到数据绑定的问题在某个技术群讨论的时候,有人顺便说现在 Windows Phone 7 SDK 已经出了中文的正式版了。想想基于net 的多少熟悉一点,再加上 WP7 的界面布局和WPF的布局方式大同小异,无非是有的控件不一样而已。
这么一来,糗事的WP 的版本倒跑到 iOS 的前面来了。iOS 版本现在的进展情况还停留在 UITable View 的阶段,惭愧的紧。根基不牢固就是我这样的下场,各位进来的同学,千万表学我。
上面的2张图我觉得算是糗事的早期版本吧。微信貌似也是这样创建的枢轴程序。不过界面看起来有点怪怪的样子,不知道是不是因为没有背景图片修饰的原因。大家有什么好的想法和建议,欢迎提出来。
明天晚上就回家滴,这里也顺便吐槽下天朝的车票,我那个去~。
提前祝大家新春快乐,和和美美。
看样子这是12年的第一篇日志。诶呦喂,搞的还有点不好意思写了。
今天中午 olay 说过来找我吃饭,我们去了醉唐轩,olay 要吃米饭,点了一个香菇鸡块盖饭,我来了一个肉夹馍和油泼扯面。结果面条吃完了,盖饭都还没上,只好把盖饭给退了。
想想 olay 就吃了点面条,商量着去凯度多买点蛋糕什么的,走到路口,看到有卖草莓的,草莓看着还不错,说等蛋糕买完了再看草莓。
买了点蛋糕,付款的时候说需要开发票,给的手撕发票有一张过期了,机打发票说因为钱太少不愿意开。就这样,蛋糕也就不买出来了。
出来后发现卖草莓的小贩都不见了,在我们刚进蛋糕店的时候,城管来了把那些小贩全部都给赶跑了。
这么一来,olay 过来一趟我倒没有花钱。只好安慰 olay 让她回家的时候在小区那边再买点什么零食吃。把我们2个人笑死了。
我前面文章提及 jQueryPad 并说自己会重写一个类似的界面了,现在 jQueryPad++ 出了第一个版本了。
先上一个界面
jQueryPad++是模仿 jQueryPad 的应用,是一个方便快捷的 JavaScript/HTML 编辑调试器,因此取名为jQueryPad++。事实上,jQueryPad很优秀,界面很漂亮,代码结构也很清晰。
jQueryPad在使用的时候,会把临时文件放在 C:\Users\【用户】\AppData\Local\jQueryPad ,但是,但是,但是不会删除这些临时文件,国内的优化软件例如QQ管家、360什么的也不会清理这里的临时文件,所以造成的后果就是这里的文件会越来越多。这让有点洁癖的我,感觉非常的别扭。
在我看来,这个问题很讨厌,比没有智能提示还要讨厌,所以也就有了jQueryPad++。
jQueryPad++把临时文件存放 IE 的临时目录下C:\Users\【用户】\AppData\Local\Microsoft\Windows\Temporary Internet Files 下面,这样只需要清理 IE 缓存文件就可以了,无论是手工还是用 QQ/360 都是很方便的。
既然是尽可能地模仿 jQueryPad,但是由于衣服自己洗的水平有限,还是有很多地方不一样的。
1、移除了顶部的 Tip,这个感觉是个鸡肋,要不要无所谓。好吧,主要是因为不会实现。
2、没有实现按钮、滚动条的颜色和 jQueryPad 的一致。看起来丑了点。
3、将程序主界面的宽度从 800 修改为 1000。
4、临时文件的存放路径发生了变化。
文件最后用 Net Framework 3.5 编译,在运行的时候是需要对应的 Framework 支持的。众所周知的,NET编译的程序,在第一次运行的时候,速度可能会比较慢,之后就好多了。
最后放上下载地址,jQueryPad++绿色版-1.12.31.36,祝大家生活愉快。
一直在使用一个叫做 jQueryPad 的软件,这是一个国外的开发者使用 WPF 技术开发的小工具。还是蛮不错的,因为某原因,我决定自己来重写一个类似的功能。
我写的这个名字就叫做 jQueryPad++,界面什么的都尽量模仿那个软件好了。jQueryPad 免费但是不开源,里面有一个功能是列出了已经安装的浏览器,点击可以用对应的浏览器打开,在jQueryPad++里,获取浏览器的实现如下:
代码里定义了一个 GetBrowsers() 方法,该方法返回一个枚举,循环枚举可以获取安装的浏览器了。代码访问注册表的某一位置可以获取到电脑上一些已经安装程序的路径,然后再进行过滤就可以了。
在刚开始的时候,我并不清楚要在注册表的哪个位置去查找,为了让同行以后避免发生这样的情况,同时也为 jQueryPad++ 打个小广告,这里放上代码实现。懒得弄代码高亮了,大家凑活看吧。
protected IEnumerable<Browser> GetBrowsers() //这里是返回迭代,Browser是一个自定义的类
{
//查找注册表的路径。这个路径我也是看了好久才发现地方的。使用了Registry ,需要添加对应的命名空间。
RegistryKey path = Registry.LocalMachine.OpenSubKey(@”Software\Microsoft\Windows\CurrentVersion\App Paths”);
string[] list = path.GetSubKeyNames();
foreach (string item in list)
{
if (item.StartsWith(“Firefox”, StringComparison.InvariantCultureIgnoreCase)) //检查是否包含Firefox ,比较字符串的时候忽略大小写
{ //如果存在firefox的键,那么默认值保存的就是程序的可执行文件的完整路径,还有一个是 Path 返回的是可执行文件的路径。同时需要注意的是 yield return 的使用,对于返回或者说是获取可迭代类型,需要这么使用,不能直接使用 return ,表明继续进行下一个操作。相关的关键词是 yield break ,表示返回。总之呢有点类似 continue 和 break 的味道。
yield return new Browser(“Firefox”, path.OpenSubKey(item).GetValue(“”).ToString());
}
if (item.StartsWith(“chrome”, StringComparison.InvariantCultureIgnoreCase)) {yield return new Browser(“Chrome”, path.OpenSubKey(item).GetValue(“”).ToString()); } // 这里和下面是获取 chrome 和 ie ,和上面的方式一样,添加opera 也是相同的道理。
if (item.StartsWith(“IExplor”, StringComparison.InvariantCultureIgnoreCase)){yield return new Browser(“Internet Explorer”, path.OpenSubKey(item).GetValue(“”).ToString());}
}
}
代码到这里,主要的功能已经实现。关于 jQueryPad++ ,等发布的时候我会单独写一个帖子,目前还有一些WPF方面的小问题需要梳理,看来还是没有达到一种语言通,就所有的语言都会的境界。
这2年发生的国内互联网网站用户帐号密码被泄漏了,而且密码都还是明文的喔。
这个太NB了,当然,我是说黑客们。
从各个网站论坛获取到的信息,应该是今年2月份和6月份攻击的,然后拿到了数据,但是不知道为什么会在12月这个时间点泄漏出来。初步看了下,CSDN、珍爱网、百合网、世纪佳缘、 51cto 、京东商城、 cnbeta、cnzz、猫扑、开心网、新浪微博、优酷、豆瓣、it168、sogou、迅雷vip、土豆、智联招聘这些网站都中招了。
话说3大婚介网站的数据都有泄漏,慢慢长夜,可以挨个挨个打电话了。
经过辗转,我拿到了CSDN 和 人人网 泄漏的用户帐号和密码。
这是多么好的一个圣诞礼物啊,说不定上述公司的苦逼IT们这个周末都要加班来维护用户数据库了。同样作为苦逼的一员,虽然我的用户帐号在我拿到的数据库里查询不到,但是我面对的是工作上 js 脚本注入漏洞的攻击,你说开发们做下过滤会死呀,害的我也跟着受罪。
祝 ZT、ZXX、ZYX 新婚快乐,虽然没有陪你们到最后,谢谢有你们一起的日子。
同时也祝大黄、JMY、JJ同学 新婚快乐,你们是我的好兄弟。
最后祝愿 XJ、SGY 找到优秀的王子。
今天想把Android版本的糗事中上次的开机自动检查新版本的事情给解决掉。今天放了一个新版本到测试服务器上,然后更新安装包的时候,提示“应用程序未安装”。
后来发现是签名的问题。我传到测试服务器上面的是经过正式签名的并用zipalign优化过的包,但是我手机上是直接用eclipse调试的,所以用的是Debug签名的。因为签名不一致,导致程序无法安装。
后来把没有正式签名的包放到服务器上更新,问题就解决了,验证修复。
在以前的博客中,我搞了个 Android 版本的 hello world。今天 iOS 版本的也出来了。
老实说,这次比以前要花费了更多的时间。
还是先上图吧。
在网上下了几个电子书,并奉献了几个通宵大致给浏览过了一下。讲的都是 objective-c 的基本知识,看的有点似懂非懂,同时也木有找到关于 Xcode 4.2 的介绍。又在网上看了点视频,总算有点眉目了。感觉看到的内容都太坑爹了。
最后学习到的:
1、icon 图标为57*57。
2、@property。这个貌似是objective-c 2才出来的功能。
3、内存管理意识。先前无论是NET还是java,都有GC去处理,在这里不行了。
接下来需要处理的是如何发布app和加快编译速度。