走近 Ruby 的世界(二)

还是零碎的记录,也不知道该为每一篇赋上什么合适的标题,姑且用一、二、三、四 ...... 往下标吧。

一种编程语 言,Coding 时一定要讲求效率的,我向来不认为用记事本来写程序就可被认为是多么的高明。就像测试 Java 程序我仍然是选用 Eclipse,当然命令行技术是要求掌握的。写 Ruby 程序可以用 NetBeans 那样带智能提示的工具,但是 Mac OS 下,TextMate 的口碑很不多的,它有很好用的 Bundle,Cmd+R 就能看到运行结果,查帮助也很方便。

从代码的智能提示来看,TextMate 或许只能称之为半智能,但它的效率还是非常的高,且基于其余时候打开 TextMate 的频度,我选择 TextMate 作为 Ruby 的 IDE。

Ruby 的表达式和操作符,Ruby 的语法是面向表达式的,如在其他语言中的控制结构在 Ruby 中统统叫做表达式,只是它们的返回值为 nil。来看几个较有特色的 Ruby 运算符: 阅读全文 >>

类别: Ruby. 标签: , , . 阅读(93). 评论(0) »

走近 Ruby 的世界(一)

因工作需要,需用到 Ruby 来写 BDD(Behaviour Driven Development) 的脚本,这样的话还是希望自己对 Ruby 有一定程度的了解,不能总是依葫芦画瓢吧。

Ruby 是由松本行弘(Yukihiro Matsumoto, 简称:Matz) 发明的,确实应该佩服一下,不存在什么民族情节的,比起所谓的汉语编程要强上千百遍,再说,通常民族情节都为政治所利用的。蒙牛、百度,腾讯等等 ,民族品牌,狗屁,都是某些个岛国注册的。

Ruby is designed to make programmers happy. Ruby 吸收了 List、Smalltalk 和 Perl 的灵感,采用了类似于 C 和 Java 的语法。

Ruby 是完全面向对象的编程语言(completely object-oriented language),不像 Java 和 C 存在基本(原始)类型,在 Ruby 的世界里,什么都是对象,像数字,true、false 或  nil 都是对象,它们有自己的属性和方法,你可以对它们点一下点出东西来。如: 阅读全文 >>

类别: Ruby. 标签: , . 阅读(242). 评论(0) »

李承鹏新文完败韩寒三博, 内容并不代表本网立场

当今中国,不存在走着前进还是跑着前进的问题,只存在要不要前进的问题。否则你明白不了不准搞、不准搞、不准搞……那样的议题。

当今中国,不存在开快了或开慢了的问题,只存在要不要正确行驶的问题。否则你解释不了很快的动车追尾了、很慢的校车倾覆了、不快不慢的公交车也自焚了,这些社会问题。

当今中国,不是用补药还是下猛药的问题,只存在一个病人讳疾忌医,甚至病急乱投医。比如,毒奶横行是因为草他妈,假药滥市因为销售代表道德低下,最漂亮的馒头就是染色馒头,政府不反思官德崩坍却号召全民提高私德,这么一系列跑题的案例。

不存在革命还是改良的方式问题,只存在想不想与世界一起前行的方向问题。 阅读全文 >>

类别: 新闻. 阅读(69). 评论(0) »

WordPress 站点带宽几天就耗尽,都是 WP Gravatar Mini Cache 惹的祸

有两个月里,本站点只能月头坚持七八天,基本处于瘫患状态。访问时就出现几行文字信息,现在不记得啦,大概就是域名被临时挂起了。后来才知道是因为有限的带宽已消耗怠尽,才不允许访问的。似乎这种情况还能给我带来点惊喜,我的网站有这么受欢迎吗!从 Google 的网站分析数据来看,并不是这样,那么就是有异常了。

站点停了几十天后,第一次找了下原因,似乎我站点上提供了几个文件下载量特别大,于是把那几个文件搬到文件分享网站上去分流,还是不奏效,没几天还是收到带宽将要耗尽的邮件通知。是不是别的几个服务器目录中的文件被人拼命下了呢,于是把它们改了名,还用插件对文件的下载进行了监控,未见异常。就这样,仍是没过几天,网站再一次被关闭了,距离月底还有几十天。 阅读全文 >>

类别: WordPress. 标签: . 阅读(477). 评论(0) »

有时候可用 UIWebView 代替 UITextView,解决行间距问题

我们在使用 UILabel 或是 UITextView 时,如果文字出现了换行,目前我还不知道如何去控制行间距,固定的 Label 文字 可以折成两个 Label 上下显示,但是对应大段显示的段落要多行显示时该如何呢,多行单独控制就变得不现实了。

由于 UILabel 或 UITextView 并不提供对行间距 line-height 的设置,要达成所愿指定行间距的方法,我可以想到三种方式:

