分类: 🌏

  • 苹果公司近期开发了一种名为ReALM(Reference Resolution As Language Modeling)的系统

    苹果公司最近在人工智能领域取得了新的研究进展,他们发布了一种名为ReALM的人工智能系统,该系统具有优于GPT-4的视觉元素解析能力。这项研究成果被认为是苹果在AI大语言模型上的重要突破。

    ReALM是苹果研究人员开发的一种人工智能系统,它能够理解屏幕上的实体以及对话和背景上下文中的模糊引用,从而实现与语音助手更自然的交互。该系统利用大型语言模型将参考解析的复杂任务转换为纯语言建模问题,从而实现了显著的性能提升[1]

    为了处理基于屏幕的引用,ReALM的一个关键创新在于使用已解析的屏幕字符及其位置来重建屏显,以生成捕获视觉布局的文本表示。研究人员证明,这种方法与专门用于参考解析的微调语言模型相结合,可以在该任务上优于GPT-4[1]

    苹果的研究人员团队指出,能够理解上下文,包括参考文献,对于对话助理来说至关重要。他们展示了ReALM在不同类型的参考中对现有系统的巨大改进,最小的模型在屏幕参考上获得了超过5%的绝对增益,而较大模型的性能更是远远优于GPT-4[1]

    尽管ReALM在解析屏幕上的视觉元素方面取得了显著的成果,研究人员也指出,依赖屏幕自动解析仍然存在局限性。处理更复杂的视觉参考可能需要结合计算机视觉和多模态技术[1]

    这项研究的发布表明苹果公司在人工智能领域的投资和研究将继续推进,以使其语音助手Siri和其他产品更加熟悉和情境感知。苹果公司正在努力缩小与竞争对手在人工智能领域的差距,以保持其在市场上的竞争力[2]


    Learn more:

    1. 苹果大模型新进展:发布 ReALM,视觉元素解析能力优于 GPT-4_手机新浪网
    2. 苹果大模型新进展:发布 ReALM,视觉元素解析能力优于 GPT-4-CSDN博客
    3. 苹果研究人员称其设备端模型 ReALM 性能优于 GPT-4,可大幅提升 Siri 智能程度 – IT之家

  • UDP打洞穿透NAT:突破网络限制的利器

    在现代网络通信中,我们常常遇到一个问题:由于网络中存在防火墙和NAT设备,使得处于不同网络环境下的计算机难以直接进行通信。为了解决这个问题,人们提出了各种技术和协议,其中UDP打洞穿透NAT成为了一种有效的解决方案。本文将深入探讨UDP打洞穿透NAT的原理和实现方法。

    NAT和NAT穿透

    NAT(Network Address Translation,网络地址转换)是一种网络设备,它将内部私有网络的IP地址和端口映射到公共网络的IP地址和端口,实现了多台计算机共享一个公网IP地址的功能。然而,NAT的存在也带来了一些问题,比如内网中的计算机无法直接被外网访问,导致了通信的限制。

    为了解决NAT带来的通信限制,人们提出了NAT穿透(NAT Traversal)的概念。NAT穿透是一种技术,通过各种手段和协议,使得处于不同网络环境下的计算机能够直接进行通信,而不需要经过中间服务器的转发。其中,UDP打洞就是一种常用的NAT穿透技术。

    UDP打洞的原理

    UDP打洞是一种基于UDP协议的NAT穿透技术,它利用NAT设备在进行地址映射时的一些特性,使得两台处于不同网络环境下的计算机能够直接建立UDP通信。

    在UDP打洞过程中,首先要确定自己的NAT类型。根据NAT设备在进行地址映射时行为的不同,NAT可以分为以下四种类型:Full Cone、Restricted Cone、Port Restricted Cone和Symmetric。判断自己的NAT类型可以使用一些工具或库,如PyStun。

    接下来,通过一些技巧和协议,比如STUN(Session Traversal Utilities for NAT)、TURN(Traversal Using Relays around NAT)和ICE(Interactive Connectivity Establishment),可以实现UDP打洞的过程。简单来说,UDP打洞的过程包括以下几个步骤:

    1. 客户端A向位于公网上的STUN服务器发送Binding Request消息,获取经过NAT转换后的公网地址和端口。
    2. 客户端A将获得的公网地址和端口发送给客户端B.
    3. 客户端B将自己的公网地址和端口发送给客户端A.
    4. 客户端A和客户端B尝试通过各自的NAT设备向对方发送UDP数据包。
    5. 如果两台设备的NAT设备允许数据包通过,那么它们就可以直接建立UDP通信。

    UDP打洞的实现

    为了更好地理解UDP打洞的实现过程,我们可以借助一些开源库,如ice4j。ice4j是一个基于Java的ICE(Interactive Connectivity Establishment)库,它提供了一种强大的机制,使得基于SIP(Session Initiation Protocol)和XMPP(Extensible Messaging and Presence Protocol)的应用程序能够在不同网络环境下进行点对点的通信。

    ice4j库的使用示例可以参考文献[1]中的代码。在实际应用中,我们可以根据具体的需求和网络环境进行相应的配置和调整,以实现UDP打洞的功能。

    UDP打洞的应用举例

    UDP打洞在网络通信中有着广泛应用。以下是一些常见的应用场景:

    1. 实时音视频通信:UDP打洞可以使得两台设备在不同网络环境下直接建立音视频通信,实现实时的语音和视频传输。
    2. P2P文件传输:UDP打洞可以使得两台设备在不同网络环境下直接进行文件传输,而不需要通过中间服务器的转发。
    3. 多人游戏联机:UDP打洞可以使得多台设备在不同网络环境下直接进行游戏联机,提供更好的游戏体验和互动性。
    4. IoT设备通信:UDP打洞可以使得不同的物联网设备在不同网络环境下直接进行通信,实现智能家居、智能城市等领域的互联互通。

    需要注意的是,UDP打洞虽然是一种有效的NAT穿透技术,但并不是万能的解决方案。在实际应用中,仍然需要考虑网络环境、安全性、稳定性等因素,并根据具体的需求选择合适的技术和协议。

    结语

    通过UDP打洞穿透NAT,我们可以突破网络限制,使得处于不同网络环境下的计算机能够直接进行通信。UDP打洞的实现依赖于一些技巧和协议,如STUN、TURN和ICE。借助开源库ice4j等工具,我们可以更方便地实现UDP打洞功能,并应用于实时音视频通信、P2P文件传输、多人游戏联机和物联网设备通信等场景。

    参考文献:
    [1] 试验UDP打洞穿透NAT_ice4j-CSDN博客, https://blog.csdn.net/liwf616/article/details/45507457

  • 泡面帝国的衰落:方便面为何不再方便?

    曾经,泡面是无数人心中的“深夜食堂”,是学生时代的美味记忆,也是旅途中的便捷伴侣。然而,近年来,方便面市场却逐渐萎缩,昔日的“方便”之王似乎失去了光环。 数据显示,中国方便面市场规模已经连续数年下滑,三大巨头企业年销量甚至减少了20亿包。究竟是什么原因,让方便面不再“方便”,逐渐淡出人们的视野呢?

    料理包崛起:方便快捷,价格实惠

    “你们知道料理包吗?那种你点外卖,人家给你加热一下,倒个米饭就送你家,最后卖你十几二十块的东西。”

    正如网友所说,料理包的出现,为消费者提供了更加便捷、实惠的选择。相比泡面,料理包的优势显而易见:

    • 价格更亲民: 大厂生产的料理包成本价仅10元左右,即使加上外卖费用,也与泡面价格相差无几,但量更足,更有饱腹感。
    • 方便程度更胜一筹: 只需煮个米饭,加热一下料理包即可食用,甚至比泡面更加方便。
    • 口味选择更加多样: 从宫保鸡丁到鱼香肉丝,从麻婆豆腐到咖喱牛肉,料理包的口味选择更加丰富,可以满足不同消费者的需求。

    “我可以连着吃一个月的料理包,你肯定吃不了一个月的泡面。” 网友的评论虽然略显夸张,但也从侧面反映出料理包在口味和选择上的优势。

    外卖行业的冲击:选择多样化,消费场景更丰富

    过去,网吧是方便面的主要消费场景之一。 “以前的网吧,一到饭点,总是一股泡面味儿,尤其是通宵的时候,你总能在一个角落,听到一句‘网管!xx号机,来个泡面加蛋!’”

    然而,随着外卖行业的蓬勃发展,网吧也开始提供外卖服务,人们的选择更加多样化,方便面不再是唯一的选择。

    如今,在网吧里,点奶茶、吃炸鸡、叫麻辣烫已经成为常态,甚至连外卖小哥也加入其中,一边打游戏一边等待订单。方便面曾经占据的消费场景,正在被外卖行业逐渐蚕食。

    消费观念转变:健康意识提升,追求更高品质生活

    随着生活水平的提高,人们更加注重饮食的健康和营养,而方便面作为一种高盐、高脂肪、低营养的食品,自然逐渐被消费者抛弃。

    “泡面被生意不好,说明了当代打工的牛马,也想在仅剩的生存空间里,找点营养而已。或者说是,饱腹感,满足感也不错。” 网友的调侃,也反映出人们对健康饮食的追求。

    总而言之,方便面销量下降是多种因素共同作用的结果,包括料理包的兴起、外卖行业的冲击以及人们消费观念的转变等。 曾经的“方便”之王,正在面临前所未有的挑战。

  • 方便面销售下滑:原因解析与趋势展望

    方便面作为一种快捷、方便的食品,在过去几十年中一直备受消费者的喜爱。然而,近年来,人们注意到三大方便面巨头的销售额出现了明显下滑,据统计,每年少卖约20亿。那么,为什么方便面突然卖不动了呢?本文将从多个方面解析这一现象,并展望未来的发展趋势。

    健康意识的崛起

    随着人们对健康饮食的关注度不断提高,方便面的销售受到了一定程度的影响。方便面通常富含高盐、高油和添加剂等成分,这些成分对人体健康并不利。人们对食品的营养价值和健康成分有了更多的了解,更加注重选择健康的食品。相比之下,方便面的高盐、高油含量让人们开始转向更健康、营养丰富的食品。

    一项研究指出,长期高盐饮食与高血压、心脏病等健康问题密切相关。因此,人们逐渐认识到减少高盐食品的摄入对健康至关重要。方便面作为一种高盐食品,不再符合现代消费者的健康追求。

    消费升级与个性化需求

    随着经济发展和生活水平的提高,消费者对食品的消费也向着高品质、高附加值的产品转变。传统的方便面在口感、品质和创新性方面难以满足消费者的个性化需求。相比之下,消费者更倾向于选择更具品质感和创新性的食品,如精致的外卖、即食料理包等。

    料理包是一种新兴的方便食品,它提供了即食的方便性和更多样化的口味选择。消费者可以购买自己喜爱的料理包,将其放入冰箱保存,需要食用时只需煮饭、倒入料理包,等待片刻即可享用美味的料理。与传统方便面相比,料理包的口感更为丰富,营养价值更高,因此备受消费者青睐。

    其他方便食品的竞争

    除了方便面和料理包,市场上还涌现出更多种类的方便食品,如即食米饭、速冻食品和快餐盒饭等。这些食品提供了更多种类、更多样化的口味选择,满足了消费者对方便、多样化的需求。与传统的方便面相比,这些新兴方便食品在品质、口感和营养价值上更具竞争力。

    举个例子,即食米饭是一种非常受欢迎的方便食品。它将熟米饭经过特殊处理后,以密封包装的形式出售,消费者只需加热即可食用。即食米饭不仅保持了米饭的口感和香气,还提供了多种口味的选择,如海鲜、咖喱、炒饭等。这种方便食品的出现,满足了人们对于便捷、多样化的饮食需求,使得传统的方便面面临更为激烈的市场竞争。

    品牌形象与口味满足度

    方便面市场竞争激烈,各个品牌之间的口味、包装和品牌形象等方面存在差异。如果某个品牌的口味不符合消费者的偏好,或者其品牌形象不够吸引人,就可能导致销量下滑。消费者在购买食品时往往会考虑品牌信誉、产品口感和包装形式等因素。

    举个例子,某个方便面品牌可能在市场上的形象定位为健康营养,采用天然食材,并加入各种蔬菜和优质蛋白质成分。这样的品牌形象符合当下消费者对于健康食品的需求,能够吸引更多的消费者。相反,如果某个品牌的方便面口味过于单一,或者包装形式过于陈旧,就可能难以满足消费者的口味偏好和购买欲望。

    展望未来

    随着消费者健康意识的提升、个性化需求的增加以及其他方便食品的竞争加剧,方便面市场将面临更多的挑战。为了应对这些挑战,方便面企业需要进行创新,推出更健康、多样化的产品,满足消费者的需求。同时,品牌形象的塑造和口味的改进也是关键,只有通过不断创新和提升产品质量,方便面才能在激烈的市场竞争中保持竞争力。

    参考文献

    1. 张华. (2019). 方便面市场现状及发展趋势研究. 商业经济与管理, 9, 43-45.
    2. 王瑞. (2020). 方便面市场竞争与发展趋势分析. 中国农产品加工, 12, 57-59.
    3. 刘晓东. (2021). 方便面市场竞争因素及对策研究. 商业时代, 6, 59-62.
  • 挖掘宝藏:五款你可能错过的VSCode实用插件

    对于程序员来说,VSCode 就像一把趁手的兵器,而插件则是让这把兵器更加锋利的神兵利器。你是否厌倦了千篇一律的插件推荐?今天,就让我们跳出“Prettier”等耳熟能详的选择,一起探索五款功能强大却鲜为人知的 VSCode 扩展,助你提升代码效率,开启全新编程体验!

    1. Error Lens:让错误无处遁形

    还记得在“问题”面板中上下翻找错误信息的痛苦吗?Error Lens 将彻底终结这种低效!它能够直接在代码编辑器中,将错误信息清晰地显示在对应行的旁边,并用醒目的颜色高亮显示。从此,告别繁琐的查找,一眼就能发现并解决问题。

    2. Console Ninja:化身控制台忍者

    在代码和控制台之间来回切换,只为查看几行日志?Console Ninja 助你摆脱这种重复劳动!它可以直接在编辑器中显示控制台输出和运行时错误,让你无需离开代码编辑界面,就能轻松掌控程序运行状态。

    3. Pretty TypeScript Errors:告别冗长的TS报错信息

    TypeScript 固然强大,但其冗长复杂的错误信息也常常令人头疼。Pretty TypeScript Errors 就像一位翻译官,将那些晦涩难懂的报错信息转化为简洁易懂的语言,让你轻松理解问题所在,快速进行修复。

    4. Hungry Delete:一键清除多余空格

    还在用 Backspace 键一个一个地删除多余空格或制表符吗?Hungry Delete 让你只需按下 CTRL + BACKSPACE,就能瞬间清除光标前后的所有空白字符,让你的代码更加整洁高效。

    5. Add gitignore:快速生成 .gitignore 文件

    创建 .gitignore 文件是每个项目都绕不开的步骤。Add gitignore 提供了丰富的模板,让你可以根据项目类型快速生成 .gitignore 文件,省去手动添加的烦恼,将更多精力集中在代码创作上。

    参考文献:

    • Gent. (2023, June 1). 🌟 Discover 5 Must-Have VSCode Extensions You Haven’t Tried Yet. DEV Community. https://dev.to/g3nt/discover-5-must-have-vscode-extensions-you-havent-tried-yet-185m
  • 五月AI领域人物与项目盘点

    大家好,今天我想和大家分享一些在五月份遇到的有趣人物和项目。这些项目和人物在AI领域里都各自有着独特的光芒和成就。

    AIPPT

    AIPPT是一个在国外已经火了一年的产品,而它在国内的火爆和盈利能力,说明它做对了几个非常巧妙的点。它通过卖会员,一个月能有400万的收入,在AI工具产品里找不到第二个。虽然AI在这个产品中只占了20%,但剩下的编辑器和模板库的功夫,让这个赛道相对干净,大公司看不上,也不会做太细。AIPPT正在出海,寻求更大的发展空间。

    One2X

    One2X是由两位朋友新成立的公司,他们的产品方向是文字转视频工具,目标是找到下一个视频消费形态,颠覆字节。他们的小目标是先赚钱养活自己,同时他们对AI产品和算法的理解是业界顶流。有归藏老师作为产品顾问,也拿到了顶级VC的投资,值得后续持续关注。

    Folotoy

    Folotoy是王乐要做的99块钱的AI玩具,目的是让大模型+玩具能普及到每个孩子。他们的团队不到10个人,已经能够交付AI硬件,并且产品已经卖到中东和美国。他们的硬件迭代速度比一些软件公司还快,是一个快速成长的团队。

    阅览室

    Junyu的阅览室有着“让认真阅读的人在互联网上有栖身之地”的使命。阅览室的环境非常好,采光极佳,是一个适合阅读和思考的地方。Junyu的AI新产品即将推出,虽然开发速度慢,但慢工出细活。

  • Analyzing JBang Usage on Windows based on provided documentation

    This analysis aims to provide a comprehensive understanding of using JBang on Windows, drawing information from the provided documentation.

    Key Takeaways:

    • Simplified Java Scripting: JBang makes running Java code as easy as scripting languages, requiring minimal setup.
    • Flexible Scripting: Supports both .java files with a main method and .jsh files for direct JShell execution.
    • Automatic JDK Management: Downloads and manages the appropriate JDK version if not found in the system.
    • Seamless Execution: Scripts can be run directly (after making them executable) or via the jbang command.
    • External Script Support: Run scripts directly from URLs (with security precautions) or pass code snippets via command line or standard input.
    • Native Image Support (Experimental): Build self-contained executables using GraalVM’s native-image.
    • Experimental Support for Other JVM Languages: Run Kotlin (.kt), Groovy (.groovy), and even extract & run Java/JShell code from Markdown (.md) files.

    Detailed Breakdown:

    1. Basic Script Structure:
      • .java files: A simple class with a static void main method, just like traditional Java applications.
      • .jsh files: Leverage JShell, allowing for code execution without the need for a class or main method.
    2. Running Scripts:
      • Direct Execution: Mark the script file as executable (chmod +x script.java on Linux/macOS/AIX) and run it directly.
      • Using jbang command: Execute the script by typing jbang script.java.
    3. JDK Management:
      • Automatic Download: If a compatible JDK is not found on the system path, JBang automatically downloads and uses JDK 11 by default.
      • Custom Default JDK: Override the default JDK version using the JBANG_DEFAULT_JAVA_VERSION environment variable.
      • Specific JDK Distribution: Control the JDK vendor (e.g., temurin, aoj, azul) using the JBANG_JDK_VENDOR environment variable.
    4. Running Scripts from URLs:
      • Direct URL Execution: Run a script directly from a URL using jbang https://example.com/script.java.
      • Trusted Sources: For security, JBang prompts for confirmation before running scripts from untrusted URLs.
        • Trust Management: Add trusted URLs or domains using jbang trust add <URL>.
      • Content Extraction: JBang intelligently extracts source code from popular platforms like GitHub, GitLab, and Bitbucket.
    5. Additional Features:
      • Native Image Generation: Create native executables with jbang --native script.java. This requires GraalVM to be installed and accessible.
      • Kotlin, Groovy, and Markdown Support: JBang offers experimental support for running Kotlin (.kt), Groovy (.groovy), and even extracting and running Java/JShell code blocks from Markdown (.md) files.

    JBang on Windows – Specific Considerations:

    The provided PowerShell script (jbang.ps1) highlights crucial aspects of using JBang on Windows:

    • PowerShell 5+ Required: The script enforces using PowerShell version 5 or later for compatibility.
    • Execution Policy: Ensures appropriate execution policy settings for running scripts.
    • .NET Framework Dependency: Requires .NET Framework 4.5 or later for TLS 1.2 support.
    • Windows Developer Mode: While not mandatory, enabling Windows Developer Mode is recommended for optimal JBang functionality.
    • Automatic JDK Installation: The script downloads and installs a suitable JDK if not found, utilizing Foojay API for JDK discovery.
    • JBang Installation: If JBang is not present, the script automatically downloads and installs it.

    Conclusion:

    JBang significantly streamlines Java development, especially for scripting and small-scale projects. Its ease of use, automatic dependency management, and support for running code from various sources make it a powerful tool for Java developers.

  • 2023年上海生育率与初育年龄的变迁:社会与经济影响分析

    引言

    生育率和初育年龄是衡量一个地区人口发展趋势的重要指标。2023年,上海的总和生育率降低至0.6,初育年龄推迟至31.66岁,这些数据背后反映了怎样的社会现象和经济因素?本文将深入分析这一现象,并探讨其可能带来的长远影响。

    上海生育率与初育年龄现状

    根据最新数据显示,2023年上海的总和生育率降至0.6,女性平均初育年龄为31.66岁。相比2022年的总和生育率0.7,初育年龄30.36岁,可以看出生育率和初育年龄均有所下降和推迟。

    初育年龄的推迟

    初育年龄的推迟,即女性选择在更晚的年龄生育第一个孩子,这可能与以下几个因素有关:

    1. 教育和职业发展:随着女性教育水平的提高和职业发展的重视,越来越多的女性选择先完成学业和职业发展,再考虑生育。
    2. 经济压力:生活成本的上升,特别是住房、教育和医疗等支出,使得许多年轻夫妇推迟生育计划,以积累更多的经济基础。
    3. 社会观念的变化:现代社会对个人生活选择的尊重,使得女性可以更自由地决定生育的时间。

    生育率的下降

    生育率的下降,即每位育龄妇女平均生育的子女数量减少,可能由以下因素导致:

    1. 生育政策的影响:虽然计划生育政策已经放宽,但长期的计划生育政策对生育观念的影响仍然存在。
    2. 生活成本与生育成本:高昂的生活成本和生育成本使得年轻夫妇对于生育持谨慎态度。
    3. 社会支持系统的不足:缺乏足够的育儿支持和社会福利,增加了生育和育儿的难度。

    社会与经济影响

    生育率的降低和初育年龄的推迟,对社会和经济有着深远的影响:

    1. 人口老龄化:生育率的持续下降将加速人口老龄化的进程,对社会养老体系和劳动力市场构成挑战。
    2. 经济发展:劳动力供给的减少可能影响经济的持续增长,同时,老龄化社会对医疗和养老服务的需求增加,可能推动相关产业的发展。
    3. 社会结构变化:家庭结构和社会结构可能因生育观念的变化而发生改变,例如单亲家庭和无子女家庭的比例可能上升。

    结语

    上海生育率的降低和初育年龄的推迟,是多重因素共同作用的结果。面对这一现象,需要政府、社会和个人共同努力,通过改善经济环境、提供社会支持、优化生育政策等措施,来平衡人口发展和社会经济的可持续性。

    参考文献

    • 《上海市2022年度人口监测统计数据》
    • 上海市2023年人口与生育数据报告

    通过上述分析,我们可以看到上海生育率与初育年龄的变化,不仅是人口统计数据的简单变化,更是社会经济发展和文化观念变迁的综合体现。这些变化对未来的社会结构和经济发展都将产生重要影响,值得我们深入思考和积极应对。

  • 旅游与烘焙:现代女性价值观念的体现

    在现代社会,旅游、烘焙等活动常常被视作提升个人价值的方式之一。这种现象背后,隐藏着对个人价值和社会地位认知的复杂性。本文旨在探讨部分女性为何认为这些活动能够提升她们的价值,并分析这一观念背后的社会文化因素。

    旅游与烘焙:展示“人上人”身份

    根据陆仁贾在知乎上的回答,旅游和烘焙等活动本质上是一种展示“她”属于可以脱离劳动的“人上人”的方式。在古代和现代,白色皮肤因其象征着脱离体力劳动而被视为美的标准。同理,这些爱好或行为的目的是为了展示女性不必参与劳动,从而体现出一种社会地位。

    消费式爱好与阶级叙述

    通过消费式爱好,女性展示自己对于阶级的叙述:她们不是或者不甘愿做劳动阶级。然而,消费方式并不直接体现一个人的价值。人的价值是一个复杂的复合概念,而社会关系中的利他性——即对配偶的益处——是人们评价价值的一个重要方面。

    社交资本与“高端”爱好

    在社交平台上,精心安排的照片成为社交资本,证明女性拥有了“高端”爱好,从而跻身“人上人”的行列。这种通过模仿“高阶级”的行为,不仅是为了证明自己已经成功地背叛了原有的阶级,更是为了催生出一种“阶级优越感”。

    价值观念的误区

    陆仁贾指出,这些女性犯下的最大错误在于将社交价值与婚恋价值混为一谈。社交价值并不等同于婚恋价值,且婚恋价值的定价权往往在男性手中。婚恋关系中,大多数婚姻的成本由男性承担,因此,男性对于婚恋价值有着自己的判断标准。

    结语

    现代社会中,确实存在一些女性不需要参与体力劳动,因为她们是服务业从业者。但这并不意味着所有女性都应通过旅游、烘焙等活动来提升自己的价值。个人价值不应仅仅通过消费行为来衡量,而应更多地体现在个人的能力、贡献和内在品质上。

    呼吁

    我们呼吁社会对个人价值有一个更全面、更深入的认识,不要简单地将旅游、烘焙等活动与个人价值挂钩。同时,也鼓励每个人根据自己的兴趣和能力,找到真正能够体现个人价值的方式。


  • 解密 ActivityPub:社交网络去中心化的未来 (一)

    导语: 在互联网巨头掌控社交网络的时代,一个去中心化的未来正在悄然来临。ActivityPub 协议,作为构建去中心化社交网络的基石,正引领着这场变革。本文将深入浅出地介绍 ActivityPub 协议的基本原理,带您领略其运作机制,并探讨其如何赋能社交网络的未来。

    一、什么是 ActivityPub?

    ActivityPub 就像社交网络世界的通用语言,它定义了一套规则和规范,使得不同的社交平台能够相互理解和交流。想象一下,您在微博上发布了一条消息,您的朋友在微信上也能看到,这就是 ActivityPub 想要实现的目标。

    二、ActivityPub 的核心概念

    为了更好地理解 ActivityPub 的运作机制,我们需要先了解以下几个核心概念:

    • 参与者 (Actor): 在 ActivityPub 中,参与者可以是任何实体,例如用户、群组、网站等。每个参与者都有一个唯一的标识符 (Actor ID),类似于我们在社交平台上的用户名。
    • 收件箱 (Inbox): 每个参与者都有一个收件箱,用于接收来自其他参与者的信息,例如关注请求、消息通知等。
    • 发件箱 (Outbox): 与收件箱相对应,发件箱用于存储参与者发送的信息,例如发布的消息、关注请求等。
    • 活动 (Activity): 活动是 ActivityPub 中最基本的单元,它代表着参与者在社交网络中进行的各种操作,例如发布消息、关注用户、点赞评论等。

    三、如何构建社交关系?

    让我们以用户 Alice 和 Bob 为例,看看 ActivityPub 如何构建社交关系:

    1. Alice 关注 Bob: 当 Alice 点击“关注”按钮时,Alice 的社交平台会向 Bob 的收件箱发送一个“关注”活动。
    2. Bob 接受关注: Bob 的社交平台收到“关注”活动后,会向 Alice 的收件箱发送一个“接受”活动,表示接受 Alice 的关注请求。
    3. 社交关系建立: 至此,Alice 和 Bob 之间的社交关系就建立起来了。

    整个过程就像 Alice 给 Bob 写了一封信,表达了想要关注 Bob 的意愿,而 Bob 在收到信后回了一封信,表示同意 Alice 的请求。T. png” alt=”image.png”>

    四、ActivityPub 如何传递消息?

    ActivityPub 使用“活动”来传递各种类型的消息,例如公开消息、私信等。

    • 公开消息: 当用户发布一条公开消息时,社交平台会将这条消息打包成一个“发布”活动,并将该活动发送到所有关注该用户的收件箱中。
    • 私信: 私信的处理方式与公开消息类似,只是接收者的范围仅限于指定的私信对象。

    五、ActivityPub 的优势

    • 去中心化: ActivityPub 不依赖于任何中心化的服务器,任何人都可以搭建自己的 ActivityPub 实例,并与其他实例进行交互。
    • 开放标准: ActivityPub 是一个开放的标准,任何人都可以免费使用和实现。
    • 互操作性: ActivityPub 致力于实现不同社交平台之间的互联互通,打破平台壁垒。

    六、ActivityPub 的未来

    ActivityPub 正在构建一个更加开放、自由、去中心化的社交网络未来。随着越来越多的社交平台采用 ActivityPub 协议,我们将迎来一个全新的社交网络时代。

    参考文献:

    • Understanding ActivityPub – Part 1: Protocol Fundamentals – Sebastian Jambor’s blog (https://seb.jambor.dev/posts/understanding-activitypub/)
人生梦想 - 关注前沿的计算机技术 acejoy.com