.Net Framework

龙芯团队完成CoreCLR MIPS64移植,已在github开源

牧云@^-^@ 提交于 2020-08-14 15:36:36
国产龙芯的软件生态之中.NET不会缺席,毕竟 C# 与 .NetCore/Mono 也是全球几大主流的编程语言和运行平台之一,最近一段时间听到太多的鼓吹政务领域不支持.NET, 大家都明白这是某些人为了自己的利益打压使用.NET技术的公司,我今天写这篇文章就是想通过龙芯团队的行动告诉更多人一起来推动.NET技术在中国的发展。希望龙芯厂商、支持龙芯的国产操作系统厂商能高度重视这个问题,主动加入 .Net Core 社区,加入.NET基金会,积极贡献代码,尽快做好适配工作。 龙芯团队一直在做net core的mips64移植工作,2020年6月18日完成了里程碑性的工作,在.NET Core 3.1分支上完成了MIPS64 的移植工作,目前已经在github上开源,开源地址: https://github.com/gsvm/coreclr 。具体说明可以参见 https://github.com/dotnet/runtime/issues/38069 。 龙芯团队正在做移植后的测试工作,已经完成了 9500 多项测试,ASP.NET Core示例程序 FlightFinder 已经可以在MIPS64 上正常运行,具体可以参看 https://github.com/dotnet/runtime/issues/4234 。 龙芯团队还在github上面为龙芯.NET 建立了一个仓库

.Net微服务实战之DevOps篇

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

ubuntu16.04安装XMind

二次信任 提交于 2020-08-14 15:33:23
1.首先下载安装包 https://www.xmind.net/download/xmind8/ 2.下载完之后解压, 3.运行setup.sh安装相应的依赖。 sudo ./setup.sh 4.进入到XMind_amd64文件夹,然后在命令行运行 sudo ./XMind就可以运行了, 5.创建快捷方式 上面的方法每次都要用命令行启动,不方便,用下面的方法可以创建快捷方式 sudo gedit /usr/share/applications/xmind.desktop 将下面的内容复制到里面, [Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Name=XMind Icon=/home/widiot/app/xmind/xmind.png Path=/home/widiot/app/xmind/XMind_amd64 Exec=/home/widiot/app/xmind/XMind_amd64/XMind Categories=Application Terminal=false StartupWMClass=XMind; 然后搜索栏输入XMind就可以找到图标启动了。 来源: oschina 链接: https://my.oschina.net/u/4258176/blog/4494213

Kubernetes如何改变美团的云基础设施?

霸气de小男生 提交于 2020-08-14 15:25:20
本文根据美团基础架构部王国梁在KubeCon 2020云原生开源峰会Cloud Native + Open Source Virtual Summit China 2020上的演讲内容整理而成。 一、背景与现状 Kubernetes是让容器应用进入大规模工业生产环境的开源系统,也是集群调度领域的事实标准,目前已被业界广泛接受并得到了大规模的应用。Kubernetes已经成为美团云基础设施的管理引擎,它带来的不仅仅是高效的资源管理,同时也大幅降低了成本,而且为美团云原生架构的推进打下了坚实的基础,支持了Serverless、云原生分布式数据库等一些平台完成容器化和云原生化的建设。 从2013年开始,美团就以虚拟化技术为核心构建了云基础设施平台;2016年,开始探索容器技术并在内部进行落地,在原有OpenStack的资源管理能力之上构建了Hulk1.0容器平台;2018年,美团开始打造以Kubernetes技术为基础的Hulk2.0平台;2019年年底,我们基本完成了美团云基础设施的容器化改造;2020年,我们坚信Kubernetes才是未来的云基础设施标准,又开始探索云原生架构落地和演进。 当前,我们构建了以Kubernetes、Docker等技术为代表的云基础设施,支持整个美团的服务和应用管理,容器化率达到98%以上,目前已有数十个大小Kubernetes集群

第九节:IdentityServer4简介及客户端模式和用户密码模式的应用

南楼画角 提交于 2020-08-14 15:24:49
一. IDS4简介 1. 什么是IDS4   IdentityServer是基于OpenID Connect协议标准的身份认证和授权程序,它实现了OpenID 和 OAuth 2.0 协议。 2. 相关地址  (1).官网:https://identityserver4.readthedocs.io/en/latest/  (2).GitHub地址:https://github.com/IdentityServer  (2).三方中文文档:http://www.identityserver.com.cn/Home/Detail/Zhengtizongshu 3. IDS4有哪些功能  (1).身份认证服务(官方认证的OpenID Connect实现)  (2).单点登录与注销(SSO)  (3).访问受控的Api 4. IDS4的内部概念 (1).用户-User   使用已注册的客户端(指在id4中已经注册)访问资源的人。 (2).客户端-Client (即第三方应用)   客户端就是从identityserver请求令牌的软件(你可以理解为一个app即可),既可以通过身份认证令牌来验证识别用户身份,又可以通过授权令牌来访问服务端的资源。但是客户端首先必须在申请令牌前已经在 identityserver服务中注册过。实际客户端不仅可以是Web应用程序,app或桌面应用程序

C# WPF 基于Socket的企业聊天软件IM(源码)

