摘要:JWT(JSON Web Token)是目前最流行的认证方案之一。博客园、各种技术公众号隔三差五就会推一篇JWT相关的文章,真的多如牛毛。但我对JWT有点困惑,今天写出来跟大家探讨探讨,不要喷哈。 JWT原理 本文默认读者已经对JWT有所了解,下面不再详细介绍JWT,只简单提一下。 JWT全称JSO 阅读全文
posted @ 2020-08-30 23:52 Agile.Zhou 阅读(4594) 评论(93) 推荐(26) 编辑
摘要:微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个 阅读全文
posted @ 2020-06-29 16:02 Agile.Zhou 阅读(4345) 评论(79) 推荐(54) 编辑
摘要:最近Blazor热度很高,传说马上就要发布正式版了,做为微软脑残粉,赶紧也来凑个热闹,学习一下。 阅读全文
posted @ 2020-05-09 00:18 Agile.Zhou 阅读(5034) 评论(12) 推荐(20) 编辑
摘要:2020年新年将至,先预祝.Net Core越来越好。 做了这么多年一线开发,经常跟Http打交道。比如调用三方的Webservice,比如集成微信支付的时候服务端发起Prepay支付。特别是现在分布式、微服务大行其道,服务间通讯都离不开http调用。 多年前也造过几个http client的小轮子 阅读全文
posted @ 2020-01-13 01:15 Agile.Zhou 阅读(1511) 评论(9) 推荐(24) 编辑
摘要:AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器。它可以集成进你的Core程序里,用来快速的响应Http请求,而不需要集成整个ASP.NET Core MVC 框架。 一:什么是ASever? AServer就像它的名字一样,Just a server,它的 阅读全文
posted @ 2018-10-22 09:54 Agile.Zhou 阅读(3612) 评论(3) 推荐(8) 编辑
摘要:当我们开发一款App的时候,App需要跟后台服务进行通信获取或者提交数据。如果我们没有完善的安全机制则很容易被别用心的人伪造请求而篡改数据。 所以我们需要使用某种安全机制来保证请求的合法。现在最常用的办法是给每个http请求添加一个签名,服务端来验证签名的合法性,如果签名合法则执行响应的操作,如果签 阅读全文
posted @ 2016-09-22 01:23 Agile.Zhou 阅读(12381) 评论(69) 推荐(25) 编辑
摘要:.Net Core 1.0终于发布了,Core的一大卖点就是跨平台。这个跨平台不只是跨平台运行,而且可以跨平台开发。今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调试代码。 1.安装.NET Core 在mac上打开终端: ~$ brew update ~$ br 阅读全文
posted @ 2016-07-08 01:40 Agile.Zhou 阅读(18958) 评论(11) 推荐(7) 编辑
摘要:一:Helios是什么 Helios是一套高性能的Socket通信中间件,使用C#编写。Helios的开发受到Netty的启发,使用非阻塞的事件驱动模型架构来实现高并发高吞吐量。Helios为我们大大的简化了Socket编程,它已经为我们处理好了高并发情况下的解包,粘包,buffer管理等等。 Gi 阅读全文
posted @ 2016-01-14 02:17 Agile.Zhou 阅读(12352) 评论(75) 推荐(59) 编辑
摘要:从Unity到Spring.Net,到Ninject,几年来陆陆续续用过几个IoC框架。虽然会用,但也没有一直仔细的研究过IoC实现的过程。最近花了点时间,下了Ninject的源码,研究了一番,颇有收获。下面我要实现一个最最简单的IoC容器,以让跟我一样的小菜能更好的理解IoC框架的到底为我们做了什 阅读全文
posted @ 2013-10-29 23:46 Agile.Zhou 阅读(4693) 评论(8) 推荐(12) 编辑
摘要:微服务是这几年最流行的架构,说起架构不提微服务都不好意思跟人家打招呼。最近想要再梳理一下关于微服务的知识,并且结合本人的一些实践经验来做一些总结与分享。前面会分享一些概念性的东西,后面也会使用.net来实践,一步步完成一个简单的微服务架构的小demo。 什么是微服务 其实微服务并没有统一的标准定义。 阅读全文
posted @ 2021-05-10 01:00 Agile.Zhou 阅读(4054) 评论(32) 推荐(41) 编辑
摘要:Azure Container Registry(容器注册表)是基于 Docker Registry 2.0规范的托管专用 Docker 注册表服务。 可以创建和维护 Azure 容器注册表来存储与管理专用的 Docker 容器映像和相关项目。 Azure Container Registry 类似 阅读全文
posted @ 2021-05-06 23:58 Agile.Zhou 阅读(187) 评论(4) 推荐(4) 编辑
摘要:最近维护的一个系统并发有点高,所以想引入一个消息队列来进行削峰。考察了一些产品,最终决定使用kafka来当做消息队列。以下是关于kafka的一些知识的整理笔记。 kafka kafka 是分布式流式平台。它由linkedin开发,后贡献给了Apache开源组织并成为顶级开源项目。它可以应用在高并发场 阅读全文
posted @ 2021-04-27 10:06 Agile.Zhou 阅读(2490) 评论(20) 推荐(16) 编辑
摘要:最近折腾 azure sql database 的时候发现了微软的一款新的数据库管理工具: azure data studio。从名字上看 azure data studio 好像是专门为 azure 开发的,其实并不是这样的 。它同样支持对传统sql server的查询于管理。 azure dat 阅读全文
posted @ 2021-04-22 10:42 Agile.Zhou 阅读(1220) 评论(5) 推荐(9) 编辑
摘要:AgileConfig自发布以来有个“大问题”-UI太丑。因为当初这个项目是给自己用的,连UI界面都没有,全靠手动在数据库里改配置。后来匆匆忙忙使用bootstrap3简单的码了一些界面就发布出来了,易用性上也做的不够好。对此我一直耿耿于怀。终于在过年期间动手翻新UI。 对于一个后端程序员,标准的直 阅读全文
posted @ 2021-04-14 14:19 Agile.Zhou 阅读(1834) 评论(14) 推荐(14) 编辑
摘要:AgileConfig 在使用 react 编写UI后,变成了一个彻彻底底的前后端分离的项目,上一次解决了把react spa 跟asp.net core 站点集成起来 asp.net core 集成 react spa。本来我每次提交代码的时候都需要手动运行npm run build,然后把dis 阅读全文
posted @ 2021-04-02 16:19 Agile.Zhou 阅读(787) 评论(2) 推荐(7) 编辑
摘要:在这容器化的世界里,我们已经很少直接通过文件发布来运行asp.net core程序了。现在大多数情况下,我们都会使用docker来运行程序。在使用docker之前,我们往往需要打包我们的应用程序。asp.net core程序的镜像打包,网上有很多教程,其中大多数是使用sdk这个镜像来直接打包。打出来 阅读全文
posted @ 2021-03-29 12:50 Agile.Zhou 阅读(1017) 评论(3) 推荐(8) 编辑
摘要:AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesign Pro + .NET Core 实现基于JWT的登录认证),但是还有点问题。现在使用react重写后,agileconfig成了个确确实实的前后端分离项目。那么其实部署的话要分2个站点部署,把 阅读全文
posted @ 2021-03-15 13:53 Agile.Zhou 阅读(948) 评论(15) 推荐(8) 编辑
摘要:很多同学说AgileConfig的UI实在是太丑了。我想想也是的,本来这个项目是我自己使用的,一开始甚至连UI都没有,全靠手动在数据库里修改数据。后来加上了UI也是使用了老掉牙的bootstrap3做为基础样式。前台框架也是使用了angularjs,同样是老掉牙的东西。过年期间终于下决心翻新Agil 阅读全文
posted @ 2021-03-04 00:51 Agile.Zhou 阅读(2970) 评论(14) 推荐(21) 编辑
摘要:首先祝大家新年快乐,身体健康,万事如意。 一般来说一个系统最先出现瓶颈的点很可能是数据库。比如我们的生产系统并发量很高在跑一段时间后,数据库中某些表的数据量会越来越大。海量的数据会严重影响数据库的读写性能。 这个时候我们会开始优化系统,一般会经过这么几个过程: 找出SQL慢查询,针对该SQL进行优化 阅读全文
posted @ 2021-02-18 09:58 Agile.Zhou 阅读(2950) 评论(25) 推荐(23) 编辑