上一篇咱们把一重循环收了尾,大晨用 for 算 1+2+…+100,一次跑通,尾巴都要翘上天了。我当时就跟他说:别嘚瑟,一重循环只是热身,真正的坎是“循环里再套一个循环”。
这不,这周《一本通·编程启蒙》正好翻到循环嵌套。大晨第一次看到两个 for 叠在一起,表情从“这有啥”秒变“这是啥”。
第一次见面,卡了 15 分钟书上的例题是打印星星三角形:输入 5,输出五行,第一行 1 个星、第二行 2 个……大晨看题时嘴硬:“不就是 cout 五次嘛。”
结果一上手就露馅。他先用一个 for 打了 5 个星,发现全挤在一行;加个 endl,又变成每行只有一个。来回折腾 15 分钟,屏幕上就是出不来那个三角形。
我在旁边忍着不提示。最后他自己嘟囔了一句:“这东西是每行不一样多的……”——这句话说到点子上了:一个循环管不了“每行不同”,得套两层。
外循环管行,内循环管列我把他拉过来,草稿纸上画了个框:外层循环 i 管第几行,内层循环 j 管这一行打几个。记住一句话:外循环管行,内循环管列,endl 要放在两个循环中间。
代码长这样:
1234567891011121314#include < ...
上篇说到,大晨把运动会上“亲子两人三足”的报名表填上了我的名字,还撂了一句“爸爸,你可别给我丢人啊”。这句话在我脑子里循环了一整周,比任何减脂口号都好使。
一根跳绳,绑住两条相差三十二岁的腿周六晚上,我让大晨把跳绳拆了,绑住我的右脚和他的左脚,在客厅先找节奏。
第一趟没走五步,俩人差点一起栽进茶几。大晨扶着墙笑得直不起腰:“爸,你能不能跟着我的拍子走啊?你老自己抢拍!”
我蹲下来跟他商量:你负责喊“一二一二”,我步子砍一半,你步子放大一点,取个中间值。第三趟,客厅一个来回,没摔。
周日晚上下楼加练。大晨拿电话手表掐表,30米,第一趟9秒8,第五趟8秒1。他眉头一皱:“体育委员说他们班去年跑了7秒多,咱俩还得练。”
好家伙,我还没喘匀,指标又涨了。儿子的报名表,比任何私教合同都有约束力。
练腿日,从“最讨厌”变成“最重要”以前我最烦练腿,练完下楼梯跟螃蟹似的横着走。这周主动加到两次:
周三:杠铃深蹲 60kg×5组×8个,弓步走 3组×20步,最后一组扶着栏杆喘成风箱。
周五:保加利亚分腿蹲(2×10kg哑铃)4组,加高抬腿30秒×4轮——练的不是力量,是跟大晨对频的步子。
同样是深蹲, ...
上篇结尾我说这周继续接着干,结果这周过完,我差点被一台体重秤干emo了。
两周了,秤上的数字一动不动先报数据,老规矩:早上空腹,排空,脱到只剩短裤。
79.1公斤。跟上上周一模一样,跟上周也一模一样。
整整14天,这个数字像钉子一样钉在秤上。我从83公斤一路掉下来的时候,最狠的一周掉过1.2公斤,现在倒好,纹丝不动。
腰围倒是给了点安慰:88.5厘米,比两周前又少了0.5。皮带确实又松了一个眼儿。
周三晚上我盯着秤发了半天呆,媳妇路过来了句:”你这不是没瘦,你这是没瘦在秤上。”
我当时没听懂,后来懂了。
这周的训练量,我偷偷加了码不甘心归不甘心,练还是照练,而且我把量往上加了一成:
周一硬拉日:60公斤4组×8,最后一组冲了个70公斤×3,腰没喊疼,握力先扛不住了;
周三卧推:45公斤4组×8,最后一组力竭,媳妇在旁边护着才敢上;
周五深蹲:55公斤5组×5,蹲完上楼梯像踩棉花;
周日带大晨去公园,他骑自行车,我跑步跟了40分钟,配速六分半,心率一直在150上下。
说实话,周一拉完70公斤那三个,我兴奋得像捡了钱。一个42岁的老腰,能从地上拉起70公斤,搁两年前我是不敢想的。
大晨 ...
上一篇结尾我说这个系列继续写,这不就来了。写到第 25 篇,今天聊一个我干运维这么多年最痛的话题,勒索病毒和数据备份。
一场勒索病毒,让代账公司差点关门上个月做代账的老周给我打电话,声音都是抖的:公司那台存客户账套的服务器,一晚上文件全变成 .lockbit 后缀,桌面弹着勒索信,要 3 个比特币。
200 多家客户的账套全在那台机器上,没有任何异地备份。交赎金,按行情小二十万;不交,多年心血归零。最后花 5 天时间从一块半年前的旧移动硬盘里扒回一部分数据,勉强保住 70% 的客户,剩下 30% 只能一家家上门道歉。
装修公司也一样惨。我一个做全屋定制的客户,效果图、施工图、报价单全在共享盘里,中招那次整盘加密,工人停工三天,违约金比赎金还贵。
数据是企业的命根子,备份就是给命根子上保险。 这话我讲了十年,老周是真金白银才听进去的。
勒索病毒是怎么进来的很多老板以为病毒离自己很远,其实常见的门就这么几扇:
RDP 弱口令。远程桌面 3389 端口暴露在公网,密码还是 admin123,黑客扫一晚上就进来了。老周就是这么中招的。
钓鱼邮件。“您有一张发票待查收”“快递到了请改地址”,附 ...
上一篇结尾我说过,单层循环大晨已经基本拿下了,接下来该上点”硬菜”。这不,本周陪跑,《一本通·编程启蒙 C++版》正好推进到循环章节的”打印图形”小节——for 套 for,嵌套循环,来了。
说实话,这个知识点我当年自己学 C 语言的时候也卡过一下,所以我提前给大晨打好了预防针:今天可能会有点绕,绕不过来不怪你。
循环套循环,到底是什么玩意我没急着讲代码,先拿生活里的例子打比方:外层走一步,内层跑一圈。
我跟他说:你每天上学,是一层大循环;而在学校里,每节课 40 分钟,是里面的小循环。一天 8 节课都上完,外面那个”天”的循环才走完一步。
大晨听完来了句:”爸爸,这不就是套娃吗?”
行吧,这词比我的”学校循环论”形象多了。后面我俩干脆就把嵌套循环叫”套娃循环”。
第一题:打印星号矩形书上的例题很经典:打印一个 3 行 4 列的星号矩形。
123456789101112#include <iostream>using namespace std;int main() { for (int i = 1; i <= 3; i++) { ...
上一篇留了钩子:真中了勒索病毒,第一时间干哪几件事?赎金交不交?怎么跟做数据恢复的人打交道?
先交作业:第一件事是拔网线、断共享,把中毒机器隔离;赎金别急着掏,市面上不少病毒家族都有现成解密工具,先找正规恢复公司评估,谈的时候说好“数据没落地不付全款”。这些坑我们替王总躲过去了,最后磁盘底层抠回七成文件,一个比特币没花。
但财务那台电脑最惨,SQL 数据库被加密得最狠。王总的用友 T3,最后一次备份停在去年 12 月,中间 8 个月的账,全指着从坏库里一点点抠。
那一个礼拜我基本泡在他们财务室,把 T3 备份恢复的路子完整走了两遍,今天全写出来。
手动备份:在系统管理里,不在软件里很多人在 T3 界面里翻半天找不到备份,因为入口在系统管理:
开始菜单 → 用友 T3 系列 → 系统管理;
「系统」→「注册」,用户名 admin,密码默认为空;
「账套」→「输出」,选中账套,选个路径,确定。
出来一个文件夹,里面是 .lst 列表文件 + .bak 数据文件,将来恢复时选的是那个 .lst。
三个坑:一是必须用 admin 登录,账套主管进去只能看年度账的输出,账套级的输出引入只有 ...
上一篇结尾我说,for 循环的”初始化、条件、更新”三件套,大晨已经捋顺了,让他睡一晚消化消化。结果第二天一早他主动凑过来:”爸,循环除了数数还能干啥?”我说干啥?for 循环的看家本领,今天就上——累加器。
按《一本通·编程启蒙 C++ 版》的进度,咱们正好翻到循环结构的应用部分。GESP 1 级真题里,求和、计数这类题是常客,这篇必须掰透。
从 1 加到 100 说起我先给大晨出了道老题:1+2+3+……+100 等于几?
他抄起草稿纸就要竖式,我拦住他,讲了高斯的故事——小高斯发现 1+100=101,2+99=101,一共 50 个 101,几秒交卷,答案 5050。
大晨听完幽幽来一句:“高斯这不就是偷懒吗?他偷懒被表扬两百年,我考试抄近道为啥挨说?”
我一时语塞,缓了半天说:程序员这行的本事,一大半就是”合理偷懒”——把重复的活儿丢给机器。来,写个程序,输入 n,输出 1 加到 n。
累加器:准备一个空盒子,往里不停扔思路很简单:准备一个变量 sum,一开始等于 0,然后循环 n 次,每次把 i 扔进 sum 里。
大晨看到 sum = sum + i; ...
上一篇结尾我说,这周要跟卡了三周的79公斤死磕到底。说实话,周一早上光脚站上秤之前,我深呼吸了三次。
卡了三周的秤,终于松口了周一79.3,周三79.1,周五早上——78.6。
掉了0.8公斤,三周的平台期,一周收复。
更要紧的是腰围。拿软尺一量,90.5厘米,从最初的98厘米算起,已经缩了7.5厘米。其实这三周体重不动的时候,腰围一直在偷偷降。体重是给外人看的,腰围才是给自己穿的。 裤子不会骗人,原来扣不上的那条西裤,现在能塞进一个拳头。
训练:不求大,求稳这周三练,每次70分钟:
周一:深蹲80公斤,5组×5个,组间休息2分钟;
周三:卧推60公斤5×5,哑铃划船24公斤3组×10个;
周五:硬拉冲了一把——之前一直在95公斤晃,这周上了100公斤,做了5个。第5个起来的时候杆子有点晃,但我站直了,没弓腰。
奔五的人,不跟小伙子比冲重量。中年人的进步不是杠铃片往上加,是动作越来越干净。 深蹲这周让健身房的老张帮忙看了看,他说我膝盖终于不打晃了,就这一句话,我高兴了一晚上。
吃:晚饭主食砍掉三分之一早餐还是老三样:两个鸡蛋、40克燕麦、一盒牛奶;中午食堂正常吃,多打一份青菜;变化 ...
上篇结尾我说,这个暑假过得有点放纵,秤都没敢多上,账等开学再算。这周大晨正式开学升初一,我这笔账,也到了清算的时候。
暑假欠的债,开学第一天就得还周日晚上,我鼓起勇气站上体脂秤:77.9公斤,比放假前整整重了三斤。腰围也从88厘米涨回了90.5。
原因不复杂:外婆家的红烧肉、夜市的烤串、每晚陪大晨看比赛集锦时的半瓶冰啤酒。中年人的肉,长的时候一声不吭,减的时候全是眼泪。
好在长胖用了一个暑假,还债只需要一个开学季。
作息掰回来,训练提上去大晨6点20分起床,我这个当爸的不好意思赖床,索性跟着起。早饭从楼下的油条豆浆,换回自己煮的两个鸡蛋、一碗燕麦、一盒牛奶。
训练也恢复了强度。周三晚上这堂课:
深蹲:95公斤,5组×5次
硬拉:120公斤,3组×3次
引体向上:4组×6个
平板支撑:3组,最长一组2分40秒
整堂课55分钟,练完大腿抖得下楼梯都得扶着墙。这种酸痛感,比暑假的啤酒味踏实多了。
周五早上再称:76.9公斤。一周还回去一公斤,这速度我满意。
大晨的体测单,给我上了一课开学第一周,学校就搞了体测。大晨拿着成绩单回来,一脸得意:”爸,跳绳我一分钟158个,你行吗?”
我不服, ...
上篇收尾我说,这个系列还得继续往下写。这不,第 23 篇来了。
隔了几天没更,是因为上个月我一直在处理一个“事故现场”,一家装修公司的服务器中了勒索病毒。今天就拿这单真实案例,讲讲为什么我说数据备份是企业的生命线,没有之一。
一觉醒来,800G图纸全变成“.locked”那天早上七点不到,装修公司王总的电话就来了,声音是抖的:“强仔,服务器上文件全打不开了,后缀全变成 .locked,桌面还多了个 txt!”
我远程一看,心凉了半截:五年多的施工图、预算表、合同扫描件,800 多个 G,全被加密。勒索信写着要 0.3 个比特币,三天内付款。
出门时大晨问我干嘛去,我说电脑中了病毒。他歪着头:“电脑又不是人,也会生病啊?”后来我跟王总解释,用的就是这句——电脑确实会“生病”,而且是被人故意投的毒。
病毒怎么进去的?翻来覆去就四条路排查下来,王总中的是最典型的RDP 远程桌面弱口令:3389 端口直接映射公网,administrator 密码是“公司名+123”,爆破工具跑一晚上就进去了。这是国内中小企业中招的第一大途径。
另外三条常见路数:
钓鱼邮件:伪装成“发票”“对账单”,附件一点 ...

