TheBadZhang's Blog - 转载
type: channel
link: http://www.tbz.io/index.php/category/repost/
items: 【转载】别像弱智一样提问
items: 【转载】CppTemplateTutorial
items: 使用 TinyProxy 代理
items: 《中华人民共和国密码法》正式发布
items: 程序员升职记全成就
items: 【转载】高斯模糊与图像卷积滤波一些知识点

【转载】别像弱智一样提问
type: item
date: 2021-02-03T13:40:00+00:00
description: 别像弱智一样提问 Stop-Ask-Questions-The-Stupid-Ways 你真的准备好了吗？ 感谢群友 for you 提供 避免 xy-problem 参考地址: http://xyproblem.info/ XY Problem 表示 提问者想要解决 原问题 X ，且觉得解决了 引申问题 Y 就能解决 X 问题 提问者对外提出了解决 Y 的的请求（Request） 回答者帮助提问者解决 Y 问题。（浪费了回答者和提问者双方的时间） 然而, 最终 Y 问题可能并不是 X 问题的一个合适的解决方法 因此， 提问者要避免创造这样的修罗场, 需要学会在问题之初就准确描述自己的根本问题。 学会描述问题 提问前你必须需要知道的事情 要知道， Free 的正确翻译是 自由，而非 免费。 要知道，愿意回答问题的人，都是 可爱 的人。 要知道，向帮助你的人 付费 是一个高尚的行为。即使回答你的人不是为了钱。 要知道，花钱买时间是一个常识。如果你不能认同，要么你钱包穷，要么你思想穷。 要知道，给对方发工资的不是你或者你老板。 要知道，提问的时候你才是 孙子，帮助你的人是 大爷。 要知道，不回答你的问题对其他人没有任何损失。 要知道，准确描述一件事情是一项基本生存技能。要学会 《提问的智慧》 要知道，搜索是一项基本生存技能，学不会用 Google 的话，你可能真的不适合你所从事的行业。 要知道，英文是一项基本生存技能，不认识英文的话，你可能真的不适合你所从事的行业。 幼儿园的小朋友都知道要有礼貌 请问 ...问题描述... 谢谢 学会描述问题 向别人提问的时候，要学会正确的描述问题。 把对方当成你的老板，你在给他提做报告。要用最精炼的文字和图片，向对方阐述明白一个事情的来龙去脉。 要知道，你不是我追的妹子，我没有时间来猜你想要什么。 记住，给别人的条件越多，你的问题解决越快。因为这不是解密游戏。 请问一个关于 什么 的问题。 我想要达到 什么样 效果，但是我这样做出现了 什么样 的问题。 报错日志是 这样 的。（要 学会 画关键字） 我尝试过 什么 方法来解决。 我尝试搜索过了 什么 关键字，在里面找到了 这些 URL 的回答，尝试了还是没有解决问题。 我用的是 什么 操作系统（Operating System），版本号是多少。 我用的是 什么 软件，版本号是多少。 谢谢 千万别认为只有别人帮助你之后才需要说 谢谢。 学会什么时候贴图 像这种，IM 自动转义表情，贴出来的问题全是表情。 学会什么时候要圈出重点 千万不要认为别人的频率和你是同步的，然后像这样扔出一张图一个表情就了事了。 在工作中， 你@的人可能会多问一句什么情况。 但是在 IM 聊天群里面，就没有这么好运气了。 如下很难吗？ @xxx，我这边访问不了 git [仓库]^(Repository)。 环境是: 环境是什么。 学会什么时候贴文字 什么是弱智一样的提问 萌新滚粗 | 什么鬼？ | 咋回事？ | 怎么办？ | 救命啊！！ | |-------------|-------------|-------------|------------------| | 自己 google | 自己 google | 自己 google | 自己 google 了吗 |

