卡颂

卡颂 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

卡颂 发布了文章 · 1月21日

大佬那么多,为什么不能是我 | 卡颂2020年终总结

前几天北京公布一例确诊病例 —— 一位居住于顺义的34岁男子。伴随公告的,还有其最近一段时间的完整活动轨迹:

  • 工作日在家与公司之间往返50km,日复一日
  • 周末只有超市采购和带孩子参加早教活动才会出门,其他时间都宅在家里
  • 宅在家里是为了玩么?不,他的业余时间都用于复习考研。坊间传闻是清华大学

最终在考研前3天被公司安排去宁波出差。在出差前由于考研初试要求做了核酸检测,并最终确诊。

当前的最新情况:已放弃考研,病情稳定。祝福这位努力生活的大哥早日康复。

这是一个奋斗bi么?不,这只是漂泊在北上广深,为了更好的生活,用自己日复一日的努力与生活抗争的普普通通打工人。

成年人的世界没有轻松可言

作为一个浑浑噩噩、当过魔术师、做过机械工程师的转行半吊子前端。年初由于疫情在家,对自己发出了来自灵魂的质疑:

大佬那么多,为什么不能是我?

明明很努力在生活,为什么我还是菜鸡?

自认智商没有不如常人,那么答案只剩下一个:

我努力的方向不对

在调整了方向并奋力奔跑了一整年后,以下是我交出的答卷:

  • 写了一本开源电子书React技术揭秘,2.1k star
  • 组建了2000+人的React学习社群
  • SegmentFault合作录制课程自顶向下学 React 源码,并成为SegmentFault优秀讲师
  • 成为Anu.jsReactContributor,是从业以来技术水平提升最快的一年
  • 有了主业之外的副业,虽然才刚起步,但也能覆盖我在北京的衣食住行了

以上这些都是在8小时之外的业余时间完成的,以下是我的心路历程。

疫情期间在家办公

疫情期间在家办公

探索知识边界

首先来聊聊核心的思路:

探索知识边界

前端作为一个技术工种,存在知识边界,边界可以分为:

  • 横向上的广度边界
  • 纵向上的深度边界

横向上,有些工种天然与前端接近,比如产品服务端。提升自己这些相邻工种的能力可以提升自己对业务的整体把控。

纵向上,以传统HTMLJSCSS为代表的前端领域可以看作一个大圆,在圆周上,还有很多其他领域的圆与这个大圆相交,这些小圆就是前端知识深度上的边界

有些小圆与前端大圆相交范围比较多,比如:

  • 前端工程化,日常工作都会接触
  • 框架开发,日常工作都会使用前端框架

还有些小圆涉及到其他领域知识比较多,与前端相交的少,比如:

  • 数据可视化
  • 跨端开发

但是人的精力都是有限的,横向、纵向,该往哪里努力?

前端人的努力方向

从职业发展来看,前端有2个方向:

  • 技术经理
  • 前端架构师

其中技术经理要求技术管理能力,前端架构师要求更高的工程化能力。同时这两者都需要产品服务端能力。

所以横向上,前端人应该更多发展相邻工种的能力。像算法运维这些不与前端相邻的工种,付出了同样的努力,收益并不大。

纵向上,建议根据个人喜好,选择一个知识边界作为自己突破的方向。做一个三角形前端

比如:你很看好数据可视化,为此付出大量努力,配合上横向方向的努力,你更容易成为可视化领域的产品负责人。但是未来更不容易切换赛道。

同理:一个做了几年富文本编辑器的前端可以成为该领域的大拿,但是他积累的领域知识在其他业务上用处就没那么大了。

所以,我建议发展更贴近日常开发的领域知识,即前端工程化框架开发

考虑到日常使用React技术栈,未来大概率会长时间用他,我决定将React框架开发作为我努力的方向。

死磕React

坦白讲:这一年,最少有5次我想放弃这个努力方向。

React源码中那么多方法,除了React核心团队成员,谁能真正理解这些方法的作用?这可是全世界最厉害的一批前端维护了7年的代码库啊。

有些同学和我抱怨,看了2天React源码看不懂,为啥我对源码里每个方法的调用流程这么熟悉?

我业余时间看了半年啊!

到了React这个级别的源码,已经不是看代码就能明白意思的了,得先明白设计理念。

于是,在把往年所有React Conf演讲内容、React核心团队成员在gayhubtwitter油管的分享看完后,终于产出了一本“先讲理念,再讲运行流程,再讲局部源码”的电子书 —— React技术揭秘

我的收获

在这本书的写作过程中,逐渐有朋友加我微信和我讨论React,慢慢竟然形成了2000人的社群。群里有很多知名库的作者、参与者、技术大拿、知识领域优秀UP主、公众号主。

再后来,由于这本电子书,SegmentFault的商务找到我,合作出品了自顶向下学 React 源码视频课程,课程口碑不错,让我成为了SegmentFault优秀讲师。

