Nicksxs's Blog https://nicksxs.me/icon.png What hurts more, the pain of hard work or the pain of regret? 2024-04-21T14:00:56.800Z https://nicksxs.me/ Nicksxs Hexo 学习下LlamaIndex-初始篇 https://nicksxs.me/2024/04/21/%E5%AD%A6%E4%B9%A0%E4%B8%8BLlamaIndex-%E5%88%9D%E5%A7%8B%E7%AF%87/ 2024-04-21T14:00:56.000Z 2024-04-21T14:00:56.800Z <p>LlamaIndex 是目前比较新的大模型RAG框架,RAG是指 检索增强生成 (Retrieval-Augmented Generation, RAG)是指在利用大语言模型回答问题之前,先从外部知识库检索相关信息。RAG Headscale下篇-自定义中转derper https://nicksxs.me/2024/04/14/Headscale%E4%B8%8B%E7%AF%87-%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%AD%E8%BD%ACderper/ 2024-04-14T11:45:29.000Z 2024-04-14T11:45:29.648Z <p>derper是 tailscale 已经开源的 tailscale 中转服务,可以进行自己搭建,不然就是使用 tailscale 提供的 derper Headscale渐入佳境-路由设置 https://nicksxs.me/2024/04/07/Headscale%E6%B8%90%E5%85%A5%E4%BD%B3%E5%A2%83-%E8%B7%AF%E7%94%B1%E8%AE%BE%E7%BD%AE/ 2024-04-07T12:36:45.000Z 2024-04-07T12:36:45.844Z <p><code>headscale</code> 在前面两篇<a 折腾记-给玩客云刷上Armbian https://nicksxs.me/2024/03/31/%E6%8A%98%E8%85%BE%E8%AE%B0-%E7%BB%99%E7%8E%A9%E5%AE%A2%E4%BA%91%E5%88%B7%E4%B8%8AArmbian/ 2024-03-31T11:41:50.000Z 2024-03-31T11:41:50.151Z <p>之前买来玩客云作为轻nas使用,但是由于只能外接硬盘,并且是usb2.0的接口,使用体验不是特别好,并且前期作为老母鸡还能兑换视频会员这种,后面取消了就不怎么使用了,前阵子玩客云停止提供服务了,所以就想可以折腾下,比如Armbian这样的,可以作为轻量服务器使用,功耗也比较 用 ollama 本地运行谷歌开源大模型 Gemma https://nicksxs.me/2024/03/24/%E7%94%A8-ollama-%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C%E5%A4%A7%E6%A8%A1%E5%9E%8B/ 2024-03-24T12:51:05.000Z 2024-03-24T13:02:44.422Z <p>原先在 23 年初的时候调研过一些国产的大模型,包括复旦开源的 MOSS 和清华的 ChatGLM,那时候还是早期版本,需要在 Linux 上,并且有比较好的显卡,而且一般来讲都得是 N 卡,过程中需要安装 Java 线程池系列-实战篇 https://nicksxs.me/2024/03/17/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E5%AE%9E%E6%88%98%E7%AF%87/ 2024-03-17T12:54:57.000Z 2024-03-17T12:54:57.993Z <p>线程池在实际使用过程中,有时候在理解比较偏理论的时候会出现一些判断错误,这里我们就来看一个实际的案例</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span 聊一聊 https 的逻辑 https://nicksxs.me/2024/03/10/%E8%81%8A%E4%B8%80%E8%81%8A-https-%E7%9A%84%E9%80%BB%E8%BE%91/ 2024-03-10T14:37:56.000Z 2024-03-10T14:37:56.548Z <h1 id="https-和-tls"><a href="#https-和-tls" class="headerlink" title="https 和 tls"></a>https 和 tls</h1><p>https Java 线程池系列-第四篇 https://nicksxs.me/2024/03/03/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E5%9B%9B%E7%AF%87/ 2024-03-03T14:14:39.000Z 2024-03-03T14:14:39.743Z <p>这一篇主要补充两个内容,第一部分就是获取任务的逻辑<br>首先是状态判断,如果是停止了,SHUTDOWN或更大的了,就需要减小工作线程数量<br>并返回 null,使得工作线程 worker 退出,然后再判断线程数量和超时,同样如果超过了就会返回 Java 线程池系列-第三篇 https://nicksxs.me/2024/02/24/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E4%B8%89%E7%AF%87/ 2024-02-24T15:09:57.000Z 2024-02-24T15:09:57.350Z <p>第三篇我们要来讲下 Worker 这个“打工人”,线程池里实际在干活的同学<br>Worker 实现了 Runnable 接口,所以在前面介绍的 <code>addWorker</code> 中<br>线程启动其实就调用了下面的 run 方法,而 run Java 线程池系列-第二篇 https://nicksxs.me/2024/02/18/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E4%BA%8C%E7%AF%87/ 2024-02-18T10:47:52.000Z 2024-02-18T10:47:52.382Z <p>介绍了线程池的目的和实现概述,以及如何初始化的,我们就来开始看看线程池最重要的执行过程<br>老规矩,还是先把注释翻译下,这个对理解逻辑其实非常重要,后面可以循着注释的逻辑来看代码<br>第一步,如果是少于核心线程数的线程正在运行,那么尝试去开启一个新线程,并把提交的命令< Java 线程池系列-第一篇 https://nicksxs.me/2024/02/11/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E7%AC%AC%E4%B8%80%E7%AF%87/ 2024-02-11T11:39:05.000Z 2024-02-11T11:52:10.080Z <p>这一篇我们继续聊线程池,一般线程池会介绍我们的参数,我先不一样一些<br>我们先来翻译一下</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span Java 线程池系列-准备篇 https://nicksxs.me/2024/02/04/Java-%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%B3%BB%E5%88%97-%E5%87%86%E5%A4%87%E7%AF%87/ 2024-02-04T15:10:20.000Z 2024-02-04T15:10:20.876Z <p>Java 线程池是 Java Leetcode 572 Subtree of Another Tree 题解分析 https://nicksxs.me/2024/01/28/Leetcode-572-Subtree-of-Another-Tree-%E9%A2%98%E8%A7%A3%E5%88%86%E6%9E%90/ 2024-01-28T13:17:42.000Z 2024-01-28T13:17:42.631Z <h2 id="题目介绍"><a href="#题目介绍" class="headerlink" title="题目介绍"></a>题目介绍</h2><p>Given the roots of two binary trees root and subRoot, return Leetcode 25 Reverse Nodes in k-Group 题解分析-再解分析 https://nicksxs.me/2024/01/21/Leetcode-25-Reverse-Nodes-in-k-Group-%E9%A2%98%E8%A7%A3%E5%88%86%E6%9E%90/ 2024-01-21T07:09:47.000Z 2024-01-21T07:22:30.416Z <p>上一次主要是给了一个解题方案,没有具体讲解,这次又做到了就来看下几种方案,链表转置一直是我比较疑惑的问题,特别是边界处理,而这个问题要把难度加大了<br>我先讲一下我一开始的思路和解题方法,首先就是写一个转置方法,就处理 k 聊一下 Java 的日志系列三 https://nicksxs.me/2024/01/21/%E8%81%8A%E4%B8%80%E4%B8%8B-Java-%E7%9A%84%E6%97%A5%E5%BF%97%E7%B3%BB%E5%88%97%E4%B8%89/ 2024-01-21T02:52:44.000Z 2024-01-21T02:52:44.047Z <p>上周因为一些事情没有更新在这里,是因为新电脑还没到,手头没有把移动硬盘里的 time machine 恢复出来的机器,所以单独更了一篇在新建的一个 cloudflare page 服务上,总体体验还可以,就是有个小点后面可以讲一下,继续完善下 Java 聊一下 Java 的日志系列二 https://nicksxs.me/2024/01/14/%E8%81%8A%E4%B8%80%E4%B8%8B-Java-%E7%9A%84%E6%97%A5%E5%BF%97%E7%B3%BB%E5%88%97%E4%BA%8C/ 2024-01-14T13:26:53.000Z 2024-01-21T03:32:56.186Z <p>log 初始化过程,首先是在启动类里会获取 logger</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span 聊一下 Java 的日志系列一 https://nicksxs.me/2024/01/07/%E8%81%8A%E4%B8%80%E4%B8%8B-Java-%E7%9A%84%E6%97%A5%E5%BF%97%E7%B3%BB%E5%88%97%E4%B8%80/ 2024-01-07T14:30:23.000Z 2024-01-22T08:05:23.637Z <p>我们在使用 Java 的日志库的时候,比如我们现在项目在用的 php 的调试方法-查看调用堆栈 https://nicksxs.me/2023/12/31/php-%E7%9A%84%E8%B0%83%E8%AF%95%E6%96%B9%E6%B3%95-%E6%9F%A5%E7%9C%8B%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88/ 2023-12-31T13:49:36.000Z 2023-12-31T13:52:02.249Z <p>php 代码调试里的神器就是 <code>echo 111;exit;</code> 但是对于使用了接口和继承比较多的话,有时候比较难找,可能定位到了一段代码但是不知道怎么调用过来的,这时候就可以用这个方法</p> <p>总结下来有三种,</p> <h2 阿里云 rds 主从延迟排查 https://nicksxs.me/2023/12/24/%E9%98%BF%E9%87%8C%E4%BA%91-rds-%E4%B8%BB%E4%BB%8E%E5%BB%B6%E8%BF%9F%E6%8E%92%E6%9F%A5/ 2023-12-24T12:48:08.000Z 2023-12-24T12:48:08.804Z <p>昨天同学问我是不是数据库主从延迟有点高,可能有一分多钟,然后我就去看了rds 的监控,发现主实例上的监控显示的延迟才 1.2 秒,而且是最高 1.2 秒,感觉这样的话应该就没啥问题,然后同学跟我说他加了日志,大致的逻辑是主库数据落库以后就会发一条 mq Tomcat 系列篇十二-番外介绍下 Tomcat 的上传文件限制 https://nicksxs.me/2023/12/17/Tomcat-%E7%B3%BB%E5%88%97%E7%AF%87%E5%8D%81%E4%BA%8C-%E7%95%AA%E5%A4%96%E4%BB%8B%E7%BB%8D%E4%B8%8B-Tomcat-%E7%9A%84%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E9%99%90%E5%88%B6/ 2023-12-17T11:17:52.000Z 2023-12-17T11:17:52.934Z <p>最近同学在把 springboot 升级到 2.x