|
最新文章
|
知识管理交流
→『 技术文档交流 』
本版文数:12408 今日文数:6707
|
|
【导读】曾几何时,写个VBA宏处理几万行数据,运行之后,Excel直接进入「未响应」模式,只能盯着转圈圈的鼠标发呆?其实,代码之所以龟速,可能不是电脑配置不行,而是因为原始的「蚂蚁搬家」读取法。1职场真实扎心瞬间在办公自动化中,ExcelVBA是很多人的「效率神兵」。但不少人在处理大数据量时,常写的逻辑如下:「处理5万...
|
|
最近客户的PACS应用需要进行升级,因为PACS用的SQL2012的数据库,应用厂家建议对应的SQL数据也需要升级到更高的版本。因此我们考虑了如下几种升级方案:1.通过备份恢复的方式升级这种方式支持将低版本数据库备份后,恢复到高版本数据库,但不能从高版本恢复到低版本。每个SQLServer版本都有一个或多个兼容性级别,...
|
|
开发人员对着满屏乱码的网络请求报文一筹莫展时,ProxyPin正用可视化的界面将那些难懂的流量转化为清晰可读的数据瀑布流。“网络卡顿”、“API出错”、“页面加载慢”......当这些问题出现在移动应用开发中,定位它们常常像是在大海捞针。开发团队不得不面对“后端说接口正常,前端怪网络波动”的日常拉锯战。传统抓包工具的操...
|
|
帮客户做完SQL数据库从2012升级迁移到2016后,发现原来应用连接数据的账号却无法登录连接数据库,导致应用无法正常运行。连接数据库的时候错误提示如下:当我用sa账号登录数据库后,查看迁移过来的数据库中是有这个帐号的,但是整个SQL实例中没有这个帐号。经过分析:原来SQLServer的用户管理有两层,SQL实例有一层...
|
|
在上一篇文章中提到的,什么时候会关注SQL数据库恢复模式的第二点:当数据库出现故障,需要对数据库进行数据恢复操作。有不太清楚第一点的朋友可以去看看彻底搞懂SQLServer数据库恢复模式及日志增长问题-1这里详细介绍SQL简单恢复模式和完整恢复模式下数据库备份和恢复的区别,以及如何避免日志过大的问题。在简单恢复模式下,...
|
|
经常对SQL数据进行维护的工程师都知道,SQL数据库针对特定的使用场景提供三种恢复模式:简单、完整、大容量日志。而且创建的数据库的时候,默认恢复模式就是完整,这也是我们平时使用最多的一种,另一种就是简单。这三种恢复模式,在我们平时使用数据库的过程中,其实感受都不是特别明显。大概只有两种情况下,我们会去关注SQL数据库的...
|
|
它是C#WinForm中用于数据展示、编辑、交互的核心控件,支持多种数据绑定方式、样式自定义和用户操作处理,下面从核心功能到实战细节逐一讲解。一、核心前提:控件添加1.可视化添加(推荐,WinForm项目C打开VisualStudio窗体设计器,从「工具箱」的「数据」分类中找到DataGridView,拖拽到窗体上,可...
|
|
在DataGridView中完整实现增、删、改、查(CRUD)核心操作,这是WinForm开发中处理结构化数据的常用需求。下面将基于「实体类集合+数据绑定」(项目开发首选,可维护性强),分步讲解完整实现方案,包含代码示例和关键注意事项。一、前置准备1.定义核心实体类(以Student为例,与上一篇讲解保持一致,方便衔接...
|
|
WinForm服务器端程序参照:C#写一个HttpJson格式Post、Get方法请求winform服务器WinForm客户端,支持手动发送GET/POST请求、自定义JSON内容、查看响应结果和请求日志。一、WinForm客户端功能设计1、基础配置:可修改服务器地址/端口,一键切换GET/POST请求;2、请求编辑...
|
|
C#WinForm程序中实现一个简易的HTTP服务器,能够处理JSON格式的GET和POST请求,这是一个很实用的需求,尤其适合做本地调试或轻量级服务。实现思路我会基于.NET自带的HttpListener类来实现这个HTTP服务器,它可以让WinForm程序监听指定端口并处理HTTP请求。核心步骤包括:1、初始化Ht...
|
|
一、面向对象编程(OOP)核心思想面向对象编程是一种以对象为核心的编程范式,它将现实世界中的事物抽象为程序中的对象,每个对象都包含自身的属性(数据)和行为(方法),通过对象之间的交互完成程序功能。其核心优势是提高代码的可复用性、可维护性和可扩展性,这也是C#作为面向对象语言的核心价值所在。二、C#OOP四大核心特性1....
|
|
在DataGridView中实现分页功能,这是处理大量数据时的常用需求,能避免表格加载过慢、提升用户操作体验。核心思路是基于全局原始数据源,通过「页码+每页显示条数」截取对应数据片段作为当前页数据,再绑定到DataGridView展示,同时配套分页控件实现页码切换、页数统计等功能。下面基于之前的Student实体和全局...
|
|
在DataGridView中实现数据筛选功能,这是展示数据时的常用需求。核心思路是基于全局原始数据源进行条件筛选,生成筛选结果集,再将结果集重新绑定到DataGridView刷新展示,且始终保留原始数据源不被修改,确保筛选操作可重复、无数据丢失。下面基于之前的Student实体和全局数据源,详细讲解两种常用筛选实现(精...
|
|
C#中实现自定义数值输入显示框,用于精准输入/显示数值(支持整数、浮点数、范围限制、格式控制等),替代默认TextBox的不足,适配工控、数据录入等场景。以下是基于WinForms的完整实现方案,包含自定义控件核心代码、使用方法及关键特性。一、核心思路自定义数值输入显示框的核心是继承TextBox基类(复用输入框原有交...
|
|
一、UI卡顿的核心根源UI线程(又称主线程)是专门负责处理UI渲染(控件绘制、界面刷新)和用户交互(点击、输入、拖拽等)的单线程。如果在UI线程中执行耗时操作(如数据库查询、文件读写、网络请求、复杂计算等),会阻塞UI线程的消息循环,导致界面无法及时刷新和响应用户操作,表现为界面卡顿、无响应、假死等现象。二、C#多线程...
|
|
C#中常用的定时器主要有4种,分别适用于不同场景,下面我将逐一详细介绍它们的语法、使用示例及核心特性。一、System.Threading.Timer(线程池定时器,无UI绑定)这是一个轻量级定时器,基于线程池线程执行回调,不依赖UI线程,适用于后台任务、非UI场景。核心语法构造函数(常用重载)://参数说明://ca...
|
|
随着视频内容日益丰富,用户对视频播放体验的要求也越来越高。默认的浏览器视频播放器虽然提供了基础功能,但在外观定制、交互细节和用户体验方面往往难以满足特定需求。一个精心设计的自定义视频播放器不仅能提供统一的界面风格,还能增强交互体验,比如添加进度条预览、键盘快捷键、更流畅的控制栏动画等。这些功能让用户在观看视频时获得更加...
|
|
Sqliteviz是一款免费开源、离线优先的数据可视化工具,用于对SQLite数据库和CSV、JSON等文件进行可视化分析。Sqliteviz采用Javascript语言开发,遵循Apache2.0开源协议,代码托管在GitHub:https://github.com/lana-k/sqliteviz功能特性•平台独...
|
|
要写好精准的复杂SQL查询,我们应该先把三个问题弄明白:一是这查询要对应啥实际业务场景,比如是电商算销量还是企业查库存;二是表结构(含:字段名、数据类型、关联关系),通俗地说,我们要清楚表的情况,包括表里有哪些字段、每个字段是数字还是文字,以及表和表之间怎么关联;三是明确查询目标,比如要多表统计数据、按条件筛选信息,还...
|
|
最近集成一个医院PACS接口时,里面字段太多了,我本来想自己写反射代码生成请求的XML,但后面想想,算了,直接用序列化吧。这里就对C#中的序列化做个总结,日后再用到也有个参考。正文本文介绍了C#中的序列化及4种序列化对象的方法(BinaryFormatter、SoapFormatter、XmlSerializer、Js...
|
|
在JavaScript中,replace()函数可通过正则表达式实现不区分大小写的字符串替换。以下是具体实现方法及示例:1.正则表达式结合i标志使用正则表达式作为replace()的第一个参数,并添加i标志(ignorecase)来忽略大小写。若需全局替换,可额外添加g标志。示例代码:javascript
const...
|
|
继续学习软件逆向技术零基础入门18个实例。前面有分析过,是同一个作者写的crackme,这个实例相比前一个他提高了点难度。当我们拿到一个软件时,首先是要运行它,了解下它的一个界面和大概的功能。比如我们今天分析的软件就相对简单,就是一个按钮。名字有个默认的用户名,要求我们输入注册码。这次的软件和前面相比,输入错误的注册码...
|
|
1.避免将多个类放在一个文件里面。2.一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3.一个文件最好不要超过500行的代码(不包括机器产生的代码)。4.一个方法的代码长度最好不要超过25行。5.避免方法中有超过5个参数的情况。使用结构来传递多个参数。6.每行代码不要超过80个字符。7.不要手工修改...
|
|
我们平时写SQL是不是总遇到头疼事儿?比如:嵌套子查询绕得像迷宫,看半天看不懂;想算个环比、累计数,搜半天教程还总出错;还有处理层级数据、行转列这些需求,明明不难却总卡壳。别慌!今天我们参考业界前辈的条目(因为系统引用业界前辈的条目,文后列有参考文献),整理了10个超实用的SQL技巧,从让查询更清晰的CTE,到能搞定层...
|