.Net Framework

Tungsten Fabric知识库丨更多组件内部探秘

杀马特。学长 韩版系。学妹 提交于 2020-10-07 05:04:31
在上一篇文章中,我们和您一起了解了 vRouter的内部结构和进程 ,今天继续Tungsten Fabric其它组件的内部探秘旅程。 作者:Tatsuya Naganawa 译者:TF编译组 - control内部 - IFMAP-SERVER弃用 在R4.0之后,不建议使用ifmap-server,当前控制节点直接从cassandra接收配置信息。 https://github.com/tungstenfabric/tf-specs/blob/master/deprecating-discovery-4.0.md 话虽如此,但是在内部,它仍然使用ifmap结构来存储vrf、interface、logical-router等的拓扑数据。 为了直接从cassandra中拾取数据,对ifmap客户端进行了一些更改,这些更改由control使用。 https://bugs.launchpad.net/juniperopenstack/+bug/1632470 最初,ifmap客户端包含很多逻辑来从ifmap-server提取数据,但是目前它仅包含一种逻辑,从cassandra获取json文件,并用该数据填充ifmap结构。 https://github.com/Juniper/contrail-controller/tree/R2002/src/ifmap/client https:/

自动化运维-记自动添加客户负责人的工作开发

孤者浪人 提交于 2020-10-07 04:42:15
公司自动开始用钉钉后,企业的相关信息化软件开始使用钉钉上的应用程序。与销售公司相关的就是CRM系统。 CRM系统中客户是私人的,如果想多个人同时负责,需要添加客户负责人。由于公司的特殊性质,客户特别多,经常会有人要求增加客户负责人。每天都有几个小时在做这样的工作。钉钉消息、添加负责人,太繁琐了。 学以致用,开发个工具自动化处理任务。 闲话少说,开干。 设计思路 确认CRM是否有自动添加客户负责人的接口 确认钉钉的审批接口是否可以使用 确认接口数据都能拿到后,后台写个服务即可。 CRM 系统分配用户 1 、采集客户信息 分配客户负责人是通过客户的dataid来处理的,首先需要采集客户信息。幸好以前有定时服务采集客户信息。跳过 2 、分配客户负责人接口 客户负责人分配才是这次的自动化处理的关键,通过查看CRM的API接口。可以实现,按照下面的代码执行即可。 public static void ReqDistributionCustomer( string datatids, string distributionUserIds, string userid, string corpid, string token, Action< string > SuccessCallback = null , Action< string > FailCallback = null ) {

.Net微服务实战之DevOps篇

北城余情 提交于 2020-10-07 04:24:00
技术只是基础   该系列的两篇文章《 .Net微服务实战之技术选型篇 》和《 .Net微服务实战之技术架构分层篇 》都是以技术角度出发描述微服务架构的实施。   如果技术选型篇叙述的是 工具 ,那么架构分层篇讲的就是 技巧 ,而本篇要讨论的就是 原则 。一直以来我会给身边向我探讨问题的人灌输一种理念,没有什么技术银弹,因为我们做的是软件工程,提供的是问题相应的解决方案,不同类型问题的解决方案是存在着本质上的差异。   继续提供之前的源码:https://github.com/SkyChenSky/Sikiro PS:该篇文章与.Net无关,其实主要是沿用前面两篇文章的命名,此外我认为DevOps不是简单的工具使用,应从软件工程角度进行出发。 什么才是优秀的架构设计?   曾经有好几个同行问过我同一个问题:什么才是优秀的架构设计?我一直信奉着 两句话 和 一个定律 : 架构服务于业务,技术服务于架构 康威定律(简单理解成组织架构的设计等同于系统架构的设计)    架构设计 其实就是一种 方案 的 取舍 ,在 有限 的 资源 里(包括但不限人力、时间)能让 团队 顺利的实施技术,同时满足 业务规模 的需要,我认为可以称之为优秀的架构设计,简单来说两个字 合适 架构核心要素   核心的主要5大: 性能、可用性、伸缩性、扩展性、安全性 。   而我们所讨论的微服务,选择了扩展性

excel插件开发,Smartbi免费版安装流程

痞子三分冷 提交于 2020-10-07 01:27:34
excel插件开发,Smartbi免费版安装流程 自动安装 1、安装Microsoft .Net Framework 4.0 Full 2、获取安装介质 插件安装包不包含在标准的产品安装包中,若需对插件进行学习或使用,请到官网进行下载。 3、点击安装介质,弹出安装界面如图: 4、点击 下一步 ,配置安装路径: 5、点击 下一步,检测是否有插件正在被使用: 6、点击 安装,进行安装: 7、安装完成。 插件升级 Excel插件支持在线更新的方式。 系统检测更新 设计、维护用户在每次使用Excel插件登录的时候,会检测服务器插件版本是否有更新; 若服务器上Excel插件有了新版本,则会提示更新,按提示进行更新即可。 手动检测更新 点击工具栏的 更新 按钮,进行更新: 安装环境要求 关于电子表格插件的安装环境要求,详情请参考官网产品在线文档或咨询客服· 关于Smartbi Smartbi强大的数据分析能力,人人可用的自助式BI。简便的操作,专业化的要求不高。可以大范围的应用。使得Smartbi在BI领域独树一帜。 1、下载安装 下载和安装很简单,官网上直接下载。启动软件时会加载数据日志,但是所有操作都在web端。 2、学习教程 激活时会发送一个学习资料包,有功能教学视频,还有学习帮助文档,下载激活时大家留心,记得收藏。除此之外,还有个学习交流的论坛,提问回答好积极,对技术宅来讲是极好的。

Java Web实现文件上传下载功能实例解析

可紊 提交于 2020-10-07 00:48:19
java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1、服:利用ServerSocket搭建服务器,开启相应端口,进行长连接操作 2、服:使用ServerSocket.accept()方法进行阻塞,接收客户端请求 3、服:每接收到一个Socket就建立一个新的线程来处理它 4、客:利用Socket进行远程连接,询问已上传进度 5、客:使用FileInputStream.skip(long length)从指定位置读取文件,向服务器发送文件流 6、服:接收客户端输入流,使用RandomAccessFile.seek(long length)随机读取,将游标移动到指定位置进行读写 7、客/服:一个循环输出,一个循环读取写入 8、示例:以下是具体代码,仅供参考 文件介绍: FileUpLoadServer.java(服务器接收文件类) FileUpLoadClient.java(客户端发送文件类) FinalVariables.java(自定义参数类) SocketServerListener.java(JavaWeb启动Socket操作类) web.xml(配置文件,跟随项目启动) 断点上传(服务端) package com.cn.csdn.seesun2012.socket; import java.io

12个Visual Studio调试效率技巧

泪湿孤枕 提交于 2020-10-06 03:13:12
在这篇文章中,我们假定读者了解 VS 基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果当前程序指针指向一个函数) F10 步过函数(如果当前程序指针指向一个函数) Shift+F11 步出执行的函数 暂停执行 附加到进程 鼠标悬停时快速查看源代码中的元素 调试窗口:局部变量、监视、即时窗口、模块、调用堆栈、异常设置 许多开发人员使用这个功能强大的工具包来处理调试会话。然而, Visual Studio 调试工具提供了更多的功能。下面是一系列Visual Studio调试效率技巧。注意,这些提示和快捷方式已经在的Visual studio 2019 16.6 EN-US版本中进行了验证,验证时 Visual studio 没有安装扩展。 1、运行到光标位置 使用快捷键 Ctrl+F10 ,您可以让调试器运行到光标所在行位置。 2、通过点击鼠标,运行到当前位置 在调试运行的程序时,通过鼠标悬停在当前行的代码上时,出现绿色的符号,可以点击此符号,直接让断点运行到此处。 3、在此处作为下一条要执行的语句 在调试运行的程序时,通过鼠标悬停在当前行的代码上时,通过按住 Ctrl 键转换为将此处作为下一条要执行的语句。它与通过绿色箭头符号运行到这里不同,此功能将会跳过中间的语句

