2022年11月

硬件产品(除了PCB以外)有些问题是最让人担心的, 一旦发生, 就可能导致产品部分或者推翻重来:

  • 干涉. 不同部件空间上相互插入.
  • 强度/力度不够.
  • 表面处理无法达到目标效果

    干涉

    干涉的问题并不总在设计阶段能发现. 导致干涉难以发现的原因包括:

  • 如果产品并非方方正正的造型, 那么在3D图上可能不能找到一个特定的角度观察到干涉.
  • 产品带有转动机构, 在3D图上未能发现在一个特定的角度干涉
  • 产品的部分组件不是结构工程师完全设计, 导致这部分组件在结构设计时不能完全呈现, 以至于发现不了干涉. 这其中尤其是PCB. 上面设计的LED灯/触摸弹簧/电容都可能与结构设计发生干涉.

PCB与产品结构干涉包括:

  • LED指示灯干涉. LED指示灯一般要通过结构透光出来, 结构上为了透光会做一定的设计, 如套筒等, 这要求LED的位置与结构套筒位置精确匹配, 包括焊点在内不能与LED灯产生干涉. 此时, 最好由结构设计师明确圈出LED灯的摆放位置
  • 触摸弹簧干涉. 触摸弹簧有一定的高度, 并且在结构中需要被略微压缩, 并保证压缩后不偏位, 因此触摸弹簧同样需要结构有套筒套住. 结构设计师也需要明确指出套筒摆放位置
  • 结构投影PCB干涉. 在结构工程师指出LED和触摸弹簧位置时, 可能由于结构件出模方向与PCB板不垂直, 导致结构设计师指出的LED和触摸弹簧位置是垂直投影位置而不是出模方向的投影位置, 进而导致干涉. 应设计为出模方向的投影位置.
  • 电容等有高度的器件干涉. 在PCB设计完成前, 结构工程师不知道电容的高度和布局, 导致实物干涉. 现在电容多采用贴片电容, 最高高度有10.5mm之多, 结构设计师设计时经常把PCB简化成一张薄板, 导致设计出的成品与PCB干涉. 由于PCB与结构设计同步开发, 这一步可能在开模后才能发现, 导致巨大损失. 结构工程师应为大功率器件区域预留相当高度(至少10mm空间), 并且功率越高的预留应越高空间. 提前与电子工程师沟通电容/电感/线圈等大个头器件布线位置和需要预留的高度, 在结构设计中用立方体占位.

干涉还可以在组装环节发现, 包括结构样机组装和T0开模样机的组装.

  • 结构样机组装可以发现大部分干涉问题, 但由于结构样机的不精确, PCB设计未完善, 包材未完成设计打样不能做跌落测试等问题不能发现干涉.
  • T0样机组装. 这一步应完成包材设计, 并做跌落实验. 跌落实验后检查损伤, 可以及发现强度/力度不够和干涉的问题.

强度/力度不够

产品较重或者有配重/旋转机构的时候, 需要注意:

  • 产品正常跌落和运输跌落的时候, 产品的结构能不能保护产品
  • 产品的旋转结构所用的阻尼件(转轴/螺丝/扭簧等)能不能在关节位置有效撑起产品. 不能有效撑起时需要对结构甚至外观做重大修改, 导致延期和模具损失

表面处理CMF

表面处理是在某一指定材质上, 展现指定颜色/图案/光洁度的工作. 所指定的颜色/图案/光洁度都受到材质本身和工艺的影响. 错误的设计导致指定效果完全不能达到或者成本极高, 导致产品失败.
设计师要明白, 在特定材质上能实现的颜色/图案/光洁度都是有限的, 并非什么颜色都能做, 什么图案都能印, 什么光洁度都能实现.

看到央视转发腾讯医典的文章,确实这些年都用错了. 当然也可能是医学不断有新知, 跟计算机一样,旧的知识过期很快.
参考: https://mp.weixin.qq.com/s/ynM7asQa445TbMG9vgnEIg
现在开放伤口消毒的唯一推荐就是碘伏. 伤口冲洗推荐是清水.

