あまみや ゆうこ » 2016 » 3

Google Pipe

其实,写这个项目之前,我的本意是在于研究CDN动态云加速技术,但是却写了一个Google镜像的Demo。

Google pipe 是基于ASP.Net Core 1.0开发的谷歌反向代理网站。

演示网址:http://www.gglink.pw

您可以在Linux、Windows、Mac上部署这个网站系统,但前提是能够访问到www.google.com,这样就可以让其他用户通过您的网站访问Google了。

部署时,需要修改Startup.cs中app.UseReverseProxy中第二个参数,即域名部分。请在解析列表中使用泛解析,即*.yourdomain.postfix

这个GitHub仓库中存储的是源代码,不是发布版本,因此如果您欲直接使用源代码部署,可能需要安装相应的环境,如dnvm、dnx、dnu等必要软件,您可以参阅微软官方网站获得更多信息:http://docs.asp.net

这份代码只有短短37行,即Startup.cs,只需要引用NuGet包:CodeComb.AspNet.ReverseProxy即可实现反向代理,支持泛域名。

using System.Net;

更多内容 »

Published on 3/20/2016 5:35:56 PM

Razor引擎解析

Razor作为ASP.Net MVC的模板引擎被人熟知,其语法简练,易于上手的优秀特点被人赞叹。

因此我开发的jFlick也希望支持这种模板引擎,首先就需要我们解析这种语法规则,将Razor与HTML分离,分离后动态执行Razor的语句即可。

Razor语法规则

规定HTML代码以<someTag>开始,以</someTag>结束,有个别标签是自闭合标签,比如<br />

规定Razor代码以@开始,带有括号(无论圆括号还是花括号)遇到匹配的结束括号为止,在花括号中可以嵌套HTML代码,嵌套的HTML代码将在相应逻辑下被输出。在特殊情况下,Razor代码可以简化成不带有括号的形式,具体表现为第1条与第3条。

1、@+单句表达式形式:

例:

@someArray.length
@someArray[0]

更多内容 »

Published on 3/13/2016 9:55:17 PM

jFlick - 移动端前端Mvc框架设计

最近在研究Cordova,使用HTML5与Javascript来写App固然是一个不错的选择,但是同时也存在着诸多的问题,比如使用HTML编写的app很难与原生系统体验一致,比如页面跳转时没有动画等。因此激起了我开发这样一套前端Mvc框架的兴趣。

我给它取名为jFlick(效仿jQuery),理论上讲,这套框架不仅仅局限于与Cordova配合,还可以用于制作手机网站。

也许ionic与cordova的配合被人们广泛认知,但是我简单了解ionic时,觉得它真的不是很方便,首先编写页面使用的标签都不是HTML规范中的标签,都是诸如<ionic-xxx></ionic-xxx>之类的标签,这样一来,开发者需要先了解ionic中都有什么标签,都能做什么,才能进行开发。而我的框架定位是轻量级、易上手。

我的框架中,设计了路由机制,可以根据路由规则来与前台绑定事件,比如我们建立一个homeController.js,那么可以按照下面的代码来编写程序逻辑:

router.get('/home/index', function (req, res, next) {
    alert('Hello world!');
});

router.get('/home/page', function (req, res, next) {
    alert('name=' + req.query.name);
    res.find('#btnCalc').click(function () {

更多内容 »

Published on 3/9/2016 8:03:59 PM