自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Iron 的博客

每当接触新的知识,都有一种莫名的欣喜,乐于用旧知识来推敲,故而载之

原创 UML 类图关系及符号表达

UML 类图关系及符号表达 UML 类图中有以下几种常见的关系,依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization),下面对这几种关系及其表达方式做一个极简...

2018-11-27 21:39:55 473 0

原创 Windows 公共组件的完整性

Windows 公共组件的完整性 今天和大家简单讨论一下 Windows 公共组件的完整性。所谓公共组件,指的是独立的、被其它应用程序引用的 PE 文件(程序集,DLL 或 EXE);所谓完整性,即除了实现功能方面的需求外,还需考虑状态监控、文件属性设置等,以提高组件的易维护性、部署的安全性等。具...

2018-11-27 21:21:50 3851 2

原创 Express 菜鸟笔记

Express 菜鸟笔记 基于 Node.js 平台,快速、开放、极简的 Web 开发框架。 使用 Express 可以快速地搭建一个完整功能的网站。 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求 定义了路由表用于执行不同的 HTTP 请求动作 可以通过向模板传递参数来动...

2018-11-27 21:20:36 169 0

原创 曲线(笔迹)简化算法

曲线(笔迹)简化算法 场景是这样的,在一端进行书写,另一端还原书写的笔迹。要实现笔迹的还原,就得记录笔迹经过的轨迹点,当然这些都是可以在书写过程获取到的。但是问题在于,笔迹中的轨迹点比较多,数据量比较大,不便于传输。因此,我们需要通过某种算法,剔除某些不重要的点,从而减少数据量。 下面的代码是在...

2018-11-16 08:29:41 1584 1

原创 Node.js 日志系统 log4js 介绍

Node.js 之 log4js 介绍 关于 log4js ,此处不做过多介绍,你如果有关注过日志系统,那就应该听说过类似 log4cpp、log4net、log4j、log4p 等名词。是的,log4xxx 是 Apache 提供的开源日志框架,它可以将日志信息按指定的格式、分级不同的级别输出到...

2018-11-15 00:40:39 1956 0

转载 C# 8.0 新特性

C# 8.0 新特性 作者:Rwing https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0 原文:https://blogs.msdn.microsoft.com/dotnet/2018/11/12/buildin...

2018-11-14 13:42:17 522 2

原创 .NET 将 .config 文件嵌入到程序集

.NET 将 .config 文件嵌入到程序集 最近,团队中的一位同事实现了一个小程序,供主程序调用。为了小程序分发的方便性,使用了 Costura.Fody 将其依赖的 dll 都嵌入到了 exe 中。但是,其中的 log4net.dll 又需要一个 *.config 文件才能正常工作,而 Co...

2018-11-12 07:06:25 858 2

原创 解决 http_404_webOC 下载提示

解决 http_404_webOC 下载提示 最近,某个项目中使用了 System.Windows.Forms.WebBrowser 控件,这是一个 WinFomrs 上的 IE 浏览器控件。在某些计算机上通过该控件访问一个不存在的网址时,会弹出一个 http_404_webOC 下载提示。 搜...

2018-11-12 07:03:13 4133 1

原创 .NET 合并程序集(将 dll 合并到 exe 中)

.NET 合并程序集(将 dll 合并到 exe 中) 我们的应用程序通常都是由多个程序集组成,例如一个 exe 程序依赖于多个 dll 程序集。在某些情况下,我们希望程序的分发能够简单,单独一个 exe 就能正常运行。这种情况下,就需要将 dll 依赖项合并到 exe 主程序中。 本文将给大家介...

2018-11-11 19:27:19 2970 3

转载 log4net 详解

非常完善的 log4net 详细说明 作者:未知(搜了很久,未能找到原创者) https://www.cnblogs.com/lzrabbit/archive/2012/03/23/2413180.html 1、概述 log4net 是 .Net 下一个非常优秀的开源日志记录组件。log4ne...

2018-11-11 17:15:14 262 0

原创 Git 修改历史提交中的用户名和邮箱

