<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[harbor_lee的博客]]></title><description><![CDATA[模板1]]></description><link>https://blog.youkuaiyun.com/harbor_lee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; harbor_lee]]></copyright><item><title><![CDATA[【jdbc】batch size]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/125293716</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/125293716</guid><author>harbor_lee</author><pubDate>Wed, 15 Jun 2022 12:02:03 +0800</pubDate><description><![CDATA[jdbc batch size]]></description><category></category></item><item><title><![CDATA[intellij和docker运行均出现中文乱码]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/125174386</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/125174386</guid><author>harbor_lee</author><pubDate>Tue, 07 Jun 2022 22:26:31 +0800</pubDate><description><![CDATA[intellij本地运行和docker运行均出现中文乱码]]></description><category></category></item><item><title><![CDATA[【svn】【intellij】忽略文件或文件夹的提交]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/124023772</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/124023772</guid><author>harbor_lee</author><pubDate>Thu, 07 Apr 2022 19:00:07 +0800</pubDate><description><![CDATA[参考文章1进行svn全局忽略配置。若想要忽略的文件已有远程提交，则先删除，并commit删除。忽略生效后，动态运行产生的如target、logs文件夹就都显示如下忽略状态。若还是绿色对勾，请先删除并commit，如前述。

intellij无须设置，即可自动受到svn的忽略设置影响（intellij settings搜ignore出来的是maven的，对我们无用），见下图，忽略的显示黄色。




