Nicksxs's Blog https://nicksxs.me/icon.png What hurts more, the pain of hard work or the pain of regret? 2024-11-09T13:11:14.169Z https://nicksxs.me/ Nicksxs Hexo git小技巧之git cherry-pick https://nicksxs.me/2024/11/09/git%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B9%8Bgit-cherry-pick/ 2024-11-09T13:11:14.000Z 2024-11-09T13:11:14.169Z <p>上次讲了 <code>git stash</code> 跟 <code>git commit</code> 的小技巧,这次来讲下另一个命令,<code>git cherry-pick</code>,我怀疑这个命令应该叫 <code>choose-pick</code> git小技巧之查看git commit https://nicksxs.me/2024/11/02/git%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B9%8B%E6%9F%A5%E7%9C%8Bgit-commit/ 2024-11-02T13:32:09.000Z 2024-11-02T13:33:50.037Z <p>上次说的<code>git stash</code>我觉得是个非常有用的功能,简直是个大杀器,除非不存在需要切换分支的场景,否则在频繁切换的时候,<code>git stash</code> git小技巧之git stash https://nicksxs.me/2024/10/27/git%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B9%8Bgit-stash/ 2024-10-27T13:05:19.000Z 2024-10-27T13:05:19.842Z <p>我们日常开发包括我自用的小工具也在用git管理<br>在使用git的过程中经常有个场景是我在A分支上开发了一部分,临时需要切换到B分支,又不想先把这部分代码提交,因为还没开发完,<br>这是用<code>git Headscale渐入佳境补充篇-自定义中转derper使用反向代理 https://nicksxs.me/2024/10/20/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%E4%BD%BF%E7%94%A8%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/ 2024-10-20T08:09:24.000Z 2024-10-20T08:09:24.915Z <p>之前在使用headscale的自建derper中转的时候,因为使用了acme管理的证书,虽然acme会自动续期,但是由于证书要做转换,没办法很方便的自动更新derper中映射的证书,因为最近在尝试迁移服务器,就在寻找是否有新的方法,正好就结合前面使用的<code>caddy 不一劳永逸的临时docker镜像拉取解决办法 https://nicksxs.me/2024/10/13/%E4%B8%8D%E4%B8%80%E5%8A%B3%E6%B0%B8%E9%80%B8%E7%9A%84%E4%B8%B4%E6%97%B6docker%E9%95%9C%E5%83%8F%E6%8B%89%E5%8F%96%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/ 2024-10-13T08:43:46.000Z 2024-10-13T08:45:51.253Z <p>docker镜像拉取目前是个大问题,前阵子出现了比较大规模的封禁,导致很多原有的方案无法使用,其中包括阿里云的私有镜像地址,导致我折腾了半天<br>本来是可以在 基于Caddy的快速反向代理 https://nicksxs.me/2024/10/06/%E5%9F%BA%E4%BA%8ECaddy%E7%9A%84%E5%BF%AB%E9%80%9F%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/ 2024-10-06T13:41:57.000Z 2024-10-06T13:42:37.286Z <p>首先是安装Caddy,</p> <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span 小技巧-用iptables统计网速占用 https://nicksxs.me/2024/09/28/%E5%B0%8F%E6%8A%80%E5%B7%A7-%E7%94%A8iptables%E7%BB%9F%E8%AE%A1%E7%BD%91%E9%80%9F%E5%8D%A0%E7%94%A8/ 2024-09-28T10:16:35.000Z 2024-09-28T10:17:27.947Z <p>目前我在家里用的路由器是个装了ImmortalWrt的NX30 Pro路由器,由于内存只有256兆,默认没带网速统计和限制网速的插件,对于网络速度限制就有点困难,刚好这次网上找到了一个可以用iptables统计网速的脚本,简单记录下</p> <figure 小技巧之-安卓终端工具Termux访问手机文件 https://nicksxs.me/2024/09/22/%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B9%8B-%E5%AE%89%E5%8D%93%E7%BB%88%E7%AB%AF%E5%B7%A5%E5%85%B7Termux%E8%AE%BF%E9%97%AE%E6%89%8B%E6%9C%BA%E6%96%87%E4%BB%B6/ 2024-09-22T07:10:14.000Z 2024-09-22T07:10:14.824Z <p>Termux是安卓下一个终端工具,一开始以为就是一些极客的高端玩具,在安卓下编程用,实际的实用性不太强,直到之前稍微研究了下,还真的是个神器,这个神器的原因在于三方面<br>第一点,它其实不只是个终端工具,而是个类似于iterm2 + 用netty实现一个简单的http server-深入理解下 https://nicksxs.me/2024/09/15/%E7%94%A8netty%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84http-server-%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E4%B8%8B/ 2024-09-15T02:52:35.000Z 2024-09-15T02:52:35.628Z <p>上次用netty写的一个玩具http server,发现了一个问题,为啥channelRead0方法会被调用两次,这里我们来研究下<br>我们在收到http请求的时候需要经过的一个必要的过程就是编解码,而这里我们用的是 用netty实现一个简单的http server https://nicksxs.me/2024/09/08/%E7%94%A8netty%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84http-server/ 2024-09-08T08:43:58.000Z 2024-09-08T08:44:48.505Z <p>netty是java网络框架中非常有名,因为它把各种网络类型,阻塞非阻塞的都做了上层的抽象,非常值得学习,这边就先以一个简单的http server来做下实践,<br>主体的server代码</p> <figure class="highlight 一个Java类型的小问题记录 https://nicksxs.me/2024/09/01/%E4%B8%80%E4%B8%AAJava%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%B0%8F%E9%97%AE%E9%A2%98%E8%AE%B0%E5%BD%95/ 2024-09-01T01:00:09.000Z 2024-09-01T01:02:51.406Z <p>最近发现一个小问题,感觉挺有意思,我们来看下代码</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span 聊下apollo配置中心的接入 https://nicksxs.me/2024/08/25/%E8%81%8A%E4%B8%8Bapollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E7%9A%84%E6%8E%A5%E5%85%A5/ 2024-08-25T14:17:48.000Z 2024-08-31T06:23:55.929Z <p>很多技术栈在优化过程中都会有更便捷的接入方式,或者接入demo,这次想拿apollo来对比一些例如向量数据库的部署方式,对我说的就是milvus,<br>apollo如果生产环境部署完全不推荐用这种方式,但是如果为了做个实验,研究下源码还是很方便的,当然前提是有docker 体验下Java 21的虚拟线程-协程 https://nicksxs.me/2024/08/18/%E4%BD%93%E9%AA%8C%E4%B8%8BJava-21%E7%9A%84%E8%99%9A%E6%8B%9F%E7%BA%BF%E7%A8%8B-%E5%8D%8F%E7%A8%8B/ 2024-08-18T05:21:57.000Z 2024-08-18T05:21:57.716Z <p>Java在后续版本中添加了虚拟线程,也是类似于php跟go的协程,对应操作系统的线程是在线程基础上模拟了一层子线程的逻辑,因为减少了操作系统的线程上下文切换开销,能够在常规业务场景带了比较大的性能提升,但也并非银弹,不能包治百病<br>首先安装下jdk 21 版本,需要用 一个经典的fastjson反序列化问题记录 https://nicksxs.me/2024/08/11/%E4%B8%80%E4%B8%AA%E7%BB%8F%E5%85%B8%E7%9A%84fastjson%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%97%AE%E9%A2%98%E8%AE%B0%E5%BD%95/ 2024-08-11T11:09:55.000Z 2024-08-24T11:40:01.500Z <p>最近碰到一个问题,因为一些干扰因素导致排查的时候走了一段歧路,<br>报错信息是</p> <figure class="highlight java"><table><tr><td class="gutter"><pre><span 使用milvus和towhee实现简陋版的以图搜图 https://nicksxs.me/2024/08/04/%E4%BD%BF%E7%94%A8milvus%E5%92%8Ctowhee%E5%AE%9E%E7%8E%B0%E7%AE%80%E9%99%8B%E7%89%88%E7%9A%84%E4%BB%A5%E5%9B%BE%E6%90%9C%E5%9B%BE/ 2024-08-04T09:49:14.000Z 2024-08-04T09:49:14.683Z <p>上次我们尝试用 <code>towhee</code> 跟 <code>milvus</code> 实现了图片的向量化,那么顺势我们就能在这个基础上实现以图搜图<br>首先我们找一些图片,<br><img 尝试下图片向量化 https://nicksxs.me/2024/07/28/%E5%B0%9D%E8%AF%95%E4%B8%8B%E5%9B%BE%E7%89%87%E5%90%91%E9%87%8F%E5%8C%96/ 2024-07-28T08:41:03.000Z 2024-08-04T09:48:43.528Z <p>之前觉得谷歌的以图搜图很厉害,现在似乎这个路径还毕竟清晰了,首先要有图片库,把它们向量化以后存储起来,然后对于目标图片也做向量化,再做检索<br>那么我们先来做重要的这一步,图片的向量化,因为向量化以后就跟图片没关系了,直接用前面讲到的向量的近似搜索就可以做到以图搜图了<b 向量数据库 Milvus 安装初体验 https://nicksxs.me/2024/07/21/%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93-Milvus-%E5%AE%89%E8%A3%85%E5%88%9D%E4%BD%93%E9%AA%8C/ 2024-07-21T12:07:11.000Z 2024-07-21T12:08:19.251Z <p>之前做了个简单的铺垫,作为大模型应用技术领域非常重要的一环,向量数据库我们在前面有做一些引导性的介绍,其中的索引技术,<br>而在众多向量数据库比较有代表性的 Milvus,这边我们来尝试安装 Milvus 聊一下 Linux 中 dmesg 跟 journal 的差别 https://nicksxs.me/2024/07/14/%E8%81%8A%E4%B8%80%E4%B8%8B-Linux-%E4%B8%AD-dmesg-%E8%B7%9F-journal-%E7%9A%84%E5%B7%AE%E5%88%AB/ 2024-07-14T14:24:50.000Z 2024-07-14T14:25:27.484Z <p>最近在迁移一个自己用的mysql实例,发现用 portainer 安装 mysql 一直失败,还以为是配置了自定义端口映射被系统防火墙限制,但后面不映射端口也是不行,一开始查看 聊一下 Spring 的 SmartLifecycle 使用 https://nicksxs.me/2024/07/07/%E8%81%8A%E4%B8%80%E4%B8%8B-Spring-%E7%9A%84-SmarLifecycle-%E4%BD%BF%E7%94%A8/ 2024-07-07T09:55:22.000Z 2024-07-07T09:56:06.843Z <p>最近在学习过程中碰到一个比较有意思的Spring特性,就是 SmartLifecycle ,这个可以很轻松的融合进 Spring 生命周期</p> <figure class="highlight java"><table><tr><td 介绍一下Java的BiFunction https://nicksxs.me/2024/06/30/%E4%BB%8B%E7%BB%8D%E4%B8%80%E4%B8%8BJava%E7%9A%84BiFunction/ 2024-06-30T14:17:35.000Z 2024-06-30T14:18:06.043Z <p>java的函数式接口是java8引入的很重要的特性,也让日常代码有了比较大的风格转变<br>这里介绍下BiFunction,<br>BiFunction的代码很短</p> <figure class="highlight java"><table><tr><td