自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

网尘的技术专栏

一位70后程序员,大龄程序员,关注我,关注你的未来,有你的相伴我的未来不孤单,有我的陪伴你的未来从容面对

  • 博客(10)
  • 资源 (23)
  • 论坛 (1)
  • 收藏
  • 关注

翻译 .net core解决线程池不足--为什么使用异步请求而不是使用更大的线程池?

这篇文章应该可以解释为什么使用异步,而不是同步的问题,以及同步下性能瓶颈出现时,怎么调整线程池以支持更大的并发。问:在荷兰的Techday期间,Steve Sanderson进行了有关异步Web的演讲。他解释说,当请求需要很长时间才能完成时,线程池中的所有线程都变得繁忙,因此新的请求必须等待。服务器无法处理负载,一切都变慢了。然后,他展示了异步Web请求的使用如何提高性能,因为随后将工作委派给另一个线程,并且线程池可以快速响应新的传入请求。他甚至对此进行了演示,并显示出50个并发请求首先花费了5.

2020-11-19 17:48:52 205

原创 .net core 深挖异步的世界——缺少SynchronizationContext上下文意味着什么?

最近和.net core中的异步杠上了,我觉得很有必要深挖下.net core下的异步编程的方方面面,由于传统asp.net以及.net framework类库的干扰,因此网上充斥着奇奇怪怪的关于异步的言论和实践,由于没有说明环境的关系,导致大量的.net core console/asp.net core的新手,对于处理异步也存在着深深的误解,因此深挖下其本质区别,对于我自己或更多的.net core新手来说,是有巨大的帮助的。目录1、没有同步上下文(SynchronizationContext).

2020-11-19 12:04:10 171 1

原创 .net core 异步世界的困扰——微软自己也会犯的错误,HttpClient使用错误异步期间的同步(sync-over-async)

在之前的一篇文章中提过异步编程最容易犯得错误,就是异步期间的同步。因为异步的原则是异步方法使用之后,所有调用者都应该异步。本篇文章就是我在使用HttpClient时想要避免该问题的收获。.net core 带你走进异步的世界——异步编程爬坑指南,有了它,妈妈再也不担心我下不了班了目录HttpClient最易导致异步期间的同步错误提案支持同步方法移植到.net 5源码赏析HttpClient最易导致异步期间的同步错误在异步期间的同步错误问题上,因为HttpClient没有暴露同步接口,因此当你想要.

2020-11-18 21:12:24 175 1

原创 .net core 翻译来自Java的AES加密算法

由于某些不可告人的秘密,我发现了某个App的加密算法,其每个api的请求参数均带上了加密后的字符串,因此要想模拟其api的发送,比较困难,因此我借助了各类小工具,最终终于拿到了java的源码,终于可以开森的利用.net core编代码了。1、AES加密算法AES加密算法是对称加密算法,其不同于MD5等摘要算法,其是可以进行解密,并还原为原始密文的。其经过10-14轮加密混淆步骤,因此如果仅仅从加密后信息来看,是很难被攻击的。重要的步骤如下:字节替代行移位列移位、列混淆加轮密钥这.

2020-11-18 15:12:57 146

原创 数据对接-ETL之StreamSet学习之旅十与RabbitMq面对面

很多朋友咨询过我,说怎么能够和MQ进行通信,怎么配置参数,和监听消息,这里我就以一个消费者的身份,来消费来自MQ的消息目录学习系列连接MQ一个小坑:连接限制读取速度数据处理MQ处理的遗憾我的MQ链接配置如下:小结学习系列数据对接-ETL之StreamSet学习之旅一数据对接-ETL之StreamSet学习之旅二数据对接-ETL之StreamSet学习之旅三数据对接-ETL之StreamSet学习之旅四数据对接-ETL之StreamSet学习之旅五数据对接-ETL之StreamSet学习.

2020-11-14 20:24:45 169

原创 向CentOS8进击——自动构建支持.net core 3.1的CentOS8容器镜像

