科技爱好者周刊(第 115 期):保护你的 DNA,不要泄漏
这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly[1]),欢迎提交 issue,投稿或推荐你的项目。
周刊讨论区的帖子《谁在招人?》[2],提供大量就业信息,欢迎访问或发布工作/实习岗位。
封面图
澳门去年11月举办龙马巡游,该大型机械装置为中法团队合作打造,上身为龙,下身为马,身体各部分都能动,还能喷火。(出处:Instagram[3])
本周话题:保护你的 DNA,不要泄漏
上周,美国佛罗里达州通过了《DNA 隐私法》[4],成为美国第一个对 DNA 立法的州。它明文规定 DNA 属于个人隐私,保险公司不得获取 DNA 测试的结果。
为什么 DNA 不能让保险公司知道?
因为 DNA 包含了一个人所有的遗传信息,你有什么基因缺陷,一查 DNA 都能知道。保险公司拿到你的 DNA 以后,就能识别你可能会得哪些疾病,于是相应调整费率,或拒绝你投保人寿险和医疗险。
DNA 不仅对保险公司有用,对就业和招生也有用,可以用来找出基因上最合适的人选。所以,DNA 里面的个人信息可能不利于你,要注意保护,防止泄漏。
DNA 测序已经是一项常规技术了,普通实验室都能做,毫无难度。现在,新生儿出生前,医院都会建议孕妇做一下产前 DNA 检查,防止遗传病。2018年,湖南一个孕妇起诉华大基因公司[5],原因就是该公司的 DNA 检查一切正常,但是新生儿生出来有严重的遗传病。
如果 DNA 检查发现遗传缺陷,这个新生儿是不会生出来的。引申一下,这对成人也一样,如果你的 DNA 泄漏了,有时就直接出局了。
DNA 检测现在有多便利?电商平台搜一下“DNA 检测”、“DNA 测序”,会返回很多结果。
DNA 也很容易获得,头发、血液、唾液、身体组织都能用来检测。所以,保护 DNA 的难度其实挺大的,只能说个人要有保护意识,尽量不留下 DNA 痕迹。
讲座:算法面试的必考知识点
暑假到了,大家打算怎么利用这个假期?
如果你能静得下心,其实可以考虑好好学一下算法。以后进入公司,开发任务一重,就很难有时间和心思,再来学这些基础的东西。
这里介绍一门极客大学推出的讲座 《算法面试必考知识点》,可以帮助你学好算法。因为算法内容实在太多,所以这个讲座一共安排了7天。
讲座的主要内容是针对 LeetCode 的海量题库,精选 30 道 BAT 大厂面试高频特色算法题,重点讲解面试的必考知识点,教学风格通俗易懂,零基础的同学也可以听。录播、直播、线上答疑相结合,配合小测试和课后作业,保证教学效果。
主讲老师是覃超,他曾担任 Facebook 多年面试官,作为 Facebook Messenger Tech Lead,主导和参与了 Facebook App、Facebook Messenger、Facebook Phone 等产品的研发工作。离开Facebook以后,他与极客大学合作,亲自授课,传授大厂面试经验。通过覃超老师指导的学员,很多都拿到了硅谷公司以及国内顶级互联网公司 Offer。
除了视频讲座,每天还会有来自一线互联网企业的助教老师在群内答疑,并配备专属班主任全程带班,召开班会,帮助大家结成学习伙伴,互相监督鼓励。课程结束后,还有学习资料可以领取。
这样规格的7天讲座,仅象征性收费 9.9元。微信扫描下方二维码,即可报名,只有 100 个名额哦。
资讯
1、平流层飞船[6]
美国一家私人公司提出了“平流层飞船”计划,让游客乘坐飞船上升到平流层(距离地面30公里),体验一下太空的感觉,票价预计为每人12.5万美元。飞船可以乘坐八名乘客和一名飞行员,先进行长达两个小时的上升,然后在空中停留两个小时,最后再花两个小时下降。
飞船的上升动力,主要来自一个巨大的充满氢气的气球。飞船内部有酒吧,还有一个“拥有世界上最佳视野”的厕所,甚至有 Wifi。该公司计划飞船在2024年完工,目前已经在官网[7]接受预订。
2、AI 海滩救生系统[8]
夏季的海滩有很多人,如果发生溺水,不容易发现。为了帮助救生员尽快发现溺水者,以色列创业公司 Sightbit 开发了一套 AI 溺水救生系统,使用摄像头自动侦测溺水者,还能发现无人看管的孩子和异常的水流。
该系统接受了“成千上万张照片”的训练,只要三个摄像头,就能监控300米的海岸线。它会自动识别游泳者,一旦发现危险,就会出现闪烁框,救生员可以单击警报,放大查看。
3、加州大学旧金山分校支付赎金[9]
6月1日,加州大学旧金山分校(UCSF)的电脑中毒,出现了上图的对话框,要求支付赎金,才能继续使用电脑。
旧金山分校立刻根据留下的 Email 地址,与黑客取得联系。黑客要求支付赎金300万美元,旧金山分校说新冠病毒使得学校财务很困难,希望只支付78万美元。最后,双方讨价还价,黑客同意了114万美元的赎金。第二天,旧金山大学就将116.4个比特币转移到了对方的电子钱包,然后就得到了解密软件。
4、自动结算的购物车[10]
合肥某超市出现了带有自助结算装置的购物车。消费者从货架取完商品后,使用该装置扫描二维码,然后手机付款,就完成了整个自助结算的过程。
这个装置可能不容易推广。它最大的问题是,购物车需要经常充电,而且容易遭到破坏或偷窃,一旦被人拿走,超市会有较大的损失。
5、宝马汽车的付费加热座椅[11]
德国宝马汽车公司最近发布了新的汽车操作系统,最引人注目的是将许多汽车功能做进了系统,让它们都变成了软件服务,像自动导航、自动远光灯、甚至加热座椅都变成了软件控制。
新的系统还带有收费设置,这意味着,这些服务都可以改成按小时收费,付款后才能开启。以后,你可能需要按月购买服务包(service pack),才能使用汽车的某些功能,比如冬季购买加热座椅服务,夜里购买自动远光灯服务。
6、一句话消息
•科学家[12]在海拔6700米的安第斯山脉的山顶,发现了老鼠。这是已知生活区域最高的哺乳动物。这些老鼠吃什么,目前还是一个迷,那个高度没有植物,氧气只有海平面的一半。
•小米[13]申请了滑动相机专利,手机背面设置一个滑动条,上面装了三个摄像头。要用前置摄像头时,滑动条会自动滑出,这样手机正面就可以实现全面屏。
•英国科学家[14]发表研究成果,每天盯着红光看几分钟,有助于防止老年人视力下降。
•推特工程部门[15]宣布,开始替换带有歧视性的软件术语,比如“黑名单”(blacklist)改为“拒绝名单”(denylist),“白名单”改为“允许名单”(allowlist)。
•中国电子书厂商 Onyx[16] 拒绝发布设备源码,那是根据 Linux 内核改的,明显违反了 GPL 许可证。Reddit 社区正在讨论,开源软件有没有办法在中国维权。
文章
1、Vim 的由来[17](英文)
Vim 有30多年历史,目前依然是最流行的编辑器之一。本文简要地回顾了历史,它的一些主要的设计决定,到底是怎么来的。
2、史上最难的定位挑战[18](英文)
一个推特用户发了一张照片,空荡荡的蓝天上有一架飞机。他给出了三个已知条件,本文分析如何根据下面三个条件,定位他在哪里拍这张照片。
•天空中的飞机是从伦敦飞往香港的波音747。•该照片拍摄于2019年10月30日。•拍摄者在旅馆里。
3、Makefile 的静态网站实现[19](英文)
现在有各种各样的静态网站工具,比如 Jekyll 和 Hugo 等。作者提出,Makefile 也可以用来实现静态网站,这样就不需要任何外部工具了,只维护一个 Makefile 配置文件即可。
4、哈希算法的种类[20](英文)
这篇文章用相对通俗的语言,介绍了目前常用的几种哈希算法,以及它们各自适用的场景。
5、React Hooks 的常见的错误写法[21](英文)
Hooks 是前端框架 React 现在主推的写法,它很灵活,但也很容易误用。本文作者总结了四个错误写法,虽然能够运行,但是不应该这样写。
6、字体反爬的攻与防[22](中文)
作者因为业务原因需要爬取一批斗鱼主播的相关数据,结果发现斗鱼使用了一种很有意思的反爬技术:字体反爬。
7、分页查询不要使用 OFFSET 和 LIMIT 语法[23](英文)
数据查询时,如果数据多,就需要分页,一般使用 OFFSET 和 LIMIT 语法。这篇文章提出,这样做不好,耗费资源,有性能问题。
8、写给 JavaScript 程序员的 Rust 教程[24](英文)
一组系列文章,使用 JavaScript 作为例子,介绍 Rust 语言。
9、Git 多行提交信息的简单方法[25](英文)
git commit
命令的-m
参数用来指定提交信息,但是这样提交的信息只有一行。本文介绍实现多行信息的简单方法。工具
1、ward[26]
一个简单的服务器监控的仪表盘,基于 Java。
2、httpsproxy2http[27]
一个开源的反向代理服务器,以 Docker 镜像形式发布,提供 HTTP 到 HTTPS 的反向代理服务,可以把不加密的 HTTP 网站代理成加密的 HTTPS 网站。
3、jsonbase[28]
一个 JavaScript 数据库,后端数据都存成 JSON 格式文件,可以用来学习怎么自己实现关系型数据库。
4、guietta[29]
一个 Python 工具,用来生成简单的图形界面。
5、UIkit[30]
一个前端 Web 组件库,不依赖任何框架,组件类型多、功能强。
6、Zettlr[31]
一个桌面 Markdown 编辑器,界面美观。
7、Reabble[32]
Kindle 等电子书阅读器的 RSS 推送服务,绑定 Inoreader 帐号。(@weijarz[33] 投稿)
8、Midway Serverless[34]
阿里发布的 Node.js 的 Serverless 框架,帮助 Node.js 开发人员迁移到云端 Serverless 平台。(@czy88840616[35] 投稿)
9、gitqlite[36]
使用 SQL 语法查询 Git 仓库的工具,比如
SELECT * FROM commits
。10、honkit[37]
GitBook 官方不再维护开源版本后,其他人分叉继续开发的版本。
资源
1、微软学习 TV[38]
微软官方的学习视频中心,有各种教程。
2、aww rated[39]
这是一个Netflix 评价网站,通过抓取 IMDb、metacritic、烂番茄、豆瓣等评分网站的数据,列出 Netflix 各种节目的评分。
3、Go 语言编程[40]
英文的免费电子书,DigitalOcean 发布的。
4、Just JavaScript 课程[41]
著名程序员 Dan Abramov 正在撰写的 JavaScript 教程,他还没有写完。只要在上面网址报名,每写好一部分就会通过邮件发给你。(@hacker0limbo[42] 投稿)
5、webRTC 执行流程演示[43]
这个网页演示和讲解,如何在无后端的情况下,通过 webRTC 建立双方的实时视频通话。(@nashaofu[44] 投稿)
6、Raft 共识的动画讲解[45]
通过一步步的动画,讲解 Raft 协议如何保证分布式集群的一致性,以及选举 leader 的过程。(@wzxJayce[46] 投稿)
图片
1、盲文的由来[47]
1786年,法国人 Valentin Haüy 发明了第一本凸起字母书,盲人和弱视的人通过触摸读书。
1831年,美国人塞缪尔·豪(Samuel Howe)的美国人受到浮雕字母的启发,发明了一种新的字体,更容易触摸识别,称为波士顿字型。
1932年,六个点的布莱叶盲文,成为国际标准,取代了具体的字母。
2、漫长的雨[48]
《漫长的雨》(The long rain,中译全文[49])是美国科幻小说作家雷·布拉德伯里(Ray Bradbury)1950年发表的一篇短篇小说。
它讲述四个宇航员因为火箭失事,来到一个不停下雨的星球。这个星球永远在下瓢泼大雨,过去10年一秒都没有停过。宇航员冒着雨水,在丛林里面穿行,拼命寻找前人修建的“阳光穹顶”,那里是一个大屋顶,有温暖的人造阳光,以及充足的食物和休息的场所。
小说的开头是这样的:
"大雨,永远的雨,升腾着汗水和蒸汽的雨。这是密集的瓢泼大雨,像鞭子一样打在眼睛上,飞溅到脚踝上。它是一场淹没其他所有雨水的雨,让人遗忘所有关于雨水的记忆。”
文摘
1、克拉马托尔核事故[50]
1989年,乌克兰克拉马托尔市 Hvardiytsiv Kantemyrivtsiv 大街7号公寓大楼的居民,向有关部门要求,立即检查该栋大楼是否存在核辐射。1980年到1989年,该楼前后有4人死于白血病。
检查发现,该楼的核辐射极高。最后确认,在85号和52号房间之间的那堵墙壁里面,有一个具有高度放射性的铯-137胶囊。
9年前,这个胶囊在一个采石场丢失,始终没有找到。现在人们知道了,这个丢失的胶囊混在石料里面,做成了混凝土,砌进了这堵墙。
九年的时间里面,两个家庭就在这堵墙旁边生活,其中有一个家庭的孩子的床就放在放射源旁边。事后统计,一共有17个人受到了严重的核辐射。
最终,这堵墙被拆除,铯胶囊由核研究所取出,并进行处置。
2、Linus 不再编程了[51]
2020年5月,Linux 基金会一年一度的峰会上,Linux 创始人莱纳斯·托瓦尔兹(Linus Torvalds)与 VMware 公司副总裁兼首席开源官 Dirk Hohndel 进行了对话。
Dirk Hohndel 问 Linus,现在的工作流程是怎样的。
Linus 说,我现在整天就是读 Email,写 Email,再也不编程了。
我现在写的大部分代码,都是在 Email 里面。某人给我发来一个补丁,或者一个 Pull Request,或者跟我讨论,我就写一段伪代码,不编译也不测试,发给对方看,然后在邮件里加上一句“我觉得应该这么写”。
我现在就干这些事,我不再是程序员了。
我每天读的 Email,要比写的多得多。因为我的工作说到底,就是拒绝其他人的代码。总是需要有一个人来拒绝其他人,其他开发者知道代码写得不好,会被我拒绝,就会更小心。为了能够有说服力地拒绝他人,我不得不知道事情的前因后果,否则我就不称职了。所以基本上,我的所有时间都用来读其他人的 Email,必须知道他们在干嘛……这工作很有意思,但是你不得不把大部分时间用来读 Email。
对于开发者,我希望大家不仅只是写出好的代码,还必须很善于解释自己的代码。代码的提交信息,对我来说,几乎跟代码本身一样重要。有时,代码的意图非常明显,不需要解释,但是这种情况极其少。我对开发者的一个希望就是,能够更好地解释他们的代码是干嘛的,为什么需要变更以前的代码。这样的话,我管理起来就比较容易,如果你能够解释清楚,我就能信任这些代码。
开源软件的一大部分其实是交流,而交流包括提交信息,也包括来来回回的 Email。告诉别人你想做什么,为什么原来的代码你觉得要改,真的是非常重要的一件事。
言论
1、
看到抽象的东西,应该尽量使它变得具体;看到具体的东西,应该尽量使它变得抽象。
-- 李敖
2、
创业公司不要专注于创造产品,而要专注于解决问题。
-- 《创业公司要创造客户不期望的产品》[52]
3、
创新型的创业公司,一开始的目标用户应该是对新产品最有兴趣的那2%的人群,并设法与剩下的那 98%的人建立一座桥梁,把那些人推向未来。
-- 《创业公司要创造客户不期望的产品》[53]
4、
NPM 现在有130万个软件包,绝大部分都不是长期维护的。即使你找到一个长期维护的软件包,它可能会有10层或更多的依赖,涉及其他数百个包,你根本不可能每一个都去验证。
-- 《NPM 生态系统令人担忧》[54]
5、
自从第一款游戏机问世,此后的每一款游戏机都出现了盗版。但是,这种情况已经结束了,Xbox One 和 PS4 已经上市了将近6年,没有任何黑客能够破解它们实现盗版游戏。这是游戏机历史上第一次持续了如此长的时间,没有出现破解和盗版。
-- Hacker News 读者[55]
回顾
2019年的本周(第 64 期):新人如何进入互联网行业?
2018年的本周(第 12 期):政府无法保障养老,必须靠自己
References
[1]
ruanyf/weekly:
https://github.com/ruanyf/weekly[2]
《谁在招人?》:
https://github.com/ruanyf/weekly/issues/1315[3]
Instagram:
https://www.instagram.com/p/CCDW-Z1l5BF/[4]
《DNA 隐私法》:
https://www.washingtonexaminer.com/politics/florida-becomes-first-state-to-enact-dna-privacy-law-blocking-insurers-from-genetic-data[5]
起诉华大基因公司:
https://www.huxiu.com/article/252310.html[6]
平流层飞船:
https://www.geekwire.com/2020/space-perspective-reboots-vision-flying-passengers-stratosphere-balloon/[7]
官网:
https://thespaceperspective.com/fly/[8]
AI 海滩救生系统:
https://venturebeat.com/2020/06/26/sightbit-deploys-ai-on-beaches-to-help-lifeguards-spot-distressed-swimmers/[9]
加州大学旧金山分校支付赎金:
https://gravitational.com/blog/how-to-ssh-properly/[10]
自动结算的购物车:
https://www.instagram.com/p/CB-EdKKnWs8/?igshid=i4pqo65w8voq[11]
宝马汽车的付费加热座椅:
https://www.cnet.com/roadshow/news/bmw-vehicle-as-a-platform/[12]
科学家:
https://www.nationalgeographic.com/animals/2020/03/mouse-found-atop-volcano-highest-altitude-mammal/[13]
小米:
https://www.researchsnipers.com/xiaomi-registers-new-sliding-camera-patent-to-increase-screen-to-body-ratio/[14]
英国科学家:
https://www.cnn.com/2020/06/30/health/declining-eyesight-red-light-scn-wellness/index.html[15]
推特工程部门:
https://twitter.com/TwitterEng/status/1278733305190342656[16]
中国电子书厂商 Onyx:
https://old.reddit.com/r/Onyx_Boox/comments/hk7d5v/onyx_is_violating_the_linux_kernels_license/[17]
Vim 的由来:
https://pragmaticpineapple.com/how-did-vim-become-so-popular/[18]
史上最难的定位挑战:
https://nixintel.info/osint/using-flight-tracking-for-geolocation-quiztime-30th-october-2019/[19]
Makefile 的静态网站实现:
https://metin.nextc.org/posts/The_Idea_Of_Makefile_Blog.html[20]
哈希算法的种类:
https://pradeeploganathan.com/blockchain/hashing/[21]
React Hooks 的常见的错误写法:
https://www.lorenzweiss.de/common_mistakes_react_hooks/[22]
字体反爬的攻与防:
https://cjting.me/2020/07/01/douyu-crawler-and-font-anti-crawling/[23]
分页查询不要使用 OFFSET 和 LIMIT 语法:
https://hackernoon.com/please-dont-use-offset-and-limit-for-your-pagination-8ux3u4y[24]
写给 JavaScript 程序员的 Rust 教程:
http://www.sheshbabu.com/posts/rust-for-javascript-developers-functions-and-control-flow/[25]
Git 多行提交信息的简单方法:
https://www.stefanjudis.com/today-i-learned/git-commit-accepts-several-message-flags-m-to-allow-multiline-commits/[26]
ward:
https://github.com/B-Software/Ward[27]
httpsproxy2http:
https://github.com/novalagung/httpsproxy2http[28]
jsonbase:
https://github.com/Devs-Garden/jsonbase[29]
guietta:
https://github.com/alfiopuglisi/guietta[30]
UIkit:
https://getuikit.com/[31]
Zettlr:
https://www.zettlr.com/[32]
Reabble:
https://reabble.cn/[33]
@weijarz:
https://github.com/ruanyf/weekly/issues/1327[34]
Midway Serverless:
https://github.com/midwayjs/midway[35]
@czy88840616:
https://github.com/ruanyf/weekly/issues/1328[36]
gitqlite:
https://github.com/augmentable-dev/gitqlite[37]
honkit:
https://github.com/honkit/honkit[38]
微软学习 TV:
https://docs.microsoft.com/en-us/learn/tv/[39]
aww rated:
https://awwrated.com/en/netflix[40]
Go 语言编程:
https://www.digitalocean.com/community/books/how-to-code-in-go-ebook[41]
Just JavaScript 课程:
https://justjavascript.com/[42]
@hacker0limbo:
https://github.com/ruanyf/weekly/issues/1326[43]
webRTC 执行流程演示:
https://nashaofu.github.io/webrtc-demo/[44]
@nashaofu:
https://github.com/ruanyf/weekly/issues/1332[45]
Raft 共识的动画讲解:
http://thesecretlivesofdata.com/raft/[46]
@wzxJayce:
https://github.com/ruanyf/weekly/issues/1331[47]
盲文的由来:
https://stitcher.io/blog/braille-and-the-history-of-software[48]
漫长的雨:
http://www.samweller.net/bradbury-1/2018/11/29/the-essential-bradbury[49]
中译全文:
https://www.sohu.com/a/337866552_771944[50]
克拉马托尔核事故:
https://en.wikipedia.org/wiki/Kramatorsk_radiological_accident[51]
Linus 不再编程了:
https://linux.slashdot.org/story/20/07/03/2133201/linus-torvalds-i-do-no-coding-any-more[52]
《创业公司要创造客户不期望的产品》:
https://medium.com/@jproco/why-your-startup-needs-to-build-the-product-your-customers-arent-expecting-8d769054db53[53]
《创业公司要创造客户不期望的产品》:
https://medium.com/@jproco/why-your-startup-needs-to-build-the-product-your-customers-arent-expecting-8d769054db53[54]
《NPM 生态系统令人担忧》:
https://sambleckley.com/writing/npm.html[55]
Hacker News 读者:
https://news.ycombinator.com/item?id=23657458最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。