为开发者准备的 10 个新鲜的框架
一个框架就是一个软件应用,它可以帮助开发者进行快速设计和开发动态站点。每个月都会有那么几个开发者发布一些五花八门的框架,来使得开发工作更加轻松和高效。 本文中,我们收集了10个新的框架, 其中一些比其它的更为复杂,提供了更多的配置选项,组件,和接口选项。不管怎样,他们使得你可以在站点上创建出更棒的东西。希望你可以找到最适合你的需求的那一款,好好享受吧 !! 1. Famo.us Famo.us是个免费并且开源的JavaScript平台,用来构建手机应用和桌面体验。Famo.us与众不同的一点是它的JavaScript渲染引擎和3D物理引擎,赋予开发者力量和工具来创建本地高质量应用和动画,而且只需要用到JavaScript即可。 2. Concise Concise 的构建目标是使你可以拥有很多开箱即用的选项。它被重新构建之后,变的移动友好化,拥有了一个简单的网格系统,漂亮的字体,以及其它一些花边小应用。 不管怎样,它仍然没构建的十分精简,只有刚刚超过2,000行的CSS和几百行的JavaScript代码。Concise被特意构建成可定制化的, 可修补的和高端复杂的框架。 3. Ampersand.js Ampersand.js是一个高度模块化,松耦合,无架构(non-frameworky)的框架,用以构建高端JavaScript应用。它是一个定义良好的过程,把一系列故意设计的很小的模块组合起来。每一个东西都是一个CommonJS组件。没有AMD和UMD,默认情况下也没有捆绑任何类型的插件。CommonJS的清晰、简单和灵活性主导了一切。清楚的依赖关系,没有任何不必要的封装和缩减,没有任何不规矩的东西。只在package.json里清楚的声明了项目依赖。 4. OnSenUI Onsen UI是一个为PhoneGap/Cordova混合App提供的前端开发框架。它致力于创建易用的移动应用。同时,配合Monaca,可以很简单地开发后端特性和添加设备支持。OnSen UI自身使用Angular.js和Topcoat开发,由于其架构特性,可以便捷的使用Angular.js的特性。 5. Archteype Archteype是一个Compass/Sass框架,用于创建可配置的、可组合的UI模式和UI组件。Archteype有良好的文档以及自然的语法。 6. Headstart Headstart非常易用,分分钟就可以进行自动前端设定并运行起来。它使用一个文件夹结构来维护你需要依赖的所有东西,甚至包括对各种东西的优化,比如SVG图像和暗示。 7. Kickoff Kickoff 是一个用来构建可扩展响应式站点的轻量级前端框架。它是用Sass和Grunt构建的,使用MIT许可协议进行发布。 8. Tuktuk Tuktuk 是一个轻量级面向对象CSS框架,用来轻松的构建响应式可扩展站点。它包括十二列布局,还有表单,按钮,表格,字体等等很多。 9. Base Base是用SASS/LESS开发的一个强大的CSS预处理器,它可以帮助你创建简洁的、组织结构良好的CSS,便于长时间的轻松维护。Base支持所有主流的浏览器和注入IE7之类的遗留浏览器。 10. Scribe Scribe是一个富文本编辑器框架,由Guardian创建并开源出来。它对浏览器之间的不一致性进行了打包处理并且包含了合理的默认值。 from:http://www.oschina.net/translate/10-fresh-frameworks-for-developers
View DetailsC# 权重控制随机抽取率
增加、减少随机抽中几率——此算法可用于题库随机抽题、赌博机控制出彩率,甚至俄罗斯方块等游戏,有广泛的用途!也希望能帮得到你! 强调 在随机的基础上增控制抽中几率,注意随机性!! 正文 一、文字解说: 为待随机抽取的集合每个项加一个权值,这个权值就是随机几率,比如正常被抽正的几率为1,那么将希望被抽中几率更大的项的权值设置为3或5,然后随机抽取集合中的项,并将随机数乘以每个项对应的权值,然后排序!!提取前N个项即可!大家可以发现权值更高被乘之后有更高几率排在前面而被抽中,如果将权值设为0将永远也不会被抽中! 二、应用场景: 1. 随机抽题:如果题A去年考过了,那么我希望今年出现的几率更小或者不出现,那么我将题A的权值设置为0,这道题将在以后的考试随机抽题中永远不会被随机抽中;而另外题B是本院今年模拟考试中的一道题目,我将这道题权值增加到5,根据算法,那么这道题目在下次随机抽题抽中率将比普通题目提高数倍! 2. 赌博机:大家知道游戏厅里面的赌博机是可以调的,被人调了之后出彩率明显提高或者降低,我觉得本算法适合解释。假设赌博机有24个赌项可供选择,分别是A-Z各个字母,按正常几率的话每个项的权值都是1,调机师可以通过动态改变权值来达到提高或降低中奖率。假如你投三个币,分别选了A、B、C,赌博机根据调机师的设置动态改变了A、B、C的权值,让灯转3-4圈后更大的几率停留在这三个选择中奖金较少的一个。 3. 俄罗斯方块:大家在打QQ俄罗斯方块对打的时候,有时候明显感觉堆得越高,出的东西反而不顺意,我觉得本算法也可以达到这个效果。计算机能算得出下一个最优方案是出条还是出角最好,所以可以通过调整权值来打破平均出现的几率来达到这个目的! 三、代码实现(C#实现): RandomController.cs using System; using System.Collections.Generic; using System.Text; /* 为待随机抽取的集合每个项加一个权值,这个权值就是随机几率,比如正常被抽正的几率为1, 那么将希望被抽中几率更大的项的权值设置为3或5,然后随机抽取集合中的项,并将随机数 乘以每个项对应的权值,然后排序!!提取前N个项即可!大家可以发现权值更高被乘之后 有更高几率排在前面而被抽中,如果将权值设为0将永远也不会被抽中! */ namespace 随机抽奖 { public class RandomController { #region Properties private int _Count; /// <summary> /// 随机抽取个数 /// </summary> public int Count { get{return _Count;} set{_Count = value;} } #endregion #region Member Variables /// <summary> /// 待随机抽取数据集合 /// </summary> public List<char> datas = new List<char>( new char[]{ 'A',’B',’C',’D',’E',’F', 'G',’H',’I',’J',’K',’L', 'M',’N',’O',’P',’Q',’R', 'S',’T',’U',’V',’W',’X', 'Y',’Z' […]
View Details在程序员的眼里,用户是这样使用他们开发的软件的
我曾经说过,程序员不是一般的人,是具有某种超能力的人。但问题是,程序员往往意识不到自己 的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情,其他人——比如他们的客户/软件用户——也应该很容易做到。但 事实上,由于大部分人——绝大部分人(包括软件开发公司的客户/购买软件的用户)——都是电脑小白(对电脑知识/计算机知识/软件知识知之甚少的人)。一 个对于程序员来说很显而易见的软件操作,换成让用户来操作,就会出现各种各样奇怪的事情。这让程序员非常痛苦。 记得有一次,一个客户打电话给我,说他电脑桌面上的大e找不到了,我没听懂,什么大e找不到了?客户解释说:就是那个长的像大个儿的英文字母e的图标找不到了。我倒。终于明白了他指的是桌面上的IE浏览器的图标不见了。 还 有一次,有个客户提出一个需求,要求在页面上增加一个搜索功能,我问它,系统里有搜索功能,为什么还要在这个地方新增一个搜索功能,他说他要的不是那个搜 索,他要的是在这个页面上搜在某个关键词。经过进一步的沟通,我明白了,他要的是浏览器上的快捷键CTRL+F的功能。 因 为用户的这些特征,导致了程序员认为完美的程序,到了客户的手里,却变成极其难用的软件,投诉电话如乡下骂街的泼妇似的响个不停。而事后分析发现,根本原 因都是应为程序员高估了用户对软件的掌控能力,低估了自己对软件的创造能力,于是导致了他们看这些客户使用他们开发的软件时,都是那样一种可笑的行为,如 下图: 在程序员的眼里,用户是这样使用他们开发的软件的 如果是脾气暴躁的程序员,遇到这种情况,难免会对着客户发一顿牢骚,而且,程序员的脾气一般都不是很好,所以,通常跟客户沟通时,项目经理一般都是跟着一起,以免事态激化。 用户虽然给程序员带来很多麻烦,但其实程序员的所有荣耀感都来自客户,因为只有客户用得满意,程序员才会有成就感。比如像下面这几个客户在使用一个新款软件时显露出来的表情,足够让一个处在北京重度雾霾的下午的程序员也能露出笑容: 用户在使用一款新软件时的样子 程 序员虽然脾气不好,但他们都是为工作着想,不带任何个人恩怨。当开发软件有紧急任务时,他们都是任劳任怨的加班加点,当在已经发布的软件中出现了重大 bug时,他们都会深深在自责,会连夜赶制出紧急修复bug,如果不能在第一时间让用户满意,他们会茶不思、饭不想、觉不睡。即使在实在没有短期内完整的 补救措施的情况下,他们也会想出一些歪招,但也是行之有效的方案,让用户暂时度过难关。比如,下面就是一个紧急修复补丁: 紧急修复补丁 用 户应该体谅程序员。程序员的生活实际处在一种十分矛盾的状态中。编程不像其它行业,比如泥瓦匠砌砖,砌一层砖,墙就会高一次。但编程不一样,有时候一个程 序员写了一天的代码,急得满头大汗,但开发进度未必就有所进展,有时候甚至还会倒退。软件编程是一个亦虚亦实的世界,有时候你搞不清一段代码为什么好用, 有时候也会诧异由那样的代码构成的软件也能跑起来,正如下面这张图片中所示: 软件中有鬼 最后,说一下跟程序员打交道的一些注意事项。程序员因为整天和编程逻辑打交道,所以对因果关系特别敏感。如果你的话语的因果关系不是很明确,这会让他们感到疑惑,如果你的话语的因果关系不完整,这会让他们办错事。如果你的话中有if,最好后面用then做结束,或者用else给出选择,主语要明晰。如果不明晰,就会出现下图中出现的事故: 程序员是这样理解这个指示牌上的话的 如果你是一个程序员,你会理解我说的话。 from:http://www.oschina.net/news/53654/how-client-use-their-software
View Details阿凡达
从09年底上映到现在一直听一些朋友热论此电影,但一直很抵触,所以一直没有完整的看过。 今天晚上看了一遍,真是震撼。直接颠覆我对科幻类电影的感观;因为一直比较喜欢科幻类的电影,自认为对科幻电影的熟悉,却没想到《阿凡达》带给我的影响,她的理念,她的价值观。生态平衡:一切动、植物应该是一个完美的生态系统,当然也包括人类。人类那点小聪明在大自然面前显得是那么的多余;自然不是为人类服务的,人类只是自然的一部分,不要让人类的傲慢毁了自己。 很遗憾的说我看电影大部分都是在网上看,这些影音软件有没有版权就不好说了;所以,以后多带家人去影院观看,和家人交流一下感情,也为曾经拍出自己喜欢电影的导演尽一份力。 同样让我震撼的是这部影片的投入和票房,投入237000000美元,标记27亿5400万。《阿凡达2》将于今年10月开拍,2016年12月上映,翘首以待吧~
View Details纳威语
纳威语是电影《阿凡达》中纳威人的唯一语言体系,拥有非常规范的语法规则和语言结构。2005年8月,时任南加州大学教授的语言学家(Paul R. Frommer)收到一封电子邮件。 语言介绍 信中称希望其为卡梅隆正在摄制的电影中的外星种族创造出一套语言体系。当时卡梅隆为其展示了一个剧本雏形,当中包含有30个左右的纳威语词根,但大多数都是角色名字。保罗在结合了印第安语,非洲,中亚以及高加索等地区的语言后,终于创造出纳威语 创作人:保罗·R·弗洛莫 2语言详情 詹姆斯·卡梅隆(James Cameron)的《阿凡达》(Avatar又译:化身)还有不到一个月的时间就要上映了(国内明年一月初),这部影片讲述了发生在遥远外星球潘多拉(Pandora)上的一个美丽悲壮的“风中奇缘”的故事。为了使影片接近完美,卡梅隆事无巨细的精心打磨每一个细节,他甚至还专门找来语言学家为片中的“纳威人”(Na’vi)创造了一套完整的语言体系。 负责创造“纳威人”语言的是南加州大学教授保罗·R·弗洛莫(Paul R. Frommer),他是一名语言学专家,4年前他接到一封电子邮件,邮件里说他们正在帮詹姆斯·卡梅隆的新电影找一名能够创造外星语言的人,不过那个时候电影还没有名字,用的是代号《Project 880》。弗洛莫知道机会难得,立刻回复了过去,很快便得到了这个任务。 弗洛莫并不是完全凭空创造,卡梅隆给了他一个剧本雏形,里面包含了30多个“纳威语”词汇,虽然大部分都是角色的名字,但这让弗洛莫明白了卡梅隆想要一种什么样的语言(有韵律感、流畅富于感染力)。靠着这一点线索,弗洛莫花了4年时间逐渐摸索创造出了一套有自己语法规则和语言结构的、可以使用的、完整的语言体系。 成型的“纳威语”是一种非常温柔的语言,它吸取了印第安人、非洲、中亚、高加索的语言特点,有的人听了觉得像波利尼西亚语,有的人觉得像非洲的某种语言,还有的人觉得像德语或日语。 “纳威语”不仅将出现在《阿凡达》电影里,还会出现在法国游戏公司为该片制作的同名游戏中。弗洛莫希望《阿凡达》可以拍前传和续集,这样他发明的语言就可以得到更多的展示和使用。另外他也希望将来能有人做一个“潘多拉百科”(Pandora-pedia)详细介绍这种语言,让别人也来学说这种语言,这样他就可以和别人用“纳美语”交谈了,而不是自言自语。 不过学说这种语言并不容易,至少片中饰演3米多高蓝色纳美人“奈特丽”(Neytiri)的佐伊·扎尔达娜(Zoe Saldana)就是这么认为的,她说:“学这个语言太难了,我大部分精力都花在这上面了,我觉得自己根本无法过这一关,我在语言学习方面并不擅长。” 为了帮助演员学说“纳威语”,卡梅隆特意找来了好莱坞著名的语言指导师卡拉·梅耶(Carla Meyer),她参与过《加勒比海盗》(Pirates of the Caribbean)、《天使与魔鬼》(Angels & Demons)、《永不妥协》(Erin Brockovich)等影片,曾帮助过《空军一号》(Air Force One)里的加里·奥德曼(Gary Oldman)学会了东欧口音。有了她之后,语言方面的难关总算被克服了。 目前“纳威语”已经有1000多个词汇,弗洛莫还在不停的扩充“纳威语”的词汇量,并且电影上映后也不会停止,用他的话来说,他要一直做到自己做不了了为止。 创作人:保罗·R·弗洛莫 3基本字母 元音字母 a ā e i ì o u 普通字母 f h k kx l ll m n ng p px r rr s t ts tx v w y z 4基本字音编辑 纳美语字符 国际音标 字面读法 英语范例 a [a] aah "father" ä [æ] ahh "cat", "pack" aw [aw] aou "noun" ay [aj] eye "eye", "fly" ts [c] tSS […]
View Details不小心把所有的快捷方式lnk文件都设置成了用Word打开,该怎么改回来
|
1 2 3 4 5 |
1、点开始,点运行,输入REGEDIT,回车; 2、找到HKEY_CURRENT_USER\Software\Microsoft\Windows\currentVersion\Explorer\fileExts\.lnk,然后删除掉; 3、点开始,点运行,输入“assoc .lnk=lnkfile”,回车,重启,就可以啦; FROM:http://zhidao.baidu.com/link?url=iLUvY1xoo_49Z69p9M3Flf3n7KK9VvEJyP8ZlUAC83MHbd87Qn8zf-TxB7VrcprJXbHb2680Iuv1D3bN1Eo1Oa |
Mac下Photoshop CS6 简体中文版的安装和离线激活
大师版有注册机,但没中文版;单photoshop中文版,没注册机。我整合了一下,找了个可用的序列号,用大师版注册机离线激活。经过测试,已完美激活,可升级!1、下载photoshop单文件简体中文版官方:http://trials2.stage.adobe.com/A … hotoshop_13_LS3.dmg用迅雷下载就可以了2、断网。 确认/etc/hosts没有下面两行: 127.0.0.1 lmlicenses.wip4.adobe.com 127.0.0.1 lm.licenses.adobe.com 如果以前安装过,请删除下面两个目录: /Library/Application Support/Adobe/SLStore /Library/Application Support/Adobe/SLCache3、打开安装文件,选择安装(不是试用!),填入下面的序列号: 1330-1730-0041-7458-1356-16534、装好后打开photoshop,确认链接问题,选择离线激活,生成请求码。5、打开注册机,填入上面的序列号(不能用注册机生成的序列号,那是大师版的)和请求码,生成激活码。6、激活成功。7、在/etc/hosts加入:(或者用管理员运行注册机附带的disable_activation_osx也是一样的) # Adobe Blocker 127.0.0.1 lmlicenses.wip4.adobe.com 127.0.0.1 lm.licenses.adobe.com8、好吧,现在可以联网、升级。9、Enjoy!附:注册机(就是大师版的注册机,我把windows版的文件去除了,已经下载的略过) Crack-OSX FROM:http://bbs.feng.com/read-htm-tid-5011699.html
View DetailsIIS6中配置FastCGI运行PHP
环境说明: 操作系统:使用windows 2003 server 32位系统,IIS6。 PHP版本:官方下载PHP 5.3.26 VC9 x86 Non Thread SafeZIP版本。 IIS6 FastCGI安装包:FastCGI for IIS x86版本。 PHP路径:C:\php-5.3.26\ FastCGI相关文件和路径 : C:\WINDOWS\system32\inetsrv\fcgiext.dll C:\WINDOWS\system32\inetsrv\fcgiext.ini 配置步骤: 解压PHP文件,修改目录名放到C盘。目录地址为C:\php-5.3.26\ 复制php.ini-production改名为php.ini,先参考PHP.ini参数说明修改。 并修改PHP对FastCGI支持: 安装下载的FastCGI for IIS工具,本文下载的文件名为fcgisetup_1.5_rtw_x86.msi。安装完成后无提示,直接打开文件C:\WINDOWS\system32\inetsrv\fcgiext.ini在最后[Types]后添加以下
|
1 2 3 4 5 6 7 8 9 |
[Types] php=PHP [PHP] ExePath=C:\php-5.3.26\php-cgi.exe InstanceMaxRequests=10000 ActivityTimeout=600 RequestTimeout=600 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\php-5.3.26\ |
检查IIS是否配置正确了FastCGI的调用。如下图: from:http://www.magicwinmail.com/setupiis/iis6fastcgi.html
View Details值得收藏的十二条Jquery随身笔记
1、关于页面元素的引用 通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。 2、jQuery对象与dom对象的转换 只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。 普通的dom对象一般可以通过$()转换成jquery对象。 如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。 由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。 如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。 以下几种写法都是正确的: $("#msg").html(); $("#msg")[0].innerHTML; $("#msg").eq(0)[0].innerHTML; $("#msg").get(0).innerHTML; 3、如何获取jQuery集合的某一项 对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个<div>元素的内容。 有如下两种方法: $("div").eq(2).html(); //调用jquery对象的方法 $("div").get(2).innerHTML; //调用dom的方法属性 4、同一函数实现set和get Jquery中的很多方法都是如此,主要包括如下几个: $("#msg").html(); //返回id为msg的元素节点的html内容。 $("#msg").html("<b>new content</b>"); //将“<b>new content</b>” 作为html串写入id为msg的元素节点内容中,页面显示b加粗的new content $("#msg").text(); //返回id为msg的元素节点的文本内容。 $("#msg").text("<b>new content</b>"); //将“<b>new content</b>” 作为普通文本串写入id为msg的元素节点内容中,页面显示<b>new content</b> $("#msg").height(); //返回id为msg的元素的高度 $("#msg").height("300"); //将id为msg的元素的css高度设为300 $("#msg").width(); //返回id为msg的元素的css宽度 $("#msg").width("300"); //将id为msg的元素的宽度设为300 $("input").val("); //返回表单输入框的value值 $("input").val("test"); //将表单输入框的value值设为test $("#msg").click(); //触发id为msg的元素的单击事件 $("#msg").click(fn); //为id为msg的元素单击事件添加函数 同样blur,focus,select,submit事件都可以有着两种调用方法 5、集合处理功能 对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理,jquery已经为我们提供的很方便的方法进行集合的处理。 包括两种形式: $("p").each(function(i){this.style.color=['#f00′,’#0f0′,’#00f'][ i ]}) //为索引分别为0,1,2的p元素分别设定不同的字体颜色。 $("tr").each(function(i){this.style.backgroundColor=['#ccc',’#fff'][i%2]}) //实现表格的隔行换色效果 $("p").click(function(){alert($(this).html())}) //为每个p元素增加了click事件,单击某个p元素则弹出其内容 6、扩展我们需要的功能 $.extend({min: function(a, b){return a < b?a:b; }, max: function(a, b){return a > b?a:b; } }); //为jquery扩展了min,max两个方法使用扩展的方法(通过“$.方法名”调用): alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20)); 7、支持方法的连写 所谓连写,即可以对一个jquery对象连续调用各种不同的方法。 例如: $("p").click(function(){alert($(this).html())}) […]
View Detailsarray_slice() 函数
定义和用法 array_slice() 函数在数组中根据条件取出一段值,并返回。 注释:如果数组有字符串键,所返回的数组将保留键名。(参见例子 4) 语法
|
1 |
array_slice(<i>array</i>,<i>offset</i>,<i>length</i>,<i>preserve</i>) |
参数 描述 array 必需。规定输入的数组。 offset 必需。数值。规定取出元素的开始位置。 如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。 length 可选。数值。规定被返回数组的长度。 如果 length 为正,则返回该数量的元素。 如果 length 为负,则序列将终止在距离数组末端这么远的地方。 如果省略,则序列将从 offset 开始直到 array 的末端。 preserve 可选。可能的值: true – 保留键 false – 默认 – 重置键 例子 1
|
1 2 3 4 |
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?> |
输出:
|
1 |
Array ( [0] => Cat [1] => Horse ) |
例子 2 带有负的 offset 参数:
|
1 2 3 4 |
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?> |
输出:
|
1 |
Array ( [0] => Horse ) |
例子 3 preserve 参数设置为 true:
|
1 2 3 4 |
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2,true)); ?> |
输出:
|
1 |
Array ( [1] => Cat [2] => Horse ) |
例子 4 带有字符串键:
|
1 2 3 4 |
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird"); print_r(array_slice($a,1,2)); ?> |
输出:
|
1 |
Array ( [b] => Cat [c] => Horse ) |