模块

UC前端‘搭积木’的模块化开发——scrat.js

老子叫甜甜 提交于 2020-04-24 06:12:21
模块化开发 将模块所需的js\css\img\tmpl维护在一起, 一个模块一个目录 js渲染模板 css只关心模块内样式 开发团队心声;“我们希望每次研发新产品不是从零开始,不同团队不同项目之间能有可复用的模块沉淀下来。” 模块生态 每个工程有_工程模块_和_生态模块_。 生态模块 :基于_component规范_开发,部署到Github上,可以通过命令行工具将Github上的模块安装到工程中使用。比如:jQuery, iscroll, zepto.js, vue.js 安装命令: scrat install yyx990803/vue scrat intall FontAwesome/Font-Awesome 项目开始->声明生态模块依赖 安装生态模块-> 命令行安装 使用vue+scrat实现组件 scrat提供模块依赖、引用、加载、内嵌等 Vue.component 定义组件 模板中声明式的数据和事件绑定 数据驱动的组件化设计 在模板里直接使用自定义标签如 <c-menu> 、绑定事件等 使用scrat自动构建项目 scrat可以安装在持续集成系统中对项目进行自动构建,还具有按版本构建的能力。 个人看法 该框架提出的以搭积木的方式来开发模块,最后搭建系统的这种方式还是挺好的,之前我开发的项目都是使用requirejs+sass对js和css管理

Node.js-2.模块

元气小坏坏 提交于 2020-04-07 11:41:16
实验简介 Node.js 模块和 Node.js 包介绍。 一、Node.js模块 每一个Node.js都是一个Node.js模块,包括JavaScript文件(.js)、JSON文本文件(.json)和二进制模块文件(.node)。 1. 模块的使用 编写一个模块: 在虚拟机桌面新建一个文件 mymodule.js ,输入如下代码并保存: function hello () { console .log( 'Hello' ); } function world () { console .log( 'World' ); } 这就是一个Node.js模块,但是怎么在其他模块中引入并使用这个模块呢?我们需要为模块提供对外的接口,这就要用到 module.exports 和 exports 。 我们可以这样写 mymodul.js : function hello () { console .log( 'Hello' ); } function world () { console .log( 'World' ); } exports.hello = hello; exports.world = world; 在其他模块中,可以使用 require(module_name); 载入需要的模块,如,在虚拟机桌面新建 index.js ,输入如下代码并保存: var hello =

11个显著提升 ASP.NET 应用程序性能的技巧——第1部分

自闭症网瘾萝莉.ら 提交于 2019-12-10 05:29:53
【编者按】本文出自站外作者 Brij Bhushan Mishra ,Brij 是微软 MVP-ASP.NET/IIS、C# Corner MVP、CodeProject Insider,前 CodeProject MVP,CodeProject Mentor 以及 CodeProject Platinum Member,拥有6年左右的高级开发工程师/架构师经验,自幼酷爱计算机。 采用 ASP.NET 和 IIS 构建 Web 应用程序并将其托管到 Web 服务器上极其简单,但是许多可提升 Web 应用程序性能的机会或隐藏配置同样不能忽视。本系列博文将介绍一些简单但却可以应用于任何 Web 应用程序的技巧,而它们却是经常被忽略或遗忘的。 1- 内核模式缓存——这是广泛用于程序编写的主要工具之一,可加速 Web 应用程序。但是大多数时候,很少开发者以最佳方式应用内核模式缓存,仅仅发挥其部分主要优势。由于所有 ASP.NET 请求均会经历不同阶段,因此可在不同级别使用缓存,具体如下所示。 由上图可见,http.sys 首先接收请求。由于 http.sys 是位于 OS 内核内且直接接收 TCP 层请求的http listener,因此如果使用内核级缓存可节省大多用于服务器的时间,同时可省去用于 IIS/ASP.NET Pipeline、页面生命周期、自定义代码、数据库等的所有时间

怎么优化ViewController,区分模块,分类管理

你离开我真会死。 提交于 2019-12-09 18:53:28
View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码。所以 View controllers 中的代码几乎总是复用率最低的。我们将会看到给 view controllers 瘦身的技术,让代码变得可以复用,以及把代码移动到更合适的地方。 你可以在 Github 上获取关于这个问题的 示例项目 。 把 Data Source 和其他 Protocols 分离出来 把 UITableViewDataSource 的代码提取出来放到一个单独的类中,是为 view controller 瘦身的强大技术之一。当你多做几次,你就能总结出一些模式,并且创建出可复用的类。 举个例,在示例项目中,有个 PhotosViewController 类,它有以下几个方法: # pragma mark Pragma- (Photo*)photoAtIndexPath:(NSIndexPath*)indexPath { return photos[(NSUInteger)indexPath.row]; } - (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section { return photos.count; } - (UITableViewCell

python基础——logging、OS、sys、random、string模块(0424)

﹥>﹥吖頭↗ 提交于 2019-12-06 17:37:33
一、日志记录模块 logging logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。 1、日志的级别(大写字母):一般清下只有警告和错误才会显示。 DEBUG:详细的信息,通常只出现在诊断问题上。 INFO:确认一切按预期运行 WARNING:一个警告,可能会有一些意想不到的事情发生了,或表明一些问题在不久的将来 (例如。磁盘空间低”)。这个软件还能按预期工作。 ERROR:更严重的问题,软件没能执行一些功能 CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行 2、日志级别的关系 CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET 3、系统默认只打印 WARNING 及其以上的级别。(一般使用默认即可) 示例 结果 4、logging.basicconfig() 函数 格式为logging.basicconfig(level=logging.WARNING,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt=' %Y/%m/%d %H:%M:%S', filename='myapp.log', filemode='w')