我是研究僧i 提交于 2020-08-14 15:07:18
两年前的一个设计,找资料时扒了出来,打开看了一下源码,那个时候的设计真是无框架无模式的设计,但对像QQ这样的聊天软件无疑是一个了解和值得参考的实例,所以大牛 请 绕过,在此跟大家分享一下,希望对正在学习Socket的童鞋们有点帮助,欢迎大家来拍砖,上图: 简介: 1.软件采用C/S模式,服务器基于.NET控制台应用程序,客户端基于.NET WPF,数据库采用SQL Server 2.在通信上采用TCP协议进行信息传递,以服务器转发方式通信,用户注册及密码管理基于B/S(ASP.NET) 3.主要完成了用户注册、用户密码修改、添加好友、删除好友;文字信息转发(支持字体)、抖动窗体、发送图片(支持GIF,但有严重问题) 服务器流程图: 客户端流程图: 实现: 1.发送文字 采用服务器转发方式发送,首先把消息通过相应的协议包装发送到服务器端,再由服务器端转发到指定的客户端,协议如下: 接收号码 字体消息头#Font 字体样式(包括颜色,大小,样式等等) 消息内容 服务器端接收到后按好友号码查找服务器端用户列表(如图服务器工作流程)获取Socket实例如果此好友在线就将信息发送过去 接收方接收到信息以后拆分数据,设置字体,显示消息内容。 2.发送图片 此模式有严重的问题,由于工作时间一直没有对其更新过,如果大家有兴趣可以自行修改,最好不要使用服务器转发模式,而是直接对客户端建立P2P连接。

.Net微服务实战之DevOps篇

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

【翻译】.NET 5 Preview5发布

给你一囗甜甜゛ 提交于 2020-08-14 14:15:10
今天,发布了.NET 5.0 Preview5。主要对它进行了一小部分新功能和性能的改进。 .NET 5.0 Preview 4 包含了一些计划和.NET 5.0要交付的内容。 现在,大多数的功能都已经包含在里面,但是有许多功能还未到最终状态。预计这个版本在Preview 7中完善。 可以下载适用于Windows,macOS和Linux的 .NET 5.0 Preview 5 : Windows and macOS installers Binaries Docker images Snap installer ASP.NET Core 和 EF Core 也在今天发布了 我们需要使用Visual Studio 2019 16.7才能使用.NET 5.0。 安装最新版本的 C#扩展 ,以将.NET 5.0与Visual Studio Code结合使用。 Mac的Visual Studio尚不支持.NET 5.0。 发布说明: .NET 5.0 release notes .NET 5.0 known issues GitHub release GitHub tracking issue RyuJIT改进 对RyuJIT JIT编译器进行了以下改进 新的、更快的、可移植的tailcall helper实现 。 ARM64硬件内部物理的实现进程 实现ASIMD Extract

Android中HttpURLConnection使用详解

半世苍凉 提交于 2020-08-14 14:12:21
Http协议的认识: Android中发送http网络请求是很常见的,要有GET请求和POST请求。一个完整的http请求需要经历两个过程:客户端发送请求到服务器,然后服务器将结果返回给客户端。 GET表示希望从服务器那里获取数据,而POST则表示希望提交数据给服务器。 通过Http访问网络的三个步骤: 1、发送http请求 2、接受服务响应 3、解析返回数据 HttpURLConnection类位于java.net包中,它用于发送HTTP请求和获取HTTP响应。 话不多说,直接上代码: 首先创建一个安卓项目。在xml中编写如下代码: < LinearLayout xmlns : android = "http://schemas.android.com/apk/res/android" xmlns : app = "http://schemas.android.com/apk/res-auto" xmlns : tools = "http://schemas.android.com/tools" android : layout_width = "match_parent" android : layout_height = "match_parent" android : orientation = "vertical" tools : context = "

新一代垃圾回收器ZGC的探索与实践

百般思念 提交于 2020-08-14 13:50:08
很多低延迟高可用Java服务的系统可用性经常受GC停顿的困扰,作为新一代的低延迟垃圾回收器,ZGC在大内存低延迟服务的内存管理和回收方面,有着非常不错的表现。 本文从GC之痛、ZGC原理、ZGC调优实践、升级ZGC效果等维度展开,详述了ZGC在美团低延时场景中的应用,以及在生产环境中取得的一些成果。希望这些实践对大家有所帮助或者启发。 ZGC (The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括: 停顿时间不超过10ms; 停顿时间不会随着堆的大小,或者活跃对象的大小而增加; 支持8MB~4TB级别的堆(未来支持16TB)。 从设计目标来看,我们知道ZGC适用于大内存低延迟服务的内存管理和回收。本文主要介绍ZGC在低延时场景中的应用和卓越表现,文章内容主要分为四部分: GC之痛 :介绍实际业务中遇到的GC痛点,并分析CMS收集器和G1收集器停顿时间瓶颈; ZGC原理 :分析ZGC停顿时间比G1或CMS更短的本质原因,以及背后的技术原理; ZGC调优实践 :重点分享对ZGC调优的理解,并分析若干个实际调优案例; 升级ZGC效果 :展示在生产环境应用ZGC取得的效果。 GC之痛 很多低延迟高可用Java服务的系统可用性经常受GC停顿的困扰。GC停顿指垃圾回收期间STW(Stop The World),当STW时