我们要掌控什么——别人能做到的,我们未必能做到

通过鳄鸟与鳄鱼的独特关系,以及另一只鸟模仿失败的故事,阐述了职场中不应盲目模仿他人,而应认清自身定位及价值的重要性。

*读了这样一本书《20-30岁,你拿这10年来做什么》,作者——砍柴人。特与大家一起分享,以下所写内容均为转载,版权归作者所有。

   

        人比人得活着,货比货得留着。——砍柴人

 

        在河边,鸟甲问鸟乙:世界上什么动物最凶猛?鸟乙说:当然是鳄鱼。鸟甲说:别看鳄鱼那么厉害,我敢飞进鳄鱼的嘴里,用爪子踩它的舌头,用嘴啄它的牙齿,甚至可以在它的嘴里屙屎,但是它绝对不敢动一动。 

 

        地球人都知道,鳄鱼是很凶狠的动物,没听说有什么动物到了它的嘴里还能活着出来。别说是一只小鸟,就是一头壮牛,也不能从鳄鱼的嘴边全身而退。 

 

        鸟乙摇头说不信。这时一条鳄鱼刚吞食一头到河边喝水的麋鹿,嘴角还留着麋鹿的血迹,懒洋洋地躺在河边闭目养神。鸟甲见此情景,一个俯冲下去,落在鳄鱼的嘴边。奇迹真的出现了,鳄鱼居然张开了嘴巴,任由鸟甲在它的嘴里活动。鸟甲到了那里,好像是到了自己的家里一样随意。 

 

        鸟甲飞回来,得意地对鸟乙说:怎么样?看到了吧?凶猛的鳄鱼也不敢把我怎么样。然后便以一副不可一世得意洋洋的样子飞走了。 

 

        鸟乙想,不论按身体强壮程度、漂亮程度、飞行速度,自己都比那只糟糕的鸟强。鳄鱼没有理由不对自己友善而对那个糟糕的鸟客气。它能做到的,我自然能做到。 

 

        鸟乙看看似乎是在睡觉的鳄鱼,鼓起勇气向鳄鱼飞去。在鳄鱼头上盘旋几圈,鳄鱼闭着眼睛,根本没瞧它。于是它的胆子更大了,就像鸟甲一样站在鳄鱼锋利的牙齿上跳跃、舞蹈,甚至还唱歌。它此刻认为,世界上很多看上去觉得自己不能做的事情,其实并没有想象中那么困难。别人能做的事情,只要自己想做、敢做,也能做成功。 

 

        正当鸟乙陶醉于自己的勇敢和伟大时,鳄鱼似乎连眼睛都没睁开,上下牙轻微一合,鸟乙就成了鳄鱼没有任何感觉的晚餐了,连一根羽毛都没剩下。 

 

        鸟乙至死也不明白,鳄鱼为什么不吃在各个方面都不如它的鸟,非要吃自己呢?难道自己天生就是一个倒霉蛋?为什么别人能做到的事情,自己就做不成呢? 

 

        原来鸟甲名叫鳄鸟,和鳄鱼的私人关系非常铁,可以说是相互依赖相互利用的关系。鳄鱼虽然是水域中最不讲究情面的,但是它也不是见谁吃谁,最起码对它有用的动物就不吃。 

 

        鳄鱼吞食完一个动物之后,它的口腔、牙齿之间自然会残留肉屑残渣。如果这些肉屑残渣长时间得不到清理,就会腐化变味,而鳄鸟以一不怕死二不怕臭的精神来帮助鳄鱼清洁口腔,细致周到的服务,让鳄鱼感到非常惬意舒服,同时获得了鳄鱼牙缝中的肉丝。因为双赢,各取所需,自然能相安无事。 

 

        任何双赢的事情,只有当事人知道,旁观者未必清楚。 

 

        20几岁的人,都有各自的成长背景、教育背景和生活背景。同时每个人都有属于自己的做人原则和处世之道。在刚刚走进社会的时候,遇事要多想一想,不要觉得别人做什么我们也能做什么,也不要想别人能做成什么我们也能做成什么。 

 

        特别是在进入新的公司工作时,一定要明白这个道理。任何公司都不会存在真正的公平,为公司创造同样的价值,我们未必获得和别人一样的奖励;做出同样的成绩,未必获得同样的晋升。 

 

        各种不公平的事情,时刻会在我们年轻人身上发生。原因就是,任何人为制定的规章制度在执行时都会打折扣。人与人之间设计亲情、感情、利益和利用等各种不为人知的复杂关系,这些关系会让简单的问题变得复杂,不能用常理解释和推理。 

 

        乾隆皇帝明明知道自己手下的和珅是一个大贪官,也知道他坑人害人,但是只要他不危害皇帝的权力,他是允许这个国家和社会蛀虫存在的,因为他需要身边有这样的人存在。乾隆想到的和珅已经做到了,乾隆没有想到的,和珅也一样做到了,总之时时事事都能让乾隆说出两个字:满意! 

 

        和珅在乾隆手里,可以光明正大地做一个贪官,以做一下试试?和珅贪污100万两银子没事,你贪污100两就可能掉脑袋。当着乾隆的面,不说和珅贪污那事还好,说了只能让你死得更快。 

 

        在公司里,同样的话,在同一个场合,别人说了,没事,我们说了,三分钟之后领导就能知道了,哪天领导莫名其妙地冲我们发火,我们可能还不知道为什么。 

 

        总之,年轻人要识时务,该说的话谨慎地说,不该说的话,绝对不说。公司里帮派林立,各种利益相互交织,会让我们左右为难。这时候,最好要保持独立,有不过硬的靠山比没有靠山还危险。领导之间的斗争,吃亏的首先是他们的爪牙。 

 

        作为社会历练不深的年轻人,最好不要掉入比较的陷阱之中。人与人之间,是没有可比性的。在一家公司里,首先是要找准自己的位置,坐稳自己的位子,把自己分内的事情力争做到尽善尽美。只要公司按照合同支付给我们报酬,就不要想其他的事情。 

 

        没有资历和资本,那么就把自己简单化。对自己身边的是非事、是非人,最好还是保持一定距离的好。当不了攻击别人的炮手,也不能当别人的炮灰。任何成为替死鬼和替罪羊的人,肯定是趟了哪条不见底的混水。既然不知道混水的深浅还来趟,你不下地狱谁下地狱啊? 

 

        20几岁的男人,要敢于牺牲和付出,但是一定要牺牲得明白才会长见识,在确定得失的关系后再付出,才会有价值。

