简单粗暴的“黑科技”

近期很火的一篇网文,名为《Apple有哪些黑科技》,其中的一篇看后挺有感触,摘抄下来:


某款产品的主板非常迷你,上面的元器件密度很高,因此用于主板测试的接口只有绿豆大小。proto期间需要设计一款测试软线(FPC)接到这个接口上测试板子状况,这是技术背景。

因为接口太小了,软线上的pin脚密密麻麻,设计公差只有+/-0.01毫米,也就是说尺寸大一点、小一点或者位置偏了0.01毫米,这根线就没法用,甚至会把板子直接短路烧掉。测试线一般都是由代工厂自己准备的。代工厂找了好多家FPC厂商来做这根测试线,每个厂家都反馈说做不了,精度没法控制这么高。

代工厂没办法,找Apple汇报这个情况,问能不能把测试端口做大一点,Apple说你别管了,这根线我们自己做吧。十多天后,两根合格的测试线送到了代工厂,在场的电子工程师们由衷赞叹苹果的黑科技。

至于是怎么做出来的,这事我清楚:苹果找了一家FPC厂商,一口气生产了2000根线,然后挨个在板子上试,最后挑出来好用的一共就这两根。当时的计划是如果挑不出,就再做2000根。

所谓真正的高科技都来自于简单粗暴。

有人会觉得这算哪门子的高科技啊,Apple也只会简单粗暴啊,但是我却看到了Apple解决问题的广阔思路。技术人员经常会陷入技术的死胡同,技术问题非要用技术去解决,往往撞得头破血流,或者花了太大的代价,是得不偿失的。俗话说黑猫白猫,抓住耗子就是好猫,同样的,管它黑科技还是简单粗暴,用最小代价解决问题就是好方法。很多厂商都说做不了的线,Apple十多天就给出了合格的样品,就算简单粗暴,电子工程师们也要由衷赞叹。

前一阵子遇到一个不同语言utf8编解码差异的问题,也是用了简单粗暴的方法解决的。简单描述一下就是移植一个算法,涉及一段随机的byte[]转为utf8 String再转回byte[],C#和Java的处理结果在某些情况下并不一致,要找出这个转换规律。一开始尝试向底层追核心代码,看看分别是如何实现的,但稍微深入一点就发现困难重重。后来直接穷举,把所有可能的值在两种语言里比对一遍,把差异找出来,再总结规律。其实也不算太多,几亿次比对而已,最终产生的规则只有21条,顺利解决了问题。

时间: 2024-12-15 06:49:18

简单粗暴的“黑科技”的相关文章

非常简单的js双向数据绑定框架(三):js model黑科技

初衷 之前我们要在js域更新model,需要这样: model.set('name', 'sub'); 这实在太土了... 我们希望像angularjs一样,直接: $scope.name = 'sub'; 然后bong, 视图就会更新!这样的黑科技必定是极好的. 目标 完成model更新黑科技 200行以内完成 实现 今次主要借鉴avalon"劫持"setter,getter的方法,链接:avalon简化版解读 虽说是简化过的avalon,还是挺难读的. 整理下思路,主要两大点: 1

2017黑科技趋势最具看点的十大新品

腾讯数码讯(Human)作为一年一度的全球消费电子市场风向标,今年同样在拉斯维加斯举办的CES 2017消费电子展,依然吸引了一大批全球各个领域的厂商参展,从科技巨头到初创小团队.从传统汽车厂商再到家电企业,似乎所有能与科技沾边的公司都希望能在CES 2017上好好展示一次自己的风采. 其实每年的CES都有一些明星产品给我们留下深刻的印象,今年的也不例外.而这些明星产品不仅仅只是单单一款产品,更是代表了各自行业在进入到2017年之后的一个发展趋势和方向.而就将这样的变化能否成为未来的主流.或只是

今年黑科技趋势最具的五个看点

CES 2017年人工智能引爆全球最火黑科技盛会 CES 2017 1月5日-8日在美国拉斯维加斯举行,数千家企业.几十万人将参与到这次科技的狂欢秀中.本文为埃森哲技术总监带来的关于本年度CES 的5大看点.他认为:人工智能将统治本年度的CES,变得无处不在.另外,他还分析了智能助理.物联网安全.虚拟现实等多个领域在本届大会上的表现. 2017 年国际消费电子展(CES 2017)将于1月5号拉开帷幕,在这个荒漠之城举办为期5天的展会,保守估计会吸引超过177000名参会者. 这也是一年之中唯一

【转】这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已

[转]这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已 Javascript是一门很吊的语言,我可能学了假的JavaScript,哈哈,大家还有什么推荐的 本文秉承着:你看不懂是你SB,我写的代码就要牛逼. 1.单行写一个评级组件 "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值,然后执行上面代码,看图 才发现插件什么的都弱爆了 2.如何装逼用代码骂别人SB (!(~+[])+{})[--[~+&qu

[黑科技]常数优化的一些技巧

感谢wys和小火车普及这些技巧qwq 这篇文章大概没什么营养 我们来看一道十分简单的题目: 设n=131072,输入两个长度为n的数列和,要求输出一个长度为n的数列. 其中,. 首先我们来讲讲这题怎么做. 如果数据是随机的,那么有一种神奇的做法:在a和b中分别挑出最大的p个元素,对于每个i暴力枚举每个p进行更新,这样的复杂度是O(np)的,正确性我不会分析= = 那么数据不是随机的...那么估计没有什么快速的算法,不如暴力! 以下的运行时间均为在我的渣渣笔记本中测试得到,仅供参考.测试环境Ubu

黑科技玩出跨界营销新姿势,泡单词携手百果园深化品牌影响力

1月10日起,广州.佛山.珠海三地的百果园门店,被家长群体给包了场.原因只是其和泡单词联手推出特惠活动,买水果就送科技感十足的AR互动绘本. 一个黑科技就能搅动无数家长的心?没这么简单. 又一次跨界营销?关键在于实现场景及流量互通 据悉,百果园和泡单词都是第一次尝试跨界营销. 一个生鲜.一个教育,从线下到线上,这样的一次活动完全是一场标准的互联网+状态下的跨界营销,亦是近期营销领域从饥饿营销.参与感营销等老套路中跳脱出来,形成的主流营销模式. 就在此前的2016年圣诞节,一嗨租车就和NBA进行过

ACM: FZU 2105 Digits Count - 位运算的线段树【黑科技福利】

FZU 2105  Digits Count Time Limit:10000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Practice Description Given N integers A={A[0],A[1],...,A[N-1]}. Here we have some operations: Operation 1: AND opn L R Here opn, L and R are integer

Android黑科技,读取用户短信+修改系统短信数据库

安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证码,一些app马上就能自动获取并填上验证码,省去我们手动填写验证码.原理就是通过Android的ContentProvider组件间接访问系统的短信数据库,获取所有短信内容.下面来演示一下. 布局很简单,如下: 代码如下: public class MainActivity extends Acti

二叉树的非递归遍历,还有一点黑科技

二叉树的前中后序遍历,可以用递归秒解,看起来不值一提.但如果不允许采用递归,要怎么实现呢? 还是先来看看递归算法的实现吧: def visit( root): if root is not null: #1 visit(root.left) #2 visit(root.right) #3 上面展示的代码中有三个位置(#1,#2,#3)可以用来插入访问当前节点的代码,分别对应了前中后三种遍历.这三种不同的设定,实际上表达的是访问节点的不同时机. 我们可以用进栈和出栈来模拟这些递归的过程,在跟#1,