(转)系统架构的一些原则 目录:原则一:关注于真正的收益而不是技术本身原则二:以应用服务和 API 为视角,而不是以资源和技术为视角原则三:选择最主流和成熟的技术原则四:完备性会比性能更重要原则五:制定并遵循服从标准、规范和最佳实践原则六:重视架构扩展性和可运维性原则七:对控制逻辑进行全面收口原则八:不要迁就老旧系统的技术债务原则九:不要依赖自己的经验,要依赖于数据和学习原则十:千万要小心 X – Y 问题,要追问原始需求原则十一:激进胜于保守,创新与实用并不冲突原文传送门:传送门:https://cool
状态机编程的一点心得 状态机抽象后, 其实就是state与event的处理:1.方案一,可以每个state创建一个class, 该class针对每个event有一个处理函数, 处理后返回一个下一个state的对象。2. 方案二, 状态机其实本质上是处理每个state & event的组合, 简单的实现方式是switch state:{ case state1: switch event: { case event1:
Python 实现一个简单的照片播放器,遍历播放一个目录及其子目录下所有的jpg import cv2import filetypeimport osimport timefrom tkinter import *from tkinter.filedialog import askdirectoryimport threadingexitFlag = 0def select_path(): path_ = askdirectory() #return file location if path_ == "": path.get()
Linux nm 命令查找符号 显示所有符号:nm -C execute_file查找是否存在目标符号nm -C execute_file | grep target_symbolnm命令除了对可执行文件使用,还可以对符号文件和静态库使用。
Python pyautogui 实现自动化鼠标点击 源地址:https://blog.csdn.net/ooowwq/article/details/103825291?utm_source=app&app_version=4.20.0应用场景:软件模拟按键测试游戏自动投降降分脚本
深入学习linux内存知识备忘 内存管理与分页机制, 及malloc(0) 实际获取内存的大小:https://blog.csdn.net/apollon_krj/article/details/53869173sbrk、brk、mmap、munmap, sbrk/brk 控制heap;mmap/munmap控制heap与stack之间的区域:https://blog.csdn.net/Apollon_krj/article/details/54565768mmap深入:https://www.cnblogs.com/huxiao-.
使用第三方静态库产生crash的处理思路 确认编译器是否一致, 调用代码编译器和第三方静态库的编译器不一致, 可能会导致内存布局不同。确认引用的系统头文件是否一致,有些头文件包含了声明和定义,实现不同会导致问题。确认编译选项是否一致,有很多编译选项会导致内存偏移量改变,如果第三方的代码在头文件实现,且调用方和第三方代码编译选项不同,会导致调用方调用该内联函数的时候,按照自己这边编译选项分析出来的偏移量找第三方的成员变量的位置,从而导致crash。.........