InfraPub 为您找到相关结果 236

使用 MongoDB 之前应该知道的 14 件事

本文作者从事数据库相关工作接近四十年,最近开始使用 MongoDB。在开始使用 MongoDB 之前,作者希望有些事情自己已经知道。根据一般经验,对于数据库是什么以及它们能干什么,人们会有先入为主的认识。为了给他人提供方便,本文列出了一些常见的错误。 本文要点 即使 MongoDB 没有强制要求,设计一个模式还是至关重要。 类似地,在设计模式及访问模式时设计好索引。 避免大对象,尤其是大数组。 谨慎对待 MongoDB 的设置,尤其是关乎安全和稳定性时。 MongoDB 没有查询优化器,因此,对于如何安排查询操作的顺序,你必须格外小心。 一个无需身份验证的 MongoDB 服务器 很遗憾,MongoDB 在安装时默认不启用身份验证。在只从本地访问的工作站上,这没什么不好。但是,由于...阅读全文

Git 介绍与使用详解

的 Git 仓库。 3.1在现有目录中初始化仓库 如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入。 $git init //初始化项目,将一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件 $git add . //将所有文件添加到暂存区,或者git add * $git commit -m "first commit" //提交到本地仓库 $git remote add origin [email protected]:lingdianguole/spring-boot-practice.git //将本地仓库关联到远程 $git push -u origin master //提交到远程master 3.2克隆远程仓库...阅读全文

博文 2017-02-25 09:00:27 程序员

DPDK Graph Pipeline 框架简介与实现原理

node。graph 作为调度 node 的全局数据结构,而 node 则是用来封装业务逻辑。 Graph 3 个node; 1 个 source node (源节点)和 2 个 node (非源节点)的 graph 结构 上图显示了具有 3 个节点的 graph 结构,包含以下关键组件: graph_list 存储所有成功的 graph。如果 graph 成功,graph 会被添加到 graph_list 中。与传统的 main loop 设计相比(把函数直接挂载到 CPU 核上),用户可以透过这种管理模式把 graph_list 中的 graph 映射到不同的 CPU 核上。 graph->node_list 每个成功的 graph 中的 node_list 都包含了先前添加到...阅读全文

博文 2023-02-09 07:13:55 掘金

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

博文 2023-01-10 13:46:09 掘金

Kafka 3.0新特性全面曝光,真香!

核心重要参数Controller服务器不管是kafka2还是kafka3当中,controller控制器都是必不可少的,通过controller控制器来维护kafka集群的正常运行,例如ISR列表的变更,broker的上线或者下线,topic的,分区的指定等等各种操作都需要依赖于Controller,在kafka2当中,controller的选举需要通过zk来实现,我们没法控制哪些机器选举成为Controller,而在kafka3当中,我们可以通过配置文件来自己指定哪些机器成为Controller,这样做的好处就是我们可以指定一些配置比较高的机器作为Controller节点,从而保证controller节点的稳健性。被选中的controller节点参与元数据集群的选举,每个...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

最全的 DevOps 工具集合

Jira Jira 是 Atlassian 开发的专用问题跟踪产品,提供了错误跟踪和敏捷项目管理功能。 JetBrains YouTrack YouTrack 是由 JetBrains 开发的,基于浏览器的专用商业软件,融合了错误跟踪器、问题跟踪系统以及项目管理软件。它的卖点是基于查询的问题搜索,拥有自动完成、分批处理问题、自定义问题属性集,以及自定义工作流的特性。 Zendesk Zendesk 可以轻松地从所有渠道跟踪每一个客户问题。目前 Uber 和 Airbnb 等许多公司都在使用 Zendesk Support 作为他们的问题跟踪软件。 源代码控制 源代码控制主要是为了控制资产,减少沟通障碍,赋能团队。目前业内比较常用的 SCM 工具包括 Git、GitHub、GitLab...阅读全文

博文 2021-05-26 14:35:21 博客园

为什么使用 JavaScript 开发物联网?

