跟随,学习,进步

每周分享第 57 期

2019-05-24 03:39:17 阮一峰

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:陆家嘴,上海,2018) 前些日子,一个运营的女同学问我:"为什么程序员喜欢分享?" 我说,整个程序员社区都是这样啊,把自己知道的东西告诉别人,也从别人那里学习新知识。她回答,我就不喜欢分享,我的运营计划一说出去,所有人都知道了,好不容易想出来的东西,马上就被别人拷贝了,我什么好处也拿不到。别的运营也是这样,都不愿意分享自己的成果。 我想了想,发现真的是这样:除了程序员以外,好像没有别的行业,流行分享自己的知识。相反的,这个世界上大部分行业,强调的都是保密,千万不能让别人知道我的独家信息和知识。 由此看来,程序员世界的开源和分享,其实是例外。正常情况下,这些东西都应该是标价出售的,花了钱才能拿到手。 经济学有一个假定,每个人都是自私的,追求自己的利益最大化,从而才能让这个世界变得有效率。那么,当我们鼓励开源和分享的时候,可不可以说我们正在做一件反人性的事情呢? React 免费视频课程 本期周刊很高兴得到了开课吧的支持。他们是国内领先的互联网从业者职业成长平台,为互联网人提供职业成长服务。 React 是目前全世界最流行的前端框架,国内大型互联网公司,几乎全部在使用它。想要进入这些公司,从事前端开发,React 几乎是绕不过去的技术。同时,React 本身是对很多底层技术的抽象。深入理解 React,有助于吃透前端开发,提升个人竞争力。 开课吧结合国内 React 的应用现状,针对初学者的学习痛点,推出了系列教学视频 《React 基础+实战CNode》 ,得到了很多学员的肯定和好评。 这套视频的第一部分,带大家快速掌握 React 的基础,学习各种底层库和组件库,搭建一个 React 项目《QQ 好友列表》。第二部分是实战训练,具体内容请看下图。 第三部分《React 16 虚拟 DOM 原理剖析》,紧跟最新版本的底层改动,讲解了 setState 异步队列、虚拟 DOM 的 Diff 算法、Fiber 架构、React Hooks 等难点内容,并教你如何构建自己的虚拟 DOM 库。 微信扫描下面的二维码,就可以领取视频。由于教学助理精力有限,限额500名。 新闻 1、宇宙射线观测站 4月26日,中国的第一个高海拔宇宙射线观测站,正式在四川稻城启动,当地的海拔是4400米。宇宙射线是来自外太空的高能粒子,携带着宇宙起源、天体演化、太阳活动及地球空间环境等重要科学信息,被称为传递宇宙大事件的"信使"。 自从1912年被发现,宇宙射线的来源至今仍然是一个谜。这个观测站的启用,有助于回答宇宙射线来自哪里,它们又是如何被加速到千倍于人类现有加速器之高的能量,这些一直是困扰科学家的问题。 2、白鲸武器 一个挪威渔民最近出海时,发现一条小白鲸主动游到船边。这条白鲸身上还有绑带,上面写着俄文,意思是"圣彼得堡的设备"。 渔民说,这头鲸鱼的行为非常奇怪,会主动寻找船只,并试图拉动船的两侧的绳索。考虑到它可以携带相机和武器,专家怀疑这是附近摩尔曼斯克的俄罗斯海军专门训练的白鲸。上个世纪80年代,苏联曾经训练海豚发现鱼雷,海豚视野敏锐,有良好的记忆力,使它们成为有效的水下探测武器工具。一份2017年的报告显示,俄罗斯海军重新开始训练用于军事目的的白鲸、海豹和宽吻海豚。 3、Red Hat 的新 Logo Red Hat 公司发布了新 logo(上图),变得更简洁和更具有可识别性,从一个戴着红色帽子的男人(下图),变成一顶红帽子。 Red Hat 这个名字来自创始人之一 Marc Ewing,他总是戴着红色曲棍球帽。每当他的同学们在卡内基梅隆大学的计算机实验室需要帮助时,他们就会说"寻找红帽子的那个人。"Red Hat 公司希望,每当人们发现自己需要帮助时,就会去找他们。 4、停车场办公 创业者往往想要使用共享的办公空间,但是大城市的办公空间很贵。旧金山的一个创业者灵机一动,注册了 WePark 公司。他在旧金山的热门区域,选择若干个停车位,付出一整天的停车费,然后摆上桌椅,按小时卖给创业者。创业者就在停车位办公。 WePark 的优势在于价格,每小时收费 2.25美元。相比之下,WeWork 的办公空间,每天收费50美元加上每月会员费。 5、菠菜叶生成的血管 人工心脏的一大问题,就是无法生成心脏肌肉上面的毛细血管,3D 打印可以生成人体组织,但是毛细血管不行。科学家提出了一种新的设想,菠菜叶子或许可以达到这个目的。 菠菜叶子去除叶肉以后,留下层层的叶脉,可以作为支架,将人体细胞培植在上面。然后,通过叶脉为细胞提供水和养分,促使其生长。长成以后,再取出菠菜叶,就会留下血管框架。上图左侧为去除叶肉的菠菜叶,右侧为红色染料处理过的菠菜叶。 6、大麦哲伦星云的照片 一群法国的天文爱好者使用4,000张图片,拼接成一张大麦哲伦星云的照片。这些照片是2017年7月至2019年2月期间,使用位于智利天文台的160毫米折射望远镜拍摄的。 大麦哲伦星云距离地球大约16万光年,是最靠近银河系的星系之一,大约包含了200亿颗恒星,也是裸眼能看见的最遥远天体之一。北半球大多数区域看不到它,只有南半球才能看到。 7、Minecraft 的 AR 玩法 Minecraft 发布了 AR (增强现实)新玩法,允许在现实世界叠加像素艺术。你只要掏出手机,对准街景,就可以在上面叠加一个 Minecraft 层。其他玩家在同一个地点,就可以看到这个层,与你互动。 由于这是微软的产品,应该会引进国内,看看会不会造成像《口袋妖怪》那样的抓宝风潮。 8、一句话新闻 美国2019年销售的汽车82%带有触摸屏,五年前这一比例为53%。这意味着,大部分汽车带有一个计算机操作系统。特斯拉的系统有86%的满意度,评价最高,其次是宝马80%。 微软将 Linux 内核放进了 Windows 10,这是 Linux 第一次成为 Windows 的一部分。 日本计划将手机号码升级到14位,取代现在的11位号码。原因是 5G 通信普及以后,将有大量号码用于"机器对机器"的通信(比如 5G 电视),11号号码不够用了。 美国国防部高级研究局正式宣布,与六所大学合作,研发下一代脑机接口,直接用神经活动控制计算机。 文章 1、电路图符号解释(英文) 本文介绍基本的电路图符号的含义。 2、一张纸对折12次)(英文) 长久以来,人们一直认为,一张纸最多对折7次。2002年,加利福尼亚州的17岁中学生 Britney Crystal Gallivan(1985年出生)成功演示了,将一张1200米长的卫生纸对折12次。她还给出了一个计算公式(上图),根据纸张的厚度和想要对折的次数,算出所需的纸张的最小长度。 3、Caddy 服务器如何过滤网络请求(英文) Caddy 是一种非常好用的 Web 服务器,作者演示如何根据 HTTP 请求携带的 Cookie 信息,返回不同的 CSS 样式表。 4、一种新的网络钓鱼方法(英文) 安卓系统的 Chrome 浏览器,用户向下滚动网页的时候,会自动隐藏地址栏。有人就利用这个特点,伪造了一个地址栏(上图的 hsbc 的地址栏就是伪造的),用来网络钓鱼。 5、虚拟内存探究(中文) 这组系列文章通过实验的方式,介绍虚拟内存的相关概念和实现,这里是中文翻译,还可以参考英语原版。(@NeoTse 投稿) 6、x86-64 汇编语言入门教程(英文) 本文通过运行一个最简单的 hello world 实例,介绍汇编语言的基本概念。 7、使用 Wasabi 和 restic 备份服务器(英文) 本文介绍如何写一个简单的脚本,将服务器数据备份到 Wasabi。 8、如何从零开始制作一块智能手表(英文) 本文含有大量图片,作者从零开始制作一块手表,表盘是3D打印的,电路是自己设计的,电池和充电器都是自己装配的。 9、二进制文件的编译过程(英文) 源码编译成为可运行的二进制文件,有好几个步骤,本文用一个最简单的例子,详细解释编译器的每一步都在干什么。 10、美国政府的高技术管制名单(英文) 2018年底,美国联邦政府发布了一份高技术出口管制名单,列出了14个大项、40多个小项的管制行业。凡是属于这些行业,原则上都不能出口,必须得到政府批准。这份名单可以当作参考,目前哪些行业属于真正的高科技行业。 软件 1、water.css 一个极小化的 CSS 框架,用来快速为网页加上简单样式,特别是不必使用任何 class。 2、ElGrapho 一个基于 WebGL 的浏览器数据可视化库,主要用于性能要求特别高的可视化图形。 3、googler 命令行搜索谷歌的工具。另外,还有一个 DuckDuckGo 的命令行客户端 ddgr。 4、Convert images to LaTeX 数学公式的截图 OCR 转为 LaTex 代码的桌面软件。(@chenylvia 投稿) 5、ScreenDump 一个在线截屏工具。用户只要输入网址,就会显示各种设备的网页截屏,相当方便。 6、I love IMG 该网站提供各种在线的图像编辑工具,比如图像缩放、压缩、裁剪、水印等。(@ifrontend-xyz 投稿) 7、mpvue 基于 Vue.js 的小程序开发框架,美团点评出品。这里有一篇教程,以及用它开发的 Unsplash 小程序。(@iyuyoung 投稿) 8、Motrix 一款桌面端下载工具,支持下载 HTTP、FTP、BT、磁力链、百度网盘等资源。(@ifrontend-xyz 投稿) 9、js-cloudimage-360-view 一个可以360度旋转观看图片的 JS 库,用于在网页上展示商品。 10、re-editor 一个基于 Slate 的开箱即用的 React 富文本编辑器,可以定制化。(@wowlusitong 投稿) 11、Pyodide 一个在浏览器运行的完整的 Python 解释器,可以执行 Python 脚本。 12、Microsoft Edge MacOS 预览版 Microsoft 公司的 Edge 浏览器发布第一个 MacOS 的版本。(@sedgwickz 投稿) 资源 1、国家地理频道纪录片:宇宙时空之旅 美国国家地理频道拍摄的13集科学纪录片,从理论物理学的角度,探讨宇宙的奥秘。中英文字幕,网易公开课提供全片。(@qinhanlei 投稿) 2、wamp 一个收集 WebAssembly 软件包的网站,相当于 WebAssembly 模块的 NPM。它还提供一个命令行工具,可以在命令行运行这些软件包。 3、数据库基础 免费的英文电子书,介绍数据库涉及的基本的数学知识。 4、MuseNet 人工智能公司 OpenAI 开发的自动作曲系统,可以指定你想听的音乐家(比如肖邦、莫扎特),然后该系统就会使用10种乐器生成一段4分钟的音乐。现在,OpenAI 每天在网上直播音乐会,旋律都是人工智能生成的。 5、数据科学的原理与技巧 加州大学伯克利分校的本科生入门教材,全英文,介绍数据科学原理,内容较简单,需要统计学和 Python 基础。 6、RemixIcon 一套免费高质量的开源图标库,目前有1500多枚图标,提供矢量图和字体图标文件,可用于商业用途。(@xiaochunjimmy 投稿) 文摘 1、为什么我们的工作时间越来越长? 中国社科院曾经发布过一个报告,说2017年我国每天工作时间超过8小时的人,占了42.2%。而且这不仅仅是中国的情况,日本,美国这些发达国家也普遍存在过劳。 这种现象虽然普遍,而且我们都身在其中。但仔细想想就会发现,其实"过劳"这件事,不太符合逻辑。 我们都知道,近两百年,人类整体的生产效率,那是一飞冲天啊。按说,生产效率上去了,单位工作时间的产出高了,那相应的工作时间应该减少才对啊。所以经济学家凯恩斯在1930年曾经做出一个有名的预测,他认为到2030年,人类的劳动时间每周15小时,就足够了。 现实是,很多互联网公司甚至开创了996模式,上午9点上班,下午9点下班,一周工作6天。我们还有724模式,一周7天24小时随时待命。你看,凯恩斯在1930年的预测错了。错的离谱,方向都错了。 问题是:他为什么错了?工具越高级,应该干活越省力才对。那为什么我们反而更累了呢? 《过劳时代》这本书里提供了很多解释。比如,全球化把所有人拉到了同一个竞争平面上。你是在一个地方工作,但你不是在和一个地方的人竞争。一个美国的工人是和一个中国的工人,甚至是非洲的工人在竞争。所以,竞争强度增大了。再比如,消费主义盛行。你和身边的人越来越多的攀比,比房子比车比包包比度假酒店,你想挣钱的欲望就越大,所以只能拼命干活。等等。 但是,我觉得最有说服力的解释,不是这些。问题的根子不在别的,就在于生产工具本身。它越进化、越高级、效率越高、越好用,我们就用得越多,所以工作时间就越长。 这是一个很有意思的悖论。举个例子,过去我们上班,必须得到单位才行,和同事见了面,才能展开协作。很不方便,后来有了电脑,有了邮件,有了微信,按说是更方便、更省时间了。但是结果呢?你知道的,老板能随时在微信群里抓到我们说事,周末也行,深更半夜也行。你上班的时间能不更长吗? 表面上看,工具的发明,总是解决一个现实问题的。有了斧头,砍树就更快。有了汽车,走得就更远。这是工具给我们提供的第一样东西,叫便利性。 但是,如果你只看到这一面,就忽略了一个更重要的东西,这也是工具带来的。你要解决问题,任何问题都是有它的时间空间边界的,工具一升级,边界内的问题,是被更高效的解决了,但是,这个时空边界本身也被打破了。于是,会出现新的问题,而且是更大的问题。 比如说,当年人们用马车,非常慢。后来,给车装上了发动机,这就成了汽车,速度提上去了。在有限的时空边界内,这就是一项改善。确定无疑的改善吧?那你说,会因为速度提上去了,所以,人旅行用的时间少了,所以车就会变少吗?当然不是啊。因为汽车打破了原来的时空限制,出现了全新的可能性。你就想,原来坐马车,你至少要带一个马车夫。现在呢?可以开汽车,一个人就可以开车,没有马车夫打扰了。车不仅是交通工具,它还是一个移动的私人空间了。所以就出现了一种新的行为方式,没有确定目的的开车兜风,这种行为模式就出现了。不去哪儿,就是带上女朋友开车去看看诗和远方。车的使用当然就越来越多。 当然,现实中远远不止是这一种情况了。因为车可以走得更远,所以,就一定会走得更远。因为可以走得更远,所以,整个社会的假设就变了,汽车旅馆就出现了,郊区景点和度假村就出现了,远离城区的购物中心,像奥特莱斯就出现了。这就反过来逼迫,你如果不能有汽车,你不能走得更远,你就没有办法享受社会基础设施提供的便利。它就会走到这个程度。 你看,这个过程就是:工具不仅为你解决了问题。工具还在你始料未及的地方,推开了一扇新的可能性的大门。这扇大门一旦推开,就再也关不上了,后面的人就会一涌而出,只会把门撑得越来越宽。这就是工具对人的反向塑造。 有句话叫,身怀利刃杀心自起。你身上有把刀,看见什么都想用上。对,工具虽然只是提供了某种可能,但是人性使然,我们总是倾向于要把这种可能性变成现实性。工具在可能性上推开了多大的空间,我们就一定会倾向于把这个空间填满。 理解了这个逻辑,再回到今天的主题,为什么劳动工具效率越来越高,我们却越来越忙呢?这么看来,答案就非常简单了。和全球化,消费主义有关,但关系没那么大。因为劳动工具让我们工作的可能性越来越高,我们就一定会把这个可能性填满,我们当然就会一直工作,所以越来越忙。 《过劳时代》这本书的解读人,李南南老师还开了一个脑洞。他说,假如未来,你的工资不是按月计算,而是按秒计算。在你的面前,有一个计时器,你每多工作一秒,你的账上马上就会多一毛钱。结果会是什么?表面看起来,这对你只有好处没有坏处。首先,每天工作8小时,这就是一天2880块钱,不少吧?你收入提高了。更重要的是,你碎片时间的工作,比如,吃饭间歇、睡觉前给同事回个工作微信,也能计算报酬了,对你更公平了。好事吧?好工具。 但这是在你现在的时空边界下看问题。真实情况可能是,这个可能性的大门一旦打开,大多数人因为碎片时间也能挣钱,会工作到筋疲力尽才会停。如果不信,你现在到网吧里去看看那些打游戏挣积分通宵不睡的人,你就知道,如果真有那么一天,工作到筋疲力尽那就是我们的未来。 图片 1、微软总部 当你漫步在微软位于西雅图 Overlake 社区的庞大总部时,一定会觉得,那里熙熙攘攘的喧嚣就像大学校园一样。 微软在那里雇佣了超过50,000名员工。午餐时间,你会发现很多人在微软内部的许多咖啡馆和餐馆闲逛,在建筑物之间漫步,浏览商店,就像周末在一个小镇一样。 微软总部的中央大楼,里面有咖啡馆、银行、电信服务、快递服务、酒吧、餐厅和体育用品商店。较低楼层是提供全世界各种口味食物的免费食堂。 中央大楼室外有几个运动场,那里举办的员工足球和板球联赛非常受欢迎。 总部内部还有一片森林,里面有一套树屋会议室。 在微软较新的工作空间中,八到十二人的团队一起工作在大型吊舱中,附近有一些会议室、休息区、咖啡馆、游戏设施,甚至还有充满乐器的音乐室。 言论 1、 工会不允许波音公司解雇任何人,结果导致有大量不干活的员工。我保守估计,同事中有30%是反社会人士,他们会积极破坏其他人的工作;另外50%的人在那里愚蠢地整天瞎扯,阅读报纸或书籍;剩下的20%才是那些真正关心飞机乘客不会死亡的人。 -- 一个自称是波音员工的人,在网上爆料。 2、 我发现很多东西都过时了。其中一个就是签名,现在没有人要我的签名,大家都拿着手机,要求跟我一起自拍。 -- 泰勒·斯威夫特,美国红歌星 3、 年少时,我选择做一件事,只是因为我喜欢这件事。现在,只要一个爱好无法获利,我就会放弃它,转而开始尝试一个可能带来收入的新的爱好或目标。 -- 《每个爱好都是一次赚钱的尝试》 4、 任何情况下,几乎都不应该购买喷墨打印机。激光打印机已经非常便宜,而喷墨打印机的墨水非常贵,实际比香奈儿5号的香水还贵。一加仑墨水的价格,可以购买超过2,600加仑的汽油! -- 《没有理由购买喷墨打印机》 5、 我们现在可以期待,中国人加倍努力推出自己开发的智能手机操作系统,设计自己的芯片,开发自己的半导体技术,并实施自己的技术标准。这只会加速创建数字铁幕的过程,将世界分为两个截然不同的互斥技术领域。 -- 《技术冷战已经开始》,彭博社评论 回顾 去年的本周:《每周分享第 5 期》 订阅 这个专栏每周五发布,同步更新在我的个人网站、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年5月24日


