Framework

旧 WCF 项目迁移到 asp.net core + gRPC 的尝试

送分小仙女□ 提交于 2020-08-15 07:49:17
一个月前,公司的运行WCF的windows服务器down掉了,由于 AWS 没有通知,没有能 第一时间 发现问题。 所以,客户提出将WCF服务由C#改为JAVA,在Linux上面运行;一方面,AWS对Linux有较多的监控措施,另一方面,假如出现问题,可以设置自动重启等服务。 老旧的WCF服务 目前WCF服务,主要提供windows桌面软件的 数据接口 ,应该有五六年的历史了。我进入公司后,WCF服务的代码,一直由我一个人来维护。存在很多 历史遗留问题 ,也有 不同版本 的共存。 如果java重写的话,其中的业务逻辑代码,难免会出现各种各样的bug,增加开发和测试的工作量。听说,要移植到linux服务上后,第一时间想到的就是 跨平台 的 .net core 。 .net core 经过了四年的发展,到目前的 3.1 LST版本,已经是 非常成熟 的跨平台解决方案了。 之后,我就在网上查找,有没有WCF的.net core 版本,查询到的信息总结如下: Core WCF不打算做WCF到.NET Core的100%兼容的移植; 对于新应用程序,WCF这种SOAP技术不建议使用; 对于老的应用程序,建议将这些保留在.NET Framework上; 如果您真的想将一个旧的应用程序迁移到.NET Core并且想继续使用WCF和WF, 社区的开源项目也是可以的

话说Laravel7便捷的字符串操作

假如想象 提交于 2020-08-15 03:56:09
话说Laravel7便捷的字符串操作 用过Laravel的朋友都知道,Laravel内置的字符串处理函数有了解,Illuminate\Support\Str类。 Laravel 7 现在基于这些函数提供了一个更加面向对象的、更加流畅的字符串操作库。你可以使用 String::of 创建一个 Illuminate\Support\Stringable 对象,然后基于该对象提供的方法以链式的操作对字符串进行处理: 这里我们先看一下官方的实例: return (string) Str::of(' Laravel Framework 6.x ') ->trim() ->replace('6.x', '7.x') ->slug(); 上面的代码,来自官网发行说明,我们很容易看到,每个方法都是干嘛的。 首先第一步将字符串 Laravel Framework 6.x 使用 Str::of() 方法进行包裹,之后我们就可以使用 Laravel 7 为我们提供的各种流畅的操作方法。 比如 trim() 去除前后空格。 replace() 进行替换,slug() 将字符串变成 slug 的形式 上面的代码实际运行结果就是: laravel-framework-7x 上面的方法是不是用起来非常简单? 接下来我们介绍几个常用的方法。 before() 方法 返回字符串中给定值之前的所有内容: Str:

Django快速开发实践:Drf框架和xadmin配置指北

心不动则不痛 提交于 2020-08-14 20:55:52
步骤 既然是快速开发,那废话不多说,直接说步骤: 安装Djagno 安装Django Rest Framework 定义models 定义Rest framework的serializers 定义Rest framework的viewsets 配置Rest framework的router 配置管理后台admin 根据需要写template和对应的view 经过这些步骤就能得到一个具备完整的后端接口和后台管理界面的网站了,如果写了template的话还能把前端的工作也做了。 接下来按照上面提到的顺序记录一下我的开发实践。 定义models 好像没啥好说的,Django3多了几个新的特性,可以用class来定义choices,这个比以前的元组定义方便一些,其他的好像没什么了,对了,定义ManyToMany最好设置一个related_name,方便以后在代码里做反向查询。 定义serializers 这个很简单,只要告诉框架你需要序列化model的哪个字段就好了。 官方文档: https://www.django-rest-framework.org/tutorial/1-serialization/ 代码例子如下: from .models import * from rest_framework import serializers class StudentSerializer

M2.34 Get Product Salable Quantity

99封情书 提交于 2020-08-14 20:20:39
use Magento\InventorySalesAdminUi\Model\GetSalableQuantityDataBySku; class ClassName { private $getSalableQuantityDataBySku; public function __construct( GetSalableQuantityDataBySku $getSalableQuantityDataBySku ) { $this->getSalableQuantityDataBySku = $getSalableQuantityDataBySku; } public function execute(\Magento\Framework\Event\Observer $observer) { $sku = "testsimpleproduct1"; $salable = $this->getSalableQuantityDataBySku->execute($sku); echo json_encode($salable); } } This will give output as: 1 [ { "stock_name" : "Default Stock" , "qty" : 4 , "manage_stock" : true } ] 来源: oschina 链接:

