技术标签: java
不善交易、格子衫、脱发、老实、修电脑... 当这些词联系在一起,你会想到什么?
这是个资讯爆炸的时代,推荐算法的成熟让大家看到了更加符合自己口味的信息,同时也让一些有趣的观点更容易获得热度,当大家看过段子一笑过后这些有趣的观点也逐渐被大家所接受。
程序员作为这个互联网时代的缔造者,大家对这个职业的误解也越来越奇怪。一开始也就是戏称为“码农”,最多说说人傻钱多死得快。随着这些年段子横行,有的人居然以为会有大佬穿着女装敲代码。java直播群732976516(免费领取入门java资料)
很多人都认为程序员这个群体非常奇怪,有着特有的职业文化,有着奇怪的思考回路,有着诡异的鄙视链。
有些人还说找老公一定要找程序员,他们为人老实有耐心,感情专一工资高。
还有就是每天常用的app、常去的网站哪个不是用代码写成的,只要一不好用大家肯定要开始骂程序员,还有拿程序员祭天以平民愤的。
日常背锅,似乎也成了程序员的职业素养之一。就说今年的圣诞节吧,阿里巴巴集团旗下的蚂蚁金服在圣诞节这一天给程序员们开了一个并不好笑的“玩笑”。
苦逼的码农们在圣诞节这一天,只能替人背锅,只因使用了蚂蚁金服的免费框架。
不仅容易猝死,会被团队祭天,还要为别人的玩笑背锅失去工作。
赚得多又怎样?
穿个格子衫还要被人问为什么要穿格子衫?
难道要光着出去?
做个码农,容易吗!
一个彩蛋引发的祸端
事情是这样的,蚂蚁金服在他们发布的Antd框架源码中“下了毒”:在12月25日当天,使用了这个框架的网页会默认在提交按钮上覆盖一层白雪,并配有“HO HO HO!”的文字提示,这个圣诞彩蛋在触发之前并未告知对相关人员,而且还无法手动禁止,一时间让开发人员失去了对项目的控制。
其实这个事不大,这个彩蛋本身也无伤大雅。
但高潮的是这个彩蛋出现的场合,就没有那么合适了。
这个彩蛋出现在哪里了?出现了又能有多严重?
别急,你看网友们是怎么调侃的!
阿里啊,你可长点心吧
Antd框架,全称AntDesign是一套免费的前端开源框架,它的作者正是阿里巴巴集团旗下的蚂蚁金服。使用这个框架可以轻松实现一些复杂的网页特效,提高开发效率。
前不久日本财经界评论的全球十强创新力企业,阿里巴巴位列第九,是中国唯一一家进入榜单的企业。
而且Antd框架的定位是企业级的模块化解决方案,这套框架在行业内也是处于领先地位的,给大家留下了很多正面印象。再加上阿里巴巴集团做权威背书,国内外许多项目都有使用这套框架。
所以在圣诞节这一天,使用了这套框架的企业、政府网站,甚至是军事、宗教项目上突然出现了这个彩蛋,被打得措手不及的开发者一方面寻找原因抓紧修复,一方面还要向愤怒的客户保证项目的安全性。
“老板,您放心!我们真的没有在项目里边留后门!”
这哪里是彩蛋,简直是是阿里在代码里下了毒!
说道这里,可能有人会有许多疑问。
“你说的这些都是个啥?看不懂,不看了”
“难道现在的码农都是搬运工吗?随便套个成品就叫开发了?活该!”
“使用蚂蚁金服的这个框架收费了吗?追究他们责任啊!”
“大概看懂了,那么会导致什么样的后果呢?”
各位看官大爷,别急,容我慢慢道来!
科普向,程序员是怎么开发的?
首先,在真正的工作环境下进行代码开发,并不像我们学习时那么简单写个“hello,world!”就能应付的过来。近些年软件开发行业已经相当成熟,程序员的职业划分也更加细致。
这次提到的“剩蛋踩蛋”风波,主要涉及到的开发岗位是前端开发,所谓前端就是指整个项目的表现层,简单说就是你用眼睛能看得到的部分都是属于前端。
除前端之外还有后端、移动端、大数据等等,按照编程语言划分更是多达十余种不同职位,可他们都被统称为程序员。
互联网发展的越快,对程序员的要求就越高,仅仅只会Ctrl+C和Ctrl+V的程序员很快就会被行业淘汰。但是在实际的开发过程中,有很多功能是会被重复使用的,为了减少开发周期,程序员们都会使用像Antd这样已经封装好的软件框架提高开发效率。
类似的框架还有Facebook的React Native;Twitter的bootstrap;还有被前端码农们奉为圣经的jQuery、AngularJS等等。在开发时使用框架并不能等同为简单的代码搬运。
好比你想看一本书,在书籍生产的时候不会一个字一个字的去人工书写,而是使用印刷设备进行整版印刷,虽然人工纯手工书写也可以达到想要的效果,但需要的时间成本、人工成本却不能相提并论。
手工书写就好比开发人员手动敲代码,印刷设备就像软件框架,而Antd框架内埋下的这颗圣诞彩蛋,就像这部印刷设备突然在圣诞节这一天图书封面印上圣诞快乐,要么你等着过了圣诞节,要么你就自己重新手动印一批新封面。
说什么呢?啥是开源?
前面咱们也介绍过,蚂蚁金服的这套AntDesign前端框架,是完全免费的开源框架。
什么叫开源?就是指这个开发工具的所有代码都对外界公开,所以在开发人员使用开源框架时都很放心,谁能在光天化日之下动手脚?就算代码有问题也早就提出来了,而且有阅读整个框架源码的功夫,想要实现的功能早写好了,谁也想不到开源框架会有安全问题。
开源的诞生,原本是处于技术交流。随着近二十年的发展,开源软件的意义更多的是一种开放、包容、互利共赢的精神。所以开源软件它既是安全的,也是脆弱的,它依靠开发人员间的默契与信任。程序员们更关心的开源项目能不能进行二次开发,能不能给用户带来强大的功能。
就像你在看书时,会去在意书是谁印刷出来的吗?
有人会问,你公布所有的源代码,被别人拿去修改赚了大钱怎么办?
首先,任何开源项目都是有版权且受法律保护的,滥用开源项目进行修改再重新分发都是触犯法律且需要支付补偿金的。在使用开源项目时,也是需要表明开源项目来源并且注明源代码编写作者的。
我们最常见的开源项目就是手机内的安卓系统。
玩大了,收场很难
此次事件的最恶劣的后果就在于对开源软件的信任危机。
尤其是现在这个时间节点上,华为一方面在海外靠行动印证自家产品的安全性,现在已经拿下25份5G商业合同。
一方面阿里旗下的蚂蚁金服又给全世界这么一个细思极恐的“圣诞大礼”。
虽然这个彩蛋的“始作俑者”,已经出面承认,并保证代码里已经没有其他彩蛋。
一次看似无伤大雅的玩笑,却需要整个开源社区承担留下的信任危机。
信任一旦崩溃覆水难收。
正应了那一句话:程序员用代码改变世界。
网上看了很多方法都不太好用,包括卸载或者升级 requests,chardet,urllib3 等等,尝试后发现都不行sudo pip uninstall chardet sudo pip uninstall urllib3sudo pip3 install -U requests根据报错信息,可发现报错位置,以及安装版本查看源码,发现版本要求问题发现 urllib3 的版本是符合要求的,chardet 的版本高了,因此安装符合版本要求的 chardet然后再次运行脚本.
进入配置页面的方式:Configuration—>settingsAppearance&Behavier(外观和行为)Appearance(外观)配置主题、字体、字号、工具类以及其他视图工具。...
奇偶校验码1.奇校验码 x100110…(n个) 1的个数为奇数2.偶校验码 x100110…(n个) 1的个数为偶数如果一个字符S的ASCII编码从低到高依次为 1100101 ,采用奇校验码,在下述收到的传输后字符种,哪种错误不能检测?(D)A.11000011 B.11001010 C.11001100 D.11010011解析:使用奇校验码检错...
创建和填充列表字面量法Python程序员将它称为一个字面列表,因为这个列表会一次性完成创建和填充(将列表中的对象赋给列表)>>> odds=[1,3,5,7,9]在代码中“扩展”列表创建和填充列表的另一种方法是在代码中“扩展”列表:随着代码的执行,为列表追加对象>>> nums=[]#创建空列表>>> nums.extend([2,3,4])>>> nums[2, 3, 4]使用list()函数lis
更新1.那么,服务器如何识别客户端的身份?我们如何保证数据传输过程中的安全性?要靠两个东西:使用AppKey做身份识别,使用AppSecret校验数据,最简单有效的办法还是打到.so库中。2.a和b生成两对公私钥 https://s4.51cto.com/wyfs02/M02/9A/70/wKiom1lV2tOgjaUbAAfY9aWxmNw46...
Java8初体验(一)lambda表达式语法感谢同事【天锦】的投稿。投稿请联系 [email protected]本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘。因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化。本文是该系列的第一篇,主要介绍Java8对屌丝码农最有吸引力的一个特性—lambda表达
功能说明将labelme标注的json文件中的坐标和label信息提取到txt文件中注意:labelme标注时使用“polygon”即画点标注方式,不是“rectangle”和“circle”标注方式,每个点坐标包括x和y,所以总共输出8个坐标值和1个label值。json格式批量转换dir_json为json文件夹dir_txt为txt文件夹同级目录下创建json2txt.py文...
vuejs仿写朋友圈。* 将HTML中按逻辑切割成vue组件* 每个vue组件单独建立一个.vue文件* 实现父->子通信。如:将data通过props传到子组件,并按照存储逻辑分层渲染。* 实现子->父通信。如:子组件点赞后emit在父组件中显示点赞的效果。
官网react-router-dom自定义Link组件1.0 自定义Link的应用场景 (如:tabtar 实现路由的切换)2.0 实现原理:相当于自定义组件(函数式组件,注意不是class组件)实现步骤一: 按需导入相关模块,注意 最后导入的useRouteMatch的模块是可以判断当前路由是否激活==实现步骤二: ==: 创建函数式组件的方式,创建一个自定义的Link组件,一定要...
之前在学习数据库时接触过关系代数,只是在经过很长一段时间不应用之后,不能很快从大脑中将知识调出来,今天就来了个再次学习总结加深自己的印象。 关系代数:是一种抽象的查询语言,用对关系的运算来表达 查询。关系代数运算的是关系,运算结果亦是关系。关系代数的基本关系包括:并、交、差、笛卡尔积、选择、投影、连接、除法运算。由于并、交、差运算很简单,这里不再赘述,只说明了几个容易遗忘和混淆的运算。
已结贴√问题点数:20回复次数:3 c语言求助 [Error] variable or field 'RRR2' declared void#include "stdio.h"#include "math.h"#define PI 3.141593#define PR PI/180static float l[6],p[6],W[6],X[6],Y[6],VX[6],VY[6],AX[6],A...
声明:本文转自https://segmentfault.com/a/1190000014354996,旨在学习分享,如有侵权请联系修改或删除。前言感觉搭建一个舒服的前端开发环境,十分的重要定制化的格式化,编辑器自带的格式化各种报错,手动改真的会死人,因此搭建一个编辑器环境必不可少,现在要讲的是vscode中如何定制vuevs code的配置文件:format相关:搜索for...