这部比权游好看百倍的《老友记》原来是这样拍摄的 … …

2019-05-19 12:26:05 徐磊

一部即将落幕的《权利的游戏》又把美剧带火了,不光把令人沮丧的周一变成了美好一天,还把 NOT TODAY 变成了新的网络热词,更不要说各个微信群里面飞来飞去的种子和熟肉了。今天这篇文章里面没有种子也没有熟肉,我只是想怀念一下15年前同样引起了大家热烈关注的另外一部美剧《老友记》,是的,15年过去了!!!那些进来的“老友们”是不是感到后背发凉?对不起,暴露大家的年龄了。

tags: 敏捷,影响地图,用户故事地图,编辑推荐


研发寺坐禅论道 拔头筹难定分晓

2019-05-19 07:32:00 李强

春风送暖、万物复苏,一片竹林掩映之下的“研发寺”迎来了新一届的“坐禅论道”大会。本次大会经过七七四十九天的预赛,数以万计的网友和几千名现场观众参与其中,最终通过线上点赞和现场投票的方式,产生了年度最受欢迎研发绝学候选人——瀑布大师和敏捷小生(江湖人称“老瀑”和“小捷”)。他们即将展开最后的殊死较量。

tags: 敏捷,软件工程


每周分享第 56 期

2019-05-17 02:43:32 阮一峰

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:昆山森林公园,苏州,2018) 一篇新闻报道提到,美国就业行情最好的十种工作,八种是 STEM 岗位。 所谓 STEM,就是科学(Science)、技术(Technology)、工程(Engineering)、机械(Machine)的缩写。也就是说,就业最好的工作,80%是理工科岗位。这跟我的感觉一致,理工科的就业远远好于文科。 现在是信息社会,大量的工作都是技术岗,需要技术工人和工程师,而传统的办公室文秘和管理岗位,由于被软件替代,正在不断减少。这种趋势以后将会越来越明显。理工科学生往往有好几个 offer 可以挑选,文科学生想要一个 offer 都很难,很多人不得不选择考研和考公务员。 所以,中学生选择大学专业的时候,为了就业,建议尽量选择理工科,不要选择文史哲和理论经济学,否则毕业以后,找工作很困难。 除了就业难,文科学生的发展前景也不好。文科培养的其实不是技能,而是思想。但是国内的社会环境,根本不允许你有独立的思想,能做的只是诠释领导的政策。一个例证就是,我国现在培养出了各种各样的人才,但是似乎就是没有思想家。 新闻 1、火星模拟生存基地 甘肃省金昌市政府与中国航天员科研训练中心,合建了一个"火星1号基地",作为航天员火星模拟生存的实验基地,同时也是一个文旅项目,供游客体验火星生活。据介绍,金昌的地理条件与火星表面非常相似,山地和沙漠混合,气候干燥,全年风力强劲,昼夜温差巨大。 该基地共有总控舱、气闸舱、乘员舱、生物舱等9个舱体。生物舱种植小麦和蔬菜,为航天员提供食物来源;生保舱用于处理生活垃圾;乘员舱不仅有宽松舒适的床,还可以做饭、看书,空间宽敞;总控舱是"航天员"与"地球"联络的重要枢纽。 2、徒手移动25吨巨石 古代巨大的石头建筑,到底是怎么组装的?麻省理工学院的研究人员做了一个实验,他们制作了大约25吨重的巨型混凝土结构,仍然可以徒手移动。这些混凝土块的重心都是精心设计的,考虑到了稳定性和平衡性,并且具有斜面、圆角和枢轴点,由此可以被徒手推动、倾斜和旋转。 虽然这种石块仍然不足以解释,复活节岛的巨石人像是怎么放置的,但是这为未来的建筑提供了一种思路,有一天,你甚至可能像组装积木那样,组装巨型混凝土。 3、美国对离境旅客启用人脸识别 美国政府一直想知道,哪些人逾期滞留,成为非法移民。现在,他们终于找到了一个好的方法,美国国土安全部宣布,未来四年中,将对所有离境的旅客进行人脸识别。 旅客登机前会被拍照,跟入境时签证或护照上面的照片进行比对。一旦发现不匹配,就会人工进一步处理。那些逾期滞留的人,将受到法律处罚。目前,美国已经有15个机场在测试这套系统,发现了七千多个逾期滞留的旅客。 4、特斯拉出租汽车服务 特斯拉公司的老板马斯克公开说,"如果你现在不买特斯拉,而买其他车,就是经济上的发疯,好比你给自己买了一匹马。" 他所指的是,特斯拉公司即将推出出租车服务。车主买了特斯拉以后,可以在不用的时候,把车借给特斯拉公司,当作出租车运营。特斯拉公司会将收益分给车主,每年估计可以达到1万美元。马斯克还说,最快明年特斯拉的自动驾驶,就能做到无需人工干预,因此出租车服务也将是无人驾驶。 5、机器解雇工人 媒体揭露,美国亚马逊公司的仓库,有一个计算机系统跟踪仓库工人的工作效率。一旦发现有人没有达到绩效,该系统会发出命令,自动解雇那些工人,整个过程无需人工干预。系统会跟踪工人的休息时间,计算你一天中多少时间没有干活,这使得工人在休息时都感到非常紧张。 根据资料,亚马逊的巴尔的摩仓库,以生产率不达标的原因,一年内解雇了300多个工人。 6、躲过机器监控的图案 比利时鲁汶大学开发出一种二维图像,只要将其打印在衣服上面,就会令监控系统无法识别出这是一个人体。上图左侧是正常的识别,右侧佩戴这种图像以后,识别系统就失灵了,没有认出这是一个人。 它的原理是,通过图像产生足够的噪音,增加随机性,使得模型无法得出结论。 这种方法还可以用于汽车,躲过高速公路上的监控。但是,它对于人脸识别无效,只能躲过那些先判断人体、再识别人脸的系统。 7、切尔诺贝利实境游戏 两个乌克兰青年按照实景,建造了切尔诺贝利核电站废墟模型,包括住宅楼,酒店,音乐厅,游乐园和体育场等场景,然后开发了一个游戏《Isotopium:Chernobyl》。玩家可以通过互联网,控制一辆遥控小车,上面带有摄像头,在这个模型城市里面漫游,感觉跟在真实场景完全一样。 游戏的费用是每小时9美元,同时最多只能20人在线,玩家寻找隐藏在各个地点的能量球,来淘汰其他对手,获取游戏胜利。全球目前有62,615人注册参与游戏。 8、一句话新闻 日本由于人口不断萎缩,据统计,全国13.6%的住房已经废弃,成为荒宅。 SpaceX 公司得到美国政府的许可,可以发射4,425颗卫星,组成一个低轨道卫星网络,用于销售上网服务。 美国2019年4月的能源构成中,可再生能源(水力、风能、太阳能等)的发电量,历史第一次超过煤炭的发电量。 加拿大北极地区由于气温变暖,永久冻土带融化,许多地方已经出现了大型塌方,估计会变得越来越严重。 文章 1、如何画一幅栩栩如生的画(英文) 作者讲了七个让作品变得更真实的绘画技巧/技术。它们与软件开发有相似之处,可以借鉴,比如顶层设计、一开始不要过分关注细节等。(@BIT-zhaoyang 投稿) 2、统计图表撒谎的5个方法(英文) 本文介绍五种统计图表技巧,用来隐藏或突出某些统计信息。比如,上面左右两个图的深色部分都是30%,但是右图比左图看上去大得多。 3、PaaS 和 Serverless 的差异(英文) 本文讨论 PaaS 和 Serverless 两种架构有何不同。 4、美国2020总统大选参选人的网站设计(英文) 本文介绍评论了美国2020年总统大选的参选人的网站设计,目前一共有几十个参选人。 5、为什么面向对象编程糟透了?(英文) 这是 Erlang 语言的发明人 Joe Armstrong 的一篇短文,解释他为什么不喜欢面向对象编程。不过他也承认,面向对象编程的流行是有道理的。 6、Rust 语言的编译时内存安全(英文) Rust 语言不会发生内存错误,都能在编译时发现。本文通过几个简单的例子,解释为什么这项功能很有用。 7、软件开发趋势 2019 调查报告(英文) 这是一份对全世界软件开发者的调查报告,可以了解商业软件开发的趋势,比如软件公司的主要编程语言是什么,使用什么项目管理工具,是否使用外包等。 8、Go 语言为什么快的5个原因(英文) 本文从计算机底层分析 Go 语言运行速度快的五个原因。(@NeoTse 投稿) 9、AWS 上搭建免费的 Wireguard 服务(英文) AWS 提供12个月的免费帐号,可以用来搭建 Wireguard 服务,每月 15GB 流量。 10、放弃 Sass(英文) Sass 是最流行的 CSS 预处理器。作者提出,随着 Grid 布局和 CSS 变量的出现,Sass 已经不是那么有用了,可以考虑放弃了。 软件 1、Precise UI 一个轻量级 React 组件库,提供70多个组件,特点是比较简洁。 2、coc.nvim Vim 的一个插件,提供类似的 VSCode 的自动补全功能(intellisense)。 3、Lode Runner 游戏《挖金子》(Lode Runner)的 Web 重制版,制作非常精良,值得玩一下。 4、tinytetris 命令行游戏"俄罗斯方块",使用 C++ 编写,代码较为简单,可供学习。 5、MikuTools 该网站收集一系列轻量级工具,比如各大视频网站的视频在线下载工具。(@wikiios 投稿) 6、hanzi-writer 一个演示汉字笔画顺序的 JS 库。 7、PeerJS 一个简化 WebRTC 的点对点通信的 JS 库。 8、markdown-nice Markdown 文档进行微信公号排版的工具,支持自定义样式。(@zhning12 投稿) 9、gacp 定制 Git 的提交信息的命令行工具,支持 Emoji。(@vivaxy 投稿) 10、react-component-echarts Echarts 的 React 封装,各种配置项可以写成子组件的形式。(@dawiwt 投稿) 11、gogo 勾勾是一个基于谷歌的开源搜索工具。(@zenuo 投稿) 资源 1、围棋百科 一个英文的围棋维基网站。 2、天线知识 这是无线电天线的百科网站。 3、开源语音数据库项目 Mozilla 基金会为了开发语音识别技术, 做了一个开源语音数据库项目,邀请全世界用户为这个数据库朗读句子,或者听他人的录音,判断朗读是否准确。(@user12138 投稿) 4、镜子中的谷歌街景照相机 该网站收集谷歌街景出现的镜子里面的拍摄机器。 5、命令行的艺术(中文) 一篇命令行的详细介绍,各种任务可以使用什么命令。(@sdir 投稿) 6、kindle电子书分享网 个人业余时间搞得一个小网站,以解决自己找电子书的烦恼,后端基于rails,可以参考技术方案。(@sun1752709589 投稿) 文摘 1、科幻文学本质是幼稚的 以下摘自刘慈欣2001年银河奖的获奖演说。 科幻文学从本质上说是幼稚的,它所要表现的,是童年时代的人类,面对广漠深邃的宇宙所产生的好奇和恐惧,以及探索的冲动。在这样的一个宇宙面前,人类的科学和哲学都很幼稚,科幻是表现这两者的唯一一个文学形式,浸透着稚气也就不奇怪了。未来人类的科学发展到极致,宇宙的一切毫发毕现之日,也就是科幻消亡之时。 目前在国内科幻界,面对中国科幻的幼稚,大家都羡幕美国科幻的成人读者群,并把这看做是科幻文学成熟的标志之一。但要知道,成人之后就是老年,老年之后就是死亡。当今美国科幻的繁荣,很大程度上是影视的繁荣,这些科幻影视仍在延续黄金时代的风格。而当今美国的科幻文学已露出了深深的暮气,作品用复杂的技巧表现晦涩的隐喻,全无黄金时代的朝气与活力,近年来许多顶峰之作已透出了死亡的气息。现在,美国25岁以下的人已基本上不读科幻小说了。我实在看不出这种局面有什么可羡幕的。 我们最应该羡幕的是自己,现在,国内的科幻读者都是八九点钟的太阳,甚至是六七点钟的太阳,中国科幻面对的是一个充满青春与希望的市场,这正是我们这些科幻人信心和力量的源泉。相比之下,幼稚真算不了什么。 2、如何收入1亿美元? 如果你要创造一家收入1亿美元的互联网公司,下面五种收入模式,你觉得哪一种最容易。 方法一、设法做到1000万活跃用户,然后通过出售广告,每人每年变现10美元。不过,千万级别的活跃用户,意味着用户总量要达到1亿左右,市场上能到一亿用户的产品并不多。 方法二、100万付费用户,每人每年付费100美元。这意味着,至少需要1000万人使用你的应用。 方法三,10万小企业,每家每年付费1000美元。这意味着你的 SaaS 服务定价应该是每月50-100美元。你需要大约200万~50万次试用,具体数量取决于你的转化率。 方法四、1万家企业,每家每年付费1万美元。这意味着你可能需要找到10万个客户,让他们试用你的产品。但是,每家一万美元的价格,又不足以向他们做现场销售。你实际上是在互联网上销售价格极高的 SaaS。 方法五、1000家大企业,每家每年付费10万美元。这可能相对容易一些,因为对于大公司来说,10万美元要比一位高级员工的工资更便宜。但是,难点在于你需要花费大量时间和成本,说服他们相信,你真的解决了他们的难题。 图片 1、1969~1970年的贝尔实验室 贝尔实验室在计算机历史上有着重要地位,Unix 系统和 C 语言就是在那里发明的。最近,一位工作人员将他在近50年前拍摄的几十张照片,放到了互联网上。上图是磁带架,当时没有硬盘,数据都是储存在这种磁带上面。下图是当时的计算机。 2、宇宙的形状 自从科学家观测到宇宙正在膨胀,就推断宇宙的形状像一个不断膨胀的气球。随着气球越变越大,气球内部任意两点的距离都在不断增大。 3、百事可乐的新 Logo 2009年,百事可乐公司重新设计了 Logo,左边是原来的 Logo,右边是新 Logo,看上去差异不大,只是改了一下旋转角度。但是,百事可乐为了这个新 logo,支付了100万美元的设计费,据说这个设计象征着未来与革新(下图)。 言论 1、 友谊悖论指的是,你总是觉得,自己的朋友比自己有更多的朋友。 -- 友谊悖论 2、 年轻时,我没受过多少系统教育,但什么书都读。读得最多的是诗,包括烂诗,我坚信烂诗早晚会让我邂逅好诗。 -- [哥伦比亚] 加西亚·马尔克斯,诺贝尔文学奖得主 3、 我从法律系退学,追求成为一个作家。一些老师千方百计地帮我,劝我就算不喜欢,好歹把大学念完。家里每个人都缺钱,指望我毕业当律师,为家里挣钱。我却觉得,没希望比没钱更令我沮丧。 -- [哥伦比亚] 加西亚·马尔克斯,诺贝尔文学奖得主 4、 据说,只要你在 Facebook 上面按过300个"赞",它就会比你自己更了解你。 -- 《电脑会拥有一切吗?》 5、 我是 WebEx 的首席工程师,Webex 被思科收购后,我又在那里待了14年。与客户交流时,我意识到 Webex 的架构有一些深层缺陷,影响可靠性和视频质量,思科需要从头开始重建 Webex。我告诉思科领导,但他们没有听。 我在2011年辞职,独自开发新的视频会议系统。幸运的是,Webex 最有才华和最有远见的工程师很快就加入了我,我们在接下来的两年里一起构建了Zoom 1.0。 -- 袁征,Zoom 创始人 回顾 去年的本周:《每周分享第 4 期》 订阅 这个专栏每周五发布,同步更新在我的个人网站、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年5月17日


