Verne in GitHub

如何写单测

单元测试是白盒测试,又被称为模块测试,是最小的测试单元。 单测应该做到: 一次检测一个方法 提供方法所需的参数 验证结果的准确性 Why 为什么需要单测 正确性保证 提高代码质量,高内聚,低耦合 代码重构时回归验证 测试内容 测试的内容可以包括 模块接口 局部数据结构 分支路径 错误处理 边界测试 评价测试的指标,覆盖范围,是否测试代码覆盖了基本表达语句,基本逻辑块。 语句覆盖,每一个基本语句是否被覆盖 判定覆盖,分支的每一个路径是否都被覆盖 循环覆盖,循环体,0,1, Read more ...

2015-05-05 unit-test , junit , java , testing

Vim插件Vundle

简单介绍 经Code Rush推荐,之后又陆陆续续看到很多在使用这款插件,所以在入门插件的时候就第一个安装了此插件,VIM如果不依靠插件来增强功能可谓鸡肋。而VIM提供的插件又很多,新手可能无从下手。幸好让我接触到了这个Vundle插件,Vundle用来安装,管理其他插件,这样以后安装插件卸载插件的问题就迎刃而解了。用Vundle管理插件有以下好处: 自动下载安装插件 自动更新插件 只需要保存一份配置文件即可在新环境下安装所有插件 自动清理没用的插件 安装 下载地址 https://github.com/gmarik/ Read more ...

2015-05-04 vim , vim-plugin , vundle

Ubuntu 下安装 java 及问题配置

记录一下 sudo apt-get install software-properties-common sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 或者下载 Oracle 的版本 wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b660 Read more ...

2015-05-02 java , jdk , apt-get

Vim 多模式介绍

Vim 是一种多模式的编辑器,不同于一般的编辑器进入便是编辑模式,可以在编辑模式下对文本进行各种编辑,Vim 进入之后是在普通模式 (Normal mode) 下,需要通过不同的按键进入不同的编辑模式。在《Vim 使用技巧》这本书中,作者有一个非常贴切的比喻,如果画布之于画家,那么 Vim 之于程序员,画家在画布上真正作画的时间必然不应该,也不会超过一半时间,在真正落笔之前,画家可能会构图,调整光线,配置画笔颜色等等操作,等一切准备就绪之后再在画布上作画。Vim 这款编辑器的原理也大致如此,大部分的时间我们都会在 normal mode(普通模式) 下, Read more ...

2015-05-01 vim , linux , editor , vim-mode

Vim字符编码及中文菜单乱码

vim经常遇到文件乱码的情况,很多的文章都只是解决了作者遇到的乱码问题,不同的使用者由于环境不一样,参考之后,反而更加混淆和复杂。 其实vim乱码是与系统环境非常相关的,一味执着于修改vim的配置而不知道分析系统的实际环境,往往导致混淆,本文从原理分析vim编码的设计和乱码原因,帮助所有的用户解决vim的乱码。 vim为何会出现乱码: 首先是输入,vim 以错误的格式解析文件,比如原本是utf-8,但以ansi解析,那必然是乱码了。 然后是处理,vim 以错误的格式处理文件,比如原本是utf-8,但内部以 ansi 保存处理,导致乱码。 Read more ...

2015-05-01 vim , linux , encode , fileencoding

开始使用 Vim 的方式

这是不是一篇 Vim 的教程,只是一个入门 Vim 的流程,如果你从未听说过 Vim,但是希望学习 Vim,那么可以继续往下看,如果想要了解 Vim 更多的功能可以参考博客中其他关于 Vim 的文章。 Brief Introduction Vim 作为一款 Linux 下必备的编辑器,如果学会了使用,非常强大,但是不得不说 Vim 的入门实在是太困难了,他的学习曲线也会经过非常长的一段平缓期。当然如果只是简单的使用插入功能,i,进入插入模式,直接敲,敲完 esc 退出,再:wq保存退出,也就是最基本的入门了。当时如果想要尝试其他的功能,就不得不看文档, Read more ...

2015-05-01 vim , tutorial , linux , editor

cloudup 尝鲜

应该是很久以前在听到一个韩国FM节目的时候遇到得这个网盘 Cloudup,当时直接能在网页上播放音频视频,所以觉得还不错,可是当我想去注册时才发现这个网站需要邀请才能注册,没办法只能申请邀请,于是等了很久很久之后,今天早上打开邮箱,官方终于邀请我去注册了。 官方的邮件也极其简单: Thanks a million for joining the Cloudup wait list. You and your pals can now signup without waiting a minute longer! Create your a Read more ...

2015-04-30 products , cloudup , 网盘

每天学习一个命令:inxi 显示系统和硬件信息

inxi 是一个用来显示系统基本信息的脚本,输出结果经过整理适合打印到控制台或者 IRC,也非常适合在论坛中寻求技术支持时将结果贴出来。inxi 的输出信息包括系统硬件,CPU,驱动,Xorg,桌面环境,Kernel,GCC 版本,Processes,内存使用量,和其他一些信息。结果的输出颜色可以使用 -c 0 来禁用。 为了尽可能的保持基本的隐私和安全,inxi 自动过滤了一些敏感信息,包括网卡 mac 地址,WAN 和 LAN IP 地址,桌面用户名和其他一些内容。 安装 sudo apt-get install inxi 参数说明 -A Read more ...

2015-03-28 linux , command

在线协同编程网站收集

在线同步的代码编辑工具,可以用于实时分享代码,也可以用于 interview, code.meideng 一个很简洁但是很高效的网站 https://code.meideng.net/ codeadvice codeadvice https://www.codeadvice.io/ Read more ...

2015-03-27 online , website , coding

魅蓝Note折腾记

##魅蓝Note的一些设置和想法 账户–点击账户名–系统权限可以开启ROOT,默认是关闭的,开启后不再享受三包! 安全–权限与凭证–允许安装位置来源~-开启这个,否则一些软件将无法正常安装。默认是关闭的。 辅助功能–有很多实用功能 手势唤醒里常用设置可以参考:双击=点亮屏幕,上滑=解锁,下滑=打开通知面板,V=手电 长按主键可以设置关闭屏幕或语音助手 实时网速,依个人需求开启 智能隐藏Smartbar 推荐开启 关于手机–存储–清除手机数据=恢复出厂设置。建议: Read more ...

2015-03-13 Android , Root , Meizu

最近文章

  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 呆呆面板 MCP 配置教程:让 Claude、Cursor 用自然语言管理定时任务 前两天写了一篇 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程,在那篇文章里我提到呆呆面板和 [[qinglong 青龙面板]] 最明显的代差是内置了 [[MCP]] 服务,但只是简单带过。面板搭起来、脚本陆续迁移进来之后,我每天早上要做的第一件事就变成了打开面板,挨个看昨晚哪些任务失败了、报的什么错、是 Cookie 过期还是网站改版。这种重复又琐碎的巡检,恰好是 AI 最擅长替人做的事情。所以这一篇就专门聊聊呆呆面板的 MCP 怎么配置、怎么接入不同的客户端,以及在权限上应该怎么取舍。
  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。
  • Git 本地忽略文件:.git/info/exclude 的作用与使用技巧 由于本地 IDE、插件、Agent 的差异,所以经常打开项目之后会出现一些只属于我自己的文件,AI Agent 和一些 MCP,Skill 也喜欢在项目根目录里面添加文件。每次 git status 都能看到这一串红色的 untracked 文件,看着很烦,又不太好意思为了自己的习惯去改项目的 .gitignore。这时候我想起了 .git 目录里一个存在感极低的文件 info/exclude,它刚好就是为这种场景设计的。