.Net Framework

2019编程语言排行榜

寵の児 提交于 2020-12-04 15:54:30
TIOBE 7 月份的编程语言排行榜已经公布,官方的标题是 Perl 是Python 热度过高的受害者之一 ,Python 最近确实是挺热的,大家可以看到最近 Python 相关培训课程的广告投放,不管在微信还是网站上都有它们的身影。 Perl 这个语言还是很有历史渊源的,不过现在应该很少人会去学,它最大的优势应该是 强大的正则表达式和模式匹配功能 。 Perl 目前位于 TIOBE 排行榜的第 19 位,这是 Perl 的历史最低点,2005 年的时候是 Perl 的高光时刻,那时候排在整个榜单的第三位。 另外, 7 月排名前十的分别是:Java, C, Python, C++, C#, Visual Basic .NET, JavaScript, PHP, SQL 和汇编语言。和上个月的不同之处主要是 C# 以微弱的优势超过了 Visual Basic .NET 的排名,再次进入 TOP 5,而宇宙语言 PHP 下滑到第八位。 Java 的地位依然稳定,国内应用最大的应该是阿里,它们也出了 Java 开发手册,制定了一些开发规范,很值得学习借鉴。感兴趣的可以去这里下载 https://github.com/alibaba/p3c 。 Python 的指数从上个月的 8.530% 上升到本月的 9.260%,应该还会持续上升。 排名 1-20 的编程语言 排名 21-50

复杂环境下落地Service Mesh的挑战与实践

南笙酒味 提交于 2020-12-04 13:43:31
导读 在私有云集群环境下建设 Service Mesh ,往往需要对现有技术架构做较大范围的改造,同时会面临诸如兼容困难、规模化支撑技术挑战大、推广困境多等一系列复杂性问题。本文会系统性地讲解在美团在落地 Service Mesh 过程中,我们面临的一些挑战及实践经验,希望能对大家有所启发或者帮助。 一、美团服务治理建设进展 1.1 服务治理发展史 首先讲一下 OCTO,此前美团技术团队公众号也分享过很 相关的文章 ,它是美团标准化的服务治理基础设施,现应用于美团所有事业线。OCTO 的治理生态非常丰富,性能及易用性表现也很优异,可整体概括为 3 个特征: 属于公司级的标准化基础设施。技术栈高度统一,覆盖了公司 90% 以上的应用,日均调用量达数万亿次。 经历过较大规模的技术考验。覆盖数万个服务、数十万个节点。 治理能力丰富。协同周边治理生态,实现了 SET 化、链路级复杂路由、全链路压测、鉴权加密、限流熔断等治理能力。 回顾美团服务治理体系的发展史,历程整体上划分为四个阶段: 第一阶段是基础治理能力统一 。实现通信框架及注册中心的统一,由统一的治理平台支撑节点管理、流量管理、监控预警等运营能力。 第二阶段重点提升性能及易用性 。4 核 4GB 环境下使用 1KB 数据进行 echo 测试,QPS 从 2 万提升至接近 10 万,99 分位线 1ms;也建设了分布式链路追踪

防止代码被反编译,来看看都有哪些工具可以帮你

浪尽此生 提交于 2020-12-04 13:33:42
曾经有人说.NET是最容易被反编译的开发语言。其实现如今,在常见的开发语言中,无论是.NET还是Java,甚至人气排名第一的JavaScript都存在容易被反编译的风险,如何保护代码不受窃取,如何应用程序不受破坏,是所有开发人员最为关系的话题。 或许在软件开发的过程中,工程师会寻找一些开源产品以节约成本,但在实际应用、分发授权、许可控制的过程中,仍不希望自己的成果被窃取。“代码保护”、“软件保护”等等这些词的热度一直经久不衰。 其中,最常见的保护方式有“代码混淆”、“代码虚拟化”以及“软件加密”。 代码混淆 : 利用花指令和代码非等价变形等技术,将程序的代码,转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。 虚拟化 : 将指令编译为虚拟代码,放在指定虚拟机中运行,目前对指令有一定的格式要求,有的函数可能不能被保护。 软件加密 : 将代码块作为数据,用许可加密函数存储,程序执行到该函数时验证许可并解密,内存中不会暴露完整的代码块,目前有的函数不可添加到保护中。 无论哪种方法,必然会借助工具来实现,接下来咱们就一起来聊聊软件代码保护的那些工具。这里说几个热议度比较高的,其他欢迎在评论区补充~ 针对软件保护 先说说软件加密保护,也有人会说是加壳保护,加壳实际上就是一种加密方式。这里我们说说VMProtect、WinLicense和Themida。 产品名 界面 亮点

基于jmeter+perfmon的稳定性测试记录

