Hello World
Spiga

归档:2011年03月

模拟HTML表单上传文件(RFC 1867)

2011-03-27 18:59 by 老赵, 16946 visits
摘要:如今使用HTTP协议定制API已经是十分常见的事情,在普通的GET和POST请求中传递些参数估计人人都会,但是如果我们需要上传文件呢?如果只是传递单个文件,那么将数据流POST给服务器端即可。但如果需要上传多个文件,或是在文件之外需要附带一些信息,那么又该怎么做呢?之前我遇到过一些朋友是这么打算的,他们说,不如就把文件流转化为文本,然后把它当作一个普通的字段传递。这么做自然可以“实现功能”,但缺点也很多。首先,将二进制流转化为文本会增大体积(例如最常见的BASE64编码会增大1/3的数据量);其次,既然互联网上存在相关的协议,又为何要自定义一套规则呢?其实这便是《RFC 1867 - Form-based File Upload in HTML》,它是我们用HTML表单上传文件时使用的传输协议,虽然十分常用,但似乎了解它的人并不多。 阅读全文

道理人人有,就看怎么说

2011-03-22 20:50 by 老赵, 8286 visits
摘要:前几天猛鸟兄作为在使用Mac OS X时跌了个跟头,他之前是长期的Ubuntu用户,最近也买了台Mac。情况是这样的:OS X在文件夹复制(包括移动)的时候,如果目标地方也出现了同名文件夹,则OS X的策略是“替换(Replace)”,而Windows和*nix下cp命令的策略则是“合并(Merge)”。前者相当于完全删除了重名文件夹,而后者则是把其中的文件合并。对于习惯了后者的人来说,一没看清楚前者的提示,于是就丢失文件了。我当时也遇到过这情况,不过估计猛鸟兄不如我能忍,于是在吐槽推里fuck了乔教主,果不其然引发了各方争论。今天丁宇同学将他的观点整理为一篇文章,表示OS X的做法更合理,对于这个说法我不敢苟同。现在先提一下这个问题,再引出真正想说的内容。 阅读全文

使用Jscex实现排序算法动画

2011-03-10 23:35 by 老赵, 4841 visits
摘要:用动画来观察排序算法是一件很酷的事情,例如有人便为各种排序算法提供了动画效果。只可惜这些效果都是实现准备好的gif图片,并非由代码写成。在大部分平台上编写这样的程序并没有太大困难,只要在绘制出图形之后短暂地阻塞线程就行了。可惜,在JavaScript中我们只能“一蹴而就”,要暂停的话,只能使用setTimeout进行回调了。不过,这也正是Jscex的用武之地,用Jscex编写的代码需要“暂停”,只需要简单地调用sleep异步方法,一切都很直接。 阅读全文

我在面试.NET/C#程序员时会提出的问题

2011-03-03 15:38 by 老赵, 39632 visits
摘要:说起来我也面试过相当数量的.NET(包括C#,后文不重复)程序员了,有的通过电话,有的面谈。后来发现,其实提的问题来来回回也就那么几个。这些问题有的已经有十年历史了,至少也有三年。我想对于一个“不错”的.NET程序员来说,在简单的提示下绝大部分问题应该可以“对答如流”。可能您也会觉得这些太细节,真要追究起来似乎也大都不是必须的,无视这些照样可以写程序,做网站,赚工资,但是我不会满足于成为(包括招聘)这样的程序员,暂时也懒得解释掌握这些东西的益处和重要性。 每个人都有自己的看法, 一切就看您自己的选择了。 阅读全文
1
使用Live Messenger联系我