Blue Geek's Blog

Just Do it.

C++的类型转换可能没有那么简单

BG104

C++的类型转换可能没有那么简单 By 青衣极客 Blue Geek In 2020-05-15 开发C++程序的朋友都接触过类型转换,即使你没有明确写出来。隐式转换是一种编译器规定的语言标准的类型转换。此外,从C语言过渡到C++的朋友,一定忘不了强制类型转换。但是在C++中,并不建议使用C语言的那种强制转换,而最好采用C++提供的这一套接口。很多开发者都觉得类型转换不屑一顾,但事实往往...

搞懂C++11中的匿名函数

BG103

搞懂C++11中的匿名函数 By 青衣极客 Blue Geek In 2020-05-15 相比于之前的版本,C++11的一些新特性能够让开发者工作的效率极大提升,匿名函数就是其中之一。官方称这种语法为lambda表达式,在Python中也有类似的语法。开发过程中,有时需要封装一些小函数,并不希望被其他人广泛地调用,只是为了在自己的局部代码中理顺逻辑和减少重复,那就可以考虑使用匿名函数...

能在浏览器中运行的OpenCV

BG102

能在浏览器中运行的OpenCV By 青衣极客 Blue Geek In 2020-05-13 当我们认真检查手机中的App时,可能会发现其实经常使用的并没有几个。也就是说,对于绝大多数的App实在没有必要采用客户端的形式,而可以使用HTML5所开发的Web应用代替,这也是最近几年HTML5受到热捧的原因。 开发和维护客户端并不是一件容易的事情,而且对于用户而言安装客户端意味着麻烦,也...

编译使用OpenCV的js版本

BG101

编译使用OpenCV的js版本 OpenCV是图像处理开发者绕不过去的门槛,而现在web方式分发是一种主流的渠道,所以有必要编译一个javascript版本的OpenCV,就可以在Html5的应用中方便地进行图像处理了。这其中的技术自然是非常复杂,毕竟要把C++代码编译成可以在浏览器上跑的js代码。不过,这些底层的东西已经有前辈们封装好了,我们直接用就行。即使如此,在编译的过程中仍然会遇到...

面试刷题:广度优先搜索BFS

BG100

面试刷题:广度优先搜索BFS By 青衣极客 Blue Geek In 2020-05-06 前面已经有一篇文章讨论了深度优先搜索DFS,从逻辑结构上而言,还有一种与之相对的遍历方式,广度优先搜索(Breath First Search, BFS)。DFS是指优先向孩子节点前进,那么广度优先搜索BFS就是优先向兄弟节点前进。 我们知道递归结构天然地就是往更深层调用前进的,因此很适合用于实...

如何在Github上提交 Pull Request ?

BG99

如何在Github上提交 Pull Request ? By 青衣极客 Blue Geek In 2020-05-05 很多朋友都有分享和贡献代码的意愿,但是不知道该如何操作。特别是对于刚接触编程还不太久的人而言,要了解Github公有仓库的合作开发模式确实有一些困难。这里主要是讨论一下提交 Pull Request(PR) 相关的流程和规范,让有心为开源项目贡献一份力的朋友不至于折失这...

PyQt5让Python更有趣

BG98

PyQt5让Python更有趣 By 青衣极客 Blue Geek In 2020-05-02 对于初学者或者绝大部分的使用者而言,Python就意味着那个黑乎乎的命令行窗口,问它一句它就回答一句,有时还报一些莫名其妙的错误让人很难喜欢。 难道你不会怀疑一下,Python这么大的社区居然都没有个好用的GUI框架? 事实上,大名鼎鼎的Qt就有Python的版本,以前常用的是PyQt4,现...

面试刷题:经典算法思想之回溯法 Q1415

BG97

面试刷题:经典算法思想之回溯法 By 青衣极客 Blue Geek In 2020-05-01 我们所遇到的算法问题五花八门,形态各异,但是从已有的那些解决方案中归纳出的经典算法思想却是屈指可数,而这些经典的前人经验基本涵盖了绝大多数计算机算法问题的解法。掌握这些经典的算法思想,对于解决程序设计问题而言,具有提纲挈领、纲举目张的效果。事实上,不仅仅对于算法问题,这些思想很大程度上也为解决...

面试刷题:深度优先搜索DFS Q1376

BG96

面试刷题:深度优先搜索DFS Q1376 By 青衣极客 Blue Geek In 2020-04-28 如何遍历一个图式的数据结构?这并不像简单的线性结构那样直观,因此需要确立一种原则,以保证既不缺失又不重复。通常按照探索方向来划分成两种遍历方法,一是优先向深度更大的节点遍历的深度优先搜索(Depth First Search, DFS);二是优先向同层兄弟节点遍历的广度优先搜索(Br...

Manim: 让你的报告动起来

BG95

Manim: 让你的报告动起来 By 青衣极客 Blue Geek In 2020-04-27 二维图或者三维图终归是静态的,如果能够使用动画来表现时间维度,就会更加生动有趣。如果你正准备作报告或者展示Demo,动画会让整个观感增色不少。一般地,我们可以使用AfterEffect来制作,但是对于需要比较复杂的数据和逻辑驱动的时候,就会非常累而且效果很难达到预期。有人开发了一款数学动画制作...