WEB前端开发规范文档示例
WEB前端开发规范文档示例
一、规范目的
为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档。本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发,本文档如有不对或者不合适的地方请及时提出,经讨论决定后方可更改。
在规范的框框下,我们就可以一心一意写代码了,不用太担心后期维护问题,及代码风格问题了。
二、基本准则
1、符合web标准, 语义化html,遵循内容(HTML)、显示(CSS)、行为(JavaScript)分离的 代码组织模式;
2、代码格式化,保持干净整洁;
3、html 换行时必须缩进一个tab;
4、编写所有前台页面时,应尽量遵循相同的页面代码结构;
5、每一个页面都必须有一个独立的css,js文件(base.css 或 base.js 类似这样的文件除外);
6、如果不是用HTML5编写的网站,请用IE7,IE8,IE9,火狐, 谷歌,webkit,safari内核进行测试兼容性;
7、如果是HTML5编写的网站,请用IE9,火狐,谷歌,webkit, safari内核进行测试兼容性。
三、文件规范
1、html, css, js, images文件均归档至《系统开发规范》约定的目录中;
2、html文件命名,英文命名,后缀.htm,同时将对应界面稿放于同目录中, 若界面稿命名为中文, 请重命名与html文件同名, 以方便后端添加功能时查找对应页面;
3、css文件命名,英文命名,后缀.css,共用base.css, 首页index.css, 其他页面依实际模块需求命名;
4、Js文件命名,英文命名,后缀.js,共用common.js, 其他依实际模块需求命名。
四、HTML书写规范
1、所有元素都必须小写,属性也是,如:
正确
错误 ;
2、元素必须成对出现,如必须写成 特殊元素除外,
如:
3、标签中不允许出现样式,必须用class来声明样式,如:
错误
正确
4、属性id命名必须是驼峰式命名如:
正确
错误
错误
5、属性class命名规范是: 元素简写+“-”+功能名,如:
正确
错误
错误
6、属性name命名必须遵循驼峰式命名法。
正确
错误
错误
7、属性必须有值:
正确
8、属性值必须用双引号,不允许使用单引号。
正确
错误
如果元素需要自定义属性,请用data-xxx方式命名。
严禁使用已在XHTML1.0中已移除的标签,如: s,i,b,font等
五、HTML其他规范
1、文档类型声明及编码,统一为html5声明类型
编码统一为 ,书写时利用IDE实现层次分明的缩进;
2、非特殊情况下样式文件必须外链至
与之间
非特殊情况下JavaScript文件必须外链至页面底部,
之前;
3、引入样式文件或JavaScript文件时, 须略去默认类型声明, 如下:
;
4、引入JS库文件, 文件名须包含库名称及版本号及是否为压缩版, 比如jquery-1.4.1.min.js
引入插件, 文件名格式为库名称+插件名称,比如jQuery.cookie.js;
5、所有编码均遵循xhtml标准, 且所有标签必须闭合, 包括br ( ), hr(
),
属性值必须用双引号包括;
6、充分利用无兼容性问题的html自身标签,,比如span, em, strong, optgroup, label,等等;
需要为html元素添加自定义属性的时候,首先要考虑下有没有默认的已有的合适标签去
设置,如果没有,可以使用须以“data-”为前缀来添加自定义属性,避免使用“data:”
等其他命名方式;
7、语义化html,如标题根据重要性用h*(同一页面只能有一个h1),段落标记用p, 列表用
ul,内联元素中不可嵌套块级元素;
8、尽可能减少div嵌套,如
完全可以用以下代码
替代:
;
9、书写链接地址时, 必须避免重定向,例如:href="http://105la.com/", 即须在URL地址
后面加上“/”;
10、在页面中尽量避免使用style属性,即style="";
11、必须为含有描述性表单元素(input, textarea)添加label,如
姓名:
须写成:
姓名:
12、能以背景形式呈现的图片,尽量写入css样式中;
13、重要图片必须加上alt属性,给重要的元素和截断的元素加上title;
14、给区块代码及重要功能(比如循环)加上注释,方便后台添加功能;
15、特殊符号使用, 尽可能使用代码替代, 比如<(<) &>(>) &空格( ) & »(») 等等;
16、书写页面过程中, 请考虑向后扩展性。
六、CSS书写规范
1、元素尽量使用class选择器匹配,对于特殊功能可以考虑使用 ID选择器;
2、明确各选择器的优先级,作用范围;
3、CSS写完之后必须使用“;”号结尾,虽然浏览器支持不用分号结尾,但是不建议这么做;
4、除非编写HTML5页面,否则不允许使用CSS3伪类,如 :nth-child(1) 等伪类,禁止使用;
5、编写CSS样式时,不允许换行,样式必须一行写完,自动换行 除外;
6、对于子元素样式采用链选择器进行选择,如 :btn-save div ;
7、元素选择器只能在定义全局CSS和子元素匹配时使用(尽量少 用),其他地方禁止使用;
8、请记住IE浏览器的hack方式,如下
IE6 = _width:100px; IE7 = *width:100px; IE8 = width:100px\9;
IE8/9 = width:100px\0; IE9 = width:100px\9\0;
9、编码统一为UTF-8;
10、css属性书写顺序,,建议遵循:布局定位属性-->自身属性-->文本属性-->其他属性,
此条可根据自身习惯书写,但尽量保证同类属性写在一起;
11、书写代码前,考虑并提高样式重复使用率;
12、充分利用html自身属性及样式继承原理减少代码量,比如:
,样式
ul:list li{position:relative} ul:list li span{position:absolute; right:0} 可居右显示;
13、样式表中中文字体名, 请务必转码成unicode码, 以避免编码错误时乱码;
14、使用table标签时(尽量避免使用table属性),
请不要用width/ height/cellspacing/cellpadding等table属性直接定义表现,
应尽可能的利用table自身私有属性分离结构与表现 , 如
Thead、tr、th、td、tbody、tfoot、colgroup、scope,
cellspaing及cellpadding的css控制方法:
table{border:0;margin:0;border-collapse:collapse;} table th , table td{padding:0;} ,
base.css文件中我会初始化表格样式;
15、杜绝使用 兼容 ie8;
16、避免存在兼容性属性的使用,比如text-shadow 或者 css3的相关属性;
17、减少使用影响性能的属性,比如position:absolute 或者 float ;
18、必须为大区块样式添加注释, 小区块适量注释;
七、JavaScript书写规范
1、JS必须使用外部文件方式加载;
2、JS引入代码必须集中放置在页面最底部之前,
严禁在
之间引入JS,特殊情况除外;
3、JS变量命名请使用驼峰式命名法;
4、JS变量严禁使用“不明觉厉”的命名方法,如: vara;var b;
5、每一个函数与事件监听都必须有注释,声明其作用,
如果代码过长,那么请对一个功能模块进行注释;
6、JS函数命名必须使用驼峰式命名;
7、JS函数严禁使用“不明觉厉”的命名方法,如: function a(){};
8、JS代码换行时,必须使用缩进。
八、jQuery部分
1、使用jQuery选择器如果是唯一的,请使用ID选择器;
2、使用class选择器时,在class前加上标签名,如:
$( “ div . class ” ) 正确 ,$( “ . class ” ) 错误 ;
3、尽量使用ID选择器代替class选择器;
4、如果一个变量存放的是jQuery对象的话,那么请用”$”符号 开头,
声明这是一个jQuery对象;
5、避免使用live()函数绑定事件,可以使用bind()和on()代替,例如
$(document).on( “ click ” , ” #id ” ,function(){}) ;
6、把可能会影响页面加载速度的代码绑定到 $(window).load()事件中,
如动画,视觉特效等代码。
九、图片规范
1、所有页面元素类图片均放入images文件夹,测试用图片放于images/demoimg文件夹;
2、图片格式仅限于gif 或 png 或 jpg;
3、命名全部用小写英文字母 || 数字 || _ 的组合,
其中不得包含汉字 || 空格 || 特殊字符,尽量用易懂的词汇,便于团队其他成员理解。
另, 命名分头尾两部分,用下划线隔开,比如ad_left01.gif || btn_submit.gif;
4、在保证视觉效果的情况下选择最小的图片格式与图片质量, 以减少加载时间;
5、尽量避免使用半透明的png图片(若使用, 请参考css规范相关说明)。
十、注释规范
1、html注释格式, '--'只能在注释的始末位置,不可置入注释文字区域;
2、css注释格式 /**这儿是注释**/;
3、JavaScript单行注释用 //这儿是单行注释,多行注释用 /** 这儿有多行注释 **/。
十一、开发及测试工具约定
建议使用Aptana || Dw || Vim || HBuilder ,亦可根据自己喜好选择, 但须遵循如下原则。
1、不可利用IDE的视图模式'画'代码;
2、不可利用IDE生成相关功能代码,比如Dw内置的一些功能js;
3、编码必须格式化,比如缩进。
建议测试顺序FireFox-->IE7-->IE8-->IE6-->Opera-->Chrome-->Safari
前期开发仅测试FireFox & IE6 & IE7 & IE8
后期优化时加入Opera & Chrome & Safari; IE Tab Plus插件
十二、其他规范
1、开发过程中严格按分工完成页面, 以提高css复用率,避免重复开发;
2、减小沉冗代码, 书写所有人都可以看的懂的代码;
3、严禁修改任何第三方插件的核心文件。
你可能感兴趣的:(网站开发,电脑运维,前端,safari,javascript)
Web前端发展史
王珍岩
笔记
1、静态页面阶段那是1990年的12月25日,恰是西方的圣诞节,TimBerners-Lee在他的NeXT电脑上部署了第一套“主机-网站-浏览器”构成的Web系统,这标志BS架构的网站应用软件的开端,也是前端工程的开端。1993年4月Mosaic浏览器作为第一款正式的浏览器发布。1994年11月,鼎鼎大名的Navigator浏览器发布发布了,到年底W3C在Berners-Lee的主持下成立,标志着
探索创新:CanvasParticles - 点燃你的网页动态效果
柏赢安Simona
探索创新:CanvasParticles-点燃你的网页动态效果去发现同类优质开源项目:https://gitcode.com/是一个开源的JavaScript库,专注于在HTML5Canvas上创建引人入胜的粒子动画效果。如果你是Web开发者,正在寻找一种方法为你的网站增添独特的视觉吸引力,那么这个项目绝对值得你深入了解。项目简介CanvasParticles提供了一套简洁而强大的API,让你能够
探索CoreHTML5Canvas:创作动态Web图形的新工具
郁英忆
探索CoreHTML5Canvas:创作动态Web图形的新工具去发现同类优质开源项目:https://gitcode.com/是一个强大的JavaScript库,专为开发者设计,旨在简化和增强在Web上创建交互式和动画图形的能力。这个项目利用HTML5Canvas元素,提供了一个简洁且高效的API,让开发人员可以轻松地构建出丰富的2D渲染效果。技术分析HTML5Canvas是HTML5的一个重要特
JavaEE 项目常见错误解决方案
一弦一柱
JavaEE 常见错误 中文乱码 JSP 404
JavaEE项目常见错误解决方案数据库连接JavaBean获取不到数据库字段值或出现意料之外的值业务中出现null或""404NOTFOUNDGET请求中文乱码form表单提交中文乱码最近的实训中,练了一个比较基础的项目,JSP+Servlet+JavaBean,完成两张表的CRUD操作,前端使用Bootstrap和JQuery,交互使用AJAX,IDE选用Eclipse,在时间比较仓促的情况下完
前端框架的发展史
Qpeterqiufengyi
专有名词解释 前端框架
1、htmlcss+div从1990年代初HTML被发明开始样式表就以各种形式出现了,不同的浏览器结合了它们各自的样式语言,读者可以使用这些样式语言来调节网页的显示方式。一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该怎样被显示。但随着HTML的成长,为了满足设计师的要求,HTML获得了很多显示功能。随着这些功能的增加外来定义样式的语言越来越没有意义了。1994
前端 UI 框架发展史
之道前端
前端知识点 前端 ui 学习 程序人生 前端框架
上一小节我们了解了前端UI框架的作用和意义,接下来我们再来了解前端UI框架的发展历史。虽然是讲历史,但我不想讲得太复杂,也不打算搞什么编年史记录啥的,毕竟我们不是来学历史的。我会简单描述一下前端UI框架的发展历程,同时在这个过程中,把我自己的一些感受和想法分享给你。你可以以轻松娱乐的心态来看这篇文章,同时也大概了解一下我们前端开发是怎么发展到现在这样子的。这样可以让你更好地去理解将要学习的前端UI
Webpack 打包详细教程
oliver.chau
前端开发 webpack 前端 node.js
Webpack是一个现代JavaScript应用的静态模块打包工具,它可以处理JavaScript、CSS、图片等资源,并优化它们以提高性能。以下是Webpack从基础到进阶的详细教程。1.Webpack基础概念Webpack的核心概念包括:Entry(入口):Webpack开始打包的起点。Output(输出):打包后的文件存放路径。Loaders(加载器):转换非JavaScript资源(如CS
有没有开源的企业网盘,是否适合企业使用?
网盘
开源选项丰富、灵活定制能力强、需要额外运维投入、适合特定场景但不一定适合所有企业,是开源企业网盘的主要特征。从表面看,开源网盘往往具有免费或低成本优势,但企业要投入一定的人力与技术资源来完成安装、维护与升级,从而保障系统的稳定运行。我个人尤其建议在评估运维能力和长期需求后再行决定,因为开源网盘的可行性需要与企业的IT基础和信息安全策略相匹配。在这几点特征里,灵活定制能力强最具吸引力。企业可以根据自
目前使用ORACLE EBS的公司列表
又是两个大汉堡
(相关文章:目前使用SAP的公司列表)1摩托罗拉2LG电子3济南钢铁4长安福特5百度6伊利7亚信8佳通9移动10电信11湘钢12韶钢13三角轮胎14广州铁道车辆厂15美的集团16青岛啤酒17珠江啤酒18德赛集团19大唐电力20云南白药21白沙集团22万家乐集团23华为24松下电工25华润涂料26广西柳工机械股份有限公司27天津中新药业集团28浦东机场29涟源钢铁集团30衡阳钢管厂31顺达电脑,32
如何在PHP中实现API版本管理:保持向后兼容性
奥顺互联V
php php 开发语言
如何在PHP中实现API版本管理:保持向后兼容性在现代Web开发中,API(应用程序编程接口)是连接前端和后端的关键桥梁。随着业务需求的不断变化,API的版本管理变得尤为重要。良好的版本管理策略不仅能够确保新功能的顺利引入,还能保持向后兼容性,避免对现有客户端造成破坏性影响。本文将探讨如何在PHP中实现API版本管理,并保持向后兼容性。1.为什么需要API版本管理?API版本管理的主要目的是在不破
JS: 类型转换 + 运算符 + 循环
..儒
javascript 开发语言 ecmascript
类型转换一,为什么需要类型转换JavaScript是弱数据类型:JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。坑:使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。console.log('1000e'+‘2000')//输出结果100002000此时需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型
Uniapp组件 Textarea 字数统计和限制
weixin_42220130
uniapp 微信小程序 uni-app textarea 输入框 统计 限制
UniappTextarea字数统计和限制在Uniapp中,可以通过监听textarea的input事件来实现字数统计功能。以下是一个简单的示例,展示如何在textarea的右下角显示输入的字符数。示例代码首先,在模板中定义一个textarea元素,并绑定input事件处理函数:{{fontNum}}/200然后,在JavaScript部分定义updateFontNum方法来更新字符数:expor
Web端测试时,接口返回200,页面有没显示,可能时什么原因?
海姐软件测试
测试工具 面试 职场和发展
需从系统架构、前后端交互、测试方法三个维度展开分析,结合具体场景给出可落地的排查方案:一、核心原因分析(按优先级排序)前端渲染异常JS脚本执行错误(如语法错误导致页面渲染中断)DOM元素未正确加载(XHR异步请求未完成时触发渲染)CSS样式冲突(display:none/visibility:hidden导致元素不可见)数据解析错误接口返回字段缺失(如缺少关键展示字段id)数据格式不符合预期(如字
如何有效管理 JavaScript 中的内存:垃圾回收与最佳实践
名之以父
JavaScript 前端 安全 javascript 前端框架 react.js vue.js 网络
“垃圾回收是现代编程语言的核心特性之一,它使得开发者可以专注于功能实现,而无需担心内存管理的细节。”——在JavaScript中,垃圾回收(GC)是一个自动化的内存管理过程,它帮助我们确保不再使用的内存得到释放。尽管JavaScript的垃圾回收机制非常强大,但如果对其原理和工作方式不够了解,也可能导致一些性能问题和内存泄漏。本文将深入探讨JavaScript中的垃圾回收机制、算法以及如何优化垃圾
【JavaScript 】垃圾回收机制进阶解析:提高性能的终极指南
名之以父
JavaScript java jvm 开发语言 前端 安全 网络 vue.js
“垃圾回收机制不仅是内存管理的基石,更是高效Web开发的保障。在JavaScript中,理解其工作原理至关重要。”在JavaScript中,垃圾回收(GarbageCollection,GC)是一个自动化的内存管理过程,能够有效防止内存泄漏虽然这看似是一个简单的机制,但背后却包含着丰富的理论与实现细节。理解这些原理,不仅能够帮助我们写出更高效的代码,还能避免一些性能问题和内存泄漏。本文将带你深入探
JavaScript面试宝典
傻小胖
javascript 面试 前端
1.JS由哪三部分组成?JavaScript由以下三部分组成:ECMAScript(ES):JavaScript的核心语法,如变量、作用域、数据类型、函数、对象等。DOM(文档对象模型):用于操作HTML和XML文档的API,可以动态修改网页内容、结构和样式。BOM(浏览器对象模型):用于操作浏览器窗口和页面,例如window、navigator、location、history、screen等对
我与DeepSeek读《大型网站技术架构》(3)
诺亚凹凸曼
架构
大型网站架构的核心要素《大型网站技术架构:核心原理与案例分析》第三章聚焦于大型网站架构的核心要素,从技术维度剖析了构建高可用、高性能、可扩展系统的关键设计方向。1.五大核心架构要素(1)性能(Performance)目标:快速响应用户请求,优化用户体验。关键策略:前端优化:CDN加速静态资源、合并压缩JS/CSS、浏览器缓存。服务端优化:缓存(Redis/Memcached)、异步处理(消息队列)
JavaScript模块化开发的演进历程
IronKee
JavaScript javascript 前端
写在前面的话js模块化历程记录了js模块化思想的诞生与变迁历史不是过去,历史正在上演,一切终究都会成为历史拥抱变化,面向未来延伸阅读-JavaScript诞生(这也解释了JS为何一开始没有模块化)JavaScript因为互联网而生,紧随着浏览器的出现而问世1990年底,欧洲核能研究组织(CERN)科学家Tim,发明了万维网(WorldWideWeb),最早的网页只能在操作系统的终端里浏览,非常不方
Dash 简介
tankusa
dash
Dash是一个基于Python的开源框架,专门用于构建数据分析和数据可视化的Web应用程序。Dash由Plotly团队开发,旨在帮助数据分析师、数据科学家和开发人员快速创建交互式的、基于数据的Web应用,而无需深入掌握前端技术(如HTML、CSS和JavaScript)。Dash的核心优势在于其简单易用性和强大的功能。通过Dash,用户可以使用纯Python代码来构建复杂的Web应用,而无需编写繁
autoMate - AI实现电脑任务自动化的本地工具
小众AI
AI开源 人工智能 自动化 运维
GitHub:https://github.com/yuruotong1/autoMate更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现-小众AIautoMate是一款由开源开发的本地自动化工具,以AI+RPA(人工智能+机器人流程自动化)为核心特色。它将大型语言模型的智能理解与RPA的流程执行能力结合,用户只需用自然语言描述任务,如“整理桌面文件”或“生成周报”,即可
电脑装机之后耳机有杂音,原因及解决方案
niuTaylor
硬件区 音频干扰 电源线 信号干扰 音频线路径 内部干扰
**解决过程:**有杂声的原因无外乎是音频线质量有问题另外是有其他因素干扰。首先客服寄了一根新的音频线,不装机箱内,只单纯插入接口,没有杂音。装机后开机测试,杂音小了但还是有。这肯定是有干扰,周围没有外部设备,干扰来自内部**原因:**电源的主板供电线压在音频线上,大电流产生信号干扰。**解决方案:**音频线更改路径,远离电源线。
Zookeeper【概念(集中式到分布式、什么是分布式 、CAP定理 、什么是Zookeeper、应用场景、为什么选择Zookeeper 、基本概念) 】(一)-全面详解(学习总结---从入门到深化)
童小纯
中间件大全---全面详解 zookeeper 分布式
作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人目录Zookeeper概念_集中式到分布
Yarn:包管理优化与工作空间的最佳实践
在现代前端开发中,包管理工具是不可或缺的工具之一。Yarn作为一个快速、可靠且安全的包管理工具,相对于npm,提供了一些独特的功能和优化,尤其是在工作空间管理和性能优化方面尤为突出。本文将深入探讨Yarn的专业使用,包括其工作空间的强大功能、性能优化技术以及在大型项目中的最佳实践。Yarn简介Yarn是由Facebook开发的一个JavaScript包管理工具,它旨在解决npm的一些关键问题,如安
数字IC前端设计究竟怎样?薪资前景如何?
IC观察者
fpga开发 集成电路 模拟IC 模拟版图 模拟版图入门
数字ic前端岗位介绍:数字ic前端设计处于数字IC设计流程的前端,属于数字IC设计类岗位的一种。数字ic前端设计主要分成几种层次的设计:IPlevel,unitlevel,fullchip/SoClevel,gatelevel等。作为数字IC前端工程师,为了让写的RTL代码没有bug,会经常与验证工程师要求debugcase;为了了解芯片整体架构和功能属性,还要与架构工程师打交道;还要与后端工程师
ES6 解构赋值详解
修己xj
web es6 javascript es6
ES6是JavaScript语言的一次重大更新,引入了许多新特性和语法改进,其中解构赋值是一个非常实用和灵活的语法特性。它可以让我们从数组或对象中提取值,并赋给对应的变量,让代码变得更加简洁和易读。本文将深入探讨ES6解构赋值的语法、用法及其在实际开发中的应用。数组解构赋值数组解构赋值允许我们通过类似模式匹配的方式,从数组中提取值并赋给变量,即只要等会两边的变量模式相同,左边的变量就会被赋予对应的
tauri + vue3 如何实现在一个页面上局部加载外部网页?
bug菌¹
全栈Bug调优(实战版) # CSDN问答解惑(全栈版) tauri vue3
本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!问题描述 tauriv1(1.6左右)+vue3我想在vue3前端页面上在一个页面而不是window.open打开一个新的窗口去加载外部网页我想在一个页面中局部中间加载一个外部网页(试过
ES6之解构
Hopebearer_
ES6 es6 前端 javascript 开发语言 ecmascript
文章目录ES6之解构一、数组解构1.基本解构2.部分解构3.默认值4.剩余参数5.嵌套解构6.交换变量二、对象解构1.基本解构2.重命名3.默认值4.剩余参数三、函数参数结构1.数组参数解构2.对象参数解构3.默认值四、注意事项1.解构顺序2.undefined情况3.剩余元素4.对象的方法解构ES6之解构解构是JavaScript(ES6及以后版本)中一种非常强大的语法特性,它允许我们按照一定模
Monorepo与pnpm:前端项目管理的完美搭档
秋の本名
前端 pnpm 前端框架 mojo
一、什么是pnpmpnpm又称performantnpm,翻译过来就是高性能的npm。1.节省磁盘空间提高安装效率pnpm通过使用硬链接和符号链接(又称软链接)的方式来避免重复安装以及提高安装效率。硬链接:和原文件共用一个磁盘地址,相当于别名的作用,如果更改其中一个内容,另一个也会跟着改变符号链接(软链接):是一个新的文件,指向原文件路径地址,类似于快捷方式官网原话:当使用npm时,如果你有100
ES6解构赋值详解
漫天转悠
ES6 es6 前端 ecmascript
ES6解构赋值详解ES6解构赋值是JavaScript语言的一项强大特性,它允许从数组或对象中提取数据,并将其赋值给变量。这一特性不仅简化了代码,提高了可读性,还增强了代码的灵活性。本文将详细介绍ES6解构赋值的基本概念、语法、应用场景以及一些高级用法。1.基本概念解构赋值是对赋值运算符的扩展。它允许按照一定的模式,从数组或对象中提取值,并赋值给变量。这种语法使得从复杂数据结构中提取数据变得更加简
web前端期末大作业:婚纱网页主题网站设计——唯一旅拍婚纱公司网站HTML+CSS+JavaScript
IT-司马青衫
前端 课程设计 html
静态网站的编写主要是用HTMLDⅣV+CSSJS等来完成页面的排版设计,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉导航栏、鼠标划过效果等知识点,学生网页作业源码,制作水平和原创度都适合学习或交作业用,记得点赞。精彩专栏推荐【作者主页——获取更多优质源码】【web前端期末大作业——毕设项目精品实战案例(1
ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM 字节码动态生成 ClassNode TreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
链表树——复合数据结构应用实例
bardo
数据结构 树型结构 表结构设计 链表 菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
为啥要用位运算代替取模呢
chenchao051
位运算 哈希 汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
最近的情况
麦田的设计者
生活 感悟 计划 软考 想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
PHP去掉字符串中最后一个字符的方法
IT独行者
PHP 字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
hadoop在linux上单机安装过程
_wy_
linux hadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互 分布式 事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop 互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
探索JUnit4扩展:使用Theory
bijian1013
java JUnit Theory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
[Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
java netty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
Hive几种导出数据方式
daizj
hive 数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
编程之美
dcj3sjt126com
编程 PHP 重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
Oracle 复习笔记之同义词
eksliang
Oracle 同义词 Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
Ajax案例
gongmeitao
Ajax jsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.net Web C# asp.net hovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
事务管理
luyulong
java spring 编程 事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
基础数据结构和算法十一:Red-black binary search tree
sunwinner
Algorithm Red-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
centos同步时间
stunizhengjia
linux 集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro