最佳实践・用户登录模块设计

任何系统都少不了用户登录模块。一个安全、方便的登录模块可以成为系统与用户交互的良好开端。本文结合笔者的实际工作经验,以及相关知识的学习,旨在对登录模块的一般原理和设计方法进行一个系统性的阐述和总结,希望能够抛砖引玉,进一步深化自己对这一模块的认知。 一、生活中的登录场景 我们日常生活中已经习惯了这样...

Asp.Net Core 混合全球化与本地化支持

前言 Asp.Net Core 提供了内置的网站国际化(全球化与本地化)支持,微软还内置了基于 resx 资源字符串的国际化服务组件。可以在入门教程中找到相关内容。 但是内置实现方式有一个明显缺陷,resx 资源是要静态编译到程序集中的,无法在网站运行中临时编辑,灵活性较差。幸好我找到了一个基于数据...

基于EF Core存储的国际化服务

前言 .NET 官方有一个用来管理国际化资源的扩展包Microsoft.Extensions.Localization,ASP.NET Core也用这个来实现国际化功能。但是这个包的翻译数据是使用resx资源文件来管理的,这就意味着无法动态管理。虽然官方有在文档中提供了一些第三方管理方案,但是都不太...

从Alibaba-Cola到DDD,一线研发对领域驱动的思考

1、引言 说到DDD领域驱动设计,都有点蹭热点的感觉。这几年后端圈子逢人必提架构,提架构必提DDD,感觉DDD的中文翻译不像是“领域驱动设计”而是“对对对”,但是笔者作为一名研发大头兵在写代码的时候经常有种感觉“道理我都懂,但是我还是迷糊”的感觉,总是深感落地困难,在经历了多个DDD项目落地实践之后...

C#中使用 record 的好处

一晃距C# 9发布已经4年了,对于record关键字想必大家都不陌生了,不过呢发现还是有很多同学不屑于使用这个语法糖,确实,本质上 record 就是 class 的封装,能用 record 书写的类,那100%都是可以自己手撸出来的,但是呢有没有考虑 别人可能一分钟写好的代码你可能会需要数分钟才能...

产品架构设计:从业务到技术的递进

产品架构的搭建通常采用业务架构、应用架构、数据架构、技术架构共同完成。那么,产品的架构设计该怎么做?本文总结了相关思路,希望对你有所帮助。 产品经理的主要职责是根据客户的产品定位,推导出产品需求和功能,然后在技术层面上协助技术完成技术设计工作。 一、产品的来源 产品的源头: 成功经营的公司都会有明确...

DDD领域驱动设计理论

一、前言 领域驱动设计简称“DDD”,一套“知易行难”的方法论。同时我所工作的这些年,尤其在某大厂做初创项目的那段时间,经常会产生各式各样的“思想碰撞”,特别在设计中台基建类领域时,为了保证充足的扩展性和稳定性,都要好好的“碰撞”一下。虽然在设计过程中,每个人的想法不尽相同,但是最终达成一致的那一刻...

短信推送功能设计

短信相关的功能在产品设计中是非常频繁和重要的一项。本文对短信管理的功能进行了梳理,从推送类型、尝试和分类、应用展开叙述,希望对你设计短信推送功能有所帮助。 作为产品经理,在产品设计中,我们通常都不能忽视短信这一通信方式,未来会不会被淘汰不知道,但至少在目前来看,其在设计产品中依然有着重要作用。 前阵...

操作系统:SSH协议知识介绍

1、SSH协议概念介绍 SSH(Secure Shell)安全外壳协议,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可以在不安全的网络中对网络服务提供安全的传输环境,实现SSH客户端和SSH服务器端的连接,所以SSH是基于客户端-服务端模式。 2、SSH服务组成 SSH服务由服务...

Git 开发工作流程

一、开发分支模型分类 目前所在部门使用是主要是四种:dev(开发)、test(测试)、uat(预发)、release(生产) 小公司可能就一个 dev、一个 master 就搞定了,测试都是开发人员自己来🤣。 二、开发主体流程 需求评审 开发排期 编码开发 冒烟测试(自检验) 冒烟通过,提交测试,...