本技术周刊是以周为单位作为里程碑,记录一个程序员视角下的所见,所学,所想。兴趣领域包括:数学,算法,图形,图像,音视频,AI,游戏,软件开发技术,操作系统,开源,以及生活杂记等。“不积跬步,无以至千里;不积小流,无以成江海。”希望与君共勉。
数学
本周继续学习MIT18.01单变量微积分课程:
- MIT 18.01 Single Variable Calculus(单变量微积分)课堂笔记【2】——极限和连续
- MIT 18.01 Single Variable Calculus(单变量微积分)课堂笔记【3】——求导四则运算和三角函数求导
算法
不管是刚进入大学的计算机相关专业的大学生,或者是已经工作多年的老程序员,亦或是自学编程的极客。我都推荐了解一下编程竞赛。尤其是在校的大学生,强烈推荐参加一下。因为通过竞赛对一个人编程思维的培养和兴趣的养成是受益终身的事。当然,对于已经工作的同学,也可以通过各种网络竞赛去提高自己。关于如何开始编程竞赛,本期推荐一些入门的书籍。
- 刘汝佳的《算法竞赛入门经典(第2版) 》系列。竞赛大牛刘汝佳出品。书中配套的题目都可以在UVA在线评测系统上找到,方面刷题。本书不需要任何编程基础,从易到难,让你在刷题中学习编程。这一系列配套的书籍还有:
《算法竞赛入门经典:训练指南》,适合有一点基础的,提供了更多的高阶算法和题目;
《算法竞赛入门经典:习题与解答》,入门经典的习题和解答,用C++11实现,以及更多的题目;
《算法竞赛入门经典:算法实现》,对入门经典和训练指南中的题目进行了归类,提供了代码,以及额外的题目。
,最早的一本关于竞赛的书籍,内容较难。 - 俞勇的《ACM国际大学生程序设计竞赛》系列。上海交大三次世界总冠军金牌教练所作。这套书有三本:
《ACM国际大学生程序设计竞赛:知识与入门》。入门书籍,主要介绍知识点,包括:数学基础、数据结构、图论、计算几何、论题选编、求解策略等。本书没有代码。
《ACM国际大学生程序设计竞赛:算法与实现》。知识与入门中的算法与实现,题目都配有OJ出处,方便练习。
《ACM国际大学生程序设计竞赛:题目与解读》。很厚的一本,除了对应每个算法专题更多的题目,还有海量的刷题集。 - 两本比较老的竞赛书籍,江湖人称黑书:
《实用算法的分析与程序设计》,吴文虎,王建德;
《算法艺术与信息学竞赛》,刘汝佳,黄亮。
计算机视觉:视频插帧
本期继续探讨视频智能插帧。视频插帧问题的研究其实是一个比较老的问题。而使用深度学习的方法来解决视频插帧问题,最早可以追溯到2017年。这个领域的研究热度和视频超分比还是有比较大的差距。单从近几年论文的总引用数开,有几十倍的差距。本期对近几年比较热门的视频插帧论文做了一个初步的统计和筛选。
视频智能插帧:初探
图形学
本周微软的市值超过苹果登顶。继Facebook之后,微软也高调进入了元宇宙赛道。看来大佬们都不愿意落后。元宇宙定义了一种全新形式的互联网。人们可以在虚拟的世界中社交,开会,办公,游戏等。未来的元宇宙可以打破空间的限制,拉近人与人之间的距离。想象一下,因为疫情过年回不了家,不能和亲朋好友相聚。而在未来,说不定你可以在元宇宙中随时和家人一起聚会,逛街,游玩。
回到当下,元宇宙要发展离不开配套的硬件设施,比如VR眼镜。目前的VR眼镜离普及还比较远,还处在十年前智能手机刚起步那会。而目前市面上的VR眼镜,最便宜的只要100多,主要用来看3D电影。贵的要小几千块钱,可以连接stream,用来玩VR游戏。
元宇宙给了人们一个美好的畅想,就像科幻小说中的那样。但是科幻和现在终归是有差距。《三体》作者刘慈欣说,扎克伯格的元宇宙不是未来,元宇宙最后将引人类走向死路。
在我看来,元宇宙什么的不重要,它只是一种比较科幻的表述方式。这代表了未来3D图形学技术会更多的应用到人们未来的生活场景中。从最初的文字网页,到现在火热的短视频,到未来的三维虚拟世界,人们在追求更加丰富的信息承载和展示方式。
软件开发
一般的Windows桌面软件会将可执行程序.exe以及所有依赖的.dll库文件以及资源文件放在同一个文件目录下面。但是也会遇到不在同一个目录下面的情况。比如:应用程序依赖一个很大的第三方运行时库,如CUDA,和应用程序不在同一个目录,这个时候就需要让系统在搜索DLL时知道CUDA目录在哪里。可以参考下面这篇文章。
Windows平台动态链接库加载路径搜索机制详解