杰拉斯的博客

[转载]你真的已经搞懂JavaScript了吗?

杰拉斯 杰拉斯 | 时间:2012-12-02, Sun | 18,291 views
前端开发 

昨天在著名前端架构师Baranovskiy的博客中看到一个帖子《So, you think you know JavaScript?》

题目一:

if (!("a" in window)) {
    var a = 1;
}
alert(a);

题目二:

var a = 1,
    b = function a(x) {
        x && a(--x);
    };
alert(a);

题目三:

function a(x) {
    return x * 2;
}
var a;
alert(a);

题目四:

function b(x, y, a) {
    arguments[2] = 10;
    alert(a);
}
b(1, 2, 3);

题目五:

function a() {
    alert(this);
}
a.call(null);

请不要借助任何帮助工具,心算答案。答案在下面。

(阅读全文…)

[转载]深入浅出PHP下的文件上传

杰拉斯 杰拉斯 | 时间:2012-11-28, Wed | 26,966 views
后台技术 

文件作为一种特殊的表单数据,通过http post请求方式提交至服务器的时候,php会生成一个$_FILES全局数组,相关的文件信息会存放在这个全局数组中。我将在这篇文章中通过一些示例代码来阐述php下的文件上传,并且深入看下关于文件上传内部的实现机制,最后简单说下如何加强这方面的安全性!

文件上传

为了让客户端的用户能够上传文件,我们必须在用户界面中提供一个表单用于提交上传文件的请求。由于上传的文件是一种特殊数据,不同于其它的post数据,所以我们必须给表单设置一个特殊的编码:

<form action="upload.php" method="POST" enctype="multipart/form-data">

以上的enctype属性,你可能不太熟悉,因为这常常会被忽略掉。但是,如果http post请求中既有常规数据,又包含文件类数据的话,这个属性就应该显示加上,这样可以提高针对各种浏览器的兼容性
接下来,我们得向表单中添加一个用于上传文件的字段:

<input type="file" name="attachment" />

上述文件字段在各种浏览器中可能表现会有所不同。对于大多数的浏览器,上述字段都会被渲染成一个文本框加上一个浏览按钮。这样,用户既可以自行输入文件的路径到文本框中,也可以通过浏览按钮从本地硬盘上选择所要上传的文件。但是,在苹果的Safari中,貌似只能使用浏览这种方式。当然,你也可以自定义这个上传框的样式,使它看起来比默认的样式优雅些。

(阅读全文…)

[转载]好的创业idea 都有哪些特点?

杰拉斯 杰拉斯 | 时间:2012-11-26, Mon | 17,586 views
心路历程 

在《硅谷创业教父Paul Graham:如何获得创业idea》系列文章中,Paul Graham 在行文中暗含了好/糟糕idea 的特点/兆头,Nic Brisbourne 整理、归纳如下,仅供参考:

好idea 的特点

  1. 这是创始人自己想要的产品/服务
  2. 这是创始人自己能够做出来的
  3. 少有别人意识到这是值得做的事情
  4. 这是一小群人迫切想要的,哪怕它只是一个粗糙的版本
  5. 它是处于某快速变化的领域的前沿的
  6. 一旦这些问题得到解决,再回过头来看,它们就会变得再明显不过
  7. 创业idea 不该是“想到”的而应该是“注意到”的

糟糕idea 的特点

  1. 很多人需要它,但只会用一下下,而不是迫切需要
  2. 如果有大量的人迫切需要某样东西,而这样东西只需一家创业公司的努力就能把它实现出来,那它很有可能早就存在了
  3. 创始人对该领域并不十分了解

上面的任何一条都并不足以说明你的创业idea 究竟是好是坏,它们只是兆头,而非绝对的证据。一些特别成功的创业公司身上也能找到糟糕idea 的影子,反过来,失败的创业公司也能看到好idea 的特点的存在,但综合来说,成功的创业公司身上,好的东西总比坏的多。

(阅读全文…)

BAE中实现WordPress固定链接及伪静态

杰拉斯 杰拉斯 | 时间:2012-11-19, Mon | 65,658 views
后台技术 

写在前面

有一好友在BAE上搭建了自己的WordPress博客,但由于BAE推出的时间较晚,不像SAE那样已经具备较为完善的应用仓库,对WordPress博客程序也没有官方的支持,而固定链接对于一个博客来说是比较重要的,伪静态有利于搜索引擎优化,而链接的格式若不尽早确定,日后再想改变将是一件非常麻烦的事情。

什么是BAE

百度应用引擎(Baidu App Engine,简称BAE)是基于百度基础架构推出的网络应用开发平台,基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。

开发者可以基于BAE平台进行PHPJavaPython应用的开发、编译、发布、调试。同时BAE平台也提供了大量的云服务给开发者,包括fetch URL、task queue、SQL、memcache,后续会提供更多服务。在性能方面,如果开发者希望增加服务能力,可以通过申请更多执行单元的方式进行灵活的调整。

BAE服务可以让开发者在开发网络应用程序的过程中摆脱繁琐的环境、服务问题,把精力专注于业务逻辑。

简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。
开发者可以基于BAE平台进行PHP、Java、Pyt应用的开发、编译、发布、调试。同时BAE平台也提供了大量的云服务给开发者,包括fetch URL、task queue、SQL、memcache,后续会提供更多服务。在性能方面,如果开发者希望增加服务能力,可以通过申请更多执行单元的方式进行灵活的调整。

(阅读全文…)

PHP 5.5.0 Alpha 1 发布

杰拉斯 杰拉斯 | 时间:2012-11-16, Fri | 9,595 views
前沿信息 

PHP 5.5.0 发布了首个 Alpha 测试版本,该版本包含众多改进和 bug 修复,详细列表请看这里

PHP(PHP:Hypertext Preprocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理动态网页,也包含了命令列执行接口(command line interface),或者产生图形使用者接口(GUI)程式。

PHP 最早由 Rasmus Lerdorf 在1995年发明,现在PHP实质上的标准由PHP Group和开放源代码社群维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不相容。

来源:开源中国社区