Month: May 2024

《被互联网辜负的人: 互联网的士绅化如何制造了数字不正义》《被互联网辜负的人: 互联网的士绅化如何制造了数字不正义》

内容简介 想象你生活的城市地图上忽然多出来一块空地,规划者邀请有特定背景的人加入,包括你,一起在这块空地上建设议事大厅、居住区、运动场、电影院等设施。大家一起添砖加瓦,几个月间空地变成一个富有生活气息的社区,吸引了越来越多的人申请加入。几年后,随着涌入人群一波接一波而来,规划者提议社区建设新空间,迎合新人群、新需求。你和其他初代居民反对,认为这会破坏社区氛围,但规划者不再理会你们的想法。你发现自己陷入了两难:留下,无法参与决定社区的未来;搬走,带不走你在社区里熟识的邻里、你给社区贡献的东西。 互联网平台有很多工具来吸引、利用和剥削用户,但贡献内容、人气和数据的用户对平台如何运作没有约束力。这是真实发生在互联网近二十年里的事,互联网像遭遇士绅化的老城区,变得更加便捷、光鲜但缺乏多样性,有明确优先服务的人群,极端重视利润而轻视社群,急着把最初搭建社区但已不再有利用价值的人群边缘化甚至扫地出门。本书以美国为例,记录这个过程怎样发生,它的实质危害如何,以及网民可以如何行动。 各方赞誉 《被互联网辜负的人》巧妙地拆除了科技巨头的浪漫化概念,帮助读者理解互联网是一个日益孤立、商品化、被监视和失所的地方。这本易读易懂的书绝对是我所有课程的必读书目。 ——克莱门西亚·罗德里格斯,美国天普大学媒介研究教授 《被互联网辜负的人》令人信服地证明了士绅化及其在失所、孤立和商业化方面的后果已经从城市经济领域转移到了互联网上。这本书揭示了数字世界是如何从DIY反主流文化的空间转变为企业寡头的游乐场的。 ——保罗·杰尔包多,伦敦国王学院数字文化中心主任 杰西·林格尔继承了简·雅各布斯、玛格丽特·米德和丽贝卡·索尔尼特的传统,是美国令人敬畏的新批评声音。 ——希瓦·维迪亚那桑,《谷歌化的反思》作者 ed2k://|file|0E01DA59E7D18DFD1A876A5FE3AB5DDA.pdf|55375063|2C0EDB65F55EF50956F5701453E9DBD6|h=M3HLY3XNYYB46G55JLNLCL2BOICUWNPH|/ ActivityPub 协议支持下的分布式联邦化社区才是最符合大部分人利益的选择。 [...]

有关美国可能禁止TikTok的最新进展有关美国可能禁止TikTok的最新进展

最新进展显示,美国政府对于禁止TikTok的立场仍然坚定。以下是关于美国可能禁止TikTok的最新进展的概述: 尽管美国政府对禁止TikTok持坚定立场,但是目前仍有许多不确定因素,包括法律挑战和出售情况。因此,TikTok在美国是否会消失仍然不确定。 Learn more: 目前,除了美国和印度,还有一些国家也在考虑或已经采取了禁止TikTok的行动。以下是一些国家的情况: 需要注意的是,以上国家的禁止行动可能是临时性的,具体情况可能会随着时间的推移而发生变化。此外,由于TikTok在全球范围内拥有大量用户,禁止措施可能会受到用户和利益相关方的反对和抵制。 Learn more: 除了安全性问题,还有其他原因导致国家考虑禁止TikTok。以下是一些可能的原因: 需要注意的是,不同国家对于禁止TikTok的原因可能有所不同,这些原因可能是单独的或综合的。此外,一些国家可能会采取限制措施而不是完全禁止TikTok。 Learn more: 除了禁止,一些国家采取了其他限制措施来应对TikTok的问题。以下是一些国家采取的限制措施: 这些限制措施的目的是保护数据安全、隐私、道德和心理健康等方面的考虑。 Learn more: [...]