Git 修改历史提交中的用户名和邮箱 最近几次贡献开源代码总是遇到一个问题,我将 GitHub 上的项目 clone 到本地,完成编码后直接 commit(提交) 。提交后才发现没有使用 git config 来为项目配置私人用户名和邮箱,因此提交中携带的是全局配置中的公司账户信息。为了避免回滚代...

2018-11-05 12:32:39 5385 1

原创 C# Newtonsoft.Json 自定义

C# Newtonsoft.Json 自定义 当你看到这篇文章时,你应该或多或少地了解 Newtonsoft.Json,它是一套流行的 .NET 高性能 JSON 框架,能够轻松地实现 .NET 对象和 JSON 字符串间的相互转换。本文将首先简介 Newtonsoft.Json 的基本使用,然后...

2018-11-05 12:31:32 1499 1

原创 C# DateTIme 转时间戳

C# DateTIme 转时间戳 时间戳是指格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒(北京时间 1970 年 01 月 01 日 08 时 00 分00 秒)起至现在的总秒数。在 C# 中将 DateTime 转换为时间戳时,需要注意如下两点: 时区要统一,最...

2018-11-05 12:29:01 3036 2

原创 托管程序的启动过程(.NET CLR 寄宿)

托管程序的启动过程(.NET CLR 寄宿) 大家都知道 C# 等托管语言编写的代码都会被编译成托管程序集(*.exe 或 *.dll),这些托管程序集最终都会托管给 CLR(公共语言运行时)来执行。那么,托管程序的启动过程是怎样的?CLR 又是如何寄宿到宿主程序中的?为了回答以上问题,本文将首先...

2018-10-29 13:22:59 559 0

原创 .NET AppDomain

.NET AppDomain 操作系统启动托管程序后,会调用 CLR 来托管该程序,CLR 在初始化时会默认创建一个 AppDomain 来运行托管代码。AppDomain 是为了隔离而设计的,它将程序集限定在某个域中执行,而不影响其它域的状态,它可以极大地提高托管程序的稳定性: 支持动态卸载...

2018-10-29 13:22:06 209 0

原创 WPF 后台创建 DateTemplate

WPF 后台创建 DateTemplate 在 WPF 编程中,我们通常都是在前台 XAML 中通过标记语言来编写 DataTemplate 的。曾今有小伙伴在 Stack Overflow 上提问,如何在后台通过 C# 代码来创建 DataTemplate ?我搜索了一番,找到了 Framewo...

2018-10-29 13:18:23 1230 3

转载 关于 Http 协议,你必须要知道的

关于Http协议,你必须要知道的 作者:浪里行舟 https://segmentfault.com/a/1190000016751071 引言 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议...

2018-10-28 11:57:39 141 0

原创 如何搭建 GitBook

如何搭建 GitBook 程序员都喜欢使用 Markdown 来撰写文档,无论是开发用的技术文档,还是自己的学习总结文档,都离不开 Markdown ,今天给大家介绍一款高效管理、发布 Markdown 文档的工具 - GitBook 。 关于 GitBook 首先来看一下 官方 的定义: Mo...

2018-10-22 07:39:42 5565 0

原创 C# 电子白板软件开发

C# 电子白板软件开发 给大家介绍两个 C# 电子白板软件开源项目,其中一个是基于 WinForm 平台开发的,另一个是基于 WPF 平台开发的。这两个项目实现的功能类似,最初都是由 Alex Farber 发布在 CodeProject 开源平台之上的,其中 WinForm 版本发布于 2005...

2018-10-22 07:37:32 2379 16

原创 初识 Docker

初识 Docker Docker 是近几年比较火的技术,每个技术栈的程序员对应该对其有所了解,本文是我学习 Docker 的一些笔记或总结。 About Dcoker 首先,通过官网的两句 Slogan 来感受一下: Docker is the world’s leading software ...

2018-10-22 07:35:43 252 0

原创 如何为你的模块添加日志

