18
一 12

GClipboard – 浏览器中复制,iPhone 中粘贴

GClipboard 是一个 Google Web Clipboard(Google 云剪贴板) 的 iPhone/iPod Touch 客户端,如果你想从浏览器复制文字到 iPhone/iPod Touch,那么这个很适合你

Chrome 用户安装 Web Clipboard 扩展会更加方便

iTunes 地址:http://itunes.apple.com/app/gclipboard/id494225463?mt=8


02
十二 11

iOS开发初探

小组例会的PPT,给没接触过iOS开发的前端工程师随便讲讲


08
十一 11

Rss+ 1.0

4月初从HK背回一台MBP,自此开始iOS开发之路,今天,Rss+上架。链接:http://itunes.apple.com/app/id477397781?mt=8

市面上已有很多同类产品,也足够优秀,技术门槛也不低,我还是做了一个,因为我每天用的最多就是Google reader,给自己做产品是选材时的一大原则

  1. Rss+区别于其他产品的很大一点是不支持离线,没有网络的时候不妨玩玩愤怒鸟,看看电子书,和身边的家人朋友聊聊天,Google reader不是生活的全部,更何况你总也看不完,也许比AV七点档还长
  2. 其次是Preload功能,阅读时预加载下一篇,从而提高连读时的载入速度
  3. 接下来是翻译,上进的工程师会订阅不少国外大牛的博客,但不一定都看得懂,那就点下翻译按钮,快速通篇浏览,觉得不错就加个星,有空再细读原文
  4. 离线客户端往往只离线未读条目,不过有些时候你看到很优秀的博客,订阅了,却一直没空把所有历史文章都看一遍,那Rss+比较适合你,都能看

Rss+使用了一些开源项目:

  • ASIHTTPRequest,地球人都知道,HTTP全靠它了
  • FMDB,连接SQLite是如此简单,让我找到了写ASP的赶脚
  • JSONKit,号称最快的JSON解析器,话说老牌的SBJson名字真难听啊
  • EGO老兄系列项目,他的代表做有 EGOTableViewPullRefresh,Rss+中使用的是EGOCache、EGOPhotoViewer,双指放大的图片浏览器即是
  • MBProgressHUD,loading时的菊花,稍微改了下样式,Rss+的菊花更像Instagram
  • RegexKitLite,正则表达式,文本处理没正则怎么行
  • InAppSettingsKit,设置脚手架

UIWebView的性能问题:

不得不说用UIWebView比较痛苦,某邮箱为了画个流畅的菊花,蛋疼的动用了Canvas可见一斑(在Native中其实就是拖个控件的事)

UIWebView加载的本地图片时,尤其是图片较多加大时,整个页面会一直空白,直到关掉时才闪现一下文字,解决方法是用js控制等页面显示完了再加载图片

对待HTML5要冷静,君不见Chrome也越来越卡了

Rss+开发过程中遇到不少问题,幸好有Google,CocoaChinaStack Overflow,感谢!


23
十 11

CssGaga – AutoSprite算法简介

CssGaga最新版(当前是build 163)改进了AutoSprite算法,图片排列紧密程度已完全超越人类,带来的好处是图片面积越小客户端所占内存越小,详见谨慎使用 CSS Sprites

CssGaga是个闭源项目,你只要用就好,不必浪费时间纠结于如何实现

淘宝的文河(yyfrankyy)同学曾问我要过CssGaga的源码,被我拒绝,我觉得授人与鱼不如授人与渔,让他去用Reflector反编译,他说他学过C#

D2前端技术沙龙(北京场)纪录

D:百度空间的编译平台能不能开源,能否推广出来?
李成银:都是基于第三方开发的,但是整体没有开源,包括编码规范公司有差异,不可能迁移过来,大家就算去用很多也要花很长时间;

不打算开源百度编译平台的李成银同学在twitter上说

@ytzong 是完全自动化的么?求小图片拼大图最小面积实现算法。我们现在只做了完全自动垂直合并和水平合并。

@ytzong 求实现方法,还有对于background-position里用到right,bottom等位置是怎么处理的?

我觉得成银看不懂C#,也不想他学了C#转做Windows Phone开发,所以简单介绍下

CssGaga的AutoSprite有两种算法:

  1. 最紧算法:主要参考 Optimal Rectangle Packing: Initial Results
  2. 抄近路算法:如果全部按最紧算法虽然图片的面积是最小的,但是会耗费CssGaga大量的计算时间,这是不能容忍的,如何即紧又快呢?这就是抄近路算法,设置一个因子,所有小于等于此因子的图片视为正方形来排列,在现实当中,根据大部分页面的特点,以小icon居多,其中又以16*16居多,所以把16作为因子,小于16*16的视为16*16来处理

CssGaga的整个AutoSprite处理流程如下:

  1. 找到所有的slice
  2. 按文件格式分为两组:jpg一组,png/gif一组
  3. 对两组分别运行如下操作
    1. 去重
    2. 去除硬盘上不存在的slice
    3. 按抄近路算法的因子来分组
    4. 根据两种算法来计算最终画布大小
    5. 拼图,返回图片位置坐标
    6. 替换css中slice的background-url,并生成background-position

其中第一步还会区分是否为IE6单独使用