【转载】CppTemplateTutorial
type: item
date: 2021-02-03T13:39:00+00:00
description: C++ Template 进阶指南 [TOC] 0. 前言 0.1 C++另类简介：比你用的复杂，但比你想的简单 C++似乎从它为世人所知的那天开始便成为天然的话题性编程语言。在它在周围有着形形色色的赞美与贬低之词。当我在微博上透露欲写此文的意愿时，也收到了很多褒贬不一的评论。作为一门语言，能拥有这么多使用并恨着它、使用并畏惧它的用户，也算是语言丛林里的奇观了。 C++之所以变成一门层次丰富、结构多变、语法繁冗的语言，是有着多层次的原因的。Bjarne在《The Design and Evolution of C++》一书中，详细的解释了C++为什么会变成如今（C++98/03）的模样。这本书也是我和陈梓瀚一直对各位已经入门的新手强烈推荐的一本书。通过它你多少可以明白，C++的诸多语法要素之所以变成如今的模样，实属迫不得已。 模板作为C++中最有特色的语言特性，它堪称玄学的语法和语义，理所应当的成为初学者的梦魇。甚至很多工作多年的人也对C++的模板部分保有充分的敬畏。在多数的编码标准中，Template俨然和多重继承一样，成为了一般程序员（非程序库撰写者）的禁区。甚至运用模板较多的Boost，也成为了“众矢之的”。 但是实际上C++模板远没有想象的那么复杂。我们只需要换一个视角：在C++03的时候，模板本身就可以独立成为一门“语言”。它有“值”，有“函数”，有“表达式”和“语句”。除了语法比较蹩脚外，它既没有指针也没有数组，更没有C++里面复杂的继承和多态。可以说，它要比C语言要简单的多。如果我们把模板当做是一门语言来学习，那只需要花费学习OO零头的时间即可掌握。按照这样的思路，可以说在各种模板书籍中出现的多数技巧，都可以被轻松理解。 简单回顾一下模板的历史。87年的时候，泛型（Generic Programming）便被纳入了C++的考虑范畴，并直接导致了后来模板语法的产生。可以说模板语法一开始就是为了在C++中提供泛型机制。92年的时候，Alexander Stepanov开始研究利用模板语法制作程序库，后来这一程序库发展成STL，并在93年被接纳入标准中。 此时不少人以为STL已经是C++模板的集大成之作，C++模板技止于此。但是在95年的《C++ Report》上，John Barton和Lee Nackman提出了一个矩阵乘法的模板示例。可以说元编程在那个时候开始被很多人所关注。自此篇文章发表之后，很多大牛都开始对模板产生了浓厚的兴趣。其中对元编程技法贡献最大的当属Alexandrescu的《Modern C++ Design》及模板程序库Loki。这一2001年发表的图书间接地导致了模板元编程库的出现。书中所使用的Typelist等泛型组件，和Policy等设计方法令人耳目一新。但是因为全书用的是近乎Geek的手法来构造一切设施，因此使得此书阅读起来略有难度。 2002年出版的另一本书《C++ Templates》，可以说是在Template方面的集大成之作。它详细阐述了模板的语法、提供了和模板有关的语言细节信息，举了很多有代表性例子。但是对于模板新手来说，这本书细节如此丰富，让他们随随便便就打了退堂鼓缴械投降。 本文的写作初衷，就是通过“编程语言”的视角，介绍一个简单、清晰的“模板语言”。我会尽可能地将模板的诸多要素连串起来，用一些简单的例子帮助读者学习这门“语言”，让读者在编写、阅读模板代码的时候，能像 if(exp) { dosomething(); }一样的信手拈来，让“模板元编程”技术成为读者牢固掌握、可举一反三的有用技能。 0.2 适宜读者群 因为本文并不是用于C++入门，例子中也多少会牵涉一些其它知识，因此如果读者能够具备以下条件，会读起来更加轻松： 熟悉C++的基本语法； 使用过STL； 熟悉一些常用的算法，以及递归等程序设计方法。 此外，尽管第一章会介绍一些Template的基本语法，但是还是会略显单薄。因此也希望读者能对C++ Template最基本语法形式有所了解和掌握；如果会编写基本的模板函数和模板类那就更好了。 诚如上节所述，本文并不是《C++ Templates》的简单重复，与《Modern C++ Design》交叠更少。从知识结构上，我建议大家可以先读本文，再阅读《C++ Templates》获取更丰富的语法与实现细节，以更进一步；《Modern C++ Design》除了元编程之外，还有很多的泛型编程示例，原则上泛型编程的部分与我所述的内容交叉不大，读者在读完1-3章了解模板的基本规则之后便可阅读《MCD》的相应章节；元编程部分（如Typelist）建议在阅读完本文之后再行阅读，或许会更易理解。 0.3 版权 本文是随写随即同步到Github上，因此在行文中难免会遗漏引用（ref）…

