<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一光年]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hong0220</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hong0220]]></copyright><item><title><![CDATA[互联网工作中工单答疑多引发的联想]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/126495368</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/126495368</guid><author>hong0220</author><pubDate>Wed, 24 Aug 2022 00:11:51 +0800</pubDate><description><![CDATA[首先需要对工单分门别类，主要类型是系统问题，产品功能不明确，不懂操作，功能不完善。针对系统问题，记下问题排查过程，整理成答疑手册，排期优化，收敛问题。针对产品功能不明确，不懂操作，增加系统文案提升和接入手册丰富。针对功能不完善，持续小版本优化解决，丰富功能。某个系统工单多，肯定是系统不完善导致。]]></description><category></category></item><item><title><![CDATA[rocketmq编译部署]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/113926748</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/113926748</guid><author>hong0220</author><pubDate>Mon, 22 Feb 2021 00:35:58 +0800</pubDate><description><![CDATA[下载源码：https://github.com/apache/rocketmq/

切换到分支：git checkoutrelease-4.4.0

编译：mvn -Prelease-all -DskipTests clean install

编译产出目录distribution，进入该目录



解压apache-rocketmq.tar.gz，进入该目录



执行命令

export ROCKETMQ_HOME=/Users/hongduoduo/Desktop/rocketmq/distri...]]></description><category></category></item><item><title><![CDATA[rocketmq docker安装]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/113883373</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/113883373</guid><author>hong0220</author><pubDate>Sat, 20 Feb 2021 14:49:49 +0800</pubDate><description><![CDATA[新建：docker-compose.yml


version: '3'

networks:
  monitor:
    driver: bridge

services:
  namesrv:
    image: rocketmqinc/rocketmq:4.4.0
    container_name: rmqnamesrv
    ports:
      - "9876:9876"
    volumes:
      - ./docker/namesrv/logs:/root/logs
  ]]></description><category></category></item><item><title><![CDATA[rocketmq源码分析之主从读写分离机制]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/113422847</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/113422847</guid><author>hong0220</author><pubDate>Sat, 30 Jan 2021 12:17:58 +0800</pubDate><description><![CDATA[主从读写分离机制：根据主服务器的消息堆积量来决定消费者是否向从服务器拉取消息消费

核心：
开关1：suggestPullingFromSlave：总开关，默认消费者不会消费从服务器。
开关2：suggestPullingFromSlave：未处理的消息总大小是否大于物理内存的40%

org.apache.rocketmq.store.GetMessageResult
// 总开关，默认消费者不会消费从服务器
private boolean suggestPullingFromSlave = false.]]></description><category></category></item><item><title><![CDATA[rocketmq源码分析之broker心跳检测]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/113253040</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/113253040</guid><author>hong0220</author><pubDate>Wed, 27 Jan 2021 16:37:35 +0800</pubDate><description><![CDATA[1.BrokerController发送心跳包
org.apache.rocketmq.broker.BrokerController#start()
// 向所有的NameSrv注册Broker信息
this.registerBrokerAll(true, false, true);

// 周期性注册Broker信息，Broker服务器会每间隔30秒(不会低于10秒,高于60秒)向集群中的所有NameServer发送心跳包
this.scheduledExecutorService.scheduleA.]]></description><category></category></item><item><title><![CDATA[rocketmq源码分析之namesrv路由中心]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/113203746</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/113203746</guid><author>hong0220</author><pubDate>Tue, 26 Jan 2021 23:21:51 +0800</pubDate><description><![CDATA[1.创建NamesrvController：

 根据配置文件创建namesrvConfig和nettyServerConfig,进而创建NamesrvController

2.初始化NamesrvController：

 1.加载kv配置

 2.创建NettyRemotingServer

 3.路由删除：定时任务,每10秒会发起一次检测broker,剔除不活跃的broker

 4.定时任务,每10分钟打印kv配置

3.启动NamesrvController

 启动ne...]]></description><category></category></item><item><title><![CDATA[presto源码编译]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/112769169</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/112769169</guid><author>hong0220</author><pubDate>Mon, 18 Jan 2021 11:35:28 +0800</pubDate><description><![CDATA[fork代码：https://github.com/trinodb/trino

下载代码到本地，如果下载慢，可以通过码云导入





进入代码目录，切换分支，git checkout 347



环境要求：

Mac OS X or Linux
	Java 11.0.7+, 64-bit
	Docker


编译：mvn clean install -DskipTests

速度很慢，切换阿里云的maven源


&lt;?xml version="1.0" encoding="UTF-8"?...]]></description><category></category></item><item><title><![CDATA[firefox插件推荐]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/91624381</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/91624381</guid><author>hong0220</author><pubDate>Wed, 12 Jun 2019 21:13:11 +0800</pubDate><description><![CDATA[firefox附加组件：

csdn去过广告：uBlock Origin

百度广告屏蔽




]]></description><category></category></item><item><title><![CDATA[virtual box配置ubuntu网络访问]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/80219326</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/80219326</guid><author>hong0220</author><pubDate>Sun, 06 May 2018 22:29:17 +0800</pubDate><description><![CDATA[1.宿主机和虚拟机互相访问a.虚拟机采用主机模式(host-only)，点击虚拟机网络适配器，配置ip，b.配置固定ip，注意ens33可以通过ifconfig查看，此处配置错误名字，网络服务重启将失败vim /etc/network/interfacesauto loiface lo inet loopback增加auto ens33iface ens33 inet staticaddress ...]]></description><category></category></item><item><title><![CDATA[mybatis源码-三.DefaultSqlSession selectOne操作]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/79889155</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/79889155</guid><author>hong0220</author><pubDate>Tue, 10 Apr 2018 22:29:47 +0800</pubDate><description><![CDATA[UserInfo user = (UserInfo) session.selectOne(&quot;User.selectUser&quot;, &quot;1&quot;);DefaultSqlSession@Override
    public &amp;lt;T&amp;gt; T selectOne(String statement, Object parameter) {
        // Popular vote was to re...]]></description><category></category></item><item><title><![CDATA[mybatis源码-二.DefaultSqlSession动态代理接口实例Mapper]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/79889150</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/79889150</guid><author>hong0220</author><pubDate>Tue, 10 Apr 2018 22:29:13 +0800</pubDate><description><![CDATA[DefaultSqlSession@Override
    public &amp;lt;T&amp;gt; T getMapper(Class&amp;lt;T&amp;gt; type) {
        return configuration.&amp;lt;T&amp;gt;getMapper(type, this);
    }Configurationpublic &amp;lt;T&amp;gt; T getMapper(Class&amp;lt;...]]></description><category></category></item><item><title><![CDATA[mybatis源码-一.获取SqlSession默认实现类DefaultSqlSession]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/79889140</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/79889140</guid><author>hong0220</author><pubDate>Tue, 10 Apr 2018 22:28:51 +0800</pubDate><description><![CDATA[代码// 读取Mybaits的主配置配置文件，返回该文件的输入流。
String resource = &quot;mybatis.cfg.xml&quot;;
Reader reader = Resources.getResourceAsReader(resource);
// 读取配置文件流将这些配置信息存放到Configuration类中。
SqlSessionFactory ssf = new SqlSess...]]></description><category></category></item><item><title><![CDATA[基于redis分布式锁]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/79833902</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/79833902</guid><author>hong0220</author><pubDate>Fri, 06 Apr 2018 15:45:45 +0800</pubDate><description><![CDATA[错误方法：setnx获取锁，拿到锁用expire给锁加一个过期时间，防止锁忘记释放。如果setnx执行之后expire执行之前，线程死掉，那锁就永远得不到释放，发生死锁。Long result = jedis.setnx(lockKey, requestId);if (result == 1) {// 线程死掉，无法设置过期时间，发生死锁jedis.expire(lockKey, expireTi...]]></description><category></category></item><item><title><![CDATA[分布式系统接口幂等]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/79118787</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/79118787</guid><author>hong0220</author><pubDate>Sun, 21 Jan 2018 11:20:01 +0800</pubDate><description><![CDATA[分布式远程调用：成功，失败，超时。
超时和失败情况，可能会触发重复调用，导致重试，需要被调用接口具有幂等性。


1.排重表：repeat_forbid：
begin transaction;
int flag = insert into repeat_forbid (...biz_id...) value(...biz_id...)
if (flag > 0) {
f(biz_id)
]]></description><category></category></item><item><title><![CDATA[事务隔离级别]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/79113092</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/79113092</guid><author>hong0220</author><pubDate>Sat, 20 Jan 2018 11:46:43 +0800</pubDate><description><![CDATA[JDBC定义五种隔离级别：
TRANSACTION_NONE JDBC：不支持事务
TRANSACTION_READ_UNCOMMITTED
TRANSACTION_READ_COMMITTED
TRANSACTION_REPEATABLE_READ
TRANSACTION_SERIALIZABLE


未提交读(Read Uncommitted)：读取到其他未提交事务修改的数据。]]></description><category></category></item><item><title><![CDATA[同步令牌模式防范CSRF跨站请求伪造攻击]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/52922381</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/52922381</guid><author>hong0220</author><pubDate>Tue, 25 Oct 2016 14:57:33 +0800</pubDate><description><![CDATA[什么是“跨渣请求伪造”呢？这是信息安全领域的一个名词，译自英文“Cross Site Request Forgery”。


百度百科上介绍的很简单却很明了，大家可以看一下，我这里配合一些代码稍微多说一点。

 

假设我们要在银行网站上给老妈转100块钱，毕竟毕业这么多年了也没给过家里钱（虽然你认为他们都在赚钱不需要你给，况且你自己现在赚钱刚好可以经济独立，不过实际上爹妈还是很希望]]></description><category></category></item><item><title><![CDATA[毕业一年多总结]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/52853769</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/52853769</guid><author>hong0220</author><pubDate>Tue, 18 Oct 2016 22:36:00 +0800</pubDate><description><![CDATA[今天刚好是我生日，总感觉要写的什么东西纪念一下。


2015年6月26日福建师范大学毕业，27号就离开学校，跟着一个360的同学来的北京。当初也不知道为什么自己要选择北漂。总感觉福州太过于无聊，四年时间感觉浪费掉。


初到北京，面临的是找工作问题。找了一天，感觉毕业生没有什么资本，就选择一家事业单位先工作的。干了快一年，感觉项目没啥用户量，没啥东西可以学习，就选择离职。]]></description><category></category></item><item><title><![CDATA[Spring Boot中启动HTTPS]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/52811334</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/52811334</guid><author>hong0220</author><pubDate>Thu, 13 Oct 2016 23:29:16 +0800</pubDate><description><![CDATA[转载地址：http://blog.youkuaiyun.com/RO_wsy/article/details/51319963




Spring Boot中启动HTTPS


如果你使用spring Boot，并且想在内嵌tomcat中添加HTTPS，需要如下步骤

要有一个证书，买的或者自己生成的在Spring Boot中启动HTTPS将HTTP重定向到HTTPS（可选）

获取]]></description><category></category></item><item><title><![CDATA[springboot+文件上传和下载]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/52792452</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/52792452</guid><author>hong0220</author><pubDate>Tue, 11 Oct 2016 22:23:56 +0800</pubDate><description><![CDATA[入口



文件上传

单文件上传




多文件上传



html







代码地址：http://git.oschina.net/hong0220/springboot

Java技术交流群 116738274]]></description><category></category></item><item><title><![CDATA[163邮箱模拟登录]]></title><link>https://blog.youkuaiyun.com/hong0220/article/details/52745730</link><guid>https://blog.youkuaiyun.com/hong0220/article/details/52745730</guid><author>hong0220</author><pubDate>Thu, 06 Oct 2016 21:39:13 +0800</pubDate><description><![CDATA[入口地址：http://email.163.com



首先你必须拥有一个@163.com结尾的邮箱。


通过抓包分析，发现：


点击登录，先访问 https://mail.163.com/entry/cgi/ntesdoor?funcid=loginone&language=-1&passtype=1&iframe=1&product]]></description><category></category></item></channel></rss>