你好,看完你的博客文章,感觉很不错!希望与你网站首页友情链接 流量卡知识网 http://53go.cn/ 专注于移动/联通/电信推出的大流量多语音活动长短期套餐手机卡的相关知识的介绍普及听说互换友情链接可以增加网站的收录量,特此来换,如果同意的话就给internetyewu@163.com[微信ganenboy]发信息或者就在此回复下吧!【建站问题也可以一起讨论!】
你好,看完你的博客文章,感觉很不错!希望与你网站首页友情链接 流量卡知识网 http://53go.cn/ 专注于移动/联通/电信推出的大流量多语音活动长短期套餐手机卡的相关知识的介绍普及听说互换友情链接可以增加网站的收录量,特此来换,如果同意的话就给internetyewu@163.com[微信ganenboy]发信息或者就在此回复下吧!【建站问题也可以一起讨论!】
你好
http://bigota.d.miui.com/V14.0.9.0.TLJCNXM/ingres_images_V14.0.9.0.TLJCNXM_20230323.0000.00_13.0_cn_chinatelecom_aff802bb3e.tgz
已添加贵站友链 Southerly 个人博客 || http://www.southerly.top || https://www.southerly.top/imgs/favicon.ico || 一个正在努力搬砖的兼职程序员,记录生活,分享生活,欢迎大家来访。
目前这种不行了
老哥呀,现在这种方法还能爬到数据嘛?可以聊聊不
https://www.aliyundrive.com/s/5N2bKDVZfxC
https://wwi.lanzoup.com/iU6FZ0o4as1i
04824ADB9F824ADB9F0400824ADB9F000F
https://lihh.lanzouf.com/ij6c80nhq7rg
https://cloud.189.cn/web/share?code=FvuIbuJBnEVr
https://lihh.lanzouf.com/ij6c80nhq7rg
https://developer.aliyun.com/plan/student?taskCode=vmfeitian2023&recordId=5246709&undefined&share_source=copy_link
已加,三天之后检查没加本站链接 就下了
首页
大佬聚集地
欢迎大家
教程分享
每日一看
Search
1
欢迎来到河马博客
41,756 阅读
2
守护者群管小栗子框架下载教程
40,887 阅读
3
烟花模拟器(php)
35,661 阅读
4
外链搜索引擎优化如何发布
13,619 阅读
5
一键搭建表白墙源码+教程
13,255 阅读
软件分享
教程分享
源码分享
游戏攻略
百科知识
SEO课程
登录
Search
标签搜索
推特
升学考试
账号
数学
饺子
笔记本电脑
笔记本
研究生考试
字符
英语
函数
马斯克
笔记本电脑排名前十
操作
初一
联想
考研
广告
注册
账户
河马
累计撰写
7,418
篇文章
累计收到
81
条评论
今日撰写
50
篇文章
首页
栏目
软件分享
教程分享
源码分享
游戏攻略
百科知识
SEO课程
页面
大佬聚集地
欢迎大家
教程分享
每日一看
用户登录
登录
搜索到
640
篇与
的结果
2023-12-07
硬核推荐(socket编程java例程)java socket例子,Java Socket编程详解及示例代码,java ftp客户端源代码,
Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一。如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的。本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程序。餐前甜点Unix的输入输出(IO)系统遵循Open-Read-Write-Close这样的操作范本。当一个用户进程进行IO操作之前,它需要调用Open来指定并获取待操作文件或设备读取或写入的权限。一旦IO操作对象被打开,那么这个用户进程可以对这个对象进行一次或多次的读取或写入操作。Read操作用来从IO操作对象读取数据,并将数据传递给用户进程。Write操作用来将用户进程中的数据传递(写入)到IO操作对象。 当所有的Read和Write操作结束之后,用户进程需要调用Close来通知系统其完成对IO对象的使用。在Unix开始支持进程间通信(InterProcess Communication,简称IPC)时,IPC的接口就设计得类似文件IO操作接口。在Unix中,一个进程会有一套可以进行读取写入的IO描述符。IO描述符可以是文件,设备或者是通信通道(socket套接字)。一个文件描述符由三部分组成:创建(打开socket),读取写入数据(接受和发送到socket)还有销毁(关闭socket)。在Unix系统中,类BSD版本的IPC接口是作为TCP和UDP协议之上的一层进行实现的。消息的目的地使用socket地址来表示。一个socket地址是由网络地址和端口号组成的通信标识符。进程间通信操作需要一对儿socket。进程间通信通过在一个进程中的一个socket与另一个进程中得另一个socket进行数据传输来完成。当一个消息执行发出后,这个消息在发送端的socket中处于排队状态,直到下层的网络协议将这些消息发送出去。当消息到达接收端的socket后,其也会处于排队状态,直到接收端的进程对这条消息进行了接收处理。我这儿整理了比较全面的JAVA相关的面试资料,需要领取面试资料的同学,请加群:473984645TCP和UDP通信关于socket编程我们有两种通信协议可以进行选择。一种是数据报通信,另一种就是流通信。数据报通信数据报通信协议,就是我们常说的UDP(User Data Protocol 用户数据报协议)。UDP是一种无连接的协议,这就意味着我们每次发送数据报时,需要同时发送本机的socket描述符和接收端的socket描述符。因此,我们在每次通信时都需要发送额外的数据。流通信流通信协议,也叫做TCP(Transfer Control Protocol,传输控制协议)。和UDP不同,TCP是一种基于连接的协议。在使用流通信之前,我们必须在通信的一对儿socket之间建立连接。其中一个socket作为服务器进行监听连接请求。另一个则作为客户端进行连接请求。一旦两个socket建立好了连接,他们可以单向或双向进行数据传输。读到这里,我们多少有这样的疑问,我们进行socket编程使用UDP还是TCP呢。选择基于何种协议的socket编程取决于你的具体的客户端-服务器端程序的应用场景。下面我们简单分析一下TCP和UDP协议的区别,或许可以帮助你更好地选择使用哪种。在UDP中,每次发送数据报时,需要附带上本机的socket描述符和接收端的socket描述符。而由于TCP是基于连接的协议,在通信的socket对之间需要在通信之前建立连接,因此会有建立连接这一耗时存在于TCP协议的socket编程。在UDP中,数据报数据在大小上有64KB的限制。而TCP中也不存在这样的限制。一旦TCP通信的socket对建立了连接,他们之间的通信就类似IO流,所有的数据会按照接受时的顺序读取。UDP是一种不可靠的协议,发送的数据报不一定会按照其发送顺序被接收端的socket接受。然后TCP是一种可靠的协议。接收端收到的包的顺序和包在发送端的顺序是一致的。简而言之,TCP适合于诸如远程登录(rlogin,telnet)和文件传输(FTP)这类的网络服务。因为这些需要传输的数据的大小不确定。而UDP相比TCP更加简单轻量一些。UDP用来实现实时性较高或者丢包不重要的一些服务。在局域网中UDP的丢包率都相对比较低。我这儿整理了比较全面的JAVA相关的面试资料,需要领取面试资料的同学,请加群:473984645Java中的socket编程下面的部分我将通过一些示例讲解一下如何使用socket编写客户端和服务器端的程序。注意:在接下来的示例中,我将使用基于TCP/IP协议的socket编程,因为这个协议远远比UDP/IP使用的要广泛。并且所有的socket相关的类都位于http://Java.net包下,所以在我们进行socket编程时需要引入这个包。客户端编写开启Socket如果在客户端,你需要写下如下的代码就可以打开一个socket。String host = "127.0.0.1";int port = 8919;Socket client = new Socket(host, port);上面代码中,host即客户端需要连接的机器,port就是服务器端用来监听请求的端口。在选择端口时,需要注意一点,就是0~1023这些端口都已经被系统预留了。这些端口为一些常用的服务所使用,比如邮件,FTP和HTTP。当你在编写服务器端的代码,选择端口时,请选择一个大于1023的端口。写入数据接下来就是写入请求数据,我们从客户端的socket对象中得到OutputStream对象,然后写入数据后。很类似文件IO的处理代码。public class ClientSocket {public static void main(String args[]) {String host = "127.0.0.1";int port = 8919;try {Socket client = new Socket(host, port);Writer writer = new OutputStreamWriter(client.getOutputStream());writer.write("Hello From Client");writer.flush();writer.close();client.close();} catch (IOException e) {e.printStackTrace();}}}关闭IO对象类似文件IO,在读写数据完成后,我们需要对IO对象进行关闭,以确保资源的正确释放。服务器端编写打开服务器端的socketint port = 8919;ServerSocket server = new ServerSocket(port);Socket socket = server.accept();上面的代码创建了一个服务器端的socket,然后调用accept方法监听并获取客户端的请求socket。accept方法是一个阻塞方法,在服务器端与客户端之间建立联系之前会一直等待阻塞。读取数据通过上面得到的socket对象获取InputStream对象,然后安装文件IO一样读取数据即可。这里我们将内容打印出来。public class ServerClient {public static void main(String[] args) {int port = 8919;try {ServerSocket server = new ServerSocket(port);Socket socket = server.accept();Reader reader = new InputStreamReader(socket.getInputStream());char chars[] = new char[1024];int len;StringBuilder builder = new StringBuilder();while ((len=reader.read(chars)) != -1) {builder.append(new String(chars, 0, len));}System.out.println("Receive from client message=: " + builder);reader.close();socket.close();server.close();} catch (Exception e) {e.printStackTrace();}}}关闭IO对象还是不能忘记的,最后需要正确地关闭IO对象,以确保资源的正确释放。附注一个例子这里我们增加一个例子,使用socket实现一个回声服务器,就是服务器会将客户端发送过来的数据传回给客户端。代码很简单。import java.io.*;import java.net.*;public class EchoServer {public static void main(String args[]) {// declaration section: // declare a server socket and a client socket for the server // declare an input and an output stream ServerSocket echoServer = null;String line;DataInputStream is;PrintStream os;Socket clientSocket = null;// Try to open a server socket on port 9999 // Note that we cant choose a port less than 1023 if we are not // privileged users (root) try {echoServer = new ServerSocket(9999);}catch (IOException e) {System.out.println(e);}// Create a socket object from the ServerSocket to listen and accept // connections. // Open input and output streams try {clientSocket = echoServer.accept();is = new DataInputStream(clientSocket.getInputStream());os = new PrintStream(clientSocket.getOutputStream());// As long as we receive data, echo that data back to the client. while (true) {line = is.readLine();os.println(line);}} catch (IOException e) {System.out.println(e);}}}编译运行上面的代码,进行如下请求,就可以看到客户端请求携带的数据的内容。15:00 $ curl https://127.0.0.1:9999/?111GET /?111 HTTP/1.1User-Agent: curl/7.37.1Host: 127.0.0.1:9999Accept: */*总结进行客户端-服务器端编程还是比较有趣的,同时在Java中进行socket编程要比其他语言(如C)要简单快速编写。http://Java.net这个包里面包含了很多强大灵活的类供开发者进行网络编程,在进行网络编程中,建议使用这个包下面的API。同时Sun.*这个包也包含了很多的网络编程相关的类,但是不建议使用这个包下面的API,因为这个包可能会改变,另外这个包不能保证在所有的平台都有包含。我这儿整理了比较全面的JAVA相关的面试资料,需要领取面试资料的同学,请加群:473984645获取更多学习资料,可以加群:473984645或扫描下方二维码
2023年12月07日
0 阅读
0 评论
0 点赞
2023-12-07
硬核推荐(amr文件怎么转换成m4a)怎么把amr音频文件转化成mp3文件,amr文件如何转换成mp3格式?这5种方法太简单了,java amr文件转mp3,
日常中我们录音保存下来的文件格式就是amr文件,这是一种保存手机录音的标准格式,该格式有着资源占用率低,方便传输的优点。那么amr文件如何转换成mp3格式呢?在这里给大家整理了5种非常简单高效的方法,一学就会,只需要几步就可以完成。方法一:野葱视频转换器推荐指数:☆☆☆☆☆这是一款多功能的视频格式转换软件,它支持各种格式的视频音频文件转换,并且操作简单,即使是零基础的电脑小白也能够在短时间内学会操作,快速上手!下面就让我们来看看该软件具备什么特色吧!1、支持丰富的文件格式MP4、AVI、MKV、FLV、WMV、M4V、MOV等上百种视频格式,并且支持自定义分辨率,如1080P、720P、4K等;2、操作简单、转换效率高借助这款工具如何实现格式转换?四步操作就能够帮你搞定:【选择功能-上传文件-设置参数-转换完成】。另外这款软件还支持批量转换,能够一次上传多个视频进行转换操作,提高效率的同时也节省了不少时间。3、功能丰富除了视频格式转换之外,它还支持视频分割合并、视频转GIF、视频水印、视频优化、视频压缩等功能。经常需要编辑视频文件的小伙伴们有福了,用它就能够实现很多操作哦!方法二:内录先将要转成 MP3 格式的语音收藏,主要是便于查找。然后同时在 PC 上打开语音和内录软件,然后进行录制,保存内录的文件即可。内录软件推荐 Max Recorder、Audio Record Wizard 。方法三:录音找一个安静的空间,手持两部手机,一个手机播放语音,另一部用手机自带的录音功能录下语音。这个方法虽然有点过于简单,但是还是相当实用的,非技术人员经常用的招式,比如本教授。方法四:FFmpeg推荐指数:☆☆☆详细操作步骤1、在软件打开的界面里,使用【windoes+R】组合按键,调出参数设置窗口,在【运行】界面里,将【cmd字样】输入到【打开】搜索栏里,最后点击【确定】。详细操作步骤2、输入正确的字符串(记得仔细检查下代码是否错误),并运行该字符串,开启软件自动转码,实现其他视频格式文件转换成mp4的进程。方法五:VLC推荐指数:☆☆☆VLC是一款开源、免费的视频播放软件,同时支持视频转换的功能,主打的是视频播放,在无需编码器的情况下播放MPEG-2、MKV、Webm等格式文件。作为衍生的视频转换功能,也可以解决一定的视频转换需求。1、双击客户端软件打开VLC,点击打开「Convert」功能;2、在File界面添加需要转换的mkv文件,点击「add」添加文件;添加成功后,点击「Convert」按钮;3、进入Convert界面后,设置需要转换的参数,确认完毕后点击「Start」。以上就是小编要给大家分享的既好用又有效又简单的操作方法了,下次再遇到amr格式就知道如何转换啦,好啦,今天的内容就分享到这里了,我们下期再见。
2023年12月07日
0 阅读
0 评论
0 点赞
2023-12-07
奔走相告(怎么将amr转换成mp3)怎么把amr音频文件转化成mp3文件,amr文件怎么转换成mp3格式?,java amr文件转mp3,
amr文件怎么转换成mp3格式?amr是一种主要应用于手机移动端的音频格式,一些手机铃声和手机录音文件就是amr格式的,如果不是经常关注音频格式的小伙伴可能压根没听过amr格式吧。amr音频格式有时候也会在电脑上出现,前几天有个小伙伴就遇到这样的问题,他在电脑上下载了一个amr格式的音频,但是在电脑上却不能正常的打开播放,有没有什么办法解决,这个问题的原因是播放器不兼容amr格式,从而无法打开播放。解决这个问题其实非常简单,就是将amr格式转换成mp3格式,可能很多小伙伴不知道如何进行音频格式转换操作吧。那小编就顺便将amr转换成mp3格式的步骤给大家做个详细的介绍吧,四个操作步骤一分钟就能学会。需要使用的软件工具:优速音频处理器工具下载地址:点击下载“优速音频处理器”软件工具download.yososoft.com/YSAudio/YSAudio_TTY.exeamr文件转换成mp3的步骤详解:步骤1,先在电脑上下载好“优速音频处理器”软件工具,然后双击安装并打开使用,选择左边的【格式转换】功能,这里支持包含amr在内的二十多种音频格式转换成mp3.步骤2,点击软件左上角【添加文件】按钮,将需要转换成mp3的amr音频文件添加到软件中,支持批量添加和批量转换;然后设置转换后的音频格式,在下拉框中选择“mp3”。步骤3,先选择输出目录文件夹,用来保存转换后的音频文件;最后点击【开始转换】按钮启动转换,完成转换后软件会自动打开输出文件夹,我们就能立即查看转成了mp3音频了。步骤4,从案例的结果我们可以看到,软件成功的将所有amr音频文件全部转变成了mp3格式。不管你是上班族还是学生,都可能会接触到不同格式的音频文件,音频格式不兼容的时候就需要格式转换,将它转换成通用的mp3音频格式,上面的方法不仅可以将amr转换成mp3,也支持其它格式的音频转换成mp3,操作方法和上面的一致。好了,关于“amr文件怎么转换成mp3格式?”的介绍就到这里了,有音频格式转换的小伙伴可以去试一试哦
2023年12月07日
0 阅读
0 评论
0 点赞
2023-12-07
学会了吗(进销存系统开源)进销存管理系统java源码,推荐两套java版进销存系统源码,java crm源码下载,
1:项目技术:SpringMvc+spring data jpa+apache shiro+bootstrap+jquery+highcharts4系统概述:系统采用企业级开发标准,主要功能有:用户管理、角色管理、日志管理、供应商管理、客户管理、商品管理、库存管理、进货/退货管理、商品报损,报溢管理、商品采购,销售统计、商品销售按日分析统计。技术架构:使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;界面采用了Easyui技术;亮点是SpringBoot的综合应用,权限系统的设计,以及基于Shiro的安全控制,以及Easyui的高级应用。该项目的架构搭建使用的是maven,后台是使用的是SpringMvc框架,数据库的CRUD使用的是注解的方式,权限管理使用的是shiro框架,前端使用的框架是jquery,bootstrap,highcharts4插件。运行环境:jdk8+tomcat8+mysql+Eclipse+maven系统功能1、进货管理:进货入库、退货出库、进货单查询、退货单查询、当前库存查询2、销售管理:销售出库、客户退货、销售单据查询、客户退货查询、当前库存查询3、库存管理:商品报损、商品报溢、库存报警、报损报溢查询、当前库存查询4、统计报表:供应商统计、客户统计、商品采购统计、商品销售统计、按日统计分析、按月统计分析5、基础资料:供应商管理、客户管理、商品管理、期初库存6、系统管理:角色管理、用户管理、系统日志、修改密码、安全退出功能界面:▶ 2:开发环境:IDE: MyEclipse8.5+/Eclipse4.4+ DB: Mysql5.1 JDK: JDK1.6+ WEB: Tomcat6.0+ Maven: Maven3.2.3+系统概述:系统主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、基础数据、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、礼品卡等特色功能。拥有库存状况、出入库统计等报表。同时对角色和权限进行了细致全面的控制,精确到每个按钮和菜单。技术架构:核心框架:Spring Framework 3.0.5视图框架:Struts 2.2.3持久层框架:Hibernate 3.0日志管理:Log4j 1.2.16JS框架:Jquery 1.8.0UI框架: EasyUI 1.3.5桌面框架: HoorayOS项目管理框架: Maven3.2.3系统功能:1、商品信息:商品类别、商品信息、计量单位。2、采购管理:采购入库、采购退货。3、销售管理:销售出库、销售退货。4、仓库管理:其它入库、其它出库、调拨出库、组装单、拆卸单。5、财务管理:收入单、支出单、收款单、付款单、转账单、收预付款。6、报表查询:库存状况、结算账户、进货统计、销售统计、礼品卡统计、入库明细、出库明细、入库汇总、出库汇总、客户对账、供应商对账。7、基础数据:供应商信息、客户信息、会员信息、仓库信息、收支项目、结算账户、经手人管理、礼品卡管理。功能界面:源码地址:▶ 1: http://www.taoydm.com/#/index/goods/089da942-5a52-4029-a41c-ae6e011654db▶ 2: http://www.taoydm.com/#/index/goods/b5b97df3-b880-49f0-9157-ae6b011609fc
2023年12月07日
0 阅读
0 评论
0 点赞
2023-12-07
这都可以(报表程序开发)报表开发属于哪个职位,报表开发常用的3种模式,3种角度利弊对比,java报表开发技术深入解析,
报表是企业IT数据建设不可或缺的一个环节,小至一张出入单,大至公司KPI看板,都是公司必不可少的数据资料。怎么开发报表?有几种开发报表的方法,就是IT写PHP、Python开发,或者用现成的报表工具。以下就技术角度出发来比较3种常用报表开发模式:Excel报表、代码开发、报表工具。一个报表制作的流程往往是:业务需求—>报表原型设计—>需求确认—>数据整理校对—>报表开发—>需求变更与维护。这其中和报表开发模式关系最密切的就是报表原型设计、报表开发以及报需求的变更及维护,下面从这三种角度介绍。1、报表原型设计原型设计多用于产品需求,简略来说,如果将企业报表视为产品的话,那报表需求也可以视为产品需求,其实公司里已经有数据产品经理这个职位了,数据报表设计就在他们的工作范围内。至于报表原型设计的必要性,举一个场景来说明一下:如果人力部门提需求说要一个填报页来录入员工信息,那时候我简简单单做了一个页,填入10个信息字段,但信息格式却修改了三四次,结果需求后来频繁更改,先是屡屡提出增加填报的信息内容;然后发现发现数据端那边因为数据结构的变更导致数据乱码、无法填报;再然后还要开放信息修改的权限;再到后面又提出要做工资跳转页、增设多sheet填报。前前后后更改了数十次需求。很大原因就是没有做好需求的确认以及报表需求的原型设计的扩展性。标准的报表开发流程,怎么做好报表?数据报表的类型是简单数据表格类还是可视化图表类,是用于填报还是查询还是展示。一个需求点辐射整块需求,需求点能否合并,报表是单张报表还是可集成到一个页面,页面是否要预设跳转口。报表的权限,是否要设置多级权限,确定增加、删除、查看、修改、导出的权限。数据导入关联数据维护功能。数据后台是否有数据库,没有的话是通过定义公式还是要附加数据导入与维护的功能入口。预计报表用户及其使用场景,是PC端,还是移动端,还是大屏展现。报表工具辅助原型设计呢?Excel做报表开发没有原型设计的功能,一般人做报表就是先从数据库导入数据,大致预览数据,考虑符合情况的报表样式,然后在Excel上制作。Excel由于数据存储在表中,所以操作简单,见即可改。至于用代码的话,那就难多了,比如纯Java代码开发报表,是没有前端页面的,只有开发人员知道报表是什么样的,其他人要看就只能调代码,连格式什么的也要靠写代码来做。其中最大的难点就是不适配不同分辨率的电脑、手机等,所以代码开发是很难的。用报表工具开发报表的方法,即报表工具辅助原型设计,比如FineReport,是有类似Excel设计页面的报表设计器的,可以报表工具辅助原型设计,可以直接在设计器里制作报表样式,在初期确认需求时也可以用Excel简单设计一下demo样式。但对于一些复杂特别的需求,比如移动端报表、多sheet页报表、可视化大屏类报表,Excel就无能为力了,所以能够直接画出原型的报表工具更适合解决这类需求。2、报表的技术开发Excel可以做本地报表,也简单好上手,但功能发挥却要看你电脑配置,一旦数据过多,电脑容易崩溃,所以从数据库导入数据需谨慎。我觉得Excel是没法适用于企业报表的,Excel是做不到对接数据库,做报表维护和收集数据,因为这样的工作量你会做到崩溃的。最麻烦的是如果数据有变化的话,那其他数据也要跟着改。所以Excel的表格没有实时性,基本隔一段时间数据就出错了。用代码开发报表的方法可以很快解决点对点的需求,但就长期来看,就是代码靠人力堆,工作量极大。还有一个方法就是自研报表工具,如Java有一些对接Excel报表功能库,也有可视化图表库,但解决不了打印报表、复杂数据计算、复杂报表展示、导出打印以及文档格式一致性等问题和需求。所以以报表的技术开发来说,自研报表工具除了自动化报表外,其他的都是坑,虚耗心力而已。而报表开发的方法里就报表工具相对完善稳定,毕竟是氪金解决以上不能解决的问题。FineReport的特别优点是和Excel相像的设计方式(毕竟我们这些做报表的又不是专业代码开发,做开发还是很难的),然后只要会一点简单的SQL和JavaScript,在加上各种报表设计模式,就大体能实现各种复杂报表样式。其中数据字典、实际值和显示值等设计是切入快速开发的重点,而这些在其他方法里是需要大量代码才能进行下去的,而在FineReport里就可以做现成的,这就不需要报表的技术开发了。3、报表需求的变更及维护前面屡次提到报表需求的变更及维护,做报表的人最讨厌的的就是报表要修改、要调整、不好用之类的反馈。完成Excel改报表的需求需要先收集实时数据,导出来复制修改,所以每次修改就大体是重做。代码报表开发也是同理,修改动的就是代码,或者直接重做。如果事先有完善的报表需求确认,那就能剩下不少时间。FineReport报表需求的变更及维护主要是运维报表模板。数据更新因为是直接对联数据源,可以自定义设置更新T+1或者实时,所以大大省去了时间,但这个还是主要看数据库/数据仓库的支持。例如更改报表样式是改报表模式,相应的展现模板会自动随修改模板更新,就跟PPT改母版样式差不多。然后在维护方面,FineReport是部署在服务器上的,可以让各种用户在远程服务器上对模板进行设计、修改、维护等操作,降低模板的运维难度。除此之外,还有报表体系的使用和运维。报表会随着时间增长而积累,这就需要业务人员对报表进行数据更新和优化,淘汰陈旧报表,优化常用模板的展示样式、交互效果和性能层面,而这恰恰也是报表工具的优点。最后,列出一张图表来简单描述,三种报表开发模式:Excel报表、代码开发、报表工具的好坏。比如,目前主流的软件——finereport,它小到填报、查询、部署、集成,大到可视化大屏、dashboard驾驶舱,应有尽有,功能很强大。最重要的是,因为这个工具,整个公司的数据架构都可以变得规范,下一步就是构建企业的大数据平台了。而且它是java编写的,支持二次开发,类Excel的设计器,无论是IT还是业务,上手都很简单:编辑sql优化、数据集复用简直都是小case,大大降低了报表开发的门槛。在企业中被关注最多的数据安全方面,FineReport支持多人同时开发同一套报表,并通过模板加锁功能防止编辑冲突;通过数据分析权限控制,保障数据安全。
2023年12月07日
0 阅读
0 评论
0 点赞
1
2
...
128