主页

Python的defaultdict对象使用自定义类型的方法(以sortedlist为例)

写在前面 最近写周赛题, 逃不开的一种题型是设计数据结构, 也就是第三题, 做这种题需要的就是对语言中的容器以及常用排序查找算法的掌握, 而我只熟悉了最基本的一些方法, 做起这些题来总是超时… 为了搞定这些题, 我决定学习一下大佬们的做法, 特别是优先队列的方法维护有序容器以及有序列表等容器, 这些都在Python中封装好了, 用起来很是方便, 但是采用defaultdict的时候, 其缺省数据类型常常需要与题目给出的特定结构匹配, 这就需要定义一个新的数据类型, 下面我就以一种十分常用的结构SortedList为例, 设置自定义的数据类型(本例为将默认的升序列表变成降序列表). 其他的数据结构当然也可以根据下面列出的方法来改, 主要知识点就是函数与类的运用了. 这里我参...

阅读更多

Opengl基础(二)键盘事件控制

写在前面 键盘字符对应 ESC键: VK_ESCAPE (27) 回车键:VK_RETURN (13) TAB键:VK_TAB (9) Caps Lock键:VK_CAPITAL (20) Shift键:VK_SHIFT (16) Ctrl键:VK_CONTROL (17) Alt键:VK_MENU (18) 空格键:VK_SPACE (32) 退格键:VK_BACK (8) 左徽标键:VK_LWIN (91) 右徽标键:VK_RWIN (92) 鼠标右键快捷键:VK_APPS (93) Insert键:VK_INSERT (45) Home键:VK_HOME (36) Page Up:VK_PRIOR (33) PageDown:VK_NEXT (3...

阅读更多

在macos(m1)中成功构建soil库的方法

写在前面 最近跟着网上的教程学学OpenGL, 但是却倒在了配置环境的第一步, 这个项目需要使用一个名为Simple OpenGL Image Library (SOIL)1的库, 实际上就是对OpenGL接口的进一步封装, 用于添加纹理, 但是不巧的是这个库所使用的Carbon API2在MacOS Catalina已经不支持MacOS的api了3, 就在我准备放弃的时候, 一个新的名为SOIL2的库4走进我的视线, 竟然还是从O’Reilly中的免费阅读项目中找到的, (这本书还算挺新的, 可以申请免费试看) 有了这个我就直接进入SOIL2的官方主页5, 然后开始一系列的配置~ 但是就是这配置, 却让我折腾了快一天, 最后竟然只是因为brew的一个小小的包影响的.. 实在是不应...

阅读更多

Ffmpeg的各种常用操作总结

写在前面 以前一直觉得一款名叫格式工厂的软件特别厉害, 什么媒体格式都能互相转化, 后来发现格式工厂其实就是一个套壳的FFmpeg, FFmpeg1这款命令行软件可以说是相当强大了, 支持音频视频等的各种转换, 以及图片等的互相转换, 甚至还能捕获网络上的m3u8文件, 可以参考我之前的关于如何下载钉钉直播视频的文章. 总之, 学会了一些基本的命令行操作之后, 以后就完全不需要下载其他软件了, 不仅方便还支持批处理操作, 简直就是必备的效率工具~ 下面我总结一下我常用的几个结合FFmpeg和imagemagick的媒体文件处理操作, 主要涉及视频格式转换, 视频到GIF的转换等, 主要参考当然是FFmpeg的官方文档2, 当然也有一些现成的国外博客以及Stack Overflow....

阅读更多

C,c++可变参数特性分析与实例

写在前面 最近在看的一份关于2048游戏的OpenGL实现的C语言源代码, 其中用到了一个比较独特的语法, 叫做可变参数, 乍一看还以为是C++11中引入的可变参数模板, 实际上却是C语言独有的特性, 下面来分析一下这个语法特性, 并用来实现一些小例子, 以及C和C++的这类型语法的一些对比. 参考了Wikipedia, cppreference.com和其他一些博客文章. 下面是一些需要的头文件, 这里采用了C++写, 如果用C的话改成stdarg.h之类即可 #include <cstdarg> // you need to include this to use variable numbers of args #include <cstdio> ...

阅读更多

M1mac上配置docker Kubernetes Colima完全指南(不使用docker desktop)

写在前面 最近一直在研究云原生等的一些内容, 当然首当其冲的就是docker,kubernetes(下称k8s)等的配置了, 本文将以macOS12.3.1为主要环境, 架构为arm64(Apple silicon m1), 详细介绍如何在Mac上配置轻量级的云原生多节点平台k8s, 官方推荐的工具是minikube, 但是就是这个软件, 在各种搜索debug与配置了一天我才终于完美安装了. 一定要详细记录一下这个历史性的时刻! 距离苹果发布m1芯片其实已经过去了快两年, 但是很多软件的适配其实还是不太好的, 例如一些虚拟化程序, virtualbox, VMware, hyperkit, 这些软件都不能作为minikube的驱动, 只是因为并没有适配arm架构. 所以这里我采用了...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits