Appium 介绍

在接触爬虫的时候遇到了这个工具,看官网介绍应该可以归纳总结为: 开源的移动端自动化测试框架 跨平台,Linux,Mac,Windows 通吃 支持 Android,iOS,混合应用,Web 应用 设计初衷 设计哲学 不需要为了自动化而重新编译修改 App 不限定在某个语言或者框架, C/S 架构,Client 端实现语言不限制 不重造轮子,扩展 webdriver 协议 开源 Jason Huggins 在 2004 年发起了 Selenium 项目,Jason 和他所在的团队采用 Javascript 编写一 Read more ...

2018-09-03 appium , android , ios , web

Certificate pinning 介绍

在抓包 Instagram 的时候发现所有的请求都被加密,即使使用 MITM 也无法查看请求内容。Google 之后发现 Instagram,Facebook 等等应用都使用了 Certificate pinning(或者也被称为 ssl-pinning) 的技术来加强通信安全。 HTTP 在 TCP 和 IP 协议之上,HTTPS 则是在 TCP 和 HTTP 之间增加了一道 SSL or TLS 协议。 市面上的各种抓包软件的实现原理就是中间人攻击。TLS 建立时客户端生成的随机数 1 服务端生成的随机数 2 都是明文的,只有随机数据 3 使用非 Read more ...

2018-08-30 ssl , http , certificate , android , security

Centos 6/7 下安装 PHP7

下面记录下 Centos 6/ 7 下通过 yum 安装 php7 环境。 2015 年 12 月初 PHP7 正式版发布,迎来自 2004 年以来最大的版本更新。PHP7 最显著的变化就是性能的极大提升,已接近 Facebook 开发的 PHP 执行引擎 HHVM。在 WordPress 基准性能测试中,速度比 5.6 版本要快 2~3 倍,大大减少了内存占用。PHP7 在语言上也有一些变化,比如添加返回类型声明、增加了一些新的保留关键字等。在安全方面,去除了 PHP 安全模式,添加魔术引号等。不仅如此,新版还支持 64 位,而且包含最新版 Zend Read more ...

2018-08-29 centos , php7 , php , apache , yum

MDX/MDD 文件格式解析

MDict 将字典定义(关键字,解释)放在 MDX(全称 Mobile Dictionary eXchange) 文件中,字典相关的其他资源样式文件,比如图片,发音,样式放在 MDD 文件中,虽然存放的内容是不一样的,但是两种文件的结构是一致的。 mdx 文件包含了词典所有的文本,HTML,索引头部以及单词解释 mdd 文件包含了除文本以外的其他资源文件,比如图片,音频,CSS 样式,或者 JavaScript 脚本等 还有一些字典会将 CSS 单独拿出来 mdx 和 mdd 文件通常是同名出现,否则可能就会丢失样式之类。 源文件格 Read more ...

2018-08-27 python , goldendict , mdx , mdd , dict

使用 Meld 对比文件及文件夹区别

在之前总结 Nemo file browser 的时候接触到了 meld,作为一个 nemo-compare 插件可以用来轻松的比较两个文件夹,两个文件,甚至多个文件。在了解之后发现 meld 其实更加强大,结合 git 使用可以非常轻松地解决 git 的合并冲突问题。 虽然大部分情况我都是用 smartGit 来解决的,smartGit 的三路合并和 meld 能够达到的效果非常相似。 安装 sudo apt install meld 使用 打开 meld 从主界面就能看到应用的分工主要分为三块 文件内容的比较 文件夹内容的比较 Read more ...

2018-08-26 meld , linux , git , merge , conflict

Linux 下使用 ClamAV 扫描病毒

ClamAV 是开源的杀毒软件 安装 sudo apt-get install clamav 使用 更新“病毒库” sudo freshclam 然后可以使用 scan 来扫描 clamscan OPTIONS file/folders 如果可以直接从 root 开始扫描:sudo clamscan 举例 扫描全盘,并显示文件名 clamscan -r / 扫描文件,只显示被感染的文件,并且声音提醒 clamscan -r --bell -i / 扫描全盘文件,只显示感染的文件,后台执行 clamscan -r -i Read more ...

2018-08-25 linux , clamav , virus

使用 Nemo 文件管理器

