<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[diebi0709的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/diebi0709</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; diebi0709]]></copyright><item><title><![CDATA[开发一个Spring Boot Starter!]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329888</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329888</guid><author>diebi0709</author><pubDate>Mon, 05 Aug 2019 21:29:00 +0800</pubDate><description><![CDATA[在上一篇文章中，我们已经了解了一个starter实现自动配置的基本流程，在这一小结我们将复现上一过程，实现一个自定义的starter。
先来分析starter的需求：

在项目中添加自定义的starter依赖，自动在Spring中加载starter中的Bean；
从application.properties中加载指定配置

创建项目

先创建一个名为starter的项目。

&lt;?...]]></description><category></category></item><item><title><![CDATA[@EnableAutoConfiguration自动配置原理分析]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329887</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329887</guid><author>diebi0709</author><pubDate>Sun, 04 Aug 2019 23:08:00 +0800</pubDate><description><![CDATA[@EnableAutoConfiguration 原理分析
@SpringBootApplication中包含了@EnableAutoConfiguration注解，@EnableAutoConfiguration的作用是启用Spring的自动加载配置。
SpringBoot一个最核心的观点就是，约定大于配置，这种看似降低了灵活度的方法，却大大简化了SpringBoot的开发过程。这种约...]]></description><category></category></item><item><title><![CDATA[AQS初体验]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329882</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329882</guid><author>diebi0709</author><pubDate>Thu, 25 Jul 2019 12:13:00 +0800</pubDate><description><![CDATA[AQS初体验
AQS是AbstractQueuedSynchronizer的简称。AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架。所谓框架，AQS使用了模板方法的设计模式，为我们屏蔽了诸如内部队列等一系列复杂的操作，让我们专注于对锁相关功能的实现。
获取锁
既然涉及到锁竞争的问题，必然需要一个标志位来表示锁的状态，AQS中提供了state这样一个成员变量，为了安全的...]]></description><category></category></item><item><title><![CDATA[Spring AOP部分源码分析]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329878</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329878</guid><author>diebi0709</author><pubDate>Wed, 07 Nov 2018 16:40:00 +0800</pubDate><description><![CDATA[Spring源码流程分析-AOP相关
根据Spring源码整理,其中Calculator为自定义的实现方法。
AnnotationConfigApplicationContext()加载配置类的流程

register()传入配置类，准备IoC容器
注册配置类之后，refresh()刷新创建的容器

invokeBeanFactoryPostProcessors()
registerBe...]]></description><category></category></item><item><title><![CDATA[spring-framework-reference(5.1.1.RELEASE)中文版——Core部分]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329876</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329876</guid><author>diebi0709</author><pubDate>Wed, 24 Oct 2018 21:32:00 +0800</pubDate><description><![CDATA[前言
最近在学习Spring框架，在学习的同时，借助有道翻译，整理翻译了部分文档，由于尚在学习当中，所以该篇文章将会定时更新，目标在一个月左右时间翻译完全部版本。
虽然大部分内容为翻译，但是其中可能会添加一些我对Spring的理解，最近也在计划建立一个wiki版本，希望同样在学习的你，可以参与进来，我们共同完成该版本文档的翻译与评注。感兴趣的，可以私信联系，方便共同学习。
以下是正式内容...]]></description><category></category></item><item><title><![CDATA[Spring入门学习笔记（4）——JDBC的使用]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329880</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329880</guid><author>diebi0709</author><pubDate>Wed, 17 Oct 2018 22:53:00 +0800</pubDate><description><![CDATA[目录
    
        
        Spring JDBC框架概览
        JdbcTemplate类
        配置数据源
        数据访问对象（Data Access Object,DAO)
        执行SQL命令
        
        
    

Spring JDBC框架概览
使用传统的JDBC连接数据库，需要编...]]></description><category></category></item><item><title><![CDATA[KClient——kafka消息中间件源码解读]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329879</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329879</guid><author>diebi0709</author><pubDate>Tue, 16 Oct 2018 15:30:00 +0800</pubDate><description><![CDATA[目录
    
        
        kclient消息中间件
        kclient-processor
        top.ninwoo.kclient.app.KClientApplication
        top.ninwoo.kclient.app.KClientController
        top.ninwoo.kclient....]]></description><category></category></item><item><title><![CDATA[Spring入门学习笔记（3）——事件处理类]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329874</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329874</guid><author>diebi0709</author><pubDate>Sun, 14 Oct 2018 22:03:00 +0800</pubDate><description><![CDATA[目录
    
        
        Spring中的事件处理
        Spring内建事件
        监听Context事件
        Example
        
        自定义Spring事件
        
    

Spring中的事件处理
ApplicationContext 是Spring的核心模块，管理着Beans...]]></description><category></category></item><item><title><![CDATA[Spring入门学习笔记（2）——基于Java的配置]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329877</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329877</guid><author>diebi0709</author><pubDate>Sat, 13 Oct 2018 22:32:00 +0800</pubDate><description><![CDATA[目录
    
        
        基于Java的配置
        @Configuration &amp; @Bean Annotations
        Example
        注入Bean依赖
        @Import注解
        Lifecycle Callbacks（声明周期回调）
        指定Bean的作用域
  ...]]></description><category></category></item><item><title><![CDATA[Spring入门学习笔记（1）]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329872</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329872</guid><author>diebi0709</author><pubDate>Thu, 11 Oct 2018 23:09:00 +0800</pubDate><description><![CDATA[目录
    
        
        Spring好处
        依赖注入
        面向面编程（AOP）
        Spring Framework
        Core Container
        Web
        Miscellaneous
        
        编写第一个程序
        IoC容器
   ...]]></description><category></category></item><item><title><![CDATA[分享一篇IBN（Intent-based networking）调研报告]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329873</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329873</guid><author>diebi0709</author><pubDate>Sat, 29 Sep 2018 16:22:00 +0800</pubDate><description><![CDATA[IBN调研报告
背景
SDN（Software-defined network）：最大特点在于具有松耦合的控制平面与数据平面、支持集中化的网络状态控制、实现底层网络设施对上层应用的透明。具有灵活的软件编程能力，使得网络的自动化管理和控制能力得到空前提升。
SDN存在的问题：
尽管当前，SDN在超大规模的云服务提供商（Google，Facebook和Amazon等）已经成功应用，并显著的降...]]></description><category></category></item><item><title><![CDATA[搭建好看的静态博客（使用Hexo进行搭建）]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329871</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329871</guid><author>diebi0709</author><pubDate>Fri, 14 Sep 2018 21:48:00 +0800</pubDate><description><![CDATA[经常看到大牛的博客非常的高大帅气，虽然我很渣，但是逼格不能输，所以有了以下的搭建记录。
我的成果ninwoo,喜欢的可以参考下面的记录一起来动手搞起来。
安装Git Bash
访问git下载最新版本的git bash
安装完成之后，右键打开git bash,设置用户名和邮件信息
git config --global user.name "你的GitHub用户名"
git config ...]]></description><category></category></item><item><title><![CDATA[基于openvswitch+Docker构建SDN网络测试环境 (使用ovs-docker进行构建）]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329875</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329875</guid><author>diebi0709</author><pubDate>Fri, 14 Sep 2018 21:11:00 +0800</pubDate><description><![CDATA[这是一篇之前写的笔记，主要记录了使用openvswitch + Docker 等进行一个小型的SDN网络搭建的操作步骤。由于
之前临时有其他任务，耽搁了一下，最近开始重新整理，并计划开发一个简单的Python脚本，简化该网络的创建过程。
同时希望该脚本可以和控制器的程序进行融合，方便未来可以和docker更容易的结合在一起。项目地址:DockerSDN。
以下内容或许存在问题，如果在实现...]]></description><category></category></item><item><title><![CDATA[Mysql读写分离——主从数据库+Atlas]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329868</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329868</guid><author>diebi0709</author><pubDate>Tue, 11 Sep 2018 22:25:00 +0800</pubDate><description><![CDATA[mysql集群
最近在参加项目开发微信小程序后台，由于用户数量巨大，且后台程序并不是很完美，所以对用户的体验很是不友好（简单说就是很卡）。赶巧最近正在翻阅《大型网站系统与Java中间件实践》。
所以，先是使用Docker swarm构建了负载均衡集群，然后使用Atlas做了数据库的读写分离，尽可能对用户进行分流，降低对单机服务器的负载，提高访问体验。本片随笔仅对数据库的读写分离部分进行介...]]></description><category></category></item><item><title><![CDATA[RyuBook1.0案例三：REST Linkage]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329866</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329866</guid><author>diebi0709</author><pubDate>Fri, 24 Aug 2018 16:20:00 +0800</pubDate><description><![CDATA[REST Linkage
该小结主要介绍如何添加一个REST Link 函数
RYU本身提供了一个类似WSGI的web服务器功能。借助这个功能，我们可以创建一个REST API。
基于创建的REST API，可以快速的将RYU系统与其他系统或者是浏览器相连接，非常实用的一个功能。
程序解析
在案例中，实现了两个类

SimpleSwitchRest13

继承SimpleSwitch13...]]></description><category></category></item><item><title><![CDATA[RyuBook1.0案例二:Traffic Monitor项目源码分析]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329869</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329869</guid><author>diebi0709</author><pubDate>Tue, 31 Jul 2018 21:24:00 +0800</pubDate><description><![CDATA[Traffic Monitor源码分析
从simple_switch_13.SimpleSwitch13控制器继承并开发
class SimpleMonitor13(simple_switch_13.SimpleSwitch13):
增添datapaths列表，存储交换机id
def __init__(self, *args, **kwargs):
    super(SimpleMon...]]></description><category></category></item><item><title><![CDATA[Ryu学习总结(持续更新）]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329867</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329867</guid><author>diebi0709</author><pubDate>Tue, 31 Jul 2018 21:15:00 +0800</pubDate><description><![CDATA[Ryu学习总结
该篇学习笔记，与其他分析Ryu控制器代码的笔记不同，主要按照程序的构成来进行分块总结，由于本人为新手入门，不能保证没有错误，如果发现错误，欢迎指教。
以下的内容主要来源：

源码
官方文档
OpenFlow1.3.3 手册

处理一个事件的标准模板
首先，我们来看一个标准的控制器处理事件的模板
@set_ev_cls(ofp_event.Event, DISPATCHER...]]></description><category></category></item><item><title><![CDATA[OpenFlow1.3.3 学习记录（持续更新）]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329865</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329865</guid><author>diebi0709</author><pubDate>Wed, 25 Jul 2018 22:43:00 +0800</pubDate><description><![CDATA[OpenFlow1.3.3 学习记录（持续更新）
正在学习OpenFlow1.3，该篇笔记将日常更新，主要内容大致为官方文档的总结与翻译。
交换机组件
按照优先级顺序进行包匹配，如果匹配到流表项，则执行流表项中绑定的Instructions；如果没有匹配到流表项，将根据table-miss的配置进行操作，转发到controller，drop，next flow table。Instruc...]]></description><category></category></item><item><title><![CDATA[CentOS7使用阿里源安装最新版Docker]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329864</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329864</guid><author>diebi0709</author><pubDate>Mon, 23 Jul 2018 21:57:00 +0800</pubDate><description><![CDATA[卸载已经安装的Docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
             ...]]></description><category></category></item><item><title><![CDATA[使用Mininet创建网络拓扑]]></title><link>https://blog.youkuaiyun.com/diebi0709/article/details/101329860</link><guid>https://blog.youkuaiyun.com/diebi0709/article/details/101329860</guid><author>diebi0709</author><pubDate>Mon, 23 Jul 2018 21:50:00 +0800</pubDate><description><![CDATA[使用Mininet创建Topo
Python脚本实现创建拓扑
#coding:utf-8
from mininet.net import Mininet
from mininet.topo import LinearTopo

# 四个交换机每个下边挂载一个主机

Linear4 = LinearTopo(k=4)
net = Mininet(topo=Linear4)
net.star...]]></description><category></category></item></channel></rss>