加入infoq企业会员 ,携手员工共同成长,企业内员工可免费领取《极客时间》7天会员
写点什么

pyscript:让 python 脚本在 web 中跑起来-金马国际

  • 2022 年 5 月 20 日
  • 本文字数:2422 字

    阅读完需:约 8 分钟

这是下一个大事件吗?如果继续发展下去,有可能。

 

在 2022 年 pycon 美国大会期间,作为主题演讲嘉宾之一的 peter wang 公布了 ,一种在 html 中直接编写 python 脚本的方法。或许你不知道 peter,但你可能听说过 anaconda,这是一种流行的开源的 python 和 r 语言的发行版本,特别关注数据科学。peter 正是 anaconda 的 ceo 和联合创始人。

 

换言之,pyscript 是由一家著名的科技公司开发的,这可能会保证它在不久的将来成为可行的方案。它在 python 和 web 开发者中受到了极大的关注,github 上已有超过 10k 颗 stars。然而,它是否能成为一个成功的、有竞争力的产品,取决于长期的时间和开发投入。目前,它还有一些已知的缺陷(将在最后讨论)。

 

闲话少说,让我们快速了解一下这个令人振奋的产品吧!

我们知道,html 文件是大多数网站最常见的元素。在创建网站时,我们的工作就是直接或间接地通过一些框架来编制 html 文件。在典型的 html 文件中,你会看到各种类型的标签。例如,定义了 html 页面的元数据和关键信息,</code>是整个文档的标题,而<code data-type="codeinline"><h1></code>、<code data-type="codeinline"><h2></code>等定义了不同级别的内容标题。</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">如前所述,pyscript 允许你在 html 中编写 python 脚本,它使用一个特殊的标签<code data-type="codeinline">py-script</code>。在这个标签中,你可以嵌入 python 脚本。要了解它是如何工作的,可以创建一个 html 文件,其中包含以下代码,并使用 chrome 浏览器打开该文件。在 chrome 浏览器中,你应该能够看到类似下面这样的内容:</span></p><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/b7/b7cf3649eb920dfd76b246074c54a8f0.png"> </div></div><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/d1/d1c8a6e49c89d1695ab45b26f726d77e.png"> </div></div><p data-align-center="" data-type="paragraph"><span data-size="9" data-type="size">作者截图</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">在上面的代码片段中,你可能已经注意到以下三个关键点:</span></p><ul data-type="bulletedlist"><li><p data-type="paragraph"><span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">link</code></span>标签定义了一个外部样式表。在这个例子中,我们使用了 pyscript 提供的<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">css</code></span>文件。</p></li><li><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">我们使用</span><span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">script</code></span>标签来嵌入一个由<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">src</code></span>定义、由 pyscript 托管的外部脚本。我们使用了<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">defer</code></span>,这样脚本会在下载和页面解析完成后执行——本质上是一种延迟执行,而不是实时执行。</p></li><li><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">最有趣的部分是</span><span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">py-script</code></span>标签。如你所见,<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">print("hello, world!")</code></span>是 python 代码。当执行 html 文件时,就可以看到代码求值结果。</p></li></ul><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">这很酷,不是吗?如果你不熟悉 web 开发,但了解 python,就可以使用 pyscript 嵌入任何有效的 python 代码。让我们再看一个例子。</span></p><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/80/80c04d7afe33fd0f4d34f391847a8e75.png"> </div></div><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/ff/ff83f9e4bfead1f156366ce957063170.png"> </div></div><p data-align-center="" data-type="paragraph"><span data-size="9" data-type="size"><span data-name="user" style="color: #494949" data-type="color">另一个 pyscript 示例(图片由作者提供)</span></span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">在这里,我们写了一些需要计算的代码,可以看到,脚本得到了正确的执行。</span></p><h1 data-id="heading1" data-type="heading" top="2012.359375"><span data-name="user" style="color: #494949" data-type="color">py-env 标签</span></h1><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">在编写更复杂的代码时,就需要使用第三方库。在这种情况下,我们可以利用<code data-type="codeinline">py-env</code>标签。你可能已经猜到的,env 是 environment 的缩写。<code data-type="codeinline">py-env</code>标签中列出了运行代码所需的 python 包。</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">你可能知道,许多数据科学家都使用 pandas 进行数据处理工作。让我们看看下面的例子。</span></p><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/81/81a2e07ff71a317924c7664120862b6e.png"> </div></div><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/df/df79380011e061d1030cfe721b89989b.png"> </div></div><p data-align-center="" data-type="paragraph"><span data-size="9" data-type="size"><span data-name="user" style="color: #494949" data-type="color">使用包的 pyscript(图片由作者提供)</span></span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">如你所见,我们在<code data-type="codeinline">py-env</code>标签中指定了依赖项(即 pandas),该标签包含在<code data-type="codeinline">head</code>标签中。如果页面需要多个依赖项,可以在这里把它们全部列出:</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><div data-type="codeblock"><div data-codeblock-wrap=""><div data-codeblock-codes=""><div class="simplebar" data-simplebar="init"><div class="simplebar-wrapper" style="margin: 0px;"><div class="simplebar-height-auto-observer-wrapper"><div class="simplebar-height-auto-observer"></div></div> <div class="simplebar-mask"><div class="simplebar-offset" style="right: 0px; bottom: 0px;"><div class="simplebar-content-wrapper" style="height: auto; overflow: hidden scroll;"><div class="simplebar-content" style="padding: 0px;"><div><pre data-origin="pm_code_preview" lang="null"><code data-type="codeline"><py-env></code><code data-type="codeline"> - pandas</code><code data-type="codeline"> - matplotlib</code><code data-type="codeline"> - numpy</code><code data-type="codeline"></py-env></code></pre></div></div></div></div></div> <div class="simplebar-placeholder" style="width: 656px; height: 110px;"></div></div> <div class="simplebar-track simplebar-horizontal" style="visibility: hidden;"><div class="simplebar-scrollbar simplebar-visible" style="width: 0px; display: none;"></div></div> <div class="simplebar-track simplebar-vertical" style="visibility: visible;"><div class="simplebar-scrollbar simplebar-visible" style="height: 0px; display: none;"></div></div></div></div> <div data-codeblock-copy="">复制代码</div> <div data-codeblock-index=""><div data-codeblock-number="1"></div><div data-codeblock-number="2"></div><div data-codeblock-number="3"></div><div data-codeblock-number="4"></div><div data-codeblock-number="5"></div></div></div></div><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">如你所见,在<code data-type="codeinline">py-script</code>标签中,我们确实可以使用 pandas 库来创建一个<code data-type="codeinline">dataframe</code>对象。然而,当我们把打印出来时就会发现,它是一个单行,而不是一个结构化的数据表。没有一个适当的结构,我们就无法理解这些数据。幸运的是,我们可以使用<code data-type="codeinline">write</code>函数(下文会讨论)。</span></p><h1 data-id="heading2" data-type="heading" top="2550.359375"><span data-name="user" style="color: #494949" data-type="color">将内容写入指定标签</span></h1><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">除了 python 中的标准打印函数<code data-type="codeinline">print</code>,作为脚本的一部分,pyscript 有自己的<code data-type="codeinline">write</code>函数,可以将数据发送到页面上指定的 web 元素中。请看下面的例子:</span></p><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/54/548175e28244c2b86e5b35db19bdf9ff.png"> </div></div><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/f6/f612d73015a7a21224b20561347bf3b2.png"> </div></div><p data-align-center="" data-type="paragraph"><span data-size="9" data-type="size"><span data-name="user" style="color: #494949" data-type="color">pyscript 写函数 write(图片由作者提供)</span></span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">与之前的例子相比,上述代码片段有两个重大变化:</span></p><ul data-type="bulletedlist"><li><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">我们现在定义了一个 id 为</span><span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">"dataframe"</code></span>的<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">div</code></span>,这样稍后就可以引用。</p></li><li><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">在</span><span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">py-script</code></span>标签中,我们创建一个与之前相同的<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">dataframe</code></span>对象。但现在,我们不是调用<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">print</code></span>,而是调用<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">pyscript.write</code></span>函数,请求 pyscript 处理并在<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">"dataframe"</code></span>中显示<span data-name="user" style="color: #292929" data-type="color"><code data-type="codeinline">dataframe</code></span>对象。从输出可以看到,我们现在有一个结构化的表格了。</p></li></ul><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"><code data-type="codeinline">write</code>函数不仅能够打印表格,还能够打印数字。下面的例子向你展示了我们如何使用<code data-type="codeinline">matplotlib</code>(一个流行的 python 包,用于数据可视化)来显示由 python 创建的图。</span></p><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/67/67aa8e871dffbace046e760e4249ec4d.png"> </div></div><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/9c/9c5c42ab5a569023ab63df58dfbedcab.png"> </div></div><p data-align-center="" data-type="paragraph"><span data-size="9" data-type="size"><span data-name="user" style="color: #494949" data-type="color">pyscript 打印图(图片由作者提供)</span></span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">如你所见,<code data-type="codeinline">write</code> 函数以期望的方式显示了图。</span></p><h1 data-id="heading3" data-type="heading" top="3244.359375"><span data-name="user" style="color: #494949" data-type="color">py-repl 标签</span></h1><p data-type="paragraph"><br></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">python 学习的最好方法之一是使用 repl:读取(read)、求值(evaluate)、打印(print)和循环(loop)。也就是说,使用一个交互式的 python 控制台,输入一些代码,python 对其进行求值并打印适当的输出,然后重复这个过程。web 页面也可以提供这样的 repl 环境,比如 jupyter notebook。</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">pyscript 可以使用<code data-type="codeinline">py-repl</code>标签提供与此类似的东西。在这个元素中,你可以让用户自己编写代码,也可以以编程方式输入代码。请看下面的例子:</span></p><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/b6/b66645cc4bc41c399659afaff9f3d7ee.png"> </div></div><p data-type="paragraph"><br></p><div data-type="image"><div data-content="" data-style-width="75%" data-style-bordertype="none"><img src="https://static001.geekbang.org/infoq/a7/a716f3728f2d077ead11eab508d64477.png"> </div></div><p data-align-center="" data-type="paragraph"><span data-size="9" data-type="size"><span data-name="user" style="color: #494949" data-type="color">pyscript repl(图片由作者提供)</span></span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">如你所见,上图中有一个单元格,其中包括在<code data-type="codeinline">py-repl</code>标签中指定的代码。值得注意的是,单元格中的代码可以引用我们之前在<code data-type="codeinline">py-script</code>标签中定义的变量。一切看起来都很协调。</span></p><h1 data-id="heading4" data-type="heading" top="3720.359375"><span data-name="user" style="color: #494949" data-type="color">感想</span></h1><p data-type="paragraph"><br></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">本文介绍的内容是现阶段 pyscript 所能提供的主要亮点。它似乎是一个很有前途的产品,因为它提供了一个灵活的框架,让 python 程序员可以在没有太多 web 开发知识的情况下创建 web 应用。然而,也有其他类似的成功的产品,因此,竞争会很激烈。</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">例如,如果我需要为自己的数据科学项目创建一个 web 应用,我就会直接使用 streamlit。它的功能已经相对成熟。请注意,虽然都与 web 开发有关,但 pyscript 和 streamlit 属于不同的产品系。pyscript 应该更通用,因为它的目标是让你可以在任何网页上嵌入任何 python 代码,streamlit 做不到这一点。</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">在 pyscript 为更多的人所接受之前,它有几个问题必须解决。例如,web 页面的加载速度非常慢。如果你尝试跟随本教程运行代码,可能就会注意到,在 web 页面的显示会有一个明显的滞后。</span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color"> </span></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">尽管如此,我还是觉得这个产品会继续发展,我的信心主要来自于它的开发者——给我们带来极好的 anaconda 工具的 anaconda 团队。</span></p><p data-type="paragraph"><br></p><p data-type="paragraph"><i data-type="italic"><span data-name="user" style="color: #333333" data-type="color">本文最初发布于 better programming。</span></i></p><p data-type="paragraph"><br></p><p data-type="paragraph"><span data-name="user" style="color: #494949" data-type="color">查看英文原文:</span><a href="https://betterprogramming.pub/running-python-script-on-the-web-using-pyscript-the-next-big-thing-8ace9543d75" title="xxx" data-type="link" target="_blank">running python scripts on the web using pyscript</a><br></p></div></div><div data-v-026a1842="" data-v-1d55b616="" class="selection-operation-bar note-bar popup-note-menu down"><div data-v-026a1842="" class="arrow down"></div><div data-v-026a1842="" class="main"><div data-v-026a1842="" class="menu line"><i data-v-a949bb52="" data-v-026a1842="" class="com-icon iconfont icon-hover" style="font-size: 20px; color: rgb(255, 255, 255);"></i><span data-v-026a1842="" class="text">划线</span></div><div data-v-026a1842="" class="menu comment"><i data-v-a949bb52="" data-v-026a1842="" class="com-icon iconfont icon-hover" style="font-size: 20px; color: rgb(255, 255, 255);"></i><span data-v-026a1842="" class="text">评论</span></div><div data-v-026a1842="" class="menu copy"><i data-v-a949bb52="" data-v-026a1842="" class="com-icon iconfont icon-hover" style="font-size: 20px; color: rgb(255, 255, 255);"></i><span data-v-026a1842="" class="text">复制</span></div></div></div></div></div><div data-v-4d4ff6cc="" data-v-b8d6fb94="" class="article-widget-foot" data-v-cfd6b112=""><div data-v-4d4ff6cc="" class="foot-detail publish-time"><span data-v-4d4ff6cc="" class="date">2022 年 5 月 20 日 17:06</span><span data-v-4d4ff6cc="" class="divider"></span><span data-v-4d4ff6cc="" class="read-count">1698</span></div><div data-v-4d4ff6cc="" class="foot-detail 金马国际 copyright">文章金马国际的版权归极客邦科技infoq所有,未经许可不得转载。</div><div data-v-4d4ff6cc="" class="channel"><div data-v-47bbeab2="" data-v-4d4ff6cc="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1151" class="com-topic-title topic-tag-title">web</a></div></div><div data-v-4d4ff6cc="" class="like"><div data-v-4d4ff6cc="" gk-button="" gkbtn-color="lightblue" gkbtn-size="large" class="like-btn button_button_3onsj"><i data-v-4d4ff6cc="" class="iconfont"></i> 轻点一下,留下你的鼓励 </div></div></div></div><div data-v-cfd6b112="" class="comment-container"><div data-v-21f3a4d5="" data-v-cfd6b112="" class="article-comment-block"><div data-v-21f3a4d5="" class="comment-list"><h2 data-v-21f3a4d5="">评论 <span data-v-21f3a4d5="" class="comment-number"> 1 条评论 </span></h2><div data-v-21f3a4d5="" class="comment-form"><div data-v-21f3a4d5="" class="comment-input no-reference"><div data-v-7d67197e="" data-v-21f3a4d5="" contenteditable="plaintext-only" spellcheck="false" placeholder="写下你的想法,一起交流" class="textarea comment-textarea empty"></div> </div><div data-v-21f3a4d5="" class="comment-operation"><div data-v-21f3a4d5="" gk-button="" gkbtn-color="blue" gkbtn-size="normal" disabled="disabled" class="comment-btn button_button_3onsj"> 发布 </div></div></div><div data-v-21f3a4d5="" class="list"><div data-v-6c9ac7e2="" data-v-48753630="" data-v-21f3a4d5="" class="reply-item comment-item"><div data-v-48753630="" data-v-6c9ac7e2="" class="comment-avatar"><div data-v-96f38e8c="" data-v-48753630="" class="com-avatar-wrap" data-v-6c9ac7e2=""><img data-v-96f38e8c="" src="//static001.geekbang.org/account/avatar/00/26/eb/d7/90391376.jpg?x-oss-process=image/resize,w_200,h_200" alt="用户头像" class="com-avatar" style="width: 40px; height: 40px;"></div></div><div data-v-6c9ac7e2="" class="reply-author"><span data-v-f41ab41c="" data-v-72304aa2="" data-v-6c9ac7e2="" class="ctn reply-user"><a data-v-f41ab41c="" class="com-author-name">李二狗</a></span></div><div data-v-6c9ac7e2="" class="reply-content"><span data-v-6c9ac7e2="" class="">web就是香,各路神仙都有</span></div><div data-v-6c9ac7e2="" class="reply-operation"><div data-v-6c9ac7e2="" class="date">2022 年 05 月 24 日 07:03</div><div data-v-6c9ac7e2="" class="reply-action"><span data-v-6c9ac7e2="" class="like-btn"><i data-v-6c9ac7e2="" class="iconfont"></i> 1 </span><span data-v-6c9ac7e2="" class="reply-btn"><i data-v-6c9ac7e2="" class="iconfont"></i><em data-v-6c9ac7e2="">回复</em></span></div></div></div><div data-v-7f38aa7c="" data-v-21f3a4d5="" class="com-more-button loading-btn"><span data-v-7f38aa7c="" class="finish-label">没有更多了</span></div></div></div></div></div><div data-v-b8d6fb94="" data-v-cfd6b112="" class="slot-extra"><div data-v-b8d6fb94="" data-v-cfd6b112="" class="recommend-list-bottom"><div data-v-e14897f4="" data-v-b8d6fb94="" class="article-related-panel article-bottom-related" data-v-cfd6b112=""><div data-v-e14897f4="" class="related-header"><h3 data-v-e14897f4=""> 更多内容推荐 </h3></div><ul data-v-e14897f4=""><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="数据科学家一定要收藏的十个最佳 python 库"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/vxxrfmmxz1nu8gcz5tc4?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 数据科学家一定要收藏的十个最佳 python 库 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 不管你是新手,还是对数据科学有一定研究的资深技术人,学习这些库能让你更有效率。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/culture-methods" class="com-topic-title topic-tag-title">文化 & 方法</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/opensource" class="com-topic-title topic-tag-title">开源</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ai" class="com-topic-title topic-tag-title">ai</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/methodologies" class="com-topic-title topic-tag-title">方法论</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/natural language processing" class="com-topic-title topic-tag-title">nlp</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ computing-vision" class="com-topic-title topic-tag-title">计算机视觉</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="被厂商制裁,俄罗斯解封 rutracker,欲将盗版合法化!附扎根俄罗斯的著名软件"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/onix9obpp59hhjmyi9ef?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 被厂商制裁,俄罗斯解封 rutracker,欲将盗版合法化!附扎根俄罗斯的著名软件 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 破解党的狂欢&正版软件的噩梦 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/security" class="com-topic-title topic-tag-title">安全</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/opensource" class="com-topic-title topic-tag-title">开源</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/windows" class="com-topic-title topic-tag-title">windows</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1151" class="com-topic-title topic-tag-title">web</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/information disclosure" class="com-topic-title topic-tag-title">信息泄露</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="深度分享:爱奇艺 rn 低代码引擎搭建、应用的实践经验"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/mmarocl3fujpd8zmfgke?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 深度分享:爱奇艺 rn 低代码引擎搭建、应用的实践经验 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 像万花筒一样千变万化、快速搭建的爱奇艺低代码引擎的技术核心是什么? </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/archsummit" class="com-topic-title topic-tag-title">archsummit</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/best-practices" class="com-topic-title topic-tag-title">最佳实践</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="wintercg 社区正式成立,前端代码终于可以运行在后端了"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/doxksy475lcmo3udmygn?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> wintercg 社区正式成立,前端代码终于可以运行在后端了 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 前端代码终于可以一次编写到处运行了?! </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/community" class="com-topic-title topic-tag-title">社区</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/github" class="com-topic-title topic-tag-title">github</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1151" class="com-topic-title topic-tag-title">web</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/infoq" class="com-topic-title topic-tag-title">infoq</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="wintercg 社区正式成立,前端代码终于可以运行在后端了"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/doxksy475lcmo3udmygn?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> wintercg 社区正式成立,前端代码终于可以运行在后端了 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 前端代码终于可以一次编写到处运行了?! </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/community" class="com-topic-title topic-tag-title">社区</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/github" class="com-topic-title topic-tag-title">github</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1151" class="com-topic-title topic-tag-title">web</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/infoq" class="com-topic-title topic-tag-title">infoq</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="java近期新闻:jdk 18-rc1、loom项目、spring、payara、open liberty及jreleaser升级"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/z95owukccrpicc0cbfw1?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> java 近期新闻:jdk 18-rc1、loom 项目、spring、payara、open liberty 及 jreleaser 升级 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> java近期新闻综述,主要介绍了openjdk、jdk 18、jdk 19、loom项目、spring项目点版本、payara平台、open liberty 22.0.0.2及22.0.0.3-beta、micronaut 3.3.3 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/jvm" class="com-topic-title topic-tag-title">jvm</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="jakarta ee开发者必备的2个工具"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/cas4900hmthuoawohlu5?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> jakarta ee 开发者必备的 2 个工具 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 来自wildfly项目的wildfly-jar-maven-plugin和全新的wildfly-datasources-preview-galleon-pack值得你关注。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/java" class="com-topic-title topic-tag-title">java</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="2022 年十大 javascript 框架"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/wktb8xhwy64xzcx5jynp?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 2022 年十大 javascript 框架 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本文帮你挑选出了十大 javascript 框架。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/webframework" class="com-topic-title topic-tag-title">web框架</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1151" class="com-topic-title topic-tag-title">web</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="《架构师》(2020年3月)"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/minibook/ztg9xj0vcvwtbmy7o80y?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 《架构师》(2020 年 3 月) </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本期推荐内容:微盟 saas 业务数据遭破坏,涉事员工已拘留,数据正有序修复;当当网一人确诊 66 人隔离被指防控不力,员工如何用法律武器保护自己? </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/operation" class="com-topic-title topic-tag-title">运维</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architect" class="com-topic-title topic-tag-title">《架构师》月刊</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architect" class="com-topic-title topic-tag-title">架构师</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="node-ipc 包作者被黑客曝光;微软测试 win11 文件管理器广告;figma 封禁大疆;arm 断供俄罗斯;马斯克蝉联全球首富|架构周报"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/8gxcd7wdyiwcpxzdbgwp?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> node-ipc 包作者被黑客曝光;微软测试 win11 文件管理器广告;figma 封禁大疆;arm 断供俄罗斯;马斯克蝉联全球首富|架构周报 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本周又有大事儿发生了! </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1137" class="com-topic-title topic-tag-title">产品</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/security" class="com-topic-title topic-tag-title">安全</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/microsoft" class="com-topic-title topic-tag-title">微软</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/linux" class="com-topic-title topic-tag-title">linux</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/windows" class="com-topic-title topic-tag-title">windows</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="钉钉、美团、58同城如何通过 devops 解决质效问题|gmtc"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/ltayssuisru6w1mm6pau?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 钉钉、美团、58 同城如何通过 devops 解决质效问题|gmtc </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 质量和效率是前端研发永恒的话题。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/devops" class="com-topic-title topic-tag-title">devops</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/best-practices" class="com-topic-title topic-tag-title">最佳实践</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/technology-selection" class="com-topic-title topic-tag-title">技术选型</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="一个避免技术债的无代码微服务应用商店"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/qlpwlrokmrh6zhe3slod?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 一个避免技术债的无代码微服务应用商店 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 根据在挪威所做的研究,当被问及创新的最大障碍是什么时,59%的技术领导回答了“技术债”。我对此的解决办法是,你可以“外包”技术债。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1137" class="com-topic-title topic-tag-title">产品</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/microservice" class="com-topic-title topic-tag-title">微服务</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/serverless" class="com-topic-title topic-tag-title">serverless</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="京东 618 价格不降反升;鸿蒙之父离职;知乎被曝突击裁员;博通 610 亿美元收购 vmware;搜狐全体员工遭诈骗|架构周报"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/djckod1avyn2oumefmf9?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 京东 618 价格不降反升;鸿蒙之父离职;知乎被曝突击裁员;博通 610 亿美元收购 vmware;搜狐全体员工遭诈骗|架构周报 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本周又有大事儿发生了! </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/cloud-computing" class="com-topic-title topic-tag-title">云计算</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/opensource" class="com-topic-title topic-tag-title">开源</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/container" class="com-topic-title topic-tag-title">容器</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/chrome" class="com-topic-title topic-tag-title">chrome</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/javascript" class="com-topic-title topic-tag-title">javascript</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/linux" class="com-topic-title topic-tag-title">linux</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="在presto中利用一致性哈希算法增强动态集群的数据缓存本地性"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/zxic23jxiv1ds4fztn2b?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 在 presto 中利用一致性哈希算法增强动态集群的数据缓存本地性 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本文介绍了一种可用于软亲和调度的新哈希算法。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/database" class="com-topic-title topic-tag-title">数据库</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/bigdata" class="com-topic-title topic-tag-title">大数据</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/best-practices" class="com-topic-title topic-tag-title">最佳实践</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/algorithm" class="com-topic-title topic-tag-title">算法</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="twitter被罚1.5亿美元;尤雨溪:vue新文档性能优于react;gitlab新版本发布;搜狐遭诈骗"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/g3r135wfisvjuhdwewkh?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> twitter 被罚 1.5 亿美元;尤雨溪:vue 新文档性能优于 react;gitlab 新版本发布;搜狐遭诈骗 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 又有哪些大事儿发生了? </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/mobile" class="com-topic-title topic-tag-title">移动</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="为什么我们今年不重点关注 flutter 了|gmtc"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/eamjo0svcfth0c2war14?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 为什么我们今年不重点关注 flutter 了|gmtc </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 因为,flutter 正处于一个平台期。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1149" class="com-topic-title topic-tag-title">flutter</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/kotlin" class="com-topic-title topic-tag-title">kotlin</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="html5崛起之时,java桌面时代就已经终结了"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/ryrk2afccrah5houpoyt?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> html5 崛起之时,java 桌面时代就已经终结了 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 2004年google maps的面世标志着java桌面时代的终结,也改变了桌面环境下“跨平台”的基本定义。 </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/java" class="com-topic-title topic-tag-title">java</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/technology-selection" class="com-topic-title topic-tag-title">技术选型</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1151" class="com-topic-title topic-tag-title">web</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/html-5" class="com-topic-title topic-tag-title">html5</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="专注低代码17年,mendix公司如何在“争议”中继续前行 | 卓越技术团队访谈录"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/phelkkr5mltez51uf3he?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 专注低代码 17 年,mendix 公司如何在“争议”中继续前行 | 卓越技术团队访谈录 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> “大家都在尝试,直接一票否决对整个行业并没有好处。” </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/culture-methods" class="com-topic-title topic-tag-title">文化 & 方法</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/best-practices" class="com-topic-title topic-tag-title">最佳实践</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/methodologies" class="com-topic-title topic-tag-title">方法论</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="马斯克暂停收购,twitter 股价暴跌;尚德机构监控居家员工;知网被立案调查;钉钉被曝大裁员;程序员删除数据被判刑|架构周报"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/news/bdugxdeoewmsoyatlpeh?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 马斯克暂停收购,twitter 股价暴跌;尚德机构监控居家员工;知网被立案调查;钉钉被曝大裁员;程序员删除数据被判刑|架构周报 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本周又有大事儿发生了! </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/opensource" class="com-topic-title topic-tag-title">开源</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/google" class="com-topic-title topic-tag-title">google</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1149" class="com-topic-title topic-tag-title">flutter</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/android" class="com-topic-title topic-tag-title">android</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="python中的八个“无代码”特性"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/bl0l7uuprd6d4tm6763f?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> python 中的八个“无代码”特性 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 你能相信我们可以在不写任何代码的情况下使用 python 吗? </p><div data-v-b8d6fb94="" data-v-e14897f4="" class="relaed-article-bottom"><div data-v-47bbeab2="" data-v-b8d6fb94="" com-channel-tag="" class="com-channel-tag-list channel-tag-list" data-v-e14897f4=""><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/methodologies" class="com-topic-title topic-tag-title">方法论</a></div></div></li></ul></div><div data-v-b8d6fb94="" gk-button="" gkbtn-color="blue" gkbtn-size="large" class="found-more button_button_3onsj" data-v-cfd6b112="">发现更多内容</div></div></div></div><div data-v-b8d6fb94="" data-v-cfd6b112="" class="article-aside"><div data-v-b8d6fb94="" data-v-cfd6b112="" class="aside-wrap"><div data-v-124479f4="" data-v-b8d6fb94="" class="sidebar-artilce" data-v-cfd6b112=""><div data-v-79d1603f="" data-v-124479f4="" class="com-app-download sidebar-section"></div><div data-v-74e99c86="" data-v-124479f4="" class="article-related-panel sidebar-section sidebar-related"><h3 data-v-74e99c86=""> 推荐阅读 </h3><ul data-v-74e99c86=""><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="python 的十大特性"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/news/649ppid0fxaywua5tvap?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> python 的十大特性 </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="作为移动开发者,我经常被这样吐槽 | gmtc"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/kndhvhjpwnfxz6j21hux?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> 作为移动开发者,我经常被这样吐槽 | gmtc </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/operation" class="com-topic-title topic-tag-title">运维</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gmtc" class="com-topic-title topic-tag-title">gmtc</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/best-practices" class="com-topic-title topic-tag-title">最佳实践</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/performance_tuning" class="com-topic-title topic-tag-title">性能调优</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/alibaba" class="com-topic-title topic-tag-title">阿里巴巴</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="专访崔慧敏教授:令开发者“为难”的异构编程,以及生态发展建议"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/ohlmbdlkythoefjuxgf4?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> 专访崔慧敏教授:令开发者“为难”的异构编程,以及生态发展建议 </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/architecture" class="com-topic-title topic-tag-title">架构</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/cplusplus" class="com-topic-title topic-tag-title">c </a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="nvidia 免费提供“元宇宙”创作工具 omniverse"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/news/fdkezud57qpwfbeb5njg?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> nvidia 免费提供“元宇宙”创作工具 omniverse </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1137" class="com-topic-title topic-tag-title">产品</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ai" class="com-topic-title topic-tag-title">ai</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/best-practices" class="com-topic-title topic-tag-title">最佳实践</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/methodologies" class="com-topic-title topic-tag-title">方法论</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="微软终于被骂够了?回归一键更改默认浏览器"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/news/i6eyc6wkjakrzg8rfyhw?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> 微软终于被骂够了?回归一键更改默认浏览器 </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1137" class="com-topic-title topic-tag-title">产品</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/front-end" class="com-topic-title topic-tag-title">前端</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ industrynews" class="com-topic-title topic-tag-title">企业动态</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/microsoft" class="com-topic-title topic-tag-title">微软</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="python之父guido van rossum:炒作之火或将“摧毁” web 3"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/pat5gt4cdluguzasnxpx?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> python 之父 guido van rossum:炒作之火或将“摧毁” web 3 </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/ai" class="com-topic-title topic-tag-title">ai</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/python" class="com-topic-title topic-tag-title">python</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/methodologies" class="com-topic-title topic-tag-title">方法论</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="谷歌高级工程师:2022年最值得学习的编程语言"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/oujd8tfws8jdy1jvjnxy?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> 谷歌高级工程师:2022 年最值得学习的编程语言 </a></h6><div data-v-74e99c86="" class="relaed-article-bottom"><p data-v-74e99c86=""><div data-v-47bbeab2="" data-v-74e99c86="" com-channel-tag="" class="com-channel-tag-list channel-tag-list"><i data-v-47bbeab2="" class="iconfont"></i><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/development" class="com-topic-title topic-tag-title">语言 & 开发</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/programing-languages" class="com-topic-title topic-tag-title">编程语言</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/methodologies" class="com-topic-title topic-tag-title">方法论</a></div></p></div></li></ul></div><div data-v-e14897f4="" data-v-0183279a="" data-v-124479f4="" class="article-related-panel widget-minibook sidebar-section"><div data-v-e14897f4="" class="related-header"><h3 data-v-e14897f4=""> 电子书 </h3></div><ul data-v-e14897f4=""><div data-v-0183279a="" data-v-e14897f4="" class="minibook"><img data-v-0183279a="" data-v-e14897f4="" src="https://static001.infoq.cn/resource/image/fd/f8/fd781fb9ff3aa6100c8360f0d61949f8.jpg?x-oss-process=image/resize,w_310,h_446" alt="java避坑指南:java高手笔记代码篇" class="image"><div data-v-0183279a="" data-v-e14897f4="" class="content"><h6 data-v-0183279a="" data-v-e14897f4=""><a data-v-cba4ad02="" data-v-0183279a="" com-article-title="" href="https://www.infoq.cn/minibook/tarv97yblzubv6fq3uox" target="_blank" rel="" class="com-article-title" data-v-e14897f4=""> java 避坑指南:java 高手笔记代码篇 </a></h6><p data-v-0183279a="" data-v-e14897f4="">本迷你书包括 86 个业务开发中常见踩坑点。每一个知识点都相当的实用,是程序员业务开发中的必备避坑指南...</p><div data-v-0183279a="" gk-button="" gkbtn-color="download" gkbtn-size="height40" class="download-book-btn button_button_3onsj" data-v-e14897f4=""> 立即下载 </div></div></div></ul></div><div data-v-124479f4="" class="ppt-module position-sticky-top"><div data-v-e14897f4="" data-v-0917824d="" data-v-124479f4="" class="article-related-panel module-ppt hot-ppt sidebar-related"><div data-v-e14897f4="" class="related-header"><h3 data-v-e14897f4=""> 大厂实战ppt下载 </h3><a data-v-0917824d="" data-v-e14897f4="" class="more"> 换一换 <i data-v-0917824d="" data-v-e14897f4="" class="iconfont"></i></a></div><ul data-v-e14897f4=""><div data-v-1b6f785d="" data-v-0917824d="" class="ppt-item ppt-list-item" data-v-e14897f4=""><div data-v-1b6f785d="" class="ppt-info"><div data-v-1b6f785d="" class="cover"><img data-v-1b6f785d="" src="https://static001.geekbang.org/con/92/pdf/570605543/image/page-001.jpg?x-oss-process=image/resize,w_532,h_300" alt="云原生 serverless 数据库的设计与实践 "></div><div data-v-1b6f785d="" class="ppt-name"> 云原生 serverless 数据库的设计与实践 </div></div><div data-v-1b6f785d="" class="author-list"><p data-v-1b6f785d="" class="author">巫旭东 | 腾讯云 数据库高级工程师</p></div><div data-v-1b6f785d="" class="action"><div data-v-1b6f785d="" gk-button="" gkbtn-color="more" gkbtn-size="small" class="ppt-download-btn button_button_3onsj"> 立即下载 </div></div></div><div data-v-1b6f785d="" data-v-0917824d="" class="ppt-item ppt-list-item" data-v-e14897f4=""><div data-v-1b6f785d="" class="ppt-info"><div data-v-1b6f785d="" class="ppt-name"> 短视频推荐系统的实践和思考 </div></div><div data-v-1b6f785d="" class="author-list"><p data-v-1b6f785d="" class="author">卢玉奇 | 百度 主任架构师,好看视频推荐中台技术负责人</p></div><div data-v-1b6f785d="" class="action"><div data-v-1b6f785d="" gk-button="" gkbtn-color="more" gkbtn-size="small" class="ppt-download-btn button_button_3onsj"> 立即下载 </div></div></div><div data-v-1b6f785d="" data-v-0917824d="" class="ppt-item ppt-list-item" data-v-e14897f4=""><div data-v-1b6f785d="" class="ppt-info"><div data-v-1b6f785d="" class="ppt-name"> tars 微服务架构分析及应用实践 </div></div><div data-v-1b6f785d="" class="author-list"><p data-v-1b6f785d="" class="author">利开园 | 腾讯 云产品部高级工程师 </p></div><div data-v-1b6f785d="" class="action"><div data-v-1b6f785d="" gk-button="" gkbtn-color="more" gkbtn-size="small" class="ppt-download-btn button_button_3onsj"> 立即下载 </div></div></div></ul></div></div></div></div></div></div><div data-v-b8d6fb94="" data-v-897fb3c8="" class="seo-article-list"><div data-v-b8d6fb94="" class="seo-article-list" data-v-897fb3c8=""><div class="list"><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/2111de6dbcebbf48e8d9fef7c">arts打卡-06</a></h4><p class="author"><a href="//www.infoq.cn/profile/750ce68dad4ac3"> geek_yansheng25 </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/d56e8cb9b9fe4384cdb78c05b">负载均衡方式</a></h4><p class="author"><a href="//www.infoq.cn/profile/fc6e750828abab"> 羽球 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/187" class="label"> 负载均衡 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/9437d2c865211e96025a41e61">mysql实战45讲总结</a></h4><p class="author"><a href="//www.infoq.cn/profile/bbe7be85f22cee"> ` </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/84" class="label"> mysql </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/3470db72c7c32e07fcfd92e67">时间去哪了?</a></h4><p class="author"><a href="//www.infoq.cn/profile/1f4204930e47c4"> escray </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/021893abedeb1816c73346466">spring5-reactor函数式编程</a></h4><p class="author"><a href="//www.infoq.cn/profile/8756298559d675"> 小技术君 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/161" class="label"> spring </a><a href="//xie.infoq.cn/tag/377" class="label"> reactor </a><a href="//xie.infoq.cn/tag/1272" class="label"> spring5 </a><a href="//xie.infoq.cn/tag/1643" class="label"> springboot </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/59e376f3160663a4b1e4256d5">arts week5</a></h4><p class="author"><a href="//www.infoq.cn/profile/fbad130ae60751"> 紫枫 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1619" class="label"> arts 打卡计划 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/d43c91467a1ce91d96637b195">分布式系统设计理念这么难学?</a></h4><p class="author"><a href="//www.infoq.cn/profile/eb53314fe056d1"> 架构师修行之路 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/238" class="label"> 架构 </a><a href="//xie.infoq.cn/tag/289" class="label"> 分布式 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/6c3500c66c3cdee3d72b88780">redis系列之——高可用(主从、哨兵、集群)</a></h4><p class="author"><a href="//www.infoq.cn/profile/7c90b0b4caf325"> 诸葛小猿 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/97" class="label"> redis </a><a href="//xie.infoq.cn/tag/3294" class="label"> redis集群 </a><a href="//xie.infoq.cn/tag/3295" class="label"> redis哨兵 </a><a href="//xie.infoq.cn/tag/3296" class="label"> redis主从 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/0dd0c62c7787440708383ed3d">智慧4s店金马国际的解决方案发布,看英特尔如何引领汽车销售行业变革</a></h4><p class="author"><a href="//www.infoq.cn/profile/89de90cc9dd229"> 最新动态 </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/d1d8869006acc355f66f142f9">抽象工厂模式</a></h4><p class="author"><a href="//www.infoq.cn/profile/b509ed62f25aa6"> leetao </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/8" class="label"> python </a><a href="//xie.infoq.cn/tag/283" class="label"> 面试 </a><a href="//xie.infoq.cn/tag/589" class="label"> 设计模式 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/552ff8bbbf9c46024ba7bd454">mysql插入百万条数据</a></h4><p class="author"><a href="//www.infoq.cn/profile/405f992cca1c7a"> java小咖秀 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/84" class="label"> mysql </a><a href="//xie.infoq.cn/tag/317" class="label"> 运维 </a><a href="//xie.infoq.cn/tag/572" class="label"> 数据 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/d85b5763c5cfcc9833b9ef35d">《重学 java 设计模式》pdf 出炉了 - 小傅哥,肝了50天写出18万字271页的实战编程资料</a></h4><p class="author"><a href="//www.infoq.cn/profile/b8036996b861e7"> 小傅哥 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/3" class="label"> java </a><a href="//xie.infoq.cn/tag/589" class="label"> 设计模式 </a><a href="//xie.infoq.cn/tag/726" class="label"> 小傅哥 </a><a href="//xie.infoq.cn/tag/1437" class="label"> 重构 </a><a href="//xie.infoq.cn/tag/1562" class="label"> 代码质量 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/8b458f4eaa1851c3e56169a51">第6周-作业1</a></h4><p class="author"><a href="//www.infoq.cn/profile/72e536b99def03"> seng man </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/129374d8489ea52e61e57ca19">arts打卡 - week 07</a></h4><p class="author"><a href="//www.infoq.cn/profile/ad872bff7a8fff"> teoking </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/d455c8c4789416208457988a1">arts-week6</a></h4><p class="author"><a href="//www.infoq.cn/profile/00be5402479b16"> 一周思进 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1619" class="label"> arts 打卡计划 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/0ef444347a8a0c2a7efa425fa">程序的机器级表示-程序的编码</a></h4><p class="author"><a href="//www.infoq.cn/profile/4bbc3f8971a8b0"> 引花眠 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1021" class="label"> 计算机基础 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/baa4b88adfb3d905cb9c9118e">数据驱动 vs 关键字驱动:对ui自动化测试框架搭建的探索</a></h4><p class="author"><a href="//www.infoq.cn/profile/0e07a37d04c5ce"> winfield </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/278" class="label"> devops </a><a href="//xie.infoq.cn/tag/361" class="label"> 敏捷 </a><a href="//xie.infoq.cn/tag/1695" class="label"> 自动化测试 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/b551d39961e2c699a14fc57cc">设计模式(1)—什么是设计模式?设计模式的六大原则是什么?</a></h4><p class="author"><a href="//www.infoq.cn/profile/5921bae44a2f6a"> 爱嘤嘤嘤斯坦 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/3" class="label"> java </a><a href="//xie.infoq.cn/tag/232" class="label"> 程序员 </a><a href="//xie.infoq.cn/tag/507" class="label"> 编程语言 </a><a href="//xie.infoq.cn/tag/589" class="label"> 设计模式 </a><a href="//xie.infoq.cn/tag/2497" class="label"> 23种设计模式 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/a0a3865080103a8c4ee655a66">昆明市成立两大“高端”中心,区块链赋能生物医药和高原特色农业</a></h4><p class="author"><a href="//www.infoq.cn/profile/0f1a7289e6b999"> cecbc </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/e8322d9c834437804e29e1165">arts打卡 第7周</a></h4><p class="author"><a href="//www.infoq.cn/profile/4bbc3f8971a8b0"> 引花眠 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1619" class="label"> arts 打卡计划 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/256c0c934ab78c76f44b77420">人人都需要一份自己的「使用说明书」</a></h4><p class="author"><a href="//www.infoq.cn/profile/34a8cc72451d82"> 非著名程序员 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/232" class="label"> 程序员 </a><a href="//xie.infoq.cn/tag/302" class="label"> 程序人生 </a><a href="//xie.infoq.cn/tag/332" class="label"> 提升认知 </a><a href="//xie.infoq.cn/tag/1269" class="label"> 独立思考 </a><a href="//xie.infoq.cn/tag/1685" class="label"> 自我思考 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/f8e87264138fb0ce3259ae6ac">编程核心能力之抽象</a></h4><p class="author"><a href="//www.infoq.cn/profile/5d81b28560a2e8"> 顿晓 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/468" class="label"> 抽象 </a><a href="//xie.infoq.cn/tag/3293" class="label"> 编程日课 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/561b7afddcf3700189579012a">springboot 入门:03 - 统一请求返回</a></h4><p class="author"><a href="//www.infoq.cn/profile/442bbaa124b280"> 封不羁 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/3" class="label"> java </a><a href="//xie.infoq.cn/tag/161" class="label"> spring </a><a href="//xie.infoq.cn/tag/1643" class="label"> springboot </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/8e66fa7ebe4d310db95b39c31">进程、线程基础知识全家桶,30 张图一套带走</a></h4><p class="author"><a href="//www.infoq.cn/profile/d57d7dbf260216"> 小林coding </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/182" class="label"> linux </a><a href="//xie.infoq.cn/tag/976" class="label"> 操作系统 </a><a href="//xie.infoq.cn/tag/1021" class="label"> 计算机基础 </a><a href="//xie.infoq.cn/tag/1259" class="label"> 进程 </a><a href="//xie.infoq.cn/tag/3109" class="label"> 进程线程区别 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/aa35e39c848706375c5462432">低代码与无代码</a></h4><p class="author"><a href="//www.infoq.cn/profile/37a674de711dd5"> lidaobing </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1081" class="label"> 低代码 </a><a href="//xie.infoq.cn/tag/2997" class="label"> 无代码开发 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/7351cf3694e57234fd8e8ad88">简述cap理论</a></h4><p class="author"><a href="//www.infoq.cn/profile/aa28b0567a68c9"> lei shi </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/a15ee9fe10d21f6f0bd47d336">cache解决算法 charles断点调试breakpoint john 易筋 arts 打卡 week 08</a></h4><p class="author"><a href="//www.infoq.cn/profile/bb4e58dd4b8f15"> john(易筋) </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1619" class="label"> arts 打卡计划 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/7ec5e651f069b5f493cf4b629">看动画学算法之:排序-插入排序</a></h4><p class="author"><a href="//www.infoq.cn/profile/23e1fbf270f7b8"> 程序那些事 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/3" class="label"> java </a><a href="//xie.infoq.cn/tag/271" class="label"> 数据结构 </a><a href="//xie.infoq.cn/tag/303" class="label"> 算法 </a><a href="//xie.infoq.cn/tag/1691" class="label"> 插入排序 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/232598dca2e319eed524e9739">自动化测试首先是一种工作文化</a></h4><p class="author"><a href="//www.infoq.cn/profile/1b7a9de7ef18b9"> wangwei1237 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1695" class="label"> 自动化测试 </a><a href="//xie.infoq.cn/tag/3301" class="label"> 测试文化 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/f82e3bad48c32ffc3e2bd7373">cap原理简述</a></h4><p class="author"><a href="//www.infoq.cn/profile/2edea464124639"> 刘志刚 </a></p><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/e7a2d044bafbf474706e441cc">go:stringer命令,通过代码生成提高效率</a></h4><p class="author"><a href="//www.infoq.cn/profile/1ad4a2e52dc6db"> 陈思敏捷 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/3297" class="label"> stringer </a><a href="//xie.infoq.cn/tag/8960" class="label"> go 语言 </a></p></div></div></div></div><div data-v-355438c6="" data-v-b8d6fb94="" id="gk-layer" gkmodal-color="base" class="share-weixin-modal modal_gk-modal_3ly5t" data-v-897fb3c8=""></div><div data-v-d8ccb2a0="" data-v-b8d6fb94="" id="gk-layer" gkmodal-color="base" class="modal-share-horde modal_gk-modal_3ly5t" data-v-897fb3c8=""></div><div data-v-897fb3c8="" id="check-bottom-bar"></div><div data-v-897fb3c8="" class="layout-footer-wrap"><div data-v-1cbc31fa="" data-v-897fb3c8="" class="footer layout-footer"><ul data-v-1cbc31fa="" class="layout-content"><li data-v-1cbc31fa="" class="theme"><div data-v-1cbc31fa="" class="logo"><img data-v-1cbc31fa="" src="https://static001.geekbang.org/static/infoq/www/img/logo.290b04ab.png" alt="logo"><p data-v-1cbc31fa="">促进软件开发及相关领域知识与创新的传播</p></div></li><li data-v-1cbc31fa=""><dl data-v-1cbc31fa="" class="footer-nav"><dt data-v-1cbc31fa="">infoq</dt><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="https://www.infoq.cn/about" target="_blank" rel="noopener nofollow">关于金马国际</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="https://www.infoq.cn/contribute" target="_blank" rel="noopener nofollow">我要投稿</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="https://www.geekbang.org/partner" target="_blank" rel="noopener nofollow">金马国际的合作伙伴</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="https://www.infoq.cn/link?target=https://www.lagou.com/gongsi/j43775.html" target="_blank" rel="noopener nofollow">加入金马国际</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="https://infoq.cn/official/account" target="_blank" rel="noopener nofollow">关注金马国际</a></dd></dl></li><li data-v-1cbc31fa=""><dl data-v-1cbc31fa="" class="footer-nav"><dt data-v-1cbc31fa="">联系金马国际</dt><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="mailto:editors@geekbang.com" target="_blank" rel="noopener nofollow">内容投稿:editors@geekbang.com</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="mailto:hezuo@geekbang.com" target="_blank" rel="noopener nofollow">业务合作:hezuo@geekbang.com</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="mailto:feedback@geekbang.com" target="_blank" rel="noopener nofollow">反馈投诉:feedback@geekbang.com</a></dd><dd data-v-1cbc31fa=""><a data-v-1cbc31fa="" href="mailto:zhaopin@geekbang.com" target="_blank" rel="noopener nofollow">加入金马国际:zhaopin@geekbang.com</a></dd><dd data-v-1cbc31fa=""><span data-v-1cbc31fa="">联系电话:010-64738142</span></dd><dd data-v-1cbc31fa=""><span data-v-1cbc31fa="">地址:北京市朝阳区叶青大厦北园</span></dd></dl></li><li data-v-1cbc31fa=""><dl data-v-1cbc31fa="" class="footer-nav"><dt data-v-1cbc31fa="">infoq 近期会议</dt><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/62/f5/628b5e750e918f52cda61a19fdc186f5.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://gmtc.infoq.cn/2022/beijing/?utm_source=infoq&utm_medium=footer" target="_blank" rel="noopener nofollow">gmtc全球大前端技术大会 6月10-11日</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/68/86/682e88b72d998d472686410a05c67986.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://archsummit.infoq.cn/2022/shanghai/?utm_source=infoq&utm_medium=footer" target="_blank" rel="noopener nofollow">archsummit全球架构师峰会 6月19-20日</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/62/f5/628b5e750e918f52cda61a19fdc186f5.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://qcon.infoq.cn/2022/beijing/?utm_source=infoq&utm_medium=footer" target="_blank" rel="noopener nofollow">qcon全球软件开发大会 6月22-24日</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/62/f5/628b5e750e918f52cda61a19fdc186f5.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://archsummit.infoq.cn/2021/beijing/?utm_source=infoq&utm_medium=footer" target="_blank" rel="noopener nofollow">archsummit全球架构师峰会 6月24-25日</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/62/f5/628b5e750e918f52cda61a19fdc186f5.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://pcon.infoq.cn/2021/beijing/?utm_source=infoq&utm_medium=footer" target="_blank" rel="noopener nofollow">pcon全球产品创新大会 6月24-25日</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/e9/55/e9389010abc33c8414653cdffd281a55.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://archsummit.infoq.cn/2022/shenzhen/?utm_source=infoq&utm_medium=footer" target="_blank" rel="noopener nofollow">archsummit全球架构师峰会 7月15-16日</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/62/f5/628b5e750e918f52cda61a19fdc186f5.png" alt="会议图片"><span data-v-1cbc31fa="">pcon全球产品创新大会 8月19-20日</span></dd></dl></li><li data-v-1cbc31fa=""><dl data-v-1cbc31fa="" class="footer-nav"><dt data-v-1cbc31fa="">全球 infoq</dt><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/55/38/55cd81623e36f5ab7a7db74d60b74838.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://www.infoq.com/" target="_blank" rel="noopener nofollow">infoq en</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/95/13/95fe851c02c86120e9037eada6a36d13.png" alt="会议图片"><a data-v-1cbc31fa="" href="https://www.infoq.com/jp/" target="_blank" rel="noopener nofollow">infoq jp</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/2a/3e/2aa440b6d94e94f64c508f16da38933e.png" alt="会议图片"><a data-v-1cbc31fa="" href="http://www.infoq.com/fr/" target="_blank" rel="noopener nofollow">infoq fr</a></dd><dd data-v-1cbc31fa=""><img data-v-1cbc31fa="" src="https://static001.infoq.cn/resource/image/4e/1e/4e737ce82bc7c8a1c2f2307bcea9a11e.png" alt="会议图片"><a data-v-1cbc31fa="" href="http://www.infoq.com/br/" target="_blank" rel="noopener nofollow">infoq br</a></dd></dl></li></ul><div data-v-1cbc31fa="" class="金马国际 copyright"> 金马国际 copyright © 2022, geekbang technology ltd. all rights reserved. 极客邦控股(北京)有限公司 | <a data-v-1cbc31fa="" target="_blank" href="https://www.infoq.cn/link?target=http://www.beian.miit.gov.cn/" class="icp"> 京 icp 备 16027448 号 - 5</a><a data-v-1cbc31fa="" target="_blank" href="https://www.infoq.cn/link?target=http://www.beian.gov.cn/portal/registersysteminfo?recordcode=11010502039052"><img data-v-1cbc31fa="" src="https://static001.geekbang.org/static/infoq/www/img/beian.d0289dc0.png" alt="京公网安备"><span data-v-1cbc31fa="">京公网安备 11010502039052号</span></a></div></div></div></div></div></div> <img src="https://static001.infoq.cn/static/infoq/img/logo-121-75.yuij86g.png" alt="pyscript:让 python 脚本在 web 中跑起来_前端_yong cui_infoq精选文章" style="display: none;"> <div class="common-login-modal"><div data-v-467cbcd0="" id="gk-layer" gkmodal-color="base" class="modal-login modal_gk-modal_3ly5t"></div><div data-v-5070518a="" id="gk-layer" gkmodal-color="base" class="modal-guide modal_gk-modal_3ly5t"></div><div data-v-4e23a88d="" id="gk-layer" gkmodal-color="base" class="modal-receive-success modal_gk-modal_3ly5t"></div><div data-v-b3d76520="" id="gk-layer" gkmodal-color="base" class="modal-rebind modal_gk-modal_3ly5t"></div></div><div id="gkui-modal-controller"></div><div data-v-3710ffdc="" id="gkui-message-list" style="top: 24px;"><span data-v-3710ffdc=""></span></div><div tabindex="-1" role="dialog" aria-hidden="true" class="pswp pswp--zoom-allowed"><div class="pswp__bg"></div><div class="pswp__scroll-wrap"><div class="pswp__container"><div class="pswp__item"></div><div class="pswp__item"></div><div class="pswp__item"></div></div><div class="pswp__ui pswp__ui--hidden"><div class="pswp__top-bar"><div class="pswp__counter"></div><button title="close (esc)" class="pswp__button pswp__button--close"></button><button title="share" class="pswp__button pswp__button--share"></button><button title="toggle fullscreen" class="pswp__button pswp__button--fs"></button><button title="zoom in/out" class="pswp__button pswp__button--zoom"></button><div class="pswp__preloader"><div class="pswp__preloader__icn"><div class="pswp__preloader__cut"><div class="pswp__preloader__donut"></div></div></div></div></div><div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"><div class="pswp__share-tooltip"></div></div><button title="previous (arrow left)" class="pswp__button pswp__button--arrow--left"></button><button title="next (arrow right)" class="pswp__button pswp__button--arrow--right"></button><div class="pswp__caption"><div class="pswp__caption__center"></div></div></div></div></div><div><div id="gk-layer" gkmodal-color="logphone" class="modal_gk-modal_3ly5t"></div></div><img src="data:image/gif;base64,r0lgodlhaqabaiaaap///////yh5baehaaealaaaaaabaaeaaaictaeaow==" id="page-complete" style="display: none;"></body></html>

网站地图