智能搜索模型预估框架Augur的建设与实践

梦想的初衷 提交于 2020-10-05 14:57:48
在过去十年,机器学习在学术界取得了众多的突破,在工业界也有很多应用落地。美团很早就开始探索不同的机器学习模型在搜索场景下的应用,从最开始的线性模型、树模型,再到近两年的深度神经网络、BERT、DQN等,并在实践中也取得了良好的效果与产出。 在美团搜索AI化的过程中,比较核心的两个组件是模型训练平台Poker和在线预估框架Augur。本文主要与大家探讨Augur的设计思路、效果,以及它的优势与不足,最后也简单介绍了一下Poker平台的价值。希望这些内容对大家有所帮助或者启发。 1. 背景 搜索优化问题,是个典型的AI应用问题,而AI应用问题首先是个系统问题。经历近10年的技术积累和沉淀,美团搜索系统架构从传统检索引擎升级转变为AI搜索引擎。当前,美团搜索整体架构主要由搜索数据平台、在线检索框架及云搜平台、在线AI服务及实验平台三大体系构成。在AI服务及实验平台中,模型训练平台Poker和在线预估框架Augur是搜索AI化的核心组件,解决了模型从离线训练到在线服务的一系列系统问题,极大地提升了整个搜索策略迭代效率、在线模型预估的性能以及排序稳定性,并助力商户、外卖、内容等核心搜索场景业务指标的飞速提升。 首先,让我们看看在美团App内的一次完整的搜索行为主要涉及哪些技术模块。如下图所示,从点击输入框到最终的结果展示,从热门推荐,到动态补全、最终的商户列表展示、推荐理由的展示等