https://blog.youkuaiyun.com/xt314159/article/details/11762897]]></description><category></category></item><item><title><![CDATA[【javadoc】【intellij】设置模板]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/124002940</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/124002940</guid><author>harbor_lee</author><pubDate>Wed, 06 Apr 2022 23:19:22 +0800</pubDate><description><![CDATA[1、参考文章1配置类和方法的javadoc模板
2、注意配置模板内容框下方的生效范围配置为java
3、快捷键参考文章2，自定义模板是/*+abbreviation+Expand with。abbreviation不会显示，所以模板里的首行只带一个*和默认的/*拼成javadoc的/**。
4、date、time、return、throws、params均为空。若按3应该不会遇到4的问题，4是由于不清楚拼接原理。参考文章3可知模板不以/*开头即可。



https://www.jb51.net/artic]]></description><category></category></item><item><title><![CDATA[【linux】工作中用到的命令总结]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/122720107</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/122720107</guid><author>harbor_lee</author><pubDate>Thu, 27 Jan 2022 16:36:21 +0800</pubDate><description><![CDATA[全局替换tab为|
%s/\t/|/g


]]></description><category></category></item><item><title><![CDATA[【linux】逻辑卷扩容]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/122685022</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/122685022</guid><author>harbor_lee</author><pubDate>Tue, 25 Jan 2022 14:43:01 +0800</pubDate><description><![CDATA[参考链接：
https://www.cnblogs.com/heruiguo/p/7943537.html
命令：lsblk	– 查看磁盘分区、挂载点
df  -hT	– 查看文件系统、挂载点
fdisk -l – 查看磁盘大小、是否为逻辑卷
另外还有
blkid – 查看已格式化的分区有哪些
pvdisplay – 查看物理卷有哪些
vgdisplay – 查看逻辑卷有哪些

...]]></description><category></category></item><item><title><![CDATA[【大数据】【clickhouse】学习]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/121745172</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/121745172</guid><author>harbor_lee</author><pubDate>Mon, 06 Dec 2021 13:48:38 +0800</pubDate><description><![CDATA[ClickHouse深度揭秘
https://zhuanlan.zhihu.com/p/98135840
LSM树详解
https://zhuanlan.zhihu.com/p/181498475
大数据开发：Hbase、Kudu和ClickHouse对比
https://baijiahao.baidu.com/s?id=1705639010388476665&amp;wfr=spider&amp;for=pc
b站视频
https://www.bilibili.com/video/BV1Yh411z7os]]></description><category></category></item><item><title><![CDATA[【powerdesigner】使用]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/121672333</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/121672333</guid><author>harbor_lee</author><pubDate>Thu, 02 Dec 2021 10:51:15 +0800</pubDate><description><![CDATA[powerdesigner
https://jingyan.baidu.com/article/86fae346e089393c49121a11.html 基本使用
https://www.cnblogs.com/timingstarts/p/12640336.html 详细使用（sql转模型、oracle表导出为mysql）

]]></description><category></category></item><item><title><![CDATA[【db】jpa]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/121667728</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/121667728</guid><author>harbor_lee</author><pubDate>Wed, 01 Dec 2021 23:52:39 +0800</pubDate><description><![CDATA[这篇文章讲的较清楚：https://www.cnblogs.com/jddreams/p/14024754.html

]]></description><category></category></item><item><title><![CDATA[【intellij】External and inferred annotations]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/121582030</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/121582030</guid><author>harbor_lee</author><pubDate>Sat, 27 Nov 2021 20:14:30 +0800</pubDate><description><![CDATA[背景
&nbsp;&nbsp;&nbsp;&nbsp;Effective Java 中文版（原书第3版）的163页用到Stream.iterate(TWO, BigInteger::nextProbablePrime)用于生成素数流，引起我对这个函数的兴趣，一方面是它如何使用参数一来生成大于参数一的素数，另一方法是好奇BigInteger竟可以提供素数生成，再也不用手写素数判定方法了。
&nbsp;&nbsp;&nbsp;&nbsp;打开Intellij查看Stream.iterate源码，发现灰色的@Co]]></description><category></category></item><item><title><![CDATA[【泛型】自限定的类型]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/121010832</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/121010832</guid><author>harbor_lee</author><pubDate>Thu, 28 Oct 2021 19:29:25 +0800</pubDate><description><![CDATA[背景
&nbsp;&nbsp;&nbsp;&nbsp;极客时间netty课程跟着老师读源码时，发现一个很奇怪的类定义：
public abstract class AbstractBootstrap&lt;B extends AbstractBootstrap&lt;B, C&gt;, C extends Channel&gt; implements Cloneable

&nbsp;&nbsp;&nbsp;&nbsp;想到曾经看过的《thinking in java》这本书里讲了泛型擦除，应该可以解答上面]]></description><category></category></item><item><title><![CDATA[【泛型】T extends Comparable＜? super T＞]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/120955662</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/120955662</guid><author>harbor_lee</author><pubDate>Mon, 25 Oct 2021 20:11:36 +0800</pubDate><description><![CDATA[背景
&nbsp;&nbsp;&nbsp;&nbsp;看跳表的实现代码1时看到T extends Comparable&lt;? super T&gt;，不太理解其含义。
理解
&nbsp;&nbsp;&nbsp;&nbsp;参考知乎2并自己测试后比较理解了。
&nbsp;&nbsp;&nbsp;&nbsp;java中向上转型是转为父类，向下转型是转为子类。extends确定了类型的上限，super确定了类型的下限。
&nbsp;&nbsp;&nbsp;&nbsp;T extends Comparable&]]></description><category></category></item><item><title><![CDATA[【intellij】全局搜索]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/120578069</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/120578069</guid><author>harbor_lee</author><pubDate>Fri, 01 Oct 2021 15:39:08 +0800</pubDate><description><![CDATA[背景
阅读mapstruct最新版reference文档时，有一个参数用于设置bean的注入方式（在mapper自身也是一个bean且依赖其他bean的情况时，那种通过Mapper.Instance得到的每次都是新实例不是bean）。如下图所示：

但是在intellij全局搜索源码时却搜不到uses或搜到的明显不是想要的，搜@Mapper(uses可以搜到，但搜uses却搜不到@Mapper(uses这种出现过uses的地方。
解决
对比搜apper可以搜到wrapper，可知intellij搜索时是在单]]></description><category></category></item><item><title><![CDATA[【java基础】为什么子接口要覆盖父接口的方法]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/120494310</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/120494310</guid><author>harbor_lee</author><pubDate>Sun, 26 Sep 2021 19:10:34 +0800</pubDate><description><![CDATA[背景
 研究java api[^1] – Queue时，对好奇的地方扩展阅读。发现Deque方法列表里有contains()，下方的继承于Collection的方法只是列出，产生疑问，contains()方法在Collection里也有，为啥子接口要重写父接口的方法呢？
研究
 谷歌搜索"Why do some interfaces override the methods of the parent interface in java"，找到两篇文章[^2,3]，结合jdk源码看了下。
总结
 文章[^3]]></description><category></category></item><item><title><![CDATA[【intellij】搜索快捷键与搜狗输入法的快捷键相同]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/119685920</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/119685920</guid><author>harbor_lee</author><pubDate>Fri, 13 Aug 2021 23:54:11 +0800</pubDate><description><![CDATA[ctrl+shift+n是idea搜索文件名的快捷键，但调出了搜狗输入法的设置界面，于是顺势将如下两个不勾选。以后有需要可以再次设置。由于ctrl+shift+n已经未勾选，下次要调出界面，可以使用ctrl+shift+m，再点击属性设置。
intellij搜索快捷键：
1、ctrl+shift+r: 全局搜索和替换
2、ctrl+shift+n: 按文件名搜索
3、ctrl+n: 按类名搜索


...]]></description><category></category></item><item><title><![CDATA[【DDD】start]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/119519843</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/119519843</guid><author>harbor_lee</author><pubDate>Sun, 08 Aug 2021 21:49:39 +0800</pubDate><description><![CDATA[阎华-DDD和功能解耦 
codeasy #DDD
殷浩 DDD系列目前有5篇
ddd-starter-modelling-process
IDDD_Samples
书籍
Clean Architecture
Domain Driven Design(领域驱动设计)
Enterprise Integration Patterns
实现领域驱动设计 （美）弗农著

...]]></description><category></category></item><item><title><![CDATA[【缓存】如何优雅地使用缓存]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/118001002</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/118001002</guid><author>harbor_lee</author><pubDate>Thu, 17 Jun 2021 20:14:54 +0800</pubDate><description><![CDATA[具体请参考原文1。本文为阅读笔记、自己实验。
收获

进程缓存+分布式缓存构成的二级缓存在性能和可维护性上都较好。
进程缓存的缺点，只在应用所在的服务器生效，该缺点可以通过如Redis的pub/sub对进程缓存进行删除来解决。

感兴趣的点
1、Redis的pub/sub
实验
1、Caffeine+Redis构成的二级缓存，并通过Redis的pub/sub对进程缓存进行删除



https://juejin.cn/post/6844903665845665805 ↩︎




...]]></description><category></category></item><item><title><![CDATA[【mapstruct】学习使用记录]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/118000730</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/118000730</guid><author>harbor_lee</author><pubDate>Thu, 17 Jun 2021 20:01:49 +0800</pubDate><description><![CDATA[mapstruct是一种属性类映射工具，之前用过它在代码里处理映射问题，解决大段set语句造成的不美观。当时用的时候磕磕绊绊，因为只是看了官网使用的pdf，而实际应用场景较为复杂，不只是简单的名称替换，另外自己要写自定义映射方法（@Mapping里的qualifiedByName属性对应的）是否可以被重用，还有@Mapper的config是干啥的都不十分清楚，写的过程更像是做实验，通过junit先测一下。今天看了mapstruct javadoc1，感触颇深，感觉读懂了，因此打算记录一下。
mapstruc]]></description><category></category></item><item><title><![CDATA[【OAuth2】access code与access token的区别]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/117997731</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/117997731</guid><author>harbor_lee</author><pubDate>Thu, 17 Jun 2021 19:25:16 +0800</pubDate><description><![CDATA[两次请求，第一次是跳转到第三方并登录以得到access code，第二次是发送请求并携带access code以得到access token。为啥要设计成两次请求，可以参考这篇1，大意是解决access token被滥用的可能，因为第二次请求可能会携带ip、设备名、app名、access code来生成唯一的access token。为啥不在第一次请求时携带上这些信息，文章说可能是为了清晰，我觉得应该也为了省内存吧，如果第一次请求时用户名密码错误，携带那些信息就会占用提供OAuth2服务的服务端内存，没有必]]></description><category></category></item><item><title><![CDATA[【vhr】【安装】中间件安装]]></title><link>https://blog.youkuaiyun.com/harbor_lee/article/details/117677018</link><guid>https://blog.youkuaiyun.com/harbor_lee/article/details/117677018</guid><author>harbor_lee</author><pubDate>Mon, 07 Jun 2021 23:50:23 +0800</pubDate><description><![CDATA[vmware workshop
docker安装
mysql安装

]]></description><category></category></item></channel></rss>