威联通折腾篇八:重启服务

家里遇到一次断电,然后 NAS 就这样异常关机了,重启之后提示磁盘有些碎片需要整理,整理的时候 Qnap 会停止 NAS 上所有的服务,包括 Container Station 中的内容,而 Qnap 说了会在检查完磁盘之后重新启动的,然而并没有,所以只能手动来重启这些服务。 幸亏 Qnap 的绝大部分服务都是用启动脚本来启动的,执行下面的命令可以把 NAS 当前运行的所有服务重启。 /etc/init.d/services.sh restart 当然如果要重启单独的比如说 Container Station 也可以使用 /etc/init.d Read more ...

2018-07-21 qnap , qnap-tutorial , services

Java 查漏补缺之泛型

简而言之,泛型使类型(类和接口)在定义类,接口和方法时成为参数。类型参数提供了一种简便的方法,使得不同的输入类型可以使用相同的代码。 为什么需要泛型 在强类型语言中,如果定义一个具有具体类型的类,那么这个类就只能被该类型使用。 Generics 给类,接口和方法提供了一个参数化的实现方式,使得同一个类定义,方法定义可以处理不同的类型。Oracle 官方的文档有一句话说得特别好: Much like the more familiar formal parameters used in method declarations, type par Read more ...

2018-07-18 java , generics , programming , linux

威联通折腾篇九:MySQL 设置

威联通自带 MySQL 当前我使用的版本是 MariaDB 5.5.57 ,威联通也可以看成是类 Unix 系统吧,但是他和 Linux 还是有很多不同,毕竟深度定制过。 MySQL 在威联通的配置路径在 /etc/config/my.cnf 找到该文件,其他配置就和 MySQL 一样了。 如果想要 MySQL 支持远程访问,在 “控制台” - “应用服务” - “MySQL 服务器” 中选择允许远程连接即可。此时设定一个比较强的密码。 Read more ...

2018-07-16 mysql , qnap , qnap-tutorial

Spring 相关资源

收集了一些官方的非官方的学习资源。 文档 https://docs.spring.io/spring-boot/docs/ 中文翻译 https://github.com/qibaoguang/Spring-Boot-Reference-Guide 代码 官方的样例 https://github.com/spring-projects/spring-mvc-showcase 个人的教程 https://github.com/dyc87112/SpringBoot-Learning Spring MVC 博客 http:/ Read more ...

2018-07-12 spring , spring-mvc , docs , demo , tutorial

Spring @Configuration 注解

@Configuration 标注在类上,相当于把该类作为 spring 的 xml 配置文件中的 <beans>,作用为:配置 spring 容器(context) package com.test.spring.support.configuration; @Configuration public class TestConfiguration { public TestConfiguration(){ System.out.println("spring 容器启动初始化......"); } } Read more ...

2018-07-11 spring , annotation , notes , spring-boot

Java 查漏补缺之 Class.isAssignableFrom() 和 instanceof 区别

Class.isAssignableFrom() 是用来判断一个类 Class1 和另一个类 Class2 是否相同或是另一个类的超类 superclass 或接口 superinterface。 调用方式: X.class.isAssignableFrom(Y.class) 调用者和参数都是 java.lang.Class 类型。上面例子,如果返回为 true,则表示 X 是 Y 的超类或者接口,Y 可以是一个类也可以是一个接口。 instanceof 是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。 调用方式:o instan Read more ...

2018-07-10 java , linux , object , class