DevExpress XAF框架2020新改变!一篇文章带你看完

只愿长相守 提交于 2020-08-14 13:19:53
专注于您的业务需求,让 eXpressApp框架 处理所有的日常任务。不用理会数据库和用户界面管理的复杂性。eXpressApp框架会根据您的业务模式,自动完成这些任务……不管您需要将您的业务模式改变多少次。利用DevExpress备受赞誉的WinForms控件、ASP.NET控件和ORM工具的力量,停止编写千百万行的代码,开始提供解决方案。 DevExpress eXpressApp Framework(XAF)全新发布Blazor Server UI (CTP)、核心功能增强等,欢迎下载最新版体验! DevExpress XAF App Framework v20.1正式版下载 Blazor Blazor Server UI (CTP) ASP.NET Core Blazor Server UI (CTP)支持XPO ORM类进行数据访问,并可以帮助您创建对移动设备友好的快速Web应用程序,此预览版为台式机和移动浏览器提供以下功能: 多个UI主题和一个运行时主题选择器; 具有分层树结构的导航控件; 具有所有标准XAF命令类型的菜单(按钮、弹出窗口、输入/搜索框、下拉菜单); 网格列表编辑器,具有排序、分组和分页功能; 具有分组和标签控件的详细表单布局; 所有数据类型的属性编辑器(没有用于条件、RTF等的高级编辑器); 用户界面中具有登录名和密码,基于角色的授权以及基本用户

云计算下一浪潮,腾讯云抢占 Serverless 制高点

☆樱花仙子☆ 提交于 2020-08-14 13:11:33
在 6 月 19 日举办的首届 ServerlessDays 大会中国站上,腾讯云 Serverless 总经理 Yunong Xiao 表示:“过去三年,腾讯云 Serverless 的用户规模、产品下载和调用等每年呈现 10 倍速增长,其中,开发者数更是突破数十万。越来越多的中国企业开始 All in Serverless。作为全球前三大 Serverless 厂商,正在全力通过构建生态、打造社区和解决客户面临的发展挑战,推动 Serverless 技术在全球的应用和发展。” ServerlessDays 是由社区发起、面向开发人员的全球技术会议,大会通过邀请全球顶尖技术专家与开发者一起解读 Serverless 前沿趋势,分享技术落地经验,已经成为洞察 Serverless 技术发展的风向标,并在全球 40 多个城市举办。今年,在腾讯云的推动下,首次来到中国。 作为一种新型的开发架构,Serverless 由于具备低成本、低故障风险、高扩展性以及交付周期短等优势,被认为是继虚拟机和容器之后,第三代通用计算平台。它能够让用户更加聚焦业务本身,而无需关注复杂的服务器配置和管理,包括弹性部署和自动扩容等工作全部交给云厂商,省去了大量的运维操作。但是,当前该技术在真正落地方面还面临成本费用过高、开发支持欠缺以及没有基于业务场景的解决方案等难题。针对这样的挑战,腾讯云基于自身在生态

Android插件化原理解析——Hook机制之动态代理

China☆狼群 提交于 2020-08-14 12:02:49
提示:Java的动态代理非常有用,特别实在Android逆向过程中非常有用,比较典型的两个应用实例就是: 1. xposed框架利用Java的动态代理Hook实现对Https请求信息的打印替代Https抓包的操作。 2. 利用Java的动态代理Hook实现对Android应用的签名进行破解。 总之呢,Java的动态代理Hook真的非常有用,本想自己写博客,后面看到 epic 框架的作者写这篇文章非常好就转载作为记录,解释和版权归原作者,只做学习记录使用,想要获取更多的知识去作者的博客学习。 使用代理机制进行API Hook进而达到方法增强是框架的常用手段,比如J2EE框架Spring通过动态代理优雅地实现了AOP编程,极大地提升了Web开发效率;同样,插件框架也广泛使用了代理机制来增强系统API从而达到插件化的目的。本文将带你了解基于动态代理的Hook机制。 阅读本文之前,可以先clone一份 understand-plugin-framework ,参考此项目的 dynamic-proxy-hook 模块。另外,插件框架原理解析系列文章见 索引 。 代理是什么 为什么需要代理呢?其实这个代理与日常生活中的“代理”,“中介”差不多;比如你想海淘买东西,总不可能亲自飞到国外去购物吧,这时候我们使用第三方海淘服务比如惠惠购物助手等;同样拿购物为例

