摘要:
在上一讲中,我们已经完成了一个完整的案例,在这个案例中,我们可以通过Angular单页面应用(SPA)进行登录,然后通过后端的Ocelot API网关整合IdentityServer4完成身份认证。在本讲中,我们会讨论在当前这种架构的应用程序中,如何完成用户授权。 回顾 《Angular SPA基于 阅读全文
摘要:
在前面两篇文章中,我介绍了基于IdentityServer4的一个Identity Service的实现,并且实现了一个Weather API和基于Ocelot的API网关,然后实现了通过Ocelot API网关整合Identity Service做身份认证的API请求。今天,我们进入前端开发,设计 阅读全文
摘要:
上文已经介绍了Identity Service的实现过程。今天我们继续,实现一个简单的Weather API和一个基于Ocelot的API网关。 回顾 《Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一)》 Weather API Weather 阅读全文
摘要:
好吧,这个题目我也想了很久,不知道如何用最简单的几个字来概括这篇文章,原本打算取名《Angular单页面应用基于Ocelot API网关与IdentityServer4+ASP.NET Identity实现身份认证与授权》,然而如你所见,这样的名字实在是太长了。所以,我不得不缩写“单页面应用”几个字 阅读全文
摘要:
在上文中,我介绍了如何在Ocelot中使用自定义的中间件来修改下游服务的response body。今天,我们再扩展一下设计,让我们自己设计的中间件变得更为通用,使其能够应用在不同的Route上。比如,我们可以设计一个通用的替换response body的中间件,然后将其应用在多个Route上。 O 阅读全文
摘要:
Ocelot是ASP.NET Core下的API网关的一种实现,在微服务架构领域发挥了非常重要的作用。本文不会从整个微服务架构的角度来介绍Ocelot,而是介绍一下最近在学习过程中遇到的一个问题,以及如何使用中间件(Middleware)来解决这样的问题。 问题描述 在上文中,我介绍了一种在Angu 阅读全文
摘要:
效果 首先看看效果: 本文将介绍如何基于Angular 8和Bootstrap 4来实现上面的主题切换效果。 设计 遵循Bootstrap的设计,我们会使用bootswatch.com提供的免费主题来实现上面的效果。Bootswatch为前端程序员提供了多达21种免费的Bootstrap主题,并且提 阅读全文
摘要:
手头有个ASP.NET Core 2.0的项目,打算将里面的依赖包进行一个版本升级,鉴于该项目还是一年前开发的,使用的是.NET Core 2.0的版本,这次正好借着.NET Core 3.0在上个月刚刚发布的机会,干脆一起将该项目所使用的.NET Core版本从2.0升级到3.0,但这过程也并不是 阅读全文
摘要:
在《容器化单页面应用中RESTful API的访问》以及《容器化单页面应用中Nginx反向代理与Kubernetes部署》两篇文章中,我介绍了一套容器化ASP.NET Core应用程序的方案,并对于Nginx反向代理的使用进行了介绍。在《使用Rancher在Microsoft Azure上搭建Kub 阅读全文
摘要:
Rancher是一种简化Kubernetes集群部署的方案,它的理念是,在任何地方运行Kubernetes集群。由于在最近的工作中需要用到,因此,就写一篇文章介绍一下Rancher的使用,以及通过Rancher在Azure上搭建Kubernetes集群的方式。开始使用RancherRancher的基... 阅读全文
摘要:
在《容器化单页面应用中RESTful API的访问》一文中,我介绍了一个在容器化环境中单页面应用访问后端服务的完整案例。这里我将继续使用这个案例,介绍一下容器化单页面应用部署的另一个场景:将Nginx的职责独立出来。注:这里单页面应用是值一个包含前端页面、后端服务以及后台数据库的一个完整应用系统,这... 阅读全文
摘要:
在上一篇博文中,我介绍了LOGO语言的C#实现,在该项目中,我使用了.NET下的语法解析框架:Irony。Irony框架最开始的时候是由Roman Ivantsov发布在codeplex上的一个开源项目,它使用MIT协议开源。由于2017年的时候,微软关闭了codeplex服务,为了让这个优秀的项目... 阅读全文
摘要:
上周在朋友中问了一圈,发现没有几个人知道Logo语言的,或许,这门古老的语言现在用的人已经非常少了,除了国外有少量的用户将Logo语言用于教育外,估计国内不会有人使用这门语言。其实,Logo语言本来也就是以编程教育为目的的一门寓教于乐的编程语言,因此,对于小朋友学计算机编程还是有些帮助的,使用Log... 阅读全文
摘要:
最近在工作中,需要让运行在容器中的单页面应用程序能够访问外部的RESTful API。这个需求看起来并不困难,不过实现起来还是有些曲折的。在此,我就将这部分内容总结一下。在入正题之前,有个一问题,就是为什么要将单页面应用放在容器中运行?这个问题其实跟“为什么要将应用程序容器化”是一个问题。简单来讲,... 阅读全文
摘要:
通过上文所介绍的内容,我们已经完成了RESTful API的开发,现在,就可以使用Azure DevOps来进行持续集成(CI)和k8s持续部署(CD)了。本文我会对使用Azure DevOps进行CI/CD的过程中需要注意的地方进行详细介绍,而对于Azure DevOps配置的详细步骤,我不会做太... 阅读全文
摘要:
通过上文所述案例,我们已经选择了最优回归算法来预测学生的综合成绩,并且完成了基于训练数据集的预测模型训练。从实现上,训练好的模型被保存成一个ZIP文件,以便在其它项目中直接调用以完成机器学习的实践场景。在本文中,我将介绍如何在ASP.NET Core中使用这个ZIP文件,以提供用于学生成绩预测的RE... 阅读全文
摘要:
在上文中,我简单地介绍了机器学习以及ML.NET的相关知识,从本讲开始,我会基于一个简单的案例:学生成绩预测,来介绍使用ML.NET进行机器学习以及API部署的基本过程。学生成绩预测案例本案例的数据来源为加州大学尔湾分校的机器学习公开样本数据集,数据介绍页面和下载地址为:https://archiv... 阅读全文
摘要:
打算使用几篇文章介绍一下.NET下的机器学习框架ML.NET的具体应用,包括一些常用的业务场景、算法的选择、模型的训练以及RESTful API的创建、机器学习服务容器化,以及基于Azure DevOps的容器化部署等等相关的内容。如果你从来没有玩过机器学习,也从来没有了解过ML.NET,那么,本文... 阅读全文
摘要:
想了很久,还是写这么一篇文章来总结一下有关分支策略和DevOps的一些内容吧。其实,DevOps相关的内容并不是我的工作范围,不过对于敏捷开发、DevOps、项目管理等等这一系列的与开发过程相关的内容,我还是有些经验的,也就抽时间跟大家分享一下吧。Git Flow应该是很多基于Git分布式版本控制系... 阅读全文
摘要:
本文继续介绍使用Ocelot、IdentityServer4以及Spring Cloud Eureka搭建微服务网关的步骤。相关文章:《使用Ocelot、IdentityServer4、Spring Cloud Eureka搭建微服务网关:Step by Step(一)》Step 4:引入Ocelo... 阅读全文