首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

经验 | Web开发野蛮生长这17年

时间走到了 1999 年,也就是 17 年前,在 Square 新闻组里写下了问题: A:“正在写 web 数据库,但是我们已经桌面数据库了呀。”...这里是 9/11,一切都随风而逝... 在 Google 上搜索了一下,这是那个时候硅谷人想法,你们感受下。 到了一个哥们儿这样写到: "噢,天呐,这简直是致命打击。...作为一个年轻初创公司,知道每个人都受到了影响。知道大多数人都失去了工作。不久之后,知道大部分人都搬走了。" 在这里他写到: "泡沫时代对比是史诗级。...我们知道软件都有一个饱和曲线。有时候给代码添加新特性确实很困难,所以这时候重写代码更换技术栈是完全没有问题,但是你注意这里这个缺口。...你创建了一个函数来读取数据库某些数据,然后调用回调函数,处理返回数据库结果,这里最好创建一个能够处理不同返回值回调,而不要一次一次创建。

18910

OpenAI 演讲:如何通过 API 将大模型集成到自己应用程序

或者,如果你在一家公司工作,它不会连接到你公司数据库和你公司内部知识库等等。这使得语言模型使用受到了限制。你可以写一首诗,可以写一篇文章,可以从中得到一个很棒笑话,可以搜索一些东西。...大多数情况下,只想问数据库,谁是顶级用户,然后得到响应。今天终于可能了。我们将使用 GPT,将给它一个称为 SQL 查询函数,它只需要一个参数,即一个字符串“query”。...让我们在数据库运行一下它。我们得到了一些结果。 当然,这是 JSON 格式,因此用户无法渲染它。让我们把它发送回 GPT 看看它说了什么。...在某个时候,我会把公关东西产品化。 让我们回到开始地方。我们谈到了史蒂夫·乔布斯名言,他说“计算机是思维自行车”。这对来说确实如此,对你们所有人来说也都是如此。...矢量数据库兼容性 参会者 9:这可以与矢量数据库一起使用想法是,想根据我输入到向量数据库信息来约束信息,但它仍然能适用于函数逻辑? Eleti:是的,和以前一样好用。

76010
您找到你想要的搜索结果了吗?
是的
没有找到

经验 | 今年你应该花5个月时间去学习JS,并且...

如果你是一个成熟开发者,你可能会在这里找到一些有用链接,因为出了最好资源,能给你技能提升带来巨大好处。...C、你已经注意到了2003年和2018年之间区别,以及我们在短短15年里取得技术进步多大。你想处于一个影响世界进程行业最前沿。...相信我,这是一个很棒技术,很多需求,也有一个伟大社区。如果你不相信我,这里一个趋势开发者技能分析。 够了,让我们开始吧。在下面,你会找到我认为最适合你东西,让你能够充分利用自己时间。...因此,我们只专注于获得80%知识,从而有效地利用我们时间。 从这一切中获得最大收获 技术总是在变化。Javascript尤其如此。现在事情变化如此之快,以至于不可能知道一个东西。...你需要知道是,所有的东西都是如何组合在一起,以及每种技术都在试图解决什么问题。最重要是,你只需要知道存在,这样你就可以在需要时候查看它,并找到它。程序员是解决问题的人。

37910

编程之魂之C# – 与C#之父Anders访谈

认为这里神奇之处在于你必须二者兼顾。 您语言设计哲学是出自自己观点并付诸实践? Anders:噢,在某种意义上是这样认为你可能会,某些指导原则开始。简易性始终是一个很好指导原则。...译注4:第一原理(first principle),一个系统研究基本原理、规则或法则;该系统或体系其他原理、规则或法则都是它那里推导出来或它那里得到解释,而它本身却不是从那个体系或系统任何其他原理或规则推导出来或得到解释...其中有一部分从未添加到语言中,不过还是把它们维护在列表,因为或许一天会其中获得一些好主意。我们知道虽然做得并不到位,但还是愿意做事。 随后,我们逐渐地找到了问题解决方案。...这不像有人曾经问过我们:“我们喜欢把查询嵌入到语言里”,因为你并没有真正考虑这些你能考虑概念。 不愿意说我们某种特定方式获得反馈。这是一一个有机过程,我们可以很多不同地方得到它们。...对于更复杂情况,我会使用一个调试器,因为要看一看堆栈踪迹或者是本地出了什么问题等。不过通常情况下,你只要简单地检查一下,就能够很快地摸清底细。 设计API时,您遵循了什么原则?

74320

什么是真正程序员

他好像十分忙,但是没人知道他在做什么。   小printf:"如果主数据库挂掉了,数据库也会挂掉?"...(创建主从数据库是为了减少DOWN机时间,让数据库可以一直处于工作状态)   "你运行所有东西,或早或晚都会挂掉。"   小printf:"你以往经历告诉你这一切都会失败?"   ...你不认为这才是问题所在吗?"   那个人听完哑口无言。  第七章 ?   小printf来到了第四个地方,遇到了一个人,他电脑几乎被便签盖满了,没有人知道他在干什么。   ...他看了一眼他手机接着又说到:"看,cardboard.io框架又推出了3.5版本,它宣布不兼容3.4了。于此同时社区已经4个衍生版本了。必须他们之中挑一个。"   ...你是第一批试用这些技术的人,你从中得到了什么回报?"   "额,并没有。当Rails壮大时候,就去关注另外新鲜东西了。同样,其他几门技术也是这样(他不独宠一个,而是雨露均沾?)。

72280

2024 年软件架构趋势:AI 加速,鸿沟拉大,架构师如何应对?

设计单体、微服务和纳米服务吸取经验教训也得到了广泛应用。 开源和非开源许可正在不断发展。架构师必须意识到其代码库包含依赖关系含义,采用软件物料清单(SBOM)。...我们如何衡量程序员生产力?我们应该衡量程序员生产力?我们是否真的开发者领域的人工智能工具获得了一些价值呢?当然可以对自己说,是的,已经开始使用它们,并且发现了其中价值。...Srini Penchikala:这些工具可以让程序员成为更好程序员,但它们不会为你解决问题。你需要知道你需要解决什么问题认为这是另一种形式复用。...一些新专用数据库专门用来管理这些数据,它们在这个领域受到了很多关注。看看它们如何进化将会是很有趣事情。另外一个就是云。云始终是任何 IT 解决方案基础。认为多云使用是一种持续趋势。...多年来有过很多案例,其中人们都以为自己了一套良好且稳定依赖体系,但其实你并不知道你究竟依赖是什么东西。 当我们处于闭源环境时,所有代码都是公司自己人写。是的,你拥有这一切

12210

程序员如何提一个好问题

: 写下了对rkt和Docker如何在磁盘上存储容器理解 想出了几个认为他们可能会按照他们方式设计原因 问“理解对?” 得到答案超级超级帮助,正是所寻找。...问答案是事实问题 很多问题一开始有点模糊,如“SQL连接查询JOIN如何工作?”。这个问题不是很棒,因为连接查询如何工作很多不同部分!那么对方怎么知道兴趣学习是什么?...MySQL在进行连接查询之前是否始终将联结列排序作为第一步? 知道Hadoop有时会“hash连接”——这是其他数据库引擎也使用一个连接策略?...真诚地说出你不明白地方 很多时候当有人向我解释某事时,他们会说一些不明白东西。例如,可能有人正在向我解释一些关于数据库东西,并说“好,我们使用MySQL乐观锁,因此……”。...这种问题实际上有两个目的——第一,得到答案(可能这个人知道但其他人不知道信息),但也要指出,这里一些隐藏信息,并且共享这些信息是有用

65230

高级工程师晋升之路:如何用 JavaScript 打造十亿级应用

但除了没有开源之外,感觉从这个框架中学到了很多东西必要在这里跟大家分享一下。 超大规模应用,以及这些应用共同点 我们来讨论下超大规模应用,以及这些应用共同点。当然,肯定有很多人一起开发。...只要有人参与,就会影响到编程模型,因为他们思考这些东西。 ? (根据路由进行代码分割) 个经过实践考验方法能解决代码分割问题,这样人就不用考虑代码分割问题了。这种方法叫做“基于路由代码分割”。...(Google搜索上查询“public speaking 101”结果) 在这次演讲之前搜索过怎样在公众场合讲话,于是得到了这一堆蓝色链接。...可以很肯定,这个页面只需一个单一路由包就可以处理。 ? (Google搜索上查询“weather”结果) 但稍后知道天气,因为加州冬天很冷。结果立刻就跳到了完全不同模块。...有没有人有过这种经历,以前写代码,现在虽然不再使用了,但还留在代码库? 大家都知道这个问题,而且最严重就是CSS。一个超大CSS,里面有各种选择器。谁知道哪个选择器还有用?