我一直在使用CentOS7的.net core镜像,最近忽然发现8已经出来了,就想升级下环境,毕竟有很多人已经反应7下面有些bug,那升级系统就能解决的事,应该不是啥事吧——因为系统又不是我写的,啊哈哈,bug遇到了也找不到我。自己写Dockerfile吧Dockerfile的格式非常简单,几乎没啥学习成本,并且构建起来特别轻松,那么我们就从这个文件写起吧。# 升级到8,简单,直接抄袭centos7的镜像文件FROM centos:8# 构建自己的环境变量,常规的环境变量先加上,避免用的时候.

2020-11-13 21:41:44 160 1

原创 .net core 容器内怎么检测我是跑在容器内,唯一id得获取等

在很多天之前,我一直被容器的唯一性所困扰,比如雪花算法需要一个机器号,但是部署在不同容器内的相同服务,怎么获取一个唯一号呢?难道我们每次都给容器赋予不同的环境变量吗?这对于运维来说,感觉太麻烦了吧。而怎么检测我是部署在容器,或者部署在windows上呢,感觉困难重重?环境变量.net core 很好的支持获取环境变量,直接利用System.Environment,就可以获取很多信息,当然在asp.net core下有IHostingEnvironment 可注入的服务支持,利用起来更是爽利无比。不.

2020-11-13 20:10:48 147

原创 .net core 带你走进异步的世界——异步编程爬坑指南,有了它,妈妈再也不担心我下不了班了

一直感觉异步的世界万物有序,繁华似锦。一如我们人类虚构出来的制度、社团、国家、世界、宇宙等等,是的,有了共识,就有了协作,有了协作就有了这个世界这般模样,这,就是人类的伟大之处。目录1、承诺(promise)2、识别I/O密集型工作、CPU密集型工作你的工作是否会“等待”某些内容,例如数据库中的数据?网络中的数据你的代码是否要执行开销巨大的计算?3、不同工作怎么异步4、有啥好处5、最佳实践是啥呢5.1 异步必须整个调用栈的异步5.2 异步无效5.3 已知结果直接拿Task.FromResult而不是T.

2020-11-07 21:40:05 227 1

原创 微服务之远程缓存策略——Redis缓存更新策略

目录1、缓存的优势2、缓存更新的Pattern3、缓存的有效性首先声明,我不一定能讲好这个章节,所以本章节仅供你的参考。缓存是一个微服务设计时必须涉及的领域,然而我自己的微服务涉及的缓存封装比较低级,因此造成了团队使用缓存后的一些混乱——经常发现XXXKey没有缓存更新等问题,因此,我觉得有必要再回炉重造下,所以先学习点理论知识。1、缓存的优势优势非常明显,现代的应用不适用缓存,可能是你接触的用户规模太低造成的,因此对于涉猎微服务的开发者,最需要掌握的是这些利器。高性能高并发下图是应用缓

2020-11-07 16:37:24 191

原创 .net core 下的简单二级缓存

.net core 下的简单二级缓存为什么写轮子缓存思路带过期时间的缓存类完整的Get和Set方法结尾引用链接为什么写轮子.net core 下的二级缓存做的已经足够好了,此次编写轮子是因为需要在 .net core 和 .net Framework 4.6 两个框架中共用该类,因此没办法直接使用MemoryCache 包缓存思路这里缓存采用静态变量存储,为了线程安全,采用如下代码定义:...

2020-11-06 11:21:20 1086

HTML5 Canvas 2D API 规范 1.0 中文版

