精华内容
下载资源
问答
  • bpmn.js 流程基本使用

    2021-04-19 10:28:20
    我们公司的项目需求不是一般的审批流,而是通过构建流程 然后后端通过Flowable流程引擎执行过后给出结果(比如获取参数执行流程然后输出结果 或者中间穿插分支 根据条件走不通分支 输出结果) bpmn的实现机理: ...

    实际项目需求:

    我们公司的项目需求不是一般的审批流,而是通过构建流程 然后后端通过Flowable流程引擎执行过后给出结果(比如获取参数执行流程然后输出结果 或者中间穿插分支 根据条件走不通分支 输出结果)
    

    bpmn的实现机理:

    Flowable和bpmn之间通过协商好的xml格式数据进行沟通. 
    Flowable通过jar包或者自己的api进行解析xml进行流程执行 
    bpmn通过页面拖拽输入输出 生成约定好格式的xml (json转化xml  xml转化json)
    

    参考资料:

    https://juejin.cn/post/6844904017567416328 bpmn中文非官方教程经验
    https://juejin.cn/post/6912331982701592590 自定义文件及自定义属性字段规则
    

    初始化:

    import BpmnModeler from 'bpmn-js/lib/Modeler'; // 引入bpmn文件
    import customTranslate from '@/translate/customTranslate'; // 引入自定义文件配置(英文转中文)
    import 'bpmn-js/dist/assets/diagram-js.css'; // 引入相关样式
    import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css';
    import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css';
    import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css';
    import {onUpdateJson, onGetAll} from '@/services/process';
    import defaultXml from '@/defaultBpmn'; // 引入xml初始化格式(除了节点需要更改其他东西一般不变)
    import {bpmnToObj, objToBpmn} from '@/utils/util'; // bpmn转化json  json转化bpmn方法
    import flowableModdleDescriptor from '@/flowable/index'; // 自定义标签属性(需要严格遵守 不然会出现字段转化的时候类型错误)
    import Elements from '@/palettes'; // 引入自定义节点
    import JsonView from 'vue-json-viewer'; // json转化
    
    
    async mounted() {
        const {uuid} = this.$route.query;
        const res = await onGetAll({processId: uuid});
        const {processJson} = typeof res === 'string' ? JSON.parse(res) : res;
        this.loading = false;
        this.$nextTick(() => {
          this.bpmnModeler = new BpmnModeler({
            container: this.$refs.canvas,
            additionalModules: [{translate: ['value', customTranslate]}, Elements],
            moddleExtensions: {
              flowable: flowableModdleDescriptor
            }
          });
          this.createDiagram(processJson || defaultXml(uuid));  // 初始化流程图
        });
      },
      async createDiagram(xmlStr) {
          try {
            await this.bpmnModeler.importXML(xmlStr);
            this.addEventBusListener();
          } catch (err) {
            console.log(err);
            this.$message.error(err || '数据出错,请联系管理员');
          }
        },
    
    然后根据业务需求 添加节点事件监控(如 获取数据后 开始节点数据如何处理  分支节点和业务节点如何处理)
    节点添加点击事件  节点切换如何区分数据如何在节点来回切换之间保存并转化
    
    展开全文
  • 本人使用pycharm安装的,中间也是一路险阻 1.使用pip install scrapy: 无法安装(如果直接能安装好那就没问题了),查看原因是twisted这个库安装失败。 解决方法1:(失败了,因为本来就是这个库安装失败,单独...

    本人使用pycharm安装的,中间也是一路险阻

    1.使用pip install scrapy:

    无法安装(如果直接能安装好那就没问题了),查看原因是twisted这个库安装失败。

    解决方法1:(失败了,因为本来就是这个库安装失败,单独安装也没成功)

    pip install twisted

    解决方案2:找库文件,自己安装,不过我也没找到Mac的py库文件的查找地

    (附一个window的库文件网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

    2.使用conda install scrapy命令安装:

    可以安装,但是速度超级慢(每次都是电脑待机了,导致安装失败的)

    解决方案:更换国内的py库资源,这里使用清华提供的anaconda镜像,速度真的快

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes

    (一句一句的执行,没啥反应,直接按顺序输入就行了)

    最终解决了,然后就是创建一个爬虫试试了。(这里我就没遇到坑了)

    scrapy startproject tianya
    cd tianya
    scrapy genspider tianya tianya.com

    效果如下图:

    展开全文
  • 中间的选项可以不用操作忽略掉直接下一步到安装结束 3、完成 cmd中输入composer出现下面的信息证明安装结束 4、配置中文镜像 快速down , 不需要的可以忽略这一步 。直接在cmd中输入命令 命令地址 二、...

    一、下载安装composer

    1、composer官方下载地址

    在这里插入图片描述

    2、安装

    中间的选项可以不用操作忽略掉直接下一步到安装结束

    在这里插入图片描述
    3、完成

    cmd中输入composer出现下面的信息证明安装结束
    在这里插入图片描述

    4、配置中文镜像

    快速down包 , 不需要的可以忽略这一步 。直接在cmd中输入命令

    命令地址

    二、laravel应用

    1、安装

    前面文章介绍过这里就不做过多讲解了, 这里记住laravel项目中的所有相对路径都是相对 publiuc/index.php 入口文件定义

    laravel安装

    2、设置首页路由

    文件位置 app/Http/routes.php

    首页路由格式,更多详细介绍 laravel路由使用以及需要注意伪静态的配置

    //这里输出文字
    Route::get('/', function () {
       return '这是首页';
    });
    

    下面示例页面渲染

    页面渲染模版默认存放位置: resources\views\web\index.blade.php
    web.index : web为views下的自定义功能文件夹路径作为区分前台、后台和其他功能使用。web是文件夹 index是视图模版 固定格式后缀.blade.php
    也可以直接在views下面创建index.blade.php
    下面调用格式:return view('index',['name'=>'jack','age'=>30]);

    view(视图模版,参数数组)

    //页面渲染 
    Route::get('/', function () {
        return view('web.index',['name'=>'jack','age'=>30]);
    });
    

    3、妙用中间件

    中间件使用好事半功倍, 建议好好阅读中间件的使用 。当然不用一样不影响开发

    laravel使用全局中间件记录请求日志,局部中间件检测登录实用案例

    4、控制器(重点)

    控制器的创建应用重点讲解

    laravel之Controller学习带参请求、别名设置、中间件应用、RESTful

    5、Http响应

    语法用法这里参照官方最新用法

    laravel6.0 响应中文文档

    6、视图模版

    视图的语法不过多介绍官方很全面很详细。一定要依照官方文档开发

    laravel6.0 视图中文文档

    使用变量方式{{参数}}

    laravel6.0 模本文件中文文档
    //index.blade.php
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>test</title>
    </head>
    <body>
        <h1>admin name: {{$name}}</h1>
        <h1>admin age: {{$age}}</h1>
        
    </body>
    </html>
    

    7、数据库

    针对mysql做介绍

    文件位置:config\database.php

    这里面的env方法是做什么? 为什么不直接写数据库地址?
    env()是laravel的内置方法。这里面主要是读取.env文件的配置信息。如果配置中的参数没有设置,那么就使用第二个默认参数
    所以可以直接在这个位置更改数据库配置信息,但是最好在.env文件中修改配置信息

    database.php:

    //其他配置....
    //mysql
     'mysql' => [
          'driver'    => 'mysql',
          'host'      => env('DB_HOST', 'localhost'),
          'database'  => env('DB_DATABASE', 'forge'),
          'username'  => env('DB_USERNAME', 'forge'),
          'password'  => env('DB_PASSWORD', ''),
          'charset'   => 'utf8',
          'collation' => 'utf8_unicode_ci',
          'prefix'    => '',
          'strict'    => false,
      ],
    //其他配置....
    

    .env文件配置参数:

    ...
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_DATABASE=homestead
    DB_USERNAME=homestead
    DB_PASSWORD=secret
    ...
    
    laravel6.0数据库操作中文文档
    展开全文
  • 使用fiddler抓HTTPS及原理解析

    千次阅读 2019-07-18 22:40:50
    网上已经有许多教程了,大部分都差不多,如果是首次安装并且步骤齐全的话,应该是比较容易抓到HTTPS的。但是我找的教程不全,导致后面踩了很多坑,故记录一下以免后人踩坑。顺便科普了一下HTTPS和中间人攻击,如有...

    网上已经有许多教程了,大部分都差不多,如果是首次安装并且步骤齐全的话,应该是比较容易抓到HTTPS包的。但是我找的教程不全,导致后面踩了很多坑,故记录一下以免后人踩坑。顺便科普了一下HTTPS和中间人攻击,如有误欢迎指出~

    修正:本文中的HTTPS握手过程仅为小白科普所用,旨在用最简单的方式描述整个流程,真实场景要更为复杂,大家如果想要了解更多可以查找相关书籍资料哦。

    首次装fiddler过程

     

    1.官网下载fiddler安装包,并安装。

     

    2.安装完之后,设置fiddler的HTTPS代理,如图,把所需要的勾选上。并且在Connections里面把Allows remote computers to connect。

    Allows remote computers to connect:因为安卓连pc为远程连接,所以要勾选上。

    Capture HTTPS CONNECTs:抓取HTTPS连接。

    Decrypt HTTPS traffic:对HTTPS包解码。

    Ignore server certificate errors:忽略服务器证书错误,勾选了后面就不用自己一个个手动确认啦(当然,这个个人考虑是否选择)

     

     

    3.设置PC浏览器上的HTTPS代理为:127.0.0.1:8888(fiddler默认代理)

    这个我是在cmd里面直接 set https_proxy=127.0.0.1:8888 设置的,如果你没有设置,打开fiddler后它会有提示,点击一下它就会帮你设置了。

     

    4.pc和手机连接同一个局域网,并设置手机的代理为pc的ip以及fiddler的端口号(默认为8888)

    手机的代理设置(安卓):在连接的wifi,长按,然后里面会有代理设置,填上对应的ip和端口号就行了。

     

                                             

     

    5.在手机上安装fiddler证书

    进行了上述配置,在浏览器中打开输入代理服务器IP+:8888,浏览器会打开如下页面:         

                                                                                                                                                                                                                                                       

     

    然后点击下面的FiddlerRoot certificate,安装证书。

     

    6.打开fiddler,在手机上访问https的网页或者程序,fiddlers输出抓包内容,即为成功。

     

    当然了,我肯定没成功,不然我就不会一个晚上都在找为什么不对了。那么上面缺失了什么步骤呢?

     

    失败原因

     

    1.没有使用fiddlercertmaker去生成证书

    安卓和IOS设备无法使用fiddler默认生成的HTTPS拦截证书,要解决这个不兼容问题,要使用此证书生成插件,来生成和IOS/安卓兼容的证书。

     

    2.在发现自己抓不到HTTPS包后,重装,但没有把证书卸载干净

    第一次重装之前,我把手机上的证书卸载了,电脑上的证书没有卸载。包括浏览器上的证书、电脑中的认证证书、还有电脑中保存的关于fiddler使用的RSA生成的东西。导致后面,电脑和手机的证书不一致,无法抓取HTTPS包。

     

    安装fiddler的正确姿势

     

    1.官网下载fiddler安装包,并安装。

     

    2.安装fiddlercertmaker,使用,并重启fiddler,保证fiddler后面生成的证书是由此插件生成的。

     

    2.安装完之后,设置fiddler的HTTPS代理,如上图,把所需要的勾选上。并且在Connections里面把Allows remote computers to connect。

     

    3.在Tools->Options->点击Actions,选择export Root certificates to Desktop,然后把证书导入到浏览器中。以保证浏览器中的证书和手机端的证书是一样的。

     

    3.设置PC浏览器上的HTTPS代理为:127.0.0.1:8888(fiddler默认代理)。

     

    4.pc和手机连接同一个局域网,并设置手机的代理为pc的ip以及fiddler的端口号(默认为8888)。

     

    5.在手机上安装fiddler证书。

     

    6.打开fiddler,在手机上访问https的网页或者程序,fiddlers输出抓包内容,即为成功。(分享一个成功页面)

     

     

    浅析fiddler抓HTTPS包原理

     

    我装了这么久的原因,就是没有意识到电脑端和手机端的证书要一致。如果我理解了fiddler的原理,大概一下子就找到问题所在了。所以在这里,我来分析一下fiddler是怎么做到把https包拿到并解析的。

     

    https协议建立连接过程

     

    要想知道fiddler是如何做到抓https包的,首先我们要来看看https的建立连接的握手过程是怎么样的。https协议,建立连接时使用的是非对称加密(SSL/TSL握手),连接建立起来后传输时使用的是对称加密。最后确认的密钥就是用来对称加密的密钥。下图是建立SSL握手的过程:

                   

                              

      

    流程比较简单,主要复杂的地方在于两个点:client如何通过校验数字证书来确定server是真实可信的?双方到底是如何确定最终使用的密钥的?

     

    数字证书的校验

     

    CA证书内含有:数字签名、hash算法、认证机构、公钥等。

    数字签名:其实质就是server使用私钥加密的一个hash串。

    认证机构:颁发证书的机构,client用此来确认这个证书是有效的。

    整个认证过程是怎么样的呢?

    首先,client拿到证书,检验颁发机构是否可信。若可信,它会用公钥解密数字签名,得到一个hash串A。然后用hash算法加密hash串A,得到hash串B。如果hash串B和数字签名完全相同,说明数字签名没被篡改,server是真正要通信的server,校验通过。

    文字描述有点混乱,它们的关系如下图。

     

                  

     

    密钥的确认

     

    前面的握手握手过程中,有三个神秘的随机数。它们的作用就是用来生成最终的密钥。为什么要用随机数呢?因为本身握手建立过程传输的数据是明文的(除了最后一个随机数用公钥就加密),而多个随机生成的密钥不容易被暴力破解。

    上图中双方确认密钥的过程其实是极度简化了,client和server在这时会互相发一条通知消息和一条用密钥加密的消息。

    通知消息:用来通知对方后续的消息都用密钥加密。

    用密钥加密的消息:双方都会给对方发送第一条用密钥加密的消息,如果对方能够解密出来,说明双方协商的密钥是一致的,握手完成。

     

                             

     

    fiddler抓包原理

     

    如果要简单明了地说明fiddler的角色,只要三个字,伪装者。fiddler在client面前,就伪装成真正的server;在server面前,就伪装成真正的client。它通过在握手过程中的双向伪装,拿到client和server通信用的密钥,这样就能解密得到它们的通信消息了。

    如果要说明fiddler的真正角色,也很简单,fiddler干的事实质就是一个典型的中间人攻击。问题来了,什么是中间人攻击?

     

    中间人攻击

    看一下wiki对中间人攻击的定义:

    中间人攻击(英语:Man-in-the-middle attack,缩写:MITM)在密码学和计算机安全领域中是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。

    仔细瞅瞅,fiddler干的不就是这事吗?(fiddler内心:我冤枉啊!)但问题又来了,这个中间人也不好当,他得骗过client和server,而client又是通过数字证书来校验的,他又是怎么做到的呢?

     

    fiddler充当中间人过程

     

       

     

    过程大概如图示,中间的关键部分说明一下。

     

    fiddler的伪造证书是如何生效的

    当然是我们手动信任的啦。我们在安装fiddler的时候,fiddler会生成证书,这个时候我们就要在手机和pc上自行安装和信任证书,让fiddler当一个合法的中间人。

    这也是fiddler和其他的中间人攻击的不同:真正的中间人攻击,是通过病毒、漏洞等一些不合法的行为在用户端偷偷地装上自己的不合法证书,从而来达到攻击的目的。

    所以呀,大家不要随便连陌生wifi,下载什么乱七八糟的软件,不然很可能会被装上乱七八糟的私发证书哦。

     

    以上就是全部内容啦,感谢观看我的fiddler小白历险记(鞠躬),感兴趣的同学还可以继续找一下怎么使用fiddler的插件willow来配合食用,以及中间人攻击的多种手段,防御方式等等~

     

    展开全文
  • 后来我用dwi的文件(包含四维的.nii.gz、bvec、bval文件),用上面的流程发现中间有个文件生成不了,于是又找了别的方法才搞定。不过结果都是一样的,反正就是生成FA嘛。 1.处理dcm格式文件 格式转换: dcm2nii *....
  • 前言 从 Web 安全的攻击防御方面来说,最多接触的应该就是 Http 协议了...比如,分析某电商在交易支付的时候请求了哪些东西,分析某网站的登录流程都请求了哪些数据,分析某社交软件有没有偷偷的上传隐私数据
  • 从Web安全的攻击防御方面来说,最多接触的应该就是Http...比如,分析某电商在交易支付的时候请求了哪些东西,分析某网站的登录流程都请求了哪些数据,分析某社交软件有没有偷偷的上传隐私数据等等,甚至可以拿到H...
  • Https工作流程

    2020-12-28 23:41:12
    https可以用来防止中间人攻击,整个流程中包含了两种加密方式,对称加密和非对称加密,client给server传送密钥使用的是非对称加密,即4->5的过程;双方正式传输数据使用的是对称加密,即6以后的过程。这两种加密...
  • 文章目录1 摘要2 流程绘制2.1 流程绘制2.2 指定代理人2.3 保存与导出2.4 流程图...一个流程,必须包含一个开始事件,一个结束事件,中间由具体的流程事件组成 流程示例: 学生请假流程: 2.2 指定代理人 每一个流程
  • 刚写题目时发现,现在的分析应该是RNA-seq与ChIP-seq杂合在一起的分析了,为了省事还接着在这个系列写吧。最近有站友发私信建议说把代码跑出来的结果放上,...也可以使用biomaRt进行注释,中间出错尚未解决,有机会再
  • jbpm实例请假流程申请审批

    热门讨论 2013-05-17 14:12:40
    使用jbpm开源工作流开发的一个请假流程实例,包含SSH,数据库用的是SQLServer,数据访问层Hibernate,中间层Sprinng,表现层Struts2,工作流jbpm。
  • shell流程控制语句

    2014-06-09 17:28:00
    linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select)。下面我将通过例子介绍下,各个语句使用方法。 1:在shell 中$() 与 ``等效。执行中间包含的命令...
  • 使用流程 对要打包的资源进行设置 AB.PNG C#脚本不能打成AB,因为C#在Unity中会编译成中间文件。 参数相关 Build的路径(随意只要是在硬盘上都可以的) BuildAssetBundleOptions BuildAssetBundleOptions....
  • 我们学习了MyBatis 的编程式使用的方法,我们再来回顾一下MyBatis 的主要工作流程: 首先在MyBatis 启动的时候我们要去解析配置文件,包括全局配置文件和映射器配置文件,这里面包含了我们怎么控制MyBatis 的行为,...
  • 比特币交易流程总结

    万次阅读 2018-04-10 11:21:08
    比特币交易流程总结 摘要:比特币是一个分布式的点对点网络系统。它被设计成为一种完全通过点对点技术实现的电子现金系统,可以不通过中间任何的金融机构直接由一方发起并支付给另外一方。比特币系统基本单位是UTXO...
  • 使用微信小程序开发工具进行开发,相关工具可以在微信社区下载,具体如何使用使用可以在微信社区进行学习; ...
  • Scrapy的安装方法1: 1.直接使用pip install scrapy安装,不成功可以安装whl格式的. 2.首先下载scrapy的whl ...注:这里是我下载好的,下载时注意根据你的Python的版本选择合适的,名称中间的c...
  • Xcode自动打包(傻瓜式教程)

    千次阅读 2018-04-02 16:26:52
    logo.jpg目录常用打包方式自动打包流程过程图解xcodebuild使用脚本文件解读一个普通的项目,从打包到上传(或导出ipa),耗时基本在10-30分钟或者更长时间,且中间得有人工看守(其实就是Next step),如果通过脚本...
  • 该工作流程已设计为可在UCL Legion超级计算机上运行,​​因此,如果要在其他环境中运行脚本,则很有可能需要对脚本进行一些修改。 可以在ProjectPlan/中以markdown和pdf格式找到该项目的原始项目计划。 目录结构 本...
  • 闲来无事,准备在自己的笔记本上装一个MySQL供日常验证某些技术使用,记录一下安装步骤,供大家参考。 一、下载安装包 俗话说,兵马未行,粮草先动,下载安装包必然是第一步,因为是全英文的网站,截图会多一些,...
  • 最近在学习网络抓相关的知识,回想秋招那会面试网易的时候,被问到抓原理,当时没有回答的太好,所以想记的再好不如实操,所以在家在家就下载了charles这款软件,实际体验了一下网络抓流程中间遇到了几个...
  • java开源1

    千次下载 热门讨论 2013-06-28 09:14:34
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源12

    热门讨论 2013-06-28 10:14:45
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • Java资源01

    2016-08-31 09:16:25
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源101

    2016-07-13 10:11:08
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源11

    热门讨论 2013-06-28 10:10:38
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源2

    热门讨论 2013-06-28 09:17:39
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源3

    热门讨论 2013-06-28 09:20:52
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源6

    热门讨论 2013-06-28 09:48:32
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 357
精华内容 142
关键字:

中间包使用流程