/S架构变成B/S架构,传统的上位机开发将不复存在。 大量的互联网、移动互联网开发资源和方法应用到物联网,设备、云、人相互之间的联系更加方便。 目前发展 Tessel, 是Tessel是一个针对软件开发者的可连接网络的微控制器。Tessel 的目标是让网站开发者能够轻松玩转物联网。 IoT.js,IoT.js 旨在为物联网提供一个基于 Web 技术的可相互操作的服务平台。IoT.js 的目标是要在资源受限的设备上良好运行。 JerryScript,JerryScript 是一个轻量级的 JavaScript 引擎,它可以运行在受限制的设备上,例如低于64KB RAM、200KBROM的MCU上。 node-red,Node-RED 是 IBM Emerging Technology 团队的...阅读全文

博文 2021-01-28 17:50:12 debian.cn

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

图片来自于 Youtube 关于近期关于放弃 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能简单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面向对象的编程语言(C++)。他们依然还习惯使用 C 语言来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数优秀和简洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文

博文 2021-01-28 17:50:26 debian.cn

Qt5.9发布:如何评价QT

Quick Controls 2的功能增强,还有基于openGL shader cache 对QML进行类型缓存, 以及.qml / .js文件生成的代码和数据结构的缓存的支持。 这些功能将大大提高使用Qt构建的设备的启动速度。 发布新Qt Creator 4.3.0,Quick Designer里面也看以同时看到和编辑qml code了! 作为Qml项目开发者确实立刻感到了方便! 还有新框架将允许Qt团队更容易新版本,包括修补程序和发布次要版本。 引入自动化性能回归测试,使得对Qt的监控与提高加强。 安全方面,Qt 5.9正式支持INTEGRITY RTOS。 确实越来越多的RTOS应用程亟需要更高级GUI框架来满足用户期望呢。 操作系统和硬件方面,Qt 5.9完全同时支持传统的Win32应用...阅读全文

博文 2017-06-02 10:24:32 5.9的变化

专访Docker大牛:Docker背后的真正引擎是Containerd

管理仍然是不容易,我们必须自己的工具来管理,如果可以在Docker Swarm中本地完成,这将是非常好的一次改进。 多主机联网目前使用情况还不错,但我仍然发现了一些小问题。不过,最近很多SDN供应商正在将自己的网络堆栈作为Docker插件实施,这对于使用者来说是件好事。 问:关于Docker生态系统的演变,您如何评价Docker决定 向CNCF 捐赠 containerd runtime ? Chanwit Kaewkasi:我认为这是个非常棒的举动,Docker背后真正的引擎基本上是Containerd,标准化的 container runtime 将会使所有的人都受益。 多集群管理依然不容易。 问:您希望在下一个Docker发行版中看到什么功能? Chanwit Kaewkasi...阅读全文

博文 2017-11-22 10:50:11 debian.cn

可用于企业的三个非主流 Web 服务器

多独特的安全功能。它还使用可读的配置语法,可以在不需要 HTTP 或 CGI 专业知识的情况下使用。 Hiawatha 的优势在于其体积小巧,安全性高,易于安装。它非常适合寻求轻量级替代 Apache 的用户,他们将安全可用性,速度和性能优先于高级功能。 Cherokee Cherokee 是我们这些服务器中第三个取自美洲原住民部落的名字。这个由 Akamai Technologies 工程总监 Alvaro Lopez Ortega 于 2001 年,他想将模块化和轻量化设计的速度和功能结合起来。 Cherokee 已经成为一个可扩展,高性能,用户友好的 Web 服务器,具有较低的内存占用空间和负载平衡设施。其中包括一个称为 cherokee-admin 的基于 Web 的管理界面...阅读全文

博文 2018-05-02 09:27:32 debian.cn

基于Inception & Yearning做SQL审核的实践

./configure make && make install 安装Yearning 2.1 用pip3安装依赖包(txt文件在src目录中) pip3 install -r requirements.txt 2.2 数据库实例yearning 2.3 将该数据库实例的连接信息写入develop.conf。升级请注意:1.0.0发布后,该文件增加了两个属性:ldap_type=1和smtp_port=,如果是cp原有的配置文件覆盖新下载的,要加上这两个配置 2.4 初始化数据库 python3 manage.py makemigrations && python3 manage.py migrate 2.5 添加初始化用户 echo "from core.models import Account...阅读全文

博文 2018-08-13 17:39:45 debian.cn

LXD 3.8 发布,下一代容器管理器