深入浅出:WordPress插件开发基础深入浅出:WordPress插件开发基础

欢迎来到WordPress插件开发的世界!WordPress插件不仅能为您的网站添加各种功能,还能让您在广大的WordPress社区中分享您的创意和技术成果。本文将带您逐步了解WordPress插件的开发基础,从头文件要求到钩子的使用,帮助您快速入门并掌握插件开发的核心要素。 WordPress插件入门 一个WordPress插件其实就是一个带有特定头注释的PHP文件。头注释包含了插件的元数据,例如插件名称和作者等。我们强烈建议为插件创建一个专门的目录,以保持文件整齐有序,便于后续维护。 创建一个简单的插件 注意:你可以使用任意你喜欢的文本编辑器来创建和编辑PHP文件。 保存文件后,您可以在WordPress后台的插件列表中看到您创建的插件。 钩子:Action和Filter WordPress钩子是插件开发的核心。通过钩子,您可以在特定的时机介入WordPress的代码执行流程,而无需编辑任何核心文件。 使用基础钩子 在创建插件时,需要使用以下三个基础钩子: 插件激活时运行,用于设置插件的初始状态,如添加默认设置等。 插件禁用时运行,用于清理插件数据。 插件卸载时运行,用于彻底删除插件数据。 添加自定义钩子 您可以使用do_action()函数添加自定义钩子,其他开发者可以通过这些钩子扩展或修改您的插件。 移除挂载到钩子上的函数 使用remove_action()可以移除挂载到某个钩子上的函数。 WordPress API的使用 WordPress提供了丰富的API,大大简化了插件开发的过程。例如: 插件的发布 在分享插件之前,请选择适当的许可证。推荐使用GNU通用公共许可证(GPLv2+),以确保与WordPress核心许可证兼容。 插件头文件要求 头文件至少需要包含插件名称,并可选择性地包含以下部分: 结语 通过本文的介绍,您应该已经对WordPress插件开发有了基本的了解。插件开发不仅能提升您网站的功能性,还能为广大WordPress用户提供便利。快来动手开发属于您的第一个插件吧! 如需更详细的教程和示例,欢迎访问WordPress插件开发教程手册。 [...]

WordPress 插件开发WordPress 插件开发

学习 WordPress 插件开发是一个非常有益且实用的技能,可以帮助你扩展和定制 WordPress 网站的功能。以下是一个详细的指南,帮助你从零开始学习 WordPress 插件开发。 1. 基础知识准备 在开始插件开发之前,你需要具备一些基本知识: 2. 设置开发环境 为插件开发设置一个合适的开发环境: 3. 了解 WordPress 插件结构 一个简单的 WordPress 插件通常包含以下文件和文件夹: 4. 创建第一个插件 下面是创建一个简单插件的步骤: 4.1 创建插件目录和主文件 在 wp-content/plugins 目录下创建一个新文件夹,例如 my-first-plugin。在该文件夹中创建一个 PHP [...]

无用户名登录的 WebAuthn 实现无用户名登录的 WebAuthn 实现

无用户名登录是一种通过 WebAuthn 进行身份验证的改进方法,其目标是进一步简化用户的登录过程,消除输入用户名的需求。这一特性主要依赖于 Resident Key(驻留密钥)功能,允许认证器在本地存储私钥,从而实现用户身份的无缝识别。下面是这一过程的详细解释: 为什么普通的 WebAuthn 不能实现无用户名登录? 在传统的 WebAuthn 流程中,依赖方(如网站)在验证用户身份时需要提供凭证 ID(Credential ID)给认证器,认证器依赖该凭证 ID 计算出相应的私钥。通常,认证器并不存储私钥,而是通过 Key Warp 等技术加密私钥并将其包含在凭证 ID 中。这意味着认证器可以无限制地生成公私钥对,而无需维护庞大的存储空间。 然而,这也导致了一个问题:在登录时,依赖方必须通过用户名找到对应的凭证 ID,并将其发送给认证器。这就要求用户在验证时必须输入用户名。 Resident Key(驻留密钥)解决方案 Resident Key 功能允许认证器在本地永久存储私钥,从而消除对凭证 ID 的依赖。通过这种方式,认证器可以直接根据依赖方 ID [...]

