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)
Flink中的SQL Client和SQL Gateway
BigDataMLApplication
flink flink sql gateway
Flink中的SQLClient和SQLGateway对比目录定义基本原理适用场景主要区别常用运维命令示例官方链接正文1.定义SQLClient:FlinkSQLClient是一种用于提交和执行FlinkSQL语句的命令行界面或图形界面工具。SQLGateway:FlinkSQLGateway是一个独立的服务,它允许客户端通过RESTfulAPI将SQL查询提交到Flink集群。2.基本原理SQL
springboot集成logback-spring.xml文件
RT_0114
SpringBoot spring boot spring logback
彩色日志日志分debug和error文件输出,方便开发人员运维日志限制最大保管天数日志限制总量大小占用量GB日志限制单个文件大小MB日志显示最大保留天数屏蔽没用的日志${CONSOLE_LOG_PATTERN}${log.path}/debug.log${log.path}/%d{yyyy-MM-dd,aux}/debug.%d{yyyy-MM-dd}.%i.log.gz1024MB50GB365
大前端-postcss安装使用指南
黑夜照亮前行的路
postcss
PostCSS是一款强大的CSS处理工具,可以用来自动添加浏览器前缀、代码合并、代码压缩等,提升代码的可读性,并支持使用最新的CSS语法。以下是一份简化的PostCSS安装使用指南:一、安装PostCSS在你的项目目录中,通过npm(NodePackageManager)来安装PostCSS。打开命令行窗口,输入以下命令:bash复制代码npminstallpostcss--save-dev这将把
谷歌浏览器驱动Chromedriver(114-120版本)文件以及驱动下载教程
pigerr杨
Python python chrome drivers
ChromeDriver官方网站GitHub||GoogleChromeLabs/chrome-for-testingChromeDriver113-125_JSONChromeforTestingavailability123-125zip白月黑羽Python基础|进阶|Qt图形界面|Django|自动化测试|性能测试|JS语言|JS前端|原理与安装
虚拟 DOM 的优缺点有哪些
咕噜签名分发
前端 javascript 开发语言
虚拟DOM(VirtualDOM)技术作为现代前端开发中的重要组成部分,已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势,同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点,深入探讨其在实际应用中的影响。提升性能虚拟DOM的最大优势之一是提升页面性能。通过比较前后两次虚拟DOM树的差异,最小化实际DOM操作,从而减少页面重渲染时的性能消耗。这种优
3、JavaWeb-Ajax/Axios-前端工程化-Element
所谓远行Misnearch
# JavaWeb 前端 ajax elementui java 前端框架
P34Ajax介绍Ajax:AsynchroousJavaScriptAndXML,异步的JS和XMLJS网页动作,XML一种标记语言,存储数据,作用:数据交换:通过Ajax给服务器发送请求,并获取服务器响应的数据异步交互:在不重新加载整个页面的情况下,与服务器交换数据并实现更新部分网页的技术,例如:搜索联想、用户名是否可用的校验等等。同步与异步:同步:服务器在处理中客户端要处于等待状态,输入域名
网络安全(黑客)——自学2024
小言同学喜欢挖漏洞
web安全 安全 网络 学习 网络安全 信息安全 渗透测试
01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有Web防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。02怎样规划网络安全如果你是一
黑客(网络安全)技术自学30天
一个迷人的黑客
web安全 安全 网络 笔记 网络安全 信息安全 渗透测试
01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有Web防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。02怎样规划网络安全如果你是一
Python dict字符串转json对象,小数精度丢失问题
朝如青丝 暮成雪
json python
一前言JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,dict是Python的一种数据格式。本篇介绍一个float数据转换时精度丢失的案例。二问题描述importjsontest_str1='{"π":3.1415926535897932384626433832795028841971}'test_str2='{"value":10.00000}'print
java实体中返回前端的double类型四舍五入(格式化)
婲落ヽ紅顏誶
java
根据业务,需要通过后端给前端返回部分double类型的数值,一般需要保留两位小数,使用jackson转换对象packagecom.ruoyi.common.core.config;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.f
Django forms组件
在飞行-米龙
Django django python 后端
【一】引入【1】实现登陆验证功能(1)需求分析登陆验证需要前后端交互,采用form表单提交数据对数据进行校验用户名必须以英文大写字母开头密码必须大于三位数反馈给用户错误的信息除了反馈错误的信息还有保留原始输入内容(2)后端代码使用user_info_dict字典每次刷新存储存储前端发送的信息存储后端进行验证的信息defhome(request):#每次后刷新这个信息字典user_info_dict
自学黑客(网络安全)技术——2024最新
九九归二
web安全 安全 学习 笔记 网络 网络安全 信息安全
01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有Web防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。02怎样规划网络安全如果你是一
Web前端Html的表单
任家伟
前端 html
表单的关键字:form标签表示一个表单区域action=“后端地址”method=“提交数据方式:get/post”input单行输入框type=“text”文本name=“定义名称名字自定义”向后端提交的键readonly=“readonly”只读,不可修改,但是可以提交disabled=“disabled”禁用组件不可修改,不能提交type=“password”密码框type=“radio”单
Thinkphp - 详细实现网站系统登录功能,附带 Mysql 数据库设置、Web 前端展示界面、信息校验等(详细代码,即设计过程)
王佳斌
+ Thinkphp mysql 前端 数据库
前言登录功能,是我们几乎开发每个系统都必须的模块。登录功能设计思路,主要包括几个方面。用户输入网址展示登录页面用户输入用户名,密码等点击登录进行信息校验校验通过之后,记录用户登录信息,跳转指定页面用户校验失败,提示失败信息页面目录具体功能实现为了快速搭建可用、美观的页面,我们采用一个比较成熟的前端框架Bootstrap。下面我们到Bootstrap的官网Bootsrap官网下载bootstrap。
javascript 日期转换为时间戳,时间戳转换为日期的函数
cdcdhj
javascript学习日记 javascript 开发语言 ecmascript
日期转化为时间戳,主要用valueOf()来进行转化为毫秒时间戳,getTime()IOS系统无法解析转换,所以都有valueOf()letgetTimestampOrDate=function(timestamp){lettimeStamp='';constregex=/^\d{4}(-|\/)\d{2}(-|\/)\d{2}$/;constregex2=/^\d{4}(-|\/)\d{2}(-
COMP315 JavaScript Cloud Computing for E Commerce
zhuyu0206girl
javascript 开发语言 ecmascript
Assignment1:Javascript1IntroductionAcommontaskincloudcomputingisdatacleaning,whichistheprocessoftakinganinitialdatasetthatmaycontainerroneousorincompletedata,andremovingorfixingthoseelementsbeforeform
JSON与AJAX:网页交互的利器
入冉心
json ajax 前端
在现代Web开发中,JSON(JavaScriptObjectNotation)和AJAX(AsynchronousJavaScriptandXML)是两项不可或缺的技术。它们共同为网页提供了动态、实时的数据交互能力,为用户带来了更加流畅和丰富的体验。本文将详细介绍JSON和AJAX的概念、原理,并通过代码示例展示它们在实际开发中的应用。一、JSON:轻量级的数据交换格式JSON是一种轻量级的数据
程序员开发技术整理
laizhixue
学习 前端框架
前端技术:vue-前端框架element-前端框架bootstrap-前端框架echarts-图标组件C#后端技术:webservice:soap架构:简单的通信协议,用于服务通信ORM框架:对象关系映射,如EF:对象实体模型,是ado.net中的应用技术soap服务通讯:xml通讯ado.net:OAuth2:登录授权认证:Token认证:JWT:jsonwebtokenJava后端技术:便捷工
【前端学习——js篇】7.函数缓存
笔下无竹墨下有鱼
前端学习 前端 学习 javascript
具体见:https://github.com/febobo/web-interview7.函数缓存函数缓存,就是将函数运算过的结果进行缓存本质上就是用空间(缓存存储)换时间(计算过程)常用于缓存数据计算结果和缓存对象。其实现主要通过闭包、柯里化和高阶函数。下面主要介绍下柯里化:①柯里化柯里化(currying)是一种函数式编程的概念,指的是将一个带有多个参数的函数转换成一系列只接受一个参数的函数的
javascript的数据类型及转换
田小田txt
一、JavaScript数据类型:共有string,number,boolean,object,function五种数据类型;其中Object,Date,Array为对象型;2个不包含任何值的数据类型:null,undefined。二、Typeof查看数据类型:typeof"John"//返回stringtypeof3.14//返回numbertypeofNaN//返回numbertypeoffa
Websocket服务监听收发消息
beiback
Java 服务器问题 websocket 网络协议 网络
目录1.pom依赖坐标2.项目配置端口和项目包名2.创建处理器3.注册处理器4.前端页面1.pom依赖坐标org.springframework.bootspring-boot-starter-websocket2.项目配置端口和项目包名application.propertiesserver.port=8088//路径规范:为应用的所有servlet提供一个统一的前缀,使URL结构更加清晰和一致
Netty服务器结合WebSocke协议监听和接收数据
beiback
服务器问题 Java 服务器 运维 netty
目录1.pom依赖2.配置属性3.创建netty服务器4.建立监听和响应5.创建启动器6.前端static下页面7.前端js8.注意异常问题9.创建netty服务器--使用守护线程1.pom依赖io.nettynetty-all4.1.86.Final2.配置属性application.properties#启动端口server.port=8088server.servlet.context-pa
基于SSM+Vue企业销售培训系统 企业人才培训系统 企业课程培训管理系统 企业文化培训班系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SSM(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆.png前端页面功能:首页、培训班、在线学习、企业文化、交流论坛、试卷列表、系统公告、留言反馈、个
《唐阿姨的电脑》唐晓莉林浩(完结篇)全文免费阅读【笔趣阁】
小说推书
《唐阿姨的电脑》唐晓莉林浩(完结篇)全文免费阅读【笔趣阁】主角:唐晓莉林浩简介:这天中午,林浩接到了唐晓莉的电话,说家里电脑坏了,问他有没有时间过去帮忙看一眼。可以关注微信公众号【枫叶赏文】去回个书號【唐晓莉】,即可免费阅读【唐阿姨的电脑】小说全文!这天中午,林浩接到了唐晓莉的电话,说家里电脑坏了,问他有没有时间过去帮忙看一眼。“当然有了,我今天没课,唐阿姨你在家等我,十分钟就到。”说完,林浩立马
网络安全(黑客技术)—自学
德西德西
web安全 安全 网络安全 学习 python 开发语言 php
1.网络安全是什么网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。2.网络安全市场一、是市场需求量高;二、则是发展相对成熟入门比较容易。3.所需要的技术水平需要掌握的知识点偏多(举例):4.国家政策环境对于国家与企业的地位愈发重要,没有网络安全就没有国家安全更有为国效力的正义黑客—红客联盟可见其重视
javascript实现SM2加密解密
人生在勤,不索何获
javascript 前端 jquery
前提JavaWeb环境前端代码window.sm2=function(t){functioni(e){if(r[e])returnr[e].exports;varn=r[e]={i:e,l:!1,exports:{}};returnt[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}varr={};returni.m=t,i.c=r,i.d=fu
Vue:为什么要使用v-cloak
刻刻帝的海角
vue.js 前端 javascript
Vue.js是一种流行的JavaScript框架,它使我们能够构建交互性强大的用户界面。在Vue.js中,v-cloak是一个指令,用于解决在页面加载时出现的闪烁问题。本文将介绍如何使用v-cloak及代码来优化Vue.js应用程序的渲染效果。引言当我们使用Vue.js构建应用程序时,有时会遇到一个问题:在页面加载时,由于Vue.js需要一定的时间来解析和渲染模板,会导致页面上显示出未经处理的Mu
JavaScript快速入门笔记之二(变量、常量、数据类型)
eshineLau
前端开发 javascript 笔记 前端
JavaScript快速入门笔记之二(变量、常量、数据类型)1、变量何时使用变量:程序中的一切数据都要保存在变量中,反复使用如何使用变量:2种情况:赋值和取值赋值:2步:1.1创建变量:——声明——创建一个新的空变量语法:var变量名;强调:仅声明,未赋值的变量,默认值是undefined命名:1.不能以数字开头2.不能用保留字。3.一般采用驼峰命名1.2赋值:将数据保存到变量中语法:变量名=数据
老实的我,难道就注定找不到女朋友吗?
智慧同同
老实如我,内向不爱说话不会幽默,30好几了,没有女朋友,连女生的手都没牵过,难道老实也是一种错?活该单身吗?事业没起色,感情也特失败,感觉我的前半生写满了悲剧,单身久了也会寂寞,可是现在感觉女朋友不好找,每天反思这自己为什么单身。1、嘴笨,不会说甜言蜜语老实如我,每天的工作就是对着电脑,以前是当程序员对着电脑敲代码,现在是做淘宝运营,天天对着电脑看数据,和人交流少,性格本来就内向,不爱说话也变得不
SQL运维_Unix下MySQL-8.0.18配置文件示例
Mostcow
SQL sql 运维 unix
SQL运维_Unix下MySQL-8.0.18配置文件示例MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将
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