MVC架构的职责划分原则,对我很有启发,分享一下

北城以北 提交于 2020-08-14 11:49:47
博主 负责一个项目,用了 Yii Framework 的 MVC 框架,刚开始自以为结构很稳健。 但是随着对业务逻辑理解的深入,才开始意识到问题的严重。 我错误地理解了 MVC 中的 Controller ,想当然地根据以往的经验,把所有的业务逻辑都放在 Controller 的 action 中去实现。 于是,每一个 Controller 的 代码都上千行,越来越臃肿 。 最后,我下定决心重构代码,起源是一个对外开放 API 接口的需求。 按照现在的架构,代码基本无法复用,我需要把很多功能再重复写一遍,这实在是无法接受。 面向对象编程不仅仅是课本上的名词啊! 真正开始实践才发现,要有面向对象意识,有全局观,是多么难得的一件事情。 1 、到底什么是 MVC 模型-视图-控制器(MVC)是一种 设计框架(设计模式) 。 MVC 的 目标 是 将业务逻辑从用户界面的考虑中分离 。 这样,开发者就可以更容易地改变每一部分而不会影响其他。 在 MVC 中, Model 代表 数据和业务规则 ; View 包含了 用户界面元素,例如文本,表单 等; Controller 则管理模型和视图中的 通信 。 MVC 在各种编程语言中均有实现,例如 J2EE 应用开发中, View 可能由 jsp 实现;Controller 是一个 servlet,现在一般用 Struts 实现;Model

ACL2020奇葩论文标题大赏

狂风中的少年 提交于 2020-08-14 11:39:03
本文首发于微信公众号【夕小瑶的卖萌屋】 文|灵魂写手rumor酱 编|不拖更的 @夕小瑶 又是一年一度的ACL,之前通过 卖萌屋Arxiv服务 已经零零碎碎看了一些,还是准备刷一下论文list,看哪篇能让我的模型效果一飞冲天。 中奖论文List : https:// acl2020.org/program/acc epted 刷呀刷呀,不是 XXBERT: XXX ,就是 A XX-based XX for XX ,果然NLP人的世界还是那么枯燥无味。 突然,一个标题吸引了我: Two Birds, One Stone: A Simple, Unified Model for Text Generation from Structured and Unstructured Data 等等,Two Birds,One stone,这个模型名怎么感觉有些怪怪的,翻译过来是。。。一石二鸟???用美妙的中华语言来形容自己优秀的文本生成模型,这都可以? 还有没有更奇葩的标题呢?想到这里,我滑动屏幕的手指也开心了起来。 一览标题list后,我发现了很有潜力的一种标题格式,就是 抓人疑问句/陈述句/感叹句+正经介绍 ,就像荣誉提名的 Do not stop pre-training ,先要抓住审稿人/读者的点,再抛出简要介绍,深得标题党的精髓。 按照这个Pattern

WPF dotnet 使用本机映像 native 优化 dotnet framework 二进制文件

夙愿已清 提交于 2020-08-14 11:01:05
在 2017 我在社区问了一个问题,如何让 .NET Framework 的 WPF 等程序使用 .NET Native 构建以提升速度。在 2019.06 的时候,强大的微软提供了一个好用的库,支持将 .NET Framework 的桌面应用构建时添加 native images 本机映像支持 咱可以通过预编译咱的二进制文件来提升 .NET Framework 应用的启动时间。推荐使用技术用来在大型的应用的打包和分发上或上架到微软应用商店。微软官方测试表示这个技术大概能提升 20% 的性能。这项技术用到了 ReadyToRun 技术,详细请看 coreclr/readytorun-overview.md at master · dotnet/coreclr 微软将这个本机映像编译器作为一个 NuGet 库发布,可以从 https://www.nuget.org/packages/Microsoft.DotNet.Framework.NativeImageCompiler 下载。这个库适用于 .NET Framework 大于等于 4.6.2 的应用。这个包的作用是在构建时添加一个步骤,这个步骤的作用是构建本机映像二进制文件。这个优化将会在应用在安装了 .NET Framework 4.7.2 和以上的设备运行时被使用,而之前的版本的设备将继续使用 MSIL 代码执行,换句话说