程序员简历这样写,面试电话接到手软

前言 如果你本身具备很强的实力,不要因为对求职简历细节不重视,反而痛失良机。 求职加薪,除了平时的积累以外,更要懂得积累求职相关的技巧和经验。想进入心仪的公司,这样才能事半功倍。 求职跳槽的三大误区 第一个误区,求职跳槽就是找工作...
继续阅读 »

前言 

如果你本身具备很强的实力,不要因为对求职简历细节不重视,反而痛失良机。 求职加薪,除了平时的积累以外,更要懂得积累求职相关的技巧和经验。想进入心仪的公司,这样才能事半功倍。 

求职跳槽的三大误区 

第一个误区,求职跳槽就是找工作之前3个月的事。 

如果想进入自己心仪的公司,首先肯定需要方法和长时间准备的。而且,越好的公司,准备的时间越长,准备跳槽的时间周期,最好以年为单位,而不是3月的临时备战。 

第二个误区,以纯生态的方式去面试,简历不做优化,谈吐技巧不做改进,以原味出现。

 很多人会说,这不是简历作弊吗?请记住,这并不是让你去瞎改莫需有的经历和职位,这是优化你自己。人靠衣装,马靠鞍,简历就是每一个人的名片和身份,一定要更早的意识到并“优化”自己,而不是有意去“破坏”。现在,基本每一份简历,在你投递以后,都有第三方的公司,系统结合人工的方式,鉴别简历真假,只不过你不知道而已。所以,很多时候你的简历已经进入了大部分公司的黑名单,你还不知道是为什么。你能想到的,其实公司在面试的第一个环节已经通过第三方公司做过筛选了。 

第三个误区,我的履历是小公司,想进大公司需要镀金。

 很多小公司的朋友,一直比较懊恼的事就是没有大公司的经历和背书。一直认为这是自己不能进入大公司的原因。其实,小公司也有自己的优势,只不过你没有在你的简历上重点突出而已。其实,这些优势也是大公司目前找人最看重的,你却没写。 如果把这些误区都正视了,自然就会开始重视和思考怎样才能去自己心仪的公司的方法和步骤。 

面试公司的准备步骤和心得 

第一步:简历自我评价改进

 简历就是每一个人的招牌,招牌必须得帅。 首先,需要快速改进自己的招牌。 每一个简历基本都有自我评价这一项,很多朋友并不是很关心,苏不然就是在这个环节丢失了面试的机会。 截取一小段简历的自我评价作为例子: 在互联网电子商务行业和旅游行业,有着10年以上的产品技术资深的经验:先后在美国新蛋newegg、淘宝、百度、携程等大型互联网公司工作,从最早美国新蛋一名程序员,到淘宝的技术架构工作,再到百度的研发经理,再到现在的携程定制旅游CTO,管理产品技术等团队,一路的成长轨迹已经成为自己最大的财富。 后面是你在工作期间取得的重要的业绩,比如:在公司期间的最佳团队奖(说明你的管理实力),这里要结合你面试的公司的职位来突出业绩点。 首先是让对方对你有兴趣,其次才是你取得的成绩,尽可能把自己的优势突出在最前方。 当然,我知道你肯定会说,我没有这样好的履历。那就拿出你现阶段,最拿得出手的优势点,放在最前面。 举个栗子,你没有大公司的经历,那就突出你自己本身,比如你的成长经历,或者你的自学成才经历,你的项目历练经历等。这个阶段没有大公的履历,那就要突出自我未来成长优势。 还是举个例子,俞军,前百度产品副总裁、首席产品架构师,互联网产品经理的祖师爷,我截取一段他当时面试百度的简历中的自我评价。 26岁,上海籍,同济大学化学系五年制,览群书,多游历。 长期想踏入搜索引擎业,无奈欲投无门,心下甚急,故有此文。 如有公司想做最好的中文搜索,诚意乞一参与机会。

 自我评价:

 本人热爱搜索成痴,只要是做搜索,不计较地域 (无论天南海北,刀山火海),不计较职位 (无论高低贵贱一线二线,与搜索相关即可),不计较薪水 (可维持个人当地衣食住行即是底线),不计较工作强度 (反正已习惯了每日14小时工作制)。 如果是你在找搜索相关的人,你看到这样一份简历会怎么样,是不是会眼前一亮呢? 这个阶段,你看到有任何大公司履历吗,没有,有的就是自己想励志从事搜索行业的抱负和雄心壮志,这就叫突出自我未来成长的优势。 这里还给大家提醒一点,简历内容不要再出现什么精通、熟悉等字样,需要把精通、熟悉转换成更具体的内容,并且把简历用ppt等工具重新制作,最好转换成pdf格式。

 简历切记别千篇一律! 

第二步:简历项目经验改进 有了第一步自我评价的敲门砖,才会有项目经验的介绍。 首先,要做的就是精简你的项目经历。 我相信,你一定会有你拿得出手的项目,你认为还不错的项目,重点突出这些项目的详细描述,不重要的经历就一笔带过即可。 还是举一个例子,在简历中截取一段项目描述,大家作参考。 负责携程旅游事业部签证,国际火车票,定制旅游三大业务线的产品和技术团队管理工作。具体工作分为 五个方面:团队建设和管理,业务的产品规划和把控,负责整体技术架构的规划和把控,项目的推动和持续跟踪,敏捷教练:

 1.团队建设和管理:组建整个团队,团队成员包含:产品经理,开发主管,开发工程师,项目经理,测试主管,测试人员。 

2.业务的产品规划和把控:负责各业务线产品的需求调研以及规划,制定各业务板块每一个季度详细产品规划方案,并且跟踪实施和改进; 

3.负责整体技术架构规划和把控:负责各业务板块的整体技术系统架构设计方案,推动各业务板块往大型分布式系统演进; 

4.项目的推动和持续跟踪:把控开发任务的需求分析和开发计划制定;带领以及指导整个团队:产品、技术、测试,用敏捷的方式快速推进产品和技术计划; 

5.敏捷教练:第一个在携程内部,采用敏捷的方式驱动产品技术,帮助成员跟上敏捷的节奏。…… 这样,是否把具体你在项目中的工作职责,拆解成具体可评估的内容,并且这些内容还能突出你的优势。 当然,你需要根据你当前的情况来具体分析。比如,这个阶段你是程序员,产品经理等,自我评价和项目经验等,都是一脉相承,通过项目来辅助来突出自己的优势。 

第三步:针对公司职位定制简历 

在互联网大数据的背景时代下,谈到的都是千人千面,为什么简历就不能是千人千面呢? 目前,很多朋友投递简历到公司的时候,还有一个习惯,采用是机海战术,认为投递简历是多多益善。 其实,投递简历不需要太多,重点是找到投递的渠道,以及根据公司的情况来定制自己的简历。 举一个例子,你准备面试架构师 or 项目经理,又 or你打算技术转产品,是不是你投递的简历里,是否应该突出未来你想从事的具体工作,与你相关的优势点在哪呢? 

最后 

这里还给大家提醒一点,这里最好结合你投递的公司来优化你的简历。每一个公司的文化和氛围都不一样,所以,对应的面试官,查看简历以及现场面试的时候,除了你的硬实力考察以外,软实力的考察还不太一样。这些,你可以考虑在简历中,根据公司的情况来重点凸显。 以上就是我给到大家关于求职相关的3个建议,希望你们能早日加入你心仪的公司。

作者丨-小迷糊
https://blog.csdn.net/pangziaichi/article/details/87868651

收起阅读 »

一起爬山吗?如果张东升是个程序员

我就问你怕不怕!张东升是一家互联网公司的程序员,一直以来都勤勤恳恳老实工作。可最近一段时间,老板接了几个项目回来,不但开启了996的工作模式,更要命的是频频更改需求,弄得大家是敢怒不敢言。时间一久,东升慢慢开始消极怠工,晚上也不怎么加班了。终于有一天,和老板在...
继续阅读 »

我就问你怕不怕!

1.jpg

张东升是一家互联网公司的程序员,一直以来都勤勤恳恳老实工作。
可最近一段时间,老板接了几个项目回来,不但开启了996的工作模式,更要命的是频频更改需求,弄得大家是敢怒不敢言。
时间一久,东升慢慢开始消极怠工,晚上也不怎么加班了。终于有一天,和老板在会议室吵了起来,老板决意让其忙完手头的项目就离职。
老板看大家最近一段时间都很辛苦,决定组织一次团建,在群里询问大家有什么活动建议。
这时,张东升提议:“最近大家都工作挺累,也没有什么机会锻炼,身体要紧,要不一起去爬六峰山吧”
东升的提议获得了不少人的赞同,团建活动就这么定了下来。
团建这天,爬至半山腰,东升问老板:“您看我还有机会吗?”
2.png
老板看了他一眼,没有说话,继续抽烟。
爬至山顶,大家三三两两都在拍照发朋友圈。
这时东升拉住老板到一旁说给他拍照,老板知道东升是为讨好自己,也就没有拒绝。
东升举起手机,却说老板衣服有褶皱,上前为其整理,竟趁其不备将其推下山崖···