1. 自定义相应的控件,在控件内部方法中去做文章,未实践,可能是个好方法
2. 修改字体,由于默认行间距是由字体本身特性决定的,所以可以修改字体来满足有限的需求,不是很现实
3. 用    UIWebView 来代替 UITextView,这是本文的思想

先看个图片,看看在使用某些字体时失控的行间距是什么样的效果: 阅读全文 >>

类别: iOS. 标签: , . 阅读(5,350). 评论(4) »

16个WordPress中使用的Google服务和应用

Google提供了很多不错的用户端服务和应用,虽然最初是一个搜索引擎,今天Google几乎为每一个用户提供解决方案。当为了满足需求的时候,Google并不忘记满足Web开发人员和设计人员的需求。在这篇文章中,我们将了解一下Google提供了那些主要的服务,并且如何应用到wordpress中的。

16个wordpress博客中使用的Google服务和应用

阅读全文 >>

类别: WordPress. 标签: , . 阅读(83). 评论(0) »

iOS Programming – 触摸事件处理

iphone/ipad无键盘的设计是为屏幕争取更多的显示空间,大屏幕在观看图片、文字、视频等方面为用户带来了更好的用户体验。而触摸屏幕是iOS设备接受用户输入的主要方式,包括单击、双击、拨动以及多点触摸等,这些操作都会产生触摸事件。

在Cocoa中,代表触摸对象的类是UITouch。当用户触摸屏幕后,就会产生相应的事件,所有相关的UITouch对象都被包装在事件中,被程序交由特定的对象来处理。UITouch对象直接包括触摸的详细信息。

UITouch类中包含5个属性:

             window:触摸产生时所处的窗口。由于窗口可能发生变化,当前所在的窗口不一定是最开始的窗口。
             view:触摸产生时所处的视图。由于视图可能发生变化,当前视图也不一定时最初的视图。
             tapCount:轻击(Tap)操作和鼠标的单击操作类似,tapCount表示短时间内轻击屏幕的次数。因此可以根据tapCount判断单击、双击或更多的轻击。 阅读全文 >>

类别: iOS. 标签: , , . 阅读(1,024). 评论(2) »

设置 UILabel 和 UITextField 的 Padding 或 Insets

iOS 的控件,只看到 UIButton 可以设置 Padding/Insets,即按钮上文字或图片与按钮边界的间隙,对与 CSS 来说叫做 Padding,在 iOS 中叫做 Insets,UIButton 设置 Insets 相应的属性如下:

Configuring Edge Insets

      contentEdgeInsets  property
      titleEdgeInsets  property
      imageEdgeInsets  property 

它们接受的属性类型是:UIEdgeInsets,由函数 UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right );     构造出,分别表示其中的内容/标题/图片离各边的距离。

在 xib 中也有界面来对按钮的这三个 EdgeInsets 属性的设置,分别是按钮的 Edge 和 Inset 属性。

印像中,Swing 的许多组件都可设置 Insets 属性,可对于 iOS 的控件就没那么幸运了,比如我想设置 UILable 或 UITextField 中的文本离边界的间隙,无伦是在 xib 里还是直接代码的方式都无能为力,因为它们根据未开放相应的属性让你去控制。 阅读全文 >>

类别: iOS. 标签: , , , . 阅读(22,499). 评论(0) »

本站意外休眠了十天后重新恢复正常

本站前段时间有几天时好时坏,经常一访问:http://unmi.cc 就出现:

This account has been suspended.
Either the domain has been overused, or the reseller ran out of resources.

这样的错误提示,我真的还担心是不是触动了大墙而被 Block 了呢,又不怎么像。从大约十天前起就彻底不挺了,今晚问了一下主机提供商的客服,才知道,原来是被爆了--超过月流量了。没理由呀,这个站点还没有这么知名到访问量骤然上升的,彻查啊,于是上图上真相: 阅读全文 >>

类别: Gossip. 标签: , . 阅读(95). 评论(0) »

设置 NSZombieEnabled 定位 EXC_BAD_ACCESS 错误

我们做 iOS 程序开发时经常用遇到 EXC_BAD_ACCESS 错误导致 Crash,出现这种错误时一般 Xcode 不会给我们太多的信息来定位错误来源,只是在应用 Delegate 上留下像 Thread 1: Program received signal: "EXC_BAD_ACCESS",让问题无从找起。

比如你对已释放的对象发送消息时就会出现,EXC_BAD_ACCESS,再如 release 的对象再 release,release 那些 autorelease 的对象等也会报这样的错。默认设置下 Xcode 不会给你定位具体是哪一行代码,不该去使用已释放的对象,或者 release 用错了。

比如 UIViewController 子类中这样的代码: 阅读全文 >>

类别: iOS. 标签: , . 阅读(3,066). 评论(1) »