应用消息推送解决方案 MiPush

Android 中实现消息推送的主流方案有下面几种。 方案 原理 优点 缺点 Cloud to Device Messaging,云端推送,是 Android 系统级别的消息推送服务(Google 出品) Push 简单的、轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据 依赖于 Google 官方提供的 C2DM 服务器,需要用户手机安装 Googl Read more ...

2018-08-10 mipush , android , ios , push , notification

每天学习一个命令:iotop 查看 Linux 下每个进程 IO 占用

iotop 是一个用来监控磁盘 I/O 的类似 top 的工具,Linux 下 IO 统计工具,比如 iostat, nmon 等只能统计到每个设备的读写情况,如果想要知道哪一个进程占用比较高的 IO 就要使用 iotop。 iotop 使用 Python 语言编写,要求 Python >= 2.5,Linux Kernel >= 2.6.20. (使用 python -V 和 uname -r 来查看) 使用这个命令最主要的一个原因就是快速找到 IO 占用比较高的程序,以便进行排查。 安装 sudo apt install iotop Read more ...

2018-08-07 io , iotop , top , linux , htop

InfluxDB 使用

InfluxDB 数据库是用 Go 语言实现的一个开源分布式时序、事件和指标数据库。InfluxDB 提供类 SQL 语法。 需要注意的是 InfluxDB 单节点是免费的,但是集群版是要收费的。 安装 sudo apt install influxdb 数据库设计 正因为 InfluxDB 是一个时序数据库,在实际使用的时候有些概念需要提前知道。InfluxDB 数据库中的每一个数据都有一列 time 保存时间戳 (RFC3339 形式显示)。 time butterflies hone Read more ...


一周 CP 反编译记录

记录一下反编译一周 CP Android 3.26.0.451 版本,并拿到请求 sign 加密方法的过程。反编译的过程基本上可以划分为几个步骤 将 Android apk 文件反编译得到混淆的 java 代码 在混淆过的代码中找到发起请求的部分 找到请求发起 sign 加密部分加密方式 反编译 Android apk 关于第一步 Android 反编译的教程和工具 可以参考之前的文章。 查看混淆的代码 在反编译得到混淆过后的代码之后,这个时候不能盲目的去看,之前可以抓包看下应用内发出去的请求 path,找到关注的 path,比如在 Read more ...

2018-08-01 android , decompiler , crack , sign

修正关于 HTTP Header 的错误认识

HTTP 请求的 Header 是不区分大小写的!,一直以为 HTTP 请求的请求头是有区分大小的,知道今天调试发现 Spring 将 header 全部处理成小写,然后有人提了 Bug 58464 然后看到 Stackoverflow 上面有人回答。 HTTP/1.1 和 HTTP/2 都是 case-insensitivt 都是不区分大小写的。 Read more ...

2018-07-30 http , header , web , java-web , spring

解决 failed to create bus connection no such file or directory 错误

今天在修改 hostname 使用 sudo hostnamectl set-hostname ds 命令时遇到问题: Failed to create bus connection: No such file or directory 查了一通之后发现缺少 dbus sudo apt-get install dbus 安装 dbus 然后再修改即可,使用 hostnamectl 方式来修改 hostname 不需要重启,直接推出登录,然后就可以实现了。 D-Bus 是一种高级的进程间通信机制,它由 freedesktop.org 项 Read more ...

2018-07-29 linux , problem , dbus , hostnamectl

Vim 的颜色主题

Retro groove color scheme for Vim https://github.com/morhetz/gruvbox Read more ...

2018-07-27 vim , color-scheme , color , scheme

Linux Mint 下禁用 Alt 拖拽窗口

问题的出现,Linux Mint 使用了很长时间了,一直也没有啥大的问题,只是最近自定义一些快捷键,Alt + Shift ,发现所有的 Alt 相关的操作,只要按住 Alt 键,然后鼠标在任何窗口中就变成了小手,拖拽会直接拖动窗口。 解决方案一 在 System Settings 中选择 Windows, 然后在 Behavior 下面有 Special key to move and resize windows 选择 Disabled 即可。 解决方案二 安装 dconf sudo apt install dconf-tools 然后在 Read more ...

2018-07-25 linux , mint , cinnamon , shortcut

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

家里遇到一次断电,然后 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

最近文章

  • AI 浏览器 Comet 初体验 前两天刚介绍完 Dia 浏览器,就听说了 Dia 浏览器的母公司 The Browser Company 被 Atlanssian 以 6.1 亿美元现金收购,而另外一边,Google 的反垄断案也告一段落,不需要拆分 Chrome 和 Android,这边,Perplexity 就推出了以 Perplexity AI 为核心的网页浏览器 Comet。
  • 清理 macOS 上的一些低频使用的应用 之前的几台 MacBook Pro 都是因为钱包有限,所以只购买了 512GB 的空间。虽然也是够用的,但是如果安装的应用比较多的情况下,就会发现存储总是告警的情况。所以想着安装了 CleanMyMac 应用之后,就打开了它的 Uninstaller 功能,然后把我之前所有安装的应用列表都列出来,清理一下其中不是非常高频使用但是却又能解决特定需求的应用。
  • JetBrain AI Agent Junie 使用体验 今天更新了一下 JetBrains IntelliJ IDEA 和 PyCharm,在更新日志中发现 JetBrains 新增了 Junie 代码助手的功能,就顺手安装了,虽然我一直在用 JetBrains AI Assistant,但 AI Assistant 更像是一个常驻 IDEA 侧边栏的代码问答,虽然可以辅助生成代码,但是更偏重代码的自动提示,回答用户的问题,对错误进行解释,以及相关的文档工作,更像是一个更偏向代码的 AI 聊天伴侣(Companion)。但是 Junie 则更像是一个全智能的 Coding Agent,适合用来处理更大规模的,支持多个步骤,可以独立完成编码任务的 AI Agent,功能上更偏向于 Claude Code,Gemini CLI 这样完全自助完成任务的智能体。
  • 突破 Claude Code 5小时限制:利用 GitHub Copilot 代理 Claude Code 请求 如果大家高频使用 Claude Code 进行代码对话和生成工作的话, 经常会遇到 5 小时的限制。 幸运的是,如果你已经订阅了 GitHub Copilot,现在有一个巧妙的解决方案:通过本地代理将 GitHub Copilot 的 Claude Sonnet 4 模型转换为 Anthropic API 格式,从而绕过 Claude Code 的使用限制,继续享受顶级的 AI 编程体验。
  • Claude Code 利用 ccusage 统计使用情况 在之前的视频和文章当中,我也经常提到 Cloud Code 5 小时的限制,那么我们在进行开发的时候,监控模型的消耗和使用成本是至关重要的。所以今天我想为大家介绍一款专为 Claude Code 设计的消耗统计工具——CC Usage。 它能帮助开发者掌控对 Claude Code token 消耗的使用情况,避免意外超出配额。

赞助