<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FatTigerWang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FatTigerWang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FatTigerWang]]></copyright><item><title><![CDATA[单精度浮点数（Float）与双精度浮点数（Double）]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162627</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162627</guid><author>FatTigerWang</author><pubDate>Tue, 07 Sep 2021 17:15:44 +0800</pubDate><description><![CDATA[前言
对于十进制的整数使用二进制表示很简单，但是对于十进制小数如何使用二进制进行存储？十进制的小数又何如使用二进制小数表示？此文章描述了如何将十进制小数转换为二进制小数以及浮点数再内存中时如何进行存储。
二进制小数
在计算机中，无论什么数据，最终存储都为二进制，对于整数部分很容易表示，但是对于非整数则比较困难。例如，十进制数0.125可表示为二进制0.001，怎么得来的？简单的计算可以用0.125不断乘2，结果小于1将二进制位记为0，结果大于1时将二进制位记为1：
0.125 * 2 = 0.25  二进制]]></description><category></category></item><item><title><![CDATA[ASP.NET Core Newtonsoft.Json设置全局输出风格]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162554</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162554</guid><author>FatTigerWang</author><pubDate>Tue, 07 Sep 2021 17:12:07 +0800</pubDate><description><![CDATA[ASP.NET Core 2.x
在Startup.cs中设置
/// &lt;summary&gt;
/// This method gets called by the runtime. Use this method to add services to the container.
/// &lt;/summary&gt;
/// &lt;param name="services"&gt;&lt;/param&gt;
public void ConfigureServices(IServiceCol]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 3.0 Razor 修改页面刷新无效]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162532</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162532</guid><author>FatTigerWang</author><pubDate>Tue, 07 Sep 2021 17:11:15 +0800</pubDate><description><![CDATA[问题
在ASP.NET Core 3.0中，对Razor页面修改刷新无法展示修改后的内容。
原因
这是由于在ASP.NET Core 3.0中，对Razor视图和Razor页面的运行时编译的支持被移到了单独的程序包中，没有默认启用Razor运行时编译。
解决方案

安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
在Startup中启用Razor运行时编译：public class Startup
{
    public Startup(IConfig]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 中Session的分布式存储]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162415</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/120162415</guid><author>FatTigerWang</author><pubDate>Tue, 07 Sep 2021 17:09:18 +0800</pubDate><description><![CDATA[前言
在ASP.NET Core中的Session该如何存储？本文介绍了Session信息在单个应用实例和多个应用实例中的不同存储方式，以及ASP.NET Core在Session数据安全方面做的一些努力。
TL;DR
在ASP.NET Core中使用分布式缓存存储会话时，仅仅将Session进行分布式存储还不够，由于ASP.NET Core的数据安全保护机制，还需要将Data Protection所使用的加密密钥也进行分布式存储，这样才能正确解密Cookies：
public class Startup
]]></description><category></category></item><item><title><![CDATA[ExecutionContext vs SynchronizationContext]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/120151703</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/120151703</guid><author>FatTigerWang</author><pubDate>Tue, 07 Sep 2021 09:50:58 +0800</pubDate><description><![CDATA[前言
这篇文章深入探讨了ExecutionContext和SynchronizationContext, 这是大部分开发人员都不需要了解的 .NET 高级领域.
SynchronizationContext
我最早关于 SynchronizationContext 了解可能是在 WindowsForm 程序, 当我错误的在其它线程去更新 UI 控件时, 总会出现一个异常 Cross-thread operation not valid: Control accessed from a thread othe]]></description><category></category></item><item><title><![CDATA[使用VS Code进行Java开发]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/118408170</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/118408170</guid><author>FatTigerWang</author><pubDate>Fri, 02 Jul 2021 11:21:03 +0800</pubDate><description><![CDATA[前言
目前有很多小伙伴在用IntelliJ IDEA，这东西啥都好，就是贵，再一个就是占用内存很高，打开它也觉得非常的重。如果跟我一样有上面几个问题困扰，可以尝试使用VS Code。它插件众多，能DIY的地方也很多，特别是对于喜欢折腾的人来说，更是福音。当然如果不喜欢折腾想上手即用也可，全家桶插件非常方便。
支持的Java版本范围
为什么要单开一段说这件事，原因在于目前不少人认为VS Code只能支持Java 11及以上版本，这对于很多使用Java 1.8开发的同学来说简直劝退。但这其实是个误解，目前VS ]]></description><category></category></item><item><title><![CDATA[业务规则引擎(Business Rule Engine)]]></title><link>https://blog.youkuaiyun.com/FatTigerWang/article/details/118407889</link><guid>https://blog.youkuaiyun.com/FatTigerWang/article/details/118407889</guid><author>FatTigerWang</author><pubDate>Fri, 02 Jul 2021 11:01:52 +0800</pubDate><description><![CDATA[业务规则引擎(Business Rule Engine)
什么是规则引擎
在实际的业务场景中, 会有多个业务规则, 这些政策可能是公司策略, 也可能是法律法规要求. 例如在注册新用户时, 如果年龄小于18岁则需要同意额外的用户协议, 或者在促销时, 满足一定的金额要求则进行部分费用减免. 这些都是业务规则, 而基于这些规则, 给定一个或多个事实, 事实满足规则后可执行一些动作, 这便是规则引擎. 简单来说，你可以看成一堆 if-else 语句.
基本上, 规则引擎围绕以下几个点进行操作:

规则(Rule)]]></description><category></category></item></channel></rss>