- 博客(1284)
- 收藏
- 关注
原创 01|动态数组:按需分配的vector为什么要二倍扩容?
你好,我是微扰君。今天我们进入第一章基础数据结构的学习。计算机程序一直以来最根本的作用就是处理数据。即使在早期的计算机中,计算就已经不仅仅是几个数字之间的加减乘除那么简单了,经常需要处理大量线性存储的数据,一个很好的例子就是向量乘法。显然,我们需要找到一种合适的方式在计算机中存储这些信息,并能让我们可以快速地进行向量运算。再举一个更工程化的例子。假设有个需求,我们希望只借助内存实现一个简易的银行账...
2024-11-05 16:20:07
664
原创 先导篇|诶,这个 git diff 好像不是很直观?
你好,我是微扰君。相信你每天都会使用Git,作为一款免费、开源的分布式版本控制系统,Git最初是 Linus Torvalds 为了帮助管理 Linux 内核开源协作而开发的,随着GitHub的流行和Git本身的系统优势,它也渐渐成为我们广大研发人员日常工作中必不可少的版本管理利器。在使用Git的过程中,你一定会常常用到 git diff 的命令,去查看这次待提交的本地代码和修改前的代码有什么区别...
2024-11-05 16:20:02
633
原创 开篇词|真实世界的算法,和你想的不一样
你好,我是黄清昊,毕业于上海交通大学信息工程专业,Hashdata 数据库内核工程师,公众号微扰理论作者。在LeetCode上,我还有一个名字叫“微扰理论”(之后就以微扰君自称),刷了800多道题,贡献了200多篇优质算法题解,可以说对算法学习很有心得了。提到算法,不知道你有没有这样的疑惑。之前花很多时间学的算法和数据结构,好像就是为了应对算法面试,对日常的开发工作没有什么帮助。入职之后,往往做着...
2024-11-05 16:19:56
552
原创 02 | 大厦基石:无生有,有生万物
你好,我是七牛云许式伟。在上一讲中,我们把“构建一个应用程序”类比成“构建一座大厦”,并从宏观全局的视角剖析了应用程序这座大厦的构成。今天,我们将更加近距离地去解剖这座大厦的地基:冯·诺依曼体系结构。解剖架构的关键点是什么?在解剖之前,我想和你先谈谈“解剖学”:我们应该如何去分析架构设计中涉及的每一个零部件。换一句话说,当我们设计或分析一个零部件时,我们会关心哪些问题。第一个问题,是需求。这个零部...
2024-11-05 16:19:50
540
原创 01 | 架构设计的宏观视角
你好,我是七牛云许式伟。今天我们来谈谈架构设计的宏观视角。在信息科技高度发展的今天,我们每个人随时随地都可以接触到由程序驱动的智能电子设备,包括手机(如iPhone、oppo拍照手机)、平板电脑(如iPad)、手表(如iWatch、小天才智能手表)、音箱(如天猫精灵)、汽车(如特斯拉)等等。这些东西背后是怎么工作的?单就其中的软件系统而言,这些小小的设备上往往运行着成千上万个软件模块,这些模块是如...
2024-11-05 16:19:45
545
原创 开篇词 | 怎样成长为优秀的软件架构师?
你好,我是许式伟。从今天起,我想和你一起来聊聊架构的话题。开始之前,我先来和你简单介绍下我自己。我是2000年开始工作的,曾经做过WPS的首席架构师,也在盛大从事过技术研究方面的工作,后来在2011年创立了七牛云,现在我是一名创业者、CEO。但不管角色怎么轮换,我觉得我的另一面始终是一名程序员、架构师(如果你想了解更多我的经历,可以观看下面的短视频)。让我们来想象一下,如果把信息世界看成一座大厦,...
2024-11-05 16:19:40
540
原创 02 | 性能调优的本质:调优的手段五花八门,该从哪里入手?
你好,我是吴磊。上节课,我们探讨了性能调优的必要性,结论是:尽管Spark自身运行高效,但作为开发者,我们仍然需要对应用进行性能调优。那么问题来了,性能调优该怎么做呢?面对成百上千行应用代码、近百个Spark配置项,我们该从哪里入手呢?我认为,要想弄清性能调优怎么入手,必须先得搞明白性能调优的本质是什么。所以今天这节课,咱们就从一个先入为主的调优反例入手,带你一起探讨并归纳性能调优的本质是什么,最...
2024-11-05 16:19:36
490
原创 01 | 性能调优的必要性:Spark本身就很快,为啥还需要我调优?
你好,我是吴磊。在日常的开发工作中,我发现有个现象很普遍。很多开发者都认为Spark的执行性能已经非常强了,实际工作中只要按部就班地实现业务功能就可以了,没有必要进行性能调优。你是不是也这么认为呢?确实,Spark的核心竞争力就是它的执行性能,这主要得益于Spark基于内存计算的运行模式和钨丝计划的锦上添花,以及Spark SQL上的专注与发力。但是,真如大家所说,开发者只要把业务逻辑实现了就万事...
2024-11-05 16:19:32
489
原创 开篇词 | Spark性能调优,你该掌握这些“套路”
你好,我是吴磊,欢迎和我一起探索 Spark 应用的性能优化。2020年6月,Spark正式发布了新版本,从2.4直接跨越到了3.0。这次大版本升级的亮点就在于性能优化,它添加了诸如自适应查询执行(AQE)、动态分区剪裁(DPP)、扩展的Join Hints等新特性。其实,在3.0版本发布之前,Spark就已然成为了分布式数据处理技术的事实标准。在数据科学与机器学习魔力象限中,Gartner更是连...
2024-11-05 16:19:28
726
原创 01 | 编译的全过程都悄悄做了哪些事情?
你好,我是宫文学。正如我在开篇词中所说的,这一季课程的设计,是要带你去考察实际编译器的代码,把你带到编译技术的第一现场,让你以最直观、最接地气的方式理解编译器是怎么做出来的。但是,毕竟编译领域还是有很多基本概念的。对于编译原理基础不太扎实的同学来说,在跟随我出发探险之前,最好还是做一点准备工作,磨刀不误砍柴工嘛。所以,在正式开始本课程之前,我会先花8讲的时间,用通俗的语言,帮你把编译原理的知识体系...
2024-11-05 16:19:24
537
原创 学习指南 | 如何学习这门编译原理实战课?
你好,欢迎来到《编译原理实战课》,我是专栏编辑王惠,很高兴认识你。我们都知道,“编译原理”是一门特别硬核的计算机基础专业课。你是不是也觉得编译原理知识就像是一片望不到头的大海,任自己在里面怎么扑腾、怎么挣扎都游不到学成的对岸。但是没关系,现在我们可以跟着宫老师的脚步一起探索编译的旅程了。不过在正式开始学习这门课程之前,我想先和你聊聊这门课程的一些设计思路和特设板块,帮你找到最适合自己的学习方式,让...
2024-11-05 16:19:19
466
原创 开篇词 | 在真实世界的编译器中游历
你好,我是宫文学,一名技术创业者,现在是北京物演科技的CEO,很高兴在这里跟你见面。我在IT领域里已经工作有20多年了。这其中,我个人比较感兴趣的,也是倾注时间精力最多的,是做基础平台类的软件,比如国内最早一批的BPM平台、BI平台,以及低代码/无代码开发平台(那时还没有这个名字)等。这些软件之所以会被称为平台,很重要的原因就是拥有很强的定制能力,比如流程定制、界面定制、业务逻辑定制,等等。而这些...
2024-11-05 16:19:15
522
原创 第2讲 | 区块链到底是怎么运行的?
上一次,我们聊到了区块链的概念及整个行业的发展过程,今天我想稍微深入一下,尽可能通俗地介绍一下:区块链到底是如何运行的? 这一篇文章我将以比特币区块链为例来进行讲解,理由有两个:由于区块链发展到目前阶段,各个技术方向都有长足的发展,那么为了方便你理解,我在这里介绍最简单、最容易理解的比特币区块链;由于大部分区块链都是以比特币区块链为基础进行扩充的,所以首先了解比特币区块链有助于其他项目区...
2024-11-05 16:19:11
1163
原创 第1讲 | 到底什么才是区块链?
很高兴在我的区块链专栏里和你相识,作为专栏的第一篇文章,我先来和你聊聊“区块链是什么”,以及它的发展过程。自中本聪第一次发布了比特币,至今已经有9个年头了,那么算起来区块链也应该有9年的历史了吧?其实不是,“区块链”这个概念恰恰是这些年才有的,如果非要追溯,可能在2014年左右,才真正有了“区块链”的概念。区块链和区块链行业我早期写文章喜欢给区块链下定义,但是读者反响并不如意,所以今天我想“...
2024-11-05 16:19:07
659
原创 开篇词 | 帮你从0到1深入学习区块链技术
你好,我是陈浩,目前是区块链初创公司维优( ViewFin )的 CTO。我是一名程序员,也喜欢编写程序。在做区块链之前,我曾有多年的支付和结算系统的开发经验,那会儿我的工作重点是传统网络服务行业的高并发架构,而现在则是专注于公有区块链架构方向的研究。区块链大概算是我的主场,自从进入到这个圈子,我主持研发了中国的公有链——Metaverse(元界),也主导实现过自己的数字资产交易所。在我最早...
2024-11-05 16:19:03
584
原创 01 | 重新认识C++:生命周期和编程范式
你好,我是Chrono。今天是专栏的第一节正式课。我想,既然你选择了这个专栏,你就应该已经对C++有所了解了,而且有过一些开发经验,甚至还掌握了一两种其他的语言。苏轼有诗云:“不识庐山真面目,只缘身在此山中。”学习C++很容易被纷繁复杂的语法细节所吸引、迷惑,所以,我决定从“生命周期”和“编程范式”这两个不太常见的角度来“剖析”一下C++,站在一个更高的层次上审视这门“历久弥新”的编程语言,帮你认...
2024-11-05 16:18:59
602
原创 课前准备 | 搭建实验环境
你好,我是Chrono。在开始正式的学习之前,我们需要先做一点准备工作——在自己的电脑上搭建出课程使用的实验环境。我会给你推荐具体的操作系统、编译器,带你一步步搭建环境,还会给你分享我的GitHub链接,之后课程里的所有代码,你都可以在这里找到。操作系统首先说一下操作系统。目前流行的操作系统有三种:Windows、macOS和Linux。Windows是应用得最广泛的一个系统了,是绝对的主流,但是...
2024-11-05 16:18:55
508
原创 开篇词 | 把C++从“神坛”上拉下来,这次咱这么学
你好,我是罗剑锋,你叫我Chrono就好。去年,我在极客时间开了一个《透视HTTP协议》的课程,有很多同学留言,希望能再听我讲讲其他领域的知识。于是,在一年之后的今天,我给你带来了这个新课程:《罗剑锋的 C++ 实战笔记》。为什么C++这么难学?如果你之前看过那个课程,就应该知道,我的工作经历比较杂,HTTP只能算是我的一个“副业”。这次要讲C++,感觉终于回到了“老本行”。毕竟写了二十多年的C+...
2024-11-05 16:18:50
465
原创 02 | 基本概念:线性代数研究的到底是什么问题?
你好,我是朱维刚。欢迎你跟我学习线性代数。今天我们要讲的是“线性代数这门课的基本概念”。线性代数可以运用在很多领域,比如:工程学、计算机科学、经济学、信号处理等等。我们来看一个在经济学中常见的例子:消费矩阵。假设有n个行业,比如:化学、食品和石油。制造一单位的某化学品需要0.2单位的另一类化学品,0.3单位的食品,以及0.4单位的石油,而制造一单位的某食品和某石油也同样分别需要这三类产品的输入,于...
2024-11-05 16:18:46
705
原创 01 | 导读:如何在机器学习中运用线性代数工具?
你好,我是朱维刚。欢迎你跟我一起重学线性代数!在开篇词中,我和你大致讲过我自己的经历,从2006年开始到现在14年的时间里,我都专注于机器学习领域。对于线性代数在机器学习中的应用,我非常了解。而这也是线性代数最主要的应用场景之一。因此,今天第一节课,我想先和你聊一聊,如何在机器学习中运用线性代数工具,在我们开始自下而上的学习之前,先从上层来看一看。我们都知道,“数据”是机器学习的前提,机器学习的第...
2024-11-05 16:18:42
615
原创 开篇词 | 从今天起,学会线性代数
你好,我是朱维刚。欢迎你跟我一起重学线性代数!我们为什么要学线性代数?“数学”其实是一个老生常谈的话题。我出生在80年代,在我这一代,父母一直给我们灌输“学好数理化,走遍天下都不怕”的思想。我们每个人都是从很小的时候就开始学习数学了。那你有没有想过,学了那么多年数学,我们到底把这些数学知识都学到哪里去了呢?它们到底可以用在什么地方呢?我自己对数学这个学科比较感兴趣,从小就在想这些问题,但是一直百思...
2024-11-05 16:18:37
504
原创 02|一张好照片的背后,都隐含着哪些要素?
你好,我是随你们去。今天我们来聊聊一张好照片的组成要素。这是我用手机拍摄的一张东京铁塔照片,它看起来非常地干净,主题明确。你认为这张照片怎么样呢?在我的想法里,这张照片的问题比较多,并不足以成为一张好照片,实际也是我弃用的一张照片。具体来看,照片的内容比较单调,尽管主题是东京铁塔,但是作为每个路过游客都会拍摄的场景,这样一张角度平平的照片,显然是会显得单调的。其次,由于拍摄时间是夜幕之后,天空的色...
2024-11-05 16:18:32
519
原创 01|拍摄前,我们需要做什么?
你好,我是随你们去。今天我想和你聊聊在我们手机拍摄前,你需要知道的事情。我相信我们都知道如何使用手机的拍照功能。在手机厂商们不断地努力下,面对绝大部分场景,我们只需轻轻触碰快门按钮,即可获得一张成像质量不错的照片。按快门这个动作非常简单,但是我们很多时候追求的并不仅仅是看起来清楚的照片,我们需要一张高质量、具有一定美感和故事的照片。照片不仅用作自己欣赏,更是我们表达自我的方式。那么在这种情况下,我...
2024-11-05 16:18:22
345
原创 开篇词|手机拍照这件小事
你好,我是随你们去,一名自由职业者。在我的大学时期,因为我希望能把时间都花在自己喜欢的事情上,在完成大一上学期的课程后,我主动向学校申请了休学。在那之后,我将自己关在家里整天面对电脑学习编程和设计,之后在重庆本地得到了一个 UI 设计方面的工作,几个月后,随着公司倒闭和一年休学期结束,我去学校办理了退学手续,从那之后,彻彻底底开始了我的自由职业生涯。如今,我的职业多样,既是一名自由摄影师,也是一名...
2024-11-05 16:18:12
432
原创 02 | 生态思维:企业怎么找准自己的定位?
你好!我是付晓岩。今天,我想和你聊一聊,在数字化转型中,企业必须要用到的生态思维。说到生态,也许你立刻想到的就是跟每个人都息息相关的环境问题,比如小河的污染、气温的持续上升、沙漠化等,可以说,这些问题很大程度上都是粗放的、单纯求快的发展思路导致的。这种因果循环不是自然界才有的东西,在我们的商业领域、企业管理,甚至是技术领域,都是存在的。每个企业都生活在一个超级大的生态里,无论是世界500强,还是街...
2024-11-05 16:18:07
467
原创 01 | 历史思维:什么是数字时代和数字化转型?
你好,我是付晓岩。“数字化”如今是个大热门了,聊天不谈数字化可能会让别人觉得你都落后于时代了,大到企业战略,小到铺天盖地的公众号文章,“数字化”估计都快刷爆你的手机屏幕了。当然,你也可能听过N种对数字化的解释了,比如:有人从商业模式的改变上谈数字化,把用数据去驱动业务当作数字化;有人从技术方面去谈,用5G、中台、云上企业、物联网、人工智能社会、区块链社会等,去定义数字化;有人觉得跟信息化没啥...
2024-11-05 16:18:03
796
原创 开篇词 | 数字化转型箭在弦上,如何抓住机遇?
你好,我是付晓岩,目前在IBM担任副合伙人,主要负责数字化转型和企业架构设计工作。我在金融行业工作了20年,一直活跃在技术和业务一线。在某国有大行工作期间,我曾深度参与行里的企业级转型工程。我们用了近7年的时间,解决了业务线之间的协同困难、数据不一致问题,同时规避了大量的重复开发和数据管理难题,实现了由业务架构驱动的企业级系统开发。最终,全行实现了业务和数据的一体化。做这种转型的企业本来就少,而能...
2024-11-05 16:17:58
402
原创 02 | 如何判断产品体验的商业化潜能?
你好,我是相辉。在我过去十几年的咨询工作中,经常会遇到一个问题:面对五花八门的用户需求,到底哪一个才是具有商业化潜能,需要我们集中兵力去做的?因为并不是所有的业务方向都能帮助企业成长发展,作为商业顾问,我需要确定该需求最终能够成为一个正向现金流的循环,它可以逐渐自转起来,从而帮企业实现盈利。那么关键问题就来了,这些表面看上去都很性感的需求,有商业化潜能的规律可循吗?其实啊,我们思考一个生意如何可持...
2024-11-05 16:17:54
312
原创 01 | 商业的天时:如何选择正确的体验策略?
你好,我是相辉。今天,我们开始学习课程的第一个模块:体验商业通识篇。任何产品与服务,都是从用户场景的商业规律里生长而来的。比如出行产品的国际化,在不同的国家就要根据当地不同的供给能力、政府政策宽松度、用户互联网化的接受度等,制定不同的运营策略和体验策略。每当我开始接触一个新客户,第一个任务,就是去找到它们的规律和场景。只有拿到这些,我对于体验设计的对错和取舍,才有了一把关键的尺子,才能保证用户体验...
2024-11-05 16:17:50
329
原创 开篇词 | 用户体验,未来十年撬动商业的思维
你好,我是相辉,一个用户体验设计出身的商业咨询人,现在是辉创新体验的创始人。同时,我也担任着度小满金融、滴滴出行、联想、转转等公司的商业顾问,并承担着大量传统企业的用户体验和商业增长的咨询工作。我的工作,主要就是帮助这些公司解决不同的用户端问题:有的是提升设计品质,有的是做增长策略,有的是探索新的商业模式。而无论面对多复杂的问题,我的解决方案永远是要基于用户体验与商业逻辑的双循环思考,并把它们链接...
2024-11-05 16:17:44
366
原创 02 | 面向对象:理解Kotlin设计者的良苦用心
你好,我是朱涛。这节课,我们来学习Kotlin的面向对象编程:类、接口、继承、嵌套,以及Kotlin独有的数据类和密封类。面向对象(Object Oriented)是软件开发方法,也是计算机界应用最广的一种编程范式。它是把程序的“数据”和“方法”作为一个整体来看待,将其抽象成了一个具体的模型,从而更贴近事物的自然运行模式。它的特点是简单易懂,符合人类的思维模式。在“面向对象”的概念上,虽然Kotl...
2024-11-05 16:17:40
294
原创 01 | Kotlin基础语法:正式开启学习之旅
你好,我是朱涛。从今天开始,我们就正式踏上Kotlin语言学习与实践的旅途了。这节课,我想先带你来学习下Kotlin的基础语法,包括变量、基础类型、函数和流程控制。这些基础语法是程序最基本的元素。不过,如果你有使用Java的经验,可能会觉得今天的内容有点多余,毕竟Kotlin和Java的基础语法是比较相似的,它们都是基于JVM的语言。但其实不然,Kotlin作为一门新的语言,它包含了许多新的特性,...
2024-11-05 16:17:36
347
原创 开篇词 | 入门Kotlin有多容易,精通Kotlin就有多难
你好,我是朱涛,欢迎和我一起学习Kotlin。作为一名Kotlin、Android领域的谷歌开发者专家,我曾经负责过陌陌创新业务的Android客户端。从2017年开始,我和我的团队成员们就一直在探索Kotlin在Android中的应用,并在Kotlin函数式编程、Kotlin DSL、Kotlin协程以及Android Jetpack方面积累了一些实践经验。我的博客“Kotlin Jetpack...
2024-11-05 16:17:30
695
原创 02 | HTTP是什么?HTTP又不是什么?
首先我来问出这个问题:“你觉得HTTP是什么呢?”你可能会不假思索、脱口而出:“HTTP就是超文本传输协议,也就是HyperText Transfer Protocol。”回答非常正确!我必须由衷地恭喜你:能给出这个答案,就表明你具有至少50%HTTP相关的知识储备,应该算得上是“半个专家”了。不过让我们换个对话场景,假设不是我,而是由一位面试官问出刚才的问题呢?显然,这个答案有点过于简单了,不能...
2024-11-05 16:17:25
450
原创 01 | 时势与英雄:HTTP的前世今生
HTTP协议在我们的生活中随处可见,打开手机或者电脑,只要你上网,不论是用iPhone、Android、Windows还是Mac,不论是用浏览器还是App,不论是看新闻、短视频还是听音乐、玩游戏,后面总会有HTTP在默默为你服务。据NetCraft公司统计,目前全球至少有16亿个网站、2亿多个独立域名,而这个庞大网络世界的底层运转机制就是HTTP。那么,在享受如此便捷舒适的网络生活时,你有没有想过...
2024-11-05 16:17:21
310
原创 开篇词|To Be a HTTP Hero
你好,我是罗剑锋(Chrono),一名埋头于前线,辛勤“耕耘”了十余载的资深“码农”。工作的这十多年来,我开发过智能IC卡,也倒腾过商用密码机;做过政务项目,也做过商务搜索;写过网游核心引擎,也写过CDN存储系统;在Windows上用C/C++做客户端,在AIX、Linux上用Java、PHP写后台服务……现在则是专注于“魔改”Nginx,深度定制实现网络协议的分析与检测。当极客时间的编辑联系我,...
2024-11-05 16:17:17
334
原创 02 | 遗留系统现代化:遗留系统的四化建设
你好,我是姚琪琳。上节课,我们学习了什么是遗留系统,对于老旧、过时,但又十分重要、不可替代的遗留系统,听之任之只会埋下隐患,真正出现问题就为时已晚了。不过在动手改造遗留系统之前,我们先要找准方向。其实相比遗留系统“治理”、“改造”,我们更强调的是“现代化(Modernization)”,也就是把遗留系统变为现代化的系统。这也是国际上更通用的提法。用“Legacy System Modernizat...
2024-11-05 16:17:13
448
原创 01|遗留系统之殇:为什么要对遗留系统进行现代化?
你好,我是姚琪琳。不知道你是否跟曾经的我一样,身处一个遗留系统的漩涡之中,每天为毫无头绪的代码和混乱不堪的架构发愁。一个新的需求来了,都不知道从哪儿开始改起,即便看似简单的需求都要很久才能上线。假如你也如此,请不要悲伤,也不要心急,其中有很多妥善的应对之法,我会在这个专栏中一一交付给你。但在此之前啊,我想我们是不是得先明确一下,到底什么样的系统才能称之为遗留系统呢?它存在哪些问题,复杂在哪里?这节...
2024-11-05 16:17:07
501
原创 开篇词|你现在所写的每一行代码,都是未来的遗留系统
你好,我是姚琪琳,来自Thoughtworks,很高兴在极客时间与你相遇。先做个自我介绍,我做过程序员、架构师、技术负责人、技术教练、咨询师,角色一直在变化,但幸运的是始终可以有机会写写代码。业余时间也喜欢翻译,曾经翻译过大大小小十来本技术书籍。这15年的职业生涯,虽然我尝试了种种工作,但总结起来我大部分的时间都在和遗留系统打交道。既有开发历史已经接近20年的系统,也有刚上线没几年的系统,当然也有...
2024-11-05 16:17:01
382
转载 02 | 硅谷的产品经理是什么样子的?
硅谷的产品经理热如果你问斯坦福大学的大四学生,竞争最激烈的工作是什么?他们的答案已经不是投资银行分析师,或者麦肯锡的咨询顾问,也不是谷歌的工程师,而是:产品经理。其实,不仅是本科学生, 斯坦福大学和哈佛大学的MBA毕业生也在疯狂地准备产品经理面试,而斯坦福大学商学院甚至在今年刚刚开设了产品经理课程,这是史无前例的。这么多最最优秀的学生的梦想,就是能进入谷歌的轮换制产品经理项目。Yahoo的...
2024-11-05 16:16:55
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人