【WIP】Linux & Windows 小技巧(3)

Linux 桌面环境

两种常见 Display Server:

  • X Window System:历史久导致兼容性好,但设计思路老旧,性能问题开始有所体现。官方实现:X.Org Server。
  • Wayland:更简单的现代化窗口系统。比 X Window System 更高效,但兼容性仍不够好。正逐步替代 X Window System。官方实现:Weston。

X Window System

  • 增强级:Unity(Gnome)等
  • 常量级:Gnome(GTK),KDE(Qt)等
  • 轻量级:XFCE(GTK),LXDE(GTK),LXQt(Qt)等
  • 超轻量级:iceWM(层叠式),i3WM(平铺式),X.Org Server(层叠式)等

Wayland

  • 增强级:Unity(Gnome)等
  • 常量级:Gnome(GTK),KDE(Qt,正在适配)等
  • 轻量级:Weston(层叠式),XFCE(GTK,已有适配计划),LXQt(Qt,已有适配计划)等
  • 超轻量级:SwayWM(平铺式)等
【WIP】算法与数据结构回顾 - 广义表

【WIP】算法与数据结构回顾 - 广义表

图源:@Rella 《glow》 91882132

简述

广义表是线性表的一种推广。线性表要求表中元素拥有统一的类型,而广义表无此限制。需要注意的是,广义表和线性表长度一般认为是有限的,但广义表的深度可以是无限的(即递归表)。

广义表是一种数据结构。对广义表的常见操作包括:

  • 创建
  • 从字符串形式创建
  • 销毁
  • 复制
  • 取表头
  • 取表尾
  • 判空
  • 求长度
  • 求深度
  • 从表头插入
  • 从表头删除
  • 遍历

广义表是Lisp语言的基本数据结构。后文以Common Lisp和C++给出各基本操作的示例。

名词注解

长度

指广义表中的元素个数。举例如下:

例一

1
(a, b)

该表中共有两个元素:原子项a,原子项b。因而该表的长度为2。

例二

1
(a, (b, c))

该表中共有两个元素:原子项a,广义表(b, c)。因而该表的长度为2。

深度

指广义表中子表的嵌套层数。举例如下:

例一

1
(a, b)

该表中没有子表,因而该表的深度为1。

例二

1
(a, (b, c))

该表中嵌套了一个无嵌套的子表,因而该表的深度为2。

阅读更多

【持续更新】算法与数据结构回顾 - 大纲

由于高中接触过,大学本科期间又深入了些,以防忘记记一些注意事项、概念和模板之类的东西。

简单分类

数据结构

  • 一维:

    • 基础:数组(Array),链表(Linked list)

    • 高级:栈(Stack),队列(Queue),双端队列(Deque),集合(Set),映射(Map)等。

  • 二维:

    • 基础:树(Tree),图(Graph)

    • 高级:二叉搜索树(BST),堆(Heap),并查集(Disjoint Set),字典树(Trie)等。

  • 特殊结构:

    • 位运算(Bitwise),布隆过滤器(BloomFilter)

    • 缓存(LRU)

    • ……

  • ……

算法

  • 分支(if-else,switch)

  • 迭代(for,while)

  • 递归(分治法,回溯法等)

  • 搜索(深搜,广搜,A*等)

  • 动态规划

  • 二分查找

  • 贪心

  • 计算几何

  • ……

阅读更多

【WIP】压制技术 B:从不熟悉的编码开始

文章摘录和润色于本人的笔记,难免有错漏之处。若您发现了其中的一处或几处,请在评论处指正,我将不胜感激。

什么是压制?

压制的对象

可以是一切种类的音频、视频、图像,比如说:

  • 蓝光光盘(BD)中的视频或音频(m2ts格式比较多见)
  • DVD光盘中的视频或音频(dat等格式比较多见)
  • CD光碟中的视频或音频
  • 通过Web下载的各流媒体网站的视频或音频
  • 各种剪辑软件、合成软件、特效软件、DAW等渲染的视频或音频
  • 图片(或者动态图片)转换为视频,例如“一图流MV”等

注意:要区分压制(Rip)和混流(Mix)。

压制是编码间转换的过程,混流是编码不变的视频轨/音频轨在容器间转换的过程。

注意:要区分编码(Encode)和容器(Container)

举例说明如下:

  • H.264是一种视频编码,aac是一种音频编码。
  • mp4是一种视频容器,wav是·一种音频容器。
  • avi既是一种视频编码也是一种视频容器。
  • mp3既是一种音频编码也是一种音频容器。

压制的目标

对视频、音频等的压制,不全面地、概括地来说,有以下几点主要目标:

  • 使音频/视频的编码符合要求。例如符合视频网站点播视频的要求、直播网站直播串流的要求、流水线中剪辑代理的要求等。
  • 使音频/视频的数据总量(可以理解为音频/视频的体积)或音频/视频在单位时间内的数据量(可以理解为音频/视频的码率)符合要求。例如符合蓝光光盘的码率要求、窄带(依照2010年新的标准为4Mbps以下)情况下视频点播的要求等。
  • 尽可能地保留音频/视频中的有效信息。可以理解为视频画面中物体的轮廓、音频的频段细节等。
  • 去除或降低音频/视频中的干扰信息。可以理解为视频画面中的噪点、音频中的杂音等。
阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×