CoXier's Blog

Never Stop

C++ Style

一、Header 1.1 Include Guard 一般来说,一个 C++ 程序分为两部分,一部分以 .h 结尾叫做头文件,另一部分以 .cpp 结尾叫做源文件。头文件用来申明诸如函数、类、全局变量,源文件用来定义和实现诸如函数、类的成员。 在编译期间,编译器会将源文件(实际上是头文件)include 进来的源文件串联起来,进行语法分析、生成中间文件,最后生成相应机型的可执行汇编文件。...

Python 虚拟环境和包管理

一、Python 和 我 从「西瓜视频」回校后,一直在做一个自己的小项目——「悦看」,由于项目需要后台,所以学习了一段时间的 python。个人认为每一种计算机编程语言都有着语言自己的特色,比如 c/c++ 对内存的创建回收,Java 高移植性,python 的“人生苦短,我用 python”。 随着 AI 和 CV 的兴起,python 成了新时代程序员的宠儿,这其中我认为有两个原因:...

postman

postman postman 是一个非常实用的网络调试工具,对于 API 测试来说简直就是神器。和 paw 相比,postman 跨平台,而且免费。今天刚好看到 paw,了解到 paw 强大的 Import 和 Export 功能,我心里隐隐约约觉得,postman 作为老大哥,这些武功应该都会。查阅一番,发现确实有这两个功能。 Import cUrl 从 Chrome,charle...

视频清晰度

视频清晰度 国内主流视频网站如优酷、腾讯视频、爱奇艺对于视频清晰度的划分基本上是 标清(也叫普清)、高清、超清、1080p。视频的清晰度是以视频高度来衡量,在国外网站如 youtube 上视频的清晰度单位是:320p、480p、720p、1080p,很自然的可以和国内的视频网站的视频清晰度单位一一对应。 之前做和视频相关的项目时,简单的把视频清晰度和视频格式做了映射,后来发现这种方式太过...

稀里糊涂的走着

儿时看《血色浪漫》,文革时代的钟跃民从「下乡」开始一直都对自己的人生,特别是职业,都很随意。被主人公钟跃民的人生观感染着,一遍又一遍的看着,心里默默想以后也要做这样的人,但是如今,我和大多数人一样稀里糊涂的走着。 当时的背景不允许钟跃民参军,只能下乡。和我们这个时代相比,和高考选大学的境地类似,但是小地方的学生(比如我)对大学专业的认识是模糊的。此前 12 年的寒窗苦读方向都很明确,那就是...

JSON 与 Protobuf

今天是 9.30 日,国庆节的最后一天。这个工作周,最大的收获是接触了 protobuf ,同时也复习了 JSON。在我看来,一些东西应该是能乱记于心,这是(计算机)基础,发展之本。 一、JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,具有一定的可读性,但是如果随着数据层级关系和内容数量增加,可读性会变得很糟糕。是作为数据交换语言,需要...

悬浮窗适配

参考:Android 悬浮窗权限各机型各系统适配大全 一、逆向 就「悬浮窗适配」这一具体的业务需求而言,需要有一定的逆向能力,为什么呢? 国内的 rom 对原生系统进行了部分修改,适配有时就需要了解到具体的技术细节,但是他们没有开源,所以需要逆向; 观察某些大厂应用,借鉴他们某些场景下的函数参数,因为作为大厂,他们的方案稳定性在一定程度上是值得学习的。 1.1 反编...

Handler 机制

一、Handler 机制 Handler机制 是线程间通信很关键的机制,在应用层中,可以利用 Handler 做定时任务、消息统一的转发和处理、View 动画。Handler 消息机制在 java 层涉及: framework/base/core/java/andorid/os/ Handler.java Looper.java Message.java...

Android 数据流量监控

一、Android 数据流量监控的发展 在 Android 4.3 以前,系统是通过读取 /proc/uid_stat/{uid} 文件来获取统计数据,在 Android 4.3 之后,被 /proc/net/xt_qtaguid/stats 取代。 但在 Android 4.3 之前,/proc/net/xt_qtaguid/stats 也是存在的,在 Android 3.0 的内核中,...

编译 IjkPlayer

编译 支持 https 的 IjkPlayer 近期想研究一下几个常见 Player 的解码效率。其中 IjkPlayer 默认是不支持 https 的,所以需要自己手动编译。 准备工作 配置 ANDROID_SDK ANDROID_NDK export ANDROID_SDK= <PATH> export ANDROID_NDK= &l...