晚上,张东升还在电脑前调试着代码,突然,一封主题为“警告”的邮件窗口从侧边弹了出来。
东升的心跳立刻加速,小心翼翼的点开了这封邮件,正文只有四个字:“请看附件”
附件是一个word文档,东升并没有立即打开,职业习惯让他打开了VMware虚拟机,在虚拟机中打开了这个文件。
原来以为白天的事无人知晓,没想到这一幕正好被对面山头正在拍摄抖音短视频的三个小孩用手机录了下来。
三个小孩看到了张东升T恤上的公司名字,并在公司网站上找到了他的邮箱,这才给他发了这封邮件。
张东升看到后,大惊失色,想找到对方,却不知道对方是什么来头。
这时他注意到附件是一个docx文件,想到office2007及其以后的版本才用这个格式,其实际上是一个压缩文件格式zip。
东升思索片刻将其重命名为一个zip文件,然后解压,想看看是否能发现些什么信息。
3.png
接着在docProps目录下找到了app.xml:
...
<AppVersion>15.0000</AppVersion>
...
版本号是15,看来对方用的是一个Office2013版本的word。
东升很快在网络上搜到了一个漏洞:CVE-2017-11882,这是一个可以远程执行代码的漏洞,字符串拷贝没有对长度进行校验导致栈溢出。
说干就干,东升打开了metasploit,通过它很快生成一段包含恶意代码的word文件,将其作为附件回复给了对方。
三个小孩此刻正聚集在朱朝阳的家里,自从他们发送了警告邮件,心里就忐忑难耐,一直盯着电脑屏幕,看看是否会有回复。
一看到邮件弹窗,就赶紧点了开来。邮件正文也只写了一句话:我想说的都在附件中。
朱朝阳没有犹豫,又立刻点了附件。电脑上的Word进程随即启动,解析附件doc文件时,触发了漏洞,执行了张东升事先编写的恶意代码。而此时,朱朝阳却一无所知。
4.png
恶意程序很快和张东升的电脑建立了网络连接,并开始收集朱朝阳电脑的信息,IP地址、MAC地址、电脑文件等等。
东升不愧是经验丰富的程序员,为了躲过电脑防火墙的拦截,他编写的恶意代码通过ICMP协议的负载字段进行数据传输。
朱朝阳正瞅着空白的word文档感到疑惑,突然电脑屏幕上出现了一个视频聊天窗口,一陌生男子的画面突然出现吓得朱朝阳惊出了一身冷汗。
定睛一看,这男子不是别人,正是推人的张东升。
张东升先开口了:“没想到竟然是个小孩。我已经知道你电脑的IP地址,也知道你家住在哪里,明天上午出来聊聊,就在你家巷子口的面馆。”,说完就切断了视频信号。
张东升的突然出现,显然吓坏了朱朝阳。一旁的严良问到:“什么是IP地址?他又是怎么知道你家的位置,连面馆都知道,这简直太可怕了。”
朱朝阳镇定了两分钟,缓过神来,说到:“一定是刚才的邮件附件有问题,我的电脑已经被他控制。IP地址是电脑接入网络分配的通信身份证号码,通过IP地址就能锁定电脑的位置,再用地图一看就能知道附近的街道布局和街景画面,知道面馆也就不足为奇了”
这一夜注定是个不眠之夜。
第二天,双方如约相见。张表示可以用钱买下手机,严良威胁张东升,要卖可以,必须30万。
东升愣了一下,“你们小小年纪,要这么多钱做什么?”
严良顶了一句:“不关你的事”
东升无奈,表示要先看到手机视频再说。
朱朝阳拿出手机,刚打开视频,手机竟然没电。张见状拿出自己手机的充电器给朱朝阳。
待手机充电,张看到了视频。张表示他一个程序员,挣得不多,要等到四月份发了年终奖才凑得齐。
三小孩却只给了他一个星期时间。
一个星期过去,见东升未曾联系,三小孩主动联系张。张却不以为意,说让他们去报警吧。
三小孩不解,正想拿着手机去报警,却发现手机竟然已经死机无法打开了。
原来张东升拿出的那个充电器是事先精心准备,充电器里面内置了一个小型芯片,数据线一旦连接到手机就植入病毒程序,等待时机进行手机数据破坏。
5.png
不过,让张东升没有想到的是,朱朝阳竟然提前备份了数据,再次发来邮件威胁。
夜晚,洗完澡的张东升看着镜子里在自己,回想这些年多少次熬夜加班,不记得何时竟已经秃头,戴上了假发。
6.png
怒从心中起,恶向胆边生。张东升决定把这三个小孩一并收拾了。
东升跟踪数日,终于找到另外两个小孩原来住在海边浅滩的破船上,一天夜里洒满汽油纵火焚烧。
随即又潜到朱朝阳的住处,竟发现虽然已是深夜,朱朝阳还在电脑旁写着代码,旁边的书桌上放满了C/C++编程、数据结构与算法、操作系统等书籍。不禁想起了当年挑灯学习编程的自己。没想到一失足成千古恨,如今自己再也回不了头了。
不知何故,张东升竟改变主意,悄然离开了。
第二天,张向朱朝阳的电子邮箱里发送了一份学习资料,什么剑指offer、分布式计算、云计算、微服务、Dubbo、高并发、数据库实战,琳琅满目,应接不暇,足足有100多G。
不久,海边纵火一事案发,警方通过在电信局部署的网络流量采集中心的木马警报日志,溯源恢复了之前的邮件来往信息,很快锁定了程序员张东升。
张东升再次来到朱朝阳家,挟持了朱,警方随后赶到。
朱问张:你杀了我的小伙伴,为什么却给我发了一堆学习资料?
张东升笑着说:“杀了你有什么意思,我要你像我一样,成为一个程序员。”
朝阳却说:“那你干嘛给我放网盘,100多G的资料,60KB/s,你知道要下多久吗?”
东升一听大怒,举起手中利器便要作势刺向朝阳,只听一声枪响,东升应声倒下。


转自:Python技术之巅(公众号:PythonPeak)

作者:轩辕之风

收起阅读 »

618电商万亿订单狂欢幕后的直播平台技术之殇 | 产业观察

RTC
经历了疫情带来的半年“空窗期”,这个“618”购物狂欢节格外的热闹,各大电商平台和企业你方唱罢我登场。618当天,天猫和京东累计下单金额均创下纪录,分别为6982亿元和2692亿元。而在国内疫情减弱后的首个全民大促节点,风口之上的电商直播带货也不出意外的从一众...
继续阅读 »

经历了疫情带来的半年“空窗期”,这个“618”购物狂欢节格外的热闹,各大电商平台和企业你方唱罢我登场。618当天,天猫和京东累计下单金额均创下纪录,分别为6982亿元和2692亿元。

而在国内疫情减弱后的首个全民大促节点,风口之上的电商直播带货也不出意外的从一众营销策略中脱颖而出。来自淘宝直播的薇娅在整个618活动共直播18场,累计带动GMV高达21.95亿;李佳琦直播带货GMV达13.35亿;快手辛巴6月14日创下直播带货新纪录,带货GMV12.5亿。

此外众多企业大佬和明星跨界直播,董明珠5场直播销售额超178亿,罗永浩抖音618当晚跨夜直播,斩获2597.3万.....电商直播成为当之无愧的主角,俨然成发展数字经济的新抓手。

在这些震撼人心的数据背后,是中国愈发庞大的电商直播用户群体,iiMedia Research(艾媒咨询)数据显示,2019年中国在线直播行业用户规模达5.04亿人,增长率为10.6%,而2020年用户规模预计达5.26亿人。

随着直播带货如火如荼的进行,如此大规模的用户量也给直播平台系统带来了更多挑战,一旦在实时互动中出现音视频不可用,高延时、高卡顿的情况,就会影响到直播的效果,如何用技术手段给用户以良好的观看体验,成为摆在电商直播行业面前的首要问题。

延时、高并发成为主要技术难题

在解决问题之前,我们首先需要了解下这些问题究竟是怎么产生的,以便对症下药。首先是音视频的延时问题,我们可以从一场电商直播中音视频流从主播端到用户端的传输过程来进行分析:

1、主播端延时

主播端的延迟很大程度来自视频流的前处理,例如开播时主播都会用到的美颜软件,美颜其实就是视频前处理的一种,在摄像头采集到人脸视频信息后,会先由美颜进行一个前处理工作,然后再将视频编码传送到服务器上,在这一过程中,无论是前处理还是编码都是需要耗费一定时间的。

2、传输过程延时

