Nicksxs's Blog
https://nicksxs.me/icon.png
What hurts more, the pain of hard work or the pain of regret?
2024-06-23T14:47:47.324Z
https://nicksxs.me/
Nicksxs
Hexo
向量数据库学习-介绍一下HNSW算法
https://nicksxs.me/2024/06/23/%E4%BB%8B%E7%BB%8D%E4%B8%80%E4%B8%8BHNSW%E7%AE%97%E6%B3%95/
2024-06-23T14:47:47.000Z
2024-06-23T14:47:47.324Z
<p>结合AI帮我生成的一篇HNSW的介绍视频,算是向量数据库中比较核心的算法</p>
<h2 id="1-引言"><a href="#1-引言" class="headerlink" title="1. 引言"></a>1.
NX30Pro 刷成 Openwrt-ImmortalWrt 后作为有线中继的配置方法
https://nicksxs.me/2024/06/16/NX30Pro-%E5%88%B7%E6%88%90-Openwrt-ImmortalWrt-%E5%90%8E%E4%BD%9C%E4%B8%BA%E6%9C%89%E7%BA%BF%E4%B8%AD%E7%BB%A7%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/
2024-06-16T14:45:23.000Z
2024-06-16T14:47:48.302Z
<p>因为买了两个NX30Pro,主要是奔着可以刷Openwrt,然后把两个都刷成了ImmortalWrt,结果发现要作为有线中继的话设置还有点麻烦,所以记录下<br>首先要设置个与主路由相同网段的静态地址,方便管理<br>在网络-LAN-基本设置-协议设置成“静态地址”<br>
向量数据库学习基础之跳表
https://nicksxs.me/2024/06/16/%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80%E4%B9%8B%E8%B7%B3%E8%A1%A8/
2024-06-16T14:30:37.000Z
2024-06-16T14:30:37.102Z
<p>在学习向量数据库的时候,发现检索的算法 <code>HNSW</code>
给局域网中的Ubuntu固定下ip
https://nicksxs.me/2024/06/02/%E7%BB%99%E5%B1%80%E5%9F%9F%E7%BD%91%E4%B8%AD%E7%9A%84Ubuntu%E5%9B%BA%E5%AE%9A%E4%B8%8Bip/
2024-06-02T15:32:18.000Z
2024-06-02T15:32:28.739Z
<p>将一个小点,在局域网中包括类似于homelab的或者仅仅只是搭一个用来当实验环境的,在局域网内机器比较少的时候大部分DHCP会给分配相同的ip,但是这不是一定的,当机器比较多,并且上下线比较频繁时就会出现ip地址变动,这对于一些使用场景比较讨厌,所以我想把ip固定下来,先简
Headscale渐入佳境补充篇-自定义中转derper的证书问题
https://nicksxs.me/2024/05/26/Headscale%E6%B8%90%E5%85%A5%E4%BD%B3%E5%A2%83%E8%A1%A5%E5%85%85%E7%AF%87-%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%AD%E8%BD%ACderper%E7%9A%84%E8%AF%81%E4%B9%A6%E9%97%AE%E9%A2%98/
2024-05-26T15:32:56.000Z
2024-05-26T15:32:56.056Z
<p>之前自定义部署的derper在Mac端和Windows使用时没啥问题,但是在我想作为网关的Armbian小机器上一直会报 “x509: certificate signed by unknown
远程桌面工具rustdesk的私有化部署-mac锁定问题
https://nicksxs.me/2024/05/19/%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%B7%A5%E5%85%B7rustdesk%E7%9A%84%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2-mac%E9%94%81%E5%AE%9A%E9%97%AE%E9%A2%98/
2024-05-19T14:34:19.000Z
2024-05-19T14:34:19.669Z
<p>上次分享了rustdesk如何私有化部署,但是在实际使用中存在一个小问题,就是如果被连接端是mac的话,在mac进入超时自动锁定或者被主动锁定之后,连接就会进入一个“已连接,等待画面传输”的状态,但实际后续并不会传输画面,而是继续卡在这个无法实际连接的状态<br><img
远程桌面工具rustdesk的私有化部署
https://nicksxs.me/2024/05/12/%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%B7%A5%E5%85%B7rustdesk%E7%9A%84%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/
2024-05-12T15:30:44.000Z
2024-05-12T15:30:44.115Z
<p>最近因为利用rustdesk远程操作诈骗太多,所以rustdesk官方直接关闭了国内的公有服务,相对其他比如teamviewer来说,rustdesk还是个比较不错的选择,性能考量也过得去,相对来说在双方都是mac的情况下,不付费的体验来说,比自带的vnc好了很多,vnc目
Leetcode 31 Next Permutation 题解分析
https://nicksxs.me/2024/05/06/Leetcode-31-Next-Permutation-%E9%A2%98%E8%A7%A3%E5%88%86%E6%9E%90/
2024-05-06T07:32:20.000Z
2024-05-06T07:32:20.800Z
<p>这题的题目介绍有一定的误导性,没有把字典序说明白,虽然的确是常规意义的字典序,但是题目介绍给的序列顺序反而会让人觉得那样不对<br>这里我们逐步深入地来讲这个题,也类似于找规律<br>注意:这里的递减递增序列都是从前往后看的<br>字典序可以就当查字典,或者默认的字符串排序
折腾记-讲一下iptables的一个小问题
https://nicksxs.me/2024/05/05/%E6%8A%98%E8%85%BE%E8%AE%B0-%E8%AE%B2%E4%B8%80%E4%B8%8Biptables%E7%9A%84%E4%B8%80%E4%B8%AA%E5%B0%8F%E9%97%AE%E9%A2%98/
2024-05-05T14:23:42.000Z
2024-05-05T14:23:42.858Z
<p>很早之前就有用过iptables,那时候是早期版本的Ubuntu系统,配置防火墙的时候,是挺复杂的,就是在reject之前添加accept规则,并且当时很多网上资料都是在后续添加就行,这个其实在当时是有问题的,所以比较印象深刻。<br>这次碰到的问题是对iptables的概
折腾记-给玩客云装上casaos
https://nicksxs.me/2024/04/28/%E6%8A%98%E8%85%BE%E8%AE%B0-%E7%BB%99%E7%8E%A9%E5%AE%A2%E4%BA%91%E8%A3%85%E4%B8%8Acasaos/
2024-04-28T12:37:08.000Z
2024-04-28T12:37:08.961Z
<h1 id="玩客云-casaos"><a href="#玩客云-casaos" class="headerlink" title="玩客云 casaos"></a>玩客云
学习下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>第一步,如果是少于核心线程数的线程正在运行,那么尝试去开启一个新线程,并把提交的命令<