使用 TinyProxy 代理
type: item
date: 2020-08-25T11:24:00+00:00
description: tinyproxy 的部署和使用不完全指北 tinyproxy - GitHub 介绍 Tinyproxy 是一个面向 POSIX 系统开发的轻量级的开源 HTTP/HTTPS 代理守护进程（Progress），其设计目标是快而小，从底层开始进行设计，保证了在高速的同时体积依然很小。它适用于需要完整 HTTP 代理特性，但系统资源又不足以运行大型代理的场景，比如嵌入式部署。 Tinyproxy 对小规模网络（Network）非常有用，这样的场合下大型代理会使系统资源紧张，或有安全风险。 Tinyproxy 的一个关键特性是其缓冲连接的理念。从效果上看， Tinyproxy 对服务（Services）器的响应进行了高速缓冲，然后按照客户端能够处理的最高速度进行响应。该特性极大的降低了网络延滞带来的问题。 支持匿名模式： 可让您配置哪些 HTTP标头可被允许通过，哪些 HTTP标头应被阻止。 这使您既可以限制从HTTP服务器向Web浏览器发送的数据（例如Cookie），也可以限制从Web浏览器到HTTP服务器发送的数据（例如版本信息）。 支持 HTTPS： 可以通过 CONNECT 请求（Request）来转发 HTTPS 连接。Tinyproxy 允许进行 HTTPS 连接的转发，而且无需通过 CONNECT 方法以任何形式修改流量内容（请参阅ConnectPort 指令）。 使用 AddHeader 指令，您可以向传出的流量里添加或插入 HTTP 标头信息。 远程监视： 通过使用远程监视工具，您可以远程获知代理统计信息、日志和访问信息，从而确切了解代理的繁忙程度。 负载监视： 可配置成当负载达到某个程度时，拒绝新的代理请求。 访问控制： 可设置特定的 IP 地址或者 IP 段才可访问。 安全： 不需要 root 权限。 只需进行一些配置（比如，将 Tinyproxy 创建的文件设为由非 root 用户拥有，并让它在大于 1024 的端口上运行），就能让 Tinyproxy 在没有任何特殊权限的情况下运行，从而将系统受到破坏的风险降至最低。 您可以配置 Tinyproxy 来实现 访问控制，从而仅允许来自特定子网或特定接口（Interface）的请求，从而确保那些随机（Random）出现的、未经授权的人不能使用您的代理。 轻量化： 只需要极小的系统资源。 Tinyproxy 的体积很小，也仅需少量系统资源。在使用 glibc 时，内存占用一般大约 2 MB，而 CPU 占用会随着连接数量线性增长（具体取决于连接速度）。因此，Tinyproxy 可用在比较老旧的计算机上，或者用在基于 Linux 的路由器等网络设备上，而不会对设备性能造成明显的影响。 支持基于 URL 的过滤。 支持透明代理 使客户端无需进行任何配置即可使用代理。您也可以将其用作您网站的反向代理前端。 支持多级代理。 开源： Tinyproxy 采用 GNU GPL 协议（版本2及以上）分发。 易于构建： Tinyproxy 的构建和运行仅需一个最小化的 POSIX 环境。同时，它可以用其他附加库来添加额外功能。 稳定： 它的设计致力于防止缓冲区溢出。代码结构的简单也确保了此类bug易于定位。 高自由度： 如果您要构建自定义Web代理，可以轻松地修改 Tinyproxy 以满足您的自定义需求。 源码结构非常简单，遵循 KISS 原则。 因此，可以把它作为基础（Base），来实现您可能需要Web代理执行的任何操作。 安装 直接安装 通过下面的命令在不同平台上直接安装 tinyproxy 服务 [RHEL](Red Hat Enterprise Linux) / CentOS / Fedora yum install tinyproxy 从 EPEL 仓库（Repository）中安装 Tinyproxy。 Debian / Ubuntu apt install tinyproxy Archlinux / manjaro pacman -S tinyproxy openSUSE zypper in tinyproxy FreeBSD，OpenBSD 或 NetBSD 可以使用 pkg_add 程序来安装 pkg install tinyproxy Mac OS 对于 Mac OS X 用户，可以查看 MacPorts 来检查其中的 Tinyproxy 端口是否已是最新版本。 如果您觉得您操作系统（Operating System）中的 Tinyproxy 二进制软件包不是最新的，请联系该操作系统的软件包维护者。 如果这行不通，您也可以从源代码编译（Compiler）得到最新的稳定版本。 homebrew install proxy 手动安装 最新版下载链接： http…