81720

程序员如何提一个好问题

: 写下了对rkt和Docker如何在磁盘上存储容器理解 想出了几个认为他们可能会按照他们方式设计原因 问“理解对?” 得到答案超级超级帮助,正是所寻找。...问答案是事实问题 很多问题一开始有点模糊,如“SQL连接查询JOIN如何工作?”。这个问题不是很棒,因为连接查询如何工作很多不同部分!那么对方怎么知道兴趣学习是什么?...MySQL在进行连接查询之前是否始终将联结列排序作为第一步? 知道Hadoop有时会“hash连接”——这是其他数据库引擎也使用一个连接策略?...真诚地说出你不明白地方 很多时候当有人向我解释某事时,他们会说一些不明白东西。例如,可能有人正在向我解释一些关于数据库东西,并说“好,我们使用MySQL乐观锁,因此……”。...这种问题实际上有两个目的——第一,得到答案(可能这个人知道但其他人不知道信息),但也要指出,这里一些隐藏信息,并且共享这些信息是有用

1K40

程序员如何提一个好问题

: 写下了对rkt和Docker如何在磁盘上存储容器理解 想出了几个认为他们可能会按照他们方式设计原因 问“理解对?” 得到答案超级超级帮助,正是所寻找。...问答案是事实问题 很多问题一开始有点模糊,如“SQL连接查询JOIN如何工作?”。这个问题不是很棒,因为连接查询如何工作很多不同部分!那么对方怎么知道兴趣学习是什么?...MySQL在进行连接查询之前是否始终将联结列排序作为第一步? 知道Hadoop有时会“hash连接”——这是其他数据库引擎也使用一个连接策略?...真诚地说出你不明白地方 很多时候当有人向我解释某事时,他们会说一些不明白东西。例如,可能有人正在向我解释一些关于数据库东西,并说“好,我们使用MySQL乐观锁,因此……”。...这种问题实际上有两个目的——第一,得到答案(可能这个人知道但其他人不知道信息),但也要指出,这里一些隐藏信息,并且共享这些信息是有用

83050

独家 | 机器学习先驱Michael Jordan清华演讲汉化视频+PPT:计算思维,推断思维与数据科学

首先要考虑数据哪来,数据背后是什么,数据获取过程中有什么问题,这就是推断,还不严格属于计算机科学研究范畴。即便最后得到东西都是所谓算法,你也必须思考背后统计采样和总体。...这些隐私数据与你们是否相关可能并不重要,但它们的确引出了一些需要承载问题。人们通常拥有数据,并希望这些数据发挥作用,但他们也希望他们自己数据能得到保护,比说谁知道他们数据。...这是一个很好机会,但也会带来很多问题,特别是隐私问题。 如果一个生物医学研究者,说可以得到基因知道你拥有这些基因。他会问我:首先,你要用这些基因数据做什么?...说我们需要交流一下了。这里举另外一个例子,一个来自医疗研究领域案例。一些数据库的人员信息,他们年龄、身高、体重、以及他们服用和不服用治疗药物寿命,这是典型医疗数据。...加上那个以后我们现在有了一个大型优化问题,一定空间 、一定复杂度、一定数学特性,我们做了数学演算来解决这个问题,最终得到了不少答案,不过我们算出了一个很简单结果,得到了一个没有隐私度统计率。

68070

如何构建可扩展应用程序

所以你一个很棒主意。而且你来自大学朋友可以帮助你开始构建你应用程序。您也可以从早期采用者那里获得很好反馈。所以你做任何人都会做事。启动你应用! 前几周一切都很完美。经验很棒。...该应用程序不断崩溃,数据库非常火爆。不是你想要点亮。 但你测试是积极。你曾计划好一切出了什么问题?你应用程序无法扩展! 可扩展性(技术角度来看)经常被忽略。...1)选择正确技术 很确定你看到了一个。可伸缩性并不是事后想法。它需要从最初设计包含在过程。这使用正确技术开始。 编程语言 你做一个选择是编程语言。...拥有一切多个副本。在多个服务器上运行数据库。许多支持开箱即用复制。一个很好例子是MongoDB。在多台服务器上运行后端代码。负载平衡器可以真正帮助你。 知道说起来容易做起来难。...这种方法问题在于,每次客户端发出请求时,您服务器都必须工作。当多个这样客户开始一起提出请求时,我们遇到了问题。 但这里还有另一个问题。我们不能相信客户。

