这是下一个大事件吗?如果继续发展下去,有可能。
在 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="2009.828125"><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="2547.828125"><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="3241.828125"><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="3717.828125"><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">2151</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="系列解读 smc-r:融合 tcp 与 rdma 的 smc-r 通信(二)"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/s825k3r50zakplkfowyz?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 系列解读 smc-r:融合 tcp 与 rdma 的 smc-r 通信(二) </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本篇文章作为 smc-r 系列的第二篇,将聚焦一次完整的 smc-r 通信流程。 </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/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/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/best-practices" class="com-topic-title topic-tag-title">最佳实践</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="inside sablejs——打造更快更安全的javascript实现"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/rdm3z4k0q8hkofsxshcm?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> inside sablejs——打造更快更安全的 javascript 实现 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 本文由infoq整理自sablejs作者赵洋在gmtc全球大前端技术大会(深圳站)2021上的演讲《inside sablejs——打造更快更安全的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/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/development" 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/ud9dkm7tgvzztdptklcr?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/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/programing-languages" class="com-topic-title topic-tag-title">编程语言</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="ajax 之战:xmlhttprequest 与 fetch api"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/nbd3cbcdqezhjxwva26a?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> ajax 之战:xmlhttprequest 与 fetch api </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 在本文中,我们将研究早期 xmlhttprequest 和现代 fetch 的优缺点,以确定哪种 ajax api 最适合你的应用。 </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/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/best-practices" class="com-topic-title topic-tag-title">最佳实践</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="展望大前端的 2022:vr 大潮来袭,大前端迎来新机遇"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/k1qpf3faxnhdb7yqqptg?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 展望大前端的 2022:vr 大潮来袭,大前端迎来新机遇 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 和 winter 聊聊大前端的 2022 。 </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/1149" class="com-topic-title topic-tag-title">flutter</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/lxrgwtzpjrjbbj8ffkib?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"> 不要把命运完全交给外包! </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/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/management" 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><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></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="泛型会让你的 go 代码运行变慢"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/xprmcl5qbf6yvdroajyn?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 泛型会让你的 go 代码运行变慢 </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/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/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/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><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/go-web" class="com-topic-title topic-tag-title">go</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="2022年顶级机器学习算法和python库"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/ntudlrcplloe7yucz3qe?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 2022 年顶级机器学习算法和 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/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/machinelearn" 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="从 flink forward asia 2021,看flink未来开启新篇章"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/2xcwwcnmyb39a1fvpidq?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 从 flink forward asia 2021,看 flink 未来开启新篇章 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 律回春晖渐,万象始更新,这句诗用来形容2021年的大数据领域再合适不过,而flink在2021年也开启了新的篇章。 </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/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/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/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/ industrynews" class="com-topic-title topic-tag-title">企业动态</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="java革新之路:graalvm原生镜像"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/bd4xlkdi8emx4ysigt9t?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> java 革新之路:graalvm 原生镜像 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 许多java框架已经支持graalvm,如spring boot、micronaut、quarkus、gluon等。 </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/cloudnative" 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="购大会门票享限时福利"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/bhbx1da3jkgvsflgyine?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"> 注意:根据不可控疫情因素,个别会议时间可能会根据国家控制疫情情况而延时调整,请知晓。疫情之下,infoq 技术会议作为 infoq技术社区以线下会议为技术团队赋能的专业平台,我们希望通过调动infoq 极客传媒及极客邦科技(推动数字人才全面发展)的所有资源,为广大企业和技术人提供一些力所能及的支持和帮助,让更多的技术人通过不同形式了解学习更多技术实践,提升团队成员在疫情下的综合能力,有效提升团队战力。 </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/qcon" class="com-topic-title topic-tag-title">qcon</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/aicon" class="com-topic-title topic-tag-title">aicon</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/gtlc" class="com-topic-title topic-tag-title">gtlc</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/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/ 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/community" class="com-topic-title topic-tag-title">社区</a></div></div></li><li data-v-e14897f4=""><h6 data-v-e14897f4="" title="graphql 是一个陷阱?"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/dvoanodmu9e4u5ndkq4e?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> graphql 是一个陷阱? </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/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/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/performance_tuning" class="com-topic-title topic-tag-title">性能调优</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="我用一个跨平台 web 应用替换了原生 ios 应用,竟没人发现"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/tea9gnk0zydw109nmihb?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 我用一个跨平台 web 应用替换了原生 ios 应用,竟没人发现 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 不知为何,我的跨平台 web 应用实际上更稳定。我想,我浪费了大量时间开发原生 ios 应用。 </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/ios" class="com-topic-title topic-tag-title">ios</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="钉钉、美团、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="python之父guido van rossum:炒作之火或将“摧毁” web 3"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/pat5gt4cdluguzasnxpx?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> python 之父 guido van rossum:炒作之火或将“摧毁” web 3 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 关于 web 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/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></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="我用一个跨平台 web 应用替换了原生 ios 应用,竟没人发现"><a data-v-cba4ad02="" data-v-e14897f4="" com-article-title="" href="https://www.infoq.cn/article/tea9gnk0zydw109nmihb?utm_source=related_read_bottom&utm_medium=article" target="_blank" rel="" class="com-article-title"> 我用一个跨平台 web 应用替换了原生 ios 应用,竟没人发现 </a></h6><p data-v-b8d6fb94="" data-v-e14897f4="" class="related-article-summary"> 不知为何,我的跨平台 web 应用实际上更稳定。我想,我浪费了大量时间开发原生 ios 应用。 </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/ios" class="com-topic-title topic-tag-title">ios</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></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="为什么我们今年不重点关注 flutter 了|gmtc"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/eamjo0svcfth0c2war14?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> 为什么我们今年不重点关注 flutter 了|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/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></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="《架构师》(2020年3月)"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/minibook/ztg9xj0vcvwtbmy7o80y?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> 《架构师》(2020 年 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/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></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/6a0zwkop4w6xbfakthuh?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/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/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/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/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/cdn" class="com-topic-title topic-tag-title">cdn</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="github上只卖5美元的脚本,却给我带来了一年数十万元报酬"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/bjo0jpojea811yxqvr09?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> github 上只卖 5 美元的脚本,却给我带来了一年数十万元报酬 </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/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/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/engineering efficiency" class="com-topic-title topic-tag-title">工程效率</a><a data-v-ba6fc118="" data-v-47bbeab2="" com-topic-title="" href="https://www.infoq.cn/topic/1154" class="com-topic-title topic-tag-title">自动化测试</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="aws lambda 增加对 .net 6 的支持"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/news/fse9yl1jx6ef9gtebp64?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> aws lambda 增加对 .net 6 的支持 </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/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/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/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="tiktok 英国搞“内卷”引发离职潮;百度程序员删改数据库被判刑;马斯克怒喷 youtube;ibm 退出俄罗斯|架构周报"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/news/qwwhymywml2dez492aci?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> tiktok 英国搞“内卷”引发离职潮;百度程序员删改数据库被判刑;马斯克怒喷 youtube;ibm 退出俄罗斯|架构周报 </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/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/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/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/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/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/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/python" class="com-topic-title topic-tag-title">python</a></div></p></div></li><li data-v-74e99c86=""><h6 data-v-74e99c86="" title="jdk11的11个谜题:hanno embregts在devoxx uk阐述对java认证的理解"><a data-v-cba4ad02="" data-v-74e99c86="" com-article-title="" href="https://www.infoq.cn/article/433fwsb5860zuq25rrdz?utm_source=related_read&utm_medium=article" target="_blank" rel="" class="com-article-title"> jdk11 的 11 个谜题:hanno embregts 在 devoxx uk 阐述对 java 认证的理解 </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/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/jvm" class="com-topic-title topic-tag-title">jvm</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/3461997829/image/page-001.jpg?x-oss-process=image/resize,w_532,h_300" alt="企业级业务架构在能源数智化转型中的落地实践"></div><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"> 百度故障管理场景的aiops探索与实践 </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">柯灵杰 | 腾讯 动态化中台pmc、腾讯文档客户端负责人</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-27983458="" class="seo-article-list"><div data-v-b8d6fb94="" class="seo-article-list" data-v-27983458=""><div class="list"><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/dff63d556980dae16586ac64d">polkadot系列(三)——如何实现共享安全性</a></h4><p class="author"><a href="//www.infoq.cn/profile/a0ae5c3204ebdb"> qtech </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/55" class="label"> 区块链 </a><a href="//xie.infoq.cn/tag/4914" class="label"> polkadot </a><a href="//xie.infoq.cn/tag/4915" class="label"> 跨链 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/b731e66bc0c22debb73641b27">spring 源码学习 09:refresh 大概流程</a></h4><p class="author"><a href="//www.infoq.cn/profile/00b8ae08da916e"> 程序员小航 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/161" class="label"> spring </a><a href="//xie.infoq.cn/tag/225" class="label"> 源码 </a><a href="//xie.infoq.cn/tag/2692" class="label"> 源码阅读 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/b847d427fb6942c7f8ee135ac">olap计算引擎怎么选?</a></h4><p class="author"><a href="//www.infoq.cn/profile/2a41b848035d75"> 数据社 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1357" class="label"> olap </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/675cabe58cb29a957e99638eb">生产环境全链路压测建设历程17:某快递a股上市公司的生产压测案例之前言</a></h4><p class="author"><a href="//www.infoq.cn/profile/455fe8f8c3f6c8"> 数列科技杨德华 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/4468" class="label"> 全链路压测 </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/dd4fbae29ea8287c8e6461d74">执法办案信息化建设,情报研判管控分析平台搭建金马国际的解决方案</a></h4><p class="author"><a href="//www.infoq.cn/profile/bf0903de2f1e3f"> t13823115967 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/6372" class="label"> 智慧公安 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/b9b72adb0c08cb0d972bb9a85">【经验分享】遵循10步法,应用系统发布效率大不同!</a></h4><p class="author"><a href="//www.infoq.cn/profile/bacfc893912073"> 嘉为蓝鲸 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/361" class="label"> 敏捷 </a><a href="//xie.infoq.cn/tag/1539" class="label"> 运维自动化 </a><a href="//xie.infoq.cn/tag/3705" class="label"> 部署 </a><a href="//xie.infoq.cn/tag/5436" class="label"> 发布流程 </a><a href="//xie.infoq.cn/tag/6755" class="label"> 应用发布 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/4ca0b193d0592ff764606d403">使用基于 springmvc 的透明 rpc 开发微服务</a></h4><p class="author"><a href="//www.infoq.cn/profile/011d48b6494195"> ai乔治 </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/238" class="label"> 架构 </a><a href="//xie.infoq.cn/tag/292" class="label"> 微服务 </a><a href="//xie.infoq.cn/tag/368" class="label"> spring cloud </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/474bcac8233fd965565dc5fb2">得物(毒)app,8位抽奖码需求,这不就是产品给我留的数学作业!</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/726" class="label"> 小傅哥 </a><a href="//xie.infoq.cn/tag/4128" class="label"> 编程开发 </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a><a href="//xie.infoq.cn/tag/6754" class="label"> 数学逻辑 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/59c9f2b95e8f1666a2daa7ccf">盘点 2020 | 鲜衣怒马少年时,不负韶华行且知!</a></h4><p class="author"><a href="//www.infoq.cn/profile/8fd2fd5b3fe2f0"> 程序员的时光 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/232" class="label"> 程序员 </a><a href="//xie.infoq.cn/tag/477" class="label"> 成长 </a><a href="//xie.infoq.cn/tag/1625" class="label"> 编程之路 </a><a href="//xie.infoq.cn/tag/1810" class="label"> 计算机 </a><a href="//xie.infoq.cn/tag/6533" class="label"> 盘点2020 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/b425701832710da1dbfe944a0">gridea github搭建个人博客</a></h4><p class="author"><a href="//www.infoq.cn/profile/4b12bf867b6082"> simon </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/845" class="label"> github pages </a><a href="//xie.infoq.cn/tag/1326" class="label"> 博客 </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/71ecb6fc1f4f12fb89248d00a">数字货币交易所系统开发功能方案</a></h4><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/fdfdcfdf9af3539d371686410">aws云上安全最佳实践</a></h4><p class="author"><a href="//www.infoq.cn/profile/dcf153e72bbcb6"> 雪雷 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/497" class="label"> 安全 </a><a href="//xie.infoq.cn/tag/1738" class="label"> aws </a><a href="//xie.infoq.cn/tag/3640" class="label"> 云安全 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/420f356c48862295e1798b877">入门参考:从go中的协程理解串行和并行</a></h4><p class="author"><a href="//www.infoq.cn/profile/ce776912576f2d"> soolaugust </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/4923" class="label"> go concurrency patterns </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a><a href="//xie.infoq.cn/tag/8960" class="label"> go 语言 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/b941ceca6f85c047f8ff5c39b">fair world智能合约app系统软件开发</a></h4><p class="label-wrap"><a href="//xie.infoq.cn/tag/6368" class="label"> 系统开发 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/26442c3608d339c48ab991370">发布会直播技术及业务实践</a></h4><p class="author"><a href="//www.infoq.cn/profile/95d8a55e36cf5e"> vivo互联网技术 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/289" class="label"> 分布式 </a><a href="//xie.infoq.cn/tag/1430" class="label"> 服务器 </a><a href="//xie.infoq.cn/tag/6255" class="label"> 直播技术 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/344bf12eee1fb944615d3bbd5">合成游戏app系统开发软件技术</a></h4><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/a9282dad0b06f76508e3ada43">dforce挖矿app系统开发|dforce挖矿软件开发</a></h4><p class="label-wrap"><a href="//xie.infoq.cn/tag/6368" class="label"> 系统开发 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/27bf13d38df0b9b896236c497">差点跳起来了!全靠这份“java核心知识笔记”我成功拿到美团offer</a></h4><p class="author"><a href="//www.infoq.cn/profile/c0ac41b60dc17f"> 比伯 </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/238" class="label"> 架构 </a><a href="//xie.infoq.cn/tag/1810" class="label"> 计算机 </a><a href="//xie.infoq.cn/tag/6756" class="label"> 编写 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/48c0726018a8acdc85f2bdd0d">【理论篇】浅析分布式中的 cap、base、2pc、3pc、paxos、raft、zab</a></h4><p class="author"><a href="//www.infoq.cn/profile/3989057af32ade"> merlinfeng </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/143" 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/c9bc7933a65c7d43749526280">小白干货奇遇记</a></h4><p class="author"><a href="//www.infoq.cn/profile/24d0c32f397113"> 熊斌 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/264" class="label"> 个人成长 </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/1ddf8d4c55bb46a6fd2022249">智慧社区综合信息服务平台搭建,智能社区建设金马国际的解决方案</a></h4><p class="author"><a href="//www.infoq.cn/profile/bf0903de2f1e3f"> t13823115967 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/6616" class="label"> 智慧社区系统开发 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/53117d6efc2d8a9caf9135d08">四币连发交易所系统开发技术</a></h4><p class="label-wrap"></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/131fc7e61a93337c81c5873bd">堪称完美!阿里架构师用60个实战案例讲明白了spring boot</a></h4><p class="author"><a href="//www.infoq.cn/profile/b366c6d679cca2"> java架构追梦 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/3" class="label"> java </a><a href="//xie.infoq.cn/tag/238" class="label"> 架构 </a><a href="//xie.infoq.cn/tag/283" class="label"> 面试 </a><a href="//xie.infoq.cn/tag/292" class="label"> 微服务 </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/b573e08a99215af51b165c8ce">甲方日常72</a></h4><p class="author"><a href="//www.infoq.cn/profile/c0a61fecefd9eb"> 句子 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/1298" class="label"> 工作 </a><a href="//xie.infoq.cn/tag/1378" class="label"> 随笔杂谈 </a><a href="//xie.infoq.cn/tag/1492" class="label"> 日常 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/3db2b277c9a4130d4db8d3d85">windows安装mysql5.7教程</a></h4><p class="author"><a href="//www.infoq.cn/profile/4b12bf867b6082"> simon </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/84" class="label"> mysql </a><a href="//xie.infoq.cn/tag/760" class="label"> windows </a><a href="//xie.infoq.cn/tag/998" class="label"> 安装 </a><a href="//xie.infoq.cn/tag/6642" class="label"> 七日更 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/a54f8130b943ffb484ec7ad9a">做音视频最好用的几款跨平台框架</a></h4><p class="author"><a href="//www.infoq.cn/profile/f0114fb9dd299b"> anyrtc开发者 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/21" class="label"> flutter </a><a href="//xie.infoq.cn/tag/52" class="label"> uni-app </a><a href="//xie.infoq.cn/tag/68" class="label"> ios </a><a href="//xie.infoq.cn/tag/79" class="label"> android </a><a href="//xie.infoq.cn/tag/662" class="label"> webrtc </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/f756144628b125ec8b3f04f64">向我看齐!京东智联云成 2020 top100 summit“技术标兵”</a></h4><p class="author"><a href="//www.infoq.cn/profile/6d904d32f36bf6"> 京东科技开发者 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/278" class="label"> devops </a><a href="//xie.infoq.cn/tag/356" class="label"> 云原生 </a><a href="//xie.infoq.cn/tag/1938" class="label"> 数字化 </a></p></div><div class="article-item"><h4 class="article-title"><a href="//xie.infoq.cn/article/0a96c316ed8c6765452a1ba5e">突破程序员基本功的16课</a></h4><p class="author"><a href="//www.infoq.cn/profile/6e05f441454f70"> 田维常 </a></p><p class="label-wrap"><a href="//xie.infoq.cn/tag/232" class="label"> 程序员 </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-27983458=""></div><div data-v-d8ccb2a0="" data-v-b8d6fb94="" id="gk-layer" gkmodal-color="base" class="modal-share-horde modal_gk-modal_3ly5t" data-v-27983458=""></div><div data-v-27983458="" id="check-bottom-bar"></div><div data-v-27983458="" class="layout-footer-wrap"><div data-v-1cbc31fa="" data-v-27983458="" 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 data-v-0df4f832="" data-v-27983458="" class="live-fixed-bar"><div data-v-0df4f832="" class="live-bar"><div data-v-0df4f832="" class="scroll-wrap"><div data-v-0df4f832="" class="on-live"><img data-v-0df4f832="" src="data:image/png;base64,ivborw0kggoaaaansuheugaaamgaaadicayaaactwk6eaaaacxbiwxmaaassaaaleghs3x78aaalauleqvr4no2dtxlbrhaa26kszkdmlaxoe4g5gegtrdmbqbmmc4lij7b8ale3ke9g6qshtjdiclymd7ptfmihcyiiecd69e/3vbls5vggcpwh/nnd7314fn428i6xmwyqf7kxxqwsfurt a5gvupg8/0ex0 5p4akrunzggoejde/jdhf5c/fxpjilxjnjjkfc7fhm5pv8izfrfyep s7lyrsza89yi6i0synmscd/u1xauqxcm2m xeh 14by bgmptiv6c1egtxeg56/syt/fxmfc ai573eyk/ly25czkvycyxxctjmxku/jbwhowguc9b7gb87eukq63fadnmwgcuptklct5xzthgl8b7kbnc4xbo5fllse6c2ocmsiqcetmj5lbazyo6chzkyvfa94fjmrw8amxzwuvfzpp0iig2sni9ttrm38g2suyqhw4fq2xzjy3k3im8wb7eiby1ftaksdydttmmwrokhpwf0xjtn3qogyzlhmyt7raunaxrwr783zmks/lsdbjd6kuqhvzhsibgog6bibnyjpuqthavi7er62jja85zkny3mpstwo1xe4nmvo0hw2w68cgbozmdzmpggmbbxa vfsoxheuouzyt89zpioquijhhw0xrkpgm4w0u/47lmjbjofw28kyyhvqvimiolfj8wwamrcvwuwwe8w7ekgjyyp2cf9dcvoxek9zrcpn7dt4qcpkwpflk1tayiwasw8h3z/qavb0eec9cdknpucqrro649pvyrom24qpeaus znvgysfqpuvb phjwx14dhtlvncqpbkxmzjphzzqz5j1rivsyx1tieg7e ljtjdtm1amylih5udpwc5tbkeo46krtva8wcfsch3jmt2gsxontgmkoz0xkrgylizyrzcqpbsuyitv2mmdsy4wyijvj66zcy lxf7wxm79foqyc5ygsh gjghztywzib2cimdrza/oirvnh0ssbzvfpydll2saycamf8mb nca7qul/5we73/h3 obqqunvctsdixirm4wzeqizz2okc5reezefhnu4zeagkzkltthcfbilt3jukswdufmsulnc9cpqj1vsspodshmu5cp3gbsk1diiwd5qvsjgtoifi5fjl rawlgtnrity3fn6e9sj/szqcugvxkbkgpcixbsjedquve2ujroweo6uhkivws0wtik/lezk9zl30fcxgicecl3ofd gyxkani57rv qu gmhvwqzwqf1oqstdbvmyhasjcdy1yuyxqezmycfblrps/t80sdfohg7gm9bs 4d6ellsqeq0tve2qrzmyiedttsysjynsbrtzgcerfpqjfnzw00uhmnxkom/epfbpiyyd9yeyyykzb/bkrkvb9hupdayvwvjukvoyfhwnbake//29il75ibavcdw8jfnrbdkgk5spm1mpa1pvamb7zul7otbnhqsfadehvhkrfqrzs0svldvqc4v5lglezhypiy aruoy4lc94v9gtiergwgyvxbkjco1idynodxfgubv9gsdvrmmfxtqwznq7ldgwg4agsn1rd7xrbbfca2aq55kjznc3vbrmkd4bibbu5vkftwrmadg4stdlvbkmwcvrdv9l5cqk5i2uqx as9chiiccd sptrh4xccbytcobhnra3odgwhkkq4burbbauzhlg3wfksskimquapvaggqafbafoaueawkaqgbyqbkafbafoaueawkaqgbyqbkafbafoaueawmjkzqvvmup r mezz1lfue79rwlbyk0m5z0lpmdgv/k8nrfjn3rnbvv0oahvjnz6q3 6pkoqcjpdcm/s9k8yegq94xlqhqzmin3caled4k8pawfbzmpmqjedik8usqhvawfusieqv65dlsteveiakf2zdzugkeucecqht6xzbelybbep2jqmsbkgcbiei0ruqicqezxubnfkcq9zjhaa7klekpdk7axfecup qusewl4hdfa7klmg7ghvqcka7jxzcyqrqhiej8iioicjioikiagtjdaugwasckrrbkoiuyh2xc/9fiicmhiiofegq4i8o59dl6jsijgcddwddsdkyk8jwq4reihagcdonqbpmn6wgklcifesu emqnrfxvk0sjdwrxc6jebol4aveiauh8giibgybhgcibgibhebioy0h3pw8cqcikrfeuznk6q94eqcimnffg0ptkc1yeqeignffucpeeqeiijfgu99rjsq4eizmqrbnluamfqelgtyhnqu/aesqnfiqyspnbikha bdl95tjiwisjq5fsxayhsbp40qumblw9qjb8qaqyqpcn6yhgstyslkhqbbo4naxyaiaipmr9lksbx5o6 tac2or4y8euncqjh1kmraypusdzidtcjiulsqowax6fbekta4civfyl qdrjc0misclqv2pjdegtdxiuzj0lveesrufiphppdaeago32iy2devfewfqeiibdfkfimvxpugsbyejebbzq7hbq2cbe9oypic5ddsxqqwusyd3gqkrzeh/y0noqycbeeiyqyl15jlmoeowxardeicshvixoxwy9rbel8gruagib8qixiqxc2ierki4gbeibrwsyyxpza0lervqqlyhazbhjfq2i eginaegs45rnvtsx/feopreaqo4sycaexliag6yeyfkgqdeambrakfhbdeqsjl63ucbzk/ufogidxuypxlatmoejuczd7ao6hk1up8tgrxgm5hjb7dxjdpid6di8gyk6gzgka91ihmqig9ygwcxd1h6fuqcdithafhfjrieaaimiuiv57/hzecbge2xglvnyydcsiaar5ze5oqiuyeyegr6xeei0qi0iq5c13khznzk cgbgdio9zyvhah4hxqyweqjd9pekmwu9hifjm9v9ejdtipzj ihsrzsl/ncqfsevybvmcbcvdnar1jwscdooj8xz5whaloaueawgbqqbaqbcafhaeoaueawgbqqba pd8/fz 32dld oddxw8yruda/qge4vranhpe1vb1pauobn0hqbfbe/fhaogtvyqaz6pahdr9l5cqapik4nagcms8mbe2p4nxlyocmkzsdz5yse1ntvciwvvvazcwp9y/jbpkax2hhgp5h7fld79x3kyvrxeidm2sgxurtoodiemy2nmi0uf8shnfv6hvsxr840/kuu1vyefgmjy2pgtouzdgbogtg8fnsijkfhkytuv8hsh6oksfbkoncp1iy alwawpwmlj/xfqn2rdi00nccyivqybawdkgu8f1cqtf2u7dcn6suby o6ores4ocestwcycw9xrkx5klxyw33tqwabfkyy744 s09igk0mhzyu xppj2ikauzjw4midtwtup/tt28c36nkamnbb1nkgko8i0waonztdr6xtqgweyhsgkqegd3exw6mlwr1qoafdk/tedu5urhsrr7sfoaxljssrwq65hbpcquaflgtuu2qj5n0udiaglw2 fkyd kdugcmdnldnnkvpm5cxkikmtjzqwfwuztyybrxywbq8hszbxqqlnoq/ji3csa8tbafgbapegbpfog4ndecrvpsf5wvgmcoatbazozorthbwvwvbntpymkekrawbhx 0gfhsxbmhjlzgjbbmbwxfq2qi9th53qektktgq5zzipltlkl7hutc lluivaa2usqudmjag5xnxlqhhm9fhiy4fayjkdtcgv sdxpj/ay4y20uc5l2faaaaaelftksuqmcc"><div data-v-0df4f832="" class="live-title"><div data-v-0df4f832="" class="move-wrap"><p data-v-0df4f832="" class="scroll-title">“芯”有灵“蜥” 走进 intel meetup</p><p data-v-0df4f832="" class="scroll-title">“芯”有灵“蜥” 走进 intel meetup</p></div></div></div></div></div><div data-v-014bb111="" data-v-0df4f832="" id="gk-layer" gkmodal-color="base" class="sub-modal modal_gk-modal_3ly5t"></div><div data-v-71fdd381="" data-v-0df4f832="" id="gk-layer" gkmodal-color="base" class="subwechattip modal_gk-modal_3ly5t"></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>