finereport9.0破解版|finereport10.0破解并发数|finereport授权注册|FineBI5.0破解lic

2023-05-16

nereport9.0破解版|finereport10.0破解并发数|finereport授权注册|FineBI5.0破解lic

联系QQ 563471794

 

 


详细解密finereport9.0破解版中的报表执行过程

在报表开发工具FineReport中,报表的执行过程大体可分为两步:1、报表计算;2、页面转换。

报表计算过程:先读取我们的sql语句,将完整的sql语句传至数据库服务器,由数据库返回数据给报表服务器,报表服务器进行数据列的扩展、汇总、关联、公式运算等计算,最终生成报表结果。

页面转换过程:报表计算完成后生成xml页面,需要转换为html页面才能在浏览器中查看。

针对这一过程FineReport是可以实时监控的。监控方法是将服务器的log输出级别设为“普通信息”,就能在控制台上看到每一步使用的时间。

1. 设置日志输出级别

修改日志输出级别为“显示普通信息”,如下图设计器中设置:

 

2. 查看报表执行过程

2.1 打开模板

finereport9.0破解版|finereport10.0完美破解补丁|finereport授权注册|FineBI5.0破解lic

打开FR设计器,打开里面自带的模板:%FR_HOME%\WebReport\WEB-INF\reportlets\gettingstarted.cpt

2.2 清空finereport9.0破解版日志

点击分页预览前,先清空日志。

3. 浏览器端访问报表

点击分页预览,输入参数条件后,点击查询;

等到报表在浏览器上完全展示出来后,查看日志窗口的信息:

 

从日志中我们可以对报表的执行过程进行实时监控。

报表插件finereport9.0破解版中密码加密RSA加密算法

在使用数据集进行身份认证时,密码存在数据库中,认证时用户输入的密码与数据库中密码相同则认证通过,若数据库被破解了则对系统造成威胁,怎样保证系统安全呢?下面就通过报表插件FineReport来介绍一下RSA加密算法。

工具/材料

报表插件FineReport7.1.1

大小:148.2M 适用平台:windows/linux

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07