传输过程本身就因为网络状况等问题存在一定的延时,如果服务器与服务器之间的网络有丢包,或某台服务器负载过高,都会导致音视频的延时。

除此之外,编码压缩工作也还会耗费一定的时间,当然这部分时间根据不同厂商提供的平台能力、可用性都有些差别,这和系统架构设计、运维能力都息息相关。

3、用户端延时

用户端的延时一方面要考虑到用户的网络状况,另一方面也要考虑到用户的硬件系统能否支持,一些老旧的机型在进行解码处理时,由于CPU被大量占用,很容易发热发烫,导致手机卡顿。

直播的延时就是在这些过程中慢慢积攒的,美颜需要合成处理的时间、传输需要一定的时间,音视频压缩合成需要一定的时间,视频分发还需要一定的时间……在遇到网速和服务器出现问题时,延迟可能会进一步增加。

而电商直播系统开发中比较常见的“高并发”问题就比较好解释了。正常情况下,直播平台可以很稳定流畅地为用户提供服务。

但一旦遭遇618、明星直播等特殊情况,流量以平时的百倍、千倍甚至万倍的规模进入,所谓的高并发问题就出现了,如果在平台的开发过程中,没有考虑到并发量的问题,那么就会造成服务器的崩溃,导致观看失败,影响直播用户的使用体验。

WebRTC协议

解决直播延时的新武器

问题并非仅此而已,事实上当前中国仍旧有80%的移动环境处于弱网状态,基本上所有的移动直播,内容传输上都会很困难。相关数据显示,有超过7成的视频从业者认为,延迟和卡顿阻碍了直播行业的整体发展。

所以最理想的直播状态当然是在保证高清晰度的同时做到音视频的低延时和高流畅,这就意味着,延时最大不超过500ms,数值越小越好。而延时反应到包括电商直播在内的直播场景中时,主要看2个核心指标:首开时间和再缓冲时间。

首开时间即从打开到看到视频画面的时间,会受域名解析、连接、首包时间的影响,首播时间控制在1秒内算是不错的效果。其次是再缓冲时间,是用户观看视频时的卡顿时间。

既然延时对于直播如此重要,那么延时问题该如何解决呢?

其实,经过这些年的发展,我国的直播技术已经趋于成熟,通过多种专为流媒体开发的协议和技术手段来优化延时问题。经过多年的沉淀,目前国内主流的有RTMP和WebRTC两大阵营。

RTMP 对底层的优化非常优秀,适合长时间播放,同时它 Adobe Flash 支持好,基本上所有的编码器(摄像头之类)都支持 RTMP 输出。

另外RTMP最大的特点是与CDN的强绑定,借助CDN的负载均衡系统将内容推送到接近用户的边缘节点,使用户就近取得所需内容,提高用户访问的响应速度和成功率,解决因分布、带宽、服务器性能带来的访问延迟问题,目前RTMP一般延时在 3s 左右,对于标准的直播场景来说是够用的。

当然,虽然RTMP具备集成方便、兼容性较好等优势,但在延时问题上依然不能满足日益攀升的需求,于是WebRTC因其低延时和无卡顿的特性而备受关注。

WebRTC是一种基于浏览器的实时通信的开源解决方案,使用UDP私有协议来进行媒体推流,而不需要创建离散的媒体段;并且它是面向无连接的,没有TCP连接断开时的挥手确认连接关闭的机制。 

基于这两点,WebRTC能够做到毫秒级的低延迟,远远低于基于RTMP协议的 CDN 分发的延迟。而且,它直接通过浏览器就可以完成推流和播放。

因此,WebRTC协议针对有高互动性要求的电商直播场景尤为适宜。以我们熟知的淘宝直播为例,其在19年推出的超低延时直播服务RTS方案就是基于WebRTC实现的,可以为用户带来端到端延时1秒内的低延时直播体验。

当然WebRTC要实时超低延时也是需要多种技术来辅助的,RTS服务就针对全链路直播指标进行监控和针对性优化,以及通过智能调度系统以及网络拥塞、抗弱网优化、缓冲策略等进行一系列底层核心技术优化。

另外,国内知名的第三方通信云服务商融云提供的RTC解决方案也是基于WebRTC来实现的。在通信协议层面保障音视频传输的稳定性和流畅性。

同时在底层架构设计上,融云RTC智能路由可以在复杂的互联网环境下,实现客户端实时网络探测,选择最近的Media Server(媒体服务)节点接入,大幅度提升连接速度。

对于弱网下如何解决延迟问题,融云也提供了一些公开的策略供开发者参考。其中最核心的策略就是迅速预估带宽变化,根据带宽自动适配码率,来确保音视频流畅优先。

准确来说就是在网络链路发生丢包以前就监测到网络拥塞情况,再通过 NACK(丢包重传)、FEC(前向纠错)和动态调整码实现自适应带宽控制,以及通过接收端 Jitter Buffer(媒体流平稳)实现自适应抖动缓冲控制,在提升速度的同时保障通话质量。

融云自研的丢包补偿策略还可使接收端定期通知发送端自己未接收到的包,发送端在发送缓冲区找到对应的数据包,重新发送到接收端,确保音视频的传输质量。

通过这些先进的技术架构和自研的多项技术策略,融云音视频全球范围内的端到端延时小于 400ms,最低延时 66ms,从而保障端到端之间延迟无感知的实时互动。

高并发引出的架构话题

高并发问题主要是考验音视频服务的设计架构,是否能够在激增的流量冲击下实现平稳运行。

从直播角度上来讲,若在某个时间点,直播平台能够承载大量的线上观看人数而不影响播放品质,说明该平台在出现高并发情况时,优化的比较到位。

举个例子,某平台邀请流量鲜肉进行直播带货,由于用户涌入过猛(如观看人数上升,弹幕消息爆发等),很容易导致画面卡顿甚至导致服务器宕机。

所以在融云首席架构师李淼眼中,一个优秀的架构应该具备以下特征:

第一、伸缩性

伸缩性就是保证在业务不中断的情况下,可以平滑地进行各种服务。优秀的架构应该具备良好的伸缩性,所谓的“伸”,是系统在运行中业务量上来了,这个时候需要添加服务器,在业务不中断的情况下,可以平滑地把整个集群扩大,承载相应的业务量。

所谓的“缩”,是指在服务器处于空闲状态,保证业务不中断的前提下,可以把资源再降下来,避免浪费。

第二、高可用

当服务出现问题时,可提供容灾、自动切换、自动恢复等机制,减少停工时间,保证服务不间断地持续对外提供支持。

第三、扩展性

很多人容易混淆扩展性和伸缩性这两个概念。所谓扩展性,就是灵活地对业务进行变更。比如,在保证业务不中断的情况下,可以平滑的上线新功能,对用户来讲如果感知最小,那它的扩展一定很灵活。

第四、高性能

是指在固定的资源下可以承载更多的业务,这个也是开发人员一直追求的。

此外,服务器耦合的问题也在音视频架构中长期存在。业界现有的实时音视频普遍基于分布式有级联的 RTC 架构——信令服务器与媒体服务器紧密耦合,这种设计模式下如果媒体服务与信令服务之间存在异常状态,就会导致整个音视频通话中断,用户间信息传输的稳定性、可靠性难以保障。

但在融云实时音视频服务中,分布式的去中心化RTC通信架构可使信令服务与媒体服务解耦,彼此无依赖,确保当用户数激增或者流量激增的时候,能够快速的去扩展这些节点,很好地解决了延时和稳定性问题,保证直播业务能够稳定的运行。

对于电商直播的高并发,还有很重要的一点是直播间聊天室的属性实时同步的问题,在线人数、累计人数、商品链接与列表等信息,需要不断访问和请求服务器,并将数值进行返还,而数值频繁变化,无论是轮询还是通知,都有高并发压力。

所有在聊天室里面的需要展现的内容,都可以通过融云的聊天室属性管理服务来实现,无需频繁地访问服务器即可自动获取相关信息,可大大缓解电商平台的服务器压力。

电商直播不仅仅是音视频技术的应用

实际上,除了音视频技术来保障直播质量之外,电商直播对于即时通讯和推送同样有着极高的需求。

比如说,电商直播中的聊天室,让用户可以在弹幕上与主播和粉丝互动,这就是很纯粹的即时通讯技术应用,用户在直播间的提问、点赞、下单等行为背后都需要即时通讯技术,而用户收到直播通知、购买成功通知等App的推送消息,同样是需要即时通讯技术来实现。

因此在应用内构建一套完整的直播体系,需要实时音视频、即时通讯等多种能力。对于直播系统的开发人员,还有一个痛苦是:如果通信的能力是分散的,集成了不同的厂商,如果出现问题,就要找好几个服务商去协调,这是很常见的。

比如说直播平台有时候碰到一个通信层面的问题,因为IM和音视频在很多场景下它是有耦合的,例如呼叫的信令,一般会通过IM消息去下发,然后把音视频呼叫起来,媒体流再进行一些中转。