1.4K20

GPT近期发展方向--OpenAI 联合创始人20230421在 TED 大会演讲(图文版)

(笑声) 现在你得到了所有的,某种程度上,创意和创意来回。并为您处理 ChatGPT 获取详细信息。我们开始吧,这不仅仅是一顿饭主意。所以让我们看看我们会得到什么。...(笑声)所以你知道,再一次,觉得想从这里机器得到更多。真的想让它注意到这件事,也许它有点过头了有点,神奇地推断这就是想要。但我注入意图,提供了这条额外指导。...认为最重要是让彼此截然不同团队和谐地合作。CA:顺便问一下,我们可以喝刚带来认为我们将需要它,这是一个口干舌燥的话题。但是,你在这些语言模型中看到了一些东西,难道不也有一些东西?...我们尝试了很多东西一个人正在训练模型,预测亚马逊评论一个字符,他得到了一个结果——这是一个句法过程,你知道,该模型将预测逗号位置,名词和动词位置。...如果你不把它们放在一起,就会出现悬垂,这意味着如果有人这样做,或者当有人设法连接到电路时,然后你突然了这个非常强大东西,没有人任何时间去调整,谁知道得到了什么样安全预防措施。

1.2K160

留心那些潜在系统设计问题

举例来说,一个日益复杂类,每个人都修改一点点,一直到最后都没有人愿意去做重构,大家心态都是一样:“只修改了一点点,为什么要去动那么大刀,于我没有任何好处”。...不在这里谈论这一问题解决办法,倒是想说,在开始阶段考虑清楚问题在多数情况下还是很有好处,设计考虑越是清楚,在后续阶段代码可以承受越多变更而不腐朽。...而在他介绍这个系统设计时候,我们留意到了其中存在一个时间条件触发任务,任务基于两个数据库数据执行,这两个数据库数据同步是单独完成,因此可能存在数据不一致情况,并且在这里假定在数据更新一小时以后...例子 5:单点故障问题 单点故障问题也是很常见会导致服务失去问题,出了问题所有人知道原因,但是有时候就是很难在系统设计阶段识别出来。...亚马逊网站数据都是页面服务器先从缓存服务获取数据,通常这个命中率很高,如果获取不到数据或者数据过期以后再到数据库查询

30310

【微服务】专家组:在过去十年微服务,我们学到了什么?

瓦特:认为,在我们工作一些客户也看到了分布式整体,在那里很多服务,比如实体服务反模式,认为当你整体分解到微服务时,只是一些非常传统概念。...想这又回到了你刚才说,克里斯,重要一点是这些东西是如何交流?API是什么?知道可以通过什么协议和这边一个团队交谈?使用团队是服务边界同义词。认为这似乎正在消失。...Eli Goldratt说,你需要三件事来改变一个范例。您需要做第一件事是在现有的范例尝试其他一切。你需要承受巨大压力。你需要有人帮助你迈出第一步。...如何影响管理层和领导层以适应变化 瓦特:知道你们是否有人读过《团队拓扑》这本书,并且随着旅程发展,不得不改变团队。有时您可能会有一个完整产品团队启动,但您可能会有处于不同交互模式平台团队。...所见过公司中最好例子就是制作数据库工具Redgate,它做到了这一点,而且做得非常好。它们最初用于SQL Server,现在也可以使用其他数据库。他们做得非常成功。

37120

·《暗时间》:为什么你应该(从现在开始就)写博客(转)

因为只有完全知道、并知道自己知道一切来龙去脉的人,才能真正把一件事情讲得通通透透。 但是,你可能会怀疑,那除了能够讲清楚之外,弄清自己到底知道哪些东西还有其他什么好处?...不信你回忆一下你在和别人讨论问题时候多少次觉得“反正就是这样,感觉得到它是对,但是你问我,也说不清到底怎么回事”,对此你不觉得很奇怪?...很多时候我们思路出了问题并不是我们不会反思,而是不知道自己思维中有那些隐含假设(assumptions),如果你只感觉到答案,却不知道你大脑得到这个答案之前做了哪些推理,你又怎么知道哪一环可能出了问题呢...不过前提是你开始,并且坚持过一开始困难期,以后一切便成了习惯成自然。 7) 一个长期价值博客是一份很好简历。...当然,肯定会对某些人没有价值,他们早就知道了,但就算你再厉害,也总是有人比你厉害,不能说因为这些原因就不记录你自己想法了,你自己思考了之后理解最深刻,就算有别人想过了,总有人没有想到