如何为你的模块添加日志 日志对 应用程序 来说至关重要,当程序在 测试部 或 用户端 发生异常时,日志能协助 开发人员 快速地定位问题。对于刚刚上手团队项目的新人来说,可能会有许多疑惑。什么情况下需要添加日志?如何添加日志? 主要内容 什么情况下需要添加日志 流程性的代码 涉及到数据传输的代码...

2018-10-15 02:08:09 759 0

原创 WPF 获取系统 DPI 的多种方法

WPF 获取系统 DPI 的多种方法 由于 WPF 的尺寸单位和系统的 DPI 相关,我们有时需要获取 DPI 值来进行一些界面布局的调整,本文汇总了一些 WPF 程序中获取系统 DPI 的方法。 首先,定义如下结构体来分别保存 X 方向 和 Y 方向的分量值,通常情况下两个值是一致的。 publ...

2018-10-15 01:08:44 1905 0

原创 WPF 高 DPI 下的 SizeToContent

WPF 高 DPI 下的 SizeToContent 这两天解决了一个 WPF 界面方面的问题:某个窗体运行在 1366*768 分辨率的屏幕上,并且窗口设置了 SizeToContent="WidthAndHeight" 属性,即窗体的尺寸将随内容而变化。当系统的 DPI 为...

2018-10-14 23:53:25 1579 3

原创 WPF 精确计算三维元素的投影范围

WPF 精确计算三维元素的投影范围 在 WPF 程序中,二维元素可以使用 VisualTreeHelper.GetDescendantBounds(Visual reference) 来获取其内容的范围,三维元素可以使用 GetContentBounds(Visual3D reference) 来...

2018-10-07 15:55:00 227 0

原创 一种简单的贝塞尔拟合算法

C# 一种简单的贝塞尔拟合算法 前两天实现了一项功能,在一端进行书写,在另一端还原笔迹。由于两端的开发平台和绘图引擎不一致,书写端的笔迹很平滑,而另一端还原出来的笔迹为折线。为了使两端保持一致的效果,需要在还原端对笔迹进行贝塞尔拟合。本文将首先介绍贝塞尔曲线的基本原理及公式推导,然后提出一种简单的...

2018-10-06 10:26:56 2590 1

原创 WPF UnhandledException

WPF UnhandledException 在 WPF 程序中,通常可以通过 Application.DispatcherUnhandledException 或 AppDomain.UnhandledException 事件来处理全局 未处理异常,其中前者是由 WPF 框架提供的,后者是由 ....

2018-09-30 19:54:32 1046 3

原创 WPF 动画进阶编程

WPF动画进阶编程 前端时间在实现某项业务需求时,涉及到元素状态的控制,较为深入地使用了 WPF Animation(动画)。原本对动画有所了解,但是本次前前后后还遇到不少问题,看似简简单单的 Animation/Storyboard,其中竟有如此多的猫腻。今天把动画相关的问题分享出来,扒一扒动画...

2018-09-25 07:55:34 357 0

原创 WPF 巧用动画反转

WPF巧用动画反转 在 WPF 程序中,假设有这么一个需求:界面上有个矩形,点击某个按钮后,矩形沿某条 复杂的路径 移动,并停在路径的终点处;此时点击另一个按钮,矩形沿刚才的路径反向移动,最终停在路径的起始位置。 假设路径非常复杂,要单独构建如上的两个动画,需要很大的工作量。那么,能否仅构建一个动...

2018-09-25 00:51:11 549 0

原创 WPF Popup 中 IME 不跟随 TextBox

WPF Popup中IME不跟随TextBox 在 WPF 程序中,如果一个 TextBox 被放置在 Popup 中,当在这个 TextBox 中进行输入时,输入法(IME) 的备选框不会显示在该 TextBox 旁边,而是显示在 Windows 右下角,如下动图所示。 如果 TextBox ...

2018-09-24 19:17:20 550 3

原创 C# 增删查防火墙例外

C#增删查防火墙例外 通过 netsh advfirewall firewall 命令来对防火墙例外进行增、删、查。 /// <summary> //...

2018-09-17 08:55:59 850 0

原创 C# 获取计算机 MAC 的方法

