概述:
现在简要的介绍Jasperreport 是 如何工作的,这样你可以更好的理解iReport 是如何帮助Jasperreport 实现前端的 工作,其实这些工作在我们看来就是“脏活”,为什么呢?看看下面的资料就知 道了:
首先是要有一个XML 文件(一般是以jrxml后缀),那么这个XML文件从那里来呢?做什么用呢? 这 个XML 文件就是报表的定义文件,整个报表的每一个细节都在这个XML 文件 之中定义,一个简单报表的xml文件就有几百行,你可以手工编辑这个XML文 件(一行一行,一段一段的编辑吧――这就是所谓的“脏活”),然后可以在jsp后台使用JasperCompileManager将xml文件编译为jasper文件
ireport工具就是简化编写xml文件和编译的这个流程,而且提供可视化编辑窗口,非常方便
ireport部分:
我使用的是ireport3.0和现在最新的4.0界面上有很大的不同:
3.0界面:
这里,我假设ireport的环境已经配置完毕,点击左上角的档案,选择开启新档,设置报表初始化参数:
注意一下里边的字段数的按钮,字段数设置默认为1,如果设置为2的话,就相当于每一列会有2个字段排列,这样讲有点抽象,请看下边
的例子:
假设我们的数据表是这样:
name
sex
realname
remark
a_1
b_1
c_1
d_1
a_2
b_2
c_2
d_2
a_3
b_3
c_3
d_3
a_4
b_4
c_4
d_4
如果ireport的字段数设为2,结果会变成:
name
sex
realname
remark
a_1 a_2
b_1 b_2
c_1 c_2
d_1 d_2
a_3 a_4
b_3 b_4
c_3 c_4
d_3 d_4
所以,一般设置字段数为1即可。
新建后,可以看到中间的控制面板:
这里,假设您只需要报表显示表格和统计数据,所以title和lastpagefooter可以不要,在左上角的预览里,选择栏,把title和lastpagefooter高度设为0.
下面开始设计报表:
然后可以拖拉到控制面板对应字段对齐
这里假设各位都会对其,效果图如下:
使用报表变量,计算统计值:
document下右键添加variable,出现这个界面,然后按照这样设置:
这里我是统计列a的个行相加值,因为前面 已经设置了sum,所以,报表会自动计算列a的相加值。
这里设计报表要注意几点:
1.字段间要对齐,方框为红色的,表明是超出报表边界
2.写表达式的时候,与java类型兼容,但是写法有点不同,类型转换要用new 类型 不然会报错
jsp处理报表部分
设置report环境:
1.每个Web应用都会有WEB-INF目录,但是lib 是不一定有的,如果没有就创 建它,本文需要的jar库文件有3个: jasperreports-0.5.3.jar :jasperreports执行时需要的API iTextAsian.jar :亚洲字符集支持 itext-1.02b.jar :其他字符集支持
2.在Web应用中根目录下创建repotrs目录,其实这是一种建议,没有必要完 全按照这样做,你可以根据你的业务需要创建N个目录或是层次目录。 把.jasper文件拷贝到repotrs目录下,比如例子中的BusinessRpt.jasper 文件。
jsp两种模式:
1.直接使用jsp处理报表
2.使用servlet处理报表
1.使用jsp处理报表:
jsp文件:
<%@ page session="false" %>
<%@ page import="dori.jasper.engine.*" %>
<%@ page import="javax.naming.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();
//装载jasper 文件
File business_rpt = new
File(application.getRealPath("/reports/BusinessRpt.jasper"));
// http://blog.csdn.net/jemlee2002/archive/2004/10/08/JJem3.aspx
//ProjectName 就是iReport 的变量$P{ProjectName}的名称,
//proname 就是从界面上获取的值。
Map parameters = new HashMap();
parameters.put("ProjectName ", proname);
// JasperRunManager是一个输出控制管理类,下文会提及部分内容
JasperRunManager.runReportToHtmlFile(business_rpt.getPath(),parameters,conn);
//如果创建报表成功,则转向该报表,其实可以把报表套在框架内,这样实现比较有意
义的报表格式。
response.sendRedirect("/reports/BusinessRpt.html");
}catch(Exception ex){
out.print("出现例外,信息是:"+ex.getMessage());
ex.printStackTrace();
}
%>
2.使用servlet处理报表:
主要区别就是,servlet是直接输出report报表流:
先写一个CustomDataSource类实现report的JRDataSource接口,转化vector向量为数据源:
public class CustomDataSource implements JRDataSource
{
private Vector dataVector = new Vector();
private int index = -1;
public CustomDataSource(Vector DataVector)
{
dataVector=DataVector;
}
public boolean next() throws JRException
{
index++;
return (index < dataVector.size());
}
public Object getFieldValue(JRField field) throws JRException
{
Object value = null;
String fieldName = field.getName();
value=((Map)dataVector.get(index)).get(fieldName);
return value;
}
}
输出html:
ServletContext context = this.getServletConfig().getServletContext();
File reportFile = new File(context
.getRealPath("/reports/test.jasper"));//加载报表路径
if (!reportFile.exists()) {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.print("");
return;
}
Map parameters = new HashMap();
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
try {
JasperReport jasperReport = (JasperReport) JRLoader
.loadObject(reportFile.getPath());//加载报表
/*
java.lang.reflect.Field pageHeight = JRBaseReport.class.getDeclaredField("pageHeight");
pageHeight.setAccessible(true);
pageHeight.setInt(jasperReport, 500);
*/
JasperPrint jasperPrint = JasperFillManager
.fillReport(jasperReport, parameters,
new CustomDataSource((Vector) re
.get(1)));//加载数据源和parameters,这里的数据源用到的是JRDataSource,所以要实现JRDataSource接口
JRHtmlExporter exporter = new JRHtmlExporter();
Map imagesMap = new HashMap();
request.getSession().setAttribute("IMAGES_MAP",
imagesMap);
String header = "";
header = "\n";
header += "\n";
header += "\n";
header += " \n";
header += "\n";
header += "\n";
header += "\n";
header += "\n";
header += " \n";
header += "\n";
exporter.setParameter(
JRExporterParameter.JASPER_PRINT,
jasperPrint);
exporter.setParameter(
JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(
JRHtmlExporterParameter.IMAGES_MAP,
imagesMap);
exporter.setParameter(
JRHtmlExporterParameter.IMAGES_URI,
"/Images/");
exporter
.setParameter(
JRHtmlExporterParameter.HTML_HEADER,
header);
exporter.exportReport();
pdf输出:
byte[] bytes = null;
try {
bytes = JasperRunManager.runReportToPdf(reportFile
.getPath(), parameters,
new CustomDataSource((Vector) re.get(1)));
if (bytes != null && bytes.length > 0) {
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response
.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("ErrorTime:" + new Date());
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.print("");
}
excel输出:
try {
JasperReport jasperReport = (JasperReport) JRLoader
.loadObject(reportFile.getPath());
ServletOutputStream ouputStream = response
.getOutputStream();
JasperPrint jasperPrint = JasperFillManager
.fillReport(jasperReport, parameters,
new CustomDataSource((Vector) re
.get(1)));
response.setContentType("application/ms-excel");
response.setHeader("Content-Disposition",
"inline;filename=\""
+ jasperPrint.getName() + ".XLS\"");
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(
JRExporterParameter.JASPER_PRINT,
jasperPrint);
exporter.setParameter(
JRExporterParameter.OUTPUT_STREAM,
ouputStream);
exporter
.setParameter(
JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
Boolean.TRUE);
exporter
.setParameter(
JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
Boolean.FALSE);
exporter
.setParameter(
JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
Boolean.FALSE);
exporter.exportReport();
}
catch (Exception e) {
e.printStackTrace();
System.out.println("ErrorTime:" + new Date());
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.print("");
}
转载于:https://www.cnblogs.com/dodohua/archive/2011/01/28/1947166.html
你可能感兴趣的:(ireport制作jasperreport报表详细过程(包括jsp端代码实现))
AI教你学Python 第5天:面向对象编程(OOP)基础
凡人的AI工具箱
AI教你学Python python 开发语言 人工智能 AIGC
第5天:面向对象编程(OOP)基础一、面向对象编程概述面向对象编程(OOP)是一种编程范式,使用“对象”来表示数据和数据上可用的操作。OOP的核心概念包括类、对象、继承、多态和封装。概念描述类一种蓝图,定义了对象的属性和方法。对象类的实例,包含具体的数据和方法。继承一个类可以继承另一个类的属性和方法,从而实现代码重用。多态同一操作作用于不同对象时,表现出不同的行为。封装把数据和操作数据的方法绑定在
优惠券直返返利APP哪个最出色?返利网如何返利?
氧惠全网优惠
选择一款出色的优惠券直返返利APP,需要考虑多个方面,包括返利力度、优惠券种类、提现速度、界面设计以及用户体验等。在市场上众多的优惠券直返返利APP中,有一款名为“省呗”的应用表现突出,备受用户青睐。省呗不仅提供多种优惠券和返利活动,还拥有简洁明了的界面和便捷的提现功能,让用户在享受优惠的同时,也能轻松管理自己的账户。氧惠APP(带货领导者)——是与以往完全不同的抖客+淘客app!2024全新模式
全面指南:用户行为从前端数据采集到实时处理的最佳实践
数字沉思
营销 流量运营 系统架构 前端 内容运营 大数据
引言在当今的数据驱动世界,实时数据采集和处理已经成为企业做出及时决策的重要手段。本文将详细介绍如何通过前端JavaScript代码采集用户行为数据、利用API和Kafka进行数据传输、通过Flink实时处理数据的完整流程。无论你是想提升产品体验还是做用户行为分析,这篇文章都将为你提供全面的解决方案。设计一个通用的ClickHouse表来存储用户事件时,需要考虑多种因素,包括事件类型、时间戳、用户信
《头脑特工队》电影复盘
中航国旅阿萍
《头脑特工队》讲述了小女孩莱莉的成长过程。图片发自App电影向我们描述了两个世界:外部世界:可爱的小女孩莱莉出生在明尼苏达州一个平凡的家庭中,从小她在*父母的呵护下长大,脑海中保存着无数美好甜蜜的回忆。因为爸爸的工作变动而举家搬到旧金山,脏乱的新家、陌生的校园环境、逐渐失落的友情都让莱莉无所适从,她的负面情绪逐渐累积,内心美好的世界渐次崩塌。内部大脑世界五个小人儿乐乐,忧忧,厌厌,怕怕和怒怒有各自
新零售SaaS架构:客户管理系统的应用架构设计
公众号-架构师汤师爷
SaaS架构 零售 架构 系统架构 后端 java
客户管理系统的应用架构设计应用层定义了软件系统的应用功能,负责接收用户的请求,协调领域层能力来执行任务,并将结果返回给用户,功能模块包括:客户管理:核心功能模块,负责收集和更新客户信息,包括个人资料、联系方式、消费习惯、会员卡、归属信息(比如销售或顾问)和备注。这个模块是CRM系统的基础,支撑其他模块的运作,提供详细的客户信息,帮助企业更好的理解和服务客户。客户标签:通过对客户进行标签化管理,实现
测试用例设计方法
胖球的铲屎官
测试用例
一、什么是测试用例?测试用例主要是测试人员整理的一组文档,具体记录软件功能测试的输入和预期输出,描述测试场景。二、测试用例包含哪些内容包括用例编号、测试模块,用例名称、前置条件、优先级、测试步骤、预期结果,实际结果,执行人,测试时间,备注。三、测试用例设计方法可以从以下4个大方面去考虑:1、功能功能可以从黑盒测试和白盒测试考虑;1-1黑盒测试从黑盒测试看,可以用等价类划分法,边界值分析,错误推测,
笔记:Python顺序结构 练习题
辞言i
笔记 python
文章目录前言一、什么是顺序结构?二、练习题1.题目2.填空题3.简答题4.编程题总结前言本次笔记旨在帮助读者加深对Python编程语言中顺序结构和选择题的理解。在学习Python编程过程中,掌握程序的基本结构以及条件语句的使用至关重要。通过本次练习题,读者将有机会测试自己对这些概念的掌握程度,并通过实际应用进一步巩固所学知识。本次练习题将涵盖Python中的顺序结构的练习题,旨在帮助读者提高解决问
滴滴打车无门槛优惠券领取步骤,这3个渠道靠谱
全网优惠分享君
随着移动互联网的普及,滴滴打车作为国内最大的出行平台之一,受到了广大用户的青睐。为了吸引更多的用户,滴滴打车经常会推出各种优惠活动,其中无门槛优惠券成为了用户们的最爱。那么,如何领取滴滴打车的无门槛优惠券呢?本文将为你介绍3个靠谱的领取渠道。渠道一:滴滴打车官网首先,你可以访问滴滴打车的官方网站(,在首页上找到“优惠券”栏目。点击进入后,你可以看到不同类型的优惠券,包括无门槛优惠券。选择你需要的优
Github官方桌面客户端
zwb_jianshu
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。如果你是一名程序员,那么一定会听过或用过现在最流行的版本控制工具GIT!而GitHub.com则是目前全球最热门的公共代码仓库网站,多到数不清的知名开源项目源代码都是托管在它上面。GitHubDesktop免费的Github官方桌面客户端首先,我先对GitHub来一个简单的介绍,Gi
含光热电站、有机有机朗肯循环、P2G的综合能源优化调度(Matlab代码实现)
冒泡芳
能源 matlab 开发语言
个人主页:研学社的博客欢迎来到本博客❤️❤️博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。本文目录如下:目录1概述2运行结果3参考文献4Matlab代码实现1概述光热发电(concentratingsolarpower,CSP)是一种新型可再生能源发电技术,具有低碳发电和高效储能的优势,但当前光热电站常充当单一发电源进行能源供应,其供能潜力未得到充分
《拖延心理学》:家长帮助孩子摆脱拖延症,要避免陷入相互挫败
曹木瓜
楼下邻居家的大姐,一直为孩子烦恼,做事磨磨蹭蹭、拖拖拉拉,早晨上学要三催四请,收拾个书包要个把小时,晚上写作业常常熬到十一二点钟。为此大姐经常训斥孩子,孩子对此也很反感。做事拖延的孩子不在少数,有的是只在学习相关的事情上,有的是吃饭、洗澡方面……孩子成长的过程中,家庭中的价值观、态度、信念和期望都会潜移默化影响着孩子,孩子成为拖延者,与家庭有很大的关系。美国资深心理咨询师简·博克和莱诺拉·袁在其著
读书打卡《如何成为不完美主义者》
chenchen_68ed
1.改变你的关注重点:每天花上一分钟的时间思考及想象以下内容。忽略结果,关注自己的投入。忽略问题,关注自己在问题条件下取得的进步。如果你必须解决一个问题,就把重点放在解决过程上。忽略他人看法,关注内心真实想法:你到底想成为谁,想做什么。不纠结于是否做得正确,重点是做了就比不做强。忽略失败,多想想成功。忽略所谓时机,多想想任务本身。2.遵循不完美主义者的过程思维:每天花一分钟,用不完美主义者的过程思
26.又着急了
茉莉zhou
今天早上11点钟,结束了毕业典礼的主持工作,老公也上班去了,所以是有我一个人带孩子,结束之后由于自己的服装还有伴手礼,一大包,儿子下了楼说要去坐船,我也同意了,做了一圈10分钟后,他说要上岸了走走,于是我们就上岸了。之后我发现我有东西落在会场了,联系佳慧说帮忙带到工作室。大能在这个时候就吵着要买玩具,我并没有发现附近有卖玩具的。而且我拎着很多东西,加上中午的天气很热,包括整个上午的主持的紧张加疲惫
小红书怎么直播(小红书直播条件)
配音新手圈
小红书直播开通条件:1)身份证实名认证;2)年满18周岁;兼职副业推荐公众号,配音新手圈,声优配音圈,新配音兼职圈,配音就业圈,鼎音副业,有声新手圈,每天更新各种远程工作与在线兼职,职位包括:写手、程序开发、剪辑、设计、翻译、配音、无门槛、插画、翻译、等等。。。每日更新兼职。3)绑定手机号;4)完成创作者认证(需满足实名认证、粉丝数不少于5千、近半年自然阅读量2千以上的原创合规笔记数不小于10篇)
《诗论》第4章论表现情感思想与语言文字的关系1-4节
亲亲氧气
诗必须将蕴蓄于心中的意境传达于语言文字。这个传达的过程引起了表现。一,“表现”一词的暧昧这里主要说的是流行的看法和形式派的看法。这两种看法,特别是形式派的看法,太狭隘。图片发自App二,情感思想和语言的连贯性情感,思想,语言,这三种活动是互相连贯的,不能彼此独立。在运用思想时,我们不仅用脑,全部神经系统和全体器官都在运动,比如想。思维和语言既是同时进行,平行一致,不能分离独立,他们的关系,就不是先
音乐
浩瀚蓝天78
音乐一直以来,都是我无法攻克的难题,没有专业的老师的指导,这条学习的路我自己走的比较漫长,但是还是下定决心挑战一下自己。擦拭完我的尤克里里,调音,开始爬格子的练习,虽然枯燥,但是也是为以后打基础,过程并没有想象的那么简单,手指僵硬,不分路,按压不住,琴音断断续续的发出,我乐在其中,殊不知身边人要顶着多大的压力忍受这个过程啦!图片发自App躺下来闭上眼睛想着过去的四十年,虽然辛苦,但是过得并不精彩,
如何搭建一个ip池用来做数据抓取用
KookeeyLena4
tcp/ip 网络 服务器
在当今的数据驱动时代,数据抓取成为了获取网络信息的重要手段。然而,频繁的数据抓取活动可能会触发网站的安全机制,导致IP被封禁。为了维持数据抓取的持续性和稳定性,构建一个有效的IP池变得至关重要。本文将详细介绍如何搭建一个用于数据抓取的IP池,以及相关的策略和最佳实践。一、IP池的概念IP池是一个包含多个IP地址的集合,这些IP地址可以是动态的,也可以是静态的,用于在数据抓取过程中轮换使用,以避免因
【物联网技术大作业】设计一个智能家居的应用场景
Dream_Chaser~
期末复习 智能家居 物联网技术 期末大作业
前言:本人的物联网技术的期末大作业,希望对你有帮助。目录大作业设计题(1)智能家居的概述。(2)介绍智能家居应用。要求至少5个方面的应用,包括每个应用所采用的设备,性能,功能。(3)画出智能家居应用图,并设计使用。大作业设计题设计一个智能家居的应用场景。要求:(1)智能家居的概述。答:智能家居,又称为智能住宅或家庭自动化,是指运用综合布线、网络通信、安全防范、自动控制及音视频等技术,将家居设施集成
架构评审的自动化与人工智能: 如何提高效率
光剑书架上的书
架构 自动化 人工智能 运维
1.背景介绍架构评审是软件开发过程中的一个关键环节,它旨在确保软件架构的质量、可维护性和可扩展性。传统的架构评审通常是由人工进行,需要大量的时间和精力。随着大数据技术和人工智能的发展,自动化和人工智能技术已经开始应用于架构评审,从而提高评审的效率和准确性。在本文中,我们将讨论如何通过自动化和人工智能技术来提高架构评审的效率。我们将从以下几个方面进行讨论:背景介绍核心概念与联系核心算法原理和具体操作
微信小程序游戏开发
红匣子实力推荐
微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也正因为其便利性,微信小程序在各个领域都有广泛的应用,其中包括游戏领域。本文将为你介绍微信小程序游戏开发的基本知识。开发-联系电话:13642679953(微信同号)一、开发环境准备1.微信开发者工具:这是微信官方提供的开发工具,支持小程序的开发和调试。你可以在微信公众平台下载并安装。2
2020-02-13记录生活44
悠爱阅读
今天早上醒来后阅读书籍材料,后来写字,过程中有给宝宝弄早饭,自己吃早饭,后来完成弹性工作的任务。之后感觉有些疲惫,闭了一小会,此刻精神抖擞。继续完成今天的学习任务。过程中对于宝宝完成阅读和记忆,也有一些感触,对于麦兜先生的严厉,有几许感触。严父慈母,可能是目前的状态,而我对宝宝有点宽松,或许有时不认同那么严厉。不过家庭中的教育,就是互相促进和弥补吧,用建设性的心态,成长性的心态来看待。今天星球日记
数字化供应链架构、全景管理、全流程贯通整体解决方案:供应链管理就是利用管理工具、IT技术将企业引入外部资源的过程精细化、标准化管理,实现高效益低成本运营。
数字化建设方案
数字化转型 数据治理 主数据 数据仓库 智能制造 数字工厂 制造业数字化转型 工业互联网 供应链 数字仓储 智慧物流 智慧仓储 物流园区 架构 大数据
数字化供应链架构、全景管理、全流程贯通方案数字化供应链架构、全景管理、全流程贯通方案项目背景与目标供应链管理现状及挑战数字化供应链架构概念及优势全景管理与全流程贯通目标预期成果与效益智能管理机制建设需求预测与智能分析应用合同管理智能化提升举措仓储管理自动化和机器人技术应用物流配送优化策略周边系统整合与数据贯通现有系统梳理及评估报告数据接口标准制定和实施计划流程对接和数据交互机制设计监控和报警机制完
关于Redis集群同步/持久化/淘汰机制的详解
尾巴尖上的阳光
大数据 redis 数据库
Redis是非常常用的KV数据库,使用内存以及HashMap进行存储的特点带来了高效的查询.本文将围绕Redis的常见开发使用场景,阐述在Redis集群中各个节点是如何进行数据同步,每个节点如何进行持久化以及在长期使用中如何对数据进行更新和淘汰.如果对Redis有更多的兴趣,可以查看我的技术博客:https://dingyuqi.com下面是Redis在开发过程中常用的几种使用场景.集群Redis
用html打开dbf文件,dbf文件怎么打开?dbf是什么文件?
今天也要开心呢
用html打开dbf文件
dbf文件怎么打开?dbf文件是一种数据库格式文件,用于存储数据库的数据。一些用户在工作的过程中,可能会碰到后缀名为dbf的文件,正常双击是无法打开的,我们需要借助软件才能打开dbf文件。下面给大家推荐一些软件来打开dbf文件,具体请看下文。工具/原料:1、Exceldbf是什么文件?dbf文件是一种数据库格式文件,Foxbase,Dbase,VisualFoxPro等数据库处理系统会运用到dbf
让政府成为服务群众的“店小二”
c6b1400fb84e
当前,政府正在从管理型积极转变为服务型,切实履行为人民服务的职责,人民群众对于政府的服务质量要求也越来越高。然而,当前依然存在办事过程中脸难看、门难进、事难办问题:服务态度不好,办事效率低、办事吃拿卡要、蹲式窗口、奇葩证明等问题依然出现。这会侵害群众的切身利益,影响党群关系,降低政府公信力,损害政府形象。因此,要打造服务型政府,提升群众满意度。打造服务型政府,转变理念是基础。“思想是行动的指南”,
ETCD 六 etcd总体架构
wanghaichao1234
etcd etcd 架构 数据库
etcd源码结构etcd项目代码的目录结构:包名用途apiprotobuf定义client/v3客户端sdkcontribraftexample实现etcdctl命令行客户端实现,用于网路的操作etcdutl命令行管理工具,直接操作etcd数据文件。hack基准测试、测试集群、k8s部署、分支管理、证书等pkg实用程序包的集合raftraft实现server.auth角色身份验证server.em
LLM 进展和前进道路
晨曦_子画
人工智能学习 人工智能
近年来,语言模型取得了重大进展。这一进步是对数十亿个参数进行广泛训练和调整的结果,也是商业用途基准测试的结果。这项工作的起源可以追溯到1950年代,当时自然语言理解和处理的研究开始了。本文旨在概述过去70年语言模型的历史和演变。它还将检查当前可用的大型语言模型(LLM),包括其架构、调优参数、企业就绪情况、系统配置等,以深入了解其训练和推理过程。这种探索将使我们能够了解该领域的进展,并评估可用于商
在Python应用程序中使用.env文件管理环境变量
手机用户3381415902
学习 python 开发语言
原始地址:https://dev.to/jakewitcher/using-env-files-for-environment-variables-in-python-applications-55a1应用程序被部署后,在开发过程中必须考虑应用程序运行的环境以及应用程序执行任务所需的敏感或环境特定信息。环境变量是软件开发人员向应用程序提供此类信息的关键方式之一,但是如果设置这些变量在本地机器的环境
如何利用兼职群微信二维码进群做副业?(兼职群微信二维码进群副业途径)
幸运副业
如何利用兼职群微信二维码进群做副业?(兼职群微信二维码进群副业途径)而兼职成为了许多人选择的一种方式。而在寻找兼职机会的过程中,利用兼职群微信二维码进群成为了一种常见的途径。在本文中,我们将探讨如何有效地利用兼职群微信二维码进群做副业,并介绍一款微信小程序——多职猫兼职平台,为您提供更多的兼职选择。推荐一篇找兼职必看的免费教程:《手机兼职,300-500/天,一单一结,大量要人》在这里可以找到各种
【机器学习与R语言】1-机器学习简介
苹果酱0567
面试题汇总与解析 java 中间件 开发语言 spring boot 后端
1.基本概念机器学习:发明算法将数据转化为智能行为数据挖掘VS机器学习:前者侧重寻找有价值的信息,后者侧重执行已知的任务。后者是前者的先期准备过程:数据——>抽象化——>一般化。或者:收集数据——推理数据——归纳数据——发现规律抽象化:训练:用一个特定模型来拟合数据集的过程用方程来拟合观测的数据:观测现象——数据呈现——模型建立。通过不同的格式来把信息概念化一般化:一般化:将抽象化的知识转换成可用
Hadoop(一)
朱辉辉33
hadoop linux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
maven An error occurred while filtering resources
blackproof
maven 报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
java 位移运算与乘法运算
周凡杨
java 位移 运算 乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
Spring_Transactional_Propagation
布衣凌宇
spring transactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
Jqplot之折线图
antlove
js jquery Web timeseries jqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
JDBC中事务处理应用
百合不是茶
java JDBC编程 事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java 多线程 线程安全 HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScript AngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
Oracle基本操作
ccii
Oracle SQL总结 Oracle SQL语法 Oracle基本操作 Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
[强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
SpringMVC and Struts2
dashuaifu
struts2 springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
windows常用命令行命令
dcj3sjt126com
windows cmd command
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
Objective-c单例模式的正确写法
jsntghf
单例 ios iPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
jquery easyui datagrid 加载成功,选中某一行
hae
jquery easyui datagrid 数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
jQuery用户数字打分评价效果
ini
JavaScript html jquery Web css
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
mybatis的paramType
kerryg
DAO sql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
实现一个sizeof获取Java对象大小
teasp
java HotSpot 内存 对象大小 sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本