有手动或导入的镜像来改变这一点,仅作为缓存条目存储的镜像不会被复制。 CLI 覆盖默认项目 由于不得不经常使用 lxc 项目切换来在项目之间切换客户端,因此与多个项目进行交互可能会很繁琐。当想要在特定项目中执行的操作是一个简单的操作(如启动容器)时尤其如此。 LXD 3.8 现在在整个命令行客户端都有一个 –project 选项,它允许覆盖特定操作的项目。 ZFS 压缩支持 迁移协议提供了 ZFS 压缩支持。 此外还有大量 bug 修复与其它功能,详情查看 发布公告 。 下载地址:https://linuxcontainers.org/lxd/downloads/ Debian社区网站内容即将同步至腾讯云+社区,邀请大家点击链接,一同入驻。...阅读全文

博文 2018-12-14 10:29:14 debian.cn

Harbor项目发布v1.7 2018圆满收官

目最佳用户,贡献者和合作伙伴颁发社区成就奖。 12月,Harbor 首次登陆 KubeCon 北美大会,项目成员发表了数场演讲,吸引了世界各地的粉丝前来交流。目前,Harbor 项目组每月定期举行社区电话例会,讨论发展路线图,并与国内外的企业及个人建立了广泛的合作关系,社区生态发展得如火如荼。 年近岁末, 经过 Harbor 社区三个多月的不懈努力,Harbor v1.7版本正式发布!新版本带来诸多新功能: · 镜像构建历史 - 用户可查看容器镜像的构建历史和内容; · 镜像复制(retagging)- 提供了在镜像上传至Harbor后重新镜像tag的能力。此功能在CI流水线中提升镜像到生产状态或者通过编程方式重新tag镜像,亦或将特定镜像重新tag或者移动到其它仓库或者项目等场景中特别...阅读全文

博文 2018-12-30 09:35:15 debian.cn

Manjaro Linux的两项大胆举措

的 Manjaro 一直在致力于使 Arch Linux 变得对用户友好,随着新公司的,这方面的能力应该会有所提升。 Manjaro 的另一项重要举措包含在前阵子发布的 18.1 版本 “Juhraya” 中,该版本中的办公文档可以自行选择。系统中预装了 LibreOffice,但是用户可以在安装过程中选择德国软件开发商 SoftMaker 的免费 Office 套件 FreeOffice 2018,或仍然使用 LibreOffice,甚至可以跳过安装任何 Office 套件。 FreeOffice 套件面向那些重视与 Microsoft Office 无缝兼容的用户,它本身使用当前的 Microsoft 文件格式 DOCX、XLSX 和 PPTX。由于 Manjaro 社区的需求...阅读全文

博文 2019-10-05 16:24:38 debian.cn

树莓派4上如何安装 Raspbian Buster

随着 Raspberry Pi 4 主板的问世,了解如何使用Raspbian Buster设置您的操作系统。你的新Pi 4到了邮箱,你已经设置了办公桌,您已准备好安装操作系统。 对于初学者来说,Raspbian为Pi制造商提供了出色的桌面体验。最重要的是,Raspbian Buster是专为树莓派 4的。考虑到这些情况,我们将在 microSD卡上载入这个操作系统,用其启动树莓派。 下载 Raspbian Buster 首先,访问 Raspbian 下载页面,下载最新版 Raspbian Buster 的图像文件。第一个链接 “桌面+推荐软件版” 附带了处理日常需求所需的大部分软件,建议初学者使用。如果你计划在命令行下使用你的Pi,桌面就不需要了,可以选择第三个 Lite 的选项。 下...阅读全文

博文 2020-02-04 19:33:29 debian.cn

以太网技术联盟宣布800千兆以太网规格

的大目标是制定800Gbase-R规范(base-R表示当前媒体上的当前标准系列,base-T和base-C表示前几代)。 与以前的以太网迭代一样,许多技术将被重用和开发。800Bbase-R规范(或800gbe)需要对媒体访问控制(MAC)和物理编码子层(pc)进行新的定义。这些将从 IEEE 802.3bs 标准中 400GbE 的现有规范中重新定义,重新定义为在8条 106gbps 信道上工作。为了兼容性,规范中的其他部分(如前向错误控制)保持不变。 RobStone等技术工作组主席说:“这项工作的目的是尽可能重新利用标准的400GbE逻辑,以一个800GbE的MAC和PC规范,从而为实施多速率以太网端口的用户提供最低的开销成本。”...阅读全文

博文 2020-04-12 15:10:55 debian.cn

