<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AI开源工具分享]]></title><description><![CDATA[独立思考，怀疑一切！]]></description><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zkn_CS_DN_2013]]></copyright><item><title><![CDATA[永远怀念左耳朵耗子陈皓——IT界的失去]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/130697126</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/130697126</guid><author>zkn_CS_DN_2013</author><pubDate>Tue, 16 May 2023 08:41:47 +0800</pubDate><description><![CDATA[他在自己的技术博客上分享了大量的技术文章和心得体会，为广大技术爱好者提供了宝贵的学习资源。他的离世不仅是他的家人和亲朋好友的巨大悲痛，也是整个IT界的损失。他的技术热情和开源精神将激励着更多年轻人踏上创新之路，不断推动技术的发展和社会的进步。本文将回顾他的职业生涯和他对IT界的重要影响，以及他离世后的深远意义。陈皓先生的开源贡献也是不可磨灭的。他坚持的分享和合作的精神，将继续激励着更多人积极参与到开源社区中，共同推动技术的创新和进步。人们纷纷提到他对技术的热爱和对开源的坚守，以及他温和而慈善的个人品质。]]></description><category></category></item><item><title><![CDATA[gRPC 与 REST]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129098022</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129098022</guid><author>zkn_CS_DN_2013</author><pubDate>Sat, 18 Feb 2023 11:05:56 +0800</pubDate><description><![CDATA[我们谈到了 REST 的出现。现在让我们深入探讨其核心技，REST 代表 Representational State Transfer。Rest是一种标准化的软件架构风格，是业界经常使用的API。gRPC 使用 protobuf 进行通信。它将proto文件序列化为二进制格式发送给服务器，在服务器端反序列化为原始格式。这就是它与 protobuf 一起工作的方式。gRPC 有不同的通信形式，可以将它们视为 gRPC 的功能。]]></description><category></category></item><item><title><![CDATA[Java 15中的隐藏类是咋回事？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129055470</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129055470</guid><author>zkn_CS_DN_2013</author><pubDate>Thu, 16 Feb 2023 10:09:50 +0800</pubDate><description><![CDATA[hidden … 不能被其他类的字节码直接使用的类，可能不容易理解。一个隐藏类被加载到 JVM 中，当一个类是源代码或字节码格式时，它不能被“隐藏”。该术语只能指加载的类，将它们称为秘密加载的类可能更合适。当一个类以特定方式加载时，它会隐藏起来，以便它在其他代码部分面前保持秘密。保持隐藏并不意味着其他代码不能使用这个类。只要他们“知道”这个秘密，他们就可以。最大的区别是这个类不是“广而告之”的，因为你无法使用名称找到它。当你以创建隐藏类的隐藏方式加载类时，你就拥有对此类的引用。]]></description><category></category></item><item><title><![CDATA[如何检查 Docker 镜像是否存在漏洞]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129040049</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129040049</guid><author>zkn_CS_DN_2013</author><pubDate>Wed, 15 Feb 2023 11:23:09 +0800</pubDate><description><![CDATA[Linux 内核对名称空间的支持主要隔离了应用程序对操作环境的看法，包括进程树、网络、用户 ID 和已安装的文件系统，而内核的 cgroups 为内存和 CPU 提供资源限制。在本文中，我们将创建一个包含 Spring Boot 应用程序的易受攻击的 Docker 映像，安装并使用 Grype 以扫描Docker镜像并修复漏洞。创建一个.grype.yaml文件，您可以在其中排除高严重性的漏洞，并使用标志执行扫描，--config后跟.grype.yaml包含排除项的文件。这是最简单的修复方法，风险很低。]]></description><category></category></item><item><title><![CDATA[Web 应用程序的十大安全漏洞]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129023020</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129023020</guid><author>zkn_CS_DN_2013</author><pubDate>Tue, 14 Feb 2023 11:39:43 +0800</pubDate><description><![CDATA[2021 年 OWASP Top 10 列表列出了 10 个最危险的 Web 应用程序安全漏洞。如果我们将当前列表与 2017 年列表进行比较，我们可以看到列表中仍然存在一些安全漏洞，但位置不同，并且列表中还包含一些新的安全漏洞。下表比较了 2017 年和 2021 年的列表。（2021 年列表中引入的安全漏洞以粗体标出，其余的只是重新排列）]]></description><category></category></item><item><title><![CDATA[Python 异常处理指北]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129007601</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/129007601</guid><author>zkn_CS_DN_2013</author><pubDate>Mon, 13 Feb 2023 13:44:21 +0800</pubDate><description><![CDATA[内置异常很好，但我们的软件项目可能需要自定义异常。Python 允许我们创建用户定义的异常以满足我们的需要。Python 文档指出：所有异常都必须是派生自的类的实例。自定义异常是通过继承 Python的Exception类派生的。passtry:passpasspasstry:else:finally:print()在上面的示例中，我们创建了自己的类，其异常名称为，它继承自Exception超类。我们在其中放置了一些可能会在try块中引发异常的代码，except块是我们的异常处理程序。]]></description><category></category></item><item><title><![CDATA[对ChatGPT的几点质疑]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128993358</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128993358</guid><author>zkn_CS_DN_2013</author><pubDate>Sun, 12 Feb 2023 11:55:00 +0800</pubDate><description><![CDATA[当然，值得指出的是，目前像ChatGPT这样的工具都是通过API提供的，不能离线运行。OpenAI 很容易为希望抓住ChatGPT剽窃行为的教师提供单独的 API. 他们需要做的就是记录所有 ChatGPT 的响应（我相信他们已经这样做了），然后根据日志对学生提交的内容运行标准化的抄袭检测例程。当然，有些人比其他人处理得更好。最大的问题，也是我认为这种策略不受其他 CS 讲师欢迎的原因，是这类项目的评分非常耗费资源，因为它们必须手动评估，这与通常的千篇一律的项目不同在通常自动评分的 CS 课程中分配。]]></description><category></category></item><item><title><![CDATA[chatgpt的原理、竞争和未来]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128982218</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128982218</guid><author>zkn_CS_DN_2013</author><pubDate>Sat, 11 Feb 2023 12:09:24 +0800</pubDate><description><![CDATA[随着其不断发展的能力和日益增长的声誉，很明显，这种有效的语言版本将在基于语言的完全技术的命运中发挥重要作用。在一个例子中，尽管 InstructGPT 接受提示“告诉我克里斯托弗·哥伦布2015 年什么时候来到美国”的前提是真实的，但 ChatGPT 承认问题的反事实性质并将其答案作为假设考虑如果哥伦布在 2015 年来到美国，可能会发生什么，使用有关克里斯托弗哥伦布航行的信息和关于现代世界的事实——包括现代对哥伦布行为的看法。它被认为可以提供准确的信息并引用特定的信息来源——这是ChatGPT所缺乏的。]]></description><category></category></item><item><title><![CDATA[Python - 使用多处理并行处理受 CPU 限制的任务]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128968027</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128968027</guid><author>zkn_CS_DN_2013</author><pubDate>Fri, 10 Feb 2023 12:47:04 +0800</pubDate><description><![CDATA[这是一个令人讨厌的情况，在这种情况下，更旧版本的 Windows（想想 Win 3.1）可能会被冻结，因为每个进程（或应用程序）都必须放弃其执行时间片以将其交给其他程序，因此它们可以继续。软件进程会告诉操作系统创建多个线程，因为它会做一些其他的事情，需要在自己的进程空间中运行，向其他进程报告，等等。是的，将计算拆分为多个线程实际上比串行实现要慢，而且使用的线程越多，速度就越慢。现在，作为基准测试的基础，我将使用以下串行（单线程）因子分解器，它接受要分解的数字列表，并返回一个将数字映射到其因子列表的字典：。]]></description><category></category></item><item><title><![CDATA[单线程和多线程语言的异步 I/O 如何工作？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128954595</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128954595</guid><author>zkn_CS_DN_2013</author><pubDate>Thu, 09 Feb 2023 15:58:23 +0800</pubDate><description><![CDATA[这种计算机和人类之间的交互在人机交互领域进行研究. 更复杂的是，传统上被认为是输入设备的设备，例如读卡器、键盘，可以接受控制命令以例如选择堆叠器、显示键盘灯，而传统上被认为是输出设备的设备可以提供状态数据，例如、碳粉不足、缺纸、卡纸。当然，我们可以将 aio_read() 和它的朋友包装到协程友好的界面中——使用 C++ 的协程，这实际上非常容易，这意味着您可以非常整洁地等待 aio_read()，而且不会大惊小怪。这解决了一致性问题，但是当然，你在线程之间共享的数据越多，你必须放置的锁就越多。]]></description><category></category></item><item><title><![CDATA[Python中的多线程和多处理有什么用？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128933463</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128933463</guid><author>zkn_CS_DN_2013</author><pubDate>Wed, 08 Feb 2023 12:52:56 +0800</pubDate><description><![CDATA[并发计算是一种程序运算的特性，可以被视为是并行运算的进一步抽象，它包涵了时间片这种可以被用来实现虚拟并行运算（pseudoparallelism）的技术，因此在实际的物理运作中，计算过程可能是并行，或非并行的。并行计算是指，当并发计算的程序，在机器平台上同时被执行的状况，因此，并行计算是一种机器运算的形式之一。设计并发程序最大的挑战，在于确保不同运算执行步骤间的交互或是通信，能以正确的顺序进行，同时，也要确保在不同执行步骤间共享的资源，能够正确被访问。创建线程是经济的，因为它共享它们所属进程的代码和数据。]]></description><category></category></item><item><title><![CDATA[多道程序设计和多线程有什么区别？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128916598</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128916598</guid><author>zkn_CS_DN_2013</author><pubDate>Tue, 07 Feb 2023 12:51:49 +0800</pubDate><description><![CDATA[因此，为了避免这种情况，一个事件调度队列与您的 GUI 一起实现，以在单独的线程中处理所有数据处理，同时您的 GUI 保持完整的功能并可以轻松响应您的操作。多任务处理与多道程序设计具有相同的含义，但在更一般的意义上，因为它指的是同时运行多个（程序、进程、任务、线程）。然而，在多道程序（较旧的操作系统）中，一个程序作为一个整体一直运行直到阻塞，而在多任务（现代操作系统）中，时间共享得到了最好的体现，因为每个运行的进程只占用相当一部分 CPU 时间。然后，在适当的时候，调度程序将调用内核线程。]]></description><category></category></item><item><title><![CDATA[多线程和并发有什么区别？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128899435</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128899435</guid><author>zkn_CS_DN_2013</author><pubDate>Mon, 06 Feb 2023 12:06:44 +0800</pubDate><description><![CDATA[因此，如果一个线程执行时间太长或被阻塞，线程的其余部分继续执行，没有任何问题。在其他实现中，例如在所谓的 Actor 模型下：每个 actor 可能是也可能不是不同的线程甚至进程，但是 actor 模型抽象抽象了您的任何多线程，并且您为 actor 编写代码，不知道如何actor 系统多线程（直到您需要对线程使用参数等进行性能调整）。尽管如此，多线程是您使用的许多软件和操作系统的主要组成部分，只是对于高并发而言，它本身并不总是足够好，需要使用额外的处理器和架构模式来完成某些类型的工作负载的极端并发性。]]></description><category></category></item><item><title><![CDATA[在网络安全解决方案中使用数据挖掘技术]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128888910</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128888910</guid><author>zkn_CS_DN_2013</author><pubDate>Sun, 05 Feb 2023 11:06:46 +0800</pubDate><description><![CDATA[它是用人工智能、机器学习、统计学和数据库的交叉方法在相对较大型的数据集中发现模式的计算过程。类似词语“资料采矿”、“数据捕鱼”和“数据探测”指用数据挖掘方法来采样（可能）过小以致无法可靠地统计推断出所发现任何模式的有效性的更大总体数据集的部分。黑客通过基于网络的入侵来达到窃取敏感信息的目的，也有人以基于网络的攻击见长，被人收买通过网络来攻击商业竞争对手企业，造成网络企业无法正常营运，网络安全就是为了防范这种信息盗窃和商业竞争攻击所采取的措施。因此，您可以检测入侵、网络和系统扫描、拒绝服务和渗透攻击。]]></description><category></category></item><item><title><![CDATA[多线程如何在 C 中实现？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128880106</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128880106</guid><author>zkn_CS_DN_2013</author><pubDate>Sat, 04 Feb 2023 11:39:42 +0800</pubDate><description><![CDATA[不是因为它简单（不是）或安全（不是）或一种好的语言（不是），而是因为它是低级的（它允许您编写固件、驱动程序、编译器和操作系统）和无处不在（它被大量使用，并且它的编译器已经存在于地球上几乎每台计算机上）。创建一个或多个线程（从操作系统分配资源），指定一个函数及其参数，您打算将其作为一组单独的命令（线程）执行，以两种模式之一开始执行功能，所谓的“加入”或“分离”，等待所有线程完成，然后收集并处理它们的结果，销毁创建的线程（将资源返回给操作系统）。OOP 并不像吹嘘的那样，此外，您以后总是可以学习这部分内容。]]></description><category></category></item><item><title><![CDATA[初学者最难理解的数据结构和算法概念有哪些？你会如何解释它们？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128863349</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128863349</guid><author>zkn_CS_DN_2013</author><pubDate>Fri, 03 Feb 2023 11:28:41 +0800</pubDate><description><![CDATA[尽管计算机技术自20世纪40年代第一部电子通用计算机诞生以来以来有了令人目眩的快速发展，但是今天计算机仍然基本上采用的是存储程序结构，即冯·诺伊曼结构。这个结构实现了实用化的通用计算机。存储程序结构将一部计算机描述成四个主要部分：算术逻辑单元、控制电路、存储器及输入输出设备。这些部件通过一组一组的排线连接（特别地，当一组线被用于多种不同意图的数据传输时又被称为总线），并且由一个时钟来驱动（当然某些其他事件也可能驱动控制电路）。概念上讲，一部计算机的存储器可以被视为一组“细胞”单元。每一个“细胞”都有一个编号]]></description><category></category></item><item><title><![CDATA[如何创建可靠的 SaaS 会计解决方案：核心特征、架构组件和功能]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128848366</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128848366</guid><author>zkn_CS_DN_2013</author><pubDate>Thu, 02 Feb 2023 13:06:17 +0800</pubDate><description><![CDATA[SaaS 成为许多业务应用程序的通用交付模型，包括办公软件、消息传递软件、工资单处理软件、DBMS 软件、管理软件、CAD 软件、开发软件、游戏化、虚拟化、会计、协作、客户关系管理(CRM) )、管理信息系统(MIS)、企业资源规划 (ERP)、发票、现场服务管理、人力资源管理(HRM)、人才招聘、学习管理系统、内容管理(CM)、地理信息系统(GIS) 和服务台管理。不同货币的付款和交易应以准确的换算和税率进行处理。为了提高您的应用程序的竞争力，您还可以让最终用户关闭您的 SaaS 应用程序的某些服务。]]></description><category></category></item><item><title><![CDATA[听说你也想了解ddos？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128829846</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128829846</guid><author>zkn_CS_DN_2013</author><pubDate>Wed, 01 Feb 2023 11:28:04 +0800</pubDate><description><![CDATA[在计算领域，拒绝服务攻击（DoS 攻击）是一种网络攻击，攻击者试图通过暂时或无限期地中断连接到网络的主机的服务，使其目标用户无法使用机器或网络资源。虽然许多人认为嫌疑人是中国政府，但这不一定是肯定的。当然，保护自己免受任何类型的DDoS攻击的最简单方法是使用托管服务提供商托管您的网站，其中包括分布式拒绝服务保护. 此类提供商通常会保护其整个网络免受DDoS攻击，作为网站或服务器所有者，您需要进行任何更改或调整以保护您的网站免受攻击。由于保密协议，无法透露目标客户的名字，但这次攻击针对的是欧洲的服务器。]]></description><category></category></item><item><title><![CDATA[啥是绿色互联网？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128814673</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128814673</guid><author>zkn_CS_DN_2013</author><pubDate>Tue, 31 Jan 2023 11:45:28 +0800</pubDate><description><![CDATA[其次就是苏联50年代的阿纳托利·伊万诺维奇·基托夫的提出的“统一国家计算中心网络”（“EGSVT”）的国家自动控制系统，后赫鲁晓夫集团提出OGAS用于去史太林化的互联网计划，接着在1970年被认定没有继续资助的必要，这些项目最终均遭失败。它们是天然的环保结构。Google 的算法更新和政策不断变化和改进，因此了解最新的最佳实践和指南以优化您的网站在 Google 网站上的可见度非常重要。总之，虽然 Google 在确定网站在搜索结果中的排名时会考虑许多不同的因素，但最重要的因素是网站内容的相关性和质量。]]></description><category></category></item><item><title><![CDATA[什么是 JIT ？]]></title><link>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128801230</link><guid>https://blog.youkuaiyun.com/zkn_CS_DN_2013/article/details/128801230</guid><author>zkn_CS_DN_2013</author><pubDate>Mon, 30 Jan 2023 14:06:32 +0800</pubDate><description><![CDATA[在计算中，即时( JIT )编译（也称为动态翻译或运行时编译）是一种执行计算机代码的方式，它涉及在程序执行期间（运行时）而不是执行前进行编译。这可能包括源代码翻译，但更常见的是字节码到机器码的翻译，然后直接执行。实现 JIT 编译器的系统通常会持续分析正在执行的代码，并识别代码中从编译或重新编译中获得的加速比编译该代码的开销更大的部分。JIT 编译结合了两种传统的机器代码翻译方法——提前编译 (AOT) 和解释——并结合了两者的一些优点和缺点。粗略地说，JIT 编译将编译代码的速度与解释的灵活性、解释器的开]]></description><category></category></item></channel></rss>