后端
书中自有妍如玉
授人以鱼不如授人以渔。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
express-generator 配置typescript
摘要:本文介绍了将Express项目从JavaScript迁移到TypeScript的完整流程。首先使用express-generator创建基础项目,然后安装TypeScript及相关依赖。通过配置tsconfig.json文件、调整项目结构(移动文件到src目录并修改扩展名)、更新package.json脚本等步骤实现迁移。最后提供了开发(npm run dev)、构建(npm run build)和生产(npm start)三种运行模式的操作指南,帮助开发者建立完整的TypeScript开发环境和构建原创 2025-11-06 11:47:03 · 306 阅读 · 0 评论 -
Node.Js 实现模板生成Word、Word转Pdf文件、Excel生成、上传和下载
本文介绍了使用Node.js处理文件的相关操作,主要包含三部分功能:1. 使用docxtemplater模块动态生成Word文档,通过模板路径、输出路径和数据参数进行文档渲染和保存;2. 使用xlsx模块将JSON数据转换为Excel文件,并支持删除不需要导出的列;3. 实现文件上传下载功能,包括文件类型校验、重命名和下载接口。代码片段展示了各个功能的核心实现方法,涉及常用文件处理库如xlsx、docxtemplater、jszip等的使用。原创 2025-11-03 12:02:08 · 312 阅读 · 0 评论 -
Node.Js Express Sqlite3 接口开发
本文介绍了如何使用Express框架构建Node.js应用并集成SQLite数据库ORM操作。首先通过安装Node.js环境和Express框架搭建基础服务,创建监听3012端口的应用,配置JSON解析和静态文件中间件。重点演示了两种API实现方式:直接使用app.all方法和express.Router路由中间件。文章详细讲解了一个完整的SQLite ORM实现方案,包含数据模型定义、CRUD操作和事务处理功能,通过读写锁机制保证并发安全。该ORM支持基本的增删改查、批量操作和事务处理,最后展示了如何通过原创 2025-11-03 11:54:14 · 351 阅读 · 0 评论 -
Server-Sent Events(SSE): SSE也是HTML5中新增的一种技术,它允许服务器端发送一系列事件到客户端,这些事件可以是JSON、XML等格式,客户端通过事件监听器来处理这些事件,
摘要:本文介绍了使用Server-Sent Events(SSE)实现服务器推送的异步方法。后端采用C#实现异步Action方法,通过设置响应头为text/event-stream,并定期查询数据库获取最新数据推送给客户端。前端使用EventSource API建立连接,处理服务器推送的消息并动态更新页面内容。代码实现了错误处理机制,包括自动重连功能和3秒重连间隔。这种方法避免了HTTP请求阻塞,适用于需要实时数据更新的场景。原创 2025-08-08 09:08:00 · 238 阅读 · 0 评论 -
.net 使用MQTT订阅消息
本文介绍了使用M2Mqtt库(.NET Framework版)实现MQTT消息订阅的方法。首先通过NuGet获取M2Mqtt 4.3.0版本,然后演示了订阅MQTT主题的代码实现,包括连接参数设置(IP、端口、用户名密码)、QoS级别配置等。通过MqttMsgPublishReceived事件处理消息接收,示例中包含解析站点编号和异常处理逻辑。代码展示了完整的MQTT客户端订阅流程,从连接到消息处理的全过程,适用于需要实时接收MQTT消息的.NET应用开发。原创 2025-06-06 17:03:56 · 557 阅读 · 0 评论 -
在C#中,可以通过使用委托(delegate)或者是事件(event)来将方法作为参数传递。
/ 将传入的数值翻倍。// 定义一个委托类型,它表示一个接受一个int参数并返回int的方法。// 创建一个lambda表达式作为参数。// 创建一个匿名方法作为参数。// 使用委托的方法。原创 2024-12-19 08:56:57 · 376 阅读 · 0 评论 -
C#根据任意时间 得到所在周得开始和结束时间
【代码】根据任意时间 得到所在周得开始和结束时间。原创 2024-12-05 16:38:50 · 432 阅读 · 0 评论 -
写入json和读取json文件
return Json(new { code = 200, message = "保存成功" });原创 2024-11-29 16:40:58 · 626 阅读 · 0 评论 -
服务器访问端口命令
这些命令可以帮助管理员监视服务器上的端口状态,管理服务器的网络连接,以及配置服务器的防火墙规则,保护服务器的安全。iptables:这个命令也是用于管理Linux服务器上的防火墙规则。可以使用iptables -L命令查看当前的防火墙规则,使用iptables -A命令添加对特定端口的访问规则。可以使用telnet 命令连接到服务器上指定的端口。可以使用netstat -a命令列出服务器上所有的开放端口和它们的状态。ufw:这个命令是用于管理Ubuntu服务器上的防火墙规则。原创 2024-08-29 16:18:49 · 1231 阅读 · 0 评论 -
mvc从客户端中检测到有潜在危险的 Request.Form 值
3,如果你使用的是.Net 3.5,MVC 2.0及更高的版本,那么可以在处理Post方法的Action添加一个特性:[ValidateInput(false)],这样处理就更加有针对性,提高页面的安全性。原以为就像普通的Asp.net页面一样,在头部的Page中加入ValidateRequest="false"就行了,谁知问题还是存在。1,在出现该错误的页面头部的page中加入ValidateRequest="false",那么该页面的任何一次Post提交都不会再验证提交内容的安全性。原创 2024-07-18 15:52:01 · 1549 阅读 · 0 评论 -
fetch请求后端返回文件流,并下载。
AirRankModel类。原创 2024-04-28 15:42:33 · 1343 阅读 · 0 评论 -
前台向后台传递参数时,HTML标签<p>、<span>丢失已经报错等问题解决方案
前台向后台传递参数时,特殊字符(+、-)标签、 丢失的问题,原因是由于系统后台的。或者其他拦截器针对脚本语言进行过滤导致的,针对这种情况可以通过使用hex编码绕过。2.在后台对前端传过来的数据进行解析。1.前端页面对传输的数据进行加密。原创 2024-04-19 11:28:12 · 686 阅读 · 0 评论 -
sqlserver 根据开始结束日期 生成table
这是 master..spt_values 查询出来的数据,上图可以看到它又很多的类型,这里只运用到了自然数。自然数序列0~2047的 name 为 NULL ,类型为 p。所以利用 master..spt_values 来从生成连续的日期值。最后用关联去查询你所需要日期与数据,数据又做了一个 为 NULL 替换成 0。利用master数据库下的spt_values表生成一个连续的日期。master存储了一些存储过程运行所需要的数据取值范围到2047。这个表有名称,值,类型,最小,最大,状态等。原创 2024-02-05 11:41:41 · 680 阅读 · 0 评论 -
c# 获取用户IP4
【代码】c# 获取用户IP4。原创 2024-01-22 10:58:54 · 1206 阅读 · 0 评论 -
C# DataTable 总结常用方法
3】Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。删除DataTable中的行三种方法:(DataTable.Rows.Remove(DataRow dr)、DataTable.Rows.RemoveAt(i)、DataRow.Delete())DataTable() 不带参数初始化DataTable 类的新实例。原创 2023-12-11 17:23:01 · 2988 阅读 · 0 评论 -
sqlserver6
原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的。> FieldName like '[a-zA-Z]%' --------- ([]指定值的范围)> FieldName like '[^F-M]%' --------- (^排除指定范围)[吖-座]是中文字符集第一个到最后一个的范围,虽然匹配准确,但是用Like的效率很低。SQL判断某列中是否包含中文字符、英文字符、纯数字。方法一、包含中文字符。原创 2023-11-08 16:16:41 · 276 阅读 · 0 评论 -
Sqlserver5
单表//多表。原创 2023-10-30 15:32:30 · 138 阅读 · 0 评论 -
Sqlserver4
delete from TableName where 1=1drop tableName原创 2023-10-28 23:33:05 · 102 阅读 · 0 评论 -
Sqlserver3
select 1,‘张三’原创 2023-10-28 23:32:13 · 79 阅读 · 0 评论 -
SqlServer2
create table TableName(id int identity(1,1) primary key not null,name varchar(50) not null)原创 2023-10-28 23:30:44 · 89 阅读 · 0 评论 -
Sqlserver
select * from Table原创 2023-10-28 23:29:34 · 86 阅读 · 0 评论 -
.NET CORE 3.1 集成JWT鉴权和授权2
注意,账号先不用admin登录,然后用返回的token去请求我们刚刚添加的指定权限访问的接口,这个时候是没有权限访问的,因为这个是admin权限访问。注意,账号先不用admin登录,然后用返回的token去请求我们刚刚添加的指定权限访问的接口,这个时候是没有权限访问的,因为这个是admin权限访问。一旦用户登录,每个后续请求将包括JWT,允许用户访问该令牌允许的路由,服务和资源。等token设置的过期时间到了,或者重新生成了新的Token,没有及时更新,那么我们的授权也到期,401,原创 2023-10-26 11:25:22 · 1572 阅读 · 0 评论 -
C#取两个集合的交集、并集和差集
【代码】C#取两个集合的交集、并集和差集。原创 2023-10-26 10:33:25 · 1375 阅读 · 0 评论 -
C#(JS)几个常用的正则表达式
/判断是否包含字母。快一个月没更新了,今天写几个比较常用的正则表达式。原创 2023-10-25 09:58:57 · 479 阅读 · 0 评论 -
Vue 使用SignalR.JS与Microsoft.AspNetCore.SignalR实时通讯
针对于Web与其他应用的的通讯,在.Net中,SignalR是一个不错的选择,在前后端没有分离的时候,直接引用对应的signalr.js文件即可;其次在Startup.cs中进行注入和配置,在ConfigureServices中添加如下代码。前提:通过Nugut 引入Microsoft.AspNetCore.SignalR 包。其次开始封装js,这里是在utils文件夹下创建了signalR.js文件,内容如下。最后在Configure中配置相关中间件使用,代码如下。到此,服务端准备完毕!原创 2023-09-24 16:40:49 · 720 阅读 · 0 评论 -
C# DataTbale操作API
【代码】C# DataTbale操作API。原创 2023-09-19 14:22:46 · 271 阅读 · 0 评论 -
C# 扫描并读取图片中的文字(.NET Core)
情况2:如果是.net core 3.0以下版本(如本文本中的测试环境),则需要 下载Spire.OCR包,并解压,将该文件路径Spire.OCR\Spire.OCR_Dependency\x64中的6个dll复制到程序运行路径F:\VS2017project\ReadTextFromImg_OCR\ReadTextFromImg_OCR\bin\Debug\netcoreapp2.1。(2)在弹出的界面中,选择【浏览】-在搜索框中输入Spire.OCR,点击“安装”(3)完成后,可查看到已添加的依赖项。原创 2023-09-13 08:54:20 · 1584 阅读 · 2 评论 -
C# Dictionary判断某个Key已存在的3种方法(Keys.Any(),TryGetValue(),ContainsKey())
本人推荐第三种,这个简单一点。写法类似于Linq。原创 2023-08-30 17:18:07 · 2778 阅读 · 0 评论 -
DataTable扩展 列转行方法(2*2矩阵转换)
DataTable newdt = dt.AsEnumerable().Where(p => p.Field("City") == "武汉").CopyToDataTable().PivotDatatableColToRow("SDateTime,PM25,PM10,O3,NO2,SO2,CO");原创 2023-08-30 16:33:09 · 715 阅读 · 0 评论 -
C# 行列互转 List<T>、DataTable和匿名对象 行转列
在将列转换为行之后,您可能希望获得List或dynamic[],而不是获得DataTable。在这篇文章中,我们将做同样的事情,但是使用c#的数组和数据表,使用LINQ或Lambda表达式的力量。您可以使用相同的扩展方法来获取如下所示的行转列的 DataTable。为此,我更新了扩展方法以获得动态对象。C# 将Datatable行转列成Datatable。您可以为扩展方法创建一个静态类并将其放在那里。C# 将List集合行转列到匿名对象集合。现在,要将行转换为列并获得动态数组。转载 2023-08-29 11:45:44 · 2891 阅读 · 0 评论 -
C# DataTable按指定列排序
/按Id倒序和Name倒序。//返回一个新的DataTable。原创 2023-08-18 10:24:33 · 1807 阅读 · 0 评论 -
ASP.NET CORE API使用SignalR
。。原创 2023-07-27 10:49:40 · 174 阅读 · 0 评论 -
ASP.NET MVC-WebAPI请求
而这种特定的格式并不是我们常见的 key=value 的键值对形式。有时候我们还会遇到需要传递多个不同对象参数的情况,对于这种特殊的情况在 Json.Net 中为我们提供了一个 名为 JObject 的通用对象容器,我们可以通过 .对象名 的方式来动态的遍历参数里面的属性的值,然后动态的转换和json类型中对应的属性类型。上面我们在测试的过程中,都是通过自己创建的Controller控制器类来对参数进行接收处理,可能有人会问,我们这么写到底是否符合规范呢,Web API中默认是怎么来处理的呢?原创 2023-05-16 10:01:46 · 1126 阅读 · 0 评论 -
.net core 中的[FromBody]和[FromForm]的区别
1.如果客户端Content-Type是application/json, api接口如果是用单个对象做参数的时候,加或者不加[FromBody]都可以正常解析参数,但是如果用对象列表做参数时候,则必须加[FromBody],否则必须加[FromBody],要不然就读不到参数了。如果客户端提交的数据Content-Type如果不为application/json时,会报错,如果要解决报错,需要在接口上加上[FromForm]。综合上述,客户端如果是提交json数据时候建议都加上[FromBody]。原创 2023-04-19 14:19:53 · 1491 阅读 · 0 评论 -
C# List(DataTable,ArrayList,Dictionary)集合Linq to Entity Lamda方式分组并求和求平均值
ps:最后用Math.Round(group.Average(q => q.SValue),3)函数保留3位小数报了一个错 无法从“decimal?”转换为“decimal。解决方法是 Math.Round(Convert.ToDecimal(group.Average(q => q.SValue)),3)。需求,对SuperHourModel集合根据Name属性分组,算出Svalue的平均值。并由大到小排序取出前十条的参数名称和值。原创 2023-04-18 18:24:16 · 771 阅读 · 0 评论 -
每日一问:什么时候使用接口,什么时候使用抽象类?
方案一:骑共享单车去最近的地铁口,然后转2号线或者4号线到武汉高铁站或者武汉天河机场,换成通往北京的高铁或者飞机。像这种可以提供一整套的行程规划,按时间话费最少和费用花费最少两种模式设计,这种高度封装的方案适合用抽象类。可以徒步旅行,可以骑共享单车,可以自驾游,可以叫出租车等等,像这种比较单一性,耦合度不高的方案适合用接口。便于需求变更的维护性。抽象类用于公共,提高复用性。接口用于扩展和可维护。从武汉出发去北京天安门这个需求。方案二:还是武汉去北京这个需求。原创 2023-03-05 17:34:51 · 347 阅读 · 0 评论 -
C# WebAPI 路由配置
背景:在开发项目的过程中,新创建了一个controller,发现vs会给我们直接在controller头添加前缀,比如[Route("api/[controller]")],即在访问接口的时候会变成http://localhost:8000/api/values,但是如果控制器有很多个,或者要进行版本迭代时,我们会发现痛苦的时刻降临了,要一个一个的修改。如果在这个时候可以进行全局配置前缀那真是福利呀,修改一处即可。ApiExplorerModel:包括描述信息,群组信息,可见性等。原创 2023-03-03 15:40:03 · 2301 阅读 · 0 评论 -
C# 委托+事件实现发布与订阅
【代码】C# 委托+事件实现发布与订阅。原创 2023-03-02 16:33:28 · 394 阅读 · 0 评论 -
将数据类型为Datatable的数据转化为list
【代码】将数据类型为Datatable的数据转化为list。原创 2023-02-23 11:20:42 · 684 阅读 · 0 评论 -
.NET WinForm桌面程序设计
技术:基于微软强大的.net平台,引用第三方[Quartz 2.5.0.0]任务调度器(后面会专门写一个Quartz的安装使用教程),使用C#高级语法委托的方式实现消息的收集和发布。作业类的实现,下面的代码主要是业务逻辑代码,这里模拟的静态数据作为测试,每隔1秒不断随机产生张三xxx,并加入消息提醒推送,真实环境是通过调用微信开发平台API接口推送给用户。3.编码,包含写入注册表,开机自启,初始化调度器配合作业和时间触发器加入调度器。背景:公司项目需求,需要每天或每小时20分定时推送消息给用户。原创 2023-02-16 17:36:03 · 1071 阅读 · 0 评论
分享