Canvas 2D API 规范 1.0 中文版闪亮登场,相信是您学习HTML5的canvas元素api的首选教材,里面有丰富的例子,并且均在IE9下成功测试。希望大家多多支持。 下面是目录: 摘要 2 1 介绍 2 1.1 术语: 2 2 CANVAS接口元素定义 3 2.1 GETCONTEXT()方法 3 2.2 TODATAURL()方法 3 3 二维绘图上下文 4 3.1 CANVAS的状态 7 3.2 转换(TRANSFORMATIONS) 8 3.3 合成(COMPOSITING) 10 3.4 颜色和风格 12 3.5 线风格 16 3.6 阴影(SHADOWS) 18 3.7 简单形状(矩形) 18 3.8 复杂形状(路径-PATHS) 19 3.8.1 路径起始函数 19 3.8.2 绘制函数 19 3.8.3 辅助方法—点是否在路径里 22 3.8.4 MOVETO方法 22 3.8.5 LINETO方法 22 3.8.6 RECT方法 22 3.8.7 圆弧 23 3.8.8 最短圆弧 24 3.8.9 二次方、三次方贝塞尔曲线 24 3.9 文字 25 3.10 绘制图片 26 3.11 像素级操作 27 3.11.1 CreateIMAGEDATA方法 28 3.11.2 GETIMAGEDATA方法 28 3.11.3 PUTIMAGEDATA方法 28 3.11.4 演示例子 28 3.12 绘图模型【此段翻译不怎么样,可以参看原英文】 29 4 参考资料 29

2010-11-03

IT人士必备,PC练习,人到中年的防老神器

IT人士必备,PC练习,人到中年的防老神器。PC是每个IT小男需要了解、掌握、并且精通的锻炼技术、掌握了PC的练习,你才能更加美好的拥有35后的代码人生!

2020-11-20

某项目的后台WebApi项目 for .net core 3.1 C#

某架构师review代码后,评价为简洁干练、功能丰富。 包含swagger文档、公共的自定义api入参、出参、用户菜单授权协议、错误处理等,可谓开箱修改即用,是你学习或者开发的最佳辅助代码。

2020-11-20

wordPress.chm part2