分布式 NewSQL 数据库 TiDB

view 时报错的问题 #15867修复 fast analyze handle 列时 panic 的问题 #16080修复 current_role 输出结果字符集不正确的问题 #16084完善 MySQL 连接握手错误相关日志 #15799修复加载审计插件后端口探测活动导致 panic 的问题 #16065修复因 TypeNull 类被错误识别为变长类型,导致 left join 上的 sort 算子 panic 的问题 #15739修复监控 session 重试错误计数不准确的问题 #16120修复在 ALLOW_INVALID_DATES 模式下,weekday 结果出错的问题 #16171修复在集群中存在 TiFlash 节点时,GC 可能不能正常工作的问题 #15761修复...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

如何重启 Kubernetes 中的 Pods

{namespace} 这个方法简单粗暴有效。因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不一致了,便会自动重新 Pod 保持与预期一致。但是如果ReplicaSet 管理的 Pod 对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用命令来删除 ReplicaSet, kubectl delete replicaset {rs_name} -n {namespace} 由于 Deployment 对象并不是直接操控的 Pod 对象,而是操控的 ReplicaSet 对象,而 ReplicaSet 对象就是由副本数目的定义和Pod 模板组成,所以我们也可以通过调整 ReplicaSet 的数量来实现重启,比如先 scale 到 0,然后再 scale...阅读全文

博文 2020-07-13 21:23:30 debian.cn

Linux Kernel 5.10本周末发布 十个功能盘点

能够帮助运行在 Wine/Proton 上的少量游戏,在现代化处理器(AMD Zen 2 或者英特尔 Connon Lake)上能够使用 Store Local Descriptor Table Register 或者 Store Task Register 指令。 6.XFS 文件系统 XFS 文件系统现在支持到 2486 年,克服了此前 Year 2038 的问题。 7.声卡支持 由于开放源代码社区的工作,终于在 Linux 下支持了 Creative Labs SoundBlaster AE-7 声卡。 8.任天堂 Switch 手柄支持 借助新的Nintendo HID驱动程序(另一个开源社区),Linux Kernel 5.10 终于添加了对任天堂 Switch 手柄的支持。任...阅读全文

博文 2020-12-09 10:30:48 debian.cn

2021勒索软件报告:平均支付赎金增长171% 黑客最高要价3000万美元

知道他们可以通过勒索软件赚钱,并且在索要赎金方面变得越发大胆。常见的勒索软件攻击包括勒索软件运营商对数据进行加密,并强迫受害者支付赎金以解锁数据。在双重勒索中,勒索软件运营商会加密并窃取数据,进一步胁迫受害者支付赎金。如果不支付,勒索软件运营商就会将数据公布到泄漏网站或暗网,大部分数据泄漏网站都托管在暗网,而这些托管站点由勒索软件运营商和管理。在新冠疫情下,医疗行业成今年勒索软件最大目标。不法之徒得知医疗机构需要继续营运以治疗新冠患者,无法承担系统被锁定的后果,继而通过勒索软件进行攻击。勒索软件Ryuk在众多勒索软件中尤其猖獗。利用这种手段最多的勒索软件是NetWalker。从2020年1月到2021年1月,NetWalker泄漏了全球113家受害企业的数据(见下图),远远超过了其他勒索...阅读全文

Netty+Nacos+Disruptor自研企业级API网关

程: 1. 搭建环境 首先,我们需要安装Node.js和NestJS CLI,并一个NestJS项目。然后,我们需要安装TypeScript、GraphQL、TypeORM和其他依赖库。 2. 设计数据模型和API 在设计数据模型和API时,我们需要定义GraphQL Schema和TypeORM实体类。为了提高可维护性,我们可以使用代码生成工具进行自动化生成。 3. 实现后端功能 在实现后端功能时,我们需要编写NestJS控制器和服务,并调用TypeORM进行数据库操作。同时,我们需要集成GraphQL,并编写Resolver进行数据查询和操作。 4. 实现前端功能 在实现前端功能时,我们需要编写React组件,并使用Apollo Client调用GraphQL API。同时,我们需要...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

系统解析JDK源码,领略大牛设计思想,JAVA面试必备

