Geek

  • 云计算必修小课 | 更新中

    云计算必修小课

    2023年1月9日
    26
  • Vue 3 企业级项目实战课 | 更新至5讲

    每每遇到新技术,或者遇到技术的重大升级,你是不是也会苦恼,虽然自己都能基于官方文档,快速上手新技术,但就是不知道如何将它运用到实际项目中,也不清楚还有哪些用途。反观大厂的同学,似乎就要如鱼得水很多。

    其实这无关个人能力,更多是因为你缺少大厂的项目机会和压力,导致面对具体项目时,很难快速发现问题,“对症下药”,更不知道如何设计合适的技术方案。比如:

    在前端性能监控项目中,陷入前端性能就是浏览器问题的误区,不懂监控 HTTP 加载资源或者数据 API 导致的性能问题;

    在微前端项目中,缺乏 JavaScript 全局变量和 CSS 样式的隔离实践经验,导致应用融合的 JavaScript 全局变量污染和 CSS 样式污染的问题;

    在前端自研组件库开发过程中,缺乏全局的主题设计思路,导致所有组件的 CSS 样式无法变更主题和扩展主题等等。

    2023年1月9日
    18
  • 遇问题可联系 / 客服微信【1099252741】
  • 手把手教你落地 DDD | 更新至2讲

    DDD(领域驱动设计),在软件工程里属于软件开发方法学的范畴。它继承了面向对象和敏捷方法的精华,并提炼了一套更容易掌握的原则、模式和实践,特别适合复杂的企业应用的开发。

    DDD 在开发微服务,遗留系统改造、架构治理、企业架构、研发效能提升、架构师培养等很多方面,都有用武之地。然而,DDD 想要学习和落地并不容易,主要有以下难点:

    领域模建模不好掌握;
    领域模型不好实现;
    概念混乱,资料良莠不齐;
    技术环境还是开发理念,随时代有所变化;
    有很多具体落地时才会遇到的问题。

    本课程以案例为导向,模拟了敏捷软件开发过程,老师将结合一个企业管理系统案例,带你体验这该系统的三个迭代。每个迭代的需求规模逐渐扩大,复杂性也逐渐增加,相应也会让你不断深化与之对应的 DDD 模式和实践。

    迭代一:打通 DDD 的最小闭环

    迭代一主要会带你夯实基础,实现一个“麻雀虽小、五脏俱全”的项目。打通从需求分析,到领域建模,再到架构设计,最后到数据库和代码实现的完整闭环。学完这个迭代,你就有能力处理一些不太复杂的项目了。

    迭代二:聚合、值对象和泛化

    迭代二会深入讲解 DDD 里争议较大,不太好掌握的内容,包括聚合、值对象等等。同时,还会进一步带你提升领域建模能力,深化对分层架构和代码封装的理解。最后,还会学习重要的建模技巧——泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,你会有渐入佳境的感觉。

    迭代三:进阶建模、架构和落地技能

    迭代三会重点讲解 “限界上下文”、事件驱动和 CQRS 等模式,也你深入讨论怎样为更加灵活多变的业务建模,帮你深化对泛化的理解。还会讲到实践落地的关键要点,比如 DDD 切入点的选择,遗留系统的改造等等。学完这个部分,你将掌握更高阶的 DDD 技能,了解如何应对更大范围的项目。

    2023年1月9日
    24
  • 深入浅出可观测性 | 完结

    当下 BAT、美团、字节跳动、快手等一线大厂都在加速推进业务的容器化、云原生化。也正是因此,传统的技术架构面临着巨大的冲击,我们的监控对象也由传统的单体结构,变成了分布式的多个微服务。

    在这样的背景之下,很多问题成了开发、测试、运维同学的家常便饭:

    某个新版本发布上线之后,发现主机的 CPU 使用率持续飙高,但不知道根本原因在哪,只能根据过往的经验一一排查;

    新版本上线之后,很难判断功能是不是完全正常,只能等着用户找客服投诉之后,才知道哪个模块出现了报错;

    基础设施方面,通过监控搞了一大堆稀奇古怪的仪表盘,看着花花绿绿一大片,可是又不能反映出业务的真实情况,也不能跟随业务的变化而灵活调整。

    局面混乱,效率又不高。可以说,监控,被架到了一个不得不革自己命的位置。而可观测性(Observability)就是解决这些问题的关键。

    2023年1月9日
    15
  • 技术领导力实战笔记 2022 | 更新至12讲

    一个团队 / 企业究竟能到达什么样的高度,领导者在这其中起着决定性的作用。一个好的领导者能够让一个团队,甚至一个企业起死回生,一个不合格的领导者也很有可能加速企业的衰败。这就要求领导者,要有能力、有洞见、有勇气、有魄力。

    尤其是在互联网企业,技术迭代速度之快,行业竞争之激烈,都要求技术领导者既要懂技术,又要懂管理。很多技术本位做得很好的人被提拔为管理者,但做管理和做技术有很大差别,在工作中这些新晋管理者会遇到各式各样的问题,比如:

    如何打造一支有自驱力、有战斗力的团队?
    怎么为团队制定出合理的绩效考核标准,做到赏罚分明?
    减员增效阶段,如何做到精准“瘦身”?
    如何合理地分配任务,让合适的人做出最优的结果?
    ……
    很多新晋技术管理者,甚至一些有经验的管理者都会在这些问题踩坑。

    我们将从能力、思维、组织建设、日常管理四个维度出发,选取技术管理者日常工作中最常见的 30 个管理痛点,把前人的经验传递给你。

    构建能力:总结技术管理者需要具备的能力,以及如何提升这些能力。通过这部分内容,帮你理清管理工作的重点以及快速提升能力的方法,勾勒出技术管理者核心能力的几个象限,培养自身的软实力。

    升级思维:成为技术管理者之后,首先要摆正位置,理清工作重点,从思考“如何做好一颗螺丝钉”转变到“如何让机器快速运转”。这个部分会带你跳出具体的代码和技术框架,考量更多维度的事情,形成管理者思维和视角。

    日常管理:探讨几个管理工作中的常见问题,比如如何设置团队规则、确定绩效标准、分配任务等等。这些事情虽小,但影响重大。这部分会为你提供问题的解决思路,帮助你快速上手日常管理工作。

    组织建设:一个团队最终会变成什么样子,战斗力是否强劲、团队是否和谐,都取决于领导者对团队的管理,比如招什么样的人进入团队,确立什么样的团队文化,怎样优化团队,妥善汰换不合适的成员。这部分会教你打造一支健康、强健、有自驱力的队伍。

    2023年1月9日
    19
  • 超级访谈:对话毕玄 | 完结

    非计算机专业出身或碰到职业瓶颈,如何实现技术能力阶梯式提升?
    程序员?管理者?架构师?如何找到适合自己的职业路线?
    业务增长乏力,团队价值模糊,如何抓住机会持续成事?
    一次次众说纷纭的技术浪潮中,如何修炼技术视野和敏感度?

    共分为 4 大模块:

    初出茅庐:以更具参考性的非科班奋斗史为背景,模拟另一种人生可能。

    江湖风云:对毕玄在阿里 14 年中的亮点项目或成长关键点,做深度复盘,包括中间件 HSF、淘宝消防队、容器 T4、异地多活、运维团队、研发效能部、统一调度,整理踩坑经验和认知提升。

    创业维艰:站在一个高 P 离职的创业 CEO 视角,如何看待技术人的成长路线,又如何判断各行业趋势。

    高手锦囊:“个人成事、方向选择、团队带领、做事文化、架构修炼”五大专题,从具体项目案例出发,总结分析思路和实操方法。

    2023年1月9日
    40
  • Go 进阶 · 分布式爬虫实战 | 更新至22讲

    过去的十多年间,互联网行业迅猛发展,大数据、大规模集群计算、复杂的网络环境……各种新的挑战让人应接不暇。面对这些问题,一些早已发展成熟的语言显示出些许笨重和疲态,也就是在这一语境下,Go 语言应运而生。

    Go 语言被称作是“云计算时代的 C 语言”,它专注于软件开发过程本身,简洁、易上手,且天生支持高并发编程。因此,也在众多编程语言中日益显示出其竞争力,市场需求有增无减。

    然而,就是在这个崭新的赛道上,想要进阶成为 Go 高级工程师也并非易事。你可能有过这样的困惑:

    疲于应付需求,程序缺乏设计,代码也不规范,最终导致程序越来越难扩展和维护;
    不懂 Go 语法背后的运行机制,也不知道如何提升,无法解决复杂的系统问题;
    难以跳出开发,从上层视角思考系统的技术选型与架构设计;
    没有大规模云原生、分布式系统、微服务集群的实战经验,且缺乏学习路径。

    2023年1月9日
    22
  • 超级访谈:对话玉伯 | 完结

    从页面仔到工程师,前端到底在发挥什么价值? 今天的移动浪潮中客户端与小程序发展趋势是怎样的?如何参与开源,哪些是我们可以做的?文档产品语雀为何能从支付宝生长出来?语雀与钉钉相爱相杀的故事是什么?诞生出语雀的支付宝体验技术部为什么能让众多前端工程师向往?管理者如何建设专属于团队的亚文化……如果你对这些问题感兴趣的话,也许可以从本专栏找到答案。

    本专栏是由与语雀创始人、支付宝体验技术部负责人玉伯的对话整理而成,通过 100 多个问题,展现一个技术人的成长,一个产品人的探索,一个管理者的经验。

    专栏共分为三大模块。

    技术之路:玉伯是前端界的大佬, 折腾过 KISSY、SeaJS、Ant Design、AntV 等开源项目,如今作为蚂蚁集团终端技术委员会主席,除关注前端技术外,更关注小程序与客户端技术。他在开源社区的探索,他对技术本身的理解,对技术人成长的理解,在这个模块你可以看到。
    产品之路:玉伯虽然因前端开源被人熟知,但从骨子里是个产品人,从阿里巴巴到蚂蚁集团,一直在折腾产品,在这个模块你能看到玉伯参与过的那些失败的、成功的产品故事,以及他对产品的理解。
    管理之路:从带领几个人到管理几百人,玉伯直言互联网公司管理培养体系的欠缺,他也是在犯错的过程中成长起来,开始对团队二字逐步理解,相信文化的力量,让体验技术部成为创新产品聚集地,同时名声在外,这背后的故事将在这一模块展现。

    2023年1月9日
    27
  • 高并发系统实战课 | 更新至17讲

    互联网已经迈入高并发时代,大厂与创业公司之间的技术壁垒在不断加码。是否具有高并发系统实践经验,成为检验工程师技术能力的重要指标。从个人职业发展看,具备高并发系统改造优化的经验和能力,就能迅速建立自己的技术优势,不但能从容面试、晋升,更能提升技术竞争力,为未来成为架构师奠定基础。

    近年来,高并发相关知识也成了大厂考核的标配。我们经常能看到类似下面这类问题:

    为什么百万并发系统不能直接使用 MySQL 服务?
    为什么 Redis 内存比磁盘用更多的空间?
    怎么保证条件查询缓存的数据一致性?
    为什么高级语言不能直接做业务缓存服务?
    问题五花八门,但最终考察的是你是否具备高并发系统的底层知识,是否具备解决复杂技术问题的系统设计思路与方法。

    2023年1月9日
    28
  • Serverless 进阶实战课 | 更新至12讲

    目前,行业内云原生、Kubernetes、容器工程师供不应求。各一线大厂都在加急招聘云原生工程师,在这种情况下,让自己成为会 Serverless、懂 Serverless 的工程师,更能够助力你弯道超车,向目前大热的云原生技术要红利。

    2022年12月12日
    30
  • JavaScript 进阶实战课 | 更新至3讲

    现在,JavaScript 早已不是当年的一个脚本语言,随着 Web 应用和 Node.js 的兴起、函数式编程的复兴,以及响应式编程开始进入人们视野,让 JavaScript 看上去更“专业”了。虽然和十几年前相比较,JavaScript 也加入了很多功能和语法糖,但是它的核心原理并没有太大变化。

    可即使没有太多本质上的变化,JavaScript 也仍然具有容易入门但难以进阶的问题。

    造成这个问题的原因主要有两个:一是早期写 JavaScript 的很多程序员的编程基础并不扎实,知识点很杂,导致大家对 JS 的理解不够深入;二是后来入局的一些大咖,很多都是从其它语言转来的,他们认为一些知识没法分享和讲解。

    这就使得 JavaScript 的开发者两极分化很严重,一部分一直停留在入门级,一部分出道即巅峰。

    2022年12月12日
    54
  • 快手 · 音视频技术入门课 | 完结

    近两年受疫情影响,各种生活场景逐渐线上化,如在线教育、远程问诊、直播带货,这些场景无不需要音视频能力的加持,元宇宙概念的提出、5G 提供的硬件支持,以及持续发展的 VR/AR 技术也在为音视频领域赋能,音视频开发行业迎来爆发期,人才需求也与日俱增。

    为了帮助音视频相关从业者和爱好者快速入门音视频技术,极客时间联合快手音视频团队及快手中学团队,将多年的音视频技术能力进行了沉淀整理,推出了《快手·音视频技术入门课》专栏。

    音视频相关技术纷繁复杂,涉及的模块众多。单凭自己摸索的话,既耗时又耗力。为此,我们有幸请到了快手音视频的首席架构师刘歧老师,他将把自己十余年的行业经验,通过这个专栏呈现出来,传递给你。

    整个专栏会系统讲解音视频基础知识,帮你扫清认知障碍,并且还会重点讲解音视频开发工具如何应用,让你走上入门音视频技术的快车道。

    2022年10月26日
    126
  • 中间件核心技术与实战 | 完结

    现如今,中间件已成为互联网分布式架构设计必不可少的部分,几乎每一个分布式系统都有一种乃至几种中间件在系统中发挥作用。

    中间件的诞生几乎无一例外都是为了解决特定业务领域的技术挑战,如果你缺少高并发的实践经验,学习中间件就对了。中间件是突破高并发的利器,它能够最大程度弥补我们缺少的高并发场景实战经验,为我们提供最优秀的项目实践机会。甚至可以说,学习中间件已经是进入大厂的必备条件了。

    但是,在中间件的学习过程中,总会有这么一些问题来“劝退”我们:

    同类型的中间件如何进行选型?
    中间件的通用设计理念是什么?
    怎样综合运用中间件一举攻破高并发难题?

    2022年9月13日
    63
  • Kubernetes 入门实战课 | 更新至23讲

    Kubernetes,作为事实上的云原生操作系统,不管你从事哪个开发岗位,在现在这个云原生时代,它都是一个绕不过去的产品,是我们工作中迟早要面对的“坎儿”。

    毕竟现代应用是围绕着容器来开发、部署和运行的,使用容器就必然要用到容器编排技术,现在,只有唯一的选项——Kubernetes。

    但是,Kubernetes 因为其技术栈的特点,学习门槛相当高,初学者可能花费了大量时间却收效甚微:

    涉及的应用领域太广,找不到合适的学习路径;
    每个具体方向的技术背景太深,很多概念太抽象;
    用到的技术新,版本变动快,实现比较杂乱,搞不明白;
    不知道怎么搭建出 Kubernetes 环境,空有理论,动手还是不会。

    2022年9月13日
    111
  • 大厂设计进阶实战课 | 更新至20讲

    作为一名职场设计师,也许我们认真勤恳,却仍然是一位“小透明”;也许我们工作了多年,却并未获得有效成长和晋升;也许我们也想获得业务上的话语权,却不知道该从何做起;也许我们初入职场时还对设计饱含热情,但日复一日的螺丝钉工作让我们越发迷茫。

    除了“内忧”,我们还在面临“外患”。互联网行业进入下半场,在寒冬环境下,设计师又该何去何从?如何提升自我竞争力?

    2022年9月13日
    59
  • 快手 · 移动端音视频开发实战 | 更新至15讲

    随着移动互联网的发展和技术的更新迭代,现在市面上任何一款 App 其实都离不开音视频的能力了,甚至可以说音视频能力已经成为了决定业务的关键因素之一。但“打铁还需自身硬”,让业务跑赢的关键点就在于我们是否有强大的音视频技术来支持业务。

    而想要实现这一点,成为一个技术够“硬”的音视频开发人员,需要做到:

    熟练使用常用的音视频框架,比如 FFmpeg、libyuv 等;
    熟悉各个平台的音视频采集和渲染、音视频的编解码及滤镜处理;
    了解录播、直播、RTC 等场景的常用架构和最佳实践;
    熟练使用提高性能的加速库,比如 vDsp、Neon 指令集等;
    能够自己动手开发播放器 / 录制器项目;

    2022年9月13日
    87
  • 商业思维案例笔记 | 更新至12讲

    因此,我们特意邀请了雄峰老师,他会以类似的问题作为牵引,将丰富的案例与商业知识结合,讲述商业运行发展背后的逻辑和规律,帮助我们提升理解并分析世界的能力以及提升决策正确性的能力。不管我们是打算在职场持续发展,还是做跳槽及业务的选择,还是为创业积攒能力,商业思维都可以助力我们更上一层楼。

    商业思维的过程,就是去了解不同商业策略和模式、分析不同公司的成功和失败,而我们学习的最终目的,是提升做事的正确度。

    2022年9月13日
    71
  • 计算机基础实战课 | 更新至15讲

    课程设计
    串联计算机从底层到应用的关键知识点,总计四个核心、八大关卡。

    核心一:历史
    学计算机基础,需要先学习它的历史,学习计算机是怎么一步步发展到今天这个样子的,以今天的状况推导未来的发展方向。我们会重点讨论编程架构是怎么创造出来的、CPU 从何而来、CISC 和 RISC 又各有什么优缺点。

    核心二:硬件基础知识
    了解硬件的工作机制对工程师实现优秀的应用软件非常重要。这里不但会详细讲解芯片的工作机制与原理,还会带你手把手实现一个五级流水线的迷你 RISCV 处理器(基于 Verilog,配套代码量 2882 行)。

    核心三:软件基础知识
    想要开发高性能的应用程序,语言与指令、应用与内存、IO 与文件方面的知识都是必修内容。这里我们会通过第三关到第六关四个章节带你掌握这些计算机软件基础中最核心、最重要的知识。

    高级语言和低级语言之间如何互相转化?应用堆和栈内存有什么不同?多个进程之间如何通信?Linux 如何管理外设,又如何存放文件……这些重难点问题,一个都不会漏掉。

    核心四:应用层基础知识
    带你从底层角度审视前端技术跟后端架构,并探讨云计算、大数据与智能制造。这些热门领域都是对基础技术的综合应用,有助于你开阔视野,提升自己的知识迁移能力,让你真正学有所用。

    2022年9月13日
    60
  • Web 3.0 入局攻略 | 更新至8讲

    Web 3.0 最近一直在各个技术社区、社交媒体上被人们讨论地热火朝天,那些已经身处在这个世界里的人们,认知会以极高的速度被刷新和颠覆,也有不少人会以极高的速度变得富有和贫穷。

    因此,相信很多人已经十分清楚它的存在,但面对 Web 3.0,我们可能仍然是一头雾水:有人认为 Web 3.0 通向未来新世界的大门,要抓住技术新浪潮;也有人认为它只是一种过于抽象和宏大的概念,一不小心就会踩坑……

    那么,到底什么是 Web 3.0 呢?关于这一点,我们需要从推动 Web 3.0 诞生的需求说起。而对此,我们又需要先搞明白,是什么因素推动了 Web 3.0 的诞生?于我们而言,为什么需要 Web 3.0 呢?以及,Web 3.0 的发展前景究竟会如何、它能给我们带来哪些投资机遇或风险?

    为此,极客时间联合 MetaTribe(Web 3.0 开发者和创作社区组织),推出了《Web 3.0 入局攻略》专栏,并邀请 MetaTribe(M.T)DAO 的发起人郭大治老师,将自己在金融科技领域的独家经验和积累沉淀分享出来。

    他会从互联网发展的视角,帮你深入理解以上种种问题,分析 Web 3.0 的新商业、新金融及其典型案例,并带你发现 Web 3.0 的新社区和新玩法,将 Web 3.0 的新风险和投资机会展现在你面前。无论在这个新世界里,你是举火的理想主义者、还是淘金的冒险家、亦或是冷眼旁观的人,你都会找到自己的答案。

    2022年9月13日
    97
  • 现代 React Web 开发实战 | 更新至3讲

    React 技术作为现代前端技术的集大成者之一,是 Web 开发应用的一把利器。不过在实际工作中,很多前端开发者都存在一个误区。

    那就是过于关注和强调“最新框架”“最新版本”,而缺乏对前端发展历史的深度了解,也缺少对前端新技术新领域的上手实践。

    具体到实际项目中,主要表现在“五个无所适从”:

    在 Web 前端开发时过于局限在框架上,脱离了框架就无所适从了;
    对各类开源 React 组件库很有心得,但需要自己写组件时就无所适从了;
    编写相对简单的 React 样板项目手到擒来,项目规模提升后就无所适从了;
    习惯于手工测试,需要引入自动化测试时就无所适从了;
    停留在独自开发一个项目的舒适区,多人协作开发时就无所适从了。
    为此,我们特地邀请了 FreeWheel 中国研发中心前端架构师宋一玮老师。他会结合自己多年来在前端领域深耕的经验和思考,帮助你解决 React Web 应用开发中的难题。

    2022年9月13日
    102