Java 查漏补缺:线程间通信

wait notify 方法 wait() 是让当前执行代码的线程等待,wait() 是 Object 类的方法。在调用 wait() 方法前,线程需要获得对象级别锁,只能在同步方法或者同步块中调用,执行 wait() 方法后,当前线程释放锁。如果调用时没有持有适当锁,会抛出 IllegalMonitorStateException 异常。 方法 notify() 也需要在同步方法或者同步块中调用,同样调用前也需要获取对象锁。如果调用没有持有适当的锁,也会抛出 IllegalMonitorStateException 异常。notify() 方法永安 Read more ...

2018-07-02 java , linux , thread , synchronized

通过 WebDAV 连接 NextCloud

NextCloud 支持 WebDAV 协议,用户可以完全通过 WebDAV 来连接并同步文件。虽然官方还是推荐 使用客户端来同步文件,不过如果要临时访问 NextCloud 上的文件,使用 WebDAV 方式还是很便捷的。 假设 NextCloud 的地址是 example.com 这个,那么在 Linux 下,一般文件管理器中有连接到服务器的选项在其中,填入服务器 IP 地址,访问端口,然后访问地址填写 /remote.php/dav/files/[USERNAME] 输入该用户的用户名和密码即可访问该用户的所有文件列表。 如果要直接在文件管理器 Read more ...

2018-07-01 nextcloud , webdav , dav , sync , files , linux

每天学习一个命令:使用 jpegoptim 和 optipng 优化压缩图片

今天突然遇到一个问题,使用手机拍摄的照片 5+M 体积巨大,但是网易要求的图片大小需要小于 1M,所以就有了压缩图片的需求。记得很久以前使用过 TinyPNG 这个服务,但是唯一一点不好的就是无法脱离他在线的服务,需要把照片上传到他的网站上才能进行压缩。虽然有 tinypng-cli 这个命令行的工具,但其实也是依赖在线服务的。所以就找了一下,然后发现了 jpegoptim 和 optipng 这两个工具。 jpegoptim 安装 apt-get install jpegoptim 使用 jpegoptim file.jpg 然后使用 Read more ...

2018-06-30 compress , optimize , linux , command , jpeg , png

Java 查漏补缺之位运算符

今天在看 Kafka 源码 LongSerializer 时看到将 Long 型转 byte 数组的实现,感觉需要补习一下位运算符 (bitwise operator),所以有了这篇。 Java 提供的位运算符有: 左移 ( << )、右移 ( >> ) 无符号左移 ( <<<)、无符号右移 ( >>> ) 位与 ( & ) 位或 ( | ) 位非 ( ~ ) 位异或 ( ^ ) 除了位非 ( ~ ) 是一元操作符外,其它的都是二元操作符。 与或非,亦 Read more ...

2018-06-26 java , bit , operator , notes

Python Linux 系统管理与自动化运维读书笔记

小工具 HTTP Server python -m SimpleHTTPServer python -m http.server JSON 格式化 echo '<json string>' | python -m json.tool 验证第三方库安装 python -c "import paramiko" pip 用法 源码安装 python setup.py install pip 子命令 子命令 说明 search Read more ...

2018-06-24 python , linux , notes , deploy

威联通折腾篇七:定时任务

威联通的机器本来就是基于 Linux 定义的,所以想要定时任务就会想到 crontab,在威联通中使用 crontab 必须使用 SSH 登录。 然后基本使用 crontab -l 查看当前 qnap 中已经存在的定时任务。 在大多数桌面版 Linux 中会使用 crontab -e 来编辑 crontab 配置,但是注意不要在威联通中使用这种方法,威联通在重启的时候会覆盖使用这种方式写入的配置。如果想要永久的保存配置,应该使用 vi /etc/config/crontab 然后写入配置,比如 0 4 * * * /share/custom/ Read more ...

2018-06-23 qnap , qnap-tutorial , linux , crontab

douban 小组接口研究

豆瓣 curl -X GET \ 'https://frodo.douban.com/api/v2/group/622198/topics?count=30&sortby=new&os_rom=android&apikey=0dad551ec0f84ed02907ff5c42e8ec70&channel=Google_Market&udid=5e4159565b89f86cccda&_sig=YWtLhd6UEq%2Bh7xDWs%3D&_ts=1529656502' \ -H 'Cach Read more ...