如果是IM和音视频分别由两个厂商来提供能力,出现了这些问题之后,平台就要找不同的厂商去判断。

所以在服务体系上面,对于开发人员来说成本也很高,所以从业务集成和服务这两个角度,其实使用同一个厂商的一套SDK,这些东西对于平台来说成本都是最低的,集成的效率也最高。

融云在近期全面升级实时音视频服务能力的同时,也推出了“IM+RTC+推送”的通信一体化解决方案,致力于用一套SDK解决电商直播等通信场景,充分满足电商直播业务中对于即时通讯与实时音视频的多元化需求。

例如知名奢侈品电商寺库的直播平台就是依托于融云互联网通信云来实现的,通过融云“IM+RTC+推送”的通信一体化解决方案,为用户带来了稳定流畅的直播体验。

同样是在618期间,广州直播电商狂欢节思埠专场在全网顶级网红的号召力下,有海量客户进入直播间互动并购买商品。

当接到客户的需求后,融云技术服务人员动态调整服务器部署,并针对客户实际情况量身定制相应的保障方案,帮助平台平稳度过业务峰值期,确保直播活动的顺利进行。

电商直播的未来在何方?

一方面,新技术将继续变革直播的形态。随着5G、超高清、VR、边缘计算等技术发展,低时延、大流量、高并发将成为常态,主播与观众的互动将更加实时、丰富和有趣。特别是5G时代的到来,无疑将会给电商直播带来全新的变革。

1.更清晰

此前,淘宝主播“大大大雪梨”在浙江完成了全国首场5G电商直播。据报道,通过超清4K画面,消费者不仅能看到直播间的整体情况,还可以对局部细节进行放大,让商品实时展示更为清晰、直观。

2.更快速

使用5G技术直播,相对4G而言,5G用户上行平均速率可达4G的十倍至百倍以上,现场每一帧直播画面都能实时传递。

3.低延时

即使是目前最先进的技术,在最优的网络环境下,直播延时也会达到几十毫秒,而5G的毫秒级低延时让人们几乎感受不到网络延迟的存在。

4.更稳定

4G时代的网络需要同时一起传输各种数据,这些数据会互相争夺挤占带宽资源,体验感会变差。

而5G切片技术的出现可以直接将一个物理通道分成多个虚拟通道,直播信号可专用其中一个资源独享的虚拟通道,实现固定带宽和高可靠性,能够保障视频直播的正常进行。

另一方面,融云在长期的市场观察中还发现了一个新的趋势:小程序正在成为直播带货的新战场。

当前,淘宝、抖音、快手等各大平台的直播带货如火如荼,头部和腰部主播的热度居高不下,坑位费普遍上涨,卖货的佣金比例也有所增加,按照二八法则,后入者的门槛相对变高。于是,不少商户和品牌主把小程序作为直播带货的第二战场。

艾媒咨询数据显示,2019年微信小程序电商用户预计将达2.40亿人。微信平台红利及小程序的诞生,为移动电商发展提供强大助力。

背靠微信成熟的生态和巨大的流量池,兼具强社交和易传播的优势,借力小程序高效连接线上和线下,把零售电商的核心要素充分联结起来,实现私域流量池的建立和变现。

无需安装、触手可及、用完即走、裂变分享,小程序直播,无疑将成为电商的必争之地。


收起阅读 »

我,一个靠 GitHub 打赏谋生的程序员,如何做到年入 10 万美元?

如果提到靠打赏生活的人,我们首先想到的会是主播。但现实情况是,程序员也可以。这位活成主播的程序员名叫 Caleb Porzio。在过去的一年里,他靠 GitHub 项目的打赏赚到了 10 万美元。在他的自述文章中,他分享了自己靠 GitHub 项目赚钱的经历和...
继续阅读 »

如果提到靠打赏生活的人,我们首先想到的会是主播。但现实情况是,程序员也可以。这位活成主播的程序员名叫 Caleb Porzio。


在过去的一年里,他靠 GitHub 项目的打赏赚到了 10 万美元。在他的自述文章中,他分享了自己靠 GitHub 项目赚钱的经历和技巧。

2-1.jpg

Caleb Porzio 发推庆祝自己靠 GitHub 打赏(GitHub Sponsors)赚到了 10 万美元。


GitHub Sponsors 是 GitHub 2019 年 5 月份推出的一个功能,允许开发者通过自己的项目获取报酬/赞赏。


全职开发转自由职业,是怎样一种体验?以下是 Caleb 的故事。

我要分享一下自己走上自由职业的经历。

2018 年是我做全职开发的最后一年,当时我的年收入大概是 9 万美元。
2-2.jpg
嗯,虽然说现在开发人员的薪资水平比较疯狂,但 9 万美元对我来说也是一笔可观的收入了。再加上我妻子的收入,以及「胡子主义」生活哲学的指导,我们可以省下很多的钱。

2019 年 1 月 11 日,我离开原来的公司开始「休假」,想要换种心情,做自己想做的一切。几个月后,我正式开始了自由职业者的生活。

「休假」期间,我读到了这篇文章:《Phoenix LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript》,并从中受到启发。我发现自己也可以做出类似的成果。

当时我还发了一条推特:
2-3.jpg
「决定开发一个类似 Laravel 的东西。我感觉这可能是个重大改变。」

现在看来,这确实改变了我的生活。

也是在这一天,我的「休假期」结束了。我完全被这个后来叫做 Livewire 的项目迷住了,并开始全身心地投入于此,这种沉迷一直持续到现在。

我也创建了一个非常流行的 JS 框架,叫做 AlpineJS,目前也是由我在管理和维护。但那是另外一个故事了……

做开源软件不能完全养活自己,所以我也接过一些小型的代码指导方面的需求,让 2019 全年的收入维持在一个稳定的状态。

这张图是我 2019 年通过自由职业方式获得的收入:
2-4.jpg
我的收入减少了 7 万美元,看起来是比较冒险的举动。但我知道,如果此刻不开始做这件事,以后可能就更没有机会了。

一路走来,有很多好心人联系我,询问他们是否能够提供项目上的帮助。比如这种:
2-5.jpg
很长一段时间我没有更新 Patreon(一个众筹创作网站),那里会有一些人每个月给我五美元。如此也很好,但对我来说没有意义。

然后,我发现了 GitHub 的打赏功能,把项目直接托管在 GitHub 上即可。2019 年 12 月 12 日,我成为了 GitHub Sponsors 的一员。
2-6.jpg
这是我的第一个打赏者,Brian,谢谢你!

迄今为止,我已经从 GitHub sponsors 那里收到了 2.5 万美元打赏金。
27.jpg
直到撰写本文时,我的 GitHub 年度打赏金额已经达到了 112680 美元。

2-8.jpg

是运气,还是实力?我有点不敢相信我在开源社区里做开源软件,赚的钱比以往任何时候都多。

掐我一下,我是在做梦吗?

是因为我开发的软件太过优秀?让 535 位开发者每个月都打赏我 14 美元。不管怎么说,继续努力吧!

接下来,我想分享一些过程中的经验,希望能帮到也想从事类似开发工作的人们。

通过 GitHub 打赏赚钱的三个阶段

阶段 1:热心人士

最初,GitHub Sponsors 是一个让忠实粉丝能够资助他们所支持项目的平台。这些人的数量,和真正使用软件以及从中赚钱的人数比起来,并不算多。

基于开源的前提,人们本来就可以免费获得该软件。所有收入完全是来自那些友善热心肠的人们。
2-9.jpg
首先,非常感谢这些人。然后我们谈谈第一个高峰是怎么到来的。

阶段 2:打赏软件

这个阶段,事情开始变得奇妙。
2-10.jpg
当时,我和我的兄弟 Daniel 录制了一期《No Plans To Merge》。在思考如何将其变现时,我们想到了一个新颖的想法:「打赏软件」。

它的工作方式如下:

  1. 创建一个很棒的软件;

  2. 使其仅对打赏者开放,直到你积累了一定数量的打赏者;

  3. 然后将项目开源给全世界。


这是一种双赢。效果很好,几天之内我的收入就增加了 1.1 万美元。
2-11.jpg
我另外一位朋友 Nuno Maduro 最近在他的 Pest 项目中复制了这一方法,同样取得了成功:
2-12.jpg
这种方法很棒,但是需要不断地提供新的想法,所有的这些都将成为我必须持续进行的项目。长远来看,我需要更合理的东西。

阶段 3:教学视频

我得到的大部分打赏金都是这个阶段来的:
2-13.jpg
这里边有什么秘诀吗?答案是:录制教学视频。

构建有用的软件是一回事,但教别人怎么用完全是另一回事。

我尽力创建高质量的文档,但总有人需要更加高级的内容。