社会主义新天地 提交于 2020-12-04 10:56:00
1. 引子 最近承接了项目中一些性能测试的任务,因此决定记录一下,将测试的过程和一些心得收录下来。 说起来性能测试算是软件测试行业内,有些特殊的部分。这部分的测试活动,与传统的测试任务差别是比较大的,也比较依赖工具,一定程度上性能测试被认为是测试中的“高阶”部分,跟自动化测试、安全测试等并称。 2. 任务情况 2.1 任务总览 本次平台稳定性测试的目的在于:在服务器压力处于较饱和(达到80%系统最大TPS)压力之下,在较长时间(>8小时)之内观测服务器稳定性问题,以及资源使用情况和异常。 2.2 接口情况 本次测试不调用上下游接口,只压测创建订单接口。订单表存量数据19万,接口请求方式为PUT。 2.3 服务器配置 网关服务器 16核CPU、内存16G 应用服务器 16核CPU、内存16G 3. 测试过程 3.1 测试机及工具选择 由于在前序的测试过程中,可以确定本机jmeter运行可以驱动200线程数,达到接近系统极限吞吐量的情况。 因此本次稳定性测试决定延续使用本地PC使用jmeter仍以200线程进行测试,测试重点在于较长时间段内的稳定情况。 涉及到服务器资源的监控,将决定使用Jmeter插件perfmon配合serverAgent进行采集,以nmon作为实时监控工具。 具体工具选择如下: 核心工具 版本 备注 Jmeter 3.3 提供并发请求能力 PerfMon

深度解析.NetFrameWork/CLR/C# 以及C#6/C#7新语法

前提是你 提交于 2020-12-04 08:01:23
一:什么是.NetFrameWork/ CLR / C# 1:.NetFramework即架构,它是一个语言开发软件,提供了软件开发的框架,使开发更具工程性、简便性和稳定性,这个框架主要是针对于c#语言的,该框架包含了CLR,VS等编译工具,BCL(基本类库)。 2:c#是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,主要是为.netFramwork框架提供一种编程规范,即是符合CLR中的CLS(通用语言规范)。 3:CLR是Common Language RunTime,公共运行类库。c#语言通过编译会生成IL+Metadata两部分,而CL主要的功能是通过JIT即时编译器把这部分解析成机器识别的代码,即二进制编码,然后再计算机中执行。 二:c# Project运行的整个流程 执行流程: 无论是VB或者C#项目都会依赖于BCL(基础类库),然后通过编译生成IL(中间语言)+Metadata(列表清单),然后通过JIT(Just IN Time )编译成机器二进制码(因为计算机只识别二进制码),然后再在计算机中执行。 三:.NetFrameWork/ CLR / C#对应的版本 注意:并不是每个版本都一一对应的,有的版本升级然后CLR并没有升级,visualStudio是.net开发工具。 下图也能说明vs与c#版本: 四:c#既然是

事件流如何提高应用程序的扩展性、可靠性和可维护性

北战南征 提交于 2020-12-04 07:35:38
关于事件流处理,在不同的场景中有不同的概念。有人称之为流处理,有人称之为事件溯源或CQRS,还有人称之为“复杂事件处理(Complex Event Processing)”。不管名称是什么,它们的基本原则都是一样的。Martin Kleppmann是Apache Samza的贡献者。在本文中,我们将跟随他的思路深入理解这些概念,以便帮助我们设计更好的系统。 “流处理(stream processing)”源于LinkedIn构建大规模数据系统的经验,并在开源项目Apache Kafka和Apache Samza中实现。Martin以Google Analytics为例具体介绍了这一概念。Google Analytics是一小段JavaScript代码,可以追踪哪个访问者访问了哪个网页。然后,系统管理员可以研究这些数据,并按照时间段、URL等划分这些数据。为了实现这个目的,每次用户访问一个页面时,就需要记录一个事件来反映这个事实。页面访问事件可能是(图1)这样的结构: (图1) 每个事件都是包含上述信息的一个简单不变的事实。它只简单地记录已发生的事情。然后,我们就可以从这些页面访问事件中生成图形仪表板。通常来说,这些事件可以使用(图2)所示的其中一种方式存储: 选项(a):在每个事件进来的时候将其存储,并把它们全部转存到一个大型的数据库、数据仓库或Hadoop集群中。在需要时

LeaRun快速开发平台,快速开发.net/java项目