基于Selenium的自动化测试脚本执行原理分析

2019-05-15 12:42:08 李强

Selenium是一系列基于web的界面自动化测试工具集合,提供了全面的测试函数,用于支持B/S类应用的界面自动化测试。Selenium可以直接控制浏览器完成各种操作,支持多个平台、多种浏览器、多种编程语言的测试脚本。本文主要阐述了selenium 1和webdriver执行自动化测试脚本的原理,并通过一个简单的自动化测试脚本实例进行原理剖析。

tags: 开源DevOps工具链,软件工程


The Insider Secrets for Hello World

2019-05-14 14:21:34 zhangqun

The Insider Secrets for Hello World You … 继续阅读 →

tags: 12000-all


The Insider Secrets for Hello World

2019-05-14 13:44:44 zhangqun

The Insider Secrets for Hello World You … 继续阅读 →

tags: 12000-all


The Insider Secrets for Hello World

2019-05-14 13:38:18 haidong

The Insider Secrets for Hello World You … 继续阅读 →

tags: ! Без рубрики


The Insider Secrets for Hello World

2019-05-14 11:10:32 zhangqun

The Insider Secrets for Hello World You … 继续阅读 →

tags: 12002-all


The Insider Secrets for Hello World

2019-05-14 07:39:52 zhangqun

The Insider Secrets for Hello World You … 继续阅读 →

tags: Uncategorized


The Insider Secrets for Hello World

2019-05-14 07:38:54 haidong

