Html布局一把梭(1):flex(弹性布局)
前言后端写后端什么时候都是一件麻烦事,但是很多时候又没有前端来配合你,即便有blazor这种js解决方案,但是css还是必须由自己来写.
在以前CSS布局大多由盒子模型来胜任,其精髓大抵为:
123456789//CSS.box { height: 100px; width: 100px; margin: 20px; padding: 10px; border: 1px solid #000; background-color: #ccc;}
当然不同的 display 属性下的盒模型是不一样的,上图为display:block情况下的盒模型,当在display:inline、display:table-cell等情况下需要另外考虑。
在布局时,最烦人的莫过于居左居右居中,原因无他,实现方法太多,CSS的规则就是没有规则,在盒子模型的时候,大抵通过text-align和margin来设置.虽然现在的组件库大抵封装了Row和Col,但是这并不适用所有情况,而,再加上现在项目大抵都有响应式的需求,使得Flex(弹性布 ...
EF Core导航属性那点事
依赖关系EF默认情况下的依赖推测已经相当敏捷了,在大部分情况下都不用去指定依赖关系,比如在下面这种的博客-用户-标签关系中:
1234567891011121314151617class Blog{ public int Id { get; set; } public List<Tag> Tags { get; set; } public User Author { get; set; } public int AuthorId { get; set; }}class User{ public int Id public string Name { get; set; } public List<Blog> Blog { get;set; }}class Tag { public int Id { get; set; } ...
ASP.NET Core中的认证与授权
引言无论做什么应用,除非是完全公开的静态官网,总是会接触到认证与授权这两个概念.也许在小项目中这二者经常被混淆甚至误用,但是在现代化应用中,二者职责已相当分明,前者判断你是否合法,比如你登录爱奇艺时,认证中间件只判断账号密码是否正确,而当你点进一部新剧时,授权中间件则会对你账号的进行鉴权,比如是否有会员,是否有试看卷,通俗点来说,认证是鉴别用户是谁,而授权则是判断用户能做什么.
在ASP.NET core中认证是Authentication,授权是Authorization.也就是在项目入口中经常添加的
12app.UseAuthentication()app.UseAuthorization();
不同于以前在PHP中随便写写Cookie login,现在对安全的提高和权限的细分,已经使传统的基于Cookie和Session的认证方式无法完成部分环境要求(比如前后端分离后,部分接口认证转向JWT,或者Oauth2的授权码模式),传统ASP.NET MVC应用中,通常使用IdentityServier或者直接在Controller校验后HttpClient.Sigin(),现在这种方 ...
领域驱动ABP框架入门基础
ABP框架入门基础ABP是一个开源且文档友好的应用程序框架。ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型,可以支持 .net framework和 .net core两种技术流派。
概念领域驱动基于它的设计理念,在介绍ABP之前,先简单介绍下领域驱动概念设计.领域驱动(Domain-Driven Design ),并不是一种技术架构,而是一种划分业务领域范围的方法论。具体来说它是一种拆解业务、划分业务、确定业务边界的方法, 是一种高度复杂的领域设计思想,将问题拆分成一个个的域,试图分离技术实现的复杂性,主要解决的是软件难以理解难以演进的问题,目的就是将复杂问题领域简单化,帮助我们设计出清晰的领域和边界,可以很好的实现技术架构的演进。
以保险业务为例来进行编程实践,一个高度抽象的保险领域划分如图所示。通过用例分析,我们把整个业务划分成产品域、承保、核保、理赔等多个领域(Bounded-Context),每个领域又可以根据业务发展情况拆分子域。
分层在每个领域内部,相对于 MVC 对应用三层架构的拆分,领域驱动的设计将应用模块内部分为如 ...
打造一个舒服的hexo编写环境
hello world如你所见,我清空了原有blog,似乎是种轮回,每隔那么久,几乎避免的会丢失一部分痕迹.要说直接原因,之前腾讯云的备份脚本不知道什么时候挂了,导致从年初开始一些文章都没有备份,结果就是我在换数据库的时候大手一按直接格式化.再就是typecho的1.2版本更新带来的大量插件兼容问题,而使用的原有material主题作者已经不再维护,主题后台管理也出现了部分bug,虽然可以自行修复,但是实在不想再去研究php,material主题作者博客也切换到了hexo,我虽然早也有此想法,但是惰性和时间导致一直拖延到如今,再加上我和他一样,非常不喜欢无后端环境,也只怪typecho耗尽了最后一丝热情.半个月前就开始琢磨迁移,但是直到最近才敲定,由于审美不太行,之前那个material风格的hexo版也已经停更两三年了,不得以采用了目前的Butterfly.虽然Butterfly非常不错,但是其本身的风格我是不太喜欢的,但是其它的就更不符合我审美了…
编写环境Hexo的安装和其它配置没什么好说的,这些网上配置一大堆,不过值得说道的是本地编写中的VS Code部分,MarkDown支持 ...