为了满足这些需求,我录了一系列教学视频。在这之后的三个月里,我的总收入从 4 万美元涨到了 10 万美元以上。
2-14.jpg
我在文档的适当位置嵌入了这些视频的链接,以帮助大家找到它们:
2-15.jpg
几个星期之后,我又为 GitHub 打赏者专门建立了一个「私有」的视频小组:
2-16.jpg
这就是我的秘诀(为了做到以上这些,我利用 GitHub 认证构建了一个 Laravel app 来调用 GitHub API,以验证用户是否为打赏者)。

现在,那些看免费视频的人自然会遇到这些「私有」视频,如果他们喜欢前面那些免费的内容,他们就会给我打赏来获取后面的视频。

每次有新特性出现,我都会放出一批新视频。此外,我还会给每位打赏者提供访问每节课源代码的入口。

在 90 天的时间里,我的年收入增长了大约 8 万美元。

现在我有了连续的收入,不用再将所有时间都花在课程发布上了。我将用空出来的时间继续开发这个软件,同时放出新的视频。

如何通过打赏赚更多钱?

实力是第一位的

要做到靠打赏谋生,首先离不开日益月累的磨练,你做的东西要真正有用才行。我把我所有的一切都投入到工作中,这点没有捷径。

你可以发现,我在一个开源项目中全职工作了整整一年才看到收入。能得到人们赞助的工作必须是高质量的,而且始终是排在第一位的。

积极寻找用户

你可以在网上创建优秀的工具,但如果没有人关注,再出色的工具也无法为你带来收入。因此,找到用户是赚钱的关键。在这方面,你的 Twitter 粉丝和邮件订阅者都是潜在的挖掘对象。

打赏金额设置不要太保守

很多 GitHub 开发者犯的最大的一个错误就是在初级打赏设置中写的钱数太少。

如果打赏者能选 1-5 美元 / 月,谁还会选更高的打赏金额。

我很早就意识到,如果我真的想做这件事,只有 5 美元的打赏肯定是不够的,所以我后来涨到了 14 美元。

给打赏等级取一个好名字

在给打赏等级取名的时候,记得取一个能描述打赏者类型的恰当名字。

举个例子,对于一个高级打赏等级来说,它的标签应该是「The Agency(代理)」或其他能够暗示一个公司应该给予高级打赏的标签,而不是「Platinum(白金)」这种模糊的说法。

这样一来,人们看到这个标签首先想到的会是:「我的用途到底属于哪一类」,而不是:「我每个月要花多少钱」。

不要羞于谈钱

在我的成长过程中,我一直认为谈钱是不礼貌的,但其实这是一个谎言。有一次,我一股脑涨了 1 万美元,因为一个合作者告诉我他们都赚多少钱。在得知他们的收入情况后,我对自己的要价感到心安理得。但如果他们不告诉我这个情况,什么都不会发生。

透明是一个健康的现象。

我不会隐瞒自己的收入,因为别人也不对我隐瞒他们的收入,这让我从中获利。

即使他们赚的比我多得多,我也不会感到心痛或想分一杯羹。相反,我只会感到激动和鼓舞。我希望其他人也能保持这种心态。

直接告诉别人你完全依赖这笔钱生活也没什么不礼貌的,而且这笔钱帮你打造出了人们每天都在用且从中受益的软件。

不要因为赚了很多钱而感到内疚

我一直都在提醒自己,我不是一个开发者布道师。如果我的打赏收入超过了平均生活水准,那也不错。我经营的也不是非营利组织。

我的收入和我的软件所带给别人的价值成正比,这没什么问题。

我做的不是什么神圣的工作,那些软件是企业拿来赚钱的,他们从中牟利,所以我从中赚钱也是 OK 的。

网友:我也能这么做吗?

Caleb Porzio 的这份经历也引起了许多开发者的关注,讨论最热烈的问题是:在我的国家或者地区,这个方法行得通吗?
2-18.jpg
「看到这些,我为自己国家芬兰的法律而感到难过。我们有一项名为筹款法的法律,其中规定,要想收取捐款(即无任何回报的支付)必须获得许可。这个许可证是付费的,而且不发给个人,只授予非营利活动。」

这就意味着,如果你在软件项目上看到捐赠按钮,并且该笔资金流向芬兰人,这个过程是违法的。

所以这位芬兰的开发者表示,他自己托管了一个免费项目,为此不得不成立一家公司(独资经营)并出售一些其他的东西,以便从服务中获利。即便人们有捐赠的意愿,他也不能「合法地」接受这些钱。
2-19.jpg
有人表示,在大多数西方国家都有类似的规定。因此,对于这些国家的人来说,自由职业虽然「自由」,但也同样需要花费更多的精力去管理琐事。
3-17.jpg
但在美国,这种做法的门槛要低得多。「如果是在美国的话,你可以作为个人接受无偿礼品,也可以作为个体经营者接受营业收入,无需额外注册什么。与往常一样,你需要精确缴纳税费,包括预扣税。」




转自:机器之心  (张倩、蛋酱)


原文链接:https://calebporzio.com/i-just-hit-dollar-100000yr-on-github-sponsors-heres-how-i-did-it


收起阅读 »

如何设计一个安全可靠的 API 接口?

最近几年,随着RESTful API开始风靡,使用HTTP header来传递认证令牌似乎变得理所应当,通过 RESTful 的API 接口设计简化了系统架构, 减少了耦合性, 可以让所有模块各自独立的进行改进。不过,在实际的REST API 接口设计过程中,...
继续阅读 »

最近几年,随着RESTful API开始风靡,使用HTTP header来传递认证令牌似乎变得理所应当,通过 RESTful 的API 接口设计简化了系统架构, 减少了耦合性, 可以让所有模块各自独立的进行改进。

不过,在实际的REST API 接口设计过程中,我们需要考虑如何让鉴权变得更安全可靠,例如不会被第三方恶意请求或者保证传输过程中的数据安全以及防止重复提交,本文就一起聊一聊。


传统的Session 认证方式


首先,我们说一些传统的认证方式,众所周知,HTTP 协议是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这就是传统的基于session认证。

而这种方式有很多问题:

首先,占用资源,这种方式需要每个用户经过认证之后,都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大。

其次,扩展性差: 客户端认证之后,服务端做认证记录,如果认证的记录被保存在内存中的话,这意味着用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,在一些分布式的场景下会限制了负载均衡器的能力,会限制了应用的扩展能力。

第三,容易遭受攻击: 这种基于cookie来进行用户识别的认证方式, 很容易被截获,用户就会很容易受到跨站请求伪造的攻击。


基于Token 的鉴权方式


由于session 认证的诸多问题,因此出现了基于token 的鉴权方式,这种方式不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利。

基于token 鉴权的工作流程如下:

  • 首先,客户端通过用户名密码来请求对应的API接口

  • 第二,服务器会验证用户的信息

  • 第三,服务器通过验证后会发送token给客户端

  • 第四,客户端存储token,并在每次请求时附送上这个token值

  • 第五,服务端验证token值,并返回数据