其实像文河和成银完全可以把写代码的时间来省出来去推广CssGaga,重复造轮子的成本是很高的


22
十 11

再谈iOS抓包,使用Fiddler

之前介绍过iOS抓包的方法,缺点有:

  1. 要插网线
  2. 要有MBP
  3. Wireshark用起来不太习惯

今天碰巧看到Secret iOS business; what you don’t know about your apps里面熟悉的Fiddler截图,恍然大悟,上面的问题就都解决了

下面以VirtualBox为例

  1. VirtualBox 工具栏 – 设备 – 更改网络连接 – 在网络选项卡中将连接方式改为 Bridged Adapter(默认为NAT)
  2. Fiddler 工具栏 Tools – Fiddler Options – Connections 中勾选 Allow Remote Computers to Connect
  3. 查看虚拟机的IP地址,如192.168.0.7
  4. 打开iOS设置,进入当前wifi连接,设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.0.7,端口填8888

完成上述操作后,运行iOS上的APP,Fiddler中就可以捕捉到请求啦~

注:PC上操作的话跳过第一步即可,不过要保证iOS所用的wifi和PC插的是由同一台路由器


15
九 11

[招聘]前端工程师、产品经理

中国移动旗下新成立的”12580红酒俱乐部”,将打造中国最大葡萄酒行业电子商务交易平台,新的团队真诚邀请您的加入,共创美好的明天。(工作地点:深圳-福田)

一、Web前端开发工程师(重构)
岗位职责:
1.负责所有web及wap等跨平台产品的页面构建,各类手机浏览器页面转化等相关研究。
岗位要求:
1.熟悉网站性能优化、SEO和服务器端的基础知识
2.对业界最新的页面实现有浓厚的兴趣和深入的见解
3.逻辑分析能力强,善于沟通,较强的学习能力
4.深刻理解Web标准,对符合web标准的网站重构有丰富经验,有成功案例
5.对css/JavaScript性能优化、解决多浏览器兼容性问题有一定的经验
6.熟悉HTML5和CSS3的优先考虑
7.熟悉对象模型与脚本语言,有iPad、iphone、android和前台开发经验者优先考虑
简历发到:ucdui@163.com

二、产品经理

岗位职责:
1.负责公司电子商务平台和后台管理系统的产品规划、设计和监督实施
2.负责自己的产品线系列运营工作,包括产品运营策划和评估、用户研究、竞品分析、市场调研
3.协调开发、设计、推广实施产品运营
4.负责处理各类产品需求,并挖掘用户需求

要求:
1.3年以上的产品策划及产品运营经验;
2.熟悉互联网,对商务应用产品和服务有深刻的洞察力和见解
3.有大型互联网产品的设计经验,并经历过完整的产品定义、研发、运营周期
4.具有优秀的计划能力、组织能力和执行能力,能够推动整个团队朝预定的目标快速前进
5.思维活跃,有创新精神,对新的互联网产品和模式非常敏感
6.有优秀的交流、沟通能力,善于文字表达和口头表达,熟练文字表达工具的运用
7.有创业激情,积极主动,责任感、使命感极强,能承受较大的工作压力
简历发到:ucdui@163.com


14
九 11

CssGaga – 快捷键

快捷键 功能
CTRL + X 清除界面文本
CTRL + W 退出程序
ESC 退出程序
F1 帮助
F5 载入上一次会话

返回CssGaga – 帮助索引


14
九 11

CssGaga – css关联性检查

勾选检查关联性开启该功能

例如:将reset.css拖进来,则当前目录所有调用reset.css的css文件都会自动处理

注:此功能山寨小李刀刀同学的CssToolkit

返回CssGaga – 帮助索引


14
九 11

CssGaga – 会话管理

这里的会话指拖进来的文件列表

  • 按F5可直接运行上一次的会话
  • 每处理完一批文件后右下角会出现“保存会话”,点击后将会话保存至桌面,为.log格式文件,将此文件拖进CssGaga则可处理其中的文件

注:在处理会话之前可重新编辑地址栏及右侧选项

返回CssGaga – 帮助索引


02
八 11

CssGaga – Slice to Code

CssGaga – AutoSprite对slice的class写法有些硬性要求,类似如下格式:

.icon{width:16px;height:16px;background-image:url(slice/icon.png);}

每次都去看图片属性查大小写url也是浪费生命,于是增加了 slice to code 功能,使用方法:

  1. 勾选AutoSprite(有用AutoSprite的肯定都是常选状态)
  2. 拖拽slice目录(或子目录)中的图片到CssGaga,支持批量操作
  3. 复制CssGaga输出的 Slice code 到你的css代码中

默认的 Slice code 格式如下:

.btn-share{width:90px;height:32px;background-image:url(slice/btn-share.png);}

如需自定义格式则可在配置文件中设置

<add key="sliceCode" value=".%filename%{$}" />

其中%filename%对应上面代码中的btn-share,$对应width:90px;height:32px;background-image:url(slice/btn-share.png);

例如想要生成的格式为

{width:90px;height:32px;background-image:url(slice/btn-share.png);}
{width:106px;height:32px;background-image:url(slice/btn-login-share.png);}

<add key="sliceCode" value="{$}" />

注:勾选AutoSprite时slice目录中的文件不能同步到目标环境

返回CssGaga – 帮助索引