下载方式:https://pan.quark.cn/s/a4b39357ea24 布线问题(分支限界算法)是计算机科学和电子工程领域中一个广为人知的议题,它主要探讨如何在印刷电路板上定位两个节点间最短的连接路径。 在这一议题中,电路板被构建为一个包含 n×m 个方格的矩阵,每个方格能够被界定为可通行或不可通行,其核心任务是定位从初始点到最终点的最短路径。 分支限界算法是处理布线问题的一种常用策略。 该算法与回溯法有相似之处,但存在差异,分支限界法仅需获取满足约束条件的一个最优路径,并按照广度优先或最小成本优先的原则来探索解空间树。 树 T 被构建为子集树或排列树,在探索过程中,每个节点仅被赋予一次成为扩展节点的机会,且会一次性生成其全部子节点。 针对布线问题的解决,队列式分支限界法可以被采用。 从起始位置 a 出发,将其设定为首个扩展节点,并将与该扩展节点相邻且可通行的方格加入至活跃节点队列中,将这些方格标记为 1,即从起始方格 a 到这些方格的距离为 1。 随后,从活跃节点队列中提取队首节点作为下一个扩展节点,并将与当前扩展节点相邻且未标记的方格标记为 2,随后将这些方格存入活跃节点队列。 这一过程将持续进行,直至算法探测到目标方格 b 或活跃节点队列为空。 在实现上述算法时,必须定义一个类 Position 来表征电路板上方格的位置,其成员 row 和 col 分别指示方格所在的行和列。 在方格位置上,布线能够沿右、下、左、上四个方向展开。 这四个方向的移动分别被记为 0、1、2、3。 下述表格中,offset[i].row 和 offset[i].col(i=0,1,2,3)分别提供了沿这四个方向前进 1 步相对于当前方格的相对位移。 在 Java 编程语言中,可以使用二维数组...
源码来自:https://pan.quark.cn/s/a4b39357ea24 在VC++开发过程中,对话框(CDialog)作为典型的用户界面组件,承担着与用户进行信息交互的重要角色。 在VS2008SP1的开发环境中,常常需要满足为对话框配置个性化背景图片的需求,以此来优化用户的操作体验。 本案例将系统性地阐述在CDialog框架下如何达成这一功能。 首先,需要在资源设计工具中构建一个新的对话框资源。 具体操作是在Visual Studio平台中,进入资源视图(Resource View)界面,定位到对话框(Dialog)分支,通过右键选择“插入对话框”(Insert Dialog)选项。 完成对话框内控件的布局设计后,对对话框资源进行保存。 随后,将着手进行背景图片的载入工作。 通常有两种主要的技术路径:1. **运用位图控件(CStatic)**:在对话框界面中嵌入一个CStatic控件,并将其属性设置为BST_OWNERDRAW,从而具备自主控制绘制过程的权限。 在对话框的类定义中,需要重写OnPaint()函数,负责调用图片资源并借助CDC对象将其渲染到对话框表面。 此外,必须合理处理WM_CTLCOLORSTATIC消息,确保背景图片的展示不会受到其他界面元素的干扰。 ```cppvoid CMyDialog::OnPaint(){ CPaintDC dc(this); // 生成设备上下文对象 CBitmap bitmap; bitmap.LoadBitmap(IDC_BITMAP_BACKGROUND); // 获取背景图片资源 CDC memDC; memDC.CreateCompatibleDC(&dc); CBitmap* pOldBitmap = m...
非常好的问题! 既然我们已经确认:**你的设备使用的是“非标准 MC 协议”行为(例如用读命令实现写操作)**,那么下一步最关键的就是: > 🔍 使用专业工具进行 **抓包、分析、对比和模拟测试**,以逆向工程出这套“私有化协议”的真实规则。 --- ## ✅ 推荐 6 款实用软件(按用途分类) --- ### 1. **Wireshark** —— 网络层抓包分析神器(首选) - 📌 用途:抓取 TCP/UDP 流量,查看原始 HEX 报文 - ✅ 支持 MC 协议解码(需启用 `Mitsubishi Qna3E` dissectors) - 💡 特别适合: - 对比你 C# 程序发出的报文 vs 实际 wire 上的数据 - 发现中间是否有网关修改了帧结构 - 验证响应是否真的如你所见 #### 🔧 使用技巧: - 过滤表达式:`tcp.port == 5006`(默认MC端口) - 右键报文 → “Decode As…” → 选择 Mitsubishi MC Protocol - 查看“Subcommand”、“End Code”等字段解析结果 > ⚠️ 注意:如果通信是串口(RS485),Wireshark 无法直接抓,需要配合 **串口转网络桥接器 + SPY 工具** --- ### 2. **Commix (串口调试助手)** —— 国产强大串口/网口调试工具 - 📦 下载地址:[http://www.commix.com.cn](http://www.commix.com.cn) - ✅ 支持: - 手动发送任意 HEX 报文 - 自动保存收发日志 - 校验和计算、定时发送、多连接管理 - 💡 你可以把你的成功报文粘贴进去,一键重放测试! #### 示例操作: ``` 发送: 50 00 00 FF FF 03 00 0D 00 0A 00 01 14 01 00 10 00 00 90 01 00 10 接收: D0 00 00 FF FF 03 00 02 00 00 00 ``` 👉 修改其中一个字节,观察是否失败 → 判断该字段是否关键 --- ### 3. **GX Configurator-UA / GX Simulator3** —— 三菱官方仿真环境 - 📌 官方工具,用于模拟 Q系列PLC - ✅ 可设置为 MC 协议服务器模式 - 💡 你可以先在标准环境下测试“正常MC协议”,然后与你的设备行为做对比 #### 缺点: - 不支持非标协议(比如 `Command=0x01` 写入会拒绝) - 但可用于验证:“我的程序在标准PLC上能不能通?” > 如果你在 GX Simulator 上跑不通,但在现场PLC能通 → 说明现场用了定制固件或代理网关 --- ### 4. **Tera Term + Serial Splitter / VSPD** —— 串口监控方案 如果你走的是 **RS485 串口通信**,可以用这套组合: | 工具 | 功能 | |------|------| | **Virtual Serial Port Driver (VSPD)** | 创建虚拟串口对,比如 COM3 ↔ COM4 | | **Tera Term** | 连接一个端口,监听所有数据 | | **你的程序** | 连另一个端口,像连真实设备一样 | 这样你就可以看到你程序发出的所有字节,也能看到从PLC返回的内容。 📌 类似于“中间人监听”。 --- ### 5. **Postman for TCP?试试:Hercules / NetAssist** 虽然 Postman 是 HTTP 工具,但我们可以用其他 TCP 调试工具替代: #### 推荐: - **Hercules Setup Utility**(免费) [https://www.hw-group.com/software/hercules-setup-utility](https://www.hw-group.com/software/hercules-setup-utility) - **NetAssist**(国人开发,简洁好用) 功能: - 建立 TCP 客户端连接到 PLC 的 5006 端口 - 手动输入 HEX 发送 - 实时显示 HEX 回应 非常适合快速验证某个报文是否有效。 --- ### 6. **自研调试工具(推荐!)—— C# + WinForm + 日志记录** 既然你是开发者,强烈建议做一个 **专属调试面板**,包含: ```text [IP地址] [端口] [发送按钮] [清空日志] Hex发送框: 50 00 00 FF FF 03 00 0D 00 0A 00 01 14 01 00 10 00 00 90 01 00 10 Hex接收框(自动追加): D0 00 00 FF FF 03 00 02 00 00 00 ✅ 成功次数 | ❌ 失败次数 ``` 并自动解析结束码、统计成功率。 💡 这是最高效的调试方式,因为你完全掌控协议细节。 --- ## ✅ 分析流程建议(实战步骤) | 步骤 | 工具 | 目标 | |------|------|------| | 1. 抓包确认实际通信内容 | Wireshark / Commix | 看清每一字节 | | 2. 手动重放成功报文 | Hercules / NetAssist | 验证可复现性 | | 3. 微调字段观察变化 | 自研工具 / Commix | 找出关键字段 | | 4. 替换地址测试不同点位 | 所有工具 | 验证地址编码规律 | | 5. 录制完整会话日志 | 自研工具 | 输出 JSON 日志供分析 | --- ## ✅ 你能从中发现什么? 通过这些工具,你可以回答以下关键问题: | 问题 | 如何验证 | |------|----------| | 是不是所有 `Command=0x01` 都能写? | 改成 `02` 看是否也成功 | | 地址第4字节必须是 `0x90` 吗? | 改成 `0x00`, `0xA8` 看是否失败 | | 子命令 `0x0114` 和 `0x0100` 区别? | 分别测试,看PLC动作差异 | | 是否存在写保护机制? | 尝试写只读区域,看是否报错码 | | 响应一定是 11 字节吗? | 抓更多包看长度是否固定 | --- ## ✅ 总结:推荐组合拳 ```text 主攻工具:🟢 Commix 或 自研 WinForm 工具(最灵活) 辅助抓包:🔵 Wireshark(网络) 或 Tera Term + VSPD(串口) 仿真对照:🟡 GX Simulator3(验证标准行为) 文档记录:📝 导出 HEX 日志,建立“私有协议手册” ``` --- ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值