🌓

JPEG压缩之DCT离散余弦变换

在digital_video_introduction的一节中讲解 视频编解码器是如何工作的?提到了 DCT,此前没有太关注,最近有对相关的原理进行学习了解,本文对 DCT 离散余弦变换相关的内容进行整理总结。JPEG 使用的是 二维 DCT,因为它处理的是图像(二维信号),理解二维 DCT 的基础是一维 DCT。 一维离散余弦变换一维 DCT 将一个长度为...

阅读全文

H264码流结构理解整理

本文将带你深入H.264文件的内部,从宏观到微观,逐一剖析其各个组成部分的作用、相互关系以及一些精妙的设计哲学。在了解H264之前需要有以下的一些基础知识: 宏观结构:从文件到帧一个H.264原始码流(.h264或.264文件)并不是一个简单的“视频文件”,它不包含音频、字幕等元信息。它是一个纯粹的、编码后的视频数据比特流。这个流的结构可以看作一个分层模型,...

阅读全文

手写一个精简版Koin:深入理解依赖注入核心原理

在现代 Android 应用开发中,依赖注入(Dependency Injection, DI)已成为构建松耦合、可测试代码的重要技术。Koin 作为一个轻量级的Kotlin依赖注入框架,因其简洁的DSL和易用性深受开发者喜爱。最近对其源码进行学习了解,通过手写一个极度精简的 Koin 核心代码,来透彻理解Koin的注册、解析和参数传递机制。 本文代码基于...

阅读全文

[Compose Multiplatform]跨平台博客应用实践

用 CMP 构建跨平台博客应用:一次 Kotlin 的全栈实践在追求高效开发的时代,跨平台技术已成为移动应用开发的主流选择,此前基于鸿蒙的开发平台开发 blog_harmony,将自己博客文章进行展示。本文将介绍基于 CMP(Compose Multiplatform) 构建的开源博客应用 blog_kmp,展示如何用 Kotlin 实现跨平台的应用开发。 ...

阅读全文

[鸿蒙]写了个基于Hexo博客的鸿蒙App

最近部门也在跟进鸿蒙平台的业务开发,自己主要是做 Android 开发,主要使用 Kotlin/Java 语言。,需要对新的开发平台和开发模式进行学习,在业余时间开了个项目练手,做了个基于 Hexo 博客内容开发的App。鸿蒙主要使用ArkTS语言和ArkUI框架进行开发,有使用 Jetpack Compose 和 JavaScript/TypeScript...

阅读全文