怎甘沉沦 提交于 2020-12-04 07:16:36
Learun软件快速开发平台是一款轻量化多语言可视化开发工具。 平台目前分为Java和.net(core)版本,内置有多套UI风格模板,核心功能基本相同,包括:向导式开发组件、BI可视化、拖拽式表单、代码生成器、单据套打、通用app/小程序、权限管理、流程引擎页等功能模块,可以快速有效的开发出市场上目前常见的各种管理系统,如:OA、ERP、CRM、HRM、MIS等。 Learun软件开发平台以“让开发变得简单”为宗旨,深耕软件平台,拥有近10年的行业开发经验,经典.net软件产品已经服务超5000家客户,并得到市场一致好评。 框架采用目前主流的引擎式开发,与传统的软件开发模式相比,其最大特点是通过数据集合、表单引擎、流程引擎、报表引擎等,用可视化的形式进行设置组合,结合项目自身的类库,从而实现对各种复杂系统的快速高效开发。 .net产品 .net是目前客户主要使用产品,目前已正式更新至V7.0.6;基于.net产品开发而来的.netcore产品也已经发布,两者整体功能一致,UI风格一脉相承。 APP模块采用主流的vue框架,同时支持微信、钉钉、支付宝等平台。 1.敏捷开发 敏捷开发向导:表单、流程、数据等常用功能配置向导 代码生成器:八套开发模板,生成类、页面、映射、表单、小程序等 通用图标:PC和移动端图标 数据看板:BI大数据看板 表格组件:各类常用表格 甘特图:了解项目进度

[译] APT分析报告:04.Kraken新型无文件APT攻击利用Windows错误报告服务逃避检测

不羁的心 提交于 2020-12-04 02:18:22
这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了APT组织Fin7 / Carbanak的Tirion恶意软件,包括OpBlueRaven行动。这篇文章将介绍一种新型无文件APT攻击Kraken,它会利用Windows错误报告服务逃避检测。其中,DllMain函数反分析检查,以确保它不在分析/沙箱环境或调试器中运行非常值得我们学习。 Malwarebytes研究人员发现了一种名为Kraken的新攻击,该攻击利用Windows错误报告(WER)服务以逃避检测。攻击始于一个包含“Compensation manual.doc”的ZIP文件。该文档包含一个恶意宏,该宏使用CactusTorch VBA模块的修改版,通过使用VBScript将.Net编译的二进制文件加载到内存中来执行,以进行无文件攻击。该二进制文件通过将嵌入式Shellcode注入Windows错误报告服务(WerFault.exe)来推进了感染链,此策略用于尝试逃避检测。 原文标题: Release the Kraken: Fileless APT attack abuses Windows Error Reporting service 原文链接:https://blog.malwarebytes.com

C#细说多线程(上)

痴心易碎 提交于 2020-12-04 01:55:46
本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。 其中委托的BeginInvoke方法以及回调函数最为常用。 而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用UpdatePanel。其实合理使用I/O线程在通讯项目或文件下载时,能尽可能地减少IIS的压力。 并行编程是Framework4.0中极力推广的异步操作方式,更值得更深入地学习。 希望本篇文章能对各位的学习研究有所帮助,当中有所错漏的地方敬请点评。 目录 一、线程的定义 二、线程的基础知识 三、以ThreadStart方式实现多线程 四、CLR线程池的工作者线程 五、CLR线程池的I/O线程 六、异步 SqlCommand 七、并行编程与PLINQ 八、计时器与锁 一、线程的定义 1. 1 进程、应用程序域与线程的关系 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的区域的。进程可以理解为一个程序的基本边界。

.NET5发布了,腾讯招聘点名要求精通MySQL,而不是SQLServer!

[亡魂溺海] 提交于 2020-12-03 18:59:15
.NET5正式发布,社区一片欢腾,.NET相关技术栈也会迎来大变革,而大厂的招聘要求可谓是技术风向标! 紧盯腾讯网易顺丰等大厂的招聘,会发现都在明确要求。MySQL,而不是SQL Server了。 究其根本,还是跨平台后解决方案的一致性决定的,虽然SQL Server现在也支持Linux,但MySQL才是王者! 早起的鸟儿有虫吃,我整理了MySQL技术栈全图、MySQL入门到实战视频教程、MySQL常见面试题合集等资源,这里分享给大家,提前备战明年跳槽季,安排! 1 3w字的MySQL全技术栈 MySQL是在90年代中期开发的,是最早的开源数据库之一,经过多年的演变和沉淀,当下已经是关系型数据库王者!下图是我用思维导图的方式详细梳理的MySQL入门技术栈,一张图3w多字,完成MySQL全部学习(下图为简图,完整图内容太多看不清, 文章底部提供了思维导图源文件下载 )。 MySQL知识点全图-文末可下载 2 MySQL实战与优化 除了上述文字版的,还有录制的一套MySQL实战与优化的视频,目前已完成的有53个了,此外还有配套的学习笔记,可谓是非常用心了 。 MySQL全套视频55个-文末可下载 MySQL9大学习笔记-文末可下载 3 13道MySQL面试题 面试题还是最直接的,提前看看不打无准备之战!下面13道高频面试题以及配套答案也整理好了,看答案之前,大家也可以自测一下。 1