React在我面前再没有秘密后,日常业务方面可以说通关了。

比较有意思的是,我们有些业务用的是一款类React框架 —— Anu.js

去年遇到框架bug后还一脸懵逼,今年已经开始维护这款框架并将React中的一些试验特性搬移过来,比如时间切片

8月初开始做公众号,我的文章特点是:专注React技术栈,对于React问题,从源码层面给出答案。

收入方面,也有了睡后收入 —— 每个月会有广告、课程收入,6000 - 1w之间。

2021,我要做大佬

今年的经历验证了我的观点 —— 只要方向对了,努力就有意义。

2021,也要努力在成为大佬的路上飞奔。

本文参与了 SegmentFault 思否征文「2020 总结」,欢迎正在阅读的你也加入。

查看原文

赞 8 收藏 0 评论 1

卡颂 关注了专栏 · 1月13日

vivo 互联网技术

分享 vivo 互联网技术干货与沙龙活动,推荐最新行业动态与热门会议。

关注 7556

卡颂 关注了专栏 · 1月13日

超神经HyperAI

AI 行业实验媒体,站在科技与人文的交叉口,看懂人工智能。微信公众号:HyperAI

关注 7738

卡颂 关注了专栏 · 1月13日

前端开发那些事儿

前端知识:HTML、CSS、JS、React,nodejs、Chrome、数据结构与算法,计算机网络等精华知识分享交流。

关注 6687

卡颂 关注了专栏 · 1月13日

技术风暴

关注公众号「关山不难越」学习更多前端进阶知识。 Classical is something not fade,but grow more precious with time pass by,so is dream id dream.

关注 5340

卡颂 关注了用户 · 1月13日

日拱一兵 @tanrigongyibing

欢迎关注,公众号「日拱一兵」,以读侦探小说思维趣味轻松学习Java技术

关注 23824

卡颂 关注了专栏 · 1月13日

程序员哆啦A梦

达达前端技术社群:囊括前端Vue、JavaScript、数据结构与算法、实战演练、Node全栈一线技术,紧跟业界发展步伐,一个热爱前端的达达程序员。

关注 10201

卡颂 关注了专栏 · 1月13日

进击的大前端

前端工程师,底层技术人。 思否2020年度“Top Writer”! 掘金“优秀作者”! 开源中国2020年度“优秀源创作者” 分享各种大前端进阶知识! 关注公众号【进击的大前端】第一时间获取高质量原创。 更多文章和示例源码请看:https://github.com/dennis-jiang/Front-End-Knowledges

关注 13740

卡颂 关注了专栏 · 1月13日

CodeGuide | 程序员编码指南

公众号:bugstack虫洞栈,回复:设计模式,可以下载《重学Java设计模式》PDF,全网下载量17万+ | 这是一本互联网真实案例实践书籍。以落地解决方案为核心,从实际业务中抽离出,交易、营销、秒杀、中间件、源码等22个真实场景,来学习设计模式的运用。

关注 15849

卡颂 关注了专栏 · 1月13日

我的Android开源之旅

微信公众号:我的Android开源之旅。 四年工作经验,三年架构经验,五年Github开源经验, 擅长设计模式,架构设计,移动设备通讯。热爱技术,常年活跃在各大移动开发社区,对前沿技术保持高度的学习和关注。 目前在Github平台上Java语言世界排名第400名:http://git-awards.com/users/search?login=xuexiangjys

关注 2858

卡颂 关注了专栏 · 1月13日

SegmentFault 行业快讯

第一时间为开发者提供行业相关的实时热点资讯

关注 63483

卡颂 关注了专栏 · 1月13日

前端巅峰

注重前端性能优化和前沿技术,重型跨平台开发,即时通讯技术等。 欢迎关注微信公众号:前端巅峰

关注 21021

卡颂 关注了专栏 · 1月13日

前端森林公众号

一个有温度的前端号,关注行业前沿。从基础到架构,携手你我共同成长。

关注 10942

卡颂 关注了标签 · 2020-11-02

vue.js

Reactive Components for Modern Web Interfaces.

Vue.js 是一个用于创建 web 交互界面的。其特点是

  • 简洁 HTML 模板 + JSON 数据,再创建一个 Vue 实例,就这么简单。
  • 数据驱动 自动追踪依赖的模板表达式和计算属性。
  • 组件化 用解耦、可复用的组件来构造界面。
  • 轻量 ~24kb min+gzip,无依赖。
  • 快速 精确有效的异步批量 DOM 更新。
  • 模块友好 通过 NPM 或 Bower 安装,无缝融入你的工作流。

官网:https://vuejs.org
GitHub:https://github.com/vuejs/vue

关注 137809

卡颂 关注了标签 · 2020-11-02

程序员

