- 博客(33)
- 资源 (34)
- 问答 (14)
- 收藏
- 关注
原创 2020年Java面试题50道《Java开发工程师》
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。3)封装:通常认为封装是把数据和操作数据的方法绑定起
2021-06-30 18:18:41 310
原创 Java 程序员们值得一看的好书推荐
“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯下去了。很多程序员们往往有看书的冲动,但不
2021-06-29 13:09:27 111
原创 C# 通过Dynamic访问System.Text.Json对象
有时在处理Http请求的时候,偷懒不想定义一个Model来处理,使用Dynamic来直接操作请求的数据是非常方便的C#中dynamic关键字❝dynamic关键字和动态语言运行时(DLR)是.Net 4.0中新增的功能。什么是"动态" 编程语言有时可以划分为静态类型化语言和动态类型化语言。C#和Java经常被认为是静态化类型的语言,而Python、Ruby和JavaScript是动态类型语言。 一般而言,动态语言在编译时不会对类型进行检查,而是在运行时识别对象的类型。这种.
2021-06-29 13:07:34 725
原创 JAVA应用开发和后台有什么区别?
作者:田元链接:https://www.zhihu.com/question/54440286/answer/139470697来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。JAVA应用开发:现在基本等同于Android开发,如果现在没在一个稳定的Android团队的话,在如今时间点(2017年)不建议学习了。(尝试一下也是可以的,谢绝撕逼)JAVA后台开发:1、算法:各种排序 (Java常用排序算法/程序员必须掌握的8大排序算法 - 續寫經典 .
2021-06-28 13:21:21 377
原创 自学 Java,有哪些书籍推荐?
作者:阿里云云栖号链接:https://www.zhihu.com/question/22340525/answer/174264953来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。开发规范:《阿里巴巴Java开发手册(正式版)》(V1.2.0版)更新(V1.2.0版)《阿里巴巴Java开发手册(正式版)》 - 知乎专栏这篇最新版本不只是规范汇聚了阿里,更有广大知乎程序猿、工程师、研发网友的智慧结晶。有关书籍方面推荐一篇博文:本书架主要针对Jav.
2021-06-28 13:19:02 1005
原创 C# 实现 Web 打印插件
前言最近,客户有个需求过来,Web端无预览打印,美其名曰:快捷打印。当时第一反应就是找插件,拿来主义永远不过时。找了一圈发现,免费的有限制,没限制的需要收费(LODOP真的好用)。说来就是一个简单的无预览打印,收费的诸多功能都无用武之地,总的来说性价比很低,所以就打算自己琢磨着写一个算了。刚开始总是纠结在Web端去实现直接打印,打印是实现了,结果是服务端的,客户端只能一脸懵。后来(准备妥协了),安装了一些收费的插件发现,都需要先安装一个客户端程序,灵光乍现,解决方案这不就出来
2021-06-27 11:22:54 709
原创 最全C#自学资源汇总
C#自学资源汇总C# 是一个简单的、现代的、通用的、面向对象的编程语言,是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。C#可以用来开发网站、桌面程序、xamarin跨平台开发手机、物联网应用。来自知乎:布莱恩特https://zhuanlan.zhihu.com/p/1576568951.适合初学者的视频和教程开发者工具下载https://msdn.itellyou.
2021-06-27 11:18:33 5911
原创 C# 中文验证码开发
Visual Studio版本:Enterprise 2015.net Framework版本:3.5代码分析首先中文汉字很多,采用字符集或者数据库的方式也行,但是比较麻烦,那么可以省去字符集和数据库吗,肯定是可以的,GB2312编码字符集。GB2312采用双字节编码方式。编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE。具体细节可以自行查阅,GB2312编码共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。一级为常用汉字,二级为偏僻或不常见的汉
2021-06-27 11:17:11 131
原创 C#+Selenium+ChromeDriver 爬取网页,完美模拟真实的用户浏览行为
背景Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀手武器。这里,我将介绍selenium + 谷歌浏览器的一般使用。需求在平常的爬虫开发中,有时候网页是一堆js堆起来的代码,涉及很多异步计算,如果是普通的http 控制台请求,那么得到的源文件是一堆js ,需要自己在去组装数据,很费力;但是采用Selenium+ChromeDriver可以达到.
2021-06-27 11:15:27 648
原创 C# File.Exists判断系统文件 警惕32位和64位的差异
前言在调试一个Winform程序,使用File.Exists 判断一个已经存在的驱动文件,程序一直返回false。因为驱动文件属于系统目录,心想难道是权限不够导致的?然后用管理员身份运行软件,依然返回false。吓的我赶紧去系统目录C:\Windows\system32\drives 搜索该文件,一看在这里啊,怎么还是返回false。开始还以为VS出问题了,然后尝试判断一个D盘下的文件,发现可以判断成功。判断代码如下// 获取系统目录var system
2021-06-27 11:12:20 1155
原创 C# + HtmlAgilityPack + Dapper走一波爬虫
最近因为公司业务需要,又有机会撸winform了,这次的需求是因为公司有项目申报的这块业务,项目申报前期需要关注政府发布的相关动态信息,政府部门网站过多,人工需要一个一个网站去浏览和查阅,有时候还会遗漏掉,因此呢,我们打算用爬虫+移动端web来做,我主要负责爬虫和web Api。爬虫篇爬虫主要采用.Net强大的开源解析HTML元素的类库HtmlAgilityPack,操作过XML的童鞋应该很快就可以上手,通过分析XPath来解析HTML,非常的方便的,还有一款不错的叫Jumony,没用过,对
2021-06-27 11:11:21 419
原创 .NET Core 部署到 Linux(CentOS) 最全解决方案(常规篇)
前言本文为大家介绍使用 .NET Core部署到Linux服务器的方法,通过本文你将了解到Linux在虚拟机下的安装、Xshell,Xftp的使用方法、git在linux下的交互使用以及.net core在linux下的发布与运行全过程,本文皆在总结了一些经验与笔记在部署过程中遇到的一些问题,同时分享给大家,供大家参考,欢迎讨论交流。一、Linux操作系统、Xshell、Xftp安装操作系统可选择你比较熟悉的Linux发行版,如果你是第一次接触Linux,推荐使用CentOs,因为本
2021-06-26 13:33:32 1129
原创 C# + Selenium + ChromeDriver 爬取网页
背景Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀手武器。这里,我将介绍selenium + 谷歌浏览器的一般使用。需求在平常的爬虫开发中,有时候网页是一堆js堆起来的代码,涉及很多异步计算,如果是普通的http 控制台请求,那么得到的源文件是一堆js ,需要自己在去组装数据,很费力;但是采用Selenium+ChromeDrive
2021-06-26 13:27:18 1232
原创 .NET Core 处理 WebAPI JSON 返回烦人的null为空
前言项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值,则代码实体类中对应的字段类型为可空类型Nullable<>,如int?,DateTime?,null值字段序列化返回的值都为null,前台对应字段赋值需要做null值判断,怎么才能全局把null替换为空。本文分享WebAPI接口服务统一返回null替换为空的方法。一、分析问题.NET Core中使用Newtonsoft.Json进行序列化,WebAPI接口返回格式通过Startup.c
2021-06-26 13:23:26 1026
原创 ASP.NET Core WebAPI解决发布后每隔一段时间请求变缓慢
环境 项目:.NET Core WebAPI 3.1 平台:Windows Server 2008 r2 服务器:IIS 7.5 前言项目发布到IIS以后第一次请求特别慢大概7.8秒,然后每隔5分钟请求一次大概2.3秒,下面讲解下我的解决过程,如果心急的朋友直接看最后一步。1、在IIS站点中设置HTTP响应头Cache-control这个把当前请求页面缓存了,会出现2个账号登录显示的是相同页面,请求响应的时间并没有提高
2021-06-26 13:22:34 3073
原创 WinForm调用摄像头扫码识别二维码
前言因公司业务需求,需要在Windows系统下调用摄像头识别二维码需求,就有了这个功能。根据网上网友提供的一些资料,自己整合应用到项目中,效果还不错(就是感觉像素不是太好)。现在将调用摄像头+识别二维码这两个功能单独出来写到这里,供大家讨论和参考。有什么不足或者问题大家可以提出来,共同改进共同进步。一、创建项目解决方案1、创建一个空的Winform项目解决方案,我起名叫他:ScanQRCode2、将Form1作为主窗体,设置相关属性: StartPositi
2021-06-26 13:20:22 854
原创 C# 脚本引擎 CS-Script
前言最近想要在程序中嵌入一个C#脚本引擎,在.NET Framework时代用过一个叫做CS-Script的东西,感觉还是不错,发现现在也支持.NET Core了,试着嵌入一下。比较要说能够运行C#脚本的解决方案,有Roslyn和Mono,与他们相比,CS-Script能够提供的封装更为高级,它底层是通过Roslyn之类的引擎运行的,在此基础上,提供了一些额外功能: 执行完整的C#文件 通过外部进程执行C#文件 在运行过程中链接多个C#文件,
2021-06-26 13:19:25 2045
原创 .NET Core 的优秀开源项目合集
前言开源项目非常适合入门,并且可以作为体系结构参考的好资源,GitHub中有几个开源的.NET Core项目,这些项目将帮助您使用不同类型的体系结构和编码模式来深入学习.NET Core技术,本文列出了不同类别的优秀的开源项目。eShopOnContainerseShopOnContainers是一个示例参考应用程序,演示了Microsoft的基于容器的微服务的各种体系结构模式。 分类:参考项目 License:MIT 架构:基于容器
2021-06-26 13:18:04 474
原创 理解 C# 中的 async await
前言一个老掉牙的话题,相关优秀文章已经有很多了,我写这篇文章完全是想以自己的思维方式来谈一谈自己的理解。(PS:文中涉及到了大量反编译源码,需要静下心来细细品味)一、从简单开始为了更容易理解这个问题,我们举一个简单的例子:用异步的方式在控制台上分两步输出"Hello World!",我这边使用的是 Framework 4.5.2class Program{ static async Task Main(string[] args) { Co
2021-06-25 18:26:03 290
原创 C# 调用动态链接库读取二代身份证信息
概述一般来说winform应用程序解决这个问题起来时很容易的,web应用程序就麻烦一点了。你必要有联机型居民身份证阅读器一个。实现方式1、新建一个winform控件项目ReadCardControl,添加一个主类ReadIDCardprivate bool ReadIDCard() { try { BLL.API.SynIDCardAPI.IDCardData CardMsg = new BL...
2021-06-25 18:22:11 422
原创 一款APP,秒杀50+视频平台VIP!
平时很多小伙伴在网上都会看到一些自己非常喜欢的视频,比如在一些短视频平台上、或者B站、头条、好看视频等等。对于一些视频如果下载下来,放在手机里随时观看,或者分享给小伙伴都是不错的选择。但视频网站那么多,有些是不支持下载的,怎么办呢?1、安装后打开工具,在软件里可以看到顶部可以直接输入视频链接,下面有三个分类功能,分别是“无水印列表”,点开后可以看到软件支持的网站,第二个是视频号视频的提取方法,第三个是直接在浏览器里嗅探视频。(可以看到支持50+的视频网站)2、点开“视频号提取”,
2021-06-25 18:16:25 312 1
原创 50 条成年人社交潜规则
听过这样一句话:“人90%的烦恼,都来自于人际关系。”人生在世,难免要与形形色色的人打交道,社交,已经成为每个成年人都必须面对的问题。而处理社交难题的关键,不在智商,而在情商。分享50条提高情商的社交技巧,相信读懂的人都能受益终身。01黄金有价,情无价。钱能解决的事,就不要消耗人情。02不要哭穷,也不要炫富。哭穷,别人会认为你矫情;炫富,别人会觉得你嘚瑟。03人前不能说的话,人后也不要说。因为你永远猜不到谁会把你
2021-06-25 18:13:58 387
原创 不用找了,50个备课网站一网打尽
一、教案资源类 ⭐ 国家教育资源公共服务平台 http://www.eduyun.cn/ ⭐ 教案资源吧 http://www.cn-teacher.com/Article/ ⭐ 中学教案网 http://ja.zxxk.com/ ⭐ 育星教育网 http://www.ht88.com/ ⭐ 教研网 http://www.zgjiaoyan.com/ ⭐ 学...
2021-06-25 18:07:16 794
原创 Java框架有哪些?Java开发十二大框架简介
1.Spring 框架Spring框架是现在Java后端框架家族里面最强大的一个,拥有IOC和AOP两大利器,简化了开发的复杂性。而且Spring现在能与所有主流开发框架集成,是一个万能框架,Spring让Java开发变得简单。2.Spring MVC 框架这是一个MVC的开源框架用来代替Struts,是Spring项目里面的一个重要部分,能和Spring IOC容器结合,拥有松耦合、方便配置、代码分离等特点,让 Java 程序员开发 WEB 项目变得更加容易。3.Spring Bo
2021-06-25 18:05:06 1131
原创 c# 之winform 可编辑table 踩过的坑
using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Drawing;using System.IO;using System.Reflection;using System.Text;using System.Text.RegularExpressions;using System.Web.Script.Serialization;.
2021-06-24 14:13:43 316
原创 两种方法来实现在C#的winform项目的多个窗体中传值
winform项目中,多个窗体间的传值是很多人比较关注的问题,因为在实际的项目开发中,这个技术是必须的。这个技巧的实现,不只是有一种方法,我们可以从多方入手,今天呢,就讲解两种方法。第一种方法,利用委托和事件。首先,我们创建两个winform窗体,对界面的设计如下:我们来假设有这么一个项目,我的主form需要得到其他的form(简称次form)的某些数据,如何得到呢?我们可以利用委托来实现的,第一步当然是创 建委托及事件。那么我们在哪个窗体创建呢?那就是次form了。我们在次form里面设置委托事件的
2021-06-24 14:09:51 980
原创 C#在WINForm程序中创建XML文件
<?xml version="1.0" encoding="gb2312"?> 1.0.1818.42821 说明 FileName="name" FileVersion="sdf" FileLength="sdf" FileCreationTime="sd" />string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;获取和设置包含该应用程序的目录的名称...
2021-06-24 14:05:35 178
原创 C# 人脸识别库
.NET人脸识别库ViewFaceCore这是基于SeetaFace6 人脸识别开发的.NET 平台下的人脸识别库这是一个使用超简单的人脸识别库这是一个基于.NET Standard 2.0 开发的库这个库已经发布到 NuGet ,你可以一键集成到你的项目此项目可以免费商业使用开源 开源协议:Apache-2.0 GitHub地址:https://github.com/View12138/ViewFaceCore 一、示例
2021-06-24 14:03:08 1323
原创 c#winform怎样实现动态生成控件
概述动态创建添加控件,可以在一个大容器里一次性放入多个控件。例:根据文本框中输入的数字 给flowLayoutPanel1 添加多少个button。窗体设计中,需要什么控件就从工具箱里拖出一个控件“挂”在窗体上。其实,窗体上的控件,不但可以“拖”,还可以用代码动态生成。动态生成控件,对需要相同的大量的控件还是比较有用的。实现方式1、加载数据,往panel添加Label 控件。 private void LoadRoomType() { DataTable
2021-06-24 14:01:41 1515
原创 C#-WinForm跨线程修改UI界面
背景在我做WinForm开发的过程中,经常会遇到耗时操作或阻塞操作。他们会引发软件的卡顿甚至假死,严重影响软件的使用。因此,这类耗时或阻塞的操作一般都会使用异步的方式去执行,不影响主线程(UI线程)与用户间的交互。但多个线程竞争读写同一个资源往往会造成意想不到的意外结果,UI界面也是一种资源,所以跨线程修改UI界面往往被加以限制。而在Winform中,跨线程修改UI界面同样是不被允许的。在子线程中修改界面控件时Visual Studio会报出如下错误:解决思路.Net提供了很多跨线程修改UI
2021-06-24 14:00:00 409
原创 【C# Windows窗体】上传文件
private void btnUpLoadPic_Click(object sender, EventArgs e) { //文件类型过滤 openFileDialog1.Filter = "图像文件(*.jpg,*.bmp,*.gif)|*.jpg;*.bmp;*.gif"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { ...
2021-06-24 13:49:34 523
原创 C# WinForm界面设计教程
WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C# 编程。C# WinForm 编程需要创建「Windows窗体应用程序」项目。.NET 提供了大量 Windows 风格的控件和事件,我们可以直接拿来使用,上手简单,开发快速。Windows 窗体应用程序是 C# 语言中的一个重要应用,也是 C# 语言最常见的应用。这套 C# WinForm 教程将教会大家如何使用 WinForm 进行界面设计,并绑定对应的事件
2021-06-24 13:48:11 15883
原创 如何使用C#在Windows中利用系统调用执行Shellcode注入
前言在通过Sektor7恶意软件开发必修课程学习了如何使用C语言编写Shellcode注入工具之后,我希望尝试如何在C#中执行相同的操作。实际上,使用P/Invoke来运行类似的Win32 API调用,并编写一个与Sektor7类似的简单注入工具非常容易。我注意到其中的最大区别是,没有直接等效的方法来混淆API调用。在对BloodHound Slack频道进行了一些研究和提问之后,在@TheWover和@NotoriousRebel的帮助下,我发现有两个主要的领域可以进行研究,一个是使用本地Wi...
2021-06-24 13:12:04 1286
C# .net core开发的分布式游戏服务端
2021-08-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人