操作方法

    • 01

      加载bcprov-jdk14-146.jar驱动包
      RSA加密使用的第三方包,放到工程web-inf/lib文件夹下即可,如果没有驱动可点击bcprov-jdk14-146.jar驱动包下载。
      注:JBOSS服务器下,使用的第三方加密包,提示报错:Can not parse the BC Provider。需要将此包bcprov-jdk14-146.jar从报表工程下移入到JBOSS默认jar包路径下即可。

    • 02

      调用js文件
      RSA文件夹为前端js加密时需要调用js文件,因此需要将Barrett.js、BigInt.js、RSA.js放到工程目录下如:WebReport/js,新建js文件夹放入js文件,如果没有此js文件可点击rsa/js下载。

    • 03

      定义RSA加密类
      定义RSAUtil.java类文件,先运行类中generateKeyPair()方法,会在服务器D盘中生成一个随机的RSAKey.txt文件,保存公钥和密钥,每访问一次这个方法会刷新一次txt文件。
      package com.fr.privilege;
      import java.io.ByteArrayOutputStream;
      import java.io.FileInputStream;
      import java.io.FileOutputStream;
      import java.io.ObjectInputStream;
      import java.io.ObjectOutputStream;
      import java.math.BigInteger;
      import java.security.KeyFactory;
      import java.security.KeyPair;
      import java.security.KeyPairGenerator;
      import java.security.NoSuchAlgorithmException;
      import java.security.PrivateKey;
      import java.security.PublicKey;
      import java.security.SecureRandom;
      import java.security.interfaces.RSAPrivateKey;
      import java.security.interfaces.RSAPublicKey;
      import java.security.spec.InvalidKeySpecException;
      import java.security.spec.RSAPrivateKeySpec;
      import java.security.spec.RSAPublicKeySpec;
      import javax.crypto.Cipher;
      /**
      * RSA 工具类。提供加密,解密,生成密钥对等方法。
      * 需要到http://www.bouncycastle.org下载bcprov-jdk14-123.jar。
      *
      */
      public class RSAUtil {
      /**
      * * 生成密钥对 *
      *
      * @return KeyPair *
      * @throws EncryptException
      */
      public static KeyPair generateKeyPair() throws Exception {
      try {
      KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA",
      new org.bouncycastle.jce.provider.BouncyCastleProvider());
      final int KEY_SIZE = 1024;// 没什么好说的了,这个值关系到块加密的大小,可以更改,但是不要太大,否则效率会低
      keyPairGen.initialize(KEY_SIZE, new SecureRandom());
      KeyPair keyPair = keyPairGen.generateKeyPair();
      saveKeyPair(keyPair);
      return keyPair;
      } catch (Exception e) {
      throw new Exception(e.getMessage());
      }
      }
      public static KeyPair getKeyPair() throws Exception {
      FileInputStream fis = new FileInputStream("C:/RSAKey.txt");
      ObjectInputStream oos = new ObjectInputStream(fis);
      KeyPair kp = (KeyPair) oos.readObject();
      oos.close();
      fis.close();
      return kp;
      }
      public static void saveKeyPair(KeyPair kp) throws Exception {
      FileOutputStream fos = new FileOutputStream("C:/RSAKey.txt");
      ObjectOutputStream oos = new ObjectOutputStream(fos);
      // 生成密钥
      oos.writeObject(kp);
      oos.close();
      fos.close();
      }
      /**
      * * 生成公钥 *
      *
      * @param modulus *
      * @param publicExponent *
      * @return RSAPublicKey *
      * @throws Exception
      */
      public static RSAPublicKey generateRSAPublicKey(byte[] modulus,
      byte[] publicExponent) throws Exception {
      KeyFactory keyFac = null;
      try {
      keyFac = KeyFactory.getInstance("RSA",
      new org.bouncycastle.jce.provider.BouncyCastleProvider());
      } catch (NoSuchAlgorithmException ex) {
      throw new Exception(ex.getMessage());
      }
      RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(new BigInteger(
      modulus), new BigInteger(publicExponent));
      try {
      return (RSAPublicKey) keyFac.generatePublic(pubKeySpec);
      } catch (InvalidKeySpecException ex) {
      throw new Exception(ex.getMessage());
      }
      }
      /**
      * * 生成私钥 *
      *
      * @param modulus *
      * @param privateExponent *
      * @return RSAPrivateKey *
      * @throws Exception
      */
      public static RSAPrivateKey generateRSAPrivateKey(byte[] modulus,
      byte[] privateExponent) throws Exception {
      KeyFactory keyFac = null;
      try {
      keyFac = KeyFactory.getInstance("RSA",
      new org.bouncycastle.jce.provider.BouncyCastleProvider());
      } catch (NoSuchAlgorithmException ex) {
      throw new Exception(ex.getMessage());
      }
      RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec(new BigInteger(
      modulus), new BigInteger(privateExponent));
      try {
      return (RSAPrivateKey) keyFac.generatePrivate(priKeySpec);
      } catch (InvalidKeySpecException ex) {
      throw new Exception(ex.getMessage());
      }
      }
      /**
      * * 加密 *
      *
      * @param key
      *            加密的密钥 *
      * @param data
      *            待加密的明文数据 *
      * @return 加密后的数据 *
      * @throws Exception
      */
      public static byte[] encrypt(PublicKey pk, byte[] data) throws Exception {
      try {
      Cipher cipher = Cipher.getInstance("RSA",
      new org.bouncycastle.jce.provider.BouncyCastleProvider());
      cipher.init(Cipher.ENCRYPT_MODE, pk);
      int blockSize = cipher.getBlockSize();// 获得加密块大小,如:加密前数据为128个byte,而key_size=1024
      // 加密块大小为127
      // byte,加密后为128个byte;因此共有2个加密块,第一个127
      // byte第二个为1个byte
      int outputSize = cipher.getOutputSize(data.length);// 获得加密块加密后块大小
      int leavedSize = data.length % blockSize;
      int blocksSize = leavedSize != 0 ? data.length / blockSize + 1
      : data.length / blockSize;
      byte[] raw = new byte[outputSize * blocksSize];
      int i = 0;
      while (data.length - i * blockSize > 0) {
      if (data.length - i * blockSize > blockSize)
      cipher.doFinal(data, i * blockSize, blockSize, raw, i
      * outputSize);
      else
      cipher.doFinal(data, i * blockSize, data.length - i
      * blockSize, raw, i * outputSize);
      // 这里面doUpdate方法不可用,查看源代码后发现每次doUpdate后并没有什么实际动作除了把byte[]放到
      // ByteArrayOutputStream中,而最后doFinal的时候才将所有的byte[]进行加密,可是到了此时加密块大小很可能已经超出了
      // OutputSize所以只好用dofinal方法。
      i++;
      }
      return raw;
      } catch (Exception e) {
      throw new Exception(e.getMessage());
      }
      }
      /**
      * * 解密 *
      *
      * @param key
      *            解密的密钥 *
      * @param raw
      *            已经加密的数据 *
      * @return 解密后的明文 *
      * @throws Exception
      */
      public static byte[] decrypt(PrivateKey pk, byte[] raw) throws Exception {
      try {
      Cipher cipher = Cipher.getInstance("RSA",
      new org.bouncycastle.jce.provider.BouncyCastleProvider());
      cipher.init(cipher.DECRYPT_MODE, pk);
      int blockSize = cipher.getBlockSize();
      ByteArrayOutputStream bout = new ByteArrayOutputStream(64);
      int j = 0;
      while (raw.length - j * blockSize > 0) {
      bout.write(cipher.doFinal(raw, j * blockSize, blockSize));
      j++;
      }
      return bout.toByteArray();
      } catch (Exception e) {
      throw new Exception(e.getMessage());
      }
      }
      /**
      * * *
      *
      * @param args *
      * @throws Exception
      */
      public static void main(String[] args) throws Exception {
      RSAPublicKey rsap = (RSAPublicKey) RSAUtil.generateKeyPair()
      .getPublic();
      String test = "hello world";
      byte[] en_test = encrypt(getKeyPair().getPublic(), test.getBytes());
      System.out.println("123:" + new String(en_test));
      byte[] de_test = decrypt(getKeyPair().getPrivate(), en_test);
      System.out.println(new String(de_test));
      }
      }

    • 04

      定义TestPasswordValidatorRSA.java密码验证类
      定义一个类,命名为TestPasswordValidatorRSA.java,扩展于AbstractPasswordValidator,重写其中密码验证方法encodePassword,先把输入的密码进行翻转,然后再进行加密,返回密码进行验证,具体代码如下:
      package com.fr.privilege;
      import com.fr.privilege.providers.dao.AbstractPasswordValidator;
      public class TestPasswordValidatorRSA extends AbstractPasswordValidator{
      //@Override
      public String encodePassword( String clinetPassword) {
      try {
      //对密码进行翻转如输入ab翻转后为ba
      StringBuffer sb = new StringBuffer();
      sb.append(new String(clinetPassword));
      String bb = sb.reverse().toString();
      //进行加密
      byte[] en_test = RSAUtil.encrypt(RSAUtil.getKeyPair().getPublic(),bb.getBytes());
      //进行解密,如果数据库里面保存的是加密码,则此处不需要进行解密
      byte[] de_test = RSAUtil.decrypt(RSAUtil.getKeyPair().getPrivate(),en_test);
      //返回加密密码
      clinetPassword=new String(de_test);
      } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      return clinetPassword; //即获取加密密码再与数据库密码匹配。
      }
      @Override
      public boolean validatePassword(String arg0, String arg1) {
      // TODO Auto-generated method stub
      return false;
      }
      }

    • 05

      编译类文件
      首先编译RSAUtil.java类文件在服务器的D盘生成RSAKey.txt文件,再编译TestPasswordValidatorRSA.java类,把编译后的class文件放到项目工程web-inf/classes/com/fr/privilege文件夹中。

    • 06

      登陆Login.jsp页面设置
      客户端请求到登录页面,随机生成一字符串,此随机字符串作为密钥加密密码,如下代码:
      <%@page contentType="text/html" pageEncoding="UTF-8"%>
      <%@page import="com.fr.privilege.providers.dao.RSAUtil"%>
      <%!public String Testmo() {
      String module = "";
      try {
      java.security.interfaces.RSAPublicKey rsap = (java.security.interfaces.RSAPublicKey) RSAUtil
      .getKeyPair().getPublic();
      module = rsap.getModulus().toString(16);
      } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      return module;
      }%>
      <%!public String Testem() {
      String empoent = "";
      try {
      java.security.interfaces.RSAPublicKey rsap = (java.security.interfaces.RSAPublicKey) RSAUtil
      .getKeyPair().getPublic();
      empoent = rsap.getPublicExponent().toString(16);
      } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      return empoent;
      }%>
      <html>
      <head>
      <script type="text/javascript"
      src="ReportServer?op=emb&resource=finereport.js"></script>
      <script type="text/javascript" src="js/RSA.js"></script>
      <script type="text/javascript" src="js/BigInt.js"></script>
      <script type="text/javascript" src="js/Barrett.js"></script>
      <script type="text/javascript">
      function bodyRSA()
      {
      setMaxDigits(130);
      var a = "<%=Testmo()%>";
      var b = "<%=Testem()%>";
      key = new RSAKeyPair(b,"",a);
      }
      function doSubmit() {
      bodyRSA();
      var username = FR.cjkEncode(document.getElementById("username").value); //获取输入的用户名
      var password = FR.cjkEncode(document.getElementById("password").value);  //获取输入的参数
      .ajax({
      url : "ReportServer?op=auth_login&fr_username=" + username + "&fr_password=" + password,   //将用户名和密码发送到报表认证地址op=auth_login
      data : {__redirect__ : 'false'},
      complete : function(res) {
      var jo = FR.jsonDecode(res.responseText);
      if(jo.url) {
      window.location=jo.url+ "&_=" + new Date().getTime();   //认证成功跳转页面,因为ajax不支持重定向所有需要跳转的设置
      }
      else{
      alert("用户名密码错误!")  //认证失败
      }
      }
      })
      }
      </script>
      </head>
      <body>
      <p>
      请登录
      </p>
      <form name="login" method="POST">
      <p>
      用户名:
      <input id="username" type="text" />
      </p>
      <p>
      密 码:
      <input id="password" type="password" />
      </p>
      <input type="button" value="登录" οnclick="doSubmit()" />
      </form>
      </body>
      </html>

    • 07

      管理平台设置
      访问报表触发加密文件需要在管理平台>权限配置中设置,勾选自定义密码加密,在文本框中输入com.fr.privilege.TestPasswordValidatorRSA即可调用。
      如上所有设置完之后,RSA加密算法基本上就设置完成。

    • 【finereport9.0破解版】从搭建到部署

    • 概念

      从上篇博客【FineReport】介绍(链接)中,可以了解到FineReport可以做什么,那么如果我们要进行FineReport的开发,需要有一个环境,最后再进行部署

      这里部署分为两种,一种是独立部署,FineReport制作的决策系统可以作为一个独立的系统部署,同时,它也嵌入到我们已有的系统当中,详情可以参考官方帮助文档,这里简单说一下独立部署

       

      准备环境

      1. 定位到软件安装的根目录下,把所有内容都复制到一个新的文件夹;
      2. 打开软件,点击[文件] —> [切换工作目录] —> [其它] —> [+] —> [本地目录] —> 选择刚建立的新文件夹,选择 ./WebReport/WEB-INF 文件夹做为目录;
      3. 可以把原有的那些报表删掉,文件夹可以通过点击 [打开所在文件夹] 然后删除,这样就可以有一个纯净的环境,当然也可以留下作为参考;

       

      部署发布

      1. 开发完成之后,定位到自己建立的那个文件夹;
      2. 把WebReport文件夹这个拷到Tomcat的webapps文件夹下;
      3. 运行tomcat,在浏览器输入 http://localhost:8080/WebReport/ReportServer?reportlet=GettingStarted.cpt(这个地址是根据具体项目名字和报表而定的,WebReport是你的项目名字,GettingStarted.cpt是你具体的报表名字,这个可以通过在开发的时候预览看到相应的名字)

       

      小结

      FineReport不仅可以独立部署,同时可以嵌入到我们现有的项目中部署,为我们分析显示数据提供了很多帮助;

      现在看来,对于一些小的系统,FineReport直连数据库,可以很快的开发;

      当然,对于大型系统,还有大数据,这也是个很好的选择,毕竟,帆软的切入点就在数据上面;

      诚如FineReport所言:让数据成为生产力

