.Net Framework

.net core && python

删除回忆录丶 提交于 2021-01-23 06:07:57
  最近.net core的发展,确实值得激动,强力推荐传教文章《 .NET:持续进化的统一开发平台 》http://www.cnblogs.com/wer-ltm/p/8776846.html   作为使用.net挣钱活口的码农来说,本无法评价微软以及.net本身,但看到.net社区能够成长起来,自然还是美事一桩。不过,从大学还没毕业开始入了webform、silverlight、Winform、Win8 App、WinPhone 8、UAP、WPF,各种折腾和工作机遇的变换莫测之后,最终还是没有了勇气再入UWP的怀抱了,也主要是没有相应的工作机会。现在主要稳定在使用WPF做PC客户端项目、.net core 做Api后台项目。对于情怀还是有的,就是入手了Microsoft Lumia 950,就一直让它处于吃灰状态。📱还是iOS的好,尽管我用的其实是华为Android。   2016年6月多开始,选定了Python作为第二语言之后,基本上到现在也看了几本经典书籍、也买了两本以表真心。最近也用Python写一些项目中的帮助类工具,也做一些数据分析相关的引擎用于项目中。总之一句话,C#||Python Or C#&&Python,无所谓第一第二了。   随着工作职责的变迁,也正式干起了技术经理的行当,越来越对语言和平台,没有那么强烈的维护感了。反正都能用,那个用起来顺手就用那个。

docker 学习(一)什么是Docker

大憨熊 提交于 2021-01-23 04:29:26
项目中用到docker,就学习一下。第一篇是介绍。 Sandboxie(沙箱) :一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用测试不受信任的应用程序或上网行为。 百度上的定义: Docker 是一个 开源 的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现 虚拟化 。容器是完全使用 沙箱 机制,相互之间不会有任何接口。 docker解决什么问题 ?   1.不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。   2.你开发软件的时候用的是Ubuntu,但是运维管理的都是centos

为你的项目启用可空引用类型

那年仲夏 提交于 2021-01-22 13:57:02
为你的项目启用可空引用类型 Intro C# 从 8.0 开始引入了可空引用类型,我们可以为项目启用可空引用类型来借助编译器来帮助我们更好的处理代码中的空引用的处理,可以避免我们写很多不必要 null 检查,提高我们的效率 Why 为什么我们要启用可空引用类型呢,首先我们可以看一下 asp.net core 项目,asp.net core 的项目正在大量的使用可空引用类型,详情可以参考:https://github.com/dotnet/aspnetcore/issues/5680 Updating ASP.NET Core to use C# 8's nullable reference types would: Help ASP.NET Core libraries avoid null reference exceptions internally. It will help us find and prevent our bugs and increase our developer productivity Provide guidance to developers who are using ASP.NET Core about which APIs can accept and return a null reference and which APIs can't

What is 测试金字塔?

感情迁移 提交于 2021-01-22 10:10:05
【答疑解惑 】 | 作者 / Edison Zhou 这是 恰童鞋骚年 的第 271 篇原创内容 我的女朋友是一名测试工程师,但她之前却不知道测试金字塔的概念,为此我曾经在家里的白板上画了一个图一层一层给她讲解过。我和同事在给团队面试测试和开发岗位时,也会必问到这个问题,想到可能有很多开发童鞋都不知道,这里我就用一篇推文给大家科普一下。 1 传说中的金字塔 我们都知道,针对项目的测试有很多分类,比如单元测试、集成测试、组件测试、端到端测试 以及 探索性测试等。那么,测试金字塔其实就是给我们的一个指导,它指导我们要在不同类型的测试工作投入多少的精力是最合适的。 废话不多说,先上图: 测试金字塔示意图(来自波波老师的课程) 从上图中我们可以看到,测试金字塔建议我们: (1) 尽可能地多做单元测试 和 集成测试 ,因为他们的执行速度相较于上层的几个测试类型来说快很多且相对稳定,可以一天多次执行。一般来说,我们都会将单元测试 和 集成测试 做到持续集成构建任务中去,比如放到Jenkins中每天定时执行1~2次,或者每次push代码到git仓库后执行,总之,就是要确保可以频繁执行以确保代码质量。 (2) 尽可能地少做 组件测试、端到端测试 和 探索性测试 ,因为他们的执行速度相较单元测试 和 集成测试 会慢很多,且不够稳定,无法做到一天多次执行,每次执行都要等很久才能获得反馈结果。但是

【编程高手进阶】七:高并发高性能服务器是如何实现的

↘锁芯ラ 提交于 2021-01-22 01:23:09
当在读这篇文章的时候,你想过没有,服务器是怎么把这篇文章发送给你的呢? 说简单也简单,不就是一个用户请求吗?服务器根据请求从数据库中捞出这篇文章,然后通过网络发回去。 说复杂也复杂,服务器是如何 并行处理成千上万个用户请求呢 ?这里面涉及到哪些技术呢? 这篇文章就来为你解答这个问题。 多进程 历史上最早出现也是最简单的一种并处处理多个请求的方法就是利用 多进程 。 比如在Linux世界中,我们可以使用fork、exec等方法创建多个进程,我们可以在父进程中接收用户的链接请求,然后创建子进程去处理用户请求,就像这样: 这种方法的优点就在于: 编程简单,非常容易理解 由于各个进程的地址空间是相互隔离的,因此一个进程崩溃后并不会影响其它进程 充分利用多核资源 多进程并行处理的优点和明显,但是缺点同样明显: 各个进程地址空间相互隔离,这一优点也会变成缺点,那就是进程间要想通信就会变得比较困难,你需要借助进程间通信(IPC,interprocess communications)机制,想一想你现在知道哪些进程间通信机制,然后让你用代码实现呢?显然,进程间通信编程相对复杂,而且性能也是一大问题 我们知道创建进程开销是比线程要大的,频繁的创建销毁进程无疑会加重系统负担。 幸好,除了进程,我们还有线程。 多线程 不是创建进程开销大吗?不是进程间通信困难吗?这些对于线程来说统统不是问题。 什么

