MoviePy: 用Python剪辑视频

前言

生活中视频使用的场景越来越多,生活中不免会碰到要对视频进行处理。

现在的视频剪辑软件也非常好用,可以进行精细化制作,但是效率就低了许多,如果有很多视频要处理,那就需要非常多的时间去处理。

用Rust实现Android Studio 二维码配对功能

前言

上一篇中我们讲了,在 Android Studio 中通过二维码使用WIFI连接手机的原理,今天就来使用 Rust 来实现类似的功能。

没有看过的建议看一下,不然这篇文档可能会看不懂。

为什么要用 Rust 呢?

一方面是 Go 已经有了,而刚好我想用 Rust 来练练手,所以就是它了。

Android Studio 通过二维码使用WIFI连接手机原理分析

前言

由于开发需要,下了最新版的 Android Studio(Dolphin) ,发现在选择 Android 设备的时候多了一个 Pair Devices Using WI-FI ,然后这里可以使用二维码和配对码,我使用了二维码进行配对,发现挺方便的,可以不用数据线了。

本文会分析一下实现的过程。

LeakCanary 内存泄漏检测原理

前言

内存泄漏是一个开发不得不面对的问题,在 Android 中有许多工具都可以用来检测内存泄漏,比如:MAT、Profile等。

但是这些工具都需要手动操作,比较麻烦,所以我们需要一个能够自动检测的工具,它就是LeakCanary

今天就来了解一下原理,毕竟面试也是常问的问题。

性能提高之JNI 缓存

前言

JNI 中如果需要调用 Java 的方法,首先需要使用 FindClass 获取到 jclass ,然后使用 GetMethodID 获取到对应方法的 ID ,字段也是一样的要使用 GetFieldID 来获取。

如果每次都要查找一遍,是比较麻烦和耗时的,今天就来研究一下怎么把它们缓存起来以提高性能。

JNI 局部引用释放

前言

有过 JNI 开发经历的都知道,在创建局部引用之后要释放。可是我们经常却直接返回 env->NewStringUTF("")Java 没有释放,并且不会有问题,本文就来研究一下局部引用的释放问题。

折腾RIME输入法

前言

市面上那么多输入法为什么还要折腾一个新的输入法?

许多年前有爆出输入法泄漏隐私的问题,一些数据没有经过加密传输。

这些想想都让人后怕。经过一段时间的摸索,逐步上手了 RIME ,因为 RIME 并不是那么容易上手,所以我把摸索的一些经验写成文章,希望能帮助到想使用 RIME 的伙伴。

Emacs中的Postman

前言

在日常开发中,经常需要调试服务端返回的数据,我们常用的有 PostmanPostWoman 等等。

但是我习惯了在 Emacs 中做完这一切,不想去安装其他软件,于是在 Emacs 中也找到了 restclient 这个插件,它能满足我的需求。

所以今天要来分享一下 restclient 的使用。

Gin 实现上传/下载服务

前言

在上一篇文章go实现文件上传/下载服务中讲到了自己实现一个文件上传服务,然而我发现gin-gonic/gin: Gin is a HTTP web framework written in Go (Golang).也默认提供了文件上传服务。

本文就来看看 Gin 中的文件上传服务。

创建项目

1
2
3
4
mkdir ginupload && cd ginupload
go mod init ginupload
go get -u github.com/gin-gonic/gin
touch main.go

我们创建一个 ginupload 的目录用来存放代码,并且使用 go mod 来管理依赖。

go实现文件上传/下载服务

前言

在开发的过程中,难免会碰到上传/下载文件的场景。如果这个功能服务端没开发好,就没法进行测试。

所以每次都要自己先实现一遍,本文使用 go 写了一个简单的文件上传和下载服务。

以后再碰到这种场景的时候就可以快速进行开发。

Rust For Android

前言

继上一篇用 Rust 开发 iOS 开发折腾之后,我又折腾起 Android 了。

最开始我是先从 Android 上下手的,不过一直没成功,直到最近才成功了。

本文默认你已经把 Rust 安装好了。注意需要使用 stable channel ,我之前使用的是 nightly 所以一直失败。

nightly channel 会报 dl_iterate_phdr can't find 错误,这个错误一直误导了我,我一直以为是链接上的问题,所以折腾了很久。

直到我换了一台电脑试了一下,居然成功了,才发现使用的 channel 是不一样的。

用 Rust 开发 iOS

前言

Rust 是近几年特别火的语言,之前学过几次,每次学完之后就不了了之,没有实际用到项目中。

所以每次学习的时候都感觉像是最熟悉的陌生人,所以最近想要在移动端进行实战,于是开始了折腾之旅,这篇就是 RustiOS 上的探索。

CocoaPods 安装

前言

今天来说一下 CocoaPods 的安装。

CocoaPods 是用来管理 iOS 开发中用到的第三方库,类似安卓中的 GradleMaven 的工具。

iOS 的开发中会经常用到,对我这样的 iOS 新手,一段时间不用,不免遗忘,所以用来记录一下,以后查找起来方便。

C++ 与 OC

前言

最近在研究 Cronet 网络库,涉及到 AndroidiOS ,由于对 OC 不怎么熟悉,所以在使用的时候碰到了 C++OC 互相调用的问题,于是便有了此文。