转载于:https://www.cnblogs.com/FineReport/p/9638776.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

finereport9.0破解版|finereport10.0破解并发数|finereport授权注册|FineBI5.0破解lic 的相关文章

  • px4的CMakelists.txt阅读

    1 2 3 Copyright c 2017 PX4 Development Team All rights reserved 4 5 Redistribution and use in source and binary forms wi
  • 嵌入式Qt开发环境的搭建详解

    一 嵌入式Qt开发环境的搭建前奏 1 下载arm linux gcc 4 4 3 20100728 tar gz 2 下载qt everywhere opensource src 4 8 5 tar gz xff08 Qt的源码 xff09
  • 百度静态资源库

    http cdn code baidu com 转载于 https www cnblogs com mingl12 p 6373088 html
  • OpenCV 矩形轮廓检测

    转载请注明出处 xff1a http blog csdn net wangyaninglm article details 44151213 xff0c 来自 xff1a shiter编写程序的艺术 基础介绍 OpenCV里提取目标轮廓的函
  • linux更新系统内核,Linux内核升级方法详解

    Linux的内核是系统的核心 xff0c 所以升级内核是Linux系统管理员的一项基本技能 xff0c 所以我就分享了系统运维实务上的一篇文章 xff0c 当然我对源文件稍做了一些内容的增加 xff0c 就是把遇到的问题及解决方案也加上了
  • [ASP.NET] 实现客户端浏览服务端目录的页面

    由于项目需要制作程序发布的网站 xff0c 需要手动选择服务端目录下的文件夹和文件 故制作该页面 xff0c 并打算转为UserControl 页面代码 xff1a AppFileSelect aspx 1 lt 64 Page Langu
  • CSP-S 模拟53

    中下游水准 xff0c 暴力分没拿全 xff0c T1水了 T1 u 两个差分数组水掉 xff08 竖着一个 xff0c 斜着一个 xff09 T2 v 状压 43 记忆化搜索 xff0c 对于sta 61 1 lt lt 30 用hash
  • CSP-S 模拟52

    rank10 T1 平均数 二分答案 xff0c 让所有的数减去这个答案 xff0c 求前缀和 xff0c 然后验证子序列平均数比这个答案小的的个数是否等于K 只需要找前缀和的逆序对个数即可 xff08 归并排序 xff09 T2 涂色游戏
  • 抓取Android崩溃日志

    作为一个测试人员 xff0c 特别是安卓的测试 xff0c 由于系统版本的不同和手机本身各个品牌的优化和硬件的不同 xff0c 会出现各种各样的崩溃 记录崩溃的方式有很多种 xff0c 比如使用录屏工具或文档进行记录 xff0c 但是最简洁
  • oracle给用户赋dblink权限

    create database link 别名 xff08 可任意起 xff09 connect to 需要连接库的用户名identified by 需要连接库的用户名 using 39 DESCRIPTION 61 ADDRESS LIS
  • 前端间隔查询的两种方法:Debounce和Throttle

    Debounce 中文名 xff1a 防抖 在开始操作了之后 xff0c 那么只有在一段 delay 时间段后不再有操作了 xff0c 才执行操作 Throttle 中文名 xff1a 节流 在开始操作之后 xff0c 在 delay ms
  • tcpdump指定IP和端口抓包

    如下指定抓www baidu com 并且80端口的包 保存到test cap 可以在Windows下面用wireshark打开 tcpdump 39 port 80 and host www baidu com 39 w test cap
  • codevs4438 YJQ Runs Upstairs

    Description 学校科技楼一共有 N 层 而神犇YJQ每天都在科技楼 N 楼的机房写代码 这天 他准备从科技楼 1 楼爬到 N 楼 有个 M 连接不同楼层的楼梯 爬每个楼梯需要一定的体力值 楼梯一定是从低处通往高处的 但是由于楼房的
  • linux下如何查看服务器的硬件配置信息

    性能测试时一定要确定测试环境和的硬件配置 软件版本配置 xff0c 保证和线上一致 xff0c 才更接近真实环境 那么linux下如何查看服务器的硬件配置信息 xff1f xff1f 一 查看cpu信息 1 所有信息 lscpu root
  • 转:如何查找别人论文(计算机类文献)中实验的代码?

    最近看计算机类文献 xff0c 想看看别人论文中实验是如何做出来的 xff0c 请问如何查找别人论文中实验的代码 1 如果这论文很老 xff0c 论文里的算法在该领域有举足轻重的地位 那么网上很可能有工具包 例如我做的机器学习方向 xff0
  • Pytorch-属性统计

    引言 本篇介绍Pytorch属性统计的几种方式 统计属性 求值或位置 normmean sumprodmax min argmin argmaxkthvalue topk norm norm 与 normalize norm指的是范数 xf
  • 高性能异步爬虫

    背景 其实爬虫的本质就是client发请求批量获取server的响应数据 xff0c 如果我们有多个url待爬取 xff0c 只用一个线程且采用串行的方式执行 xff0c 那只能等待爬取一个结束后才能继续下一个 xff0c 效率会非常低 需
  • [operator]deepin 卸载自带搜狗输入法后,输入法消失

    解决这个问题我先是升级了官方的im config套件 xff0c 升级后发现并没有什么用 xff0c 然后使用以下方式 xff0c 做个记录 命令行操作 删除搜狗的残留文件 cd config rm rf SogouPY users rm
  • DPK

    一 概念 dpk文件是Delphi的包文件 xff0c 有dpk文件的组件安装比较方便 一般来说 xff0c 支持不同版本Delphi的组件会有不同的dpk文件 xff0c 一般以7结尾的dpk文件是支持Delphi 7的 如果没有支持De
  • TCP/IP协议栈概述及各层包头分析

    一 摘要 对之前几篇博文涉及到的网络通信协议进行分析 xff0c 概述出TCP IP的协议栈模型 xff0c 最后根据实例对各层包头进行分析 二 标准TCP IP协议栈模型 标准TCP IP协议是用于计算机通信的一组协议 xff0c 通常被