C#获取计算机MAC的方法 软件在上报日志时,通常会带上一些硬件信息,以便于区分设备或用户,计算机物理地址(MAC)便是首当其冲的选择。本文将介绍 .NET/C# 获取计算 MAC 的方法: NetworkInterface WMI (Windows Management Instrumen...

2018-09-17 01:19:01 2096 0

原创 C# 后台调用 CMD 执行命令

C#后台调用CMD执行命令 有时会在程序中调用系统的命令行工具 cmd.exe 来静默执行一些系统命令,然后获取返回值。本文将展示 .NET/C# 静默运行 cmd 并执行命令的方法,包括 有返回值 和 无返回值 两种。 无返回值 public static void Execute...

2018-09-17 01:17:34 2465 0

原创 如何将 WPF 控件包装为 ActiveX 组件

如何将 WPF 控件包装为 ActiveX 组件 前面的一篇文章中介绍了 如何将WPF控件嵌入Win32程序中,其要求 Win32 程序支持 C++/CLR(托管代码)。然而在我们实际工程中,要使现有的 Win32/MFC 项目支持 CLR,可能涉及到较大的改动。那么,能不能在 纯非托管程序 中...

2018-09-10 20:12:42 759 0

原创 Python 'gbk' codec can't decode byte 0x80

Python ‘gbk’ codec can’t decode byte 0x80 前段时间,运行得好好的 Python 代码突然抛出如下错误: Traceback (most recent call last): File "C:\***\tools.py&...

2018-09-10 13:07:36 4119 1

原创 C# GUI 程序显示控制台

C# GUI 程序显示控制台 我们在调试程序时,通常会将日志输出到 控制台,以监控其运行状态是否符合预期。对于一个 C# GUI 程序(如 WinForms 或 WPF)而言,如果在 IDE 中进行调试运行,Console.WriteLine() 方法会将内容输出到 IDE 的控制台中。然而在同...

2018-09-10 00:24:29 1133 1

原创 如何将 WPF 控件嵌入 Win32 程序中

如何将WPF控件嵌入Win32程序中 如标题所述,本文将介绍如何将 WPF控件 嵌入到 Win32程序 的窗体中,其中的 WPF控件 使用 C# 开发,Win32程序 使用 C++/CLI 开发。在 Win32 窗口上托管 WPF 控件的关键是 System::Windows::Interop:...

2018-06-26 20:07:51 459 0

原创 WinDbg DUMP 调试

WinDbg DUMP调试 设置符号路径 可以在命令行中通过 .sympath 命令来设置符号路径,也可通过 菜单项 来设置。 符号路径有两种,一是本地路径,例如:D:\MySymbols;二是远程服务器路径,例如 SRV*CachePath(本地缓存)*RomotePath(远程服...

2018-04-23 12:17:03 157 0

原创 DUMP 文件

DUMP 文件 什么是 DUMP 文件 Dump 文件,也叫转储文件,是进程的内存镜像通过转换存储而成的 .dmp 格式的文件。DUMP 文件根据存储时的不同选项,会生成不同大小的文件,其中记录的信息也有所不同。DUMP 文件必须用专用工具软件才能查看,比如使用 Visual Studio...

2018-04-22 23:39:02 235 0

原创 PDB 文件

PDB 文件 什么是 PDB 文件 PDB (Program Data Base) 即程序的基本数据,是 VS 编译链接时生成的文件,每个程序集(EXE 或 DLL)都有一个与之对应的 PDB 文件。DPB 文件主要存储了 VS 调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名...

2018-04-22 23:02:01 5506 0

原创 Python 入口函数(菜鸟入门)

Python入口函数(菜鸟入门) 最近在组内研究专项项目,其中的一个现有工具是用 Python 开发的,我的目标是对这款工具的流程进行优化。虽然可以找到对应的开发者了解现有流程,然后结合我的研究提出优化方案,最后让 TA 去编码实现。但是程序员心理使然,什么东西都想自己琢磨明白,于是开启了摸...

2018-04-22 22:41:55 14471 6

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