境 首先,我们需要安装Node.js和Vue CLI,并一个Vue3项目。然后,我们需要安装Element Plus、Axios和ECharts等依赖库。 2. 设计页面 在设计页面时,我们需要遵循一些基本原则,包括界面简洁明了、布局合理、交互友好等。我们可以使用Element Plus提供的UI组件来构建页面,以及使用ECharts展示数据统计报表。 3. 实现功能 在实现功能时,我们需要编写Vue组件,并调用Axios发送HTTP请求。同时,我们需要使用Vue Router进行路由管理,并使用Vuex进行状态管理。 4. 测试和优化 在完成开发之后,我们需要对应用程序进行测试,确保所有功能都能正常工作。如果有问题或性能瓶颈,我们需要对代码进行优化。 总结 通过这个示例,我们学习了如何...阅读全文

博文 2023-05-27 12:50:27 bianchengyuan123

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多数谷歌员工无需通过重新安装机器,并重新所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并检查所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达数千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

不可变基础设施 (immutable infrastructure) - 云原生定义解析

Your Code: Immutable Infrastructure and Disposable Components”, Chad Fowler, 2013“Phoenix Server”, Martin Fowler, 2012不可变基础设施里的“不可变”非常类似于程序设计中的“不可变”概念。程序设计中不可变变量(Immutable Variable)就是在完成赋值后就不能发生更改,只能新的来整体替换旧的。由于具有这样的特性这种变量可以在并发环境下安全的使用。对于基础设施的不可变性,最基本的就是指运行服务的服务器在完成部署后,就不在进行更改。在过去依赖传统的高可靠性基础设施的时代,服务的可靠性依赖于高可靠性的服务器。然而,这些基础设施具有很高的拥有成本,并且初始化,配置的成本也非常高...阅读全文

Linux下多线程程序为什么消耗大量虚拟内存

] munmap(0x7f53d0000000, 13275136) = 0 [pid 19343] mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f53d04a8000 Process 19495 attached 我检查了一下trace文件也没有发现大量内存mmap动作,即便是brk动作引起的内存增长也不大。于是感觉人生都没有方向了,然后怀疑是不是文件缓存把虚拟内存占掉了,注释掉了代码中所有读写日志的代码,虚拟内存依然增加,排除了这个可能。 灵光一现 后来,我开始减少thread的数量开始测试,在测试的时候偶然发现一个很奇怪的现象。那就是如果进程了一个线程并且在该...阅读全文

博文 2015-01-28 10:35:39 debian.cn

运维的未来:云服务兴起,运维人员会“下岗”吗?

本文作者 Tyler Treat 是一名软件工程师,他认为运维的未来从很多方面来说都跟质量保证(QA)的未来走向相似。未来,运维要使开发者能够通过工具、自动化和流程实现自助服务。传统的运维( Ops)没有消失,只是在重组。 云服务的发展看起来让运维人员“丢”了工作,因为从传统意义上说,从本地(on-premise)转移到云平台意味着运维工作在相当大程度上外包给云提供商。这正应了那个流行词—— “无运维运动”(NoOps),许多人称之为 DevOps 的“继承者”,虽然这个词最近这些日子已经不是那么响亮了。这使得 Amazon 和开发团队的产品——包括基础设施自动化,部署自动化,配置管理,日志管理以及监控和检测——之间出现了隔膜,隔膜虽小,但却至关重要。 事实上,运维的未来从很多方面来说...阅读全文

博文 2021-01-28 17:50:31 debian.cn

成功运作一个开源项目的15个要点

运作开源项目很容易。所有你需要做的就是让你的源代码可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。虽然开源软件是免费的,但它的创作却不是免费的:你需要往项目中投入时间和精力等宝贵资源。 那么,你如何投资这些资源? 1、定义成功 在考虑运作开源项目之前,你需要明确定义成功的意义。这里有很多因素要考虑。只将代码放入可公开访问的存储库就可以了,还是说你想对你的项目做更多?合作与采用对你来说重要吗?你只是为了打造作为一名软件开发者的声誉吗?你对成功的定义是否包括长期的可行性?你想围绕这个项目发展一个社区吗?你关心商业采用吗?你对这些问题的回答可以帮助你确定接下来你需要采纳的建议有多...阅读全文

博文 2017-11-08 09:58:28 debian.cn

Debian 10.8 发布:包括多项安全更新和错误修复

