新网6月11日电 6月10日,在互联网安全领袖峰会(Cyber Security Summit,简称“CSS”)FP50安全新锐力量俱乐部沙龙上,FP50宣布启动新成员招募和行业优秀案例征集,并计划将征集成果凝练成《2019 FP50互联网安全解决方案白皮书》,于CSS 2019的FP50分论坛上发布。
Future Power50安全新锐力量俱乐部由知道创宇与腾讯安全联合发起。作为安全行业内企业、专家、资本的交流平台,依托腾讯安全开放共享的生态优势,今年CSS 2019的FP50分论坛将在7月31日举办,以“行业新担当,聚力赢未来”为主题,期望促进FP50内部企业间的良性交流,共同探索更多合作空间,同时可以通过FP50的品牌号召力,展示新锐力量的企业实力。
如知道创宇创始人兼CEO赵伟在本次沙龙上所说:“我们的思路是希望能和大家更多地合作,协力推动安全的环境和生态向更良性的方向发展,为客户提供真正有价值的安全解决方案。”
标杆案例经验共享,启迪行业创新成长
FP50一直鼓励成员积极展示自身独特创新的优秀产品和理念,给成员公司作为参考,少走弯路,降低学习成本,从而更好地应对安全创业公司成长中遇到的挑战与障碍,提高抵御风险的能力。因此,本次FP50俱乐部沙龙发起安全解决方案征集,将评选出优秀案例凝练为《2019 FP50互联网安全解决方案白皮书》,计划在CSS 2019的FP50分论坛发布。
围绕优秀案例的评选标准,FP50成员与出席沙龙的安全行业专家展开探讨,从解决方案的应用空间、技术创新性等方面对案例进行考量,期望白皮书能够为安全行业业务的发展树立样本,指引未来安全行业方向,为产业互联网下新锐安全公司的创新带去启示。
集合安全未来力量,共拓行业发展新空间
面对快速增长的信息安全市场和日益多元化的企业安全需求,安全行业需要有新鲜的血液融入,需要创新的安全企业成为未来行业的先锋力量。
2018年的CSS,知道创宇与腾讯安全联合举办FP50分论坛,首创安全界“奥斯卡”颁奖典礼,推选出30支安全新锐力量。FP50对新鲜血液的吸纳与扶持仍将继续,本次FP50俱乐部沙龙就宣布启动新成员招募,向广大安全公司发出邀请,寻找技术创新、服务能力强和拥有独特商业应用模式的企业加入FP50俱乐部,汲取更多的新锐力量,在合作交流中碰撞出更多的价值,共同推动安全行业的升维发展。
由资深行业专家、权威媒体、创投机构等组成的招募评审团队,将秉承开放、公开的原则,根据未来市场空间、商业模式匹配度、客户验证、盈利能力等标准进行多维度考查,审慎的推选出能够代表安全行业未来的新兴力量。最终评审结果将在7月31日举行的CSS 2019的FP50分论坛上揭晓,入围企业也将正式加入FP50安全新锐力量俱乐部。
自2018年于CSS成立以来,FP50安全新锐力量俱乐部一直致力于成为安全企业、专家、媒体、创投等机构的交流平台,探讨安全行业在产业互联网时代的合作共生。FP50希望凭借腾讯安全开放共享的理念与连接聚合生态伙伴的能力,共建安全生态,护航产业互联网升级。
34所自划线院校复试分数线
学校名称 | 复试分数 |
北京科技大学 | https://yzxc.ustb.edu.cn/sssbkzn/sstzgg/e4cdd7bd78de47d9b4ba34b83ab53e73.htmhttps://yzxc.ustb.edu.cn/sssbkzn/sstzgg/bf35aee405074d71bb40b176ed4d27a0.htm |
中国科学院大学(专项计划) | https://admission.ucas.ac.cn/ShowArticle/Article/4c7e0e9f-2311-47a0-8f12-b0ec992078ac/0be7c53f-f0fb-48e2-87d5-fac8e9cfa24b |
首都师范大学 | https://grad.cnu.edu.cn/info/1014/1963.htm |
对外经济贸易大学 | http://yjsy.uibe.edu.cn/cms/infoSingleArticle.do;jsessionid=0766857B48EBA69667FA8B59D0D626F8.TA2?articleId=6618 |
中央财经大学 | http://gs.cufe.edu.cn/info/1050/9152.htm |
中国政法大学 | http://yjsy.cupl.edu.cn/info/1022/7242.htm |
北京第二外国语学院 | https://zs.bisu.edu.cn/art/2022/3/18/art_6204_292927.html |
北京体育大学 | https://zs.bsu.edu.cn/detail/555 |
北京语言大学 | http://yjsy.blcu.edu.cn/art/2022/3/16/art_13250_1166787.html |
中央戏剧学院 | http://web.zhongxi.cn/zsjy/ybzs/14835.html |
外交学院 | https://yjsb.cfau.edu.cn/art/2022/3/17/art_460_102203.html |
国际关系学院 | https://yjszs.uir.cn/c/2022-03-16/617974.shtml |
北京城市学院 | https://www.bcu.edu.cn/hwdx/info/1117/1471.htm |
中国音乐学院 | https://yjsy.ccmusic.edu.cn/zsgz/ssyjszs/a56d6c2019ab45e4a8b9a91dca544dde.htm |
中央民族大学 | https://grs.muc.edu.cn/yjsyzsw/info/1065/2893.htm |
北京工业大学 | https://yanzhao.bjut.edu.cn/info/1019/5600.htm |
北京印刷学院 | https://gs.bigc.edu.cn/yjszs/2022nzs/da113f7810884d81ac193e5bcd077340.htm |
北京交通大学 | https://gs.bjtu.edu.cn/cms/zszt/item/2548.html |
华北电力大学 | https://yjsy.ncepu.edu.cn/zsxx/sszsxx/faa8cf8b51d74735bae99d6cab0430e3.htm |
中华女子学院 | http://www.cwu.edu.cn/yjsc/zs/zsxx/51e8f923580844f3a153b3f579048378.htm |
南方科技大学 | https://gs.sustech.edu.cn/#/admission/detail?current_child_id=88&id=120&article_id=2759 |
广州医科大学 | https://yjs.gzhmu.edu.cn/info/1003/6091.htm |
东莞理工学院 | http://zsb.dgut.edu.cn/yjszs/xyjs/zskx/1fu10f1t9ac4f.xhtml |
广州体育学院 | http://grad.gzsport.edu.cn/ViewInfo.asp?iid=577 |
广西医科大学 | https://yjs.gxmu.edu.cn/article/4664.html |
广西大学 | https://yjsc.gxu.edu.cn/info/1086/3285.htm |
广西师范大学 | http://www.yz.gxnu.edu.cn/2022/0315/c4626a232711/page.htm |
广西艺术学院 | https://zsb.gxau.edu.cn/yjszs/tzgg1/content_278422 |
燕山大学 | https://zsjyc.ysu.edu.cn/info/1254/4046.htm |
东北林业大学 | https://yz.nefu.edu.cn/info/1025/2402.htm |
华中农业大学 | https://yjs.hzau.edu.cn/info/1025/7703.htm |
湖北文理学院 | http://yjsc.hbuas.edu.cn/info/1113/4752.htm |
武汉音乐学院 | https://zsks.whcm.edu.cn/info/1104/5507.htm |
湖北中医药大学 | https://yjs.hbtcm.edu.cn/info/1027/4934.htm |
武汉理工大学 | http://gd.whut.edu.cn/zs/tzgg/202203/t20220318_522953.shtml |
华中师范大学 | http://gs.ccnu.edu.cn/info/1075/7569.htm |
湖北美术学院 | https://zjc.hifa.edu.cn/info/1061/1560.htm |
中国矿业大学 | http://yz.cumt.edu.cn/info/1004/1358.htm |
江苏大学 | https://yz.ujs.edu.cn/info/1010/3197.htm |
江苏科技大学 | https://yjsb.just.edu.cn/2022/0318/c7124a303103/page.htm |
南京邮电大学 | http://yzb.njupt.edu.cn/2022/0322/c7797a217337/page.htm |
徐州医科大学 | https://yjs.xzhmu.edu.cn/info/1016/5439.htm |
南京医科大学 | https://yjszs.njmu.edu.cn/2022/0316/c10193a211989/page.htm |
山西大同大学 | https://yjsc.sxdtdx.edu.cn/news-show-747.html |
山西大学 | http://yjszsw.sxu.edu.cn/docs/2022-03/4fabdbe69b7a437eabd49841a1f94469.pdf |
山西财经大学 | http://yjs.sxufe.edu.cn/info/1012/3432.htm |
西安音乐学院 | http://zsb.xacom.edu.cn/info/1006/2018.htm |
山西师范大学 | https://grc.sxnu.edu.cn/info/1021/2776.htm |
西安体育学院 | http://www.xaipe.edu.cn/yjsb/info/1004/2795.htm |
华东理工大学 | https://gschool.ecust.edu.cn/2022/0318/c12708a142115/page.htm |
上海海事大学 | https://yz.shmtu.edu.cn/2022/0314/c8927a174221/page.htm |
上海外国语大学 | http://yz.shisu.edu.cn/52/52/c8765a152146/page.htm |
上海工程技术大学 | https://ge.sues.edu.cn/73/dc/c19716a226268/page.htm |
上海体育学院 | http://yjsc.sus.edu.cn/info/1790/6034.htm |
东华大学 | https://yjszs.dhu.edu.cn/7e/aa/c7128a294570/page.htm |
四川农业大学 | https://yan.sicau.edu.cn/info/1025/7653.htm |
西南财经大学 | https://yz.swufe.edu.cn/web/info/1009/2112.htm |
成都中医药大学 | https://yjs.cdutcm.edu.cn/zsgz/sszs/content_77796 |
中国民用航空飞行学院 | https://grs.cafuc.edu.cn/info/1009/1452.htm |
昆明医科大学 | https://www.kmmc.cn/Pages_320_42992.aspx |
昆明理工大学 | https://www.kmust.edu.cn/info/1166/21574.htm |
陕西科技大学 | https://yjszs.sust.edu.cn/info/1035/2088.htm |
陕西中医药大学 | http://yzb.sntcm.edu.cn/xwdt/84310.htm |
榆林学院 | https://yjsc.yulinu.edu.cn/info/1013/86583.htm |
西北大学 | https://yzb.nwu.edu.cn/info/1009/1375.htm |
长安大学 | https://yzb.chd.edu.cn/2022/0321/c2769a213132/page.htm |
延安大学 | https://yjsc.yau.edu.cn/info/1025/4956.htm |
安徽科技学院 | http://www.ahstu.edu.cn/yjs/info/1083/2751.htm |
合肥工业大学 | http://yjszs.hfut.edu.cn/pub/content.jsp?newsId=07df2a85-52dd-490c-b05a-2ed72e6ebac0 |
西南大学 | http://yanzhao.swu.edu.cn/s/yanzhao/news1/20220317/4735887.html |
中国医科大学 | https://yjs.cmu.edu.cn/info/1002/1720.htm |
辽宁工程技术大学 | http://202.199.224.25/details.jsp?itemid=2331 |
福建医科大学 | https://yjsy.fjmu.edu.cn/2022/0322/c2439a164431/page.htm |
厦门理工学院 | https://yjs.xmut.edu.cn/info/1073/3367.htm |
西藏民族大学 | https://www1.xzmu.edu.cn/yjsc/getcontent?id=72708&url=show |
新疆财经大学 | http://yjsy.xjufe.edu.cn/docs/20220321121816386553.pdf |
新疆大学 | http://gs.xju.edu.cn/info/1149/3820.htm |
想考研的小伙伴可以后台私信小编哦~
免责声明:
①本头条号内提供的所有资源仅供学习交流使用,严禁商用。图文数据来源于网络如有侵权,请联系小编处理
②小编每天花费大量时间和精力整理资料、测试资源,编辑内容,希望得到大家无成本的赞赏,顺手点一下”点赞+在看“就是对小编最大的肯定了
我们的开发工程中经常会使用到各种图,所谓的图就是由节点和节点之间的连接所形成的系统,数学上专门有一个分支叫图论(Graph Theroy)。利用图我们可以做很多工具,比如思维导图,流程图,状态机,组织架构图,等等。今天我要做的是用开源的HTML5工具来快速构造一个做图的工具。
工预善其事,必先利其器。第一件事是选择一件合适的工具,开源时代,程序员还是很幸福的,选择很多。
最终,我选择了jsPlumb,因为它完全开源,使用很简单,用D3的话可能会多花很多功夫。joint.js也不错。大家可以根据自己的需要选择。
下面我们一步一步的来使用jsPlumb来创建我们的流程图工具。
第一步是等待DOM和jsPlumb初始化完毕,类似document.ready()和jquery.ready(), 要使用jsPlumb, 需要把代码放在这个函数里:
jsPlumb.ready(function()?{ ????//?...?your?code?goes?here?... }
创建一个jsPlumb的实例,并初始化jsPlumb的配置参数:
//Initialize?JsPlumb var?color?=?"#E8C870"; var?instance?=?jsPlumb.getInstance({ ????//?notice?the?'curviness'?argument?to?this?Bezier?curve.??the?curves?on?this?page?are?far?smoother ????//?than?the?curves?on?the?first?demo,?which?use?the?default?curviness?value.?????? ????Connector?:?[?"Bezier",?{?curviness:50?}?], ????DragOptions?:?{?cursor:?"pointer",?zIndex:2000?}, ????PaintStyle?:?{?strokeStyle:color,?lineWidth:2?}, ????EndpointStyle?:?{?radius:5,?fillStyle:color?}, ????HoverPaintStyle?:?{strokeStyle:"#7073EB"?}, ????EndpointHoverStyle?:?{fillStyle:"#7073EB"?}, ????Container:"container-id" ?});
这里给给出了一些配置包括,连接线(这里配置了一个贝塞尔曲线),线的风格,连接点得风格。Container需要配置一个对应的DIV容器的id。(这里也可以使用setContainer的方法)
下面我们要创建一个节点(node),每一个节点可以用一个DIV来实现。我这里提供了一个函数来创建节点。
function?addNode(parentId,?nodeId,?nodeLable,?position)?{ ??var?panel?=?d3.select("#"?+?parentId); ??panel.append('div').style('width','120px').style('height','50px') ????.style('position','absolute') ????.style('top',position.y).style('left',position.x) ????.style('border','2px?#9DFFCA?solid').attr('align','center') ????.attr('id',nodeId).classed('node',true) ????.text(nodeLable); ??return?jsPlumb.getSelector('#'?+?nodeId)[0]; }
这里做的事情就是创建了一个DIV元素,并放在对应的容器的制定位置上,注意为了支持拖拽的功能,必须使用position:absolute 。
我使用D3来操作DOM,大家可能会更习惯JQuery,这纯属个人喜好的问题。
最后返回创建节点的实例引用,这是的selector使用了jsPlumb.getSelector()方法,它和JQuery的selector是一样的,这样用的好处是你可以使用不同的DOM操作库,例如Vanilla
下面我使用一个函数来创建端点/锚点(anchor),锚点就是节点上的连接点,用于连接不同的节点。
function?addPorts(instance,?node,?ports,?type)?{ ??//Assume?horizental?layout ??var?number_of_ports?=?ports.length; ??var?i?=?0; ??var?height?=?$(node).height();??//Note,?jquery?does?not?include?border?for?height ??var?y_offset?=?1?/?(?number_of_ports?+?1); ??var?y?=?0; ??for?(?;?i?<?number_of_ports;?i++?)?{ ????var?anchor?=?[0,0,0,0]; ????var?paintStyle?=?{?radius:5,?fillStyle:'#FF8891'?}; ????var?isSource?=?false,?isTarget?=?false; ????if?(?type?===?'output'?)?{ ??????anchor[0]?=?1; ??????paintStyle.fillStyle?=?'#D4FFD6'; ??????isSource?=?true; ????}?else?{ ??????isTarget?=true; ????} ????anchor[1]?=?y?+?y_offset; ????y?=?anchor[1]; ????instance.addEndpoint(node,?{ ??????uuid:node.getAttribute("id")?+?"-"?+?ports[i], ??????paintStyle:?paintStyle, ??????anchor:anchor, ??????maxConnections:-1, ??????isSource:isSource, ??????isTarget:isTarget ????}); ??} }
instance是jsPlumb的实例
node是我们用addNode方法创建的Node实例
ports,是一个string的数组,指定端点的个数和名字
type,可能是output或者input,指定端点的种类,一个节点的输出端口可以连接另一个节点的输入端口。
这里anchor是一个四维数组,0维和1维分别是锚点在节点x轴和y轴的偏移百分比。我这里希望把端口画在节点的左右两侧,并按照端口的数量均匀分布。
最后使用instance.addEndpoint来创建端点。注意这里只要指定isSource和isTarget就可以用drag&drop的方式来连接端点,非常方便。
下面一步我们提供一个函数来连接端点:
function?connectPorts(instance,?node1,?port1,?node2?,?port2)?{ ??//?declare?some?common?values: ??var?color?=?"gray"; ??var?arrowCommon?=?{?foldback:0.8,?fillStyle:color,?width:5?}, ??//?use?three-arg?spec?to?create?two?different?arrows?with?the?common?values: ??overlays?=?[ ????[?"Arrow",?{?location:0.8?},?arrowCommon?], ????[?"Arrow",?{?location:0.2,?direction:-1?},?arrowCommon?] ??]; ??var?uuid_source?=?node1.getAttribute("id")?+?"-"?+?port1; ??var?uuid_target?=?node2.getAttribute("id")?+?"-"?+?port2; ??instance.connect({uuids:[uuid_source,?uuid_target]}); }
node1和node2是源节点和目标节点的引用,port1和port2是源端口和目标端口的名字。
使用instance.connect方法来创建连接。 overlays用来添加连接线的箭头效果或者其他风格,我这里没有使用,因为觉得都不是很好看。大家如果要用,只要把overlays加入到instance.connect的方法参数就可以了。
调用以上方法来创建节点,端点和连接线。
var?node1?=?addNode('container-id','node1',?'node1',?{x:'80px',y:'20px'}); var?node2?=?addNode('container-id','node2',?'node2',?{x:'280px',y:'20px'}); addPorts(instance,?node1,?['out1','out2'],'output'); addPorts(instance,?node2,?['in','in1','in2'],'input'); connectPorts(instance,?node1,?'out2',?node2,?'in');
这里我们创建了两个节点,第一个节点有两个输出端口,第二个节点有三个输入端口,然后把第一个节点的out2端口连接到第二个端点的in端口。效果如下:
最后我们给节点增加drag&drop的功能,这样我们就可以拖动这些节点来改变图的布局了。
instance.draggable($('.node'));
这里似乎依赖于JQuery-UI,我还不是很清楚。
我们已经初步具有了创建图的功能,可是节点的创建必须通过程序,我们希望用交互的方式来创建节点。
通常我们希望有一个tree view的控件,让后通过拖拽来创建对应类型的节点。这里我使用了这个开源的tree view,基于bootstrap https://github.com/jonmiles/bootstrap-treeview
我们先创建一个tree view:
function?getTreeData()?{ ??var?tree?=?[ ????{ ??????text:?"Nodes", ??????nodes:?[ ????????{ ??????????text:?"Node1", ????????}, ????????{ ??????????text:?"Node2" ????????} ??????] ????} ??];? ??return?tree; } //Initialize?Control?Tree?View $('#control-panel').treeview({data:?getTreeData()});
树上有两个节点:
然后我实现从树上拖拽对应的节点,到流程图上的逻辑。
//Handle?drag?and?drop $('.list-group-item').attr('draggable','true').on('dragstart',?function(ev){ ??//ev.dataTransfer.setData("text",?ev.target.id); ??ev.originalEvent.dataTransfer.setData('text',ev.target.textContent); ??console.log('drag?start'); }); $('#container-id').on('drop',?function(ev){ ??//avoid?event?conlict?for?jsPlumb ??if?(ev.target.className.indexOf('_jsPlumb')?>=?0?)?{ ????return; ??} ??ev.preventDefault(); ??var?mx?=?''?+?ev.originalEvent.offsetX?+?'px'; ??var?my?=?''?+?ev.originalEvent.offsetY?+?'px'; ??console.log('on?drop?:?'?+?ev.originalEvent.dataTransfer.getData('text')); ??var?uid?=?new?Date().getTime(); ??var?node?=?addNode('flow-panel','node'?+?uid,?'node',?{x:mx,y:my}); ??addPorts(instance,?node,?['out'],'output'); ??addPorts(instance,?node,?['in1','in2'],'input'); ??instance.draggable($(node)); }).on('dragover',?function(ev){ ??ev.preventDefault(); ??console.log('on?drag?over'); });
这里要注意的是要避免和jsPlumb拖拽端点的逻辑冲突,当检测到target是jsPlumb对象是需要直接从drop方法中退出以执行对应的jsPlumb的drop逻辑。
好了,一个绘制流程图的软件工具初步完工。
我把代码放在oschina的代码托管服务上了, 大家有兴趣可以去试试。
*请认真填写需求信息,我们会在24小时内与您取得联系。