.NET斗鱼直播弹幕客户端(2021)

吃可爱长大的小学妹 提交于 2021-01-21 13:00:33
.NET斗鱼直播弹幕客户端(2021) 离之前更新的两篇《.NET斗鱼直播弹幕客户端》已经有一段时间,近期有许多客户向我反馈刚好有这方面的需求,但之前的代码不能用了——但网上许多流传的 Node.js 、 Python 脚本却可以用,这岂能忍?(刚好我终于找回了我的发布密码????)因此我有动力重新对此进行好(xie)好(xie)研(bo)究(ke)。 为何之前的不能用了 重新运行之前的 C# 脚本,发现是在这一行报错的: using var client = new TcpClient(); await client.ConnectAsync("openbarrage.douyutv.com", 8601); // 这里报错 网上查了查,发现斗鱼确实已经 停止 使用 openbarrage.douyutv.com:8601 了。进一步查资料显示,新 url 改成了 danmuproxy.douyu.com ,斗鱼已经统一使用 WebSocket 协议(之前为 TCP 协议),经过进一步对比新协议代码示例,发现协议过程没有任何区别,序列化也依然用的 STT 算法。 私货时间: 我认为斗鱼这样做合理,因为WebSocket性能不差,且不需再为浏览器和第三方接口各自维护两套不同的代码。 具体过程如下: 建立 WebSocket 连接 发送登录请求(可匿名) 加入指定的房间号 每隔45秒

python基础1-转自金角大王

牧云@^-^@ 提交于 2021-01-21 09:43:04
Python之路,Day1 - Python基础1---转自金角大王 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 作业需求 一、 Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 最新的TIOBE排行榜,Python赶超PHP占据第五, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 目前Python主要应用领域: 云计算 : 云计算最火的语言,

Windows 安装PHP-redis扩展

杀马特。学长 韩版系。学妹 提交于 2021-01-21 05:31:39
有没有在Windows上安装了redis但是一直安装不上php-redis扩展的亲呢?来一起学习一波吧!!! 安装之前百度了好大一波呀,楞时没装上。。。 首先查看PHP信息(phpinfo):   PHP Version 5.5.38;   Architecture:x86   Zend Extension Build: API220121212,TS,VC11 重点是:5.5、x86、TS、VC11,   然后下载资源:     https://windows.php.net/downloads/pecl/releases/igbinary/1.2.0/ //找到与你的PHP版本相符的igbinary.dll,根据我的PHP版本我应该使用 php_igbinary-1.2.0- 5.5 -ts-vc11-x86.zip ,注意标红的时PHP的版本号哦,经过多次尝试,不选用这个是不正确的。     https://windows.php.net/downloads/pecl/releases/redis/2.2.7/ //下载php-redis.dll,注意PHP版本号哦。   下载好后把igbinary.dll、 php-redis.dll、 php_redis.pdb放在PHP扩展目录下,在php.ini中加入:      extension=php_igbinary.dll

为你的项目启用可空引用类型

*爱你&永不变心* 提交于 2021-01-21 02:01:40
为你的项目启用可空引用类型 Intro C# 从 8.0 开始引入了可空引用类型,我们可以为项目启用可空引用类型来借助编译器来帮助我们更好的处理代码中的空引用的处理,可以避免我们写很多不必要 null 检查,提高我们的效率 Why 为什么我们要启用可空引用类型呢,首先我们可以看一下 asp.net core 项目,asp.net core 的项目正在大量的使用可空引用类型,详情可以参考:https://github.com/dotnet/aspnetcore/issues/5680 Updating ASP.NET Core to use C# 8's nullable reference types would: Help ASP.NET Core libraries avoid null reference exceptions internally. It will help us find and prevent our bugs and increase our developer productivity Provide guidance to developers who are using ASP.NET Core about which APIs can accept and return a null reference and which APIs can't

.NET 云原生架构师训练营(模块二 基础巩固 Scrum 团队)--学习笔记

时光总嘲笑我的痴心妄想 提交于 2021-01-21 02:01:22
2.7.3 Scrum 团队 理想的环境 团队章程 如何组建 Scrum 团队 产品待办事项列表 用户故事 敏捷开发流程 理想的环境 5-9人 100% 跨职能 在一起 自组织 自组织 目标 授权 沟通 可视化 辅导 奖励 要我做 => 我想做,我要做,我要做好 团队章程 团队价值观:速度与工作时间 工作协议:例如:“就绪”定义,“完成”定义 基础规则:例如:会议规则 团队规范:迟到、冲突 坦诚、高效沟通 包容 相互帮助 简洁、反馈、尊重 如何组建 Scrum 团队 先确定 scrum master 人选,再由 SM 组建其他团队成员 SM 应该由熟悉 scrum 流程和敏捷原理的人担当 根据项目的需要决定团队中要拥有哪些技能 团队中没有 team lead 这样的强势领导 选取能力较强的人作为团队成员 崇尚全栈工程师 产品待办事项列表 用户故事 三个要素 3C 原则 拆分原则 拆分关键点 三个要素 角色:站在用户角度描述需求的一种方式,谁要使用这个功能 活动:从操作场景描述,需要完成什么样的功能 商业价值:为什么要这个功能,带来什么样的价值 典型描述句式:中文:作为一个 XXX <客户角色>,我需要 XXX <功能>,带来 XXX 好处<商业价值> 英文:As a , I want to , so that 3C 原则 卡片(Card):卡片上可能会写上故事的简短描述