/src:cairo) | 修正图像合成器中掩码的使用 [CVE-2020-35492] | | [choose-mirror](https://packages.debian.org/src:choose-mirror) | 更新镜像列表 | | [cjson](https://packages.debian.org/src:cjson) | 修正cJSON_Minify中的无限循环 | | [clevis](https://packages.debian.org/src:clevis) | 修复initramfs;clevis-dracut。安装时触发initramfs的 | | [cyrus-imapd](https://packages.debian.org/src:cyrus-imapd...阅读全文

博文 2021-02-07 10:57:22 joseph

WebAssembly:无需容器的 Docker (上)

同的源语言可移植的二进制可执行文件。 这些二进制文件可以在各种环境中运行。 它起源于 Web,并得到各大主流浏览器的支持。Wasm 如何在浏览器中工作?浏览器引擎集成了一个 Wasm 虚拟机,通常称为 Wasm 运行时,可以运行 Wasm 二进制指令。 编译器工具链(如 Emscripten)可以将源代码编译为 Wasm 目标。 这允许将现有的应用程序移植到浏览器,并直接与在客户端 Web 应用程序中运行的 JS 代码通信。这些技术能让传统的桌面应用程序在浏览器中运行。现在它们可以在任何装了浏览器的设备上运行。 一些著名的例子包括 Google Earth 和用于计算机视觉的 Open CV 库。Wasm 如何在服务器上运行?除了浏览器,也有可以在浏览器之外运行的 Wasm 运行时,包括...阅读全文

博文 2023-01-03 06:35:56 spider

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.kubeflow.org/docs/components/training/tftraining/)资源,可以轻松上面提到的 TensorFlow 分布式策略。TFJob 可以识别容器化的 TensorFlow 代码中定义的分布式策略,并可以使用一组内置组件和控制逻辑对其进行管理。使得在 Kubeflow 中实现 TensorFlow 的分布式训练成为可能的组件包括: - Chief:组织分布式训练并执行模型检查点。 - Parameter Server:协调异步分布式训练和计算梯度。 - worker:执行学习任务。 - Evaluator:计算和记录评估指标。 上述组件可以在 TFJob 中配置,TFJob 是一个用于 TensorFlow 训练的 Kubeflow...阅读全文

分布式运行时 Dapr 知多少

bindings and triggers (资源绑定及事件触发) Dapr的Bindings与Azure Functions很类似,其是建立在事件驱动架构的基础之上的。通过建立触发器与资源的绑定,可以从任何外部源(例如数据库,队列,文件系统等)接收和发送事件,而无需借助消息队列,即可实现灵活的业务场景。Dapr的Bindings分为两种: Input Bindings(输入绑定):当外部资源的事件发生时,借助输入绑定,你的应用即可通过特定的API:POST http://localhost:/收到外部资源的事件,用于处理特定逻辑。Output Bindings(输出绑定):输出绑定允许你调用外部资源。比如,在订单处理场景中,在订单成功后,可以将订单信息通过Dapr的绑定...阅读全文

译:零信任对 Kubernetes 意味着什么

。2024财年;国防部了零信任参考架构;美国国家安全局发布了一份Kubernetes 强化指南,专门描述了 Kubernetes 中零信任安全的最佳实践。随着这种噪音,零信任无疑吸引了很多营销关注。但尽管有噪音,零信任不仅仅是一个空洞的术语——它代表了对未来安全的一些深刻和变革性的想法。那么具体来说,什么是零信任,为什么它突然变得如此重要?零信任对 Kubernetes 用户意味着什么?什么是零信任?正如所料,零信任从根本上讲是关于信任。它是解决安全核心问题之一的模型:是否允许 X 访问 Y?换句话说,我们是否相信 X 可以访问 Y?当然,零信任中的“零”有点夸张。要使软件正常工作,显然某些东西需要信任其他东西。因此,零信任并不是完全消除信任,而是将信任降低到最低限度(众所周知的最小特权原则)并...阅读全文

WebAssembly:无需容器的 Docker (下)

。优化二进制码Wasm 是一个虚拟指令集,因此任何运行时的默认行为都是即时解释这些指令。 当然,这在某些情况下可能会让速度变慢。 因此,为了通过 WasmEdge 获得两全其美的效果,你可以一个 AOT(提前编译)优化的二进制文件,它可以在当前机器上原生运行,但仍然可以在其他机器上进行解释。要优化的二进制文件,请运行以下命令:wasmedgec --enable-all --optimize 3 \ build-output/php/php-7.4.32/bin/php-wasmedge \ build-output/php/php-7.4.32/bin/php-wasmedge-aot 我们在下面的例子中使用这个 build-output/php/php-7.4.32/bin/php...阅读全文