The Insider Secrets for Hello World You … 继续阅读 →

tags: Uncategorized


浅入浅出 Go 语言接口的原理

2019-05-12 12:25:00 Draveness

接口是 Go 语言的重要组成部分,它在 Go 语言中通过一组方法指定了一个对象的行为,接口 interface 的引入能够让我们在 Go 语言更好地组织并写出易于测试的代码。然而很多使用 Go 语言的工程师其实对接口的了解都非常有限,对于它的底层实现也一无所知,这其实成为了我们使用和理解 interface 的最大阻碍。


每周分享第 55 期

2019-05-10 02:37:44 阮一峰

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:昆山火车站,苏州,2018) 关于 996 工作制,已经有很多评论和报道,但是有一点似乎没人提到:程序员没必要来公司。 软件开发只需要电脑和网络,哪里工作并不重要,完全可以在家工作。事实上,很多软件公司都是远程办公,办公室根本没人去。比如,GitLab 公司2018年底有350人,分布在45个国家或地区,全部在家办公。它甚至有一个网页,专门宣传它的远程办公理念。 我对于 996 工作制不理解的地方是,有什么必要,一定要让大家在办公室待这么长时间。八小时的面对面还不够吗,剩下的时间完全可以回家工作。 有一种管理哲学是,我一定要盯着你,才能保证你的投入,避免你偷懒。很多软件外包公司就是这样,只能用公司的电脑开发,不能把电脑带回家,而且电脑无法访问外网,也不能安装未经批准的软件,所以要想工作,只能去公司上班。 我觉得,程序员要做的不是反对 996,而是提倡远程办公。对于重要的项目,可以一周七天、每天12小时的投入,前提是允许在家办公。 新闻 1、.amazon 顶级域名的纠纷 亚马逊公司申请了 .amazon 顶级域名,遭到了玻利维亚、巴西、哥伦比亚、厄瓜多尔、圭亚那、秘鲁、苏里南和委内瑞拉八个南美洲国家的反对。它们要求与亚马逊公司共用 .amazon 域名。后者不同意,只让出国别的二级域名,比如巴西是 br.amazon。双方争执不下,目前,这起纠纷将交给 ICANN 裁决。 类似的纠纷有过先例。2013年,阿根廷和智利提出异议后,美国户外服装品牌 Patagonia 撤回了 .patagonia 域名申请。 2、太阳能农业 德国正在进行一项实验,将太阳能发电与农业结合起来。在农地上方5米处架设光伏板,进行太阳能发电,下方依然是传统的农业耕作和放牧,发现这样可以使得土地的产值提高160%。 2018年是欧洲最热的年份之一,高温对农作物的产量产生负面影响。有了光伏板的遮挡,土地接受的阳光辐射减少了30%,这就增加了产量,另外,高温天气的额外阳光也提高了电力输出。但是,在其他季节,光伏板会使得下方土地的温度稍低。 3、韩国的食物垃圾回收 经过多年努力,韩国已经将食物垃圾的回收率,提高到了令人乍舌的95%。早在2005年,韩国就禁止食物垃圾倾倒在垃圾填埋场,必须专门回收。 2013年,韩国推行可生物降解的垃圾袋,强制居民必须把食物垃圾装进去,然后送到自动垃圾箱(上图)回收。而且,居民扔垃圾进去的时候,会按照重量收费,你扔的垃圾越重,支付的费用就越高。这促使居民去除水分,以减少垃圾的重量。据估计,食物垃圾的80%是水分。回收的食物垃圾将送往加工厂,分解成沼气和生物油,残渣可以变成肥料。 4、《人类简史》作者谈 AI 4月22日晚,在斯坦福大学可容纳2000人的大演讲厅,畅销书《人类简史》和《未来简史》的作者以色列著名历史学家尤瓦尔•赫拉利(Yuval Noah Harari),与斯坦福 AI 研究院领导者李飞飞,展开了一场人工智能对话。 赫拉利充分表达了他对 AI 的担忧,下面是他的一些精彩言论。 (1)大数据面前,自由意志、独立思考、民主决策都不存在,都是算法结果。 (2)AI 眼里的爱情,跟一场流感没有区别。 (3)AI 不透明,不跟我分享信息,而是跟广告商、大公司、政府组织联合来利用我,怎么办? (4)AI 的全球竞赛,比核竞赛更可怕。因为,核武器研发出来,没有人会随便去用。但是 AI 就不一样了,它是发展出来就马上会被用,不管三七二十一。 5、特朗普蠕虫 最近,巴拿马丛林发现了一种新的蠕虫,长度约10厘米,表皮光滑有粘液。它是一种穴居物种,几乎完全生活在地下,基本没有视力,眼睛只能分辨光暗。 一家建筑公司的老板以2.5万美元,拍卖得到该物种的命名权,然后他将该蠕虫命名为"特朗普蠕虫"。原因是特朗普拒绝承认气候变化,并且采取了很多极端化的措施,好像这种蠕虫只能看出黑白,无法看到更多的颜色。 6、带有人类基因的猴子 昆明动物研究所宣布,人类的 MCPH1 基因已经移植给了猴子。该基因跟大脑发育有关,研究人员想看看,猴子是否会变得更聪明。现在已经有11只带有人类基因的恒河猴诞生,科学家称,转基因猴比野生猴的记忆能力"明显提高"。 7、人工智能创造的游戏 设计公司 AKQA 宣布,世界上第一个人工智能设计的运动 speedgate 已经诞生。人工智能分析了400个人类游戏的规则,然后创造出了该游戏。 游戏时,每方有6个球员,三个前锋,三个后卫。球场有三个门,通过中间的门,攻入对方球门,就能得分。(@CharlesCCC 投稿) 8、一句话新闻 马斯克称,特斯拉汽车的自动驾驶技术极其先进,一年之内,人类就可能无法接管车辆的驾驶,因为人类驾驶比自动驾驶更危险。 币安交易所5月7日遭攻击,被黑客提走了7000个 Bitcoin,损失约人民币2亿多元。币安表示将全额承担这笔损失。 一家德国公司宣布,实现了一公斤电池储存一度电。这个能量密度前所未有,将可能使得电动汽车一次充电,行驶1000公里以上。 英国国家网络安全中心发布一项研究,分析2300万个密码之后,发现互联网最常使用的5个密码是:123456,123456789,qwerty,password 和 1111111。 一项研究发现,全世界范围内,热点事件引发的关注时间越来越短。2013年,推特的热点关注平均是17.5小时,2016年下降到11.9小时,即热点新闻引发关注的平均时间只有半天。 文章 1、为什么 SQL 如此成功?(英文) SQL 语言诞生已经25年了,生命力只有增强,没有丝毫减弱。即使不是关系型数据库的产品,都在设法提供 SQL 类似的查询语言。本文分析 SQL 为什么如此成功的几个原因。 2、Node.js 的简单 JWT 实现(英文) JSON Web Token 是一种令牌的生成机制,用于网站的授权和认证。本文介绍 Node.js 如何实现一个简单的 JWT。 3、50万行 Java 代码移植到 Go 语言的感想(英文) 本文作者将一个大型 Java 项目改为使用 Go 语言,详细比较了 Java 与 Go 的一些差异。 4、Nokia N9 的闹钟设计(英文) Nokia N9 手机的闹钟 App 的设计非常出色,作者介绍这个设计的优秀之处。 5、何时使用 TypeScript?(英文) TypeScript 正变得越来越流行,本文作者谈了自己的看法,何时应该使用 TypeScript,何时应该使用 Native JavaScript。 6、如何发现隐藏的摄像头?(英文) 现在隐藏的摄像头越来越难以发现,比如上图的"6"里面有一个摄像头。本文介绍如何发现这种摄像头,前提是摄像头必须跟你在同一个局域网里面,否则还是发现不了。 7、请不要用 JSON 作为配置文件(英文) 本文指出 JSON 的发明目的是"轻量级数据交换格式",根本不适合作为配置文件。 8、数据储存设备的历史回顾(英文) 本文通过图片介绍历史上的数据储存设备,上图是世界第一个超过1 GB的硬盘1980年的 IBM 3380,可以存储2.52 GB,重 250公斤,售价8万美元~14万美元。 9、浅谈机器学习中的文本摘要(英文) 本文介绍如何使用 Python 自动生成一篇文章的摘要。 10、微信公众号文章链接 GitHub 文章的方法(中文) 微信公众号不允许外部链接,如果想在文中插入 GitHub 链接,可以考虑采用本文的方法。作者提供了一个小程序,可以抓取 GitHub 页面,只要跳转到这个小程序就可以了。 11、全平台框架 Flutter(英文) 谷歌发布 Flutter for web,正式宣布 Flutter 成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备。现在学跨平台应用开发,第一个要看的可能不是 React Native,而是 Flutter。(@ifrontend-xyz 投稿) 软件 1、fyne 跨平台的 Go 语言的图形界面库。 2、jimp 一个 Node.js 的图像处理库,为图像加特效。(@ifrontend-xyz 投稿) 3、GridManager 一个网页表格的 JS 库,支持多种操作。(@baukh789 投稿) 4、laravel-s 一个 PHP 的胶水项目,将 Swoole 用于 Laravel 项目。(@hhxsv5 投稿) 5、griffith React 的视频播放器组件。 6、Kroki 自动生成图形的开源服务,支持多种图形(PlantUML、GraphViz、Mermaid 等等)。 7、md2pdf 通过浏览器,将 Markdown 文本保存成 PDF 文件,并且可以定制页面。 8、scscmsMusic 一个 Chrome 浏览器扩展,用来听歌,支持远程音乐和播放列表。(@scscms 投稿) 9、mokia 一个 mock 网络服务的 JS 工具库。(@varHarrie 投稿) 10、asciiflow 一个画 ASCII 码框图的网站。(@bzhux 投稿) 11、avataaars generator 开源的卡通头像生成器,可以定制各种头像参数。(@ifrontend-xyz 投稿) 12、Windows Terminal 微软新发布的 Windows 终端,提供多标签、分割窗口、快捷键、完整的 Unicode 字符支持等功能。(@erdong 投稿) 资源 1、广东工业大学计算机学院课程攻略 该仓库收集该校从大一到大四各门课程的资料。(@brenner8023 投稿) 2、跟我写 JPEG 解码器 中文教程库,讲解 JPEG 图片压缩标准和理论,并带有配套源码(Rust 语言)。作者希望读者只要跟着学习,就能写出自己的 JPEG 图片解码器。(@MROS 投稿) 3、vue-unit-test-with-jest 教程库,介绍如何用 Jest 为 Vue 项目写单测。(@holylovelqq 投稿) 4、《HelloGitHub》第 36 期 分享 GitHub 上有趣、入门级的开源项目的月刊,帮你找到编程的乐趣。(@521xueweihan 投稿) 5、github-rank Github 中国用户排名。(@xurui3762791 投稿) 6、今日掘金 每15分钟抓取一次掘金首页数据,保留点赞数大于55的文章,过滤出质量相对较高的文章。(@ZY2071 投稿) 文摘 1、终生不婚率 以下摘自日本纪实书籍《无缘社会》(上海译文出版社,2014)。 社会学把五十岁时仍未结过一次婚的人的比率称为"终生不婚率",一般认为这个比率今后会呈增长趋势。 (日本)男子的终生不婚率2005年时为16%,预计2030年将上升到大约三个男子就有一个。女子2030年将为23%,虽然略低于男子,然而与2005年相比,则相当于增加了两倍以上。今后社会中,终生不结婚的现象将会司空见惯。 我们就终生不婚率急剧攀升,对专家进行了采访。藤森克彦是瑞穗信息综合研究所的首席研究员,他很早就关注单身化的进展。藤森君认为,不结婚者增加的原因,有以下几项: 一、便于独立生活的城市基础设施日趋完备(诸如便利店的普及等),独自一人生活的不方便越来越少; 二、终生职业急剧减少,收入不稳定的非正规雇佣越来越普遍。 三、生活方式发生了变化,到了某个年龄必须结婚的社会观念正在弱化。 四、人们对婚姻质量的要求提高,而且女性经济实力上升,不结婚也能够生活的人增加了。 他说其中第二项的原因尤为重要。大多数人要结婚成家时,会想到要增加住宅费用和子女教育费等支出。如果此人从事的是工资和待遇均不稳定的非正规雇佣工作,他势必会心中不安,担心将来这些费用无法筹措,从而想结婚也结不了婚。 2、那些没有发布的项目 作为一个程序员,我有100多个没有发布的个人项目。 它们通常是这样开始的:我对一个想法感到兴奋,估计可以在较短的时间内完成,比如一个周末或几周。结果也差不太多,我疯狂地工作一段时间,项目或多或少都写好了。 但是它能够发布了吗?它是否算完成了呢?有趣和令人兴奋的部分确实是基本完成了,能够证明某个概念是有效的。但是,又好像缺少了一些东西,不是特别能引起别人的兴趣,有一些乏味。项目缺乏设计或视觉呈现,这算不上很重要,功能才比较重要,项目确实能工作。 它也没有登陆页面和介绍页面,这些将对新用户非常友好。但我不是一个好的作家,写不出太多文字。我甚至讨厌写作,我害怕被别人评判,所以我选择不写。 最后一个缺失的部分是营销。世界上几乎没有任何事情,比一个内向的人想到一个创意更糟糕,因为他不得不向全世界推销自己的想法。如果世界批评你的项目怎么办?如果你了解到,别人已经做过了怎么办?世界也可能完全沉默不加理睬,就像以前的许多人一样,你的项目将沉没在互联网的深处。 这些缺失的部分不算多,可能还需要投入整个项目时间的20%。但是这最后的20%,对你来说,比80%用在编码的时间更难做到。因此,你可能会让项目就停在那里。何况世界上又出现了新的闪亮的东西,你又可以急切地在新东西上工作了。 再过一会,你就会去拥抱新项目,忘了旧项目。让那些没做完的事情继续保持没做完,让这样的周期变成永久化。 图片 1、世界最大灵骨塔 台湾新北市,一座白色巨塔矗立在三芝区,外形呈六角形,顶层为宫殿式的望楼塔造型。楼高达二十层的巨塔在翠绿的山峦中尤其突出!这座建筑其实是一个多层式的骨灰盒大楼──龙岩真龙殿生命纪念馆。 该大楼聘请了日本建築大師安藤忠雄事务所負責設計,2002年正式開幕。一共可以容纳38万个骨灰盒。二楼到四楼是三宝佛殿,四楼以上是骨灰盒放置场所。目前,所有位置几乎已经全部售出。 2、《黑客帝国》的片头 电影《黑客帝国》的片头非常著名,一阵绿色的"字符雨"从天而降。很多人很好奇,这些字符到底是什么内容? 现在答案终于揭晓。电影的设计师 Simon Whiteley 告诉大家,他的妻子是日本人,他接受了电影的设计任务回家后,发现妻子有一本寿司菜谱,里面有各种字符,而且这本书是直排版,文字都是从上到下。他觉得非常合适,就使用这本书里的字符,制作了"字符雨"。 言论 1、 我的工作压力很大,我能想到的唯一应对方法就是努力投入工作,这是我释放压力的唯一途径。 -- 艾伦·图灵。他的马拉松成绩是2小时46.03分钟,有人问他为什么刻苦地训练长跑,他做了上面的回答。 2、 20年前,每个人都使用 Windows,只有一小部分人在业余时间浪费生命编译 Linux。 Windows 用户看到以后,感到很困惑:"你们已经拥有了所需的一切,能够完成工作并且易于使用,为什么还要这样折腾?!" -- 《AWS vs K8s 是新形式的 Windows vs Linux》 3、 Stack Overflow 已经成立11年了,现在,世界上每个开发者实际上都使用它。我经常看到开发者编写代码时,他们就会在一个浏览器窗口中打开 Stack Overflow。 嘿!我们保证,你不用注册或付钱,就能看到答案。 -- Joel Spolsky,Stack Overflow 的联合创始人 4、 原型产品或者第一个版本,几乎总是不需要那些时髦的 Web 框架。你需要的是以最快的速度推向市场,忽略那些花哨的潮流,确保第一次出货。 -- 《你可能不需要时髦的 Web 框架》 5、 十六世纪,欧洲普及印刷术以后,一个意外不到的后果是,大学教授的薪水急剧上升,开始远远高于技术工人。 -- 《印刷术推动欧洲》 回顾 去年的本周:《每周分享第 3 期》 保险公众号推荐 最后,介绍一个优秀的保险公众号《保哥和八姐》,很感谢他们一直支持我的网站。其实,去年已经推荐过一次了,今天特别在周刊再推广一下。 保哥是主笔。他是中南财大毕业,保险公司工作十年,负责保险产品设计和核赔,所以很熟悉各种保单的猫腻。他的理想是公众号写满三年,然后结集出版自己的保险书。 八姐是保哥的老婆,日本名校早稻田大学金融学毕业,香港和大陆两地都管理过大型资产,偶尔兴起会在公号写点文章。 他们公众号的特别之处,在于对保险行业和产品的介绍比较深入,提供专业视角,注重实务,绝非纸上谈兵。此外,他们比较坚持自己的价值观,从来不跟风,也不拍脑袋,说一些不负责任的言论,任何知识点、产品资料,都要自己研究透了,才敢写。 这个公号属于是我少数订阅的金融号之一。如果你想要了解保险,或者最近想要购买保单,不妨关注看看。 订阅 这个专栏每周五发布,同步更新在我的个人网站、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年5月10日