最近自己想学习下Wordpress的插件制作,但由于公司内上网不是很方便,因此制作了wordpress.chm,以方便离线查看WordPress的各函数定义。 本手册不是WordPress产品的一部分,但是是由webmote(http://codeex.cn)使用phpDocumentor v1.4.3工具从源代码生成的,因此您可以自由传播该手册,但请不要删除[关于]页面,以尊重本人的劳动,谢谢。

2011-01-17

WordPress.chm part1

最近自己想学习下Wordpress的插件制作,但由于公司内上网不是很方便,因此制作了wordpress.chm,以方便离线查看WordPress的各函数定义。 本手册不是WordPress产品的一部分,但是是由webmote(http://codeex.cn)使用phpDocumentor v1.4.3工具从源代码生成的,因此您可以自由传播该手册,但请不要删除[关于]页面,以尊重本人的劳动,谢谢。 注:有很多人说我骗人,估计是我没写清楚,请下载第2,3部分,再解压。 还有人会嫌分高,这可是我亲手制作的,你来下现成的,还这样。 当然为了表示感谢,我现在把分改小,大家随便下,要是还嫌分高,请到本人网站,只需注册就可,一分也不需要掏,谢谢!

2011-01-17

wordPress.chm part3

最近自己想学习下Wordpress的插件制作,但由于公司内上网不是很方便,因此制作了wordpress.chm,以方便离线查看WordPress的各函数定义。 大家如果资源分比较少,请直接到(http://codeex.cn)下载吧。

2011-01-17

Git-工作流.pptx

为新同事准备的git开发流程,让新同事快速熟悉起来git的使用,以及常见的问题处理流程。本流程涵盖了开发和测试。

2020-06-19

微信小程序介绍.pptx

微信小程序介绍,解密小程序为什么这么火爆,介绍开发、发布、等事情,登录的具体流程,申请小程序号,以及后台要求等扽。

2020-06-19

微信小程序介绍.pdf

微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 本文档介绍了设计理念,用途,开发流程,发布流程,申请流程等。

2019-11-15

dotnet微服务.rar

微软出品的官方指导微服务落地应用,容器化.net 应用架构指南。 介绍了微服务的概念,以及构建过程,部署过程等

2019-11-11

LabVIEW Internet Toolkit 6.0.2

NI LabVIEW因特网工具包,适用于Labview8.5 。 如果您使用Labview 8.6,请下载本站的NI LabVIEW Internet Toolkit v6.0.2 * 将文件或原始数据发送至FTP服务器 * 在互联网中使用网页浏览器查看您的虚拟仪器 * 响应用户输入并在您的应用中创建自定义网页 * 在LabVIEW中创建公共网关接口 (CGI)程序可实现各种服务器操作 * 用跨平台DOM分析程序进行XML文档的读写和分析 Internet已为遍布每个行业和应用领域的PC及工作站提供了许多新机会和新用途。 工程师和科学家发现:一些重要的活动(如:科学研究,成果发布,数据的网上显示,归档源代码版本,安排测试开发团队的进度等)都可在因特网上完成。 除了利用因特网之外,虚拟仪器也日益频繁地用于处理远程或分布式的应用。 使用NI LabVIEW因特网工具包,您可轻松地将各种电子通信功能(如:XML、CGI和FTP传输)集成到虚拟仪器应用程序中。

2009-08-19

C# 网络编程.chm

C# 网络编程教程 Part I: Network Programming Basics The first four chapters are intended for programmers just starting out in network programming and looking for some background information about how network programming works and the pieces that are required for network programming. Chapter 1, “The C# Language,” provides some basic information for the reader new to C#, such as which C# package to use for development work and how to compile C# programs. Chapter 2, “IP Programming Basics,” demonstrates how network programming has evolved from the Unix world to the world of Windows, via the WinSock interface, and how .NET uses the WinSock interface to access network resources. Chapter 3, “C# Network Programming Classes,” offers a quick introduction to the entire C# network libraries and shows the basic formats of the classes. Chapter 4, “DNS and C#,” rounds out the introductory section by showing network novices how DNS can resolve host addresses and how to use the C# DNS classes. Part II: Network Layer Programming The next group of chapters presents the core of network programming topics in the book. Each of these chapters discusses a major topic using in creating C# network programs. Chapter 5, “Connection-Oriented Sockets,” starts the discussion of network programming by introducing stream programming using TCP. In addition to the standard C# Socket class used for stream programming, common pitfalls are discussed to help you create stream programs that will work on real networks. Chapter 6, “Connectionless Sockets,” discusses how to use the Socket class to create UDP applications. In addition to showing you how to create UDP applications, this chapter also discusses pitfalls related to UDP programming and shows examples of creating applications that will withstand the problems inherent in real networks. Chapter 7, “Using the C# Socket Helper Classes,” discusses the C# TcpClient, TcpListener, and UdpClient classes. These are special classes in .NET to help programmers create network programs with minimal effort. This chapter also discusses the basics of sending different data types across the network. Chapter 8, “Asynchronous Socket Programming,” discusses the technique of using asynchronous programming (prevalent in Windows programs) within the network programming world. Chapter 9, “Using Threads,” presents information for using multi-threaded application techniques in network programs. This technology is often used in server applications that must service multiple clients at the same time. Chapter 10, “IP Multicasting,” describes how to use broadcasting and multicasting to send packets to multiple clients, cutting down on network bandwidth. The last part of the book describes specific network applications and how to implement them using the C# network classes. Chapter 11, “ICMP,” shows how to use C# raw sockets to implement a protocol-specific application. The common ping and traceroute programs are shown within the C# network programming context. Chapter 12, “SNMP,” describes how to write network management applications using C#. SNMP allows you to communicate with many devices on the network to retrieve network statistics. This chapter shows specific examples of reading a vendor MIB sheet and creating a C# application to extract the MIB data from the network device. Chapter 13, “SMTP,” describes the C# e-mail classes and shows examples of using them to send mail using SMTP to remote mail servers. Also, an example of using other mail protocols (such as POP3) is shown. Chapter 14, “HTTP,” presents the C# web classes and how you can use them to create web-enabled C# applications. Also, .NET web services , and how you can use them to host your application methods on an IIS server, are discussed. Chapter 15, “Active Directory,” shows the C# classes for contacting Microsoft Active Directory servers. Examples are presented that show how to query, change, add, and delete entries in the Active Directory. Chapter 16, “Remoting,” discusses the .NET concept of remoting, allowing an application to share methods with clients across the network. Examples are shown that demonstrate how to create both a remoting server and client. Chapter 17, “Security,” closes out the book by describing how the .NET Framework handles program security, and how you can implement security in your network applications using encryption techniques.

2009-08-19

NI最新软件下载 特别文件

NI最新软件下载 特别文件 ========================= 包括NI Labview ,RT CVI,各种Labview工具包,CVI-rT,测试例子等均可以免费下载。

2009-06-28

用于Microsoft Office的 NI LabVIEW 报告生成工具包特别文件

用于Microsoft Office的NI LabVIEW报告生成工具包 在Microsoft Word和Excel环境下编程创建和修改报告 使用新Microsoft Office Report Express VI,在更短的时间内创建自定义报告。 用电子邮件发送报告并运行宏 管理报告的版面、格式和外观 生成报告模板

2009-06-28

NI LabVIEW 数据库连接工具包1.0.2 特别文件

The LabVIEW Database Connectivity Toolkit is a set of easy-to-use tools with which you can quickly connect to local and remote databases and perform many common database operations without having to perform structured query language (SQL) programming. It readily connects to popular databases, such as Microsoft Access, SQL Server, and Oracle. If you need advanced database functionality and flexibility, the Database Connectivity Toolkit also offers complete SQL capabilities. Complete SQL functionality Connection to most popular databases through Microsoft ADO technology Direct interaction with local or remote databases High-level, easy-to-use VIs for common database operations The Database Connectivity Toolkit is also available as a bundle with the Internet Developers Toolkit and the SPC Toolkit in the Enterprise Connectivity Toolkit.

2009-06-27

NI LabVIEW RT 8.6 特别文件

逾20年来,NI LabVIEW图形化编程彻底改变了测试、测量和控制应用程序的开发。无论是否有相关经验,工程师和科学家都能迅速、经济地连接测量与控制硬件、分析数据、共享结果并发布系统。

2009-06-27

NI LabVIEW RT 8.6 特别文件

NI 实时产品结合NI LabVIEW图形开发环境与NI LabVIEW嵌入式技术,可实现专用实时和FPGA终端的确定性性能。发布可靠性更强且运行时间可控的应用程序;并能够独立运行。

2009-06-27

NI LabVIEW Real Time (RT) 8.6.1 特别文件

NI 实时产品结合NI LabVIEW图形开发环境与NI LabVIEW嵌入式技术,可实现专用实时和FPGA终端的确定性性能。发布可靠性更强且运行时间可控的应用程序;并能够独立运行。

2009-06-27

NI LabVIEW 8.6.1 特别文件

逾20年来,NI LabVIEW图形化编程彻底改变了测试、测量和控制应用程序的开发。无论是否有相关经验,工程师和科学家都能迅速、经济地连接测量与控制硬件、分析数据、共享结果并发布系统。

2009-06-27

NI LabWindows CVI v9.0 Real Time Module特别文件

NI LabWindows/CVI实时模块通过扩展NI LabWindows/CVI开发环境,从而为专用实时硬件创建出可靠而确定的应用程序。NI把灵活高效的软件和牢固模型化硬件结合起来,为开发实时应用程序提供了商业现成(COTS)平台。

2009-06-27

NI LabWindows.CVI.v9.0.Real.Time.Module 特别文件

实时高级二维图形和图表支持Windows Vista/XP/2000操作系统 与IVI、VISA、DAQ、GPIB和串口, 完全实现硬件兼容 数组操作、信号处理统计和曲线拟合的分析工具 具有网络变量的简易式跨平台通信 LabWindows标志由Microsoft公司授权 Windows是Microsoft公司在美国和其他国家的注册商标

2009-06-27

NI LabWindows/CVI 9.0特别文件

NI LabWindows/CVI软件仍在为工程师的ANSI C编程,提供可靠的测试和测量解决方案。NI LabWindows/CVI 9.0不但代表着编译器这8年多来最重大的改进,还引进了1款新工具,以帮助解决C语言编程中的最大挑战——内存管理。

2009-06-27

richEdit 帮助手册

richEdit 帮助手册,开发人员必备

2008-07-09

MFC入门问题

发表于 2002-07-04 最后回复 2003-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除