随机推荐

  • 2范数和F范数的区别

    2范数和F范数是不同的 2范数表示矩阵或向量的最大奇异值 xff0c max svd X 而 F范数表示矩阵所有元素平方和的开方根 sqrt x i j X x i j 2 转载于 https www cnblogs com yinwei
  • 网络钩子webhook

    网页开发中的网络钩子是一种通过自定义回调函数来增加或更改网页表现的方法 webhook 发布订阅模式 xff0c 与api不同的是 xff0c webhook无需发送请求即可收到监听地址发布的消息 主要用途 xff1a 更新客户端
  • free -g 说明

    free g 说明 xff1a free g 43 buffers cache 说明 xff1a buffer 写缓存 xff0c 表示脏数据写入磁盘之前缓存一段时间 xff0c 可以释放 sync命令可以把buffer强制写入硬盘 cac
  • Google Drive 里的文件下载的方法

    Google Drive 里并不提供创建直接下载链接的选项 xff0c 但是可以通过小小的更改链接形式就能把分享的内容保存到本地 例如 xff0c 一份通过 Google Drive 分享的文件链接形式为 xff1a https drive
  • 关于虚拟机VMware Tools安装中出现的无法自动安装VMCI驱动程序的问题

    问题 解决方法 根据配置文件信息找到所在的虚拟机位置 找到后缀名为vmx的文件 xff0c 右键打开方式中选择使用记事本打开 选择左上角编辑中的查找功能输入图中的查找内容后 xff0c 点击查找下一个 将其原先的TRUE值改为false即可
  • 人脸识别概念杂记

    Gabor特征 xff1a 通过Gabor变换获取的特征 Gabor变换 xff1a 是在20世纪40年代有Gabor提出的一种利用高斯函数作为窗口函数的加窗傅里叶变换 Gabor变换可以有效的获取空间和方向等视觉信息 xff0c 使得原始
  • 大麦盒子(domybox)无法进入系统解决方案!【简单几步】

    大麦无法进入系统解决方案 xff01 简单几步 前提准备 xff1a 电脑一台盒子控制台软件盒子开机并联网并且盒子和电脑处于同一个路由器下的网络 xff01 前提准备 xff1a 电脑一台盒子控制台软件盒子开机并联网并且盒子和电脑处于同一个
  • 常见开发语言擅长领域

    Python xff1a 机器学习 xff0c 数据科学还有Web开发 JavaScript xff1a Web开发 xff08 前端和后端 xff09 和游戏开发 Java xff1a 移动Android应用程序开发 xff0c 企业应用
  • H3C 维护命令

    一 xff1a 基础维护命令 1 dis version 查看版本 2 dis cu 显示实时配置 3 dis this 显示当前视图下的配置 4 dis interface 显示接口 5 dis mac address 显示mac地址表
  • ROS下利用realsense采集RGBD图像合成点云

    摘要 xff1a 在ROS kinetic下 xff0c 利用realsense D435深度相机采集校准的RGBD图片 xff0c 合成点云 xff0c 在rviz中查看点云 xff0c 最后保存成pcd文件 一 各种bug 代码编译成功
  • SQL在工作中遇到的问题

    多表查询的用法区别varchar类型的时间比大小 多表查询的用法区别 一般对于两张表的查询习惯用 select from a b where a id 61 b id 最近发现也可以使用 select from a inner join b
  • 剑指offer

    目录 第2章 面试需要的基础知识 2 3 数据结构 2 3 1 数组 xff1a 二维数组中的查找 2 3 2 字符串 xff1a 替换空格 2 3 3 链表 xff1a 从尾到头打印链表 2 3 4 树 xff1a 重建二叉树 2 3 5
  • js阻止冒泡事件发生(react)

    其实就两个函数 event MouseEvent event preventDefault span class token punctuation span span class token punctuation span span c
  • 机器学习与深度学习核心知识点总结

    来源 SIGAI 数学 1 列举常用的最优化方法 梯度下降法 牛顿法 xff0c 拟牛顿法 坐标下降法 梯度下降法的改进型如AdaDelta xff0c AdaGrad xff0c Adam xff0
  • H3C STA>PC的数据转发

    转载于 https www cnblogs com fanweisheng p 11574797 html
  • etcd查看集群信息

    查看集群服务端口地址列表 etcdctl endpoints 61 https 192 168 1 65 2379 ca file 61 etc kubernetes ssl ca pem cert file 61 etc etcd ssl
  • Win10提示无法创建新的分区也找不到现有的分区解法

    原文链接 xff1a https www pconline com cn win10 1126 11261093 html 1 格式化整个硬盘 xff0c 重新分区 如果你的硬盘上没有重要数据的话 xff0c 到了分区这一步时 xff0c
  • 数据融合(data fusion)原理与方法

    数据融合 xff08 data fusion xff09 原理与方法 数据融合 xff08 data fusion xff09 最早被应用于军事领域 现在数据融合的主要应用领域有 xff1a 多源影像复合 机器人和智能仪器系统 战场和无人驾
  • 单目运算符-双目运算符-三目运算符

    1 单目运算符 xff1a 只对一个变量进行操作 a 43 43 xff1b 2 双目运算符 xff1a 对两个变量进行操作 xff1b a 61 1 b 61 3 c 61 a 43 b 就是双目运算符 xff1b 3 三目运算符 xff
  • finereport9.0破解版|finereport10.0破解并发数|finereport授权注册|FineBI5.0破解lic

    nereport9 0破解版 finereport10 0破解并发数 finereport授权注册 FineBI5 0破解lic 联系QQ 563471794 详细解密finereport9 0破解版中的报表执行过程 在报表开发工具Fine