Maven 插件

Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,而是将所有任务都交给插件来完成,例如编译源代码是由 maven-compiler-plugin 完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如 maven-compiler-plugin 的 compile 目标用来编译位于 src/main/java/ 目录下的主源码,testCompile 目标用来编译位于 src/test/java/ 目录下的测试源码。 maven-source-plugin [[maven-source-plug Read more ...

2018-07-09 maven , java , build , management , build-tool

Spring boot 笔记

Spring aims to make developer challenges easy, like creating web applications, working with databases, securing applications, and microservices. Spring Boot builds on top of Spring to make Spring even easier with simplified dependency management, automatic configuration, and run Read more ...

2018-07-06 spring-boot , spring , java , web

phpMyAdmin 登录无反应问题记录

今天遇到一个神奇的错误,登录 phpMyAdmin 无论如何都登录不进去,开始还以为密码记错了,但是再输入错误密码时,会显示错误的提示 #1045 - Access denied for user 'root'@'localhost' (using password: YES) 而在在我确认密码没有问题时,phpMyAdmin 的表现就像是登录成功过了,但是却没有跳转。 然后为了解决这个问题,修改过 php.ini 中的 session.save_path ,修改了 session 文件的 权限 chmod 777 /path/to/sessio Read more ...

2018-07-03 php , phpmyadmin , mysql , root , password , browser

Java 查漏补缺:线程间通信

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

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

最近文章

  • Whispering 开源离线的语音转文字应用 在之前的视频和文章当中,我给大家介绍过非常多语音转文字的应用, 有订阅制的 [[Aqua Voice]] ,[[Wispr Flow]] ,[[Voicenotes]],[[VoiceInk]] ,[[superwhisper]] ,也有免费的 [[Spokenly]] ,在本地完全离线运行的 [[Tok]] 。 今天要为大家介绍的Whispering,正是这一领域的颠覆性产品——一个真正的开源、本地优先的语音转文字应用。
  • Crystal: 多 Claude Code 实例管理器 之前的视频当中介绍过了 Claudia,它是一个 Claude Code 的桌面管理器,它将很多 Claude Code 的终端功能迁移到了桌面版当中,它也支持在应用内直接和 Claude Code 进行对话,但是它缺少了一个核心的功能,那就是当我在同一个项目中开启不同的 Session 时,有可能产生冲突,为了避免这个问题,官方的解决办法是使用 Git worktree,在开发不同的功能时,使用不同的 Worktree 来隔离每一个 Cloud Code 的环境。 今天要介绍的 Crystal 就是这样的一款可以支持多个 Cloud Code 的桌面客户端,并且每一个会话之间相互隔离。
  • 解决 Claude Code 上下文丢失问题: claunch 项目会话管理 今天在使用 Claude Code 的过程,发生了一件非常沮丧的事情,我远程控制的 Claude Code 电脑忘记插上充电器,平时都是依靠连接的显示器进行充电的,昨天晚上将显示器关闭,导致使用的时候一直都是用的电脑的电池,于是在中午的时候,我通过 [[VibeTunnel]] 连接不上我的 Claude Code 了。并且 Claude Code 中执行的内容也中断了,最关键的是有一些上下文,如果重新再来,极有可能造成很大的不一致。
  • Langfuse 使得 LLM 应用全链路可观测 不知道大家在运用 LLM 的过程中有没有遇到过这样的问题,我需要不断的调试 Prompt,让 Prompt 给出符合自己满意的结果,并且在应用中使用 Prompt 的时候我需要进行成本的控制,并且持续的迭代优化,而目前大语言模型后台虽然能提供一个简单的支出统计,但用户交互过程中的信息都是捕捉不到的,比如用户的每次请求输出栓输出是否符合预期,不同版本之间的 Prompt 对结果的影响评估,以及用户请求的延迟等等。带着这些需求,我搜寻了一些方案,然后就发现了 Langfuse。
  • VibeTunnel 将终端带到浏览器 开启移动化 Vibe Coding 这两天在调研如何在移动设备上也能随时随地给 Claude Code 布置任务,自己也尝试了不少的方案,从 Tailscale,到 Remote-Code.com 到 VS Code 插件(Claude Autopilot)添加任务到队列。但是每个方案或多或少有一些缺点,比如 Remote-Code 虽然使用比较便捷,但是不支持中文。Claude Autopilot 体验也非常不错,但是我自己尝试的过程中发现长时间运行 VS Code 崩溃了两次,再到 Tailscale + 手机终端的方案,依赖于一个非常好用的 iOS 终端,虽然选择很多,但还是没有找到一款顺手的。

赞助