这种方式的典型代表就是JWT(Json web token , 它是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

它的特点如下:

  • 体积小(一串字符串)。因而传输速度快

  • 传输方式多样。可以通过 HTTP 头部(推荐)/URL/POST 参数等方式传输

  • 严谨的结构化。它自身(在 payload 中)就包含了所有与用户相关的验证消息,如用户可访问路由、访问有效期等信息,服务器无需再去连接数据库验证信息的有效性,并且 payload 支持应用定制

  • 支持跨域验证,多应用于单点登录

JWT通常由三部分组成:

  • 头信息(header)

  • 消息体(payload)

  • 签名(signature)

如下所示:


// Header { "alg": "HS256", "typ": "JWT" }

// Payload { // reserved claims "iss": "a.com", "exp": "1d", // public claims "http://a.com": true, // private claims "company": "A", "awesome": true }

// $Signature HS256(Base64(Header) + "." + Base64(Payload), secretKey)

// JWT JWT = Base64(Header) + "." + Base64(Payload) + "." + $Signature



其工作流程如下:

  • 首先,客户端通过发送HTTP 请求把账号密码发送给服务短,通常使用的是POST请求, 服务器会校验账号与密码是否合法,如果一致,则根据密钥生成一个 token 并返回,客户端收到这个 token 并保存在本地。在这之后,需要访问一个受保护的路由或资源时,只要附加上 token(通常使用 Header 的 Authorization 属性)发送到服务器,服务器就会检查这个 token 是否有效,并做出响应。

  • 服务端接收到 token 之后,会逆向构造过程,解码出 JWT 的三个部分,这一步可以得到 sign 的算法及 payload,结合服务端配置的 secretKey,可以再次进行 $Signature 的生成得到新的 $Signature,与原有的 $Signature 比对以验证 token 是否有效,完成用户身份的认证,验证通过才会使用 payload 的数据。


如何保证接口安全性


要想实现接口的安全性,我们可以做到以下几点:

首先,我们需要采用HTTPS 对传输过程中的数据进行加密,避免使用HTTP 这种明文传输的协议,防止数据直接暴露在公网中,在使用HTTPS的同时要保证时间安全可靠的加密方法和SSL 协议,目前主流的是TLS1.2 和最新的TLS1.3。同时要对证书进行校验,因为即使是HTTPS协议,证书也是能够被伪造的。

其次,对接口设计一般会加入 token、timestamp和sign 这些参数,不同的参数有自己不同的用途:

  • timestamp,即时间戳,它是客户端调用接口时传入的当前时间戳,时间戳的目的是用于防止DoS攻击。每次调用接口时接口都会判断服务器当前系统时间和接口中传的的timestamp的差值,如果这个差值超过某个设置的时间,例如设置的时间是3分钟,那么这个请求将被拦截掉,如果在设置的超时时间范围内,是不能阻止DoS攻击的。timestamp机制只能减轻DoS攻击的时间,缩短攻击时间。如果黑客修改了时间戳的值可通过sign签名机制来处理。

  • sign,即签名,通常用于参数签名,防止参数被非法篡改,最常见的是修改金额等重要敏感参数, sign的值一般是将所有非空参数按照升续排序然后+token+key+timestamp+nonce(随机数)拼接在一起,然后使用某种加密算法进行加密,这种方式的好处就是,当被劫持后,修改其中的参数值,然后再继续调用接口,虽然参数的值被修改了,但是因为攻击者并不清楚sign是如何计算出来的,所以即可是篡改参数的值,但没法修改sign的值,当服务器调用接口前会按照sign的规则重新计算出sign的值然后和接口传递的sign参数的值做比较,如果相等表示参数值没有被篡改,如果不等,表示参数被非法篡改了,则不会返回真实的响应信息。

  • 此外,接口设计时候要实现幂等性操作,所谓的幂等性操作就是为了防止重复性运算,我们可以将生成的签名和key保存到redis 中,并且设置超时时间,过期自动删除,当有重复的值存在则不会处理,就可以防止重复提交,从而保证请求结果一致性。

其使用流程如下:

  1. 接口调用方(客户端)向接口提供方(服务器)申请接口调用账号,申请成功后,接口提供方会给接口调用方一个AppKey和一个APP Secret参数

  2. 调用方申请App Key 和 App Secret 在生成请求时,将参数拼接后进行加密,例如使用HMAC-SHA256 或MD5加密,然后将 App Key, 加密结果追加到请求上。sign=加密(appId + timestamp + key)

  3. 服务收到请求后,根据App Key识别出调用方,解密得到参数以及对时间进行对比,判断是否超时,然后从字典中查询到对应的App Secret,与请求参数拼接、加密,与请求中的签名进行对比,签名结果相同的为合法请求。

以上就是给API 接口设计的一些建议,仅供参考,在实际的应用中还可以追加一些公共的参数,例如Host、接口的版本等等参数去进行校验保证接口的安全性。



作者 | 阿文

转自 | CSDN公众号(ID:CSDNnews)


收起阅读 »

乔布斯,比尔盖茨,扎克伯格等大佬的办公桌什么样?

大多数同为工程师的读者们,应该总是会对“工程师的办公桌到底有多乱”这类话题感兴趣,那些曾经的工程师、程序员巨佬的办公桌是否也杂乱无章呢?来看看。一、雷军从雷军的办公桌上,你看到了什么?稳压源、示波器……还有两台什么?阻抗分析仪?整体上看上去还是比较整洁的。一位...
继续阅读 »

大多数同为工程师的读者们,应该总是会对“工程师的办公桌到底有多乱”这类话题感兴趣,那些曾经的工程师、程序员巨佬的办公桌是否也杂乱无章呢?来看看。


一、雷军

微信图片_20200706102259.jpg

从雷军的办公桌上,你看到了什么?稳压源、示波器……还有两台什么?阻抗分析仪?整体上看上去还是比较整洁的。一位软硬皆通的CEO,不知道现在小米公司做这么大了,是不是还是这样的办公桌。


二,丰田章男


丰田第四代长孙,仅仅用了7年时间就将丰田锻造成一个年销千万级的庞大企业。丰田章男的办公室更像是释放情怀的聚集地,相比于繁琐的公务文件,这里的玩具更多一些,赛车、车模、本田asimo公仔以及头盔、贴纸等等,对于丰田章男来说,他将所有的时间奉献给丰田管理,办公室只是名义上的办公室,事实上它更像休息室多一些。

微信图片_20200706102337.jpg


与咱们印象中的企业高层完全不同,与其说是办公室,不如说是一个私人的电玩玩家的收藏室。桌上除了电脑,其它就是布列了很多的物件。只有20多个平方米的办公室布满了机器人公仔、汽车模型等。有没有像卖杂志报刊的店面呢

三,Jim Williams


作为早期的linear成员之一,Jim拥有了不小的财富,但他直到去世前还是喜欢在LAB里工作,喜欢设计电路,并把电路设计思想用最简单的方式描述出来。无数模拟工程师从他的文章中获益匪浅。

微信图片_20200706102404.png


Jim的职业生涯始于麻省理工营养实验室(MIT Nutrition Lab),制作实验、研究所需的电路的系统。就我所知,Jim没有正式拿过电子工程学位,他在这方面主要是自学。出于对模拟电路的爱,Jim每年都会回到麻省理工为电子工程专业的学生客座讲课,也会进行一些招聘和拓展。

微信图片_20200706102425.jpg


四,Linux创始人Linus Torvalds


Linus Torvalds是世界上最著名的程序员之一,是Linux操作系统之父。并制作了近乎通用的Git分布式版本控制系统

微信图片_20200706102443.jpg

2014 年 7 月,Linus 首次公开了他的家庭办公室。有一台转角办公桌,桌面可能和大多数人一样,比较凌乱,有各种连接线、3D打印机、线缆、硬盘……。linus还有一个可以站着工作的工作台,比坐着工作更健康。


五,比尔盖茨


比尔·盖茨是前微软 CEO 兼联合创始人,他的办公室就是高科技的设计感,这里空间大,非常符合现代我们对于 CEO 办公室的理解,但是比较简约大气。值得一提的是他的三面屏电脑,看起来好霸气,调试代码时比较方便。

微信图片_20200706102508.jpg

六,史蒂夫·乔布斯


苹果前CEO史蒂夫·乔布斯的办公桌,想不到他办公室竟然如此简单,没有过多的装饰,一个书架和一个书桌,布满了书籍,以及办公所用的必须工具。

微信图片_20200706102528.jpg

七,扎克伯格


扎克伯格身价高达623亿美元,折合人民币早就超越了千亿元,是全球十大富豪中最年轻的一位,在公共办公区域进行办公。扎克伯格的工作状态非常专注,还发现了他桌子上的头盔和运动衫,非常邻家的感觉。

微信图片_20200706102542.jpg

回看了一下自己的办公桌,角落里落满的灰尘和散落一桌的杂物,我欣然接受了这种工作辛苦而未及收拾近两年未变的状态。。。


作者:Python之禅

链接https://mp.weixin.qq.com/s/nvBYwiX9TdGT1UN819i9qA

收起阅读 »

Linux Mint 20 正式发布了!你该升级吗?

Linux Mint 20 “Ulyana” 终于发布了,可以下载了。Linux Mint 19 基于 Ubuntu 18.04 LTS,而 Mint 20 则基于 Ubuntu 20.04 LTS —— 所以你会发现很...
继续阅读 »

Linux Mint 20 “Ulyana” 终于发布了,可以下载了。

Linux Mint 19 基于 Ubuntu 18.04 LTS,而 Mint 20 则基于 Ubuntu 20.04 LTS —— 所以你会发现很多不同的地方、改进的地方,可能更棒了。

既然它来了,让我们来看看它的新功能,在哪里下载它,以及如何升级你的系统。

Linux Mint 20:有什么新东西?

说到 Linux Mint 20 的发布,有很多事情要谈。虽然我们已经介绍了 Linux Mint 20 的新的关键功能,但我还是在这里提几点,让大家一目了然。

  • Nemo 文件管理器在生成缩略图方面的性能提升

  • 一些重新设计的颜色主题

  • Linux Mint 20 将禁止 APT 使用 Snapd

  • 一个新的图形用户界面工具,用于通过本地网络共享文件

  • 改进对多显示器的支持

  • 改进对笔记本电脑的混合图形支持

  • 不再有 32 位版本

除了这些变化之外,你还会注意到 Cinnamon 4.6 桌面更新后的一些视觉变化。

以下是 Linux Mint 20 Cinnamon 版的一些截图。

分别为

Mint 20 Welcome Screen

Mint 20 Color Themes

Mint 20 Nemo File Manager

Mint 20 Nemo File Manager Blue Color Theme

Mint 20 Wallpapers

Mint 20 Redesigned Gdebi Installer

Mint 20 Warpinator Tool for Sharing Files on Local NetworkMint 20 Terminal

升级到 Linux Mint 20:你需要知道什么?

如果你已经在使用 Linux Mint,你可以选择升级到 Linux Mint 20。

  • 如果你使用的是 Linux Mint 20 测试版,你可以升级到 Mint 20 稳定版。

  • 如果你正在使用 Linux Mint 19.3(这是 Mint 19 的最新迭代),你可以将系统升级到 Linux Mint 20,而不需要进行重新安装

  • Linux Mint 20 没有 32 位版本。如果你使用 32 位的 Mint 19 系列,你将无法升级到 Mint 20

  • 如果你使用的是 Linux Mint 18 系列,你必须先通过 Mint 19 系列升级。在我看来,重新安装 Mint 20 会比较省时省事

  • 如果你使用的是 Linux Mint 17、16、15 或更低版本,你一定不要再使用它们了。这些版本已经不支持了

我们有一个详细的指南,展示了从 18.3 到 19 升级 Linux Mint 版本的步骤。我猜测 Mint 20 的步骤应该也是一样的。我们的团队会对 Mint 19.3 到 Mint 20 的升级做一些测试,并在适用的情况下更新这个指南。

在你继续升级之前,请确保备份你的数据和使用 Timeshift 创建系统快照

下载Linux Mint 20

你可以简单地前往其官方下载页面,为自己抓取最新的稳定 ISO。你会发现官方支持的桌面环境的 ISO,即 Cinnamon、MATE 和 Xfce。

此外,还为那些网络连接缓慢或不稳定的用户提供了 Torrent链接。

如果你只是想在不更换主系统的情况下试一试,我建议先在 VirtualBox 中安装 Linux Mint 20,看看这是不是你喜欢的东西。

你试过 Linux Mint 20 了吗?你对这个版本有什么看法?请在下面的评论区告诉我你的想法。


via: https://itsfoss.com/linux-mint-20-download/

作者:Ankush Das 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

收起阅读 »

【招聘】寻一枚熟悉融云IM的开发工程师,坐标合肥,待遇从优

各位一直关注融云的攻城狮们注意了!这里有一份靠谱的~工作机会!作为回馈长期支持融云的你,待遇从优是必须的,来唠唠基本要求:坐标:合肥要求:需要你有3-5年的安卓开发经验,并熟悉IM相关开发逻辑加分项:深度了解融云sealtalk、demo的源码,并有能基于融云...
继续阅读 »

各位一直关注融云的攻城狮们注意了!这里有一份靠谱的~工作机会!

作为回馈长期支持融云的你,待遇从优是必须的,来唠唠基本要求:

  • 坐标:合肥

  • 要求:需要你有3-5年的安卓开发经验,并熟悉IM相关开发逻辑

  • 加分项:深度了解融云sealtalk、demo的源码,并有能基于融云IM的二次开发能力和过往经验。

如你正好符合上述条件,别犹豫,马上把简历砸过来:wangjingfeng@rongcloud.cn

收起阅读 »

印度宣布封杀59个中国App,透露了哪些信息?

6月29日,印度政府信息技术部宣布,以 “有损印度主权和完整、印度国防、国家安全和公共秩序”为由,宣布禁止59款来自中国的应用程序,这些应用包括抖音海外版Tik Tok、微信、微博、百度地图、UC浏览器、快手海外版Kwai、QQ等,59款App均来自中国公司。...
继续阅读 »

6月29日,印度政府信息技术部宣布,以 “有损印度主权和完整、印度国防、国家安全和公共秩序”为由,宣布禁止59款来自中国的应用程序,这些应用包括抖音海外版Tik Tok、微信、微博、百度地图、UC浏览器、快手海外版Kwai、QQ等,59款App均来自中国公司。

截至《财经》记者发稿时(6月30日下午),Helo和Tik Tok已经在印度各大应用商店下架,包括Vigo(火山视频海外版)在内的其他一些应用暂时还可以下载和使用。印度官方公告中也并未说明会用哪种方式禁止这些App以及具体的禁止时间。此外,印度政府此番对中国互联网公司的限制尚未波及来自中国的资本,如有中资背景的印度支付应用Paytm以及外卖软件Zomato等均尚未出现在禁令上。

一位印度高级官员在匿名接受印度《经济时报》采访时表示,这些被禁止的中国App已存在很长时间并存在隐私和安全问题。他还称,印度政府在做出这项决定之前已考虑了所有方面。

针对印度近日宣布封杀微信抖音等59款中国App,中国外交部发言人赵立坚6月30日回应称,中方对印方有关公告表示强烈关注,正在了解核实情况,中国政府一向要求中国企业在遵守国际规则和当地法律法规的基础上开展对外合作,印度政府有责任根据市场原则维护包括中国企业在内的国际投资者的合法权益。中印两国在务实领域的合作是互利共赢的,这种合作格局受到人为损害,实际上并不符合印方自己的利益。

腾讯集团相关负责人向《财经》记者表示,针对这一事件不予评价和回应。截至《财经》记者发稿,字节跳动和百度等相关公司也没有给予《财经》记者正式回应。

资深科技行业从业者和观察家李军向《财经》记者分析,印度政府对中国App的限制措施可能包括但不仅限于:在用户购买手机时不再预装,印度本地的应用商店下架这些App,用户只能通过转换其他国家的账号来进行下载,他认为,大部分用户会卡在应用商店下载环节。

名单上的59个中国App可以分为三类,一类是在中国已经有市场基础,复制到印度市场,如微信、微博等;第二类为中国公司针对海外市场推出的孪生产品,如抖音的海外版Tik Tok;第三类是依靠印度市场成长起来的中国公司,例如跨境电商公司Club Factory,目前已经是印度第三大电商平台,仅次于亚马逊和Flipkart。

090807184205.jpg

随着技术的进步,信息安全对于国家安全的影响等级一再提升。此前欧盟多次指出互联网公司的数据安全隐患。几乎所有公司在面临类似指控时,都会强调对数据安全的重视,比如,该公司针对特定国家用户的所有数据都会保存在该国本地服务器中,不会被转移或滥用。

李军分析,海外市场的数据确实不太可能被公司转移,因为性价比太低,来自印度用户市场的数据对于中国公司的最大价值,可能是用于海外市场用户数据分析。

在全球互联网和科技领域,目前处于驱动者地位的是中国和美国,印度这样的新兴市场,市场空间庞大,但基础相对欠缺,缺资金,在技术、运营和平台搭建能力上也不够成熟,需要外部力量的支持,但同时也对全球开放了机会。在全球科技行业里,印度被认为是最大的,最具有想象力的新兴市场。

印度政府的禁令短期内对中国科技公司和资本都造成了不同程度的打击。长期来看,要想在这个可能有政策变数风险的国家继续开展业务,中国科技公司需要进一步调整姿势。

一、涉及至少6.5亿印度用户

当地时间6月29日深夜,大量和中国有业务联系的印度人,以及需要和印度合作方联系的中国人在微信朋友圈发出备选联系方式,避免由于微信被封杀导致的不利影响。

漏夜准备应对措施的不仅是用户。一位关注印度市场的投资人告诉《财经》记者,他们连夜整理研究了名单上的公司,计算出的数据是,这些App在印度的用户数量去重之后,有6.5亿。6.5亿用户背后,还有大量已经在这些App上投放广告的印度本地企业及他们的员工。

此次印度政府的封禁措施影响最大的可能是Tik Tok,印度是Tik Tok最大的市场,移动应用分析公司Sensor Tower数据显示,Tik Tok在印度总下载量超过5亿,占据Tik Tok总用户30%以上。

2019年9月,UC浏览器发布数据称,在全球拥有4.3亿多用户,印度是其主要市场之一,拥有1.3亿多用户。第三方数据分析公司StatCounter的数据显示,UC浏览器占据了印度移动浏览器市场逾23%的份额,仅次于谷歌Chrome。

字节跳动旗下的Helo是一个提供14种印度语言的社交媒体平台,2019年7月,Helo称拥有超过5000万月活跃用户。

今年6月,快手旗下Kwai已停止在印度运营,用户导入旗下的另一款短视频应用UVideo,目前该产品在Google Play商店的下载量已超过5000万。

前述不愿具名的投资人判断,这么庞大的用户体量,长时间全面封禁不太现实,而且,其中很多App目前在印度市场还没有成熟的替代品。对于科技公司来说,风险不会太大。

不过,从投资的角度来看,他表达了强烈的担心。他对《财经》记者说,这一举动对中国资本投资印度的信心将带来“毁灭性打击”,“谁都不敢去一个动不动就说要封了你的市场。”

近两年,中国资本十分热衷于投资印度市场。印度全球关系智库Gateway House今年3月发布报告显示,中国科技投资者对印度初创公司的投资额预计超过40亿美元。截至2020年3月,印度30家独角兽公司中,有18家背后有来自中国的投资者。

090807484041.jpg

印度独角兽公司背后的中国资方。数据来源:印度全球关系智库Gateway House

字节跳动一直试图将Tik Tok与中国公司分拆。今年5月19日,字节跳动宣布,任命前迪士尼高管凯文·梅耶尔(Kevin Mayer)为字节跳动首席运营官兼TikTok全球首席执行官,

“请Kevin来的主要目的之一就是为了打通Tik Tok的海外政府关系,独立运营。”

禁止名单中还包括3款游戏App,分别是北京智明星通旗下的《列王的纷争》、沐瞳科技旗下的《无尽对决》和一款小游戏社交App《Hago Play With New Friends》。不过,目前在印度最热门的游戏《PUBG MOBILE》(也称“吃鸡”,由腾讯发行)不在名单之中。第三方数据机构App Annie数据显示,《PUBG MOBILE》在印度市场的下载量超过1亿,是印度月活(MAU)最高的手游。

有资深行业人士向《财经》记者分析,没有将《PUBG MOBILE》列入禁止名单,可能是因为这款游戏的研发团队是韩国公司,腾讯只是发行方。另一种可能性是,这份禁令只是第一份,后续可能会有第二份、第三份……。有腾讯游戏匿名业务人士则认为,这可能是因为腾讯专门为这款游戏做了针对印度市场的合规。

中国社科院南亚研究中心副主任刘小雪长期关注印度经济和中国企业在印度投资,她对《财经》记者表示,印度在边境问题上理亏但又要安抚国内民众情绪,因此出台这样一个象征意义大于实际意义的禁令,说明印度不想对中国采取强硬措施。

不仅是手机App,印度政府最近还在拖延中国进口产品清关。从6月22日晚开始,印度钦奈港要对所有来自中国货物实施100%检查(此前是抽查),要求提供额外的清关材料。钦奈港是电讯部件和设备的重要港口,很多中国公司货物都是从该港口进入印度市场。

印度此举不仅损害中国企业利益,同时还引起美国企业的不满。苹果、思科和戴尔等美国企业的产品也受牵连,6月23日,代表美国企业的游说团体美印战略伙伴关系论坛(USISPF)致信印度商务部表示,印度是在向寻求可预测性和透明度的外国投资者发出令人担忧的信号。

今年4月,印度为了防外资抄底出台行政法规,要求对来自“接壤”国家的投资必须申请事先审核,此举被广泛认为针对中国。

在印度从事中国企业投资法务问题的印度大恒竺成(Linklegal)律师事务所顾问李钦认为,对很多中国投资者的项目产生了延误等不良影响,印度政府甚至指示其驻中国的使领馆对投资者进行面试,让不少中国投资者唏嘘。他对《财经》记者评价,印度作为一个1991年实施对外开放政策的新兴市场国家,其政府和民众对于外资的理解仍任重而道远。

二、中国公司如何规避长期风险?

2019年,一位中国投资人去印度考察,他回忆,在印度的一家咖啡馆里,至少坐着10个中国投资人,回想起那个场景,他说,“很像当年的中关村。”

软银集团CEO孙正义曾经提出“时光机”理论——发达市场验证过的机会和模式,会在新兴市场重新出现。一些中国创业者和投资人带着这样的信心,投入到印度市场中,认为自己获得了“上帝视角”。

但“上帝视角”也并非一帆风顺,2018年,一些创业公司试图在印度复制一个“今日头条”,很快就销声匿迹,印度不少手机用户的信息获取需求已经被Facebook满足,且少有广告商愿意在新闻聚合平台上做付费营销。

回到今天,Tik Tok、Facebook、Instagram、Youtube等已经验证过的模式,确实受到了印度用户的欢迎,但他们都面临一个难题——流量变现。

多位投资人向《财经》记者确认,印度市场虽然用户量很大,但整体付费意愿非常低,仅略高于非洲,很多公司在印度有不错的用户量,却赚不到钱。

但开辟印度市场依然有价值。印度作为一个拥有13.24亿居民的国家,印度统计局数据显示2019年以前,年均GDP增速在6%以上,2019年降至5%,还是一个正在高速增长的大市场,这很难得。此外,如果能拿下印度市场,也能更好地开辟其他新兴市场。

反观印度,印度政府也希望外部资本能够进入印度。国际货币基金组织(IMF)在6月24日发布最新《世界经济展望》报告中大幅下调对印度经济增长预期,目前的预期为收缩4.5%,此前的预期为增长1.9%。

就业率低迷是印度目前的一大问题,印度经济监测中心(CMIE)发布数据称,今年3月印度就业率为38.2%,为历史最低水平,失业率已经达到8.7%,为2016年9月以来最高水平。

目前,中印两国政府已经为边境摩擦降温展开磋商,事态正在向积极方向进展。但边境摩擦已经在印度国内转化成对中国产品的抵制。

一名在印度经营手机配件生产的人士对《财经》记者透露,出售中国手机的门店已经用Made in India 遮盖品牌logo。另一位在印度本地的中国手机公司人士也提到,很多门店虽然是本地经销商开的,也担心有人打砸。

有接受《财经》记者采访的相关人士预判,印度政府暂时不会对手机硬件行业做出禁令。包括小米、OPPO、vivo、Realme等在内中国手机厂商,已经占据了印度手机市场的70%以上的市场份额,目前也没有印度本土品牌可以替代。

而且,这些手机厂商都已经在印度建厂,组装环节基本都在本地工厂完成,带动了印度的就业率。

一位在印度的vivo人士告诉《财经》记者,中国手机厂商是最早进入印度的商业力量,因此,这几家手机厂商的本地化都做得较好,日常的业务人员都是印度人,出了问题都可以尽快找人解决。

这一点,相比刚刚进入印度市场不久,尚未来得及本土化的中国互联网公司来说,确实有一些优势。“App被禁止,可能都不知道找谁来解决问题。”

包括李军在内的受访者认为,中国公司的海外业务想要独立发展,至少要做到人员切割、数据切割、业务运营切割、IT系统切割,只留下财务联系,未来财务联系也要尽量弱化,引入当地战略投资者,共享利润,在政府关系上也能提供帮助。

李钦的观点是,鉴于中国基本的影响力,印度政府不太希望中国投资者在印度市场单干,而是采取和印度某些合作对象进行深度绑定的方式。以App等互联网产品为例,印度希望中国投资本国App。

对于实业,印度则希望中国找本土企业合资,深度绑定,减少中国投资者自主权,只有这样印度才放心。中国企业却很难接受,他们认为找到合适、靠谱的合作合资对象非常难。


作者为《财经》记者

本文来自微信公众号:财经十一人(ID:caijingEleven),作者:刘以秦、 王晓枫、 柳书琪、 陈潇潇 ,编辑:谢丽容  


收起阅读 »

如何使用 Jenkins 快速设计多环境、多项目持续集成环境!(下)

一键回滚job设计       实现思路:在&rdquo;一键发布&rdquo;时,将发布记录存到文件中,存储key为:p_app_key#2019-1219-1503。执行...
继续阅读 »

一键回滚job设计

       实现思路:在&rdquo;一键发布&rdquo;时,将发布记录存到文件中,存储key为:p_app_key#2019-1219-1503。执行回滚时,选择要回滚的历史项目,先解析出p_app_key再获取项目配置信息,再回滚此项目的特定历史版本。顺序:解析项目信息>>回滚到Temp文件夹>>回滚到部署目录。

设计的输入参数如图:

 

 

参数名

类型

默认值

说明

p_history_item

下拉单选

 

每一次&rdquo;一键发布&rdquo;成功,都会生成一个对应的历史记录

p_restart_daemon_process

Bool

True

是否重启守护进程(如果是IIS,勾选则重启应用程序池,不勾选则回收应用程序池) 为避免文件被占用,回滚失败,所以这里默认勾选。

p_remark      

String

 

备注信息

 

简易多环境CICD流程

       一般软件公司对于软件的开发、测试、发布都有好几个环境,所以针对各个环境都会有对应的CICD流程,这边设计了一个简易的多环境CICD流程图,如下: (在线画图工具:processon.com

 

       自动触发CICD还是手动触发CICD???我认为:

      开发环境采用手动触发:因为对于开发环境,提交代码比较频繁,而且有时候提交到git也并不想触发CICD。可以采取每晚定时自动触发CICD,便于异常代码及时抛出

      测试环境采用自动触发:因为测试代码的 git 分支合并是有条件限制的,合并频率比较少

      生产环境采用手动触发:因为生产环境的发布比较复杂,合并分支后是不能直接自动触发CICD的。比如有严控发布时间、负载隔离(蓝绿部署)等要求,所以手动触发控制力强

 

作者:滴答的雨
出处:http://www.cnblogs.com/heyuquan/

收起阅读 »