一步步学会使用SeaJS 2.0

二次信任 提交于 2019-12-05 23:20:17
一步步学会使用SeaJS 2.0 本文分为以下8步,熟悉之后就能够熟练使用SeaJS,从此之后你的生活会变得更加轻松愉悦! 1、SeaJS是什么? 2、下载并检阅SeaJS 3、建立工程和各种目录 4、引入SeaJS库 5、编写自己的代码 6、引入自己的代码 7、压缩合并 8、总结展望 -------------------------------------------------- 1、SeaJS是什么? 你一定听过前端模块化开发吧?神马,你没听过?我只能说你out了…… 你应该知道Java的import吧?神马,你又不知道?那你应该知道CSS中的import吧…… 在这里我不想展开说前端模块化的含义和价值,因为这里有一篇好文( https://github.com/seajs/seajs/issues/547 ),详细说明了前端模块化。 我知道你看到那么长的文章肯定会望而却步,也许你是希望能够快速开始敲代码(程序员的通病……)。没关系,如果实在读不下去,只要记住模块化要解决的问题即可:命名冲突、文件依赖关系。 这两个闹心的问题应该遇到过吧,如果没遇到过……我只能说你太牛X了 好了,前端模块化就扯到这里,写过前端的人应该基本都知道JavaScript自身是不支持模块化开发的,所以就有了SeaJS这款神器,为前端从业者提供了一个强大易用的模块化开发工具。 2、下载并检阅SeaJS

翻译:introduce to tornado

别等时光非礼了梦想. 提交于 2019-12-05 01:30:11
在上一章节中,我们看到了如何使用tornado去创建和配置一个简单的web应用。我们学习了:handlers、http方法和tornado的整体框架结构。在这个章节,我们将要开始学习如何在web应用中使用更多更强大的功能。 和大部分web的框架一样,tornado设计的其中一个目标就是帮助你通过tornado更快的完成应用程序,实现代码的高可用和整洁。tornado非常灵活,它几乎支持所有的模板语言,它包括了一个轻量级、快速、灵活的模板。 简单的例子Poem Maker Pro 让我们通过这个名为Poem Maker Pro的例子开始吧!Poem Maker Pro 是一个web应用,它会通过一个html表格去接收用户填写的东西。并且将结果重新在网页中显示出来。 例2-1 poemmaker.py Code View Copy Print import os .path import tornado.httpserver import tornado.ioloop import tornado.options import tornado.web from tornado.options import define, options define(“port”, default=8000, help=”run on the given port”, type = int )

内核模块编程之模块工具的使用及区别

自作多情 提交于 2019-12-02 06:36:48
[摘要]:本文主要介绍了在内核模块中,如何使用模块工具加载模块驱动、卸载模块驱动、显示已经加载的内核模块信息,以及如何通过模块工具查看内核模块之间的依赖关系、以及如何查看模块的附加信息。并讲解了insmod和modprobe的区别以及rmmod和modprobe的区别。 一..insmod 1.功能: 用来加载内核模块。 2.使用方法: insmod module_name.ko 如果模块不在当前目录,需要给出模块的具体路径名: insmod /home/jibo/helloworld/helloworld.ko 二.modprobe 1.功能: 主要用来装载内核模块到运行的内核中,也可以结合参数执行一些其它功能。 2.使用方法: modprobe module_name 直接跟内核模块名,不用加具体的路径信息。 note:insmod和modprobe又有什么相同点和不同点呢。 (1)相同点: 在Linux中,modprobe和insmod都可以用来加载module。 (2)区别: 1>依赖关系 modprobe可以解决load modue时的依赖关系,比如load moduleA就必须先load moduleB之类的,它是通过/lib/modules/<kernel-version>/modules.dep文件来查找依赖关系的,该依赖文件是通过depmod生成的

Python基础——装饰器、模块(0417)

故事扮演 提交于 2019-11-26 10:41:23
一、Python基础——复习 1、字符串的常用操作 2、列表的常用操作 3、字典的常用操作 二、Python——装饰器: 函数可以是变量 1、Python是一种面向对象的编程语言,在Python中所有的都可以是Python的对象。即可以在函数内创建函数—— 函数也可以是变量!(亦可称之为:内嵌函数) 2、如果内部函数引用了外部函数定义的对象(即某函数调用的是该函数以外定义的对象,但该对象不是全局变量),那么此时内部函数叫做: 闭包函数,所引用的外部变量叫:自由变量。 什么是闭包函数?——函数内部定义函数;并且引用了外部变量但不是全局变量。 3、Python装饰器 Python装饰器本质上是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器返回的值也是一个函数对象。 3.1 变量与引用示例: 结果: 3.2 装饰器示例一: 运行结果: 3.3 装饰器示例二: 步骤1:执行代码第一行 定义变量为author 的函数srartEnd(即函数srartEnd就是装饰器) 步骤2:获取变量 author 的值,即author的值为 Jsh 步骤3:获取到author的值后,执行函数srartEnd 步骤4:执行函数srartEnd的内容,即定义变量为 fun 的函数a 步骤5:返回函数a的值 步骤6:@符号是装饰器的语法糖,在定义函数的时候使用,避免再一次被赋值