一种近几十年来出现的新物种,是工业革命的产物。英文(Programmer Monkey)是一种非常特殊的、可以从事程序开发、维护的动物。一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发、维护工作,特别是在中国,而且最重要的一点,二者都是一种非常悲剧的存在。

国外的程序员节

国外的程序员节,(英语:Programmer Day,俄语:День программи́ста)是一个俄罗斯官方节日,日期是每年的第 256(0x100) 天,也就是平年的 9 月 13 日和闰年的 9 月 12 日,选择 256 是因为它是 2 的 8 次方,比 365 少的 2 的最大幂。

1024程序员节,中国程序员节

1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事程序开发、维护的专业人员。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1GB=1024M,而1GB与1级谐音,也有一级棒的意思。

从2012年,SegmentFault 创办开始我们就从网络上引导社区的开发者,发展成中国程序员的节日 :) 计划以后每年10月24日定义为程序员节。以一个节日的形式,向通过Coding 改变世界,也以实际行动在浮躁的世界里,固执地坚持自己对于知识、技术和创新追求的程序员们表示致敬。并于之后的最为临近的周末为程序员们举行了一个盛大的狂欢派对。

2015的10月24日,我们SegmentFault 也在5个城市同时举办黑客马拉松这个特殊的形式,聚集开发者开一个编程大爬梯。

特别推荐:

【SF 黑客马拉松】:http://segmentfault.com/hacka...
【1024程序员闯关秀】小游戏,欢迎来挑战 http://segmentfault.com/game/

  • SF 开发者交流群:206236214
  • 黑客马拉松交流群:280915731
  • 开源硬件交流群:372308136
  • Android 开发者交流群:207895295
  • iOS 开发者交流群:372279630
  • 前端开发者群:174851511

欢迎开发者加入~

交流群信息


程序员相关问题集锦:

  1. 《程序员如何选择自己的第二语言》
  2. 《如何成为一名专业的程序员?》
  3. 《如何用各种编程语言书写hello world》
  4. 《程序员们最常说的谎话是什么?》
  5. 《怎么加入一个开源项目?》
  6. 《是要精于单挑,还是要善于合作?》
  7. 《来秀一下你屎一般的代码...》
  8. 《如何区分 IT 青年的“普通/文艺/二逼”属性?》
  9. 程序员必读书籍有哪些?
  10. 你经常访问的技术社区或者技术博客(IT类)有哪些?
  11. 如何一行代码弄崩你的程序?我先来一发
  12. 编程基础指的是什么?
  13. 后端零起步:学哪一种比较好?
  14. 大家都用什么键盘写代码的?

爱因斯坦

程序猿崛起

关注 155253

卡颂 关注了标签 · 2020-11-02

linux

Linux是一种自由和开放源代码的类Unix计算机操作系统。目前存在着许多不同的Linux,但它们全都使用了Linux内核。Linux可安装在各种各样的计算机硬件设备,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机,大型机和超级计算机。

Linux家族家谱图,很全很强大!! 图中可以清楚的看出各个Linux发行版的血缘关系。无水印原图:http://url.cn/5ONhQb

关注 79728

卡颂 关注了标签 · 2020-11-02

spring

Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。

关注 28509

卡颂 关注了标签 · 2020-11-02

node.js

图片描述
Node 是一个 Javascript 运行环境(runtime)。实际上它是对 Google V8 引擎(应用于 Google Chrome 浏览器)进行了封装。V8 引擎执行 Javascript 的速度非常快,性能非常好。Node 对一些特殊用例进行了优化,提供了替代的 API,使得 V8 在非浏览器环境下运行得更好。例如,在服务器环境中,处理二进制数据通常是必不可少的,但 Javascript 对此支持不足,因此,V8.Node 增加了 Buffer 类,方便并且高效地 处理二进制数据。因此,Node 不仅仅简单的使用了 V8,还对其进行了优化,使其在各环境下更加给力。

关注 82072

卡颂 关注了标签 · 2020-11-02

关注 65926

卡颂 关注了标签 · 2020-11-02

javascript

JavaScript 是一门弱类型的动态脚本语言,支持多种编程范式,包括面向对象和函数式编程,被广泛用于 Web 开发。

一般来说,完整的JavaScript包括以下几个部分:

  • ECMAScript,描述了该语言的语法和基本对象
  • 文档对象模型(DOM),描述处理网页内容的方法和接口
  • 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口

它的基本特点如下:

  • 是一种解释性脚本语言(代码不进行预编译)。
  • 主要用来向HTML页面添加交互行为。
  • 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

JavaScript常用来完成以下任务:

  • 嵌入动态文本于HTML页面
  • 对浏览器事件作出响应
  • 读写HTML元素
  • 在数据被提交到服务器之前验证数据
  • 检测访客的浏览器信息

《 Javascript 优点在整个语言中占多大比例?

关注 176703