<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>NotionNext BLOG</title>
        <link>https://tangly1024.com/</link>
        <description>这是一个由NotionNext生成的站点</description>
        <lastBuildDate>Wed, 12 Jul 2023 03:14:20 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2023, NotionNext</copyright>
        <item>
            <title><![CDATA[TCP]]></title>
            <link>https://tangly1024.com/article/378b0214-0952-422c-884a-640c106f78de</link>
            <guid>https://tangly1024.com/article/378b0214-0952-422c-884a-640c106f78de</guid>
            <pubDate>Sun, 09 Jul 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="container" class="mx-auto undefined"><main class="notion light-mode notion-page notion-block-378b02140952422c884a640c106f78de"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-8b052afc27624e86a08d87b13acc4cf7">TCP (Transmission Control Protocol) 是互联网中最重要和最常用的传输协议之一。它是一种可靠的协议，用于在网络上传递数据。TCP的特点之一是其面向连接的属性，这意味着在传输数据之前，建立了一个持久的连接，然后才进行数据传输。在本文中，我们将深入探讨TCP协议，了解它的工作原理和在网络中的应用。</div><div class="notion-text notion-block-e17591d0d67e449cb8b1c5b0f705f7a6">首先，让我们简要了解一下TCP的历史。TCP最早是由Vint Cerf和Bob Kahn在20世纪70年代初开发的，作为ARPANET项目的一部分。当时，他们面临着建立一个可靠的数据传输协议的挑战，以连接全球范围的计算机网络。他们的目标是开发一种能够在不同类型的网络上运行的协议，能够适应不断变化的网络架构和不稳定的网络条件。</div><div class="notion-text notion-block-6ace8ccba59740ebaf594dd579e32ad6">TCP是一种面向流的协议，它将应用程序的数据划分为更小的数据包，然后将它们放入IP协议的数据包中进行传输。每个数据包都有一个序列号，以确保接收方能按正确的顺序重构数据。TCP还使用一种叫做滑动窗口的机制，以便在传输过程中进行流量控制和拥塞控制。滑动窗口的大小可以动态调整，以适应网络的状况和接收方的处理能力。</div><div class="notion-text notion-block-987776c7dd114b43ab13d54b49361e9d">在TCP连接建立之前，客户端和服务器通过三次握手来协商连接的参数。这个过程包括三个阶段：首先，客户端向服务器发送连接请求，然后服务器回复确认，并发送自己的连接请求，最后，客户端再次回复确认。一旦连接建立，数据就可以在客户端和服务器之间进行传输。当数据传输完成后，连接可以通过四次握手来关闭，以释放网络资源。</div><div class="notion-text notion-block-243b3a78800747bdbfee2d05d8bfce42">由于TCP协议的可靠性，它被广泛应用于Web浏览器、电子邮件传输、文件传输和其他网络应用中。无论是浏览网页、发送电子邮件还是下载文件，都需要使用TCP协议来确保数据的完整性和可靠性。此外，TCP还支持网络中的流量控制和拥塞控制，以避免网络拥塞和数据丢失。</div><div class="notion-text notion-block-806184223ad94a4fa47df9f569a07f3f">尽管TCP是一种可靠的传输协议，但它也有一些缺点。首先，它在数据传输时引入了一定的延迟，因为需要进行连接建立和关闭的握手过程。其次，在网络条件不理想的情况下，TCP的拥塞控制机制可能导致传输速度的降低。此外，TCP没有提供对实时数据传输的特殊支持，这使得它对于某些实时应用来说并不适用。</div><div class="notion-text notion-block-ecbfe7fb46624e8ba7dfdd7525c17ee5">总之，TCP是一种在现代互联网中不可或缺的传输协议。它的可靠性和稳定性使其成为网络通信的主要选择。无论是传输大文件还是发送敏感数据，TCP都能确保数据的安全和完整性。尽管它有一些局限性，但随着互联网的发展，TCP协议也在不断演进和改进，以满足不断增长的网络需求和新的应用场景。因此，我们可以说TCP是现代互联网的基石，为我们提供了可靠和高效的数据传输服务。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Wireshark：网络世界中的一把利器]]></title>
            <link>https://tangly1024.com/article/dbe8aed4-0355-401b-a4af-a7d4fa23c251</link>
            <guid>https://tangly1024.com/article/dbe8aed4-0355-401b-a4af-a7d4fa23c251</guid>
            <pubDate>Sun, 02 Jul 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="container" class="mx-auto undefined"><main class="notion light-mode notion-page notion-block-dbe8aed40355401ba4afa7d4fa23c251"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-8d06de6109334aec92efdd877279ca39">当我们在浏览互联网时，我们经常不明白数据是如何通过网络传输的。是否搞清楚这个过程将使我们对网络更加深入地理解，并有助于我们发现和解决与网络相关的问题。幸运的是，有一个强大并且易于使用的工具可以帮助我们实现这一目标——Wireshark。</div><div class="notion-text notion-block-3e395b0f4ce043ccb5edb384efeba6a4">Wireshark是一个免费且开源的网络分析工具，它能够捕获和分析通过计算机网络传输的数据包。无论是网络管理员、开发人员还是普通用户，Wireshark都能提供丰富的功能，使用户能够深入了解网络通信的细节。</div><div class="notion-text notion-block-2c24fb3f247342bd97e773a0ace4b746">首先，Wireshark具有强大的捕获功能。它可以捕获传输在计算机网络上的各种数据包，例如TCP、UDP和HTTP等。借助Wireshark，我们可以轻松地查看和分析这些数据包的内容、源地址和目标地址等信息。通过捕获数据包，我们能够深入了解网络中的每个细节，并能够准确地发现网络中可能存在的问题。</div><div class="notion-text notion-block-b57594d56d60489bac2343bb585a8933">其次，Wireshark还提供了丰富的过滤功能。由于网络中存在大量的数据包，如果没有适当的过滤机制，我们可能会陷入混乱之中。使用Wireshark的过滤功能，我们可以根据不同的条件，例如源地址、目标地址、协议类型等，对数据包进行过滤。这不仅有助于我们迅速定位我们感兴趣的数据包，还有助于我们更好地压缩和管理捕获的数据。</div><div class="notion-text notion-block-52199404789642c28adcf6d5bea10cb9">此外，Wireshark还提供了强大的统计功能。通过对捕获的数据包进行统计分析，我们可以获得各种有用的网络性能指标，如传输速率、带宽利用率等。这些统计数据可以帮助我们评估网络的健康状况，并根据需要采取相应的措施。</div><div class="notion-text notion-block-b03cc6a24fdb40c98ccca7bec8f871d1">最后，Wireshark对于网络安全分析也是非常有帮助的。借助Wireshark，我们可以检测和分析网络攻击，如DDoS攻击、网络钓鱼等。通过观察和分析数据包，我们可以发现潜在的威胁，并采取及时的措施来保护网络的安全。</div><div class="notion-text notion-block-3f364c1c8317445eb5bde4b537eabd5f">总而言之，Wireshark是一个功能强大且易于使用的网络分析工具。它不仅适用于网络管理员和开发人员，还适用于普通用户。无论是诊断网络问题、加深对网络通信的理解，还是保护网络安全，Wireshark都是一把利器。我强烈推荐您尝试使用Wireshark，它将为您打开网络世界的大门并带来许多惊喜！</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Vue]]></title>
            <link>https://tangly1024.com/article/8a8729bc-deda-40c4-a402-5eeda7f1aea4</link>
            <guid>https://tangly1024.com/article/8a8729bc-deda-40c4-a402-5eeda7f1aea4</guid>
            <pubDate>Mon, 26 Jun 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="container" class="mx-auto undefined"><main class="notion light-mode notion-page notion-block-8a8729bcdeda40c4a4025eeda7f1aea4"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-10e692ebcd3a4ad8bb4d0c025740531e">Vue.js是一种现代化的JavaScript框架，它的主要特点是易于上手、灵活性高、性能优秀。它被广泛应用于web应用程序开发中，以及单页应用程序的设计中。今天，我们将为您介绍Vue.js的一些重要特点。</div><div class="notion-text notion-block-1e2f85bcd5f341e980afb5294cfe5c5c">Vue.js使用虚拟DOM，这是优化性能的重要手段。虚拟DOM比真实的DOM快得多，因为它避免了昂贵的深度对比。改变Vue对象时，Vue.js会在虚拟DOM中计算哪些部分需要更新，然后将该更新应用于真实的DOM中。这使得Vue.js在性能方面表现出色，使您的应用程序在网页上运行得更快。</div><div class="notion-text notion-block-2dfba0ae46d74644b232fdcee08e1e1b">Vue.js还支持组件编程，这使得编写大型应用程序变得更加容易。Vue组件是Vue.js编写的自定义元素，可以包含HTML、JavaScript和CSS。这种方式可以将应用程序划分为小模块，使得编写复杂的应用程序变得更加容易。</div><div class="notion-text notion-block-23dd79a4cc62452b95060b57be81bb18">Vue.js还采用了MVVM（模型-视图-视图模型）模式，这是一种简化的开发方法。模型（Model）表示数据，视图（View）表示用户界面，而视图模型（ViewModel）是两者之间的联系桥梁。这种架构模式使开发人员能够更容易地进行交互式和响应式编程。</div><div class="notion-text notion-block-ecf403a714184cc0b14f1eecb963fea3">Vue.js还拥有强大的生命周期方法和钩子。开发人员可以使用这些方法来在Vue.js实例的生命周期中添加自己的自定义代码。这些方法包括mounted（组件实例已插入DOM）、updated（组件更新以及虚拟DOM重渲染后）、beforeDestroy（组件已销毁前）等。</div><div class="notion-text notion-block-aeaf995b4d8b40e79ba3ef97244e1cc1">综上所述，Vue.js是一个非常优秀的JavaScript框架，它通过使用虚拟DOM、组件编程、MVVM模式和强大的生命周期方法等特点，使得开发者能够更容易地编写出高性能和易于维护的web应用程序。如果您正在寻找一种书写现代web应用程序的方法，Vue.js也许正是你所需要的。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Elasticsearch]]></title>
            <link>https://tangly1024.com/article/6db9ae9f-ab47-4b24-b8a9-68b2d40f94b5</link>
            <guid>https://tangly1024.com/article/6db9ae9f-ab47-4b24-b8a9-68b2d40f94b5</guid>
            <pubDate>Sun, 18 Jun 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="container" class="mx-auto undefined"><main class="notion light-mode notion-page notion-block-6db9ae9fab474b24b8a968b2d40f94b5"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-c906be6313eb4f0982fb7806a813a311" data-id="c906be6313eb4f0982fb7806a813a311"><span><div id="c906be6313eb4f0982fb7806a813a311" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c906be6313eb4f0982fb7806a813a311" title="Elasticsearch 簡介及其應用"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Elasticsearch 簡介及其應用</span></span></h2><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-afdbb8a2cd2a4cfdaff7e0b511e64ff0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column"><img src="https://www.elastic.co/assets/blt9a26f88bfbd20eb5/icon-elasticsearch-bb.svg" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-361906a04ae64ad09252cc80a85c28a9">Elasticsearch 是一個開源的分散式搜索和分析引擎，基於 Apache Lucene。它提供了全文搜索功能，有著高度靈活性和可擴展性。Elasticsearch 常用於日誌和事件數據分析，應用程序搜索，以及企業級搜索等場景。</div><div class="notion-text notion-block-22f48d27e4f34fb2a1fb9dfda2a5c9f3">在本篇博客中，我們將探討 Elasticsearch 的基本概念、功能，以及如何在實際項目中應用。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-4b3894bdcc874f8bb138c00054d92341" data-id="4b3894bdcc874f8bb138c00054d92341"><span><div id="4b3894bdcc874f8bb138c00054d92341" class="notion-header-anchor"></div><a class="notion-hash-link" href="#4b3894bdcc874f8bb138c00054d92341" title="Elasticsearch 基本概念"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Elasticsearch 基本概念</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-28bbd4d4c28f4be48226bb210eacd16f"><li><b>集群（Cluster）</b>：一個或多個 Elasticsearch 節點的集合，它們共同實現了分布式搜索和分析功能。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-9ac7353a09b04f64801f35a75fdcb08d"><li><b>節點（Node）</b>：一個運行 Elasticsearch 實例的單獨的服務器。節點可以有多種角色，如數據節點、主節點等。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-8b85b35882bd4e6686c7f4e63cf8ac15"><li><b>索引（Index）</b>：具有相似結構的文檔的集合。索引是存儲和管理數據的主要概念。</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-2c8160a848084514acc336313e534a7c"><li><b>文檔（Document）</b>：具有一組字段的 JSON 對象。文檔是 Elasticsearch 中需要搜索和分析的基本信息單位。</li></ol><ol start="5" class="notion-list notion-list-numbered notion-block-a6d1cc218d754c2abf75a0fc0d4e0df3"><li><b>類型（Type）</b>：在 7.x 版本之前，類型是索引中文檔的邏輯分類。在 7.x 版本之後，類型被去除，每個索引只能包含一種類型的文檔。</li></ol><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-c0b13f85a7cd4eed92b6fdf2689acd39" data-id="c0b13f85a7cd4eed92b6fdf2689acd39"><span><div id="c0b13f85a7cd4eed92b6fdf2689acd39" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c0b13f85a7cd4eed92b6fdf2689acd39" title="Elasticsearch 功能"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Elasticsearch 功能</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-40550b5584f24871a8e8414b448f4fa6" data-id="40550b5584f24871a8e8414b448f4fa6"><span><div id="40550b5584f24871a8e8414b448f4fa6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#40550b5584f24871a8e8414b448f4fa6" title="全文搜索"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">全文搜索</span></span></h4><div class="notion-text notion-block-2e3ccce224374300882c62725d5b0ebe">Elasticsearch 提供了強大的全文搜索能力，支持多種語言並具有高度靈活和可定制性。它提供了數據分析、模糊搜索、同義詞搜索等功能。</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-50eec8704ea2426bb9ce36cef0d0a1c0" data-id="50eec8704ea2426bb9ce36cef0d0a1c0"><span><div id="50eec8704ea2426bb9ce36cef0d0a1c0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#50eec8704ea2426bb9ce36cef0d0a1c0" title="分布式搜索與分析"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">分布式搜索與分析</span></span></h4><div class="notion-text notion-block-d064a00a8a384073af8e136641df2acd">Elasticsearch 具有高度分布式的特點。數據可以分片存儲在多個節點上，並對查詢結果進行分析和聚合。這意味著 Elasticsearch 可以快速地處理大量數據，並在多個節點之間進行負載均衡。</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-cbfe03d1328945a8a4b79908f82d7060" data-id="cbfe03d1328945a8a4b79908f82d7060"><span><div id="cbfe03d1328945a8a4b79908f82d7060" class="notion-header-anchor"></div><a class="notion-hash-link" href="#cbfe03d1328945a8a4b79908f82d7060" title="實時搜索與分析"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">實時搜索與分析</span></span></h4><div class="notion-text notion-block-8b59ae16f472441686fda372c9c37e11">Elasticsearch 支持實時搜索和分析，這意味著新添加的文檔幾乎可以立即被搜索到。對於需要實時反饋的應用場景，這是一個非常重要的特性。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-113c21c790fd426ebd29d41afa31616a" data-id="113c21c790fd426ebd29d41afa31616a"><span><div id="113c21c790fd426ebd29d41afa31616a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#113c21c790fd426ebd29d41afa31616a" title="Elasticsearch 實際應用"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Elasticsearch 實際應用</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-aec64e3e136b45d18c0648f169851e5e" data-id="aec64e3e136b45d18c0648f169851e5e"><span><div id="aec64e3e136b45d18c0648f169851e5e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#aec64e3e136b45d18c0648f169851e5e" title="日誌分析"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">日誌分析</span></span></h4><div class="notion-text notion-block-505bb47d366e4117bd0fda32a4f27038">Elasticsearch 與 Logstash 和 Kibana 一起構成了 ELK 日誌分析套件。通過 Elasticsearch，我們可以快速地對大量日誌數據進行搜索、過濾和分析，從而對系統和應用程序的運行情況有更深入的了解。</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-d65713784d18439a85f702a867a83c72" data-id="d65713784d18439a85f702a867a83c72"><span><div id="d65713784d18439a85f702a867a83c72" class="notion-header-anchor"></div><a class="notion-hash-link" href="#d65713784d18439a85f702a867a83c72" title="應用程序搜索"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">應用程序搜索</span></span></h4><div class="notion-text notion-block-dbba5b53b713426c9f34a2cb395acd8b">在 Web 應用程序中，Elasticsearch 可用於構建高效的站內搜索引擎。通過對文檔進行索引和分析，Elasticsearch 可以快速地返回與查詢相關的結果，並支持自動完成、拼寫檢查等功能。</div><h4 class="notion-h notion-h3 notion-h-indent-2 notion-block-96e248052b4f40fd97e89638c66b1f22" data-id="96e248052b4f40fd97e89638c66b1f22"><span><div id="96e248052b4f40fd97e89638c66b1f22" class="notion-header-anchor"></div><a class="notion-hash-link" href="#96e248052b4f40fd97e89638c66b1f22" title="企業級搜索"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">企業級搜索</span></span></h4><div class="notion-text notion-block-0a16ed76e199408aae5b85fd3b3fe3be">對於大型企業，Elasticsearch 可以幫助構建高效的企業級搜索引擎。Elasticsearch 可以對多個數據源進行統一的索引和管理，包括文件、數據庫、電子郵件等。通過對數據進行結構化和非結構化的分析，Elasticsearch 可以提供更加精確的搜索結果，滿足企業內部信息檢索的需求。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-695c87ab5f564092b8efacabb3bc0686" data-id="695c87ab5f564092b8efacabb3bc0686"><span><div id="695c87ab5f564092b8efacabb3bc0686" class="notion-header-anchor"></div><a class="notion-hash-link" href="#695c87ab5f564092b8efacabb3bc0686" title="開始使用 Elasticsearch"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">開始使用 Elasticsearch</span></span></h3><div class="notion-text notion-block-8c5f9f48edff491b8c65c9ee636f469a">要開始使用 Elasticsearch，首先需要安裝並運行 Elasticsearch 服務。下面是一個簡單的安裝和運行 Elasticsearch 的示例：</div><ol start="1" class="notion-list notion-list-numbered notion-block-7fad617cf3734adbb8fff52716504bff"><li>下載並解壓 Elasticsearch 安裝包：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.elastic.co/downloads/elasticsearch">官方網站</a></li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-17eaf64c7d9541448652d1ac34afd634"><li>進入解壓後的 Elasticsearch 資料夾</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-79b1bf89295d4d3d9a6b66d7fc951295"><li>運行以下命令啟動 Elasticsearch 服務：</li><ol class="notion-list notion-list-numbered notion-block-79b1bf89295d4d3d9a6b66d7fc951295"></ol></ol><div class="notion-text notion-block-d57b4e033eb54579b1f146a7393f4b44">在 Elasticsearch 服務運行後，你可以通過 RESTful API 進行數據的索引、搜索和分析。以下是一個使用 Python 的 Elasticsearch 客戶端進行簡單操作的示例：</div><div class="notion-text notion-block-cf9b8d91428c4971831dd3fa3cfe2f83">上面的代碼首先連接到 Elasticsearch 服務，然後索引一個包含標題和內容的文檔。最後，我們通過一個簡單的查詢條件搜尋含有 &quot;Elasticsearch&quot; 的文檔。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-830cf97d07a3437999eb9383c19b847f" data-id="830cf97d07a3437999eb9383c19b847f"><span><div id="830cf97d07a3437999eb9383c19b847f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#830cf97d07a3437999eb9383c19b847f" title="結語"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">結語</span></span></h3><div class="notion-text notion-block-de87b0e3b62c4bc2938d8db89b262cae">Elasticsearch 是一個強大的搜索和分析引擎，它能夠快速地處理大量數據，並提供實時搜索和分析功能。通過 Elasticsearch，我們可以輕鬆地構建日誌分析、應用程序搜索和企業級搜索等應用。希望本篇博客對你在使用 Elasticsearch 方面有所幫助！</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[为什么它是值得你学习的语言]]></title>
            <link>https://tangly1024.com/article/51155402-24f7-41a8-af3b-3655db71dc83</link>
            <guid>https://tangly1024.com/article/51155402-24f7-41a8-af3b-3655db71dc83</guid>
            <pubDate>Sun, 11 Jun 2023 00:00:00 GMT</pubDate>
            <content:encoded><![CDATA[<div id="container" class="mx-auto undefined"><main class="notion light-mode notion-page notion-block-5115540224f741a8af3b3655db71dc83"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-6c865a025103425cbd822ba8feb5d9a6">学习Swift：为什么它是值得你学习的语言</div><div class="notion-text notion-block-b664b1f463b747adad04ea8660d9ffce">Swift是一种由苹果公司开发的高级编程语言，用于开发iOS，macOS，tvOS和watchOS等应用程序。它于2014年首次发布，并逐渐取代了Objective-C成为苹果生态系统中的主要编程语言。在这篇文章中，我们将讨论为什么学习Swift是一个明智的决定。</div><div class="notion-text notion-block-8d0395623cf74e68bb80a78d446760e8">Swift易学易用</div><div class="notion-text notion-block-1c556e5c57084ea38fc0144eb595ff1f">相对于Objective-C，Swift是一种被设计成更易于学习和使用的编程语言。Swift不仅有更简单的语法，而且还拥有更直观的编码方式，能够帮助初学者更快地上手。</div><div class="notion-text notion-block-bedbc533029a4d57a2c4855481c8ecbf">Swift拥有强大的功能</div><div class="notion-text notion-block-20a93808a5394a3db14babb8de322a17">Swift是一种开发快速，高效的语言。它拥有众多强大的功能，例如：</div><ol start="1" class="notion-list notion-list-numbered notion-block-5fed6f1a868e4bb3802a3d24f44e8e39"><li>安全性 - Swift使用类型推断来防止类型错误，并采用现代化的语法来避免常见的编程错误。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-943fe6ee12114dd0a238ad878fd41036"><li>高性能 - Swift对于计算密集型的任务而言非常强大，它使用多线程和GPU来改善性能。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-ca6c28e5566047339a3e33637e2fcc6e"><li>易于维护 - Swift的语法和结构提供了一个代码库，使得应用程序的更新和维护变得更加容易。</li></ol><div class="notion-text notion-block-7ae6a14702f4400e99a73a2c7530253f">Swift是未来</div><div class="notion-text notion-block-b98fccc3e8b442ae92be1dc71e552923">Swift是一种新型的编程语言，它以其灵活性、高效性和安全性而被开发，因此，Swift是未来的一部分。随着Swift在其中发挥更大作用的领域的不断扩大，它将成为开发人员不可或缺的一部分，为他们在数字时代中面临的不断变化的挑战提供支持。</div><div class="notion-text notion-block-70e8182b80bb4a3cbd301a7fd13359d6">Swift是开源的</div><div class="notion-text notion-block-4e373472f68f48d69710dcd7fa0763c4">苹果公司已经将Swift变成了一款开源语言，这意味着它可以在不同平台上开发应用程序。这为更多开发者提供了更多机会，并且增加了编写高质量代码的机会。</div><div class="notion-text notion-block-d7bb50dd0c8c49d4abb4877765ebcb8b">结论</div><div class="notion-text notion-block-22b88d0ba9fb41a99bb41ec34c2df7d4">总的来说，学习Swift是一个值得的决定。它是一种易于学习和使用的语言，拥有强大的功能和安全性，被认为是最先进的开发语言之一。认真地学习Swift将给你提供许多机会，让你在开发应用中变得独具匠心。</div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>