博文 2023-01-03 06:39:46 spider

Web前端知识体系精简

this this 存在于函数中,它指向的是该函数在运行时被调用的那个对象。在实际项目中,遇到this的坑比较多,因此需要对this作深入的理解。 Function对象还提供了call、apply和bind等方法来改变函数的this指向,其中call和apply主动执行函数,bind一般在事件回调中使用,而call和apply的区别只是参数的传递方式不同。关于call,apply和bind的用户请参考博客:详解JS的call,apply和bind 4、构造函数 new JS中的函数即可以是构造函数又可以当作普通函数来调用,当使用new来对象时,对应的函数就是构造函数,通过对象来调用时就是普通函数。 普通函数的有:显式声明、匿名定义、new Function() 等三种方式。 当通过new来...阅读全文

博文 2021-01-28 17:50:33 debian.cn

Debian的版本号及distributions

release:testing被改名为stable,于是stable指向了新release的code name,同时一个新拷贝被,命名为下一个要release的code name,并成为新的testing,以前的stable被改名为oldstable,于是对应released的code name的版本号(如sarge对应3.1,etch对应4.0)就发布了。 即使是stable distribution仍然不可避免地存在bugs,解决这些bugs的更新包首先被上传到debian archive的stable-proposed-updates目录下作更进一步的测试,Release Team会定期地评价这些更新并决定它们是否可以被包括到stable中,当一批更新被移至stable中后,stable...阅读全文

博文 2021-01-28 17:50:08 debian.cn

Linux:为什么那么多人讨厌 Systemd

。 很多人都想知道systemd什么时候可以停止扩张,笔者也希望得到一个确切的答案。到今天,systemd已经相当流行了,如今各大发行版包括Arch,Debian,Ububtu都已经切换到systemd或正在切换。systemd的反对者们了一个分支——uselessd,本来有望成为一个简单的init程序,但结果还是死了。本来尝鲜安装了systemd的用户,可能没想到自己得到的不仅仅是一个init软件,而是一个如此庞大的软件,不过发行版的维护者越发懒惰,systemd没准会让维护工作变得异常简单。...阅读全文

如何在 Debian 中安装 DHCP 服务器

果你正在使用基于 Fedora 的发行版,请阅读如何在 CentOS/RHEL 中设置 DHCP 服务器。 作者简介: Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin 和 web 开发人员,目前是 TecMint 的内容者,他喜欢用电脑工作,并坚信分享知识。 DHCP 如何工作? 目录...阅读全文

博文 2021-01-28 17:50:25 debian.cn

Chrome浏览器中新增反恶意软件广告功能

谷歌宣布在Chrome浏览器中新增三个安全功能,阻止网站在未经用户或网站所有人同意的情况下悄悄将用户重定向至新的网址。 虽然所有的这三个功能都广受欢迎,不过其中有一个功能有可能让一些恶意广告在行进中消逝,而且可能瓦解恶意软件在未来几个月的进展。 Chrome将拦截内嵌框架重定向 这三个安全功能中最重要的一个功能将出现在于2018年1月末官方发布的Chrome64中。 从v64版本开始,Chrome将会拦截由页面内嵌框架内部加载的代码所触发的URL重定向尝试。多数网站所有人在自己的站点时并不会使用内嵌框架,而内嵌框架通常会出现在通过广告加载的页面上。 恶意广告将使用加载到这些内嵌框架中的JavaScript代码将用户重定向至恶意网站。通过拦截内嵌框架重定向用户,谷歌会从明年开始拦截恶意广...阅读全文

博文 2017-11-18 09:00:06 debian.cn

Node.js Vs. PHP:你应该选择哪一个

PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端请求。但是,这并不意味着PHP 不可以,请看完 Node.js VS PHP 后再决定用谁构建你的网站。 1.性能: 在性能方面,Node.js 显然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文

博文 2017-12-23 23:15:39 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