类型 成分 用途 禁忌
医用酒精 乙醇+水 皮肤消毒 不可用于开放性伤口消毒
碘伏 碘络合物+水 伤口消毒 碘过敏和甲亢禁用
碘酒 碘/碘化钾/乙醇 皮肤消毒 碘过敏和甲亢禁用
双氧水 过氧化氢 伤口冲洗 对组织高毒性,结痂期禁用
红霉素软膏 1%红霉素/液蜡/凡士林 治疗和预防皮肤感染 超过1周使用会耐药

另外,百多邦喷雾中主要有效成分是苯扎氯铵, 杀菌效果很好,但长期大量使用(如消毒巾中使用)会导致哮喘等过敏性疾病, 孕妇使用导致胎儿畸形 参考文档

已禁用的消毒剂:

  • 红药水: 汞溴红, 含汞, 会引起汞中毒, 并且没什么消毒作用, 不知道这玩意儿怎么用了这么多年
  • 紫药水: 甲紫/龙胆紫, 有一点点消毒作用, 可以使皮肤提前结痂, 但安全性同样有问题, 吸收后可致癌
    另外, 酒精已经是一类致癌物了, 甚至还是癌症的主要原因.

如题。
参考文献:
https://blog.csdn.net/u013014254/article/details/122045331
https://blog.csdn.net/qq_29654777/article/details/122903558

国内替代如下,以vuetify资源搜索为例:
bootcdn, 问题是不知道怎么找历史版本
字节cdn,虽然界面简陋了点但是很好用,速度快且支持历史版本
基于七牛的staticfile,搜索比较慢,也找不到历史版本
ban了以后才知道jsdelivr有GitHub加速功能。

参考: https://stackoverflow.com/questions/3378560/how-to-disable-gcc-warnings-for-a-few-lines-of-code
http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html
示例如下:

#pragma GCC diagnostic error "-Wuninitialized"
    foo(a);         /* error is given for this one */

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
    foo(b);         /* no diagnostic for this one */
#pragma GCC diagnostic pop

    foo(c);         /* error is given for this one */
#pragma GCC diagnostic pop 

    foo(d);         /* depends on command line options */

pip install pyttsx3

我在MacOSX上安装的,是python2, 有很多语音,需要找到对应的语音。

engine = pyttsx3.init()
voices = engine.getProperty('voices')
for voice in voices:
  if voice.languages == [u'zh_CN']:
    engine.setProperty('voice', voice.id)
    break

engine.say(u'The quick brown fox jumped over the lazy dog.中华人民共和
国。')
engine.say(u'我爱北京天安门,天安门上太阳升。')
engine.runAndWait()

用js的netcat库写的, 很简单, 只是记录一下收到的消息, 用了一个很不常见的socket. 开了半年多, 发现几乎每天都能收到一点攻击.如下:

windows上我用bat做编译,烧录, 复制文件等等操作. 所以好奇make和bash(Linux上更强大的bat)究竟有什么区别?
参考这篇文章, 高赞回答似乎是说make主要是能节省完全重编译的时间, 方法是通过检测编译所需要文件的更新日期, 并且只编译其中较新的文件.这在有成千上万个文件需要重新编译的时候会很节省时间.
所以大体上来说, makefile文件和bash脚本文件功能差不多, 只是makefile多了上面的能力.
当然, 据说makefile的语法非常令人讨厌,不如bash语法那么爽。

make与cmake的区别
参考这篇文字, cmake是与make配合使用的,它其实是生成makefile的工具,不止如此,还能visual studio工程或其他工程, 简单来说就是跨平台的工程文件生成工具。所以,make是编译系统(build system),而cmake是编译系统的构建器(build system generator).

ninja与make的区别
ninja是一个make的替代产品, 主要是解决make启动缓慢和功能复杂(过于强大)的问题

三十年河东三十年河西。兔国初代目追求平等社会三十年,搞钱实在不太行。次代目让有条件的兔子先搞钱,政策至今也四十多年了,基尼系数大得不行。如今大概新的三十年又要开始了,基尼这玩意儿得要降,理想是最好没有。这个怎么搞?是不是学习初代目?兔子们很平等,一样有钱也一样没钱。当然初代目手里没多少底牌,当代目手里底牌要多一些,是不是可以实现?比如按需分钱?太有钱的还不服管的兔子,是不是坚决干掉?如何让普通兔子都同样有钱?