<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aio69762的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aio69762</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aio69762]]></copyright><item><title><![CDATA[大前端概念带来的网站架构革命]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850315</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850315</guid><author>aio69762</author><pubDate>Mon, 01 Apr 2013 14:24:00 +0800</pubDate><description><![CDATA[这段时间在学习PHP的一些知识，做为一个前端开发者，看到PHP中有大量的涉及前端HTML页面甚至JS的内容，感到不可思议。其实完全可以把这些工作交由前端JS来完成，server端一行HTML代码都没有是最美的。而前后端的交互，统一由REST API完成。
在进入到新公司后，正赶上公司从传统的server行为全面向REST API转型，这不仅引起了我的注意，也有了很多思考。基于REST ...]]></description><category></category></item><item><title><![CDATA[曹操传的复兴]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850312</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850312</guid><author>aio69762</author><pubDate>Sat, 16 Feb 2013 17:04:00 +0800</pubDate><description><![CDATA[战棋类游戏一直是我的最爱。97年的时候在表哥家围观他玩《炎龙骑士团》，那种因缘就已经种下。大学期间和几个室友一起玩曹操传，自己一门心思玩三国志9，收获到的不仅仅是征服的快感，还有游戏曲折的情节，当吕布和貂蝉诀别的时候，我甚至心里泛起了一丝酸楚。
过去的一个月里，因为偶然的机会玩起了《世界征服者2》，一下子就沉迷其中。渐渐地，其中一些微观的技巧也被我探索出来，感觉非常满足。
刚刚翻阅A...]]></description><category></category></item><item><title><![CDATA[JS小技巧]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850314</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850314</guid><author>aio69762</author><pubDate>Mon, 29 Oct 2012 22:29:00 +0800</pubDate><description><![CDATA[1，让一个object支持数组遍历函数的写法：
['filter','forEach','every','map','some'].forEach(function(name){
  Collection.prototype[name]=function(){
    returnArray.prototype[name].apply(this._items, argu...]]></description><category></category></item><item><title><![CDATA[构建单页web app的原则]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850311</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850311</guid><author>aio69762</author><pubDate>Mon, 29 Oct 2012 11:22:00 +0800</pubDate><description><![CDATA[Single page app是指类似gmail一样的在单个网页上无跳转实现各种网络操作的网页应用。HTML5的兴起也让构建此类单页应用变得更加简便。但目前国内在这方面的积累很少，除了百度和腾讯有个别团队已经有成形的产品外，很少有得到广泛应用的单页app出现。不过作为未来的一个趋势，这是值得我们好好积累的。这里把构建单页app的几个重要经验列出来供大家分享。当然，关键还是在实践，...]]></description><category></category></item><item><title><![CDATA[使用Three.js + Blender构建在浏览器端显示的3D模型（5）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850309</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850309</guid><author>aio69762</author><pubDate>Tue, 16 Oct 2012 16:49:00 +0800</pubDate><description><![CDATA[第四章 使用three.js加载以图片为纹理的模型（下）
在上一章里，为了演示的方便，我们选择了一个简单的模型。但是如前所述，在实际的生产环境中，一方面我们的模型更为复杂，另一方面我们的贴图也不是普通的照片，而是处理过的uv图。uv图就是xyz三维图通过变换形成的二维图，类似数学里面学的极坐标变换。UV图的制作可以借用一些软件工具完成，在blender里面也有UV图编辑器。
这一节我...]]></description><category></category></item><item><title><![CDATA[使用Three.js + Blender构建在浏览器端显示的3D模型（4）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850310</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850310</guid><author>aio69762</author><pubDate>Tue, 16 Oct 2012 10:16:00 +0800</pubDate><description><![CDATA[第四章 使用three.js加载以图片为纹理的模型（上）
在前言中我们介绍过，我们一般不用three.js自带的三维模型创建函数去拼凑我们想要的三维模型，而是使用类似Blender一样的三维建模工具去定制三维模型，然后导出为three.js可以识别的jason格式，加载显示。通过这种方式，我们可以构建较为原始的三维模型在浏览器端显示，比如我们前面看到的马克杯模型。如果单纯依靠三维建模...]]></description><category></category></item><item><title><![CDATA[使用Three.js + Blender构建在浏览器端显示的3D模型（3）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850307</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850307</guid><author>aio69762</author><pubDate>Thu, 11 Oct 2012 00:34:00 +0800</pubDate><description><![CDATA[第三章 使用three.js加载blender生成的马克杯模型
先看看效果图，这是在firefox里面加载的

代码如下：

 1 var SCREEN_WIDTH = window.innerWidth,
 2     SCREEN_HEIGHT = window.innerHeight,
 3     windowHalfX = window.innerWidth / ...]]></description><category></category></item><item><title><![CDATA[使用Three.js + Blender构建在浏览器端显示的3D模型（2）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850308</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850308</guid><author>aio69762</author><pubDate>Wed, 10 Oct 2012 23:41:00 +0800</pubDate><description><![CDATA[第二章 Blender的使用
blender最快的学习方法就是看视频教程了，这里要感谢一位台湾大哥，制作了一整套的适合初学者的视频教程：http://v.youku.com/v_show/id_XMzI4MjkyNDAw.html?f=16694862
因为我也是初学者，所以这里我把自己学习过程中遇到的一些问题列出来，想必会对其他初学者有所帮助。
1，Blender极其灵活的窗口系...]]></description><category></category></item><item><title><![CDATA[使用Three.js + Blender构建在浏览器端显示的3D模型（1）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850306</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850306</guid><author>aio69762</author><pubDate>Tue, 09 Oct 2012 11:39:00 +0800</pubDate><description><![CDATA[前言
前端3D效果的展示方法很多，如果简单的显示一个立方体，我们可以用六块div，每块div结合CSS的旋转特性，旋转出不同的角度组装出来一个盒子。当我们拖拽这个盒子的时候，可以用JS根据鼠标新的坐标点刷新那六个div新的旋转角度参数，让六个面始终同步旋转，始终是闭合的，所以视觉效果来看是3D的。
上述方法适用于简单的3D模型，比如立方体、长方体等。其特点是，各种控件都支持这种css...]]></description><category></category></item><item><title><![CDATA[10行HTML代码构建JS正则表达式验证器]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850305</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850305</guid><author>aio69762</author><pubDate>Mon, 17 Sep 2012 22:57:00 +0800</pubDate><description><![CDATA[Input  
      RegExp
      
Result 
      


源码如下：

&lt;html&gt;&lt;head&gt;&lt;/head&gt;
&lt;body&gt;
    &lt;label for=""&gt;Input &amp;nbsp;&amp;nbsp;&lt;/label&gt;
    &lt;in...]]></description><category></category></item><item><title><![CDATA[响应式布局设计研究]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850327</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850327</guid><author>aio69762</author><pubDate>Fri, 14 Sep 2012 12:34:00 +0800</pubDate><description><![CDATA[&lt;占位符&gt; 近期将从这篇文章开始：http://bradfrost.github.com/this-is-responsive/patterns.html

转载于:https://www.cnblogs.com/rsail/archive/2012/09/14/2684725.html]]></description><category></category></item><item><title><![CDATA[自己写个JavaScript parser （分析器）系列 （3）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850326</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850326</guid><author>aio69762</author><pubDate>Tue, 11 Sep 2012 22:47:00 +0800</pubDate><description><![CDATA[注：参考自http://dukeland.hk，本博客系列内容为自己解读的成果，以备将来自己回顾使用。所有版权归原作者所有，如有任何问题，请联系原作者。
这一部分我们到了parser，开始分析语义了。先上一段代码。
1，parser对象基本内容

function Parser(scanner){
    this.scanner = scanner;
    this.cu...]]></description><category></category></item><item><title><![CDATA[自己写个JavaScript parser （分析器）系列 （2）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850324</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850324</guid><author>aio69762</author><pubDate>Tue, 11 Sep 2012 11:00:00 +0800</pubDate><description><![CDATA[注：参考自http://dukeland.hk，本博客系列内容为自己解读的成果，以备将来自己回顾使用。所有版权归原作者所有，如有任何问题，请联系原作者。

考虑到“字”分析比较简单，所以和“词”分析写到一起，形成这篇文章：
1, reader.js

//读字符是要为读词调用的，所以无外乎要做三件事儿：1，存数据；2，存自己的状态；3，提供读字符和回退字符的函数供调用
fu...]]></description><category></category></item><item><title><![CDATA[自己写个JavaScript parser （分析器）系列 （1）]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850323</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850323</guid><author>aio69762</author><pubDate>Tue, 11 Sep 2012 10:12:00 +0800</pubDate><description><![CDATA[注：参考自http://dukeland.hk，本博客系列内容为自己解读的成果，以备将来自己回顾使用。所有版权归原作者所有，如有任何问题，请联系原作者。

写编程语言的分析器是一个较为困难的工作。按常规思路，遇到困难的工作我们首先要做的就是把它分解成数个模块，便于我们化解和定位问题，然后各个击破。那么为了完成编程语言的分析器：
1（字）：将代码按字符读入，过滤掉空格、换行符、注释...]]></description><category></category></item><item><title><![CDATA[Chrome Extension 的 webRequest模块的解读]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850321</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850321</guid><author>aio69762</author><pubDate>Mon, 10 Sep 2012 17:39:00 +0800</pubDate><description><![CDATA[文档在此：http://developer.chrome.com/trunk/extensions/webRequest.html
1，为了使用webRequest，首先需要在配置文件manifest.json中加入类似的内容：

{
    “name": "My extension",
    ...
    "permissions": {
        "webR...]]></description><category></category></item><item><title><![CDATA[Google Chrome Extensions 官方教程 中文版]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850322</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850322</guid><author>aio69762</author><pubDate>Sun, 09 Sep 2012 22:32:00 +0800</pubDate><description><![CDATA[来源：http://developer.chrome.com/extensions/
1，Getting Started

a，你可以基于任何Chrome的发行版开发extension

b，概念：Browser Action，extension和Chrome之间的桥梁，可以帮你在Chrome的工具栏添加一个按钮，由你来控制按钮的行为。
　　创建方式：首先，在你的PC上建...]]></description><category></category></item><item><title><![CDATA[如何写Chrome Extension，笔记]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850320</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850320</guid><author>aio69762</author><pubDate>Sun, 09 Sep 2012 20:31:00 +0800</pubDate><description><![CDATA[1，Chrome Extension开发技术：
a, HTML，CSS和JavaScript；
b, chrome.*API
c, HTML5
d, XMLHttpRequest
e, WebKit API和V8 API
d肯定是纯前端开发里面没有的。而V8 API挺唬人的，不知道出了JS的API之外有没有特别的东东，比如编译调试之类的。

2，扩展的UI形式

关...]]></description><category></category></item><item><title><![CDATA[如何hacke浏览器HTTP request的header]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850319</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850319</guid><author>aio69762</author><pubDate>Sat, 08 Sep 2012 09:28:00 +0800</pubDate><description><![CDATA[1，参考文章：http://stackoverflow.com/questions/7097502/view-and-set-http-headers-for-safari-chrome
（1）这个是chrome上的方案

The (currently experimental) WebRequest API lets you do view and modify headers:...]]></description><category></category></item><item><title><![CDATA[如何为Chrome Developer Tools写extension (how to get started with writing extensions for Chrome Developer...]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850316</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850316</guid><author>aio69762</author><pubDate>Sat, 08 Sep 2012 09:16:00 +0800</pubDate><description><![CDATA[Here’s how to get started with writing extensions for Chrome Developer Tools:

Use the dev channel of Chrome as the APIs are still under development;
Enable experimental extension APIs using t...]]></description><category></category></item><item><title><![CDATA[Remote Debugging 远程调试 那些事儿]]></title><link>https://blog.youkuaiyun.com/aio69762/article/details/101850317</link><guid>https://blog.youkuaiyun.com/aio69762/article/details/101850317</guid><author>aio69762</author><pubDate>Thu, 06 Sep 2012 23:47:00 +0800</pubDate><description><![CDATA[大本营在此：https://developers.google.com/chrome-developer-tools/docs/remote-debugging、
  关键信息1：谷歌把remote debugging做成协议提交到webkit了，所以基于webkit的浏览器都可以用了，而且用法基本一样。
  关键信息2：Google Dev Tools都是HTML，JS和C...]]></description><category></category></item></channel></rss>