2018-06-22 douban , api , app

修复 NextCloud 消失的托盘图标

NextCloud 算是很重度 的使用起来了,VPS 上安了,NAS 上也有。各个平台使用体验非常不错,不过唯一一点缺憾是有些时候 Ubuntu/Mint 上 NextCloud 随机启动之后托盘消失,导致看不到同步进度,老是让我感觉没有启动。 所以为了修复这个问题,需要完成以下两个步骤。第一个步骤就是在 startup applications 中将 NextCloud 设定延迟 10s 启动。 第二步就是需要卸载 appmenu-qt5 这个 bug 可以参考这个 issue sudo apt remove appmenu-qt5 Read more ...

2018-06-21 nextcloud , dropbox , ubuntu , linux

ZooKeeper zkCli 使用

Java 版本 sh zkCli.sh -server IP:port 查看节点内容 进入 server 连接后使用 ls / 来查看节点包含内容 ls2 / 说明: ls2 是比 ls 更高级的命令,可以额外输出节点的状态信息,最新版本中 ls2 命令已经被废弃,使用 ls -s 代替。 创建新节点 create 创建新的 Znode 节点,path:路径 data:数据 acl:权限,不指定默认为 world:anyone:cdwra create /test "mydata" 该命令其他选项: -s : Read more ...

2018-06-20 zookeeper , zkcli , apache

Zookeeper

Apache [[ZooKeeper]] 是 Apache 软件基金会的一个软件项目,为大型分布式计算提供开源的分布式协调系统,提供的功能包括配置服务、同步服务和命名注册等。Zookeeper 项目的初衷就是为了降低分布式应用从头开发协同服务的负担。 ZooKeeper ZooKeeper is a high-performance coordination service for distributed applications. It exposes common services - such as naming, configurati Read more ...

2018-06-19 zookeeper , apache , hadoop

最近文章

  • screen.garden:让 Obsidian 拥有 Google Docs 般的实时协作体验 之前我介绍过 Fast Note Sync,这是一款开源的 Obsidian 笔记同步方案,可以实现多设备之间的笔记同步和实时协作。Fast Note Sync 的优势在于完全开源、数据自主可控,但它有一个门槛——你需要自己搭建和维护服务器。对于有技术背景并且享受折腾的朋友来说这不是问题,但如果你不想操心服务器的事情,或者团队里有非技术背景的成员,那么一个开箱即用的托管服务可能是更好的选择。这就是我今天要介绍的 screen.garden,一个为 Obsidian 设计的付费实时协作服务。
  • Clawdbot 深度调研:打造完全属于自己的全平台 AI 助手 最近在折腾各种 AI 工具的时候,发现了一个有意思的现象:市面上大部分 AI 助手要么被牢牢绑定在某个特定平台上(比如只能在 Discord 里用的机器人),要么就是完全依赖某家公司的 SaaS 服务,你的对话数据都在别人的服务器上。作为一个对隐私比较在意的人,我一直在想,能不能有一个完全由自己掌控、可以在所有常用聊天软件里使用的 AI 助手呢?直到我在 GitHub 上发现了 [[Clawdbot]] 这个项目,才发现原来真的有人在认真解决这个问题。
  • 推荐我使用的 Agent Skills 随着 AI 编程助手的快速发展,[[Claude Code]]、[[Codex]]、[[Gemini CLI]] 等工具已经成为开发者日常工作中不可或缺的伙伴。然而,这些工具的默认功能往往只是冰山一角。通过安装和配置 Agent Skills,我们可以大幅扩展这些 AI 助手的能力,让它们更加智能、更加专业。
  • Antigravity Agent Skills 功能介绍与实战指南 2026 年 1 月 14 日,[[Google]] 为其 AI 驱动的开发工具 [[Antigravity]] 推出了 Agent Skills 功能。这个开放标准的技能系统让开发者可以将专业知识打包成可复用的技能包,极大地扩展了 AI 智能体的能力边界。
  • Gemini CLI Agent Skills 功能介绍与上手指南 [[Gemini CLI]] 最近推出了一个非常强大的新功能,名为 [[Agent Skills]]。这个功能极大地扩展了命令行 AI 助手的边界,允许用户根据自己的需求定制专业的技能包。