《中华人民共和国密码法》正式发布
type: item
date: 2020-08-11T11:23:00+00:00
description: 2019 年 10 月 26 日，《中华人民共和国密码法》 经第十三届全国人民代表大会常务委员会第十四次会议表决通过。自 2020 年 1 月 1 日起正式施行，标志着我国在密码的应用和管理等方面有了专门性的法律保障。密码法旨在规范密码应用和管理，促进密码事业发展，保障网络（Network）与信息安全，提升密码管理科学化、规范化、法治化水平，是中国密码领域的综合性、基础（Base）性法律。 《中华人民共和国密码法》 围绕 “怎么用密码、谁来管密码、怎么管密码” ，重点规范了 5 方面 44 条内容。明确立法目的是 “为了规范密码应用和管理，促进密码事业发展，保障网络与信息安全，维护国家安全和社会公共利益，保护公民、法人和其他组织的合法权益”。强调 “坚持党对密码工作的领导”，规定“中央密码工作领导机构对全国密码工作实行统一领导”，国家密码管理部门也就是国家密码管理局负责管理全国的密码工作。 《中华人民共和国密码法》 将密码分为核心密码、普通密码和商用密码三类，实行分类管理。其中核心密码、普通密码用于保护国家秘密信息，属于国家秘密；商用密码用于保护不属于国家秘密的信息，公民、法人和其他组织可以依法使用商用密码保护网络与信息安全。 以下为 《中华人民共和国密码法》 全文： 中华人民共和国密码法 （2019 年 10 月 26 日第十三届全国人民代表大会常务委员会第十四次会议通过） 目录 第一章 总则 第二章 核心密码、普通密码 第三章 商用密码 第四章 法律责任 第五章 附则 第一章 总则 第一条 为了规范密码应用和管理，促进密码事业发展，保障网络与信息安全，维护国家安全和社会公共利益，保护公民、法人和其他组织的合法权益，制定本法。 第二条 本法所称密码，是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务（Services）。 第三条 密码工作坚持总体国家安全观，遵循统一领导、分级负责，创新发展、服务大局，依法管理、保障安全的原则。 第四条 坚持中国共产党对密码工作的领导。中央密码工作领导机构对全国密码工作实行统一领导，制定国家密码工作重大方针政策，统筹协调国家密码重大事项和重要工作，推进国家密码法治建设。 第五条 国家密码管理部门负责管理全国的密码工作。县级以上地方各级密码管理部门负责管理本行政区域的密码工作。 国家机关和涉及密码工作的单位在其职责范围内负责本机关、本单位或者本系统的密码工作。 第六条 国家对密码实行分类管理。 密码分为核心密码、普通密码和商用密码。 第七条 核心密码、普通密码用于保护国家秘密信息，核心密码保护信息的最高密级为绝密级，普通密码保护信息的最高密级为机密级。 核心密码、普通密码属于国家秘密。密码管理部门依照本法和有关法律、行政法规、国家有关规定对核心密码、普通密码实行严格统一管理。 第八条 商用密码用于保护不属于国家秘密的信息。 公民、法人和其他组织可以依法使用商用密码保护网络与信息安全。 第九条 国家鼓励和支持密码科学技术研究和应用，依法保护密码领域的知识产权，促进密码科学技术进步和创新。 国家加强密码人才培养和队伍建设，对在密码工作中作出突出贡献的组织和个人，按照国家有关规定给予表彰和奖励。 第十条 国家采取多种形式加强密码安全教育，将密码安全教育纳入国民教育体系和公务员教育培训体系，增强公民、法人和其他组织的密码安全意识。 第十一条 县级以上人民政府应当将密码工作纳入本级国民经济和社会发展规划，所需经费列入本级财政预算。 第十二条 任何组织或者个人不得窃取他人加密保护的信息或者非法侵入他人的密码保障系统。 任何组织或者个人不得利用密码从事危害国家安全、社会公共利益、他人合法权益等违法犯罪活动。 第二章 核心密码、普通密码 第十三条 国家加强核心密码、普通密码的科学规划、管理和使用，加强制度建设，完善管理措施，增强密码安全保障能力。 第十四条 在有线、无线通信中传递的国家秘密信息，以及存储、处理国家秘密信息的信息系统，应当依照法律、行政法规和国家有关规定使用核心密码、普通密码进行加密保护、安全认证。 第十五条 从事核心密码、普通密码科研、生产、服务、检测、装备、使用和销毁等工作的机构（以下统称密码工作机构）应当按照法律、行政法规、国家有关规定以及核心密码、普通密码标准的要求，建立健全安全管理制度，采取严格的保密措施和保密责任制，确保核心密码、普通密码的安全。 第十六条 密码管理部门依法对密码工作机构的核心密码、普通密码工作进行指导、监督和检查，密码工作机构应当配合。 第十七条 密码管理部门根据工作需要会同有关部门建立核心密码、普通密码的安全监测预警、安全风险评估、信息通报、重大事项会商和应急处置等协作机制，确保核心密码、普通密码安全管理的协同联动和有序高效。 密码工作机构发现核…

