<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[工程师小哥的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/codingcreed</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; codingcreed]]></copyright><item><title><![CDATA[设计模式系列之桥接模式(Bridge)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/132456365</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/132456365</guid><author>codingcreed</author><pubDate>Wed, 23 Aug 2023 16:54:07 +0800</pubDate><description><![CDATA[桥接(Bridge)是用于把抽象化与实现化解耦。使得二者可以独立变化。这种类型的设计模式 属于结构型模式，它通过提供抽象化和实现化之间的桥接结构实现二者的解耦。]]></description><category></category></item><item><title><![CDATA[设计模式系列之代理模式(Proxy)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/132456212</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/132456212</guid><author>codingcreed</author><pubDate>Wed, 23 Aug 2023 16:51:59 +0800</pubDate><description><![CDATA[代理模式，顾名思义就是一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。]]></description><category></category></item><item><title><![CDATA[设计模式系列之装饰器模式(Decorator)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/132455873</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/132455873</guid><author>codingcreed</author><pubDate>Wed, 23 Aug 2023 16:39:43 +0800</pubDate><description><![CDATA[装饰器模式（Decorator Pattern)允许向一个现有的对象添加新的功能，同时又不改变其结构。这种类型的设计模式属于结构型模式]]></description><category></category></item><item><title><![CDATA[设计模式系列之原型模式(Prototype)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/132453871</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/132453871</guid><author>codingcreed</author><pubDate>Wed, 23 Aug 2023 16:37:03 +0800</pubDate><description><![CDATA[原型模式（Prototype Pattern）是用于创建重复的对象，同时又能保证性能。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式之一。]]></description><category></category></item><item><title><![CDATA[设计模式系列之建造者模式(Builder)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/131191757</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/131191757</guid><author>codingcreed</author><pubDate>Tue, 13 Jun 2023 17:01:12 +0800</pubDate><description><![CDATA[建造者模式(Builder)是使用多个简单的对象一步一步构建成一个复杂的对象，这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式，一个Builder会一步一步构造最终的对象，该Builder类是独立于其他对象的。该模式主要解决将一个复杂的构建与其表示分离，使得同样的构建过程可以创建不同的表示。在软件系统中，有时候面对一个复杂对象的创建工作，其通常是有各个部分的子对象用一定的算法构成；由于需求的变化。这个复杂对象的各个部分经常面临剧烈的变化，但是将他们组合在一起的算法却相对稳定。]]></description><category></category></item><item><title><![CDATA[设计模式系列之抽象工厂模式(Abstract Factory)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/131152481</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/131152481</guid><author>codingcreed</author><pubDate>Sun, 11 Jun 2023 13:44:33 +0800</pubDate><description><![CDATA[抽象工厂就是一个把工厂抽象，工厂模式生产的是产品，抽象工厂生产的是工厂。这种类型的设计模式属于创建型模式。]]></description><category></category></item><item><title><![CDATA[设计模式系列之工厂模式(Factory)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/131111364</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/131111364</guid><author>codingcreed</author><pubDate>Thu, 08 Jun 2023 16:44:48 +0800</pubDate><description><![CDATA[工厂模式（Factory Pattern）是java中最常用的设计模式之一。该设计模式属于创建型模式，它提供了一种创建对象的最佳方式。]]></description><category></category></item><item><title><![CDATA[设计模式系列之单例模式（Singleton）]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/131044034</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/131044034</guid><author>codingcreed</author><pubDate>Mon, 05 Jun 2023 15:17:29 +0800</pubDate><description><![CDATA[单例模式（Singleton Pattern)是java中最简单的设计模式之一，这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。]]></description><category></category></item><item><title><![CDATA[6.Spring Cloud构建微服务架构（六）服务网关]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/128815627</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/128815627</guid><author>codingcreed</author><pubDate>Tue, 31 Jan 2023 13:18:00 +0800</pubDate><description><![CDATA[6.Spring Cloud构建微服务架构（六）服务网关]]></description><category></category></item><item><title><![CDATA[2.Spring Cloud构建微服务架构（二）分布式配置中心]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/128815434</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/128815434</guid><author>codingcreed</author><pubDate>Tue, 31 Jan 2023 13:04:04 +0800</pubDate><description><![CDATA[2.Spring Cloud构建微服务架构（二）分布式配置中心]]></description><category></category></item><item><title><![CDATA[1.Spring Cloud构建微服务架构（一）服务注册与发现]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/128815272</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/128815272</guid><author>codingcreed</author><pubDate>Tue, 31 Jan 2023 12:42:01 +0800</pubDate><description><![CDATA[1.Spring Cloud构建微服务架构（一）服务注册与发现]]></description><category></category></item><item><title><![CDATA[3.Spring Cloud构建微服务架构（三）分布式配置中心(动态刷新)]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/126572140</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/126572140</guid><author>codingcreed</author><pubDate>Sun, 28 Aug 2022 17:41:26 +0800</pubDate><description><![CDATA[3.Spring Cloud构建微服务架构（三）分布式配置中心(动态刷新)]]></description><category></category></item><item><title><![CDATA[多线程的一些知识]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/118073962</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/118073962</guid><author>codingcreed</author><pubDate>Sun, 20 Jun 2021 19:42:20 +0800</pubDate><description><![CDATA[线程和进程
进程：一个在内存中独立运行的程序，每一个进程都有自己独立的内存空间，一个进程可以创建多个线程。是操作系统分配资源的基本单位。
线程：由进程创建，用于执行任务，一个进程最少有一个线程，可以有多个线程，线程共享进程中的数据。每个线程有自己的程序计数器、虚拟机栈和本地方法栈，所以系统在生产一条线程或者在多条线程中切换工作时开销比进程小的多，所以线程也被称为轻量级进程。是处理器任务调度和执行的基本单位


线程的三种创建方式


重写thread的run方法
Thrad thread = new ..]]></description><category></category></item><item><title><![CDATA[Nginx相关面试题]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/117906443</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/117906443</guid><author>codingcreed</author><pubDate>Mon, 14 Jun 2021 16:01:17 +0800</pubDate><description><![CDATA[什么是Nginx
Nginx 是一个轻量级/高性能的反向代理Web服务器，用于HTTP、HTTPS、SMTP、POP3和IMAP协议可以高效的反向代理、负载
均衡，可以处理高并发连接。
为什么要用Nginx
跨平台、配置简单、方向代理、高并发连接(处理2w-3w并发连接数，官方检测能支持5w并发)、内存消耗小(开启 10 个nginx才占
150M内存，nginx处理静态文件好，耗费内存少)
内置健康检查功能：如果一台服务器宕机，会做一个健康检查，再发送请求就不会发送到当即的服务器上，重新将请求提交到其
他]]></description><category></category></item><item><title><![CDATA[5.Spring Cloud构建微服务架构（五）Nacos]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/116573532</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/116573532</guid><author>codingcreed</author><pubDate>Mon, 10 May 2021 00:04:25 +0800</pubDate><description><![CDATA[5.Spring Cloud构建微服务架构（五）Nacos]]></description><category></category></item><item><title><![CDATA[Docker的学习]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/114180428</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/114180428</guid><author>codingcreed</author><pubDate>Sat, 27 Feb 2021 16:56:25 +0800</pubDate><description><![CDATA[Docker是什么
Docker是一个遵从Apache2.0开源协议的应用容器引擎。她可以让开发者们打包他们呢的应用以及依赖包到一个轻量级、可移植的容器中，然后发布到任何流行的Linux容器上，也可以实现虚拟化。容器是完全使用沙箱机制，相互之间不会有任何接口，开销极低。
Docker的应用场景

Web应用的自动化打包和发布
自动化测试和持续集成、发布

Docker的优点

提供隔离的运行环境：文件系统隔离、网络隔离、进程号隔离、进程间通信隔离。
容器性能开销极低：Docker技术虽然是虚拟化技术，却几乎]]></description><category></category></item><item><title><![CDATA[cos相似度算法 余弦距离计算]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/113039809</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/113039809</guid><author>codingcreed</author><pubDate>Sat, 23 Jan 2021 12:53:33 +0800</pubDate><description><![CDATA[cos相似度算法 余弦距离计算
定义
余弦距离，也称余弦相似度，是用向量空间中两个向量夹角的余弦值作为衡量两个个体之间差异大小的度量。我们知道在数学领域内，cosθ 的值越接近 1，此时两个向量的夹角 θ 越接近 0度，表明这两个向量越相似，在极端情况下，当夹角为0度时 表示2个向量完全重合，这就叫“余弦相似性”。
公式
在平面直角三角形中余弦定值公式为

cos(θ) = a / c
但是在非直角三角形中，并不能用余弦定理求出cos(θ)，在任意三角形中cos(θ)的求解公式为：

[外链图片转存失败,源]]></description><category></category></item><item><title><![CDATA[Editdistance 编辑距离算法]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/112690700</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/112690700</guid><author>codingcreed</author><pubDate>Sat, 16 Jan 2021 00:34:40 +0800</pubDate><description><![CDATA[定义
编辑距离又称Leveinshtein距离，是由俄罗斯科学家Vladimir Levenshtein在1965年提出。将源字符串转化为目标字符串所需要付出的代价，代价越低相似度越高，代价越高相似度越低。通常可以选择的方式为插入、替换、删除。公式如下：

其中LDa,b(i,j)表示长度为 i 的字符串 a 和长度为 j  的字符串 b 之间距离编辑所需要付出的代价。
举例
这里以Meng和man 2个字符串为例，进行相似度计算，根据公式，来推演以下是如何计算的。
1、初始化
在矩阵的第一行的时候表示 b]]></description><category></category></item><item><title><![CDATA[spring-cloud-oauth2 实现用户认证及单点登录]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/109301212</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/109301212</guid><author>codingcreed</author><pubDate>Mon, 26 Oct 2020 23:05:49 +0800</pubDate><description><![CDATA[spring-cloud-oauth2 实现用户认证及单点登录
需求
​		在微服务架构中，我们有很多业务模块，每个模块都需要有用户认证，权限校验。有时候也会接入来自第三方厂商的应用。要求是只登录一次，即可在各个服务的授权范围内进行操作。看到这个需求，立马就想到了这不就是单点登录吗？于是基于这样的需求，作者使用spring-cloud-oauth2去简单的实现了下用户认证和单点登录。
相关介绍
OAuth2
OAuth2是一个关于授权的网络标准，他定制了设计思路和执行流程。OAuth2一共有四种授权模式：授]]></description><category></category></item><item><title><![CDATA[4.Spring Cloud构建微服务架构（四）服务消费者]]></title><link>https://blog.youkuaiyun.com/codingcreed/article/details/107745063</link><guid>https://blog.youkuaiyun.com/codingcreed/article/details/107745063</guid><author>codingcreed</author><pubDate>Sun, 02 Aug 2020 15:07:05 +0800</pubDate><description><![CDATA[4.Spring Cloud构建微服务架构（四）服务消费者]]></description><category></category></item></channel></rss>