CBOR (Concise Binary Object Representation)CBOR (Concise Binary Object Representation)

CBOR,全称是简明二进制对象表示(Concise Binary Object Representation),是一种编码方式,常用于物联网(IoT)领域。它的设计目标是提供一种体积更小、更高效的二进制格式,类似于 JSON,但更适合资源受限的环境,如物联网设备。 CBOR 的特点 CBOR 与 JSON 的比较 特性 CBOR JSON 格式 二进制 文本 数据体积 较小 较大 解析效率 较高 较低 自描述性 是 是 适用场景 物联网、嵌入式系统、网络协议等 Web 服务、配置文件等 [...]

Server-Sent Events(服务器发送事件)和WebSocket(网络套接字)Server-Sent Events(服务器发送事件)和WebSocket(网络套接字)

Server-Sent Events(服务器发送事件)和WebSocket(网络套接字)是两种常用的实时通信协议,用于在应用程序中进行快速高效的数据传输。它们在实时体验方面的期望随着时间的推移不断增长,随着技术的改进和对可能性的理解而不断提高。本文将比较这两种流行的实时协议——WebSockets和Server-Sent Event(SSE)API。您将了解到它们各自的功能、优缺点以及何时使用它们。 WebSockets是建立在设备的TCP/IP协议栈之上的一种轻量级传输层,提供了服务器和浏览器之间全双工、低延迟、事件驱动的连接。这对于实时应用程序非常理想,因为在初始的HTTP握手之后,单个WebSocket连接可以处理一个会话的所有消息,无需进一步的握手。当会话结束时,连接应该作为清理的一部分关闭。[2] WebSockets的优点包括: WebSockets的缺点包括: Server-Sent Events(SSE)基于Server-Sent DOM Events(服务器发送的DOM事件)。浏览器可以使用EventSource接口订阅服务器生成的事件流,每当发生新事件时,就会接收到更新。EventSource接受来自特定URL的HTTP事件流连接,并在检索到可用数据时保持连接打开。Server-Sent Events是一种标准,描述了服务器在建立初始客户端连接后如何保持数据传输到客户端。它提供了一种内存高效的XHR流实现。与原始的XHR连接不同,原始XHR连接在连接断开之前会缓冲整个接收到的响应,而SSE连接可以在不累积所有消息的情况下丢弃已处理的消息。[3] Server-Sent Events的优点包括: Server-Sent Events(SSE)是一种基于服务器发送的DOM事件的协议。浏览器可以通过EventSource接口订阅由服务器生成的事件流,每当发生新事件时,浏览器就会接收到更新。SSE使用XHR流传输消息,连接是单向的,适用于只需要从服务器读取数据的应用程序,例如实时股票或新闻滚动。 WebSocket是建立在设备的TCP/IP协议栈之上的一种轻量级传输层,提供了全双工、低延迟、事件驱动的服务器与浏览器之间的连接。WebSocket适用于需要从服务器读取和写入数据的应用程序,例如聊天应用程序或多人游戏。 下面是Server-Sent Events和WebSocket的一些比较: Server-Sent Events: WebSocket: 根据具体的应用场景和需求,可以选择使用Server-Sent Events或WebSocket。如果只需要从服务器读取数据,并且需要自动重新连接的功能,可以选择Server-Sent Events。如果需要双向通信,并且需要更高级的功能和更大的灵活性,可以选择WebSocket。 Learn more: [...]