<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cjのice_bear]]></title><description><![CDATA[一切油于兴趣]]></description><link>https://blog.youkuaiyun.com/jiujiuming</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jiujiuming]]></copyright><item><title><![CDATA[用rocketMQ写文件传输有意义吗？]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/104649053</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/104649053</guid><author>jiujiuming</author><pubDate>Wed, 04 Mar 2020 10:55:30 +0800</pubDate><description><![CDATA[用rocketMQ写文件传输有意义吗？


我不明白为什么会有人考虑用消息队列写文件同步！！！！？



rt，我也不清楚用rocketMQ写文件传输是否有意义，突然觉得可以试一下，于是这么写了。我不清楚rocketMQ在这些场景是否存在优势，或者存在什么劣势，我只管写，写完之后我去对比，尝试，然后得出结论：我再也不会考虑使用rocketMQ来写文件同步了。
功能需求
本demo实现的功能是监听本...]]></description><category></category></item><item><title><![CDATA[基于james实现在物理隔离环境下邮件的传输]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/104432383</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/104432383</guid><author>jiujiuming</author><pubDate>Fri, 21 Feb 2020 18:22:11 +0800</pubDate><description><![CDATA[基于james实现在物理隔离环境下邮件的传输

背景


为了保护高安全级别的网络安全,国家保密局于1999年12月27日发布了涉密网络的物理隔离要求,并于2000年1月1日颁布实施的《计算机信息系统国际联网保密管理规定》,该规定中第二章保密制度第六条规定;“涉及国家秘密的计算机信息系统,不得直接或间接地与国际互联网或其他公共信息网络相连接,必须实行物理隔离。”



物理隔离通常是通过部署网闸来...]]></description><category></category></item><item><title><![CDATA[SpringBoot @EnableAutoConfiguration非详细解读]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/78595736</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/78595736</guid><author>jiujiuming</author><pubDate>Tue, 21 Nov 2017 18:59:52 +0800</pubDate><description><![CDATA[提示本文是我的学习笔记，请自己思考内容并且实践，有错误的地方欢迎指出。前置知识SpringBoot要求4.3.2.BUILD-SNAPSHOT或以上版本，有一个很重要的原因是因为spring4提供了条件注解@Conditional，而SpringBoot大量地使用了这种注解来为我们自动配置一些信息，可以根据容器是否存在某些bean，jvm版本，指定路径是否存在指定类等等，功能十分强大。简单的实验@C]]></description><category></category></item><item><title><![CDATA[消息队列]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/71536353</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/71536353</guid><author>jiujiuming</author><pubDate>Wed, 10 May 2017 15:37:55 +0800</pubDate><description><![CDATA[消息队列的作用是什么？关于消息队列的使用 
这篇文章讲得好好高深，看它就没错了。搭建ActiveMQ在没有接触消息队列之前我们一直熟悉请求/响应的模式，但是这种模式一直有很多问题产生，特别是在实际的生产环境中，于是便引入了消息队列这种模式，把所有待执行指令存入消息队列等待程序调用，这种方法的好处在上面那位大牛的文章中也写得十分清楚了。ActiveMQ是一种消息队列，它是对JMS（Java Messa]]></description><category></category></item><item><title><![CDATA[DirContext初始化过程分析]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/70145165</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/70145165</guid><author>jiujiuming</author><pubDate>Wed, 12 Apr 2017 17:12:45 +0800</pubDate><description><![CDATA[这篇博文的原因主要是因为犯了一个很愚蠢的错误，在实例化DirContext的时候报了AuthenticationException，错误码为49，我很疑惑，同样的方式通过ldapBrowser可以连接，在JNDI却不能连接了，同样尝试了Java的Apache Directory Studio插件也是不能连接，但是匿名连接却连接得上。基于这个原因便开始了探究初始化过程的分析，不过最后的结论却是——只是]]></description><category></category></item><item><title><![CDATA[Windows搭建OpenLDAP]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/70057904</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/70057904</guid><author>jiujiuming</author><pubDate>Tue, 11 Apr 2017 20:04:12 +0800</pubDate><description><![CDATA[目的之初始于学Security的SSO的时候想要自己搭建一个LDAP服务，原本以为一两天就能搞定的东西，我还是低估了LDAP这片大领域，到目前为止走了不少弯路，百度谷歌了不少资源，其中大多数是Linux下的搭建，而且无一例外，大部分都是拷贝粘贴的成品，虽然我这篇也基本集精华于百度谷歌，不过也想和大家分享分享我的学习成果，主要讲讲我走过的一些弯路。

首先OpenLDAP我下载的是：(2.4.42)]]></description><category></category></item><item><title><![CDATA[OpenLDAP初学习]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/69944440</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/69944440</guid><author>jiujiuming</author><pubDate>Mon, 10 Apr 2017 11:14:12 +0800</pubDate><description><![CDATA[LDAP入门学习
LDAP：LDAP是轻型目录访问协议，实现提供被称为目录服务的信息服务。目录服务是特殊的数据库系统，其针对读取、检索、浏览进行特定优化。LDAP目录是按照树型结构组织的，具体信息存储在条目（entry）的数据结构中，条目相当于关系型数据库中的表的记录。条目通过dn(distinguishName)区分,其相当于关系型数据库中的主键；属性包含type和values，一个type可以对]]></description><category></category></item><item><title><![CDATA[JNDI与LDAP]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/69943235</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/69943235</guid><author>jiujiuming</author><pubDate>Mon, 10 Apr 2017 10:41:10 +0800</pubDate><description><![CDATA[读使用JNDI访问Domino目录之后
创建一个JNDI可用连接的过程 
创建一个HashTable，存入LDAP工厂类（Context.INITIAL_CONTEXT_FACTORY）、服务器地址（Context.PROVIDER_URL）、（如果需要验证的话）验证方式（Context.SECURITY_AUTHENTICATION）、用户账号（Context.SECURITY_PRINCEPAL]]></description><category></category></item><item><title><![CDATA[spring security初探之Remember-me源码解析]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/68488504</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/68488504</guid><author>jiujiuming</author><pubDate>Thu, 30 Mar 2017 16:39:42 +0800</pubDate><description><![CDATA[希望优快云能解决一个用户只能打开一个编辑器的问题，辛辛苦苦写的文字突然就没有了。
重新来过吧。说说Remember-me简单的说，Remember-me就是记住用户，下次登陆的时候不用密码也能登陆。实现这个功能主要是依靠cookie，因为Http是无状态协议，所以我们需要一个替服务端保存登陆状态的小饼干，这个小饼干就是cookie。源码分析初次登陆的Remember-me我们知道，用户初次登陆时候]]></description><category></category></item><item><title><![CDATA[spring security配置]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/68081727</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/68081727</guid><author>jiujiuming</author><pubDate>Wed, 29 Mar 2017 20:31:32 +0800</pubDate><description><![CDATA[我们已经经历了对认证和授权源码的探索，现在是时候把两者结合起来了！
配置过滤器（在web.xml加入以下代码）
  <!-- 配置过滤器 -->  <listener>
      <!--为了启用登录并发控制，即同一个用户的登录人数限制。-->
      <listener-class>org.springframework.security.web.session.HttpSessionEve]]></description><category></category></item><item><title><![CDATA[spring security初探之授权原理源码解析]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/67637088</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/67637088</guid><author>jiujiuming</author><pubDate>Wed, 29 Mar 2017 14:22:37 +0800</pubDate><description><![CDATA[说说授权

授权的定义是：判断某用是否拥有访问某资源的权限。我们这里说的资源被定义为URL（当然也可以是方法，但这不在我们讨论的范围内），权限我们这里定义为角色，那么对授权的定义我们就转化成，判断用户是否拥有访问某条URL的角色。一个用户可以对应多个角色，一个角色可以对应多个资源，这样我们的假设就出来了。

对授权过程的假设

我们可以知道，在认证过程中，用户信息生成的Authentication]]></description><category></category></item><item><title><![CDATA[spring security之停下来思考一下]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/68059639</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/68059639</guid><author>jiujiuming</author><pubDate>Wed, 29 Mar 2017 09:34:48 +0800</pubDate><description><![CDATA[之前一直在学spring security，一股脑子学，学习方法就是看源码，然后突然回过头看，很恍惚，自己在学什么东西？这个东西有什么内容？完全不了解这些东西，只管一股脑子学，学着学着，突然发觉，自己是在学东西吗？还是在满足自己“在做事”的虚伪？不得解。现在，尝试着拨开云雾，把对spring Security的学习暂定为以下四个方面。
spring security 4 认证原理剖析
spring]]></description><category></category></item><item><title><![CDATA[树形json的删改操作]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/66968805</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/66968805</guid><author>jiujiuming</author><pubDate>Mon, 27 Mar 2017 10:33:29 +0800</pubDate><description><![CDATA[公司上周五突然来了个任务，来到这家公司这么久第一次被要求做的任务就是做json数据的删改操作，不过我很喜欢算法，所以对我而言这是个再有趣不过的任务，下面贴出我的算法与大家共享，初出茅庐，第一次是为了工作写算法，边界考虑有失周全的地方请提出来。package com.hk13a;import java.io.File;
import java.io.FileNotFoundException;
imp]]></description><category></category></item><item><title><![CDATA[SpringSecurity初探之认证源码分析]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/64924228</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/64924228</guid><author>jiujiuming</author><pubDate>Thu, 23 Mar 2017 18:12:33 +0800</pubDate><description><![CDATA[首先，笔者初学SpringSecurity，因此本文章提供的观点不一定正确，笔者也没有具体求证（主要是能力有限）。因此请读者带着批判质疑的眼光浏览。




大概的原理分析（其实是别人分析过，这边进行总结）

spring Security实现安全的级别有两种：web访问级别和方法调用级别。

首先我们需要知道的是：web访问级别通过一系列过滤器链实现安全，方法调用级别则是通过AOP实现安全。]]></description><category></category></item><item><title><![CDATA[SSM框架一些相关配置解读（不完整）]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/64132259</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/64132259</guid><author>jiujiuming</author><pubDate>Tue, 21 Mar 2017 09:35:16 +0800</pubDate><description><![CDATA[<!-- pom.xml -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o]]></description><category></category></item><item><title><![CDATA[先写一个邮件工具类吧]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/62053927</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/62053927</guid><author>jiujiuming</author><pubDate>Tue, 14 Mar 2017 20:24:15 +0800</pubDate><description><![CDATA[写一个邮件发送大概有多麻烦首先是初始化邮件工具类，初始化主要是创建一个邮件的会话，并获取该会话的mimeMessage对象。除此之外就是设置一些参数包括发件服务器，发件人账号密码等。设置发件人信息，设置发件人通过mimeMessage对象的setFrom设置，它接收一个InternetAddress对象。如:”InternetAddress from = new InternetAddress(se]]></description><category></category></item><item><title><![CDATA[写一个我自己的文件管理工具类]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/62039813</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/62039813</guid><author>jiujiuming</author><pubDate>Tue, 14 Mar 2017 11:27:21 +0800</pubDate><description><![CDATA[1、判断文件是否存在2、上传文件 
上传文件的核心是file.transferTo(targetFile)，该语句将输入的数据流转存到另一目标文件中，因此targetFile必须是实际存在的路径，且包括文件名。也可以先判断文件路径是否存在，如果不存在可以通过mkdir()来创建该路径。在实际项目中上传文件的路径往往被定义在外部的properties文件内，这样做大概是为了在文件服务器满载的时候可以转]]></description><category></category></item><item><title><![CDATA[大概有用的知识点]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/62038010</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/62038010</guid><author>jiujiuming</author><pubDate>Tue, 14 Mar 2017 10:30:15 +0800</pubDate><description><![CDATA[1、对参数的检查应该写在controller层，service层应当只涉及业务逻辑和操作dao层。因此获取参数，对参数封装、以及校验应当写在controller层。2、对参数校验主要对一些参数格式、是否非空、参数长度等进行校验。3、mybatis新增对象的同时获取对象通过以下方式实现：<insert id="uploadAnnex" parameterType="com.hhit.core.prev]]></description><category></category></item><item><title><![CDATA[Linux-网络与配置]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/61932347</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/61932347</guid><author>jiujiuming</author><pubDate>Mon, 13 Mar 2017 22:07:34 +0800</pubDate><description><![CDATA[什么是数据包？


  数据包是网络传输的实体。数据包的结构包括头和净荷，其中头包含接收方、发送方和基本协议等识别信息，净荷则包含数据实体。网络上通过包来传递数据的原因之一是通过这种传输方式异步操作数据。


网络层次

一个完整的网络，应该包含一个被称之为网络栈的网络层次，典型的互联网栈自顶而下有如下层次：


应用层：包含应用间、服务器间的交流语言——通常是一种高级的协议。一般有超文本传输协议]]></description><category></category></item><item><title><![CDATA[不完整的spring学习报告]]></title><link>https://blog.youkuaiyun.com/jiujiuming/article/details/58577454</link><guid>https://blog.youkuaiyun.com/jiujiuming/article/details/58577454</guid><author>jiujiuming</author><pubDate>Mon, 13 Mar 2017 21:41:36 +0800</pubDate><description><![CDATA[Spring容器主要负责创建应用程序中的bean并通过DI协调对象之间的联系。Spring容器主要提供三种装配方案： 
- 在XML显式配置 
- 在Java中显式配置 
- 隐式的bean发现和自动装配Spring从两个角度实现自动化装配： 
- 组件扫描：Spring会自动发现应用上下文所创建的bean。 
- 自动装配：Spring会自动满足bean之间的依赖@Component：声明为bea]]></description><category></category></item></channel></rss>