iOS移动开发周报-第19期

  • Post author:
  • Post category:IT
  • Post comments:0评论

版权说明 本文为InfoQ中文站特供稿件,首发地址为:文章链接。如需转载,请与InfoQ中文站联系。 前言 欢迎国内的iOS同行或技术作者向我提交周报线索,线索可以是新闻、教程、开发工具或开源项目,将相关文章的简介和链接在微博上发布并@唐巧_boy即可。 【摘要】:本期iOS移动开发周报带来如下内容:苹果第三季度财报公布,iOS界面开发的大一统,Flipboard开源的FLEX工具等。 新闻 《净利润达77亿美元!苹果第三季度财报公布》:苹果发布了截至6月28日的2014财年第三季度财报。从财报…

继续阅读iOS移动开发周报-第19期

设计一种简化的 protocol buffer 协议

  • Post author:
  • Post category:IT
  • Post comments:0评论

我们一直使用 google protocol buffer 协议做客户端服务器通讯,为此,我还编写了pbc 库。 经过近三年的使用,我发现其实我们用不着那么复杂的协议,里面很多东西都可以简化。而另一方面,我们总需要再其上再封装一层 RPC 协议。当我们做这层 RPC 协议封装的时候,这个封装层的复杂度足以比全新设计一套更合乎我们使用的全部协议更复杂了。 由于我们几乎一直在 lua 下使用它,所以可以按需定制,但也不局限于 lua 使用。这两天,我便构思了下面的东西: 我们只需要提供 boolea…

继续阅读设计一种简化的 protocol buffer 协议

iOS APP可执行文件的组成

  • Post author:
  • Post category:IT
  • Post comments:0评论

iOS APP编译后,除了一些资源文件,剩下的就是一个可执行文件,有时候项目大了,引入的库多了,可执行文件很大,想知道这个可执行文件的构成是怎样,里面的内容都是些什么,哪些库占用空间较高,可以用以下方法勘察: 1.XCode开启编译选项Write Link Map File XCode -> Project -> Build Settings -> 搜map -> 把Write Link Map File选项设为yes,并指定好linkMap的存储位置 2.编译后,到编译…

继续阅读iOS APP可执行文件的组成

skynet 中如何实现邮件达到通知服务

  • Post author:
  • Post category:IT
  • Post comments:0评论

skynet 中可以独立的业务都是以独立服务形式存在的。昨天和同事讨论如何实现一个邮件通知服务。 目前大概是这样的:有一个独立的邮件中心服务,它可以处理三条协议: 向一个 mailbox 投递一封邮件。 查询一个 mailbox 里有多少封邮件。 收取 mailbox 里指定的一封邮件。 用户读了多少邮件没有放在邮件中心,而是记在玩家数据里的。 用户的界面上需要显示是否有几封未读邮件,如果有新邮件达到,这个数字会自动变更。你可以想像成 iOS 上的那种带数字的小红点。 当然,在 skynet 的…

继续阅读skynet 中如何实现邮件达到通知服务

sproto 的实现与评测

  • Post author:
  • Post category:IT
  • Post comments:0评论

这个周末,我实现了上周设计的简化版 protocol buffers 协议,并重新命名为sproto。 在实现过程中,发现了许多编码格式上可以优化的地方,所以一边实现一边做调整,使结构更适合编码和解码,并且更紧凑。 做了如下改动: 由于这个东西主要 binding 到 lua 这样的动态语言中使用,所以我不需要按 Cap'n Proto 那样,直接访问编码后的数据结构(直接把数据结构映射为 C/C++ 对象),所以数据对齐是不必要的。 编码时的 tag 如果要求严格升序也可以更快的处理数据,减少…

继续阅读sproto 的实现与评测

以普通用户启动的Vim如何保存需要root权限的文件

  • Post author:
  • Post category:IT
  • Post comments:0评论

在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误: E45: 'readonly' option is set (add ! to override) 这表明文件是只读的,按照提示,加上!强制保存::w!,结果又一个错误出现: "readonly-file-name" E212: Can't open file for writing 文件明明存在,为何提示无法打开?这错误又代表什么呢?查看文档:help E…

继续阅读以普通用户启动的Vim如何保存需要root权限的文件

Ocotpress集成多说评论

  • Post author:
  • Post category:IT
  • Post comments:0评论

Octopress默认自带了DISQUS,但是对于国内不是很好用。于是一开始替换了国内的友言。但是后来发现用友言的人不多,而且感觉友言加载速度比较慢。然后就是到了今天的多说了。官方并没有给出具体针对Octopress的解决指导。我这里记录一下如何集成,并且解决一些常见的问题。 集成 来说评论框 这就是多说提供的通用代码中,其实理论上以下三个值通过javascript都可以得到的。 linenos:false1 2 3 <!-- 多说评论框 start --> <div clas…

继续阅读Ocotpress集成多说评论

如何让 PHP json_encode 函数不转义中文?

  • Post author:
  • Post category:IT
  • Post comments:0评论

如果你调用 PHP 自带的json_encode()函数, 碰到中文时, 中文会被转义掉. 例如: echo json_encode(array('你好')); // 输出: ["\u4f60\u597d"] 这非常恼人, 像是一堆乱码, JSON 标准从来没有说要把非 ASCII 字符转义, 标准说的是”Any UNICODE character”. 如何禁用掉这种转义呢? 答案是, PHP 自带的 json_encode() 不能禁用这个特性(在 5.4.0 版本之前),…

继续阅读如何让 PHP json_encode 函数不转义中文?