的acl参数 -R:递归设置acl,包括子目录 -d:设置默认acl 使用样例:一文件test,将其权限修改为777,并查看其默认ACL权限配置 [root@ debian.cn ~]# touch /opt/test [root@ debian.cn ~]# chmod 777 /opt/test [root@ debian.cn ~]# getfacl /opt/test //获得文件的ACL权限 getfacl: Removing leading '/' from absolute path names # file: opt/test //文件名 # owner: root //文件所属者 # group: root //文件所属组 user::rwx //文件所属者权限...阅读全文

Stackstorm 入门介绍

。 工作流就像“原子”动作一样,可在Action库中使用,并且可以手动调用或由规则触发。 包(Packs)是内容部署的单位。 它们通过对集成(触发器和动作)和自动化(规则和工作流)进行分组,简化了StackStorm可插拔内容的管理和共享。 StackStorm Exchange上有越来越多的包可用。 用户可以自己的包,在Github上共享它们,或者提交给StackStorm Exchange. 审计跟踪(Audit Trail)记录并存储手动或自动操作执行的审计跟踪,并存储触发上下文和执行结果的全部细节。 它还被记录在审计日志中,用于集成外部日志记录和分析工具:LogStash,Splunk,statsd,syslog StackStorm 通过包含 sensors 和 actions 的...阅读全文

Java 12 / JDK 12 正式发布

200 MB 还是 200 GB,都将具有相同的暂停时间。 Microbenchmark Suite 微基准测试套件 JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并新的基准测试。 Switch Expressions (Preview) Switch 表达式(预览功能) 扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的 模式匹配(JEP 305) 做好准备。 JVM Constants API JVM 常量 API 引...阅读全文

博文 2019-03-20 12:46:27 debian.cn

PostgreSQL 13 正式版发布

索引所需的整体空间使用率,同时提高了整体查询性能。 PostgreSQL 13 引入了增量排序,即在查询中较早步骤的排序数据可以加速后面步骤的排序。此外,PostgreSQL 现在可以使用扩展的统计信息(可通过CREATE STATISTICS访问)来为带有OR子句和IN/ ANY查找列表的查询改进的计划。 在 PostgreSQL 13 中,更多类型的聚合查询和分组查询可以利用 PostgreSQL 的高效哈希聚合功能,因为具有大型聚合的查询不必完全放入内存。对分区表的查询也得到了性能提升,因为现在有更多的情况下可以修剪分区和直接联接分区。 优化管理 清理(Vacuuming)是 PostgreSQL 管理的一个重要部分,使数据库在更新和删除行后能够回收存储空间。此过程也会带来管理上的...阅读全文

博文 2020-10-04 20:07:23 debian.cn

如何对一个deb包解压、修改、重新打包 全过程

/tmp/oo[/code] 第二种 [code="bash"]ar -vx xx.deb[/code] 这会解压出3个文件debian-binary,control.tar.gz,data.tar.gz 然后再[code="bash"] tar -xzvf data.tar.gz[/code]就可以了... 提取、修改、重建deb包 weixin_34273479的博客 06-24 190 提取、修改、重建deb包 以下皆以fglrx驱动deb包为例,fglrx文件夹用来存放解包后的所有文件,fglrx_8.753-0ubuntu1_amd64.deb为需要修改的deb包 fglrx文件夹 $ mkdir fglrx 解包deb $dkpg-deb -x fglrx_8.753...阅读全文

博文 2021-02-16 11:44:48 CSDN

Go1.16 新特性:一文快速上手 Go embed

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内容的地址,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

博文 2021-02-17 08:44:12 CSDN

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

** 90后创业者杨海坡微比特集团,打造CoinEx ** 微比特集团创始人杨海坡是一位90后创业者。2016年3月,杨海坡投入比特币矿池的开发,一人独立完成了 ViaBTC (Viabtc Technology Limited) 矿池全部代码,并在 两个月后成功上线,这个矿池是全球第一家挖出 BCH 区块的矿池。当前,ViaBTC 不仅是全球第一大 BCH 矿池,也是全球前五大的比特币矿池。 很快杨海坡发现,交易所也是为行业提供资产发行和价值发现的重要角色,是加密行业的核心,于是他决定加入到数字货币交易所的竞争中。 2017年12月,杨海坡成立了 [CoinEx](http://cet.im)。[CoinEx](http://cet.im) 成立不久就以势不可挡之力迅猛发展,2018...阅读全文