65430

8 个不得不说 MySQL 陷阱

还好 MySQL 维护着一个非常好 bug 报告系统,让我们可以知道些我们无法想像事情,知道其他人也在经受同样磨难。...这个表是十分高效,它执行规则也很好。突然一次,有人上传了一个使用了连字符九位数邮编。或者还有可能,你得到了一位来自加拿大客户信件,上面写有邮政编码。 这时,一切都乱了。...开发者需要绞尽脑汁编写查询语句,然后数据库对其进行解析。 这就是很多注重运行速度开发者放弃数据分表转而使用不规范数据表原因。不区分数据实体,将所有数据保存到一个大表——以避免复杂查询。...另一方面,我们要相信差异——不然为什么大家都在争论它?也许它们在性能和我们查询范围内,在两个阵营工作方式相同?但也许他们不同-或者将来会不同。...你在这里到了多少钱?在社区版之上开展经营行为是否公平?企业版额外功能,是否只是一个噱头来引诱我们不断付费呢?这至少说明一点,它是另一组需要回答问题。选用哪个版本?遵照哪种许可证?

90950

阿里P8架构师都是怎么分析软件模型

就如实现类名字,这里要用到DB。但在真实项目中,由于资源所限,一般不会在应用任意打开DB连接,而是会共享DB连接。...不是要测试服务?做数据准备不是测试仓库时候该做? 所以,你发现问题在哪了吗? 在你创建对象那刻,问题就出现了。...只是因为引入一个具体实现,就需要把它周边全部东西引入,而这一切都与业务类本身业务逻辑没一毛钱关系。...最好解决方案就是个框架。Java这种组装一堆对象东西一般被称为“容器”。 至此,一个容器就此诞生。...按照这个编程模型去写代码,整体质量会得到大幅度提升,也会规避掉之前许多问题。这也是一个模型对项目起到促进作用。像DI这种设计非常好模型,你甚至不觉得自己在用一个特定模型在编程。

29310

一个线程(修订版)

他们也都有编号,更重要是每个人还有个标签,上面写着:硬盘、数据库、内存、网卡…… 现在理解不了,看看操作步骤吧。 第一步:包裹取出参数。...离开这个车间,又来到一个大屋子,这里很多线程在慢腾腾地喝茶,打牌。 “哥们,你们没事干了?” “你新来吧,你不知道在等数据库服务员给我数据啊!据说他们比我们慢好几十万倍,在这里好好歇吧。”...这里有人在登录系统,能等这么长时间?” “放心,你没听说过人间一天,CPU一年?我们这里是用纳秒、毫秒计时,人间等待一秒,相当于我们好几天呢,来得及。” 干脆睡一会吧。...“我们世界规则很复杂,首先你不知道什么时候会被挑中执行;第二,在执行过程随时可能被打断,让出CPU车间;第三,一旦出现硬盘、数据库这样耗时操作,也让出CPU去等待;第四,就是数据来了,你也不一定马上执行...看到屋子里东西一个不见了,等待车间、就绪车间,甚至CPU车间都慢慢地消失了。身边线程兄弟也越来越少,最后只剩自己了。 在空旷原野上大喊:“还有人吗?” 无人应答。

29020

GoSnaps:如何支持5天50万用户服务器只花100元

发布第一天就有了6万用户,第二天涨到了16万,5天之后涨到了50万。同时在线人数大概1000,已经上传截图数目接近20万,应用还包括一个图像检测和缩放工具。...每一次请求在后台都是一个依据地理位置查询或是搜索,这种查询搜索再加上排序和过滤对服务器负担是很重。 GoChat跟我们相比不同点在于聊天信息发送给所有参与者,而且请求更频繁。...对于小型数据集其实这样查询什么问题,但如果在生产环境用就肯定不行了。就算将查询语句进行简化也还是不行,因为数据库根本就不该一次对多个索引进行查询。...数据库方面则是按照搜索条件预先对图片进行了分类,比如点赞最多、最新上传等等。新上传截图或者对截图赞踩等操作时这些类别也会检查更新,所以查询搜索时就不用查询所有图片了。...虽然知道Mongoose代码挺多而且其实也不太精通,不过MVP么怎么方便怎么来。上周末一次四个NodeJS进程让服务器CPU都飙到了90%以上而同时在线人数只有不到一千。

1.3K100
领券