前几天被人给问到了chunked,电话中怎么都没有听清是什么单词,以为是 truck ,心道前端里哪里有这个词汇,被人家狠狠鄙视了一把。电话挂了后才各种搜索,终于知道原来人家说的不是truck,而是 chunked 。
这是做什么用的呢。在服务器端需要做长时间处理例如一个耗时操作、大文件下载等行为时,可以先返回一些数据,并告诉客户端,这只是部分数据。客户端就可以先拿这部分数据做些事情,比如 UI 呈现等等。
查看的方式也很简单,就是看response 的 header ,里面有 Transfer-Encoding ,其值为 chunked。报文体据说是由四段chunk、last-chunk、trailer和结束符组成。当每个chunk 以0开头,则表示长度为0,是最后一个chunk,既last-chunk。结束符号就是CRLF咯。每个chunk 由2部分组成,并由CRLF分隔,第一部分是长度和长度单位(单位一般不写),另外一部分是具体的内容。长度是用的16进制编码的。
对于后端来说,我看网上有说法是,Response.Write方法即是,我更倾向于在Write方法后使用的 Response.Flush()方法。
今天拿到一个 pad mini,所以就想看看糗事在pad 上运行的效果是什么样子的。先在网页上添加了设备的唯一编号,然后运行。结果就报错,弹出错误提示为 “a valid provisioning profile for this executable was not found”。
网上查询了下,大致都是说证书的问题,我印象只是记得在 xcode 的界面中曾提示过什么密码不正确。后来又查看了 provisioning profile ,发现果然没有选择新添加的设备。勾选并重新生成证书,下载安装。问题解决了。
第一个iOS应用终于上架了。这是一个分享传播html5知识的简单应用。历时3个月,被拒绝了5次。通过审核时,真是感觉泪流满面啊。
由于E文水平很菜,当初想了解下苹果从开发到上架的整个流程,于是就想写一个简单的应用尝试看一看。我的很多朋友都是在做前端开发,所以就选择以 html5 作为切入点。
其实最头疼的是没有设计参与进来,所以界面简单而且丑陋。苹果的审核是很严格的,对于不会做设计的我来说,实在是有点难为我。由于程序功能简单,网上很多的界面都只有参考意义。
后来有一次看到微博上一个讲述统计的图片,有点感觉,于是使用了四叶草的变形。也恰好符合程序的几个功能菜单。在最开始的版本里,有放一个广告墙的推荐。被拒绝后在原因描述里说违反了苹果的策略。按说在应用里放广告是很正常的事情,不知道为什么会拒绝。只好给移除掉。
位置是空闲出来了,但是接下来要考虑填充的内容,恰好在看一个 cover flow的特效,那天在家在翻阅一本前端开发的书籍,当时就决定使用这个特效来推荐一些关于 html5的书籍。于是也就有了现在的样子。
应用最初出发点是想熟悉流程的,被苹果拒绝后,看着页面上显示 reject 字样,有点强迫症的我,又开始不甘心了,坚持要给做到通过。是的,最后我坚持下来了,不知道是不是因为他们的审核团队比较烦我才给通过的。
丑是丑了点,我接受各位同学的鄙视,不过你们谁有比较好的设计资源,一定要告诉我呀。
在我们的 metro/modern 应用中,如果我们的程序想实现直接跳转到微软的windows store中的话,可以参考下面的方法,这些也是我在翻 MSDN 的文档中看到的。
使用协议,关于自定义协议的文章,可以看衣服自己洗的文章。
通过ms-windows-store协议来实现。目前该协议支持3种行为,分别为 PDP、Updates、Search。首先我们要知道应用程序的包名,把应用程序的包名作为参数传递过去就可以了。如果是应用程序本身的话,可以通过 Package.Current.Id.FamilyName 来获得。
完整的程序代码:
await Launcher.LaunchUriAsync(new Uri(“ms-windows-store:PDP?PFN=” + Package.Current.Id.FamilyName));
PDP 是打开应用的列表页,参数 PFN 为应用程序的包名。Updates 是打开 store 的更新页。Search 是打开store 的搜索结果列表页,参数 query 是搜索关键词。
最近在一个android 项目中,想对一个字符串变量做 switch 判断,居然提示说有语法错误,感觉太不可思议了。然后按照 Eclipse 的智能提示,自动做修复。但是在对话框中给出了错误信息,Android requires compiler compliance level 5.0 or 6.0. Found ‘1.7’ instead. Please use Android Tools > Fix Project Properties.
在网上搜索了一把,很多文章都写的是在项目上右键 ->android tools->Fix Project。如果不可以,检查Project->Properties->Java Compiler ,确认是 1.6 。
按照这个操作了后,无论修改成 1.6 还是 1.7还是不可以,很是气愤呀。后来无意见看到到了一个,说是需要确保android sdk中有Android1.6(API4)。果断去下载了,然后把 java compiler 改成 1.7 后,问题解决了。
这真是太奇怪了。
前几天需要用到字符串拼接的地方,突然短路了,不知道怎么写了。
在 java 和 c# 中,字符串的拼接是直接用 + 来操作的。在 OC 中,说是有下面3种方法,
- NSString *str=[NSString initWithFormat:@”%@,%@” , a , b];
- NSString *str=[a stringByAppendingString: b];
- NSString *str=[string stringByAppendingFormat:@”%@,%@”, a , b];
网上的说法是第二种方法效率更好一点,不过我就感觉不出来什么,具体情况具体对待好了。
上一篇日志我不是说票不好买的嘛,然后某一天又看到了了一个3号晚上的票,所以就提前走了。
虽然回家了,但是仍在处理一个事情,笑死我了。
3年前,某单位试水互联网,推出了一款基于互联网内容的软件。刚开始的时候,很受欢迎,加上自身的优势,用户增长的是越来越快了。在节前的时候,老板做了一个决定,也就是我们现在要处理的事情,就是把这个软件从用户电脑上给主动卸载掉。
这是我工作以来,遇到的最搞笑的事情,而且这样的事情居然发生在这样的一个单位。无论是做软件也好,还是做互联网应用也好,都是想着尽量地吸引用户,占领用户的电脑。老板决定通过各种技术的或者非技术的手段,想法设法地把已经出货的电脑上的软件给卸载掉,于是我在回家后仍然不得不测试如何完全卸载掉。
软件前后几个版本,功能也都有很多变更,对于一个软件来说,在已经出货到用户手里,要满足老板提出来的“只要用户联网了,就给干掉”要求,确属不容易。
我们将推出的更新包就一个功能,更新的时候卸载自身的主程序。对于曾经花了时间和精力在上面的我来说,很是心痛。然后让老板这么做的原因就在于一个潜在的可能的法律风险。不通过商务或者法务层面去解决,而直接的干掉,对于一个总监来说,感觉武断了些。总结经验教训,可能有以下几点:
1、不是亲生儿子不受重视。曾经的部门调整,让这个项目有点不受重视,虽然亲生儿子也凡善可陈。
2、老板没有互联网意识,还只是停留在软件层面。对于互联网的东西,不懂也不想学习。
3、不愿意承担任何风险。部门间的相互扯皮。
4、后期运营跟不上。用户上来了,但是高层不愿意投入资源来负责运营,做技术的干着急。每年的预算要的多,后来用都用不完,宁愿挥霍也不愿意投入。
事已至此,某单位第一次试水互联网应该以失败画上句号。
今年一来是由于某些无下限浏览器的干扰把相对公平变得更不公平。另外由于某2货部门推广高铁,减少了直达的车次。
所以我就木有票拉。
本来夕发朝至的车,换成高铁后,价格多了200多,另外在转车的时间安排上变的不太合理了。我一直在犹豫要不要多出那200多块钱。口袋里的钱增长速度都跟不上物价的速度,连火车的更新换代速度都跟不上,真TM的惭愧。
昨天头脑发热,从vs 里进去花了 300 块买了一个微软开发者帐号,然后晚上的时候又花了 98 块钱弄了个 win 8 的升级 key 。如果有兴趣的同学也想只花 98 块钱升级的话可以和我联系获取详细的攻略咯,支持一下正版。
大半夜的开始安装 win 8 镜像,先前通过工作的便利制作了 win 8 的启动U盘,安装过程倒是轻车熟路的。进入了系统后,发现 store 应用商店无法打开。其实这个问题以前也碰到过,再安装一次就可以。半夜的时候再重装就够呛了,想从网上搜一搜解决的方法,结果网上的内容很少,说什么修改 dns 解析为 8.8.8.8 啊,修改注册表啊什么的,看起来都不是好方法。
根据网上的资料不断地摸索,终于发现了问题的解决方法了。就是把当前的网络共享给关闭了就可以了。应用商店让人耳目一新,比先前内测时候的多了很多东西。QQ 、新浪微博、人人网这些应用也都是从内测一路走过来的,他们确实是修正了不少的bug,赞一个。
win 8 要使用应用商店的话,就必须有一个 Microsoft ID,但是我又很想用以前的 Administrator 账户怎么办呢,其实通过组策略也可以实现的。
虽然禁用了UAC,但是程序图标上的那个盾牌怎么都不消失,看着真别扭。这个目前还没有找到很好的解决思路。
昨天晚上没有睡好,现在好瞌睡啊。