自从用上 mint 之后,我才发现原来 File Manager 能这么好用,Cinnamon 自带的文件管理叫做 Nemo ,至今用过 Windows,Mac,Ubuntu 还要各种发行版,但是唯有 Cinnamon 自带的这个 Nemo 的文件管理器让我用起来最舒服。至于为什么,我一一道来。 功能 双栏 Nemo 外观很简单,和大多数操作系统的 File Browser 都差不多,左边栏基本上是顶层导航栏,然后主体部分是文件浏览的功能。但是我非常喜欢的双栏设计,当时使用 Windows 的时候还需要借助 Total Commander,而 Mac Read more ...


Python 并发编程之 gevent

gevent 中最主要的是 greenlet,greenlet 是 Python 的 C 扩展,用来实现协程。 协程 [[Coroutine]],就是可以暂时中断,之后再继续执行的程序 事实上 Python 就有最基础的 Coroutine,也就是生成器 generator 协程就是一种特殊的并发机制,其调度”就是指什么时候调用什么函数”完全由程序员指定 进程是一个操作系统级别的概念,拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程)。 Read more ...

2018-08-22 python , greenlet , gevent , thread , process , yield

又一个网页文件管理:filebrowser

之前一直使用的是 h5ai,平时也够用,不过 h5ai 是不能上传文件编写文件的,这算是一个问题吧,今天正好看到了 filebrowser,以前叫做 file manager。 File Browser 是一个用 Go 和 Vue 编写的基于 Web 的文件管理器。 去官网看来一眼,发现支持 docker, 所以就比较方便了。 具体 docker compose 的文件见 这里 只要配置好,几乎就是一键安装了。以后转战 filebrowser 了。 默认的用户名和密码是 admin/admin,记得登录进去第一件事情就是修改密码。 Read more ...

2018-08-20 web , filemanager , h5ai , filebrowser

Linux 下非常好用的字典 GoldenDict

最近在使用 Linux 版有道的时候发现非常卡,影响正常使用,所以就发现了这个 GoldenDict。以前在 Win 下用过 lingoes 但是无奈只有 Win 版本。有的时候也真的挺有意思,闭源的软件用着不舒服,切换到开源软件之后就像打开了新天地,从搜狗切换到 Rime 也是,开源软件不仅在功能上优于这些闭源软件,自己稍微调整一下之后就会发现体验也远超有道,搜狗之类。 GoldenDict 是一个开源词典,用 QT 编写,使用 WebKit 作为渲染核心,它像 Eudict、Mdict、Lingoes 以及 BlueDict 等词典一样可以加载外挂 Read more ...


最近文章

  • Google Code Wiki:让 GitHub 仓库秒变代码百科全书 之前 Devin 团队推出了一款 DeepWiki 的网站,可以用来解释 GitHub 的代码仓库。今天偶然发现 Google 也推出了类似的产品,叫做 Code Wiki。
  • Typeless: 又一款 macOS 上的 AI 语音输入利器 看过我博客的人会发现,我在这半年的时间里面体验了非常多的语音转文字工具,可以说,这样的工具极大地提升了我的生产效率。不仅搭配 Obsidian 可以更快地写笔记,搭配 Claude Code 等编程工具也可以让我更快地输入提示词。体验到后面,遇到类似的产品,我一般也不会单独地出一篇文章,但是今天体验完了 Typeless,我觉得它值得写一篇文章,单独介绍一下。
  • Gemini CLI 使用小技巧 本文记录 Gemini CLI 使用过程中一些容易被忽略的问题,以及使用小技巧。
  • 让 AI 更懂你的工作流:Gemini CLI 自定义 Slash Commands 配置指南 看过我博客的人会发现,我过去分享了非常多 Claude Code 下的使用小技巧,Claude Code 提供了非常好用的 Clash Commands,可以让我们直接通过快捷方式调用我们预先定义好的 prompt。最近我在使用 Gemini CLI 时,也发现我需要类似的功能。但幸好,Gemini CLI 已经帮我们实现了 slash commands,我们只需要定义好一个函数,就可以非常轻松地通过斜杠命令来调用。
  • 在 Obsidian 中使用 Gemini CLI 从 2020 年开始使用 Obsidian 算起,到今天也已经快 5 年了,这个过程中我将过去将近 10 年的笔记,包括 Evernote,WizNote 中的笔记,豆瓣上的笔记全部转成了 Markdown 保存到了本地,后来陆陆续续使用的比如 [[Voicenotes]] 也都转成 Markdown 存如 Obsidian。虽然过去纪念陆陆续续在整理,但是实际上每天添加到笔记库中的内容要远多于要整理阅读的内容,笔记仓库也是越来越大,所以我越来越想使用一个工具可以帮助我真正地理解我写下的东西,并且在我想使用的时候能快速的找回。