HTTP API 认证授权术

2019-05-09 13:37:29 陈皓

我们知道,HTTP是无状态的,所以,当我们需要获得用户是否在登录的状态时,我们需要检查用户的登录状态,一般来说,用户的登录成功后,服务器会发一个登录凭证(又被叫... Read More Read More

tags: 程序设计,网络安全,HMAC,HTTPS,JWT,OAuth,Security,安全


五一游记

2019-05-04 07:30:30 Yisaer

爽到五一假期抽了当中两天去扬州玩了一趟,整体而言玩的还是比较令我满意的。比起以前去的其他城市玩,扬州有一个特点就是他的所有景区基本上都集中在主城区这一块,这样就基本上节约了弯弯绕绕的来回奔波,可以直接沿着一条线路直接玩下来,对安排旅程而言。这次决定五一去扬州玩是一个非常仓促的决定,一来是前段时间我一直在忙工作上的事情,基本上4月份的每个礼拜都有那么几天一直加班到八九点,另外一方面我女朋友也在着急肝毕设(在这里要特别谢谢小宝宝在邮肝毕设的情况下也愿意出来旅游!!)。所以真的开始打算五一决定出去玩的时候,已经是4月26/27这几天了。所以在五一前的最后一个周末,我们打开携程上的一个简略的高铁路线图。挑了几个离上海比较近的城市后,最终定在了去扬州玩。瘦西湖我和女朋友两人11点一起坐高铁从上海出发,坐到南京站后转乘动车来到了扬州站。出了站之后,我们就直接坐着旅游专线公交到了大明寺啦。本来按照原来的计划是先在大明寺玩,然后再从大明寺出来到瘦西湖的北门进去。可惜到达大明寺时都已经下午三点了,为了能更好地体验到瘦西湖的景色,于是我们俩就决定这次先不去大明寺了,而是直接从瘦西湖的北门进园区。同时去瘦西湖玩的话推荐提前一天在网上订购园区票,这样就不用到了园区再排队买票啦,可以直接刷二维码进去。比起五一的其他景点,扬州这里有个明显的好处就是没有其他景区的人山人海,虽然瘦西湖里也有不少的游客,但是整体程度还是比较让人满意的。来到瘦西湖里面以后,给我的感觉比起湖,自己更像是来到了某个园林。从北门进入园区,会先来是来到一片松树的盆栽园区,我们俩进去逛了逛还挺好玩的,各种松树盆栽修剪的确实各有特色。这棵盆栽我要特别的说说,我当时看到它的第一眼就觉得这颗盆栽就像一艘中世纪大帆船一样,不知道有没有人和我有同样的看法。从盆栽园区出来后继续往南走,路上还有许多其他的小花园和小溪流。有各种各样我叫不上名字的五颜六色的花以及小动物。可能是因为瘦西湖园区里面人不是很多,所以还有很多野生的动物能看到。可惜当时我和女朋友两个人都在那一个劲的哇,哇,哇了。都忘记拍下来了,结果现在写游记时发现都没有那时候的素材了。一直往南走走到西门这块,我俩到了西门这块的一个景点,石壁流淙这里。这里也是另外一处让我记忆深刻的地方,这里的亭子和游道都修的非常古色古风而且有很多座位可以让我们坐下来休息会,而不远处石山上的水流以极大的声势砸在池中漫起水雾的情景也挺好看的。从石壁流淙出来后,我们就往二十四桥这个景点去。虽然瘦西湖整个园区的人并不多,但是二十四桥这里景点人是真的多,而且大家都会想去走下二十四桥,结果就导致这个桥常年人满为患。其实玩到这里我和我女朋友俩就已经比较累和比较饿了,好在二十四桥这里还有观光船可以坐。所以后面的旅程就是我直接和我女朋友坐船从二十四桥坐船到南大门了。坐船前我们俩发现湖上有个小岛后很多小鸭子和一只黑天鹅,也是非常可爱了。扬州狮子楼从南大门出来的时候已经临近饭点了。在去扬州之前,我看了很多攻略都介绍说去瘦西湖玩推荐从西门往北走,一路玩到北门再去大明寺转转。然而我发现扬州的美食和特色街道都集中在南边这块,所以我当时做出决定从北门入园,这样我们从南门出来以后就能直接去吃晚饭以及体验其他项目啦。我们晚饭去的时候在扬州大学内部的扬州狮子楼,这个饭店也算是在扬州非常有名的一家饭店了,而且离我们出来的南大门并不远,走路5分钟就走到了!我们到饭店的时候还算早,所以就等了20分钟不到就能进去吃饭啦。来到狮子楼以后,肯定要点一下他们的特色狮子头啦,这个狮子头做的非常大也非常酥软,里面肉非常多量也非常足。其实非常适合三到四人去吃,我们俩吃了非常久最后都没彻底吃完…另外到了扬州怎么能不品尝一下当地的扬州炒饭!感受这比拳头还大的狮子头…心心念念的扬州炒饭!虹桥馆温泉坊在我查攻略的时候,一直听他们说扬州素来有“白天皮包水,晚上水包皮”,即是指白天要去体验扬州的早茶,晚上要去体验扬州的洗浴。所以吃完晚饭以后,我们俩就直接走到了虹桥坊这块。不得不夸的是,当时决定从南大门出来的决定简直太对了,因为虹桥坊就在南大门旁边,所以我们从狮子楼走到虹桥坊的整个过程不到二十分钟就到了。当时在大众点评上搜扬州的洗浴类目时,虹桥坊的温泉馆就是里面置顶的第一名,所以我们吃完饭后就直奔而去了。虹桥坊内部修的其实也非常漂亮,我们沿着大路左逛右穿,那个时候要接近落日了,路上的景色也十分漂亮。在经历了一天的奔波与逛景点后,尤其是我还背了一天比较重的斜挎包,没有什么能比体验一趟温泉和按摩更加爽的事情了。温泉馆里面能体验的项目非常多,有各种冲击的温泉,也有露天的岩泉和汤壶,我也第一次接触了一下搓澡和敲背,被老大爷熟练的手法痛并快乐的玩弄着。因为温泉馆里面男汤和女汤是分开的,所以和女朋友约定好7点半出来见面,结果我一不留神把自己放纵到了8点一刻才出来,出来以后被女朋友爆K了一顿,并且立下了下次再敢迟到就写检讨贴在博客上并广而告之。说道这个我是真的错了,希望大家以此为戒千万千万千万不要让你女朋友等你,尤其是你居然在里面享受,否则你会死的很惨。总之在经过了深刻我的认错检讨后,我们俩泡完澡以后躺在榻榻米上休息了半小时拍了非常多的沙雕自拍。一个假装自己有长发的傻子总结从温泉坊出来后就已经九点多啦,本来还打算逛一逛东关街的夜市了,然而扬州夜晚结束的太快,即使才晚上九点整个城市也像快要入睡了一般,我们怕打不到车就决定放弃夜逛东关街,早早的打车回酒店啦。总的而言这一天在扬州玩的非常开心,整个路线安排也是比较满意的,虽然大明寺和东关街没去比较可惜,但是能体验到瘦西湖和温泉坊真的让我非常惊喜!


每周分享第 54 期

2019-05-03 04:45:55 阮一峰

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 (题图:鸣号自动侦测系统,上海,2019。) 能够获得暴利的职业,都有一个共同特点:可扩展性(scaling):一次劳动可以服务成千上万的人。 软件、电影、游戏行业都具有可扩展性,作品的生产成本是固定的,但可以被消费无数次,所以有巨大的获利空间,创造出许许多多的富豪。另一方面,理发师、厨师、出租车司机一次劳动,只能服务少数几个人,就不具有可扩展性,很难获得暴利,生存得很辛苦。 最近,我读到美国一个风险投资家的文章。他说了一句发人深思的话: "写作是最具可扩展性的活动。你呆在家里,不去参加活动/会议,只是在网上写下自己的想法,然后你就具有了最好的可扩展性。" 我想了一下,还真是这样。你写了一篇文章,想让其他人看到,只要到处张贴就行了。每次转贴,就是扩展了一次。这比其他产品的扩展容易多了。面包师傅想要更多的人尝到自己的面包,只能多开面包店;网站要扩展,只能购买更多的服务器。相比之下,文字的扩展简直是零成本。 大公司每年花费数十亿美元用于广告,以求人们关注他们的产品。但是,一个好的作家可以免费获得这种扩展性。这就是为什么你应该把自己的想法写下来的原因,这么好的免费传播渠道,为什么不用呢?你以为,写下来不会有人看。错,其实是有人会看到的,如果他们觉得有价值,就会帮你传播出去。 新闻 1、实验小鼠的需求旺盛 随着中国生物科技的发展,对于实验小鼠的需求持续增长,从基因改造到药物实验都需要小鼠。据专门生产小鼠的公司说,中国一年的实验小鼠需求超过100亿人民币,最贵的小鼠超过10万元人民币一对。 该公司在广州工厂饲养了1万只小鼠,正在扩建上海工厂,可饲养10万只小鼠。下图是饲养车间。 2、世界最深的游泳池 波兰正在建造一个45米深的游泳池,预定今年晚些时候开放,这个游泳池包括水下洞穴和悬崖,用来训练专业的潜水员。同时,游泳池还会配备水下隧道,供那些不想下水的人参观。 目前,世界最深的游泳池是意大利的 Y-40 Deep Joy(下图),深度为40米。2020年,英国预计将建造一个更深的游泳池,深度为50米。 3、铅水管升级的新方案 很多以前的水管是铅水管,导致自来水的铅含量偏高,对人体有害。替换这些水管,往往需要很高的成本。美国的一个环境工程师提出了一个新方案,声称可以低成本地解决这个问题。 首先往自来水加入磷酸盐,然后在水管里面放置一根电线,水管和电线同时通电,让水管带有正电荷,电线带有负电荷。这使得水管迅速将带正电荷的铅离子释放到水中,与带负电荷的磷酸根离子形成固体磷酸铅晶体层。这种晶体层会凝结在水管内曾,将水与水管的铅隔离,防止铅溶解到水中。整个过程只需要几个小时。 4、樱花屋 每年三四月间,樱花盛开,日本赏樱的人数估计今年有6300万人(包含国内和国外游客),这已经日益成为一笔大生意。 三月底坐在樱花树下,还是比较冷的。一家日本公司于是推出"樱花屋"租赁服务,提供透明的塑料圆顶小屋,放在樱花树下,屋内暖气加热,并且还有一张咖啡桌。人们可以坐在小屋内,看着头顶的樱花飘落,又不会感到寒冷和潮湿。租赁一天的价格是80美元,相当于500多人民币。 5、两台显示器还是一台宽屏显示器? 程序员为了提高效率,往往需要较大的显示面积,可以同时显示多个窗口。最近有一项研究,调查哪一种情况效率比较高,两个显示屏,还是一个宽屏显示器?最后发现,两个显示器有助于提高效率,但是宽屏显示器可以减少扭头的次数和幅度,对颈椎健康有利。 6、锁定到2067年的 iPad(英文) 一个3岁小孩玩他爸爸的 iPad,由于不停地输错密码,iPad 被锁定2500多万分钟,相当于2067年才能再次使用。iPad 的设计是输错密码次数越多,就会锁定越长时间。 他爸爸上网征求网友意见,应该怎么办。目前来看,他好像只能进入DFU(设备固件更新)模式,重新刷新固件。 7、开车玩手机是新的酒驾 很多人开车的时候,会看手机。据统计,去年美国有6,227名行人,可能死于玩手机的司机。未来,玩手机成瘾的人可能会取代酒驾,成为公路上的最大威胁。 一项研究表明,玩手机的司机开车时,有10%以上的时间在看手机。这导致于他们反应速度大大下降,极容易导致事故。 8、一句话新闻 非洲猪瘟可能会使中国今年的猪肉产量下降30%(5亿头猪损失1.5亿至2亿头),这个数字相当于欧盟每年的猪肉产量。 富士康开始在印度组装 iPhone,据称印度工人的工资是中国的三分之一。 加州今年的监狱经费将达到114亿美元,平均每个犯人的成本是75,560美元,是全美最高的。如果罪犯不断增加的话,很快会连犯人也关不起。 美国停止公布核弹头的数量,上一次2017年公布时是3,822枚。据美国专家判断,俄罗斯有4,350枚核弹头。 文章 1、Arduino 入门(英文) Arduino 可以看做是一块可以编程的电路板。本文介绍它的基本知识,以及如何用它来控制 LED 发光二极管。 2、Python 图形界面开发(英文) Tkinter 是 Python 内置的 GUI 开发模块,本文一步步教你怎么使用。 3、为什么 request 项目进入维护状态?(英文) request 是最流行的 Nodejs 模块之一,用于发出 HTTP 请求。该项目现在进入了维护状态,不再开发了。作者解释说,这个模块历史太久了,又太流行,导致无法做重大修改,跟上语言的发展,现在是时候放弃它,尝试新的 API。 4、置信区间还是 P 值?(英文) 本文探讨了置信区间和 P 值,这两个统计学概念的异同。它们都用来评估统计发现的可信性。 5、创业公司如何才能不失败?(英文) 孵化器 YC 的创始人之一杰西卡·利文斯顿的演讲,列出她眼中创业公司成功的条件。 6、Quip 的历史(英文) Quip 是一个协同工作软件,2014年诞生,2016年被 Salesforce 以7.5亿美元收购。它的两个创始人,一个担任过 Facebook 的 CTO,另一个曾在Google领导工程和产品团队。 7、Evernote 为什么没能实现它的目标?(英文) 本文回顾了 Evernote 的历史,从诞生到快速发展,以及后来几个重大的决策失误,分析它的经验教训。 8、25年后重新采访 Linus Torvalds(中文) Linux Journal 杂志1994年创刊号采访了 Linus Torvalds,为了庆祝杂志诞生25周年又重新采访了他(英语原文)。上一次采访时,他还没结婚,现在有三个小孩,老大马上就要大学毕业。上一次,杂志问他有何梦想,他说希望 Linux 统治世界。现在,他说早就不开这种玩笑了,因为这话已经不像玩笑了。(@Y024 投稿) 9、什么是幂等?(英文) 幂等这个概念,指重复操作不会产生任何影响。比如,电梯重复按两次,不会有差异。分布式系统特别强调幂等,因为通信可能丢失,就会需要重复发信号。 10、使用 systemd 创建 Linux 服务(英文) 创建 Linux 服务相当容易:使用你喜欢的编程语言编写一个长期运行的程序,并使用 systemd 将其转换为服务。 11、访问 Chrome Dino 游戏的创造者(英文) Chrome 浏览器离线时,会出现一个恐龙跳跃的游戏。为了庆祝 Chrome 浏览器诞生10周年,谷歌官方博客采访了游戏的创造者,并且展示了恐龙头戴蛋糕的一个特别版。 软件 1、stylelint 一个 CSS 的 lint 工具。 2、ColorUI 专用于微信小程序的 UI 组件库,纯 CSS 组件。(@ifrontend-xyz 投稿) 3、leon 一个开源的个人助理,类似 Siri,可以与你英语对话。(@ifrontend-xyz 投稿) 4、cleave.js 一个对输入框中用户输入的内容,进行格式化的 JS 库。(@ifrontend-xyz 投稿) 5、mas Mac 应用商店的命令行界面,可以用来从命令行安装 MacOS App。(@ansiz 投稿) 6、AP Studio 一款新的 Android 开发 IDE。 7、datash 直接从浏览器发送和接收"端对端"加密的文件。 8、scrapydweb Python 爬虫框架 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可视化、自动打包、定时器任务和邮件通知等特色功能。(@my8100 投稿) 9、dropcss 一个清理样式表里面无用的 CSS 代码的工具。 10、brickr 该软件可以生成 3D 的乐高积木图像,使用 R 语言编写。 11、Pock 把 Mac 电脑的 Dock 放到 TouchBar 的工具。(@Y024 投稿) 12、微软新闻 微软最新推出的个性化新闻的 App,有繁体中文版,底层是微软为旗下所有产品统一的新闻引擎。 资源 1、如何构建一个简单的数据库 英文的开源电子书,介绍如何用 C 语言实现一个类似 sqlite 的数据库。 2、简单逻辑 免费电子书,通过实例介绍如何通过 Prolog 语言实现智能推理。 3、libpku 北京大学各种课程资料收集,目前已经接近100门课,让你在网上读北大。(@Y024* *投稿) 4、Programming Notes for Professionals books 该网站提供各种免费计算机教程下载。(@zhjp0 投稿) 5、神经网络与深度学习 复旦大学邱锡鹏老师的开源电子书,主要介绍神经网络与深度学习的基础知识、主要的模型,以及在计算机视觉、自然语言处理等领域的应用。(@ifrontend-xyz 投稿) 6、创意共享图像搜索引擎 创意共享基金会推出的官方图像搜索引擎,索引了3亿张图片,都可以免费使用。素材主要来自 Flickr 和 Behance,下一步会把维基百科的图片放进来。 文摘 1、费曼的故事 有一天,物理学家艾伦·莱特曼和他的两个研究生,在加州理工学院的食堂一起吃饭,谈论他们刚刚做的计算:如果把一束光照向一个正在旋转的黑洞,根据计算,角度合适的话,光有可能从黑洞反弹出来,并且带有比进入黑洞时更多的能量。 费曼在旁边听到了谈话,插话说:"你们描述的那个过程,听起来非常像量子的受激发射。" 吃完饭,大家边走边谈,来到艾伦·莱特曼的办公室,一个小小的房间。费曼走到黑板前,开始研究黑洞发射能量的方程式。到目前为止,人们一直认为所有的黑洞都是全黑的,因为黑洞本身不会释放任何能量。但费曼在午餐时听了谈话之后假设,如果旋转的黑洞能够随着光的进入发光,那么根据量子力学,它也可以在没有任何物质的情况下发射能量。 几分钟后,费曼已经在黑板上,写出了黑洞释放能量的方程式。他没有兴趣抄下他写的东西。他只是想知道大自然是如何运作的,而他刚刚得出结论,考虑到量子效应时,孤立的黑洞能够发射能量。他完成了计算后,拍了拍手,把粉笔灰弄掉,然后走出了办公室。 费曼离开后,艾伦·莱特曼和学生看着黑板,一致认为这可能很重要,但是不知道有多重要。学生还有事,不得不离开了办公室。过了一会儿,艾伦·莱特曼也离开了。但是那天晚上,他意识到这是费曼的重大成果,他需要快点回到办公室,把方程式抄写下来。但是当第二天早上,他回到办公室时,清洁工已经把黑板擦干净了。 第二年,斯蒂芬·霍金发表了同样的结论,因此一举成名。没有人知道,费曼在一年前就得出了这个结论。 2、变压器里面的油脂 我在加州帕洛阿托市中心的一座漂亮的办公楼里工作,周围环绕着餐馆、酒店。我们是一家电脑公司,所在的办公楼需要大量电力,大约是100万瓦。 为了给办公楼提供100万瓦的电力,需要一个非常大的变压器,跟一辆小汽车差不多大小。由于这里是市中心,地面上没有空间,因此变压器被置于地下。马路下面挖了一个空间,放置变压器。 一百万瓦的变压器会产生大量的热量,为了保证通风散热,地面设置了一些通风口,加上了铁栅栏,不知道的人会以为那是下水道。 不久前,这条马路附近的户外休息区,出现一种难闻的气味。卫生部门接到了投诉,他们很快确定,气味是由渗入人行道的腐臭的油引起的。进一步的调查表明,臭油的来源正是放置变压器的地下空间。那里的油是熔化的食用油脂,变压器的热量使得那些油始终是液态的。整个地下空间完全装满了使用过的食用油脂,大约2000加仑,它们已经把变压器淹没了。 警方很快找到了原因。很多年以来,每天晚上,附近的一家餐馆都在夜深人静时,偷偷将用过的油倒入变压器的地下空间,以为油会流入下水道。当然,油脂倒入下水道是违法的,但那家餐馆可能认为不会被抓住。 变压器周围的油脂是非常危险的,一旦过热可能会引发火灾,油脂都是易燃品。 市政府不得不将周围三个街区停电,将油脂抽干净,更换了变压器。市政府表示,除了对肇事餐馆罚款,还会考虑密封变压器所在的地下空间。 图片 1、D21 无人机 D21 是美国的一种高空超音速无人侦察机,1962年开始生产,到1971年项目取消之前,一共生产了38架。 D21 的最后一次飞行是1971年3月20日,用于对中国进行高空侦察,最后坠毁在云南省,残骸被保留了下来。2010年,当作垃圾存放多年以后,终于在中国航空博物馆公开展出。 2、光学电报 伦敦到朴茨茅斯大约100公里。1796年,如果从朴茨茅斯传递一个消息到伦敦,猜猜需要多少时间?答案是十五分钟。这是用下面的设备完成的。 英国海军沿途设置了若干个信号站。每个信号站有六个旋转的板,可以通过绳索控制正面和反面,因此相当于提供一个6位二进制代码,允许传输63个非零状态。这些被分配为字母表中的26个字母,十个数字和一些有用的预设句子,例如"立即击败法国海军"。 上图是两个粗壮的士兵在绳索上传送消息,而右边的那个人接收来自下一站的信息。两个信号站的平均距离约为16公里。 这样的光学电报显然容易受到雾和其他天气影响。但是根据统计,每年至少200个白天,这套系统可以工作。 言论 1、 比特币其实只是一个计算机程序。这个程序连接到其他运行该程序的计算机,所有计算机都共享一个文件,该文件称为区块链。 -- 《什么是比特币?》 2、 我认为,2017年的时候,硅谷已经不再适合创业公司了。但是由于廉价种子资金的大量增加,使得这一点不那么明显。 -- Sam Altman,创业孵化器 YC 的总裁 3、 这八家公司(Facebook,苹果,微软,亚马逊,谷歌,腾讯,百度和阿里巴巴)每一家的市值,都超过了日本和欧元区任何一家公司的市值。 -- 《社会急需另一个互联网》 4、 根据我的个人经历,用来思考竞争对手的每一分钟,都是浪费掉的。 -- Paul Graham 5、 有些公司希望做能够在两三年内获利的事情,如果一件事在两三年内不见效,他们就会转向其他事情。所以,他们专注的主要是竞争对手,而不是客户。 -- Jeff Bezos 回顾 去年的本周:《每周分享第 2 期》 订阅 这个专栏每周五发布,同步更新在我的个人网站、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年5月 3日


CDC夜校回顾NO.1|奢侈品、心理学与Web动画

2019-04-28 09:39:24 CDCer

关于CDC夜校 关键词|专业 · 跨界 · 探索 · 成长 CDC 被称为腾讯用户体验设计界的“黄埔军校”,与我们不断求真求精求专的态度及多种学习成长措施有着密切的关联。CDC夜校至今已持续近10年,夜校题材不仅覆盖用户研究、品牌设计、体验设计、 ...

tags: 团队动态,CDC夜校,Web动画,奢侈品,心理学


每周分享第 53 期

2019-04-26 01:36:41 阮一峰

这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。 日本东京最近举行了一次"DNA 相亲会"。参加活动的男女互不认识,婚介公司根据双方 DNA 的相配程度,介绍他们见面。 这种相亲的依据是,根据 DNA 测序,如果基因高度相似或者互补,那么双方很可能就是相配的。报道说,参加者都认可这种想法,觉得比起其他方法,这样找相亲对象,可能效率更高一点,更可能找到合适的人,以后分手的可能性也会比较小。 如果这种方法可行,那么不久的将来,相亲节目和相亲网站也许都将不存在。只要 DNA 配型合适,你们就开始约会吧。 而且还不止于此,一家公司所有员工的 DNA,进行加总计算,就可以得到这家公司的"平均 DNA"。以后入学或者找工作,有可能都要测 DNA。要是你跟本单位的 DNA 不相配,对不起,只能请你另找别家了。 新闻 1、OpenStreetMap 获奖 2019年3月23日,自由软件基金会 FSF 正式将2018年的自由软件奖,颁发给 OpenStreetMap。理查德·斯托曼亲自颁奖。该奖项表彰显著造福社会、或者表达了自由软件运动理念的自由软件。 OpenStreetMap 是一个协作项目,用于创建可自由编辑的世界地图。它创立于2004年,目前拥有超过一百万社区成员参与编辑,已经有数千个网站、手机 App 和硬件设备上使用了它。它是唯一真正不受限制,可以自由使用的全球地图服务。 2、三个数的立方和问题 长久以来,数学家一直想知道,哪些整数可以写成 x^3 + y^3 + z^3 的形式,比如 29 等于 27 + 1 + 1,而 32 已经证明是不可能的。目前,小于 100 的整数里面,只有 33 和 42 无法确定能否写成三个数的立方和。 最近,一个澳大利亚数学家终于找出了三个整数,它们的立方和等于 33。 (8,866,128,975,287,528)³ + (-8,778,405,442,862,239)³ + (-2,736,111,468,807,040)³ = 33 3、加拿大政府资助"超循环"研究 加拿大运输部发布了一个招标公告,由政府出资,请研究机构评估所谓的"超循环"技术(hyperloop)。这种技术设想使用巨大的真空管,降低摩擦,从而高速移动人员和货物,预计速度可以达到1,000公里/小时,从加拿大东岸到西岸,只要三个小时,比飞机还要快。 加拿大政府想知道两个关键问题:该技术是否可行且安全?成本与传统高速铁路相比如何? 4、这张人像照片是伪造的吗? 现在的人像照片,已经无法确定真人还是假人。有人就收集了几十万张假人的照片,都是算法生成的,然后提供服务。你上传照片,系统返回长相相似的假人照片。上图左边是上传的照片,右边是系统返回的假人照片。 5、世界上最厚的流体和最久的实验 加拿大昆士兰大学的 Pitch Drop实验,是世界历时最久的实验,从1927年开始,到现在还没有结束。该实验由包含在玻璃漏斗中的黑色沥青组成,用来表明沥青实际上不是固体,而是一种非常粘稠的液体,是世界上最厚的流体,粘度约为水的1000亿倍。 沥青从玻璃漏斗里面,慢慢往下滴落。从1930年至今,一共滴下了9滴。最新的一滴是在2014年4月,预计第10滴将在2020年代的某个时候发生。 6、接听推销电话也能赚钱 英国一男子对于推销电话忍无可忍,注册了一个服务收费号码。这种号码要向拨入者收取服务费,常用于心理咨询之类的热线。该男子将这个号码,当作自己的联系电话,留作各种外部服务的联系电话。 这个号码的成本是10英镑,如果有人拨打这个号码,会被收取每分钟10便士。据该男子说,两年里面获利了300英镑。 7、一句话新闻 中国政府修订职业目录,新增13个职业,其中包括电子竞技员和电子竞技运营师。这意味着,玩电子游戏也是政府承认的正式职业。 美国科学家让已经死亡四个小时的猪脑,重新恢复了呼吸功能,但是没有出现意识。此事动摇了死亡的定义,如果死去的大脑是可以恢复生物功能的,那么这算死了吗? 丰田公司公开23,740项电动汽车和混合动力汽车的专利,供其他公司免费使用。由于大部分是混合动力汽车的专利,有人猜测丰田的动机是,使得混合动力汽车不会那么快被淘汰。 国家发改委发布《产业结构调整指导目录(2019年本,征求意见稿)》,将虚拟货币"挖矿"活动列入淘汰类行业。这意味着,中国可能禁止加密货币挖矿。 Game Boy 于1989年4月21日发布,今年是30周年纪念日。 Vue 免费视频课程 非常感谢 开课吧 赞助本期周刊。 2017年开始,Vue.js 迅速发展,用户数和粉丝量呈指数式增长。前端面试时,问题涉及 Vue 框架的次数已经不亚于当年的 jQuery。 对于那些不熟悉 Vue 的同学,这里有一份价值 1299元 的最新 Vue视频课程,可以 免费领取 。 课程内容包含 Vue 基础、Vue 高阶应用、Vue 项目实战 等部分。知识点比较全面,帮助你由浅入深的掌握 Vue 框架。下面是视频课程的完整内容,滑动查看 。 这套 Vue 视频由 开课吧 提供,属于精品付费课程《Web全栈架构师》的一部分。大家熟知的廖雪峰加盟开课吧,耗时半年研发了该课程,帮助初级前端工程师实现全方位进阶。课程深度对标百度P6+,适合有1-4年经验的前端程序员学习。 微信扫描下面二维码,领取视频课程,本期只有500个免费名额,欢迎添加。其他问题也可以微信咨询。 希望大家拿到课程后,能够认真看完,不要放着当做收藏。 文章 1、加强 Linux 服务器安全的七个步骤(英文) 自己架设 Linux 服务器的时候,按照本文的步骤,可以防止90%以上的攻击。 2、提高《星际迷航》的分辨率(英文) 机器学习已经可以将一幅低分辨率图像,提升为高分辨率图像。作者使用这项技术,尝试将早年一部 480p 的电视剧,提升为 1080p 高分辨率。 3、全文搜索的相关性评分(英文) 搜索结果一般按照相关性进行排序,某篇文章与你的搜索词相关性最高,就会排在第一位。相关性是怎么计算的,通常是使用 TD-IDF,但是更高级的算法使用 Okapi BM25。 4、Node.js 的多线程指南(英文) JavaScript 是单线程语言,但是 Nodejs v10.5.0 版本增加了 worker_threads 模块,使得 Node 也支持多线程。 5、如何无限延长一首歌(英文) 作者使用马尔可夫链将一首5分钟的歌,延长到了一个小时。多出来的部分都由软件自动生成。 6、Fuchsia OS 简介(中文) Fuchsia OS 是谷歌正在开发的下一代操作系统。本文是许中兴博士在开源开发工具大会 HelloGCC 2018上发表的一个关于 Fuchsia 的精彩演讲。 7、Nodejs 控制无人机(英文) 本文介绍如何编写 Nodejs 服务控制无人机,但是使用无人机品牌不是大疆。 8、日志记录的最佳实践(英文) 如果狗是男人最好的朋友,那么日志就是软件工程师最好的朋友。本文介绍日志的一些最佳实践,文后附有幻灯片,幻灯片比文章本身更有价值。 9、树莓派搭建空气质量监视器(英文) 本文是树莓派教程,附有示例代码,演示如何搭建一个空气质量监视器(需要自购传感器)。 10、芯片里面有什么?(英文) 芯片可以被认为是一个黑盒子,你通常不会看到它的内部。本文将展示如何打开芯片,看看里面是什么。 软件 1、freeciv-web 仿照《文明》的开源 Web 实时战略游戏,可以单人或多人在浏览器里面玩。 2、Kdenlive 一个功能强大的开源的视频编辑器,主要针对 Linux 系统,但是 Mac 和 Windows 也可以安装。 3、此简历不存在 该网站使用人工智能生成不存在的简历。 4、QuickDraw 谷歌 QuickDraw 功能的开源实现,可以识别随手画出的图形。 5、cloudconvert 在线文件格式转换工具,支持218种格式文件的转换。(@shallynever 投稿) 6、handtrack.js 一个在浏览器中进行实时手部检测的 JS 库。(@rolitter 投稿) 7、jsweet 一个 Java 工具,可以将 Java 代码转为 TypeScript/JavaScript 代码。 8、Pi API 谷歌推出的服务,可以获取指定位置的圆周率,比如圆周率的小数点后第10000位是7。 9、code-server 运行在服务器上的 VS Code 服务,支持大部分插件,可以在浏览器里面远程使用。 10、Commento 一个类似 Disqus 的开源评论服务。 11、Server酱 一个将服务器消息推送到微信的免费工具。(@Ming-Lei 投稿) 资源 1、manypixels 一个收集无版权插图的网站,提供 SVG / PNG 格式下载,并且允许更改颜色。 2、leetcode 记录个人 leecode 解题之路的笔记库,使用 JS 语言。(@azl397985856 投稿) 3、Automate the Boring Stuff with Python 免费电子书,Python 语言的入门和初级应用。(@nosarthur 投稿) 4、955.WLB 该仓库收集国内不加班的 IT 公司名单。(@ifrontend-xyz* *投稿) 5、I love PDF 该网站提供各种免费的 PDF 在线工具,比如合并、拆分、压缩、Office 文件转 PDF、PDF 转图片等。(@ifrontend-xyz 投稿) 文摘 1、美国互联网的中心位置 距离堪萨斯州威奇托市一小时车程的地方,有一个叫 Potwin 的小镇,那里是一个360英亩的农场,主人是现年82岁的 Joyce Taylor。 过去十年,她遇到了很大的麻烦,被指控为垃圾邮件发送者和诈骗犯,联邦调查局特工、联邦警察、州警察、国税局都找过她。有一次,有人在车道上留下了一个破损的马桶,这是一种奇怪的威胁。 这一切都是因为 MaxMind 公司的 IP 定位服务的一个错误。该公司提供每个 IP 地址的物理位置。有时候,只能知道 IP 地址属于某个大致的地理范围,得不到确切的地址。为了处理这种不精确性,MaxMind 决定在城市、州和国家的层面设置默认位置,以便反映 IP 地址的大致位置。如果它只知道某个 IP 地址在美国,并且无法弄清楚它在何处,那么它就显示美国的地理中心。 美国的地理中心位于堪萨斯州北部,确切地说,中心点的坐标为 39°50'N 98°35'W。MaxMind 决定简化这个坐标,采用 38°N 97°W 作为美国 IP 地址的默认地点。过去的14年中,每次有人查询无法识别的美国 IP 地址的位置时,它就会显示这个地点的坐标。现在有超过6亿个 IP 地址与该坐标相关联。如果有人发垃圾邮件或者从事互联网诈骗,MaxMind 的数据库就会现在他们的位置是38.0000,-97.0000。 这正是 Joyce Taylor 的农庄地址。得知这个问题以后,MaxMind 已经更新了数据,从而让农庄恢复平静。 2、谈谈 To B 业务的难点 为什么 To B (企业服务)业务在中国很难做? 首先,很多人可以影响企业客户的购买决策。一个企业要买一套管理系统,决策的可能是业务负责人,也可能是主管信息化的副总裁。他们的诉求很可能不是企业利益最大化,而是他自己及他的部门在企业内的话语权、存在感。如果你连诉求都没搞清楚,你怎么可能拿到订单? 再举一个例子,你认为销售部门使用了你的软件,老板能更容易地掌握他们的业绩和效率,因此销售部门会赞成购买你的软件。但是,销售骨干不一定希望老板掌握他的实际情况。为了自己的利益,他抵触你的系统,最终你就无法完成这个系统的实施。 一个大企业的决策负责人,往往是企业高管或中层。选择 To B 产品的时候,他并不只是从业绩出发,还会考虑自己的风险。我选择上市巨头A公司的产品,如果出了问题,那是 A 公司的问题,不是我的问题,因为人家是上市公司,行业领先者,老板不会说我什么。但如果我选了创业企业 B 公司的产品,如果出了问题,那肯定是我的问题,老板会觉得你怎么选这么一个不靠谱的产品,你是不是拿了人家好处什么的。所以,决策者评估这种信用风险的时候,他们宁可选择对他们而言,风险最低的产品和服务方案。 大部分 To B 产品都是为了老板服务的,而对员工来说,这意味着更多负担和约束,所以他们不喜欢、也不感兴趣你的产品。我知道有不少老板抱怨,他们员工非常不喜欢用钉钉。对于普通人而言,他们为了游戏、娱乐所投入的时间和精力,远大于为了工作和学习投入的时间和精力,也就是说,你不能指望公司职员用玩游戏的精神去研究你的产品。 图片 1、非洲最后的巨齿象 Tusker 象生活在肯尼亚草原。它是非洲最后一种有着巨大牙齿的大象。专家认为,这种大象现存可能不到20只。许多自然保护主义者认为,自己的使命就是让这些大象在偷猎者手中幸存下来,不要死于陷阱、子弹或毒箭。 2、第一款 iPhone 的原型 2007年6月,苹果公司发布 iPhone。此前的两年半,他们一直在秘密研发 iPhone,没有泄露任何消息。 现在,当初研发 iPhone 的原始开发板泄露出来了。你看到这块板子,绝对想不到苹果公司在研发手机。 言论 1、 软件行业是一个年轻的行业,谷歌和亚马逊的员工平均年龄是30岁。全球10万名程序员的2018年 Stack Overflow 调查发现,四分之三的人未满35岁。 尽管技术领域的起薪很高,但是年轻人的优势在就业的前十年就会减少一半。2017年的一份报告发现,50岁以上的技术工人的工资实际上低于年轻人。 -- 《老程序员的按计划淘汰》 2、 "JS 疲倦"发生在人们使用他们不需要的工具,来解决他们没有的问题时。 -- 《JavaScript 疲倦的终极指南》 3、 有些人说,他们更喜欢纸书,而不是电子书。这可能因为纸书是有机物质组成的,那些物质包含了热、光、水分,在生产过程中发生化学反应,产生独特的旧书气味。纸张释放出数百种挥发性有机化合物,让人觉得有大自然的感觉。 -- 《为什么旧书有味道》 4、 现在是2019年,你可以从亚马逊租用 CPU,每小时约2.5美分。换句话说,使用 CPU 每小时的费用,比美国最低工资雇佣一个人便宜约300倍。 -- 《为什么 CPU 时间不值钱?》 5、 以前在台湾拍电影,感觉跟学生时代差不多。一个原因是酬劳,付给你的钱不足以要求你去承担什么责任,我们只是凭着对电影的喜好,拼命去做。 后来为好莱坞拍电影,他们付的薪水,让我觉得真的可以养家糊口、能置产。拍完《理性与感性》后我才第一次在美国缴税,记得第一张支票是18万美元,我手软得都签不下去。 -- 李安《十年一觉电影梦》 6、 面向对象编程的问题是,默认带有环境。你只想要一个香蕉,但是得到了一只拿着香蕉的大猩猩,甚至还有整个丛林。 -- 计算机语言大师 Joe Armstrong,2019年4月20日去世。他非常不喜欢面向对象编程,发明了函数式语言 Erlang。 回顾 去年的本周:《每周分享第 1 期》 订阅 这个专栏每周五发布,同步更新在我的个人网站、微信公众号和语雀。 微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。 (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年4月26日


GitHub OAuth 示例教程

2019-04-21 08:54:50 阮一峰

这组 OAuth 系列教程,第一篇介绍了基本概念,第二篇介绍了获取令牌的四种方式,今天演示一个实例,如何通过 OAuth 获取 API 数据。 很多网站登录时,允许使用第三方网站的身份,这称为"第三方登录"。 下面就以 GitHub 为例,写一个最简单的应用,演示第三方登录。 一、第三方登录的原理 所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。 举例来说,A 网站允许 GitHub 登录,背后就是下面的流程。 A 网站让用户跳转到 GitHub。 GitHub 要求用户登录,然后询问"A 网站要求获得 xx 权限,你是否同意?" 用户同意,GitHub 就会重定向回 A 网站,同时发回一个授权码。 A 网站使用授权码,向 GitHub 请求令牌。 GitHub 返回令牌. A 网站使用令牌,向 GitHub 请求用户数据。 下面就是这个流程的代码实现。 二、应用登记 一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求。 所以,你要先去 GitHub 登记一下。当然,我已经登记过了,你使用我的登记信息也可以,但为了完整走一遍流程,还是建议大家自己登记。这是免费的。 访问这个网址,填写登记表。 应用的名称随便填,主页 URL 填写http://localhost:8080,跳转网址填写 http://localhost:8080/oauth/redirect。 提交表单以后,GitHub 应该会返回客户端 ID(client ID)和客户端密钥(client secret),这就是应用的身份识别码。 三、示例仓库 我写了一个代码仓库,请将它克隆到本地。 $ git clone git@github.com:ruanyf/node-oauth-demo.git $ cd node-oauth-demo 两个配置项要改一下,写入上一步的身份识别码。 index.js:改掉变量clientID and clientSecret public/index.html:改掉变量client_id 然后,安装依赖。 $ npm install 启动服务。 $ node index.js 浏览器访问http://localhost:8080,就可以看到这个示例了。 四、浏览器跳转 GitHub 示例的首页很简单,就是一个链接,让用户跳转到 GitHub。 跳转的 URL 如下。 https://github.com/login/oauth/authorize? client_id=7e015d8ce32370079895& redirect_uri=http://localhost:8080/oauth/redirect 这个 URL 指向 GitHub 的 OAuth 授权网址,带有两个参数:client_id告诉 GitHub 谁在请求,redirect_uri是稍后跳转回来的网址。 用户点击到了 GitHub,GitHub 会要求用户登录,确保是本人在操作。 五、授权码 登录后,GitHub 询问用户,该应用正在请求数据,你是否同意授权。 用户同意授权, GitHub 就会跳转到redirect_uri指定的跳转网址,并且带上授权码,跳转回来的 URL 就是下面的样子。 http://localhost:8080/oauth/redirect? code=859310e7cecc9196f4af 后端收到这个请求以后,就拿到了授权码(code参数)。 六、后端实现 示例的后端采用 Koa 框架编写,具体语法请看教程。 这里的关键是针对/oauth/redirect的请求,编写一个路由,完成 OAuth 认证。 const oauth = async ctx => { // ... }; app.use(route.get('/oauth/redirect', oauth)); 上面代码中,oauth函数就是路由的处理函数。下面的代码都写在这个函数里面。 路由函数的第一件事,是从 URL 取出授权码。 const requestToken = ctx.request.query.code; 七、令牌 后端使用这个授权码,向 GitHub 请求令牌。 const tokenResponse = await axios({ method: 'post', url: 'https://github.com/login/oauth/access_token?' + `client_id=${clientID}&` + `client_secret=${clientSecret}&` + `code=${requestToken}`, headers: { accept: 'application/json' } }); 上面代码中,GitHub 的令牌接口https://github.com/login/oauth/access_token需要提供三个参数。 client_id:客户端的 ID client_secret:客户端的密钥 code:授权码 作为回应,GitHub 会返回一段 JSON 数据,里面包含了令牌accessToken。 const accessToken = tokenResponse.data.access_token; 八、API 数据 有了令牌以后,就可以向 API 请求数据了。 const result = await axios({ method: 'get', url: `https://api.github.com/user`, headers: { accept: 'application/json', Authorization: `token ${accessToken}` } }); 上面代码中,GitHub API 的地址是https://api.github.com/user,请求的时候必须在 HTTP 头信息里面带上令牌Authorization: token 361507da。 然后,就可以拿到用户数据,得到用户的身份。 const name = result.data.name; ctx.response.redirect(`/welcome.html?name=${name}`); (完) 文档信息 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证) 发表日期: 2019年4月21日


StackOverflow 2019 程序员调查

2019-04-21 04:29:13 陈皓

前些天,StackOverflow 发布了 2019年的年度程序员调查,这个调查报查有90000名程序员参与,这份调度报告平均花了20分钟,可见,这份报告有很多... Read More Read More

tags: 业界新闻,技术读物,杂项资源,编程语言,Programmer,程序员