.NET内存性能分析指南[转]

.NET内存性能分析指南 知道什么时候该担心,以及在需要担心的时候该怎么做 本文档的目的 本文旨在帮助 .NET 开发者,如何思考内存性能分析,并在需要时找到正确的方法来进行这种分析。本文中的 .NET 包括 .NET Framework 和 .NET Core。为了在垃圾收集器和框架的其他部分获得最新的内存改进,我强烈建议你使用 .NET Core,因为 .NET Core 有更积极活跃的...

继续阅读 »

关于"函数式编程"编程的理解

什么是"函数式编程"? 函数式编程是一种风格范式,没有一个标准的教条式定义。函数式编程是一种编程范式,它将电脑运算视为函数运算,并且避免使用程序状态以及易变对象。其中,λ演算是该语言最重要的基础。而且λ演算的函数可以接受函数作为输入的参数和输出的返回值。 函数式编程只是一系列想法,而不是一套严苛的规定。 函数式编程具有什么样的特点? 函数是"第一等公民" 函数为第一公民是函数式编程的基础 如...

继续阅读 »

编程语言中高级特性:委托

形象的理解什么是委托 顾名思义,委托,把事情托付给他人或机构(办理)。诸如:“当事人委托律师出庭辩护”,“我能委托你办一件事吗”。总的来说就是委托方将具体的事情交给被委托方来做, 委托方不关心具体过程,只关心开始和结果。被委托方执行具体内容即可。 委托的使用会经历如下的过程 委托的声明: 定义委托内容中需要什么,达到什么样的效果。定义出庭辩护 编写委托方法: 按照定义的标准, 详细制定委托...

继续阅读 »

jmeter-压力和性能测试

