引言 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB、ExpressJS,AngularJS和Node.js越来越受到欢迎,其开发的灵活性和易用性加快开发效率,简化开发者的工作...MEAN是一个Javascript平台的现代Web开发框架总称,它是MongoDB + Express +AngularJS + NodeJS 四个框架的第一个字母组合。...(JSON是JS数据格式) ExpressJS是一个Web应用框架,提供有帮助的组件和模块帮助建立一个网站应用。 AngularJS是一个前端MVC框架。...在mongoDB中我们可以直接存储JSON格式的数据,然后在ExpressJS和的NodeJS服务器编写一个基于JSON的查询,并无缝地(无需像其他语言需要在JSON和语言数据模型之间转换)传递JSON...到AngularJS前端。
1.布局框架: Bootstrap: http://getbootstrap.com/ Foundation: http://foundation.zurb.com/ Uikit: http://www.getuikit.com...富互联网应用框架 AngularJs: http://www.angularjs.org Backbone: http://backbonejs.org/ AmpersandJS:http://ampersandjs.com...WEB框架/服务器 Node: http://nodejs.org/ Express: http://expressjs.com/ Apache: http://httpd.apache.org/ Nginx...代码规范 Code Guide: http://alloyteam.github.io/code-guide/ 编写可维护的CSS: http://segmentfault.com/a/1190000000388784
angularjs内置了常用的表单验证指令,比如min,require等。下面是演示: 的。
AngularJs是不直接操作DOM的,但是在平时的开发当中,我们有的时候还是需要操作一些DOM的,如果使用原生的JS的话操作过于麻烦,所以大家一般都是使用jQuery,jQuery虽然好用,但是AngularJs...是不建议和JQuery同时使用的,所以AngularJs给我们也提供了一些操作DOM的方法———Jqlite 查阅官方提供的api,可以看到使用方法是angular.element(ele)...②、querySelectorAll返回匹配的元素集合,如果没有匹配项,返回空的nodelist(节点数组)。 ③、返回的结果是静态的,之后对document结构的改变不会影响到之前取到的结果。 ...DOCTYPE html> AngularJS入门学习 AngularJS入门学习</title
大漠老师的路由理解 ---- 首先新建一个基础的html,其中有些内容是固定的,固定的内容的可以有如home的超链接, 有些是可以插入模板如含有ui-view...的div 如果是home页面,只要加入home页面的模板即可如下 $stateProvider .state('home',... templateUrl: 'tpls2/home.html' }) 如进入home页面后还有子页面,即在home页面某处点击进入子页面,以list为例:在home模板的页面上也有些固定的内容...,也有可插入模板的div,home模板的链接要写成 List...home-list模板 关于about页面,about模板,about模板里面又含有左列和右列的模板,当about模板及内嵌的左列和又列的模板都加进去后才是一个完整的about页面 .state
最近在使用Nodejs+TypeScript编写一个简单通用的框架,包含如下功能: 一、物联网接口: (1)、后台接口框架 (2)、http服务器 (3)、websocket服务器 (4)、http...数据库客户端添加 完成 (2)、最新数据缓存内存 完成 (3)、最新数据缓存redis 完成 (4)、实时数据websocket推送 (5)、登录session及ws推送关联 涉及到的库主要如下...", "ws": "^7.2.5", "yaml": "^1.9.2", "ejs": "^2.5.1" } 找到了几篇关于Nodejs中session和websocket的session...共享使用: 关于node.js:ExpressJS&Websocket和会话共享 Express4.x + Websocket(ws) + Session共享(redis)
原文转自 http://checkcheckzz.gitbooks.io/angularjs-learning-notes/content/chapter11/11-2.html var TestCtrl...,基本上是: 通过 $q 服务得到一个 deferred 实例 通过 deferred 实例的 promise 属性得到一个 promise 对象 promise 对象负责定义回调函数 deferred...function(res){console.log(res[0])}); } $q.reject() 方法是在你捕捉异常之后,又要把这个异常在回调链中传下去时使用: 要理解这东西,先看看 promise 的链式回调是如何运作的...而 $q.reject() 的作用就是触发后链的 error 回调: var defer = $q.defer(); var p = defer.promise; p.then( function(...promise 属性就是返回一个 promise 对象的。
AngularJS 中的 controllerAs Controller 在 AngularJS 应用中可以说是无处不在, 可以在 html 中通过 ngController 指令来指定 Controller...模块中使用, 语法为: $stateProvider .state('myState', { controller: 'MyController' }) 上面用法在 AngularJS...在 AngularJS 的文档中是这样说的: one binds methods and properties directly onto the controller using this: ng-controller...$scope 对象的属性和方法, 而不是 TestController 的实例。...这样做的优点是: 可以使用 Javascript 的原型类, 我们可以使用更加高级的 ES6 或者 TypeScript 来编写 Controller ; 避开了所谓的 child scope 原型继承带来的一些问题
原文转自 http://www.cnblogs.com/woshinidezhu/p/form-validation-with-angularjs.html 在AngularJS中,有许多用于验证的指令...Tips:通常需要在form标签中加上novalidate属性,这样可以禁用浏览器自带的验证功能,从而使用AngularJS提供的。...$invalid 最后两个属性在用于DOM元素的显示或隐藏时是特别有用的。当然,如果想要设置特定的class时,他们也是非常有用的。 错误 另一个有用的属性是AngularJS提供的$error对象。...$error 如果验证失败,则此属性将是true的(因为length>0)。 控制验证时的样式 当AngularJS处理的验证时,它将根据验证的状态增加一些特定的class属性。...请注意,我们设置了input的type属性为email并且添加了$error.email错误信息。这是基于AngularJS的Email验证(使用了HTML5属性)。
前面基本了解了指令的相关内容: 1 如何自定义指令 2 指令的复用 本篇看一下指令之间如何交互。...为了便于结果的展示,为标签添加鼠标的响应事件,当鼠标移动到对应的标签上就会触发一个方法,打印出具备的能力。 ...声明了这三个指令,就可以把这三个指令当做super的属性来使用,当注明该属性时,就会触发内部的link内的方法,调用superman中公开的方法。 ...总结起来,指令的交互过程: 1 首先创建一个基本的指令,在controller属性后,添加对外公开的方法。 ...2 创建其他交互的指令,在require属性后,添加对应的指令依赖关系;在link中调用公开的方法 全部程序代码: <!
最近要用到图表展示,想了想,还是首选Echarts,HighCharts和D3.js备用吧, 而项目中也用到了AngularJS,所以需要把Echarts引入到AngularJs中一起使用, 试了试,最方便的还是用指令
因为工作中需要,需要生成一个带表格的图片 例如: 直接在html中写一个table标签,然后单独把表格部分保存成图片 或者是直接将excel中的内容保存成一个图片 刚开始的思路,是直接生成一个带有table...标签的html文件,然后将这个文件转成图片,经过查找资料发现需要安装webkit2png,而这个库又依赖其他的东西,遂放弃。...当初的目标是直接生成一个图片,并且是只需要安装python依赖库就行,而不需要在系统层面安装相应的依赖包 后来考虑使用Python的图片处理库Pillow,和生成表格式的库prattytable,下面的图片是最终生成的图片效果...,来确定图片的最终大小 img_size = draw.multiline_textsize(tab_info, font=font) # 图片初始化的大小为10-10,现在根据图片内容要重新设置图片的大小...但是还有一点问题,在使用中文时,表格会又一些错列,应该是使用字体的事,因为我没有找到合适的字体,所以这个问题暂时没有解决。
这里逐渐收集了本人自己编写的「短代码」和「重复发明轮子(Reinventing the wheel)」。...Toast.LENGTH_SHORT);// 展示Toast toast.setView(toastRoot); tv.setText(string); } else {// 如果有正在显示的toast...toast.setView(toastRoot); tv.setText(string); } toast.show();// 展示Toast } } my_toast.xml(layout文件夹下的xml... shaper_toast_show_back.xml(drawable文件夹下的xml
背景 公司有一批机器是内网的机器,无法访问外网,但是内网之间都是可以互通的,我们需要在这几台机器上部署环境,所以优先考虑使用docker容器,在本地写好dockerfile,构建好镜像,然后把镜像load...到目标机器上,所以我们需要先构建一层装有基础服务的镜像,然后在此基础上部署服务。...&& yum install -y sudo \ && yum install -y net-tools openssh-clients openssh-server # 将sshd的UsePAM...var/run/sshd EXPOSE 22 #监听22端口,外界可以访问 ENTRYPOINT ["/usr/sbin/sshd","-D"] #entrypoint表示默认情况下容器运行的命令...注: 当我们使用普通用户执行docker相关的命令时,我们可能需要加上sudo才能执行,非常麻烦,所以我们可以把当前的用户添加到docker组里 sudo usermod -aG docker dogfei
零售商的物流挑战 在我们开始详细研究DESADV与SSCC之前,首先需要了解背景。近年来,零售业发生了实质性的变化。大多数小型杂货店的市场份额逐渐减少,大型零售商的分店占据了市场。...这个号码作为一个带有条形码的实物机读贴纸,安装在货物上,也包含在DESADV信息中。 这样就可以如下图所示,将货物送到仓库:在左侧,我们可以看到货物已经到达仓库,并被分配到正确的货架上。...带有SSCC的GS1标签示例如下图所示: 在DESADV中使用SSCC 什么时候DESADV报文用于宣布交货呢?...3.带有运输结构的每个托盘的SSCC 该选项清楚地描述了运输结构的层次结构,直至货盘的内容。DESADV将包含有关物品编号和每个托盘的箱子总数的信息。...以上是对于带有SSCC(系列货运包装箱代码)的DESADV的介绍,更多关于EDI相关信息,欢迎持续关注。
目标 市场上的许多玩家已经建立了成功的MapReduce工作流程来每天处理以TB计的历史数据。但是谁愿意等待24小时才能获得最新的分析结果?...还包括清晰的代码和直观的演示! Apache Hadoop:简史 Apache Hadoop的丰富历史始于2002年。...现实生活中有一些很好的例子: Oozie编排的工作流程每天运行并处理高达150 TB的数据以生成分析结果 bash管理的工作流程每天运行并处理高达8 TB的数据以生成分析结果 现在是2016年!...] 这看起来相当不错,但它仍然是一种传统的批处理方式,具有所有已知的缺点,主要原因是客户端的数据在批处理花费大量时间完成之前的数据处理时,新的数据已经进入而导致数据过时。...它是一种旨在通过利用批处理和流处理这两者的优势来处理大量数据的数据处理架构。 我强烈建议阅读Nathan Marz的书,因为它从提出者的角度提供了Lambda Architecture的完整表述。
这里逐渐收集了本人自己编写的「短代码」和「重复发明轮子(Reinventing the wheel)」。...Toast toast.setView(toastRoot); tv.setText(string); } else {// 如果有正在显示的toast...tv.setText(string); } toast.show();// 展示Toast } } my_toast.xml(layout文件夹下的xml... shaper_toast_show_back.xml(drawable文件夹下的xml
在 Rust 中设计一个带有 unsafe & union 的高效内存布局 这是关于如何构建 CLI 电子表格程序的系列博文中的第一篇博文,主要是因为我厌倦了所有其他电子表格的缺陷。...在这篇博文中,我将设计电子表格单元格中每个值的内存布局,因此我们应该从以下问题开始:电子表格单元格包含什么? A number? Perhaps! A string of characters?...我不知道在 Excel 中是否是这种情况,但是在 Google Docs中,一个单元格可以被覆盖它的另一个单元格上显示的矩阵覆盖。矩阵和迭代器将是这个电子表格引擎的核心设计,但这是另一篇博文。...不过,这意味着值要么是前面列出的值之一,要么是生成这些值的迭代器。...手动实现 iter dyn TaggedPtr 的进一步讨论 使用 nolife 解决生命周期问题 该库允许构建包含引用的结构体,并使其与所引用的数据一起存活,而无需生命周期。