.Net Framework

《全栈工程师 Web 开发指南》

百般思念 提交于 2020-08-19 23:02:14
**《全栈工程师 Web 开发指南》 ========== ========== ========== [作者] (意) Dino Esposito [译者] (中) 李永伦 [出版] 人民邮电出版社 [版次] 2019年03月 第1版 [印次] 2019年03月 第1次 印刷 [定价] 79.00元 ========== ========== ========== 【第02章】 【选择支撑架构】 (P018) 领域模型模式的要点是构建一个完全体现业务领域的行为和流程的面向对象模型。 DDD 愿景中的全部持久化问题都委托给领域服务,尤其是仓库。 (P020) 对于领域模型而言,值类型的角色比很多人想象的重要得多。值类型是更精确地建模真实世界的工具。 【第03章】 【用户体验驱动设计】 (P038) 好的 UI 不一定是好的 UX 。好的 UX 可能是有效的,但可能没那么美观。 (P044) 不管物理层、逻辑层、框架、数据库和技术是什么,对于最终用户而言,软件系统唯一重要的是用户界面,确切地说,是这个应用程序的用户体验和感知速度。 【第04章】 【Web 解决方案的架构选项】 (P053) ASP.NET Core 1.0 最复杂的部分是选择要使用的 .NET CLR 。 DNX 运行时环境 (新的 ASP.NET 运行时) 是一个托管进程,其职责之一就是加载 CLR 。 (P054

web前端和软件测试哪个适合女生?

拜拜、爱过 提交于 2020-08-19 22:56:22
  web前端和软件测试哪个适合女生?   这两个方向的发展前景和职位上升通道分别都是什么呢?各自的优缺点是什么?从长远来看来哪个更适合女生啊,尤其是编程能力渣渣的女生;前端需要学的东西好像很杂的样子,技术更新也快。求了解的人说说看法!谢谢啦!   原有回答已经足够详细,不需要详细列出回答纲要   原有回答拆分:   1、这两个方向的发展前景与职位上升通道分别是什么   2、各自的优缺点   3、从长远角度来看,哪个更适合女生   4、是否会要求编程能力   哪个技术更迭更快,是否适合女生学。   首先介绍下测试行业前景与未来的发展方向:   据业内统计,目前国内软件测试人才缺口至少三十万,在未来5-10年中这一数字还将继续增大。   从业人员主要分布于我国中东部、南部地区,其中北京的测试工程师最多,其次是上海、深圳、成都、广州。   软件测试已经成为最热门的行业之一。   测试的发展方向:   技术岗:   1. 测试开发工程师:   支撑测试部门,一般来说主要负责设计&编写测试部门所需的测试工具,提升测试团队的工作效率 。   2. 自动化测试工程师,通过开源的自动化工具,或者一些商业工具,执行自动化测试,以及确定自动化测试方案等 。   3. 性能测试工程师,对被测软件进行性能分析、风险控制、性能评估、给出调优建议 & 结果 等 。   4. 测试架构师 ,整个测试部

ftp上传工具绿色,ftp上传工具绿色版如何使用?重要文件如何定时备份至ftp服务器?

安稳与你 提交于 2020-08-19 22:09:49
ftp传输工具简介 iis7服务管理工具是一款功能强大的FTP软件,具备极好的交互界面和强大的功能。它支持ftp的 定时上传下载 、 定时备份 、 自动更新 、批量上传下载、ftp多站点管理,在线编辑等功能。同时它还支持支持windows和linux系统服务器的批量操作和管理 ,并且它还可以作为VNC客户端和vps连接的工具,同样支持批量操作。软件体积小、免安装、功能多,非常推荐大家使用。 1. ftp传输工具使用教程 **下载地址: IIS7服务器管理工具 添加ftp服务器信息 操作步骤 第一步:点击主程序图中“上传下载”键; 第二步:点击“ Ftp”; 第三步:点击“添加”; 第四步:在弹出服务器信息框中填写Ftp信息,注意:FIP ip端口、账号、密码为必填项; 第五步:选择需要打开的FTP服务器; 第六步:点击打开,即刻见FTP效果图。 上传文件 操作步骤 第一步:选择需要上传的多个文件(按ctrl键多选),右键点击上传。 第二步:等待文件上传完成。 第三步:上传完成后,右侧窗口就可以查看上传成功后的文件或文件夹。 2.定时上传文件至ftp服务器教程 1.先在电脑上安装Python,勾选Add Python 3.7 to PATH,软件安装后会自动添加环境变量。 根据需要修改python代码。 # -*- coding:utf-8 -*- """ FTP常用操作 """

.NET应用架构设计—面向查询服务的参数化查询设计(分解业务点,单独配置各自的数据查询契约)

偶尔善良 提交于 2020-08-19 22:06:09
阅读目录: 1.背景介绍 2.对业务功能点进行逻辑划分(如:A、B、C分别三个业务点) 2.1.配置映射关系,对业务点配置查询契约(构造VS插件方便生成查询契约) 2.2.将配置好的映射策略文件放在调用端,与服务不耦合 3.Dynamic、Dom动态构造服务端对象(Dynamic、DOM实现动态DOM) 1.背景介绍 现在越来越多的公司都在尝试SOA架构的实践,本人最近也在尝试学习这方面的技术,但是在实践过程中遇到一个问题,我想这个问题也是我们普遍实践者都应该会遇到的问题,问题描述如下: 我们有一个SOA商品(Item)查询接口,这个接口很通用,主要用来支撑日常很多其他系统的大量关于Item的查询,尤其是在高峰期间该服务的压力是很大的;我们站在SOA的角度看这个接口,这个通用的接口解决了众多的查询业务,确实不错,但是我们切换一下角度,站在每一个调用接口的访问端看似乎并不是很满意或者说牺牲了部分性能上的代价,因为我们无法干净利落的只获取当前这个业务点需要的数据项;这个Item 服务接口所返回的数据项必须同时满足所有调用它的业务点,哪怕这次调用我只需要用到Item的三分之一的数据字段都不行,每次都会把不需要的字段都查询出来,不管是返回的性能、查询的性能,其实都是可以通过调整设计来避免的; 以往我们的思路都是集中在服务端,常规做法都是提供了一个能够容纳所有查询客户端需求的数据实体

WPF 开机启动因为触摸初始化锁住界面显示

爷,独闯天下 提交于 2020-08-19 22:05:54
现象是设置 WPF 开机启动的时候,概率界面不显示,进程已经起来,同时占用内存极小。通过 dump 或附加调试可以看到主进程带等待触摸线程的回应 在我的某个有趣的设备上,这个设备开机启动的时候将会比较慢初始化完成 USB 设备,或者说是 HID 触摸屏设备 此时测试小伙伴告诉我说测试了几百次,会发现有一次某个开机启动的 WPF 应用起不来了 我使用 dnspy 附加调试看到了主线程其实执行了,但是在一个锁里面等待,如下图 实际上的进入锁的代码是没有意义的,需要看是业务上哪里进入了锁 从调用堆栈里面,如下图,可以看到是 PenThreadWorker.WorkerGetTabletsInfo 方法在等待锁 通过 WPF 触摸到事件 可以了解到这是在等待触摸线程执行 这是在 dnspy 断点不够准,实际的代码是 getTablets.DoneEvent.WaitOne(); 也就是这个是在等待一个锁,这个会在什么时候释放,会在 Stylus Input 线程执行完成之后释放,那么 Stylus Input 线程在做什么呢 这个 Stylus Input 线程在等待触摸消息,这就有趣了。主线程在等待触摸线程执行获取 Tablet 信息,而触摸线程在等待主线程初始化完成之后可以获取触摸消息 因此主线程等不到触摸线程执行获取触摸信息完成,也就是主线程被锁住

C# 基础知识系列- 17 实战篇 编写一个小工具(1)

三世轮回 提交于 2020-08-19 20:52:13
0. 前言 这是对C# 基础系列的一个总结,现在我们利用之前学到的知识做一个小小的工具来给我们使用。 如果有看过IO篇的小伙伴,应该有印象。当时我提过一个场景描述,我们在平时使用系统的时候,经常会为了找某个文件的位置而烦恼。那么我们现在尝试写一个控制台程序来帮助我们找文件的具体位置。 1. 分析 好,大家应该初步了解了需求内容。然后让我们来做一个简单的需求分析: 简单分析一下需求包括哪些功能点 规划各个功能点的实现方式 嗯,理论上讲还有一大堆的步骤,但因为是个练手的小项目就不扯那么多没用的了。简单来讲就是,分两步: 抓取系统可以访问的所有文件,并保存其全路径 根据输入的参数查询文件的全路径 需求分析完了,然后寻找可以实现的技术,我们现有的技术有IO、文件/路径操作、任务模式等技术,那么可以供我们选择的技术一目了然了:通过文件/目录/路径API访问所有的文件目录,使用字典保存,然后使用Linq查询文件所在目录。 OK,需求分析完了,技术也确认了。那么我们现在开始吧,小伙伴们跟紧了哦,车速不快的。 2. 开始 这里简单演示一下如何用Rider和VSCode、Visual Studio2019创建项目。 2.1. 创建一个名为 FileFinder的项目 a.使用Rider: 点击箭头所指方向: 先在左侧选择Console Application,然后修改 Project name

C# 数据操作系列

你。 提交于 2020-08-19 20:43:50
0. 前言 前言,暂时挥别NHibernate(虽然我突然发现这玩意还挺有意思的,不过看得人不多)。大步进入了有很多小伙伴向我安利的SQLSugar,嗯,我一直叫SugarSQL,好像是这个吧? 这是一个由国内开发者开发的ORM框架,是一个轻量级框架(最新版的sqlSugarCore大概只有290kb)。下图是sqlSugar的功能描述: 从图中我们能够大概看出,SqlSugar的使用需要预先创建一个SqlSugarClient对象。SqlSugar在此基础上添加了CRUD、实体信息维护(映射关系)、配置(AOP/过滤器等)、模式(DbFirst、CodeFirst)还有一些工具类等。可以看到这是一个简而全的框架。 同时,SqlSugar也为查询进行了进一步的扩展,以下是它支持的功能,以及在查询上的增强: 好了,废话不多说,先来试一下如何使用吧。 1. 安装 本节环境是dotnet + vscode。因为我的Rider过期了,懒得折腾。系统又是Linux,所以选择这种方式。至于Visual Studio和Rider的操作,十分简单,而且之前《C#基础系列16》里有过介绍。 先建一个解决方案,名字为DataProvider: dotnet new sln --name DataProvider 然后创建一个SqlSugarDemo的控制台项目: dotnet new console

.NET应用架构设计—面向查询的领域驱动设计实践(调整传统三层架构,外加维护型的业务开关)

梦想与她 提交于 2020-08-19 17:38:18
阅读目录: 1.背景介绍 2.在业务层中加入核心领域模型(引入DomainModel,让逻辑、数据有家可归,变成一个完整的业务对象) 3.统一协调层Application Layer(加入协调层来转换DomianModel) 4.从数据扁平结构转换成OO体系结构(使用OO丰富代码结构) 5.DomainModel中的内容(带开关的Specification、SOA化的Specification) 6.模式、重构、单元测试在领域模型中的运用 1.背景介绍 由于时间关系废话不多扯了,直奔主题,对领域驱动设计不是太了解的朋友请先熟悉相关主题或参考本人以下两篇文章: .NET领域驱动设计—初尝(疑问、模式、原则、工具、过程、框架、实践) ,这篇文章对领域驱动设计的基本精神详细分析; .NET领域驱动设计—实践(穿过迷雾走向光明) ,这篇文章对领域驱动设计的一个基本实践,记录下了实践过程、建模的技巧等内容; DomainModel是由很多细粒度的Object组成,按照以往的教训(将Object行为、数据肢解,得到一个残缺的Object),现在我们将逻辑行为和数据绑定在一起,形成了一个丰富的领域模型,这也是面向对象设计原则之一;想了解更多关于实现面向对象的技巧请参考 【《实现模式》作者:Kent Beck】 一书;

C# dotnet 提示找不到 CompositionContainer 类的解决方法

最后都变了- 提交于 2020-08-19 17:06:15
在构建提示 Error CS0012 和 Error CS0246 说找不到 CompositionContainer 类,原因是没有引用 System.ComponentModel.Composition 库 在构建的时候有如下提示 0>MainWindow.xaml.cs(51,59): Error CS0246: The type or namespace name 'CompositionContainer' could not be found (are you missing a using directive or an assembly reference?) 0>MainWindow.xaml.cs(51,35): Error CS0012: The type 'CompositionContainer' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 原因是没有引用 System.ComponentModel.Composition

asp dotnet core 不正经的提升效率的单元测试方法

妖精的绣舞 提交于 2020-08-19 16:58:29
在写 asp dotnet core 时,如果没有单元测试保证,需要每个方法都从 web api 的入口开始运行,此时的执行效率是很低的。而如果写单元测试,又有一个坑的问题是写单元测试也是需要时间的。本文告诉大家一些提高效率的方法,这些方法不是正经的用法,但是能提升效率。至于能不能用好不好用就请观众老爷自己决定 CUnit 中文命名单元测试 在写单元测试时,小伙伴说需要让单元测试的方法名符合 条件_执行_结果 而要求这个方法命名为英文,我的英文就超级渣,这一点 少珺 小伙伴可以帮我证明。于是你会看到我写了以下的测试 WhenABuDengYuThree_DokanarkelawNinirahajairi_SetSlj 的命名,而如果要我优化这个单元测试的命名,大家都知道,有些小伙伴和我一样想一个好的命名可能占了开发的一半时间 写单元测试时,大量的单元测试方法命名将会占用大量的时间,让小伙伴不愿意写单元测试。或者写出来的单元测试的只有自己能读懂 在一个团队里面的,如果英文水平参差不齐,如我所在的团队有英文特别厉害的 walterlv 和 天龙 也有英文特别差国语也特别差的大壮哥,还有英文有毒的本渣。此时用英文命名的单元测试就是一个神坑,除非团队能成立一个改名部专门协助命名 一个解决方法是干脆用中文命名单元测试算了,请看下面单元测试 [TestClass] public class