jemter 简介 jmeter 可以做接口测试和压力测试。其中接口测试的简单操作包括做 http 脚本(发 get/post 请求、加 cookie、加 header、加权 限认证、上传文件)、做 webservice 脚本、参数化、断言、关联(正则表达式提取器和处理 json-json path extractor)和 jmeter 操作数据库等等。 jmeter 安装 安装jdk(略...

继续阅读 »

/bin/sh^M: bad interpreter:解决办法

/bin/sh^M: bad interpreter:解决办法 xcode编译时有时候遇到/bin/sh^M: bad interpreter:没有那个文件或目录这样的错误 可以用以下方式解决 先在控制台cd到报错的目录 vim xxx.sh # xxx.sh报错的那个文件 :set ff # 如果出现fileforma=dos那么就基本可以确定是这个问题了。 :set ff=unix # ...

继续阅读 »

记一次线上更换系统:涉及到java7 rpm deb 32位 64位

由于目标程序依赖java7,但是java7版本官方未维护了,且大多数源中都不提供7版本的了 众所周知,java7安装需要非常多的依赖,ubuntu22.04安装非常麻烦,搞了半天最终还是放弃了。 然而,目标程序只有openfire-3.10.3-1.i386.rpm集成了java7可以直接使用,但是ubuntu中无法安装32位的rpm程序。 错误:the package cannot be ...

继续阅读 »

.NET Core诊断工具及其用法

.NET CLI命令 本地和全局管理工具 诊断工具 代码分析工具 实战演练 其他工具 核心转储(core dump)是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件(进程内存的快照)。这种信息往往用于调试(事后调试)。 扩展阅读 官方文档: .NET CLI 概述 官方文档: 如何管理 .NET 工具 官方文档: .NET Cor...

继续阅读 »

C#网络编程系列文章(tcpserver,udpserver)

概述 Socket实现异步TCP服务器 Socket实现同步TCP服务器 TcpListener实现异步TCP服务器 TcpListener实现同步TCP服务器 Socket实现异步UDP服务器 Socket实现同步UDP服务器 UdpClient实现异步UDP服务器 UdpClient实现同步UDP服务器 C#高性能TCP服务的多种实现方式 其他常用库:DotNetty C#网络编程系列文...

继续阅读 »

彻底搞懂高性能网络模式Reactor 和 Proactor

服务端处理网络请求流程图 可以看到,主要处理步骤包括: 获取请求数据, 客户端与服务器建立连接发出请求,服务器接受请求(1-3) 构建响应, 当服务器接收完请求,并在用户空间处理客户端的请求「read -> 业务处理 -> send」,直到构建响应完成(4) 返回数据, 服务器将已构建好的响应再通过内核空间的网络I/O发还给客户端(5-7) 设计服务端并发模型时,主要有如下...

继续阅读 »

JS中准确判断变量的类型

typeof判断变量类型 用以判断基本变量类型, 对于复杂数据类型基本都返回object console.log(typeof "hello"); // string console.log(typeof 123); // number console.log(typeof true); // boolean console.log(typeof {}); // object con...

继续阅读 »

python形参和实参中的特殊字符讲解

python中形参和实参的特殊字符有哪些? 参考官方文档: https://hlog.cc/docs/python/tutorial/controlflow.html#positional-or-keyword-arguments 位置参数/关键字参数 位置参数, 同其他编程语言一致, 位置参数形参的顺序很重要 关键字参数, 以kwarg=value形式定义的参数 关键字参数使用注意...

继续阅读 »

数据结构与算法: 常用数据结构的应用场景

数据结构主要研究什么? 数据结构(英语:data structure)是计算机中存储、组织数据的方式。 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。 逻辑结构和物理结构 数据的逻辑结构 指反映数据元素之间的相互关系,而与他们在计算机中的存储位置无关。按相互关系分类:集合结构,线性结构,树形结构 数...

继续阅读 »

Discuz论坛附件下载权限绕过漏洞

近日,有网友在乌云上发布了一则Discuz论坛附件下载权限绕过漏洞,能够任意下载带有权限的附件并且无需扣除自身积分。目前Discuz正在处理中,但暂未放出漏洞补丁,有需要的朋友不妨趁漏洞修补之前到各论坛大肆搜刮一番。 漏洞重现步骤: 找到任一带有权限附件,右键点击选择复制链接地址 得到类似下列网址,将aid=其后部分复制 http://***/forum.php?mod=attachme...

继续阅读 »

关于MMO游戏服务器的思考

实现一个MMO游戏框架需要考虑的问题 游戏服务器与web服务器的不同之处 游戏服务器说到底,最重要的几点就是保持状态、低延迟、交互。这几点就让游戏服务器和普通的服务器(比如电商后端)区分开来了 游戏服务器特有的 保持连接:游戏一般来说需要保持一个客户端到服务端的连接,可以对客户端的玩家的行为(移动,攻击,操作,互动,聊天)进行及时的反馈以及主动推送给相关的玩家。所以游戏更多的使用TCP来保持...

继续阅读 »

frp 搭建内网穿透服务

什么是内网穿透 什么时候需要用内网穿透? 无公网IP时,需要将本地服务器和应用服务,提供到互联网访问时,就需要使用内网穿透的方法。 内网穿透和DDNS的区别 DDNS(动态域名解析)指的是直接将域名解析到家用路由器上, 然后路由器实现端口转发, 从而实现通过域名访问内网中的服务器的目的. 内网穿透和DDNS都是为了让内网的设备被公网访问。 两者的区别: 是否需要公网服务器? 内网穿透需要,...

继续阅读 »

反编译微信小程序wxappUnpacker

前言 工具准备(免费) 微信小程序反编译 https://www.aliyundrive.com/s/x6zddHbHK6R 提取码: 90ut 解密小程序 确认小程序包位置推荐微信电脑版 打开一个小程序 小程序的位置为文件管理/Applet 在提取小程序前最好先清空该目录, 不然太多无法识别 D:\Administrator\Documents\WeChat Files\Applet\w...

继续阅读 »