摘要:
对于Web开发来讲,前端接触是避免不了的,特别是对于中小公司,没有严格的职位区分,前后端人员互相身兼是常有的事情,使用一些好的框架,能够帮助我们快速开发并完成需要的功能,对于前端的JS框架来讲MVVM框架一直处于火热状态,现有名的三大巨头,Angular、Vue和React受众多人喜爱并且也用于公司 阅读全文
摘要:
设计初衷,之前有过手动维护五个项目的经历,且项目之间存在关联关系,当时是用Docker承载,也没有使用Jenkins,直接在服务器上装了Git,把代码Pull下来,然后靠手动执行编译部署,每次新代码进来,需要进入到每一个Docker容器中执行编译然后运行,哪个有改动,就进哪个容器中,在那时感觉也没什 阅读全文
摘要:
前言 在DbContext中已经具备了事务,对于多个实体的操作,能够在一个事务中保证。借助仓储在基于DbContext上的封装,我们能够更好的扩展复用。泛型仓储的使用又能简化对于基础功能的依赖,但是当现有事务范围不足以覆盖或是多个仓储操作,多次调用SaveChange后,整体的事务范围便发生了变化, 阅读全文
摘要:
前言 自定义仓储能够很大程度方便我们实现功能,但是对于自定义仓储中的公共部分,又是非常基础的功能,如基础增删改和列表查询,分页查询,单个查询等,对于大部分自定义仓储来讲都能够用的上,如果每个自定义仓储中都实现一套,代码冗余度太高,无效工作过滤耗费时间。 构建泛型仓储 泛型仓储抽象接口 在自定义仓储接 阅读全文
摘要:
前言 对于仓储模式,各有看法不同,直接使用DbContext简单方便,使用仓储模式扩展复用较好。受限于场景的差异,人员技能熟悉程度,交付时间,成本等选择哪种方式也有不同。 Controller&DbContext 当需要快速设计一个访问数据库Demo时,顺手便是Controller+DbContex 阅读全文
摘要:
前言 获取当前请求用户的基础信息是很常见的,诸如当前用户Id,角色,有无访问权限等。通常我们可以直接使用HttpContext.User来拿到当前经过认证后的请求人信息。但是这样对于分层应用不太友好,需要安装AspNetCore.Http.Abstractions的包,这样对于这层(非Web层)来讲 阅读全文
摘要:
在软件开发中,事件早已被我们所熟悉,一个按钮按下,产生中断事件,一个回车,前端页面有侦听事件,在事件风暴建模活动中,事件也是作为领域建模的突破口,事件的重要性不言而喻。其本质是发生的事实到引发了相关事情,在这其中的传递的信息便是事件的内容。就如同猫叫了,引发着老鼠跑了,主人醒了,其中的事件便是猫叫了 阅读全文
摘要:
### 前言 生活中可以见到很多传送带,河道,工厂流水线,快递服务等。去站点寄个快递,通过传送带,将快递从一端传递到另一端,再去站点收个快递。参照这种设计,我们可以将其融入到软件中,以实现许多功能。 在.Net Core中实现了一个高效,线程安全的队列System.Threading.Channel 阅读全文
摘要:
## 前言 几个月前在进行着.Net 472到6.0的升级,复用原有代码,在对Razor进行迁移中,发现原运行正常的代码,却存在报错,深入研究发现是Core下对Razor编译有一些变动。 ## 问题复现 ### 472 创建视图 新建.Net Framework下Mvc,增加一个简单视图如下。 `` 阅读全文
摘要:
作为开发人员,想要自己部署一个渠道访问或是想随时访问但是奈何魔法有限,又或是海外服务器太贵,不想耗费这个钱,本文借助 Serverless 来搭建一下私有 ChatGPT 服务,Serverless 按照使用量来计费,个人使用下(满足工作和生活)费用相当低。 本文过程较为繁琐,也有更为简便的其他方式 阅读全文
摘要:
前言 有时候想快速验证一些想法,新建一个控制台来弄,可控制台模板是轻量级的应用程序模板,不具备配置、日志、依赖注入等一些功能。 缓存 在网站开发中,缓存无处不在,它能够极大地提高硬件和软件的运行速度。性能优化的第一步便是使用缓存,例如频繁的从数据库中读取,需要和底层IO交互,性能受限,如将常用数据加 阅读全文
摘要:
前言 有时候想快速验证一些想法,新建一个控制台来弄,可控制台模板是轻量级的应用程序模板,不具备配置、日志、依赖注入等一些功能。 通用主机 在Asp.Net Core中有WebHostBuilder来提供DI,Configuratio,日志等功能,很是齐全,如果是在控制台中使用呢,或是使用的场景不单单 阅读全文
摘要:
前言 有时候想快速验证一些想法,新建一个控制台来弄,可控制台模板是轻量级的应用程序模板,不具备配置、日志、依赖注入等一些功能。 日志 .Net Core自带了一个基础的logger框架Microsoft.Extensions.Logging提供记录日志功能,能够按日志不同级别记录日志信息(Infor 阅读全文
摘要:
前言 有时候想快速验证一些想法,新建一个控制台来弄,可控制台模板是轻量级的应用程序模板,不具备配置、日志、依赖注入等一些功能。 依赖注入 在Asp.Net Core应用程序中,可以通过依赖注入使用IConfiguration接口来使用配置。而控制台模板十分简单,没有内置依赖注入,应用程序所依赖的功能 阅读全文
摘要:
前言 有时候想快速验证一些想法,新建一个控制台来弄,可控制台模板是轻量级的应用程序模板,不具备配置、日志、依赖注入等一些功能。 Configuration 在Asp.Net Core应用程序中,可以通过依赖注入使用IConfiguration接口来使用配置。而控制台模板十分简单,没有内置依赖注入,应 阅读全文
摘要:
前言 尽管可以通过可视化数据监控系统运行状态,但我们无法时刻关注系统运行,因此需要一些实时运行的工具能够辅助监控系统运行,当系统出现运行问题时,能够通知我们,以此确保系统稳定性,告警便是作为度量指标监控中及其重要的一环。 Prometheus告警介绍 在Prometheus中,告警模块为Alertm 阅读全文
摘要:
Prometheus介绍 Prometheus 是一套开源的系统监控与报警框架,以便于我们能够监控生产环境下的应用与服务。启发于 Google 的 BorgMon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于 2015 年正式 阅读全文