- 「 自动化测试 」面试题..
测试界筱筱
软件测试servlet功能测试软件测试自动化测试程序人生职场和发展
1.你会封装自动化测试框架吗?自动化框架主要的核心框架就是分层+PO模式:分别为:基础封装层BasePage,PO页面对象层,TestCase测试用例层。然后再加上日志处理模块,ini配置文件读取模块,unittest+ddt数据驱动模块,jenkins持续集成模式组成。2.自动化测试的使用场景?需求稳定,不会频繁变更。研发和测试周期长,需要频繁执行回归测试。需要在多种平台上重复运行相同测试的场景
- Docker Compose——MySQL 8.x,adminer,gitlab,Jenkins,tomcat
小龙Hibernation
docker运维dockermysql
DockerComposedocker三剑客之一#下载1.25.0dockercomposesudocurl-L"https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose#添加可执行权限sudochmo
- gitlab+habor+jenkins+k8s 安装流程及配置实现CICD
爱摄影的程序猿
开发工具devopsCICDdevopsjenkinsgitlab
以下是基本的安装流程及配置实现CICD的步骤:安装GitLab:安装依赖项:yuminstallcurlpolicycoreutils-pythonopenssh-server启动和设置SSH:systemctlenablesshd&&systemctlstartsshd安装Postfix:yuminstallpostfix添加GitLab仓库:curlhttps://packages.gitla
- Build step ‘Execute shell‘ marked build as failure
玉梅小洋
FAQjenkins
问题现象Jenkins构建时运行脚本报错时:Buildstep'Executeshell'markedbuildasfailureFinished:FAILURE解决方法1.磁盘空间不足导致报错。2.请在执行的shell脚本中第一行加#!/bin/bash#!/bin/bash......注意#!/bin/bash只能放在第一行3.如果2还是不行,那么将#!/bin/bash替换为#!/usr/b
- Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions
让梦想疯狂
Dockerdocker
Docker容器运行后一直重启,通常意味着容器内的应用程序遇到了问题并且崩溃了。Jenkins容器可能因为挂载的卷的权限问题无法写入。以下是一些常见的解决方法:检查容器日志:dockerlogs调整宿主机目录的权限sudochown-R1000/path/jenkins_home
- Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号
让梦想疯狂
Jenkinsjenkins
步骤1:安装VersionNumberPlugin登录Jenkins的管理界面。进入“ManageJenkins”->“ManagePlugins”。在“Available”选项卡中搜索“VersionNumberPlugin”。选中并安装插件,完成后可能需要重启Jenkins。步骤2:配置版本号生成打开项目配置页面。在下方找到“BuildEnvironment”,勾选“Createaformat
- jenkins配置流水线
iteye_10392
jenkinsjenkinselasticsearch运维
新建任务,随便选一个名字,选中流水线配置git的用户名和密码,记录ID,后面配置流水线的时候用。pipeline{agentanystages{stage('stopapp'){steps{script{defremote=[:]//配置服务地址,用户名和密码remote.name='prd'remote.host='114.116.1.1'remote.user='test'remote.pas
- jenkins安装 sshCommand
iteye_10392
jenkinsjenkinsservletjava
在Jenkins中安装SSH插件(例如“SSHPipelineSteps”或“SSHIntegrationPlugin”)可以让你通过JenkinsPipeline或自由风格项目执行远程SSH命令或脚本,从而自动化部署过程或其他任务。下面是如何安装“SSHPipelineSteps”插件的步骤:安装SSHPipelineSteps插件登录到Jenkins并进入管理员界面。导航到插件管理页面。通常,
- 部署一套完整的架构系统有哪些步骤
missterzy
JAVA基础服务器分布式与微服务架构jenkinsk8sdocker服务器
前言如果以java、Jenkins(自动化部署)、docker(容器化部署)、k8s(兼容前两个)如果搭建一个商业系统,我们需要准备哪些?架构图1、环境准备准备一台或多台服务器作为宿主机,确保服务器操作系统已安装(例如Linux);安装Docker环境,宿主机需要支持容器化技术;安装Kubernetes集群环境,可以选择Minikube作为本地测试环境或其他方案例如kubeadm、kops等用于搭
- 【DevOps工具链整合】Jenkins、GitLab、Docker、Kubernetes
爱技术的小伙子
devopsjenkinsgitlab
DevOps工具链整合:Jenkins、GitLab、Docker、Kubernetes目录引言DevOps简介工具介绍JenkinsGitLabDockerKubernetes工具链整合的意义DevOps工具链整合实践环境准备GitLab的CI/CD集成Jenkins的使用Docker容器化Kubernetes部署整合中的挑战及解决方案案例分析结论引言在现代软件开发中,DevOps已经成为提升开
- DevOps实战:使用GitLab+Jenkins+Kubernetes(k8s)建立CI_CD解决方案
北京少女的梦
devopsgitlabjenkins
一.系统环境本文主要基于Kubernetes1.21.9和Linux操作系统CentOS7.4。服务器版本docker软件版本Kubernetes(k8s)集群版本CPU架构CentOSLinuxrelease7.4.1708(Core)Dockerversion20.10.12v1.21.9x86_64CI/CD解决方案架构图:CI/CD解决方案架构图描述:程序员写好代码之后,向gitlab代码
- 【SpringCloud微服务实战10】DevOps自动化部署微服务项目(Jenkins+Docker+K8s)
李维山
Javaspringcloud微服务jenkinsdockerk8s
一、什么是DevOpsDevOps是一种重视软件开发人员(Developer)和运维人员(Operations)之间沟通与协作的文化、运动或实践,目标在于快速交付高质量的软件产品和服务。DevOps强调自动化流程、持续集成与交付(CI/CD)、以及通过工具链、敏捷方法论和跨职能团队协作来增强软件的可靠性和安全性。在DevOps中,开发、测试、部署和监控等多个环节紧密连接,形成一个高效的工作流。以下
- 在jenkins中获取git的修改记录的方法
雨声不在
生活jenkinsgit
获取JenkinsAPIToken:首先,登录到你的Jenkins服务器。点击右上角的用户名,然后选择“Configure(配置)”。在“APIToken”部分,生成一个新的APIToken或使用已有的Token。构建API请求URL:假设你的Jenkins服务器URL是http://jk.yeshen.orgJob名称是test-git-log,编译的序号是10,那么API请求URL可能是:ht
- gitee推送代码无法触发jenkins构建
aaqqwwssr
giteejenkins
gitee的webhook测试一直是404,原因是我更改完jenkins端口号后没有在系统管理里面修改jenkins的设置如下:这两个端口要保持一致ps:gitee的webhooks测试失败显示404不要急,应该是gitee请求本身的问题直接从新推送一下代码测试就可以成功了
- 代码检查工具Sonar
我是谁??
ToolsSonar
sonar介绍Sonar是一个用于代码质量管理的开放平台。通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如Hudson/Jenkins等)不同,Sonar并不是简单地把不同的代码检查工具结果(例如FindBugs,PMD等)直接显示在Web页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规
- /var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间
@小匠
运维docker容器运维
今天收到一个磁盘告警,告警的原因是一台Jenkins机器上某个磁盘空间满了。马上使用df-h命令看下使用情况上图是我优化后的截图,告警的时候磁盘使用量已经接近100%。上图中看到的overlay分区是Docker的虚拟文件系统,其真实的文件系统是/dev/vda1。所以我们要找到是什么原因大量占据了/dev/vda1。一般有两种情况。无用的镜像和容器太多我们可以使用以下命令大致看下情况docker
- jenkins+docker实现可持续自动化部署springboot项目
小码农叔叔
linux与容器实战持续集成微服务治理与实战jenkins+dockerjenkins实现可持续集成jenkins集成docker
目录一、前言二、微服务带来的挑战2.1微服务有哪些问题2.2微服务给运维带来的挑战三、可持续集成与交付概述3.1可持续集成与交付概念3.1.1持续集成3.1.2持续交付3.1.3可持续集成与交付核心理念3.2可持续集成优点3.3微服务为什么需要可持续集成四、可持续集成方案4.1可持续集成常用工具4.2常用可持续集成方案4.3jenkins介绍五、环境准备5.1部署架构与流程5.2服务器准备5.3搭
- Jenkins+docker+springboot 一键自动部署项目步骤
蔡定努
SpringBoot#docker运维jenkinsdockerspringboot
Jenkins+docker+springboot一键自动部署项目步骤部署环境:centos+gitee+docker+springboot实现步骤:docker安装jenkins配置jenkins利用Dockerfile和shell脚本实现项目打包运行安装dockerdocker安装社区版本CE安装需要的软件包yum install -y yum-utils device-mapper-pers
- 服务器停机重启后jenkins启动失败,解决办法
面包会有的,牛奶也会有的。
服务器jenkinsservlet
前几天服务器突然停机重启了,重启后发现jenkins服务停了,去启动的时候启动不了原因:服务器停机重启后,配置的jenkins文件的jdk目录失效了,恢复成了一开始的jdk目录解决办法:重新去/etc/init.d下的jenkins文件中配置jdk再次启动即可。错误信息:6085ExecStart=/usr/bin/jenkins(code=exited,status=1/FAILURE)[roo
- 如何在无头模式下运行WebDriver
爱码小士
如何在无头模式下运行WebDriver?如果您的CI工具(例如Jenkins)不支持UI,则可能需要这样做。在无头模式下运行WebDriver自动测试在测试执行速度和更轻松地集成到CI管道方面具有优势。下面,我们将使用PhantomJS和ChromeDriver以无头模式运行SeleniumWebDriver测试。PhantomJS要使用PhantomJS以无头模式运行WebDriver测试,首先
- Jmeter+ant+jenkins接口自动化测试框架
测试老哥
jmeterjenkinspython软件测试自动化测试测试用例压力测试
视频学习:文末有免费的配套视频可观看点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基与java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套WebHTTP接口测试的持续构建环境,实现接口自动化测试,pc系统Windows。1、安装就jmet
- 介绍新的 GitLab 分支源插件
yJunS
本文首发于:Jenkins中文社区原文链接作者:baymac译者:DonghuiWang介绍新的GitLab分支源插件新的GitLab分支源插件,允许您基于GitLab用户或组或子组项目创建任务gitlab_and_jenkinsGitLab分支源插件已经走出beta阶段,并已发布到Jenkins更新中心。它允许您基于GitLab用户或组或子组项目创建任务。您可以:从GitLab用户/组/子组导入
- 在Jenkinsfile中,自定义environment相关参数
闫小甲
jenkinsjenkinsfile
在Jenkinsfile中,environment定义VER,若BRANCH_NAME是master,则VER为master,其他为latestpipeline{agentanyenvironment{CURTIME=sh(returnStdout:true,script:'date"+%Y%m%d%H%M%S"').trim()VER=sh(returnStdout:true,script:""
- docker 容器中jenkins 显示时间 时区不对
逑痕
dockerdockerjenkins容器
docker容器中jenkins显示时间时区不对根据官方文档,可以根据不同用户为不同用户设置时区原文https://www.jenkins.io/doc/book/using/change-time-zone/进入用户列表,选择要用户,修改用户设置中的时区即可。
- docker 容器修改时区
kaili230
dockerdocker运维容器
docker容器修改时区对于启动着的容器,以root身份进入容器,同步时间和时间。dockerexec-it-uroot[容器Id/容器name]/bin/bash#以root身份进入容器dockerexec-it-urootjenkins/bin/bash#同步时间,时区cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeecho'Asia/Shan
- jenkins发送html邮件配置步骤与注意事项?
danplus
jenkinsSMTP服务器服务器邮件推送邮件接口触发式邮件API接口
jenkins发送html邮件如何实现?Jenkins的配置方法?通过jenkins发送html邮件,开发团队可以及时获取构建状态的详细报告,从而快速响应问题,提高工作效率。AokSend将详细介绍jenkins发送html邮件的配置步骤与注意事项,帮助读者更好地利用这一功能。jenkins发送html邮件:安装插件要实现jenkins发送html邮件,首先需要在jenkins中安装相应的插件。进
- jenkins任务中无法执行sudo,管理员操作
北陌宝宝
疑难问题点jenkins运维
搬运一下老博客写的内容过来jenkins默认使用jenkins普通用户权限去操作服务器命令,涉及管理员的命令时就无法操作,需要把jenkins用户添加到sudo组,这个输入sudo时不用输入密码vim/etc/sudoers#添加jenkinsALL=(ALL)NOPASSWD:ALL当jenkins时间和服务器时间不一致时,在系统管理-脚本运行命令中执行System.setProperty('o
- Jenkins配置发送邮件步骤
weixin_34006468
运维
Jenkins配置邮件步骤,以下我是以腾讯企业邮箱账号作为演示1.配置Jenkins系统管理员邮件地址:下拉找到以下位置2.配置邮件通知继续下拉,找到邮件配置。输入SMTp服务器以及邮箱后缀,然后点击高级以及勾选测试配置输入SMTP服务器,用户默认邮件后缀3.进入高级配置选中使用SMTp认证,输入账号密码,使用SSL协议,输入SMTP端口4.点击测试邮件配置注意事项:如果是使用QQ邮箱之类的,使用
- jenkins 插件kubernetes配置详解
haha wa
jenkinskubernetes运维容器云原生
配置,持续集成,Kubernetes,Jenkins相关视频讲解:C语言程序设计入门之环境安装Go语言工程化实践Prometheus监控系统介绍Jenkins插件Kubernetes配置详解Jenkins是一个开源的持续集成工具,而Kubernetes是一个开源的容器编排引擎。将这两者结合起来,可以实现更灵活、高效的持续集成和持续部署流程。本文将介绍如何在Jenkins中配置Kubernetes插
- 【Unity实战】Jenkins与自定义命令行参数
Shepherd0619
unityunity游戏引擎jenkins
Unity是一款功能强大的游戏开发引擎,它提供了许多方便开发者使用的功能和工具。其中一个非常有用的功能是Unity命令行参数。通过使用命令行参数,开发者可以在启动Unity时自定义一些行为和设置,从而更好地管理和调试项目。使用Unity命令行参数的好处是,它可以帮助开发者更好地管理和调试项目。通过在命令行中指定参数,我们可以自动化一些常见的任务,例如构建项目、执行测试、导出资源等。这不仅可以提高开
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen