概念
BootStrap是由Twitter的两位员工Mark Otto和Jacob Thornton于2010年8月创建,距今已有7年,不过其仍然是最流行的前端CSS框架。它基于Less前端开发库,提供了常见的CSS和Javascript代码,然开发快速上手。其具有以下特性:完整的基础CSS插件;丰富的预定义样式表;基于jQuery 的js插件集;非常灵活的响应式栅格系统,而且崇尚移动先行的思想。随着bootstrap的火爆,出现了很多优秀插件,比如Font Awesome字体。Bootstrap官网地址 ,demo和文档非常丰富。 其下载后的源码结构为: 这儿值得的一说的就是fonts中通过字体文件代替了过去的.png,其通过@font-face
语法,将安全的Web字体实时下载到客户端,便于任意缩放、改变颜色。 Html标准模板如下所示
bootstrap基础模板
可以看到viewport的媒体查询,此外如果需要更多的模板可以访问getbootstrap下载模板。
CSS基本回顾
优先级 :(过去有一些误区)如何确定CSS的优先级,需要引入一个机制,分别用数字(a,b,c,d)表示优先组合,a表示style属性(行内样式),优先级最高,但由于一般使用class样式,该值为0;b是该css选择器上id数量的总和,一般为1个;c是用在该css选择器上的其他属性css选择器和伪类的总和,包括class(.btn)和属性css选择器li[id=red];d计算元素div和伪元素first-child;通用css选择器*
的0优先级,即最低;如果2个css具有相同优先级,在样式表中后面的起作用。比如下面连个选择器的优先,第一个比第二个高。 leftbar li#first{color: red}: 0,2,0,1 leftbar li:first-child{color: blue}: 0,1,0,2
选择器 属性选择器
子选择器:用>
表示,例如table>thread>tr>th
兄弟选择器:临近兄弟用+
,普通兄弟用~
伪类 :bootstrap支持的伪类包括:hover鼠标划过时的状态, :focus
元素有焦点的状态, :first-child
, :last-child
, :nth-child()
指定元素的一个或多个特定子元素(可以是数字,也可以是even
,odd
)。 例如,设置按钮组,除第一个、最后一个按钮和带dropdown-toggle样式的元素外,其他btn样式都不设置圆角
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
display属性 :用于定义建立布局时元素生成的框的类型,如果不谨慎使用容易出错
none 此元素不会显示
block 此元素显示为块级元素,前后会带换行符
inline 默认,此元素会被显示为内联元素,没有换行符
inline-block 行内块元素
list-item 此元素会以列表显示
run-in 此元素会根据上下问作为块级元素和内联元素显示
inherit 规定从父元素集成display属性
table-xxx 各种table显示
媒体查询 :响应式设计的核心元素,常用的有min-width,max-width,and,详情可访问Mediaqueries官方网站
JavaScript语法回顾
||和&&运算符 :a&&b返回第一个可转化为false的元素值,a||b返回第一个可转换为true的元素值。立即调用的函数表达式 :在JS中,function定义后通过加小括号,完成立即调动。(function(){}())
+function($){
"user strict";
}(jQuery);//这儿+和;一样,起到分割的作用
原型 :Alert.prototype.close=function(e){}
jQuery事件绑定 :jQuery使用on和off来绑定和禁用时间,但bootstrap中稍有变化
$('td').on('click', function(event){});//原有格式$('document').on('click.bjock', 'td', function(event){});//这儿增加了参数'td',而且选择器变成了document,//好处是在document上绑定了一个单击事件,利用冒泡机制,在单机的时候检查是否为td元素,如果是才处理//而把td作为选择器,一个页面有多少td都会被绑定,性能下降,这三个参数的名字呗称为享元模式(回顾一下)。
事件命名空间 :可以看到上例中的事件click.bjork
,bjork
被称命名空间,当需要触发自己的时间时,命名空间就变得很有用,比如$('#first').trigger('click.bjork');
,这是触发自己定义的事件,而不影响他人,这在前端复杂化的今天变得非常重要。$.data() :在很多js插件中都是用$(selector).data()
方法,意思是收集指定元素上所有以data-
开头的自定义属性,并合并成一个对象字面量。比如
,那么$(#'aaa').data();
的值为:var value={role:'bbb', toggle:'ccc'};
,当然也可以选定指定值$(#'aaa').data('role');
,结果就是'aaa'
。 Tip: BootStrap包含aria-xxx开头的属性,被称为辅助属性,用于支持有阅读障碍的人士。
整体结构
首先介绍一下栅格系统的工作原理
接下来看一下.container
样式的源码,可以看出其核心就是.container
和@media
的设置
.container { padding-right: 15px; padding-left: 15px; margin-left: auto; margin-right: auto;
}
@media ( min-width :768px) { .container { width: 750px;
}
}
栅系统的用法,其实就是列的组合,主要涉及4个特性:列组合、列偏移、列嵌套、列排序 ,首先介绍列组合 的例子。
实际上列组合的实现非常简单,只涉及2个CSS特性,左浮动和宽度百分比,例如
.col-md-1, ..., col-md-12{float:left;}.col-md-12{width:100%;}.col-md-1{width:8.33%;}
列偏移的例子,其原理就是margin-left的使用,有多少个1/12的margin-left,就有多少offset。
.col-md-1
.col-md-4 .col-md-offset-4
同样,栅格系统支持嵌套,即在列中再声明多个行,内部嵌套的row宽度为100%时,就是当前外部列的宽度。突然有个思路,就是最外围的.container
是根据@media设置像素的,其中的内容均是使用的相对大小。
列排序其实就该改变列的方向,也就是改变左右浮动,并设置浮动的距离,其通过.col-md-push-*
和.col-md-pull-*
实现。系统为了方便,统一在左浮动的基础上,通过设置left和right的值来实现定位显示。
.col-md-pull-6{right:50%;}.col-md-push-6{left:50%;}
响应式栅格 :针对不同的设配使用不同的样式前缀,比如中型的.col-md-xx
,大型的.col-lg-xx
,有意思的是,我们可以跨设备的设置样式,例如示例既支持md中型的设备也支持sm小型的设备。
.col-sm-12 .col-md-8
清除浮动问题:理想很丰满,现实很骨感,有时会出现不同设备显示时出现意外,比如因为高度的原因造成错位,这时需要使用
CSS布局
在BootStrap中,布局部分主要包括基础排版Typography、代码Code、表格Table、表单Forms、按钮Buttons、图片Images等内容。
基础排版:在type.less文件中设置,包括标题h1
;页面主题
;强调文本
,
,
;对齐方式,
等4种;缩略语HTML
,有点意思;地址元素Shanghai
;引用帅的1B
;列表,增加了去点列表
,内联列表class='list-inline'
,定义列表
,水平定义列表class="dl-horizontal"
;
代码:在code.less文件中设置,
显示单行内联代码;
显示用户输入代码;
元素新生多行代码块。
表格:在table.less文件设置,基础样式;带背景条纹的表格class='table table-striped'
;带边框的表格class='table table-bordered
;带鼠标悬停高亮的class='table table-hover'
;紧凑型的class='table table-condensed'
;行级元素样式,即样式,包括.active
,.warning
,.success
,.danger
,.info
;响应式表格class='table table-responsive
。
表单:在form.less文件中设置,比较简单,基础的如
你可能感兴趣的:(客户端,开发,流行)
js知识点-拓展运算符和剩余运算符
lmryBC49
javascript 开发语言 ecmascript
概述在现代JavaScript开发中,ES6引入的拓展运算符(SpreadOperator)和剩余运算符(RestOperator)让代码更加简洁和灵活。无论是数组、对象的拆分与合并,还是函数参数的处理,这两个运算符都是非常实用的工具。拓展运算符1.什么是拓展运算符?拓展运算符(SpreadOperator)由三个连续的点...表示,用于将一个可迭代对象(例如数组、字符串等)展开成多个元素。拓展运
Docker 镜像优化:如何避免重复安装软件,加速服务的构建与部署
花千树-010
Docker docker 容器 运维
在日常开发中,我们经常遇到这样的问题:由于服务需要额外安装大量软件(如JDK、vim、curl、git等),导致Docker镜像构建时间过长,并且每次构建都需要重复安装这些依赖。今天,我们将探讨几种优化方案,通过构建中间层镜像和使用多阶段构建,从而显著提高构建和部署效率。问题分析当你在Dockerfile中直接使用aptinstall安装依赖时,通常会面临以下问题:重复安装导致构建缓慢每次构建镜像
nextjs 实现rag知识库检索增强的ai问答app
*goliter *
web开发学习 人工智能
AI-Chat-一个基于LLM大语言模型的知识库问答系统项目源码:https://github.com/goliter/ai-chat项目简介AI-Chat是一个基于Next.js和React开发的现代化大语言模型的知识库问答系统。该平台提供了简易的对话界面,支持上传文件进行知识库的构建,让用户在与大语言模型进行问答时给与大模型知识库内的相关内容。主要功能上传文件构建属于自己的知识库支持doc,t
Profinet转ModbusTCP网关模块连发那科机器人与DCS通讯
BA_TU_AUTO_TECH
Profinet转Modbus TCP网关 Modbus TCP转Profinet网关 服务器 网络
一、现场要求:发那科机器人作为服务器端,DCS作为客户端向发那科机器人发送读写请求,发那科机器人应答后DCS接收发那科机器人的数据,实现数据的传递。二、解决方案:在不增加编程任务的前提下只需在DCS与机器人中间添加巴图自动化Profinet转ModbusTCP网关(BT-ETHPN20)就可实现。本文将介绍如何使用巴图自动化Profinet转ModbusTCP网关(BT-ETHPN20)配置通讯三
(教程)如何在HTML网页里嵌入PDF文件?
IDRSolutions_CN
pdf 图像处理 html html5 团队开发
开发者可以使用不同的标签在HTML中嵌入PDF文件,常见的有、和。它们都能在网页应用中显示PDF,但哪种方式更好?有没有比这更好的方式来在浏览器中显示PDF?方法1:使用标签如果不需要回退内容,可以使用标签。缺点:不常用,因为如果浏览器不支持PDF,显示会是一片空白。YourbrowserdoesnotsupportPDFfiles.Downloadthefileinstead方法2:使用标签标签
TensorFlow深度学习实战项目:从入门到精通
点我头像干啥
Ai 深度学习 tensorflow 人工智能
引言深度学习作为人工智能领域的一个重要分支,近年来取得了显著的进展。TensorFlow作为Google开源的深度学习框架,因其强大的功能和灵活的架构,成为了众多开发者和研究者的首选工具。本文将带领大家通过一个实战项目,深入理解TensorFlow的使用方法,并掌握深度学习的基本流程。1.TensorFlow简介1.1TensorFlow是什么?TensorFlow是一个开源的机器学习框架,由Go
Dify - 架构、部署、扩展与二次开发指南
花千树-010
AIGC 架构 AIGC prompt embedding llama gpt agi
本文详细解析Dify的架构、部署流程、高可用中间件的独立部署方法,以及二次开发流程,帮助开发者更高效地管理和扩展Dify。1.本地DEMO部署安装Docker,执行下面脚本,可能需要配置镜像。gitclonehttps://github.com/langgenius/dify.gitcddifycddockercp.env.example.envdockercomposeup-d1.Dify部署后
Android HAL服务注册与获取服务
令狐掌门
Android开发笔记 android android aosp
HAL服务注册在AndroidHAL(硬件抽象层)开发中,当使用HIDL(硬件接口定义语言)定义接口时,生成的C++头文件会包含一个关键的registerAsService函数。该函数的作用是将HAL实现注册到系统服务管理器,使其他进程能够发现并调用该服务。以下是详细介绍:功能与作用服务注册:registerAsService用于将HAL接口的实现实例注册到Android的hwserviceman
fork客户端mac使用教程
xtyzmnchen
fork
1:安装fork:https://git-fork.com/2:登录账户,gitlab或者github账户3:克隆:复制服务器地址clone到本地4:gitfetch:相当于是从远程获取最新版本到本地,不会自动mergegitfetchoriginmastergitlog-pmaster..origin/mastergitmergeorigin/master以上命令的含义:首先从远程的origin
基于python+django的家教预约网站-家教信息管理系统源码+运行步骤
冷琴1996
Python系统设计 python django 开发语言
该系统是基于python+django开发的家教预约网站。是给师妹做的课程作业。大家在学习过程中,遇到问题可以在github给作者留言。共同学习进步哦效果演示前台地址:http://jiajiao.gitapp.cn后台地址:http://jiajiao.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址https://github.com/geee
LoadRunner 11 性能测试全面教程
金融先生-Frank
本文还有配套的精品资源,点击获取简介:LoadRunner11(LR11)是HP开发的一款企业级性能测试工具,支持多应用程序类型的负载测试,用于性能评估、瓶颈识别和系统优化。教程详细介绍LR11的组件功能、脚本开发、场景设置、测试执行、结果分析、性能指标监测、故障诊断以及自动化测试等,提供从初级到高级的完整学习路径。1.LoadRunner11(LR11)功能概述LoadRunner11(LR11
mysql数据库应用与开发姜桂洪 课后答案_清华大学出版社-图书详情-《MySQL数据库应用与开发》...
韦盛江
课后答案
前言Oracle公司的MySQL是目前最流行的关系数据库管理系统之一。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL数据库以其精巧灵活、运行速度快、经济适用性强、开放源码等优势,作为网站数据库获得许多中小型网站的开发公司的青睐。MySQL性能卓越,搭配PHP和Apache可组成良好的软件开发环境,并且已经大量部署到中小型企业和高校的教学平台。本书从教学实际需求出发,结合
Vue.js 中的 Memoization:提升性能的缓存技术
vvilkim
vue vue.js 前端 javascript
在现代前端开发中,性能优化是一个永恒的话题。随着应用规模的增大,复杂的计算和频繁的函数调用可能会导致性能瓶颈。Vue.js作为一个流行的前端框架,提供了多种优化手段,其中memoization(记忆化)就是一种非常有效的技术。本文将详细介绍Vue.js中的memoization,以及如何利用它来提升应用性能。什么是Memoization?Memoization是一种优化技术,通过缓存函数的结果来避
Vue.js 性能优化:虚拟 DOM 与虚拟滚动
vvilkim
vue vue.js 前端 javascript
在现代前端开发中,性能优化是一个永恒的话题。Vue.js作为一款流行的前端框架,提供了许多强大的工具和技术来提升应用的性能。其中,虚拟DOM和虚拟滚动是两个非常重要的概念。本文将深入探讨它们的原理、优势以及如何在Vue.js中使用它们来优化性能。什么是虚拟DOM?虚拟DOM(VirtualDOM)是Vue.js用于提升性能的核心技术之一。它是一个轻量级的JavaScript对象树,用于表示真实DO
python基于Django的旅游景点数据分析及可视化的设计与实现 7blk7
qq2295116502
python django 数据分析
目录项目介绍技术栈具体实现截图Scrapy爬虫框架关键技术和使用的工具环境等的说明解决的思路开发流程爬虫核心代码展示系统设计论文书写大纲详细视频演示源码获取项目介绍大数据分析是现下比较热门的词汇,通过分析之后可以得到更多深入且有价值的信息。现实的科技手段中,越来越多的应用都会涉及到大数据随着大数据时代的到来,数据挖掘、分析与应用成为多个行业的关键,本课题首先介绍了网络爬虫的基本概念以及技术实现方法
Vscode niuhe 插件使用教程 - xorm 代码生成
诗意地回家
niuhe 插件 vscode ide 编辑器
官方教程已经上线,请访问:http://niuhe.zuxing.net本文相关项目:vue3-element-admin基于niuhe插件的管理后台模板niuhe-mdbookniuhe插件示例项目在日常开发中,新增数据库表时通常需要编写大量重复的增删改查代码。为提高开发效率,niuhe插件0.3.4版本新增Xorm基础代码生成功能,可自动生成:数据库表对应的Golang模型结构体基础CURD操
响应式数据 和 Pinia 状态
肉肉不吃 肉
前端 vue.js pinia
响应式数据和Pinia状态是Vue.js应用中用于管理数据的两种重要机制,它们之间有密切的关系。以下是它们的定义、特点以及关系:1.响应式数据定义响应式数据是Vue.js的核心特性之一,指的是当数据发生变化时,视图会自动更新。Vue.js通过Proxy或Object.defineProperty实现数据的响应式。特点自动更新:当数据变化时,依赖该数据的视图会自动更新。声明式:开发者只需关注数据本身
国外7个最佳大语言模型 (LLM) API推荐
幂简集成
API新理念 语言模型 人工智能 自然语言处理
大型语言模型(LLM)API将彻底改变我们处理语言的方式。在深度学习和机器学习算法的支持下,LLMAPI提供了前所未有的自然语言理解能力。通过利用这些新的API,开发人员现在可以创建能够以前所未有的方式理解和响应书面文本的应用程序。下面,我们将比较从Bard到ChatGPT、PaLM等市场上顶级LLMAPI。我们还将探讨整合这些LLM的潜在用例,并考虑其对语言处理的影响。什么是大语言模型(LLM)
【深度学习】 PyTorch一文详解
Nerous_
深度学习 深度学习 pytorch 人工智能 机器学习 python
“PyTorchisadeeplearningframeworkthatprioritizessimplicityandflexibility,makingitthego-tochoiceforbothresearchersanddevelopers.”—Anonymous1.PyTorch简介1.1PyTorch的背景与发展PyTorch是由Facebook人工智能研究院(FAIR)开发的一个开
Flutter开发:运行报错Error detected in pubspec.yaml:…的解决方法
三掌柜666
大前端开发常识 flutter android
前言在Flutter开发中,经常会遇到一些稀奇古怪的的报错,比如版本更新之后会报错、文件没有导入会报错、第三方插件版本不一致的报错等等,而且最近几年Flutter不断完善和更新的速度越来越快,这就需要Flutter相关的开发者时刻保持不断学习的心态,来应对在Flutter开发中遇到的各种突发情况。本篇博文就来分享一下关于Flutter开发中运行Flutter项目之后报错Errordetectedi
AI开发日记- Prompt Library篇
BillyXie23
AI探索 prompt 人工智能 github python AI编程
突发奇想想在git上host一个静态页面的promptlibrary,于是花了一天时间配合cursor硬是撸了出来Github地址:https://github.com/MrXie23/PromptLibrary页面地址PromptLibrary-探索AI提示的艺术目前代码结构有些混乱,有些失败的folder还没清理,不过基础功能都已经可以work了,接下来的开发roadmap是把一些没做的页面都
C#电子相册:面向对象设计与架构实践
金融先生-Frank
本文还有配套的精品资源,点击获取简介:C#电子相册是一个使用高级编程语言C#开发的Windows平台应用程序。该项目采用面向对象编程方法,将对象如照片和相册封装、继承和多态地组织起来。它可能采用了MVC、MVVM或MVP架构模式,并使用.NETFramework或.NETCore以及VisualStudio作为开发环境。数据库管理部分涉及SQL数据库,支持相册数据的存储与检索。文件列表中的"eri
【NLP】 API在大语言模型中的应用
Nerous_
深度学习 自然语言处理 语言模型 人工智能
大语言模型(LargeLanguageModels,LLMs)通过API(应用程序接口)为开发者提供了便捷的调用方式,使其能够快速集成自然语言处理能力到各类应用中。以下是API在LLM中的核心应用场景及技术实现细节:一、核心应用场景自然语言理解与生成应用示例:智能客服:解析用户问题并生成回复(如ChatGPTAPI)。内容创作:自动生成文章、广告文案或代码(如OpenAI的GPT-4)。技术实现:
基于ssm的林木生长管理系统
AI天才研究院
DeepSeek R1 & 大数据AI人工智能大模型 AI大模型企业级应用开发实战 计算 计算科学 神经计算 深度学习 神经网络 大数据 人工智能 大型语言模型 AI AGI LLM Java Python 架构设计 Agent RPA
1.背景介绍在我们的日常生活中,森林资源的管理和保护是一个重要的环保议题。为了有效地管理森林资源,许多科研机构和政府部门正在寻找更高效的技术手段。这就是我们今天要讨论的主题:基于SSM的林木生长管理系统。SSM是SpringMVC、Spring和MyBatis三个开源框架的缩写。这三个框架在Java开发中被广泛使用,因为它们可以提供一种简单、高效的方式来开发和维护复杂的Web应用程序。在这篇文章中
JAVA毕业设计BS架构考研交流学习平台设计与实现计算机源码+lw文档+系统+调试部署+数据库
瑞致网络
java 开发语言 jvm
JAVA毕业设计BS架构考研交流学习平台设计与实现计算机源码+lw文档+系统+调试部署+数据库JAVA毕业设计BS架构考研交流学习平台设计与实现计算机源码+lw文档+系统+调试部署+数据库本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:
计算机毕业设计JavaBS景区票务管理系统设计与实现(源码+系统+mysql数据库+lw文档)
毅铭科技
数据库
计算机毕业设计JavaBS景区票务管理系统设计与实现(源码+系统+mysql数据库+lw文档)计算机毕业设计JavaBS景区票务管理系统设计与实现(源码+系统+mysql数据库+lw文档)本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:
DeepSeek来袭!低代码+AI竟让程序员摸鱼接私单月入5W!
工业甲酰苯胺
低代码 人工智能
目录一、引言:开启低代码+AI新时代二、DeepSeek与低代码、AI的关联(一)DeepSeek简介(二)低代码开发概述(三)AI赋能低代码三、低代码+AI开启私单赚钱大门(一)成功案例剖析(二)私单项目类型(三)赚钱模式解析四、实战:利用DeepSeek接私单(一)工具准备与环境搭建(二)需求分析与项目规划(三)低代码开发实战(四)AI技术融合应用(五)项目测试与交付五、挑战与应对策略(一)技
时间序列分析的军火库:AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS解析
赛卡
大数据 人工智能 深度学习 python 概率论 数学建模
引言:时间序列分析的现代挑战时间序列分析在多个领域中扮演着关键角色,包括工程、金融、气象、工业预测等。随着开源工具的快速发展,开发者可以通过多种库快速实现时间序列预测与分析。本文将对AutoTS、Darts、Kats、PaddleTS、tfts和FancyTS六大主流库进行详细解析,并提供代码示例,帮助你根据实际需求选择最佳工具。核心库技术解析与场景化实践1.AutoTS:自动化时间序列预测技术亮
软件工程:数据字典
愚戏师
软件工程 软件工程 数据库
一、数据字典的核心作用定位:数据字典是数据流图(DFD)的补充说明文档,与DFD共同构成系统的逻辑模型。核心价值:消除二义性:明确数据流、存储、元素的定义,避免理解偏差。设计依据:为数据库设计、代码开发提供数据规范。团队协作:作为开发团队的共享词汇表,确保术语一致性。二、数据字典的四大组成要素1.数据流(DataFlow)定义:数据在系统中的流动路径。描述内容:来源与去向:起点(外部实体/处理)、
亿级分布式系统架构演进实战(五)- 横向扩展(缓存策略设计)
power-辰南
java技术架构师成长专栏 多级缓存策略 spring cloud 分布式系统 缓存一致性 高并发 缓存问题解决方案
亿级分布式系统架构演进实战(一)-总体概要亿级分布式系统架构演进实战(二)-横向扩展(服务无状态化)亿级分布式系统架构演进实战(三)-横向扩展(数据库读写分离)亿级分布式系统架构演进实战(四)-横向扩展(负载均衡与弹性伸缩)核心目标降低数据库读压力,提升响应速度一、多级缓存架构客户端CDN/浏览器缓存本地应用缓存分布式缓存数据库缓冲池1.1客户端缓存缓存数据类型:•静态资源(JS/CSS/图片)•
java数字签名三种方式
知了ing
java jdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
erlang之parse_transform编译选项的应用
616050468
parse_transform 游戏服务器 属性同步 abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
工作流Activiti5表的命名及含义
atongyeye
工作流 Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
android的广播机制和广播的简单使用
百合不是茶
android 广播机制 广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
Spring事务传播行为详解
bijian1013
java spring 事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
Spring 事务实现机制
BlueSkator
spring 代理 事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrap dropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
常用代码记录
chenjunt3
UI Excel J#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
搜索引擎与工作流引擎
comsci
算法 工作 搜索引擎 网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
oracle Health Monitor
daizj
oracle Health Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
JSON字符串转换为对象
dieslrae
java json
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
14.性能优化-优化-软件配置优化
frank1234
软件配置 性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
一个不错的shell 脚本教程 入门级
HarborChung
linux shell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring 动态代理 spring4 依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
Linux设置tomcat开机启动
liuxingguome
tomcat linux 开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
Java开发熟手该当心的11个错误
tomcat_oracle
java jvm 多线程 单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
正则表达式大全
yang852220741
html 编程 正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$