SHUHARI 的博客

流光飞舞

重要通知: 本站将迁移到域名 https://shuhari.dev/, 原有域名 https://yuhao.space/ 将于一个月后过期。 如果您收藏了本站,请及时更新链接。给您带来不便,深表抱歉!

标签 .Net

Windows Forms Invoke() 泄露句柄原因之调查

C#

有朋友问我关于 微软开源 WinForms, WPF 和 WinUI 的看法。说实话,我没什么看法。开源这个事,从来都是有兴趣的人才会 Awesome,对吃瓜群众只能是 So what。不过这则消息让我想起大概半年前维护产品客户端时遇到的一个问题,当时没有机会深入分析,现在既然 WinForm 已经开源,倒是值得深入分析一下了。

JetBrains Rider 介绍

JetBrains Rider 介绍

概述

在 JetBrains 的产品大家族中,Rider 算是比较年轻的一款, 网络上的资料也比较少。不过,考虑到 Rider 主体程序的两大组成部分(IntelliJ Platform 和 Resharper Backend) 都已经发展了很多年,那么 Rider 也不能简单地看作一个新生儿了。如果你比较关注 JetBrains 官方信息的话,那么会发现最近一段时间 Rider 和其他产品相比出现的频率相当高,可见这个产品很受重视,开发也非常活跃。

Paypal 支付 REST 接口介绍

Paypal 支付提供了两种风格的 API 接口(如下图),一种是 NVP/SOAP 风格的经典接口,另一种是比较新的、 RESTful 风格的接口。NVP 风格目前已经被视为遗留接口,官方推荐使用 RESTful 接口访问。但目前网络上流传的资料还是以 NVP 居多,介绍 REST 接口的比较罕见。

本文是对目前使用 Paypal 支付接口的一个总结,也供有类似需求的朋友参考。

6

用 Teamcity 实现 .Net 平台下的持续集成 - 构建

本文中,我将以自己的一个项目作为例子,说明如何在 TeamCity 中定义并执行代码构建。

我使用的例子为自己开发的Shuhari.Framework。这是我从自己开发的项目中提炼出来的一个小型 .Net 类库,包含了方便项目开发的一些常用方法封装。你不必关心它的具体内容,我们只是把它作为一个例子来说明构建方法。

2

用 Teamcity 实现 .Net 平台下的持续集成(目录)

本文是下面一系列文章的总目录,介绍在 .Net 平台上,如何以 JetBrains TeamCity 为工具实现代码的持续集成,也是过去一段时间工作的一个总结。完整的文章目录在 最后部分

前言

我假设你已经了解了 持续集成 的基本概念。如果没有的话,上面的 Wikipedia 链接可以作为起点,或者阅读 Martin Fowler 大叔的文章,以及同名书籍、该领域的经典著作《持续集成》。

本文及后续的文章中有些地方会将“持续集成”按照社区的惯例简称为“CI”。它们的意思是完全相同的。