程序员升职记全成就
type: item
date: 2020-07-15T11:17:00+00:00
description: 程序员升职记 Human Resource Machine https://steamcommunity.com/sharedfiles/filedetails/?id=550015574 收发室 INBOX OUTBOX INBOX OUTBOX INBOX OUTBOX 繁忙的收发室 a: INBOX OUTBOX JUMP a a: INBOX OUTBOX INBOX OUTBOX JUMP a 复印楼层 COPYFROM 4 OUTBOX COPYFROM 0 OUTBOX COPYFROM 3 OUTBOX 扰码处理器 a: INBOX COPYTO 0 INBOX OUTBOX COPYFROM 0 OUTBOX JUMP a 咖啡时间 多雨之夏 a: INBOX COPYTO 0 INBOX ADD 0 OUTBOX JUMP a 零扑灭运动 a: b: INBOX JUMPZ b OUTBOX JUMP a 三倍扩大室 a: INBOX COPYTO 0 ADD 0 ADD 0 OUTBOX JUMP a 零保护行动 JUMP b a: OUTBOX b: c: INBOX JUMPZ a JUMP c 八倍扩大装置 a: INBOX COPYTO 0 ADD 0 COPYTO 0 ADD 0 COPYTO 0 ADD 0 OUTBOX JUMP a 加运算走廊 a: INBOX COPYTO 0 INBOX COPYTO 1 SUB 0 OUTBOX COPYFROM 0 SUB 1 OUTBOX JUMP a 四十倍扩大器 a: INBOX COPYTO 0 ADD 0 COPYTO 0 ADD 0 COPYTO 0 ADD 0 COPYTO 0 ADD 0 COPYTO 1 ADD 0 ADD 1 OUTBOX JUMP a 均衡之间 JUMP b a: COPYFROM 0 OUTBOX b: c: INBOX COPYTO 0 INBOX SUB 0 JUMPZ a JUMP c 最大值室 JUMP c a: COPYFROM 0 b: OUTBOX c: INBOX COPYTO 0 INBOX SUB 0 JUMPN a ADD 0 JUMP b 斗志注入 绝对正能量 JUMP c a: COPYTO 0 SUB 0 SUB 0 b: OUTBOX c: INBOX JUMPN a JUMP b 专属休息室 a: b: INBOX JUMPN d INBOX JUMPN e c: COPYFROM 4 OUTBOX JUMP b d: INBOX JUMPN c e: COPYFROM 5 OUTBOX JUMP a 海滩天堂 计时器 a: INBOX COPYTO 0 b: c: OUTBOX BUMPDN 0 JUMPN d JUMP c d: BUMPUP 0 JUMPZ a BUMPUP 0 JUMP b JUMP d a: b: c: OUTBOX d: INBOX JUMPN f JUMPZ a COPYTO 0 OUTBOX e: BUMPDN 0 JUMPZ c OUTBOX JUMP e f: COPYTO 0 OUTBOX g: BUMPUP 0 JUMPZ b OUTBOX JUMP g 乘法研讨会 JUMP b a: COPYFROM 0 OUTBOX b: COPYFROM 9 COPYTO 0 INBOX COPYTO 1 INBOX COPYTO 2 c: JUMPZ a COPYFROM 0 ADD 1 COPYTO 0 BUMPDN 2 JUMP c BUMPUP 9 JUMP k a: ADD 1 b: ADD 1 c: ADD 1 d: ADD 1 e: ADD 1 f: ADD 1 g: ADD 1 h: ADD 1 i: ADD 1 j: OUTBOX k: INBOX COPYTO 1 INBOX JUMPZ j SUB 9 JUMPZ i SUB 9 JUMPZ h SUB 9 JUMPZ g SUB 9 JUMPZ f SUB 9 JUMPZ e SUB 9 JUMPZ d SUB 9 JUMPZ c SUB 9 JUMPZ b SUB 9 JUMP a 零结尾字符串 JUMP c a: ADD 0 b: OUTBOX c: INBOX JUMPZ b d: COPYTO 0 INBOX JUMPZ a ADD 0 JUMP d 斐波那契参上 a: INBOX COPYTO 0 COPYFROM 9 COPYTO 1 COPYTO 2 BUMPUP 1 b: ADD 2 COPYTO 3 COPYFROM 0 SUB 1 JUMPN a COPYF…

【转载】高斯模糊与图像卷积滤波一些知识点
type: item
date: 2020-03-15T03:11:00+00:00
description: https://www.jianshu.com/p/8d2d93c4229b 以后持续补充