Selenium3自动化测试【3】:年度最佳自动化测试工具

微笑、不失礼 提交于 2020-10-05 01:13:07
年度最佳自动化测试工具 2019 年自动化测试工具的排名(不限于功能性测试或性能测试),供读者参考。 1. Selenium Selenium 目前是 B/S 应用程序最流行的开源测试自动化框架。 Selenium 经过十多年的发展,其已成为 Web 自动化测试人员的首选自动化框架,尤其适用于拥有高级编程和脚本编写技能的人员。 Selenium 已成为其他开源测试自动化工具的核心框架,如 Katalon Studio , Watir , Protractor 和 Robot Framework 。 Selenium 支持多种系统环境( Windows , Mac , Linux )和浏览器( Chrome , FireFox , IE 等浏览器)。 它的脚本可以用各种编程语言编写,如 Java , Python , C #, PHP , Ruby 和 Perl 。 测试人员可以灵活地(借助 Selenium IDE 实现录制与回访)使用 Selenium ,也可以通过开发语言( Python 、 Java 等)编写复杂的高级测试脚本来满足各种复杂场景的需要,但其扎实的开发语言基础。 地址: http://www.Seleniumhq.org/ 。 类型:开源。 1. Katalon Studio Katalon Studio 是一款功能强大的测试自动化解决方案,适用于 Web

Azure Monitor(一)Application Insights

允我心安 提交于 2020-10-05 00:37:19
一,引言   Azure Monitor 是 Azure 中的一项完整堆栈监视服务,是一种收集和分析遥测数据的服务。它提供了一组完整的功能来监视 Azure 资源以及其他云中和本地的资源。Azure Monitor 该服务有助于实现云应用程序以及本地资源和应用程序的最大性能和可用性。 它显示了应用程序的执行方式,并可识别应用程序存在的任何问题。 Azure Monitor 会收集两种基本类型的数据 - 指标和日志。 指标表明资源的执行方式,以及使用的其他资源。 日志包含显示资源创建/修改时间的记录。 Azure Monitor 从一系列组件中自动收集数据。 例如:   1,应用程序数据:与自定义应用程序代码相关的数据。   2,操作系统数据:来自托管应用程序的 Windows 或 Linux 虚拟机的数据。   3,Azure 资源数据:与 Azure 资源(如 Web 应用或负载均衡器)的操作相关的数据。   4,Azure 订阅数据:与订阅相关的数据。 它包括有关 Azure 运行状况和可用性的数据。   5,Azure 租户数据:有关 Azure 组织级别服务的数据,例如 Azure Active Directory。 由于 Azure Monitor 是自动系统,因此在创建 Azure 资源(如虚拟机和 Web 应用)后,它会立即从这些源中收集数据。 可通过以下方式扩展

编译器移植到.NET Core失败记录和对.NET未来感想

安稳与你 提交于 2020-10-04 22:52:08
.NET Core 是微软力推的新平台,影响力好像还越来越大。为了对这一行业趋势有所准备,最近把自己搞的编程语言的编译器从 .NET 移植 .NET Core ,以实现跨平台在 Linux 上运行,然而失败了。 原因是 .NET Core 类库中 AppDomain 、 AssemblyBuilder 、 ModuleBuilder 、 ILGenerator 等等缺失了一些很核心的方法或类型,导致无法编译通过。 核心缺少这些无法编译成功,也不能生成最终的二进制文件。那些以前可以在 .NET CLR 上运行的开源语言 .NET Core 对它们来说已经没有了吸引力,现在没有一个跟进到 .NET Core 上,所以也没有办法从开源项目中获得帮助。比如说 Clojure CLR ,我下载了它最新的编译器源码,它还是用 System.Reflection.Emit 命名空间生成 IL 指令。 微软要在 .NET Core 上废弃了 System.Reflection.Emit 那一套东西。我拼命研究的那套生成 IL 的知识要作废了。这让我想到了 Sliverlight 、 XNA 、 Windows Phone 的下场。我辛辛苦苦钻研到的这部分知识又被归零了,让我想到了刷卡时为零 ( 萨卡什维利外号 ) 。 我又想到现在微软现在是用 Roslyn 编译 C# 的,而且 Roslyn