Android Animation

Android 的动画实现有不同的方式,在 3.0 以前 Android 的动画很简单只能在 View 层做,在后期版本中不断的加入动画实现,至今已经有这非常完善的动画系统了。Android 系统提供了 Property animation 和 View animation 两大动画系统。除去这两大动画系统之外,还有一类 Drawable Animation, 允许加载 drawable 并且一帧一帧播放: View Animation 视图动画 Property Animation 属性动画 Drawable Animation 帧动画 Read more ...

2016-09-04 Android , AndroidDev , Animation

《Effective Java》读书笔记

Java 语言中存在四种类型: 接口 interface 类 class 数组 array 基本类型 primitive type 前三种是引用类型,类实例和数组是对象,基本类型不是对象。 在 Java 中一共有 8 种基本数据类型,其中有 4 种整型,2 种浮点类型,1 种用于表示 Unicode 编码的字符单元的字符类型和 1 种用于表示真值的 boolean 类型。(一个字节等于 8 个 bit) 整型 类型 存储需求 bit 数 取值范围 Read more ...

2016-09-02 android , java , design-pattern

画图工具收集

画图工具整理,平时少许的画图需求,所以找了这些网站,Draw.io 还是不错的,简单的流程图都能搞定。 所见即所得 Draw.io 国外的免费画图网站,支持 Google Drive,Dropbox 等等 https://draw.io gliffy 所见即所得,有 Chrome 扩展,可离线,和 Google Drive 有结合 https://www.gliffy.com/ ProcessOn 国内的画图网站,可以实时写作 https://www.processon.com/ Visio 微软出的绘图软件,但 Read more ...

2016-08-28 draw , grach , collection

Grub2 bootloader 主题

之前把 Linux Mint Grub2 bootloader 的背景图片更换了一下,直接用的 gnome-look 的 Anonymous Hope 主题 ,这里就记录一下,以便快速恢复。 Gnome-look 这个网站上有非常多人分享的内容,可以到这个网站自行选择自己喜欢的内容。 Usage 一般 grub 的主题需要在 /boot/grub/themes 目录下。如果没有这个目录需要手动创建 sudo mkdir -p /boot/grub/themes 然后将下载的文件内容拷贝到该目录下。完成拷贝之后需要修改一下 /etc/defaul Read more ...

2016-08-26 grub2 , bootloader , theme , grub-theme

让网站在分享时预览更美观

在最近用 Telegram 分享网页的时候,Telegram 会预先抓取网页形成一个缩略预览,但是如果是自己的网站没有适配一些 meta 信息,抓取出来的信息就非常不堪入目。所以优化一下网站在分享的时候的预览图,这个术语叫做 Rich Previews,想查看网站是否已经优化好,可以查看下面的网站: http://richpreview.com/ 想要好看的预览需要如下的标签 Title 最长 65 个字符,否则 Google 结果就会被截断 Meta description 最好小于 155 字符 og:title 最好不超 Read more ...

2016-08-25 website , html , meta , share , preview

Python 经典项目整理:阅读好的代码

阅读经典的项目是学习的起点。 Howdoi Howdoi 是代码搜寻工具,使用 Python 编写。 Flask Flask 是基于 Werkzeug 和 Jinja2,使用 Python 的微框架。它能够快速启动,并且开发意图良好。 Diamond Diamond 是 python 的守护进程,它收集指标,并且将他们发布至 Graphite 或其它后端。 它能够收集 cpu, 内存,网络,i/o,负载和硬盘指标。除此,它拥有实现自定义收集器的 API,该 API 几乎能 从任何资源中获取指标。 Werkzeug Werkzeug 起 Read more ...

2016-08-16 python , project , structure , reading , flask

Python 项目的结构

之前和朋友聊天,说到 Python 项目的结构问题,Python 确实是一门比较灵活的语言,你可以单独执行某个文件,把这些文件扔到一起看起来像个工程,但是外人来看其实就是一个个独立的小文件,小模块,对于小型项目来说可能并不会造成什么问题,但是对于大型项目,尤其是如果需要多人合作,有一个关于工程结构的基本认识是非常必要的。 Python 没有强制的结构规范,但是有一个大家的共识 README.rst LICENSE setup.py requirements.txt sample/__init__.py sample/core.py sample/he Read more ...

2016-08-13 python , project , structure , management

国行 Moto 360 2代一周使用感受

在拿到 moto 360 2代国行之前就已经做过调研, 国行并不支持国际版 Android Wear 程序同步,需要用国内阉割版 Android Wear 连接,并且不能使用 Play Store 中各种定制表盘及Android wear 应用。虽然可以通过使用 国际版 Android Wear 1.3 版本连接并同步 moto 360 来激活并使用各种表盘及应用,但是拿到手使用一个星期之后,我依然还是对国行 moto 360 2代表示失望。 在没有了 Google Now 的情况下,语音几乎是不可用状态,国行所带的出门问问,在国际版 Android Read more ...


SQLAlchemy 使用记录

什么是 SQLAlchemy ? The Python SQL Toolkit and Object Relational Mapper create engine 首先 要创建 Engine 实例 sqlalchemy.create_engine(*args, **kwargs) 创建 mysql 连接 # driver mysql-python DB_PATH = "mysql+mysqldb://root:password@host:port/dbname?charset=utf8mb4" xchat_engine = create_e Read more ...

2016-08-12 python , mysql , sqlalchemy , orm , sql

Android 人脸检测

最近项目使用,总结了目前 Android 中使用到的人脸检测技术,主要分成三部分来介绍: Android 原生支持人脸检测,从 API 1 开始就提供原生的人脸检测,但是该方法识别率相对较低 在后来的发展中 Google 将人脸识别技术放到了 Google Play Services 中,从 Google Play Service 7.8 之后提供的 Mobile Vision API 中我们可以使用新的人脸检测API。这个方法不仅能够识别有没有人脸,还能够识别人脸的区域,甚至在视频流中追踪相同的人脸,并且提供了一系列方法来获取眼睛、嘴巴、鼻 Read more ...

2016-08-06 Android , AndroidDev

最近文章

  • Claude Code /goal:让 AI 自主持续工作直到达成目标的新命令 用 [[Claude Code]] 写代码时,一直有一个令人微妙不适的摩擦:每当 Claude 完成一轮工作,控制权就回到了我这里,我需要再次发出指令,告诉它”继续”“再检查一遍”“还有这个文件没改”。对于那种需要跑很多轮才能完成的任务——比如把一个模块从旧 API 迁移到新 API 直到所有测试通过,或者逐文件重构某个目录直到符合统一规范——这个”人类中继”的环节就显得相当机械,本质上我只是在不停地按确认键。
  • 本地快速切换 Claude Code 和 Codex CLI 账号的几种方案 同时维护个人项目和工作项目的时候,最让我头疼的不是代码本身,而是工具的账号管理。[[Claude Code]] 和 [[Codex]] 这类 AI 编程工具,我在公司有一套账号,个人订阅又是另一套。每次在项目之间切换,都要 claude auth logout 再 claude auth login,不仅耗时,还经常忘了当前用的是哪个账号,写了半天才发现额度消耗到错误的账号上去了。
  • socat:比 netcat 更强大的网络瑞士军刀
  • codex-lb:用负载均衡的思路管理多个 ChatGPT 账号 用 [[Codex]] CLI 做开发的人大概都遇到过这个场景:手头有几个 ChatGPT 账号,分散在不同的订阅计划里,但工具只认一个账号,额度用完了只能手动切换,每次还要重新登录。更头疼的是,当多人共享一个环境,或者想用同一套配置同时跑 Codex CLI 和 OpenCode 时,账号管理很快就变成了一团乱麻。
  • cc-switch:在多个 AI 编码工具之间优雅切换 最近这一年,AI 编码工具的竞争进入了白热化阶段。[[Claude Code]]、[[Gemini CLI]]、[[OpenAI Codex]],每家都在拼命迭代,功能差距越来越小,价格战也越打越猛。于是我开始同时订阅好几个服务,针对不同的任务选用不同的工具——写复杂逻辑用 Claude,快速查文档用 Gemini,处理 Python 脚本用 Codex。