Nicksxs's Blog https://nicksxs.me/icon.png What hurts more, the pain of hard work or the pain of regret? 2025-03-16T13:16:04.364Z https://nicksxs.me/ Nicksxs Hexo java小知识之String.format中的%秘密 https://nicksxs.me/2025/03/16/java%E5%B0%8F%E7%9F%A5%E8%AF%86%E4%B9%8BString-format%E4%B8%AD%E7%9A%84-%E7%A7%98%E5%AF%86/ 2025-03-16T13:16:04.000Z 2025-03-16T13:16:04.364Z <p>String.format是Java中String类非常常用的一个方法,可以帮我们将占位符替换成变量,比如<code>%d</code>可以作为整型的占位符,<code>%s</code>可以作为字符串的占位符,但是吧有的时候常用归常用,有的时候碰到问题了还是得学习记录下< 使用 chatbox 来连接火山引擎等api服务来使用Deepseek-R1 全尺寸大模型 https://nicksxs.me/2025/03/09/%E4%BD%BF%E7%94%A8-chatbox-%E6%9D%A5%E8%BF%9E%E6%8E%A5%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E7%AD%89api%E6%9C%8D%E5%8A%A1%E6%9D%A5%E4%BD%BF%E7%94%A8Deepseek-R1-%E5%85%A8%E5%B0%BA%E5%AF%B8%E5%A4%A7%E6%A8%A1%E5%9E%8B/ 2025-03-09T13:15:46.000Z 2025-03-09T13:15:46.765Z <p>chatbox 是个可以链接大模型api服务的客户端工具,之前我们说的都是使用自己部署的蒸馏模型,如果现在本地使用全尺寸大模型的话,就可以使用像 chatbox 这样的客户端工具<br>首先我们需要下载 chatbox 结合本地部署的蒸馏 deepseek 大模型和 Anything LLM 来实现rag功能 https://nicksxs.me/2025/03/02/%E7%BB%93%E5%90%88%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E7%9A%84%E8%92%B8%E9%A6%8Fdeepseek%E6%9D%A5%E5%AE%9E%E7%8E%B0rag%E5%8A%9F%E8%83%BD/ 2025-03-02T14:12:20.000Z 2025-03-02T14:12:20.442Z <p>之前我们用LM Studio 本地部署了 deepseek的蒸馏大模型,虽然肯定无法跟满血版比,但是对于本地的一些小应用还是可以尝试的<br>这边我们就不自己实现了,借助于 Anything LLM来做个尝试<br>首先可以在 <a 使用 LM Studio 在本地部署 Deepseek-R1 的蒸馏版大模型 https://nicksxs.me/2025/02/23/%E4%BD%BF%E7%94%A8-LM-Studio-%E5%9C%A8%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2-Deepseek-%E5%A4%A7%E6%A8%A1%E5%9E%8B/ 2025-02-23T13:14:34.000Z 2025-02-23T13:14:34.317Z <p>deepseek-v3 和 deepseek-r1 mac os 14.x 出现 'xxx 已损坏,无法打开。 你应该将它移到废纸篓。' 解决方法 https://nicksxs.me/2025/02/16/mac-os-14-x-%E5%87%BA%E7%8E%B0-xxx-%E5%B7%B2%E6%8D%9F%E5%9D%8F%EF%BC%8C%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E3%80%82-%E4%BD%A0%E5%BA%94%E8%AF%A5%E5%B0%86%E5%AE%83%E7%A7%BB%E5%88%B0%E5%BA%9F%E7%BA%B8%E7%AF%93%E3%80%82-%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/ 2025-02-16T13:07:49.000Z 2025-02-16T13:07:49.835Z <p>在运行一个python写的小工具的时候碰到了这个问题<br>““Python.framework”已损坏,无法打开。 解决一个比较奇妙的问题 - leancloud 阅读计数不显示 https://nicksxs.me/2025/02/09/%E8%A7%A3%E5%86%B3%E4%B8%80%E4%B8%AA%E6%AF%94%E8%BE%83%E5%A5%87%E5%A6%99%E7%9A%84%E9%97%AE%E9%A2%98/ 2025-02-09T13:24:15.000Z 2025-02-09T13:24:15.469Z <p>最近发现博客上那个阅读次数的功能有点问题,因为是基于leancloud的功能,然后前几天打开了下 leancloud.app 聊聊一次 brew update 引发的血案-202502更新 https://nicksxs.me/2025/02/02/%E8%81%8A%E8%81%8A%E4%B8%80%E6%AC%A1-brew-update-%E5%BC%95%E5%8F%91%E7%9A%84%E8%A1%80%E6%A1%88-202502%E6%9B%B4%E6%96%B0/ 2025-02-02T03:27:16.000Z 2025-02-02T03:27:16.620Z <p>之前写了这么一篇标题党,只是这个的确是比较头疼的事情,brew更新了下,php就不能用了,这里面主要是 <code>icu4c</code> 这个库的更新导致的,比如最近我又碰到了<br><img systemtap学习记录一 https://nicksxs.me/2025/01/26/systemtap%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95%E4%B8%80/ 2025-01-26T11:53:37.000Z 2025-01-26T11:53:37.947Z <p>前两天拜读了章亦春大佬的关于Dynamic Tracing的文章,觉得对现在碰到的一些问题有了一些新的思考,为了能有所产出就先写一点简单的学习记录<br>首先这个systemtap类似于一个linux系统层面的探针工具,可以让用户去监控系统的各种活动<br>以阿里云的 java的字节码工具-javassist体验三 https://nicksxs.me/2025/01/19/java%E7%9A%84%E5%AD%97%E8%8A%82%E7%A0%81%E5%B7%A5%E5%85%B7-javassist%E4%BD%93%E9%AA%8C%E4%B8%89/ 2025-01-19T13:57:50.000Z 2025-01-19T13:57:50.109Z <p>这篇还是javassist的一些使用小技巧,我们可以用javassist来读取java的注解信息<br>首先我们有这样一个注解</p> <figure class="highlight java"><table><tr><td java的字节码工具-javassist体验二 https://nicksxs.me/2025/01/12/java%E7%9A%84%E5%AD%97%E8%8A%82%E7%A0%81%E5%B7%A5%E5%85%B7-javassist%E4%BD%93%E9%AA%8C%E4%BA%8C/ 2025-01-12T14:59:04.000Z 2025-01-12T14:59:04.925Z <p>上次说了可以改写类,那进一步的我们可以做一下类似于之前提过的通过字节码来做切面的工作<br>首先我们有一个很简单的类和方法</p> <figure class="highlight java"><table><tr><td java的字节码工具-javassist初体验 https://nicksxs.me/2025/01/05/java%E7%9A%84%E5%AD%97%E8%8A%82%E7%A0%81%E5%B7%A5%E5%85%B7-javassist%E5%88%9D%E4%BD%93%E9%AA%8C/ 2025-01-05T13:04:02.000Z 2025-01-05T13:04:02.117Z <p>前面那篇在讲agent的时候用到了javassist,我们就来简单讲个demo<br>我想用javassist来创建一个类</p> <figure class="highlight java"><table><tr><td java的agent继续体验 https://nicksxs.me/2024/12/29/java%E7%9A%84agent%E7%BB%A7%E7%BB%AD%E4%BD%93%E9%AA%8C/ 2024-12-29T15:29:42.000Z 2024-12-29T15:29:42.505Z <p>在上次的基础上我们可以通过一些方法来获取参数的参数名,以此我们又可以达到类似于切面的功能逻辑,<br>首先我在之前的代码里做一点修改</p> <figure class="highlight java"><table><tr><td java的agent初体验 https://nicksxs.me/2024/12/22/java%E7%9A%84agent%E5%88%9D%E4%BD%93%E9%AA%8C/ 2024-12-22T12:44:37.000Z 2024-12-22T12:55:12.199Z <p>之前在用到arthas就想到过可以研究下java的agent,这里算是个初入门<br>首先我们有个应用,需要挂上agent来探测一些事情<br>比如就是简单的主方法</p> <figure class="highlight java"><table><tr><td grep命令小技巧-统计行数 https://nicksxs.me/2024/12/15/grep%E5%91%BD%E4%BB%A4%E5%B0%8F%E6%8A%80%E5%B7%A7-%E7%BB%9F%E8%AE%A1%E8%A1%8C%E6%95%B0/ 2024-12-15T14:13:07.000Z 2024-12-15T14:13:07.226Z <p>之前在使用grep来匹配内容,想看下匹配的结果数量都是用管道,然后用wc命令的<br>最近看了下似乎没必要这么麻烦<br>grep命令自带了这个功能<br>原来在用grep的时候还有个额外的功能就是看匹配行的前后几行,<br>使用</p> <figure tail命令小技巧 https://nicksxs.me/2024/12/08/tail%E5%91%BD%E4%BB%A4%E5%B0%8F%E6%8A%80%E5%B7%A7/ 2024-12-08T14:15:40.000Z 2024-12-08T14:15:40.018Z <p>我们日常在服务器上查看日志的时候用的很多的就是tail命令,使用tail最基本的就是</p> <figure class="highlight shell"><table><tr><td class="gutter"><pre><span grep小技巧之匹配到二进制文件 https://nicksxs.me/2024/11/24/grep%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B9%8B%E5%8C%B9%E9%85%8D%E5%88%B0%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6/ 2024-11-24T12:30:19.000Z 2024-11-24T12:31:52.528Z <p>我们在日常使用grep这个强大的命令行工具时有时候会碰到一个问题,就是grep在识别文件的时候在碰到 ‘\000 NUL’的时候会认为文件是二进制文件,就不进行识别了,碰到这种情况我们可以使用 <code>grep -a</code> 或者 <code>grep java小技巧之获取调用来源 https://nicksxs.me/2024/11/16/java%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B9%8B%E8%8E%B7%E5%8F%96%E8%B0%83%E7%94%A8%E6%9D%A5%E6%BA%90/ 2024-11-16T14:01:15.000Z 2024-11-16T14:01:53.936Z <p>这个话题应该首先明确,这不是类似于 <code>open tracing</code> 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