.bat批处理(十一):替换字符串中包含百分号%的子串 今天这篇总结是之前批处理替换字符串的延伸问题,同样来源于读者的提问,要处理的问题是被替换的子串中如果有百分号 `%` 要怎样替换,因为 `%` 在批处理脚本中也比较特殊,如果要想表示一个 `%` 字符,那么在给变量赋值时需要写成 `%%` 的样子,用两个表示一个,类似于进行转义,因为在批处理中, `%`开头的内容通常表示一个变量...
linux环境下常用的网络命令ping、telnet、traceroute、tcpdump 因特网(Internet)的前身是美国国防部高级研究计划局(ARPA)用于军事目的的通信网络,真的就是一个内部的工具出圈成了改变世界的事物。网这个词用的很形象也很贴切,如今的世界任何事情都离不开这个大网了,特别是之前炒的非常火爆的万物互联概念,更是把所有事物都挂在了“网”上,虽然这张大网某些节点偶尔会不太通畅,但这并不能阻断消息的往来。之前都在讲全球化,谁能想到短短几年“逆全球化”居然越来越热...
C++11新式洗牌std::shuffle与老式洗牌函数std::random_shuffle的区别 洗牌算法是项目开发中常用的一种算法,它和随机数有着密不可分的关系,比如我们从报名参与活动的前10个用户中选取一个人发放幸运奖,这时可以从[1, 10] 范围内随机一个数来确定幸运儿;如果是抽取两个人呢?那就随机两次!是的,确实可以这样做,但是随着随机次数的增多,后面随机的数字很可能和前面一样,这时就要重复随机才能解决...
恶搞一下std::forward函数 关于 `std::forward` 的用法在之前的文章 《C++11中std::move和std::forward到底干了啥》已经总结过了,它被称为完美转发函数,用于函数模板中完成参数转发任务,当形参为左值引用时把它转发成左值,而在形参成为右值引用时把它转发成右值,依靠了引用折叠规则和 `std::remove_reference` 模板...
C++可变参数模板的展开方式 可变参数模板(variadic templates)是C++11新增的强大的特性之一,它对模板参数进行了高度泛化,能表示0到任意个数、任意类型的参数。相比C++98/03这些类模版和函数模版中只能含固定数量模版参数的“老古董”,可变模版参数无疑是一个巨大的进步...
epoll的LT模式(水平触发)和ET模式(边沿触发) epoll的触发模式是个引发讨论非常多的话题,网络上这方面总结的文章也很多,首先从名字上就不是很统一,LT模式常被称为水平触发、电平触发、条件触发,而ET模式常被称为边缘触发、边沿触发等,这些都是从英文翻译过来的,只不过翻译的时候有些差异,LT全称 level-triggered,ET全称 edge-triggered ...
总结下各种常见树形结构的定义及特点(二叉树、AVL树、红黑树、Trie树、B树、B+树) 树形结构相比于数组、链表、队列和栈等线性结构要复杂的多,因为树本身的概念就比较多,通过设定一些条件和限制就可以定义出一种新类型的树,结果造成了树的“变化多端”,所以要学习一种树要从树的定义入手,然后根据定义和特点来熟悉各种树适合的场景,这样就可以做到“树尽其用”目的了...
简单梳理下git的使用感受,思考git中最重要的是什么 工作中使用git是从两年前开始的,之前一直`add -> commit ->push`常规操作,真正在工作中使用之后才渐渐理解了git的强大,这种理解是建立在不断解决问题的基础上的,不断的处理遇到的问题,就像升级打怪一样,对git的理解也越来越全面。因为在使用git之前一直用svn作为版本控制工具,所以对git和svn的区别也有了自己的认识,关于两者的区别网上的文章一搜一大把,我就不重复了,我仅仅从自己的理解来描述下两者的不同...
linux环境下随时照看服务器进程的ps和top命令 在linux环境服务器下通常是不会安装图形界面的,这时如果想看程序是否在正常运行着,就不能像在windows上一样去查看任务管理器,而是需要通过命令来查询程序的进程运行情况,`ps` 就是一个查询linux环境下进程运行状态的命令...
通过WindowsStore安装QuickLook小工具方便文件预览 话说Windows商店一直没有什么存在感,普通大众从互联网野蛮生长开始就一直被各大流氓软件控制着连接互联网的门户,下载软件去官网只是少数人拿来伸张正义的说辞,有些官网的访问速度确实...不过随着手机的普及,应用商店的下载安装方式逐渐被人们所接受,而Windows商店也渐渐进入了人们的视野,毕竟又这么个官方的东西,总比满大街搜索捆绑的软件要方便的多...
2021年终总结——脚踏实地,为下一次腾飞积蓄力量 又到了一年一度的交卷时刻,去年的flag可以改个年份继续提上日程了。2021年,平平淡淡的一年,平淡到蜗居在这个寸土寸金的帝都,都没回过几次家。不过平淡并非不好,这份平淡恰恰是一种幸福,感恩我们所在的这个和平的国度,感恩所有为了这份和平付出努力的人们...
Windows设置防火墙允许指定应用正常使用网络 很长一段时间以来,防火墙这个神奇的“玩意”在我的电脑上基本属于名存死亡,因为做网络软件开发的缘故,经常需要别人连接我的电脑来进行测试,打开Windows的防火墙常常出现网络无法联通的情况,所以在我的电脑上防火墙基本处于关闭状态,我们要怎样正确的打开防火墙呢...
git常用配置——git show/diff tab 显示宽度 平时在代码开发过程中使用编辑器时一般会使用空格来代替Tab符,而Tab的宽度通常设置为4个空格的宽度。在使用`git diff` 命令时发现有些老代码的格式混乱,原因就是使用了8个字符宽度的Tab显示格式,经过一番查找发现可以修改 `core.pager` 来进行调整,特此记录方便日后查找...
记一次使用Valgrind查找解决内存问题的玄幻旅程 看标题来说这应该是一篇教程式文章,但为了突出“玄幻”二字,我们不讲细节只讲过程,在过程中体会解决问题的方式和方法,以及避免一些我在这个过程中绕的弯路,如果想找工具的详细使用方法可以去参考文章中翻一翻,有几篇文章写的真不错,可以仔细看看...