自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 某直聘职位数据抓取

显然,每一条数据的结构都是由代码动态拼接完成的,那么我们接下来只需要找到生成的地方就好,首先我们要从搜索按钮下手。之前csdn上面有一些对某直聘网站数据的爬取分析文章,但是随着防爬手段的升级,已经失效。接下来和Selenium WebDriver结合,就可以将数据爬取入库了。在此声明,此文章纯属技术交流,请勿用于商业运作、非法目的,否则后果自负。以下再调试一番,就可以找到最终发出搜索请求的代码处了。再次声明,只为技术交流,否则后果自负。,便可以看到我们搜索的职位信息了。

2023-06-19 01:43:24 90

原创 C#消息泵探索(二)

消息泵,又叫消息循环。消息循环使用一个图形化用户界面下的Microsoft Windows。具有GUI 的Windows 程序是事件驱动的。Windows为每个创建窗口的线程维护一个单独的消息队列。通常只有第一个线程创建窗口。Windows 放置消息每当鼠标活动发生在该线程的窗口上时,每当该窗口具有焦点时键盘活动发生时,以及其他时候,都将进入该队列。进程还可以将消息添加到自己的队列中。为了接受用户输入以及出于其他原因,具有窗口的每个线程必须不断地从其队列中检索消息,并对其采取行动。

2023-02-25 10:13:56 289

原创 winform高dpi问题探索

winform的高dpi适应问题由来已久,属于一个历史遗留问题。主要是由于winform对不同尺寸、不同分辨率的屏幕适配不足造成的。接下来我们简单说一下如何解决,最后我们探索一下解决此问题的原理。解决办法winform的高dpi问题虽然一直没能解决,不过官方还是打了一个补丁的。我们只需要调用一下官方提供的DpiHelper.LogicalToDeviceUnits方法,即可解决。那么问题来了,官方是如何解决这个问题的呢?探索public double LogicalToDevice

2022-01-05 10:36:53 1360

原创 C# GC探索

垃圾收集当您在 C# 中创建任何对象时,CLR(公共语言运行时)会从堆中为该对象分配内存。每个新创建的对象都会重复这个过程,但凡事都有限制,内存不是无限的,我们需要清理一些使用过的空间,以便为新对象腾出空间,这里介绍垃圾回收的概念, 垃圾收集器管理内存的分配和回收。GC(垃圾收集器)在堆上进行一次旅行,收集应用程序不再使用的所有对象,然后将它们从内存中释放出来。当任何进程被触发时,单独的虚拟空间被分配给该进程,从一个系统的每个进程使用的相同的物理内存中,任何程序处理虚拟空间而不是物理内存,GC也处理

2021-12-23 10:51:37 160

原创 CIL指令和指针类型的操作

此文为我在对CLR的学习笔记,如有错误,欢迎指正。

2021-12-20 09:33:06 323 1

原创 由Restart()想到的

官方文档:Application.Restart Method (System.Windows.Forms) | Microsoft Docs目录Restart探索至此我们得出结论:在.net core3.0中,对于StartInfo属性,无论如何调用,抛出异常是100%的。启示Restart当我们在.net Framework中使用它时,并没有什么特殊之处,是可以正常运行的,然而如果在.net core3.0时,则会抛出InvalidOperation异常。Ap...

2021-11-12 10:09:13 551

原创 Winfrom ComboBox中的性能探索

在为Control维护元素列表的过程中,会不可避免的造成性能损耗,我们接下来要探究的就是那种方式才是我们的最优解。方案比较以ComboBox为例,常见的方式一共有两种:Add、AddRange。AddList<int> vs = new List<int>(); for (int i = 0; i < 100; i++) { vs.Add(i); }

2021-10-21 16:24:51 154

原创 C#消息泵探索(一)

消息泵,又叫消息循环。消息循环使用一个图形化用户界面下的Microsoft Windows。具有GUI 的Windows 程序是事件驱动的。Windows为每个创建窗口的线程维护一个单独的消息队列。通常只有第一个线程创建窗口。Windows 放置消息每当鼠标活动发生在该线程的窗口上时,每当该窗口具有焦点时键盘活动发生时,以及其他时候,都将进入该队列。进程还可以将消息添加到自己的队列中。为了接受用户输入以及出于其他原因,具有窗口的每个线程必须不断地从其队列中检索消息,并对其采取行动。通过编写一个循环调用

2021-10-19 09:58:42 967 2

原创 C# 数据结构之嵌套加法、嵌套乘法

复杂性度量问题1.大O复杂度:嵌套加法找出以下代码片段的 Big O 复杂度。using System; namespace Chapter_1{ class Challenge_1 { static void Main(string[] args) { int n = 10; int sum = 0; float pie = 3.14F; for

2021-10-18 16:12:39 337

原创 Nlog连接密码隐藏

2021-09-22 09:58:18 77

原创 浅析Winform的可视样式

每一个C#的Winfrom项目的Main方法里,都有这么一行代码,那么它究竟是用来做什么的呢?Application.EnableVisualStyles();从注释来看,这是一行用作设置样式的代码,那么它究竟设置了哪些样式呢?源码浅析public static void EnableVisualStyles() { string assemblyLoc = null; // SECREVIEW : This Assert is .

2021-08-03 10:19:23 408

原创 C#多路广播委托的一点浅见

C#多路广播委托的一点浅见以上是C#官方对委托的定义与介绍,常规的委托定义比如delegate void test(string str);但是这种委托通常是和一个事件绑定,我们需要编写观察者模式的项目时候通常会出现的现象是委托、事件与要调用方法进行一对多的绑定,这时候就需要用到多路广播委托,也就是多播委托。C#对于多播委托的支持的有两种,通过Delegate.Combine和MulticastDelegate.Combine和两种方式进行创建。以下我们主要介绍后者。微软对于MulticastD

2021-07-30 08:11:31 348

原创 C#中延迟初始化实现原理的一点浅见。

C#中延迟初始化实现原理的一点浅见。定义延迟初始化:一个对象的延迟初始化意味着它的创建被推迟到它第一次使用。(对于本主题,延迟初始化和延迟实例化是同义词。)延迟初始化主要用于提高性能、避免浪费计算和减少程序内存需求。用法及简单介绍关于解决方法,微软给出了三种解决方案,这里主要聊Lazy。用法没什么好聊的,一句代码搞定。主要属性有两个,第一个是Value, 用于获取初始化的model值。另一个则是IsValueCreated,用于判断model是否被初始化。除了以上两个属性外,还有Laz

2021-07-30 08:09:18 200

原创 The host 127.0.0.1 does not support SSL connections.解决

连接字符串添加SslMode = none;

2018-11-23 14:17:59 2183

转载 Springboot官方文档之安装Springboot

https://stackoverflow.com/questions/31835033/web-xml-is-missing-and-failonmissingwebxml-is-set-to-true

2018-11-15 18:55:06 132

翻译 (一)SpringBoot官方文档之系统要求

SpringBoot官方文档之系统要求系统要求Spring Boot 2.0.0.RELEASE需要Java 8或9以及 Spring Framework 5.0.4.RELEASE或更高版本。为Maven 3.2+和Gradle 4提供了明确的构建支持。Servlet容器Spring Boot支持以下嵌入式servlet容器:名称 Servlet版本Tomcat 8.5 3.1Je...

2018-11-15 18:32:19 199

翻译 maven org.apache.maven.archiver.MavenArchiver.getManifest解决方法

org.apache.maven.archiver.MavenArchiver.getManifest解决方法简单的解决方案:降级到2.6版本更好的解决方案:更新Eclipse m2e扩展简单的解决方案:降级到2.6版本确实可能的解决方案是返回版本2.6,项目的进一步更新将删除任何错误。但是,这不是理想的情况,可以使用更好的解决方案:更新m2e扩展(Eclipse Maven集成)。更好的解...

2018-11-15 18:06:44 2328

《Async in C# 5.0》电子书

This book is for experienced C# developers that need to get a quick yet in depth look at what the new feature async in C# 5.0 means for their current and future projects. https://book.douban.com/subject/11592351/

2023-02-14

C#不规则封闭图形选点方案

C#不规则封闭图形选点方案

2021-12-20

Winfrom试题及答案.rar

Winfrom试题及答案(非八股文)

2021-10-19

ssm逆向工具

用于ssm逆向开发,搭起来,可按照方法实现ssm框架项目的开发

2018-11-15

空空如也

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

TA关注的人

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