<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[二牛的博客]]></title><description><![CDATA[关于技术的所见所得，希望没有惊扰到你]]></description><link>https://blog.youkuaiyun.com/notechsolution</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; notechsolution]]></copyright><item><title><![CDATA[Harness Engineering：用“确定性“驾驭AI的“不确定性“]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/161104376</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/161104376</guid><author>notechsolution</author><pubDate>Fri, 15 May 2026 10:15:36 +0800</pubDate><description><![CDATA[软件工程追求确定性，但 AI 天生概率性——不确定性从外部环境转移到了生产工具本身。Harness Engineering 是用工程手段把 AI 的不确定性逼回可控范围的实践。本文用 2×2 矩阵梳理全景，拆解不同角色的视角差异。]]></description><category></category></item><item><title><![CDATA[基于区块链的进口集装箱电子放货平台建设指南]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/120568499</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/120568499</guid><author>notechsolution</author><pubDate>Thu, 30 Sep 2021 16:12:11 +0800</pubDate><description><![CDATA[哈、嚯、嘿！ 交通运输部办公厅关于印发《基于区块链的进口集装箱电子放货平台建设指南》的通知
通知详情


]]></description><category></category></item><item><title><![CDATA[100行代码实现一个多功能的代理服务]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/120490805</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/120490805</guid><author>notechsolution</author><pubDate>Sun, 26 Sep 2021 16:01:38 +0800</pubDate><description><![CDATA[这篇文章将通过手写代码的方式，用100行代码实现一个同时支持HTTP普通代理，隧道代理，以及TCP代理的代理软件。同时介绍中业务代码如何使用HTTP代理]]></description><category></category></item><item><title><![CDATA[初探计算机网络代理]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/120386679</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/120386679</guid><author>notechsolution</author><pubDate>Mon, 20 Sep 2021 00:11:49 +0800</pubDate><description><![CDATA[初探计算机网络代理
文章目录初探计算机网络代理什么是计算机网络代理代理的类型有哪些正向代理反向代理正向代理的实现原理是什么普通代理隧道代理SOCKS 协议反向代理的实现原理是什么都有哪些代理产品

TL;DR: 这篇文章介绍了计算机网络代理的简述，类型和使用场景。详解了正向代理, 反向代理的实现原理。最后介绍正向代理和反向代理的各种产品。

前段时间，由于项目需要在复杂的网络环境中运行，所以对计算机网络中的代理内容进行整理，以方便在团队内进行技术分享。分享是基于实际业务场景一层一层推演开来，所以不方便在外网]]></description><category></category></item><item><title><![CDATA[一文详解密码协商算法]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/107197899</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/107197899</guid><author>notechsolution</author><pubDate>Wed, 08 Jul 2020 09:32:51 +0800</pubDate><description><![CDATA[前面的文章我们介绍了对称密码算法，非对称密码算法，以及这两种对应的使用场景。对称密码加密算法与非对称密码加密算法都有很好的安全性，但是对称密码有一个麻烦点就是需要加密方把对称密钥给到解密方，这里就会涉及到密钥的安全问题。这篇文章将介绍对称密钥加密算法的密钥如何生成/传递的问题。]]></description><category></category></item><item><title><![CDATA[一文详解非对称加密算法之RSA Padding]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/106954496</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/106954496</guid><author>notechsolution</author><pubDate>Thu, 25 Jun 2020 08:45:36 +0800</pubDate><description><![CDATA[上一篇文章我们介绍了非对称算法RSA，介绍了RSA的基本原理，公私钥的产生以及加解密的过程，并且用Java 以及OpenSSL做一些实践。这篇文章我们来介绍RSA加密算法的安全问题以及处理方法，主要是补位 - Padding。 将会介绍为什么要补位，如果补位，有什么补位的算法。]]></description><category></category></item><item><title><![CDATA[一文详解非对称加密算法之RSA算法]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/106878384</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/106878384</guid><author>notechsolution</author><pubDate>Sat, 20 Jun 2020 21:57:30 +0800</pubDate><description><![CDATA[这篇文章我们来介绍另外一个重要的加密算法：非对称加密算法 (Asymmetric Cryptography), 也称为公开密钥加密算法 (Public Key Cryptography). 具体包括公开密钥算法概要，RSA算法原理，公私钥的生成，加解密的过程以及一些实践的问题，比如RSA加密的明文的位数为什么不能大于公钥的位数等]]></description><category></category></item><item><title><![CDATA[一文详解对称密钥加密]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/106604593</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/106604593</guid><author>notechsolution</author><pubDate>Sun, 07 Jun 2020 17:43:25 +0800</pubDate><description><![CDATA[本文我们将重点介绍密码学中的对称密钥算法，包括流密码算法，块密码算法；各种算法的基本原理，重点介绍了主流的块密码算法的补位，迭代模式，加密器的实现等，最后动手实践了在Java中如何使用这些算法为我们业务所用！]]></description><category></category></item><item><title><![CDATA[一文详解密码学Hash算法的安全问题(加盐+HMAC)]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/106415749</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/106415749</guid><author>notechsolution</author><pubDate>Thu, 28 May 2020 23:28:29 +0800</pubDate><description><![CDATA[今天我们另开一篇文章，着重介绍密码学Hash算法的主要安全问题以及对应的解决办法。希望能大家使用密码学Hash算法带来更多维度的考量。内容将会涉及到彩虹表，撞库等黑客部分网络安全攻击，对于用加盐的方式来避免这种攻击，以及如何用HMAC来确保消息的一致性]]></description><category></category></item><item><title><![CDATA[一文详解密码学中的Hash算法]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/106270315</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/106270315</guid><author>notechsolution</author><pubDate>Thu, 21 May 2020 23:43:14 +0800</pubDate><description><![CDATA[上一篇文章里面，我们介绍了随机数以及随机数中的应用，可以看到密码学中到处都有随机数的身影，这种作为大部分密码学算法的基本组成被称之为 “加密基元“。今天我们一起来看一下另外一个加密基元 - 密码学Hash算法]]></description><category></category></item><item><title><![CDATA[一文详解编程中的随机数]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/106131349</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/106131349</guid><author>notechsolution</author><pubDate>Thu, 14 May 2020 23:35:55 +0800</pubDate><description><![CDATA[随机数，相信大家都不陌生，网上有很多生成随机数的小工具。直观来看，随机数就是一串杂乱无章的数字、字母、以及符号的组合, 比如`pSTkKIiZMOlDxOgwpIQGdlZwrJCRiHRK`。但随机数真的就随机吗？真的就无法预测吗？什么场景下可以用什么方式来生成随机数呢? 这篇文章将为大家介绍随机数的类型，在程序中如何使用随机数，以及随机数在密码学中使用场景。希望能尽量地将在开发过程中需要用到的随机数知识都收纳在这里，方便大家进行查阅！]]></description><category></category></item><item><title><![CDATA[Rest API的认证模式]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/105924239</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/105924239</guid><author>notechsolution</author><pubDate>Mon, 04 May 2020 21:56:19 +0800</pubDate><description><![CDATA[Rest API的认证模式Rest API的认证模式AppKeyAppKey + SecretJWTOAuth

Rest API的认证模式
微服务系统中，很多团队采用了API驱动设计开发，服务之间的调用都通过API来实现的。为了统一管理API，一般都会在前面部署一个API Gateway，然后由API Gateway对API的调用者进行权限认证。 常见的认证方式有下面几种：

AppKey
Ap...]]></description><category></category></item><item><title><![CDATA[统一认证 - Apereo CAS 客户端的集成以及小结]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/87889651</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/87889651</guid><author>notechsolution</author><pubDate>Sat, 23 Feb 2019 10:57:02 +0800</pubDate><description><![CDATA[
前两篇介绍了Apereo CAS以及服务器端的安装，但还不够完整，服务端还没有Application真正用起来呢！这篇文章将介绍怎么用起来

集成的目的
客户端我们想要与Apereo CAS做什么集成呢？回顾一下Apereo CAS是做什么的？Apereo CAS的一个功能就是单点登录，统一的登录登出接口与页面，让系统中的模块只需要关注在业务点，而把安全认证的功能交给统一认证来做。所以客户端的集...]]></description><category></category></item><item><title><![CDATA[统一认证 - Apereo CAS 小试]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/87538389</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/87538389</guid><author>notechsolution</author><pubDate>Sun, 17 Feb 2019 16:02:59 +0800</pubDate><description><![CDATA[
上一篇文章我们对Apereo CAS有了简要的了解，这篇文章我们将动手练习Apereo CAS。主要是CAS单机版的搭设，用户信息存储到数据库，以及dashboard的使用


做这些尝试的时候，Apereo CAS比较稳定的版本是5.3.x，使用如果想按照这个文章搭设的话，最好采用相同的版本

Apereo CAS单机版的搭设
Apereo CAS秉承耶鲁的自由文化传统，整个产品高度自由化，哪...]]></description><category></category></item><item><title><![CDATA[统一认证 - Apereo CAS 简介]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/87538251</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/87538251</guid><author>notechsolution</author><pubDate>Sun, 17 Feb 2019 16:00:56 +0800</pubDate><description><![CDATA[
上一篇文章我们对Apereo CAS有了简要的了解，这篇文章我们将动手练习Apereo CAS。主要是CAS单机版的搭设，用户信息存储到数据库，以及dashboard的使用


做这些尝试的时候，Apereo CAS比较稳定的版本是5.3.x，使用如果想按照这个文章搭设的话，最好采用相同的版本

Apereo CAS单机版的搭设
Apereo CAS秉承耶鲁的自由文化传统，整个产品高度自由化，哪...]]></description><category></category></item><item><title><![CDATA[GIT - 代码分支管理模型之二]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/86637147</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/86637147</guid><author>notechsolution</author><pubDate>Fri, 25 Jan 2019 10:17:32 +0800</pubDate><description><![CDATA[书接上文
在前一篇文章GIT 代码分支管理模型之一中，我们一起了解了一种叫做“成功的代码分支管理模型”。在这种模型中，我们确实可以很灵活地应对各种场景下的代码分支管理。

理想总是那么美好，而现实偏偏那么蛋疼！

要用好这种代码分支管理模型，需要全体开发人员对于GIT有比较深入的了解，比如merge, rebase,而且在每一次GIT的操作的时候要很清楚地知道自己正在开发的功能属于哪个分支的。对于...]]></description><category></category></item><item><title><![CDATA[GIT - 代码分支管理模型之一]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/86524755</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/86524755</guid><author>notechsolution</author><pubDate>Thu, 17 Jan 2019 15:05:21 +0800</pubDate><description><![CDATA[分支管理的方式各有千秋，不存在谁一定比谁好，只有谁比谁更适合你而已

我们来看一款比较热门的代码分支管理，叫“成功的代码分支管理模型”]]></description><category></category></item><item><title><![CDATA[GIT - 关于文件处理的两个问题]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/86261793</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/86261793</guid><author>notechsolution</author><pubDate>Thu, 10 Jan 2019 22:55:36 +0800</pubDate><description><![CDATA[大家平时在使用GIT的时候，尤其是在Windows平台的时候，一般都不会特别留意跟文件相关的一些问题，比如说 文件权限，大小写问题。

这篇文章将给大家介绍在GIT使用中，关于文件处理的两个问题

文件权限
正常情况下，我们都不用太在乎，甚至不用理会GIT里面文件的权限是否可读，可写，可执行。但如果我们加进GIT的文件是一个可执行的文件，比如一个方便快捷部署的文件deploy.sh. 那么如果没有...]]></description><category></category></item><item><title><![CDATA[500行JS代码打造你的专属GIT]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/81351245</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/81351245</guid><author>notechsolution</author><pubDate>Thu, 02 Aug 2018 07:24:16 +0800</pubDate><description><![CDATA[这篇短文将介绍如何用500行的Javascript代码，写一个你自己专属的GIT。 这不是一个如何使用GIT的工具，而是GIT的底层实现。目的是希望能加深对GIT的底层实现原理，而不是想换掉GIT，这只是一个GIT的雏形而已
  
  代码来自开源，也回流开源，有需要且不嫌弃的可以上去看看 https://github.com/notechsolution/gitdou


缘起

跟GIT...]]></description><category></category></item><item><title><![CDATA[浮点数的原罪]]></title><link>https://blog.youkuaiyun.com/notechsolution/article/details/51416353</link><guid>https://blog.youkuaiyun.com/notechsolution/article/details/51416353</guid><author>notechsolution</author><pubDate>Sun, 15 May 2016 11:35:12 +0800</pubDate><description><![CDATA[浮点数精度问题在Javascript中，alert(0.1+0.2==0.3)，结果为false。这是因为javascript精度丢失的问题。其实不单单是Javscript，所有支持浮点数运算的编程语言都有这个问题，这篇blog主要了解javascript以及java中的浮点数精度问题，以及破解方法]]></description><category></category></item></channel></rss>