Debian 在其内核中测试启用 WireGuard
WireGuard.com 安装页面以获取设置详细信息。 WireGuard 是一个 VPN 内核实现,代码行数少,优先考虑性能,配置简单,试图在做到配置简单的同时提供高性能。WireGuard 基于 UDP,数据包在一端加密之后封装在 UDP 包内发送到远程端点,然后解密。...阅读全文
WireGuard.com 安装页面以获取设置详细信息。 WireGuard 是一个 VPN 内核实现,代码行数少,优先考虑性能,配置简单,试图在做到配置简单的同时提供高性能。WireGuard 基于 UDP,数据包在一端加密之后封装在 UDP 包内发送到远程端点,然后解密。...阅读全文
Go 官方刚刚发布了 Go 1.15.7 和 Go 1.14.14,以解决最近报告的安全问题。建议所有用户都更新到以下版本之一(如果不确定哪个版本,请选择 Go 1.15.7)。具体修复的安全问题如下:1、cmd/go:使用 cgo 的包可能会在构建时导致任意代码执行。当 Windows 上使用 cgo 时,go 命令可以在构建时执行任意代码。运行 “go get” 或任何其他构建代码的命令时,可能会发生这种情况。只有构建不受信任的代码(而不执行代码)的用户才会受到影响。除 Windows 用户外,这还可能影响在 PATH 中使用了 “.” 的 Unix 用户,在模块外部或禁用模块模式下运行 “go get”或构建命令。具体 issue:https://github.com/golang...阅读全文
一、SVN切换分支操作介绍SVN(Subversion,下文简称SVN)是一种版本控制系统,它提供了一系列的命令行工具来管理源代码。在代码的开发过程中,可能会需要更改当前工作目录下所处的分支。SVN提供了switch命令供用户进行分支切换操作,该命令只修改当前工作目录下原本的模块链接并不会真的修改目标URL中的版本库。在SVN中,一个版本库可能会有多个分支,我们可以通过checkout命令来创建这些分支,也可以使用branches工具来进行分支的删除、移动、查看等,这些工具都是由SVN提供的。SVN提供了非常完善的分支管理机制,让我们可以方便地在开发过程中,随时随地地更换所处的分支。二、SVN切换分支常用命令及其参数介绍切换分支是SVN的基本操作之一,下面是一些常用的命令及其参数。大家可以...阅读全文
语化的标识符或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角度来看,Go 2的主要目标是“解决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。 大部分主题是介绍和解释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅读博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 查看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文
,FreeOffice 已经扩展到支持早期的 Microsoft 格式 DOC、XLS 和 PPT 以及标准化文档格式 OpenDocument Text(ODT)。 但是 FreeOffice 并不是开源的软件,Jack 认为这便是 Manjaro 的大胆之处。 虽然有人会认为 Linux 上应该使用开源项目,并且开发者需要能够查看到 FreeOffice 的源码,并且在出问题时能够自行调试代码解决,但是这样影响办公效率的事情实际上很少会发生。“Linux 上拥有另一种选择的想法,尤其是使与 MS Office 的无缝协作更加现实的想法,应该被视为 Linux 桌面的巨大胜利。” Jack 分享了他在 Linux 上文档协作方面的困苦,后来其实也是到了需要求助于 Google Docs 之类的线上工具的地步...阅读全文
/Native 已支持用于开发 iOS 应用,这也将是 Kotlin/Native 0.4 的特性之一。虽然对 iOS 开发的支持仍处于早期阶段,但确实已经实现了,这是在所有平台上使用 Kotlin 进行开发的重要一步。 官方还特意展示了利用 Kotlin/Native 开发的两款应用(Spinner app (GitHub)、KotlinConf app (GitHub)),它们都可以运行于 iOS 和 Android 平台。Android 和 iOS 平台共享了不少代码,其中包括大多数图形处理、声音播放和用户输入响应代码。 两款应用都已开源,你可以将它们作为模板,仅使用 Kotlin 构建自己的跨平台移动应用。点此可了解其中一款应用。 IDE 对 Kotlin/Native 的支持 Kotlin...阅读全文
AlmaLinux OS Foundation 宣布了四名新成员的加入,包括 Sine Nomine Associates、BlackHOST、Knownhost 以及最引人注目的 AMD。新成员对 AlmaLinux 的发展方向有发言权,可以投票支持其他成员并被其他成员投票选入董事会。“新成员提供的资源使 AlmaLinux 更接近于与红帽企业 Linux(RHEL)完全持平。”AlmaLinux 是开放源码的、社区驱动的项目,它从红帽企业 Linux (RHEL) 的源码编译而来。AlmaLinux 跟 RHEL 8 完全在二进制上兼容,由 CloudLinux OS 的创建者打造。AlmaLinux OS Foundation是一个非营利组织,旨在为 AlmaLinux OS 社区的...阅读全文
追踪和日志功能,以此为快速调试提供监控数据支持。精细的路由和控制 :Kuma 提供细粒度的流量控制功能,支持四层路由的熔断和健康检查。 Kuma 由 Kong 开发并提供支持,通过简化服务间的通信,以实现使数据随时随地可用的愿景。Kuma 的开发基于 150 余个企业在生产环境中使用服务网格的积累的经验。在未来 Kong 也会继续向 Envoy 贡献代码。 阅读 入门指南 了解 Kuma 服务网格的使用方法。...阅读全文
resize 没有重新计算问题 沟通频道 @用户 优化(删除配置字符时候,仍然计算匹配项) fix markdown link 解析问题 #IJCHL:TODO 列表完成事项分页加载 缺陷修正: 修正了一些 Mac 平台上的 bug, #IHX14: 博文左侧目录树过滤时,最近更新没有展开 #IIABA: 博文修改名称,左侧菜单树收藏博文名称没有同步更新 频道列表 actions 问题,暂时屏蔽掉 游客分享链接修正 #IJ1GZ: 博文目录解析层级不对问题 博文目录解析层级不对问题 #II7F4: 频道点击成员图标查看后会自动弹出下拉框 开源团队协作系统 TMS 是类似 slack barrychat 的团队协作沟通& 博文 wiki& 国际化翻译管理的 web 管理系统。 访问官方代码库:https...阅读全文
和使用 sudo 为默认 – >使用当前密码 – >OK ->使用当前密码 ->OK。 完成以上操作后,接着我们来重启系统,此时它将从你的硬盘驱动器启动。 注意: 我们不建议在任何电脑上永久安装 Kodachi Linux,因为它会将所有的设置保存在硬盘上,这就违背了该系统反取证的初衷!了解更多关于取证内容,请点击 这里 。 Kodachi 是一个基于 Debian 的实时 DVD / USB 操作系统,因此所有软件包,也都基于纯 Debian 存储库。 Kodachi 是 Apache License 2.0 下的开源项目,所有在系统上使用的代码都是纯文本 bash 脚本,并且包含在 ISO 包中,没有编译过的二进制代码, 也没有隐藏的 Kodachi 代码,这些代码都可在 GitHub...阅读全文
在前几天,Go1.16rc1 抢先发布了。结合常规的 28 发布规律,其将会在 2021.02 月份左右发布正式版本。 这次 Go1.16 也带来了一些新特性或变更。那么作为一个 Gopher,想必不能错过这次的更新。 今天这篇文章将会带大家了解一下 Go1.16 的几个需要关注的特性。 废弃 io/ioutil Go 官方认为 io/ioutil 这个包的定义不明确且难以理解。所以 Russ Cox 在 2020.10.17 提出了废弃 io/ioutil 的提案。 大致变更如下: Discard => io.DiscardNopCloser => io.NopCloserReadAll => io.ReadAllReadDir => os.ReadDirReadFile...阅读全文
Zoom 视频通信公司日前公布了 Zoom 5.0 的详细信息,这是对其视频会议客户端的一次重大更新,以解决最近几周发现的许多安全和隐私问题。在即将发布的版本中,用户可以从增加的 AES 256 位 GCM 加密功能中受益,同时还可以选择通话路由。 Zoom 的首席运营官 Oded Gal 表示,Zoom 从整体上考虑用户的隐私和平台的安全性。从 Zoom 网络到 Zoom 功能集到用户体验,所有的一切都要经过严格的审查。在后端,AES 256 位 GCM 加密技术将提升用户数据在传输过程中的安全标准。在前端,Zoom 最兴奋的是会议菜单栏中的安全图标。这将会把所有安全功能,无论是现有的还是新的,都放在会议主持人的前面和中心位置,这将确保用户可以在会议中即时访问重要的安全控制功能...阅读全文
去年GitHub突然宣布开源代码也要受美国出口管制EAR让全球程序员都担心了,不过Linux基金会现在可以确认开源技术不受美国管制了。 软件开发方面,开源技术已经成为全球共识,很多项目都是全球各地的程序员合作开发的,不仅有美国及欧洲程序员,中国不少公司及开发者也是全球开源社区的重要组成,任何一方如果强硬限制,那么整个开源社区就存在断链的风险。 本周,Linux基金会在官网上发表了一份白皮书《了解开源科技和美国出口管制》,中英文双版介绍了美国出口管制的限制,最重要的是这个指南明确了“公开发布给全世界享用的开源技术是不受制于美国出口管制EAR,开源至今仍然是一个最为便利的全球协作的模式。” EAR第734.7条款指出,当可被公众获取且无进一步传播限制时,未被归类为密级事项的『技术』或『软件』属...阅读全文
论 Go 2 了。 开发团队表示,Go 语言如今的目标与 2007 年相同,就是希望使程序员更有效地管理两种规模:生产规模和开发规模,其中又主要针对的是与许多其他服务器交互的并发系统,和许多工程师协调的大型代码库。Go 2 的目标就是解决 Go 1 在规模化方面做的还不好的地方。 据 Russ 估算,目前全球的 Go 开发者至少有 50 万,这意味着有数百万个 Go 源文件和至少十亿行 Go 代码。那些程序员和源代码代表了 Go 的成功,但同时也是对 Go 2 的主要约束。只有在回报非常巨大时,才能让开发者改变原有的旧习惯,学习新用法。Go 2 必须修正 Go 1 的问题,带动所有的 Go 开发者, 也就必须带上所有现有的 Go 源代码,不能让生态系统分裂。 如果把 Go 2 要增加的特性分...阅读全文
的,愚蠢的计算机操作员。 [6]指乐于分享,懂得专研和回报的人。 [7]人必自助而后人助之,而后天助之。出自《周易·系辞上》 提问前需要做的事情 在通过邮件、讨论组、论坛或社区提问之前,请先尝试做以下事情寻找答案: 使用论坛、知乎、百度知道、Quaro的搜索功能; 善用google、百度或其他搜索引擎在网络搜寻; 阅读说明书或者使用手册; 阅读网站上「常见问题解答」(FAQ); 自己检查或做试验; 请教熟悉此问题的朋友; 如果你是程序员,尝试阅读源代码。 提问时,请先表明你已做了上述事情,这将有助于改变你是懒又肥的寄生虫形象,同时给别人一种你不会浪费别人时间的印象。提问时最好再总结一下你从中学到的东西 ,我们喜欢那些善于学习总结的人,也喜欢回答他们提出的问题。 运用搜索策略,比如利用...阅读全文
请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。 102 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 2xx 成功 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。 200 请求已成功,请求所希望的响应头或数据体将随此响应返回。 201 请求已经被实现...阅读全文
本文将会为 Ubuntu、Linux Mint 和 Debian GUN/Linux 用户讲述,如何在它们基于Debian的Linux操作系统上轻松的解压和重新打包.deb文件。 有时候你在生活中会碰到这样的问题,你想要修改.deb文件的部分内容,然后重新打包。下面的例子是刚发生在我身上的真实经历。一位Linux开发者为一个软件构建了一个Debian包(.deb),我也成功地将它安装在我的装载Ubuntu的电脑上。 当我试图从一个Git库中检索一些文件时,它总是卡顿,很显然,该软件并没有正常工作。我知道安装的文件在哪里(/opt目录),所以,我搜查了代码并适当地将部分问题修复。之后,当程序试图检索需要的包时不再卡顿。 所以长话短说,我要将.deb文件解包,替换上我的补丁文件,然后再重新打包...阅读全文
1.37.0 中,还可以使用 Self : Variable 引用枚举变量: impl Coin { fn value_in_cents(&self) -> u8 { match self { Self::Penny => 1, Self::Nickel => 5, Self::Dime => 10, Self::Quarter => 25, } } } 更确切地说,Rust 现在允许通过“type-relative resolution”来引用枚举变量,
多线程处理开发过程中的并发请求。 之前不推荐使用的 flask.ext 已被完全删除。 在调试模式下访问 request.form 的缺失密钥时会显示更有用的错误提醒,以避免开发者混淆常见的错误来源。 app.logger 的行为已大大简化,更容易定制。 test_client 新增用于发布 JSON 数据的 json 参数,Response 对象新增 get_json 方法来在测试中将数据解码为 JSON 。 新增 test_cli_runner ,用于测试应用程序的 CLI 命令。 大量文档已被重写,更清晰明了。这是一项长期持续的工作。 教程和相应的示例已被重写。新的示例使用结构化布局并详细介绍每个方面,以帮助新用户更好地规避常见问题并适应 Flask 。 细节请查阅发行说明...阅读全文
Istio 1.2.0 已发布,距上一个重要版本 1.1 发布过去刚好三个月。更新的内容主要有以下这些。 General 添加了 traffic.sidecar.istio.io/includeInboundPorts 注解以消除服务所有者在部署 yaml 文件中声明 containerPort 的需要。这将成为未来版本的默认设置。为 Kubernetes 集群添加了对 IPv6 的实验性支持 Traffic Management 在多集群环境中改进基于 基于位置的路由改进 ALLOW_ANY 模式 下的出站流量策略。现有端口上未知的 HTTP/HTTPS 主机流量将按 原样转发 。Envoy 访问日志将记录未知流量。添加了对上游服务设置 HTTP 空闲超时的支持改进了对 NONE 模式...阅读全文
Gitlab 官方 宣布 ,将从 12.1 版本开始不再支持 MySQL 数据库。早在 2017 年 7 月,Gitlab 就计划将弃用对 MySQL 的支持。而目前这个决定将从 12.1 版本开始。 官方列出几个 MySQL 不能满足 Gitlab 需求的地方: 无法支持嵌套分组查询(详情)必须使用黑科技来提升 MySQL 对列的限制,这将导致 MySQL 拒绝存储数据MySQL 无法添加 TEXT 类型字段的长度限制MySQL 不支持分区索引还有类似 Geo 为了解决上面这些问题,Gitlab 创建了许多专门针对 MySQL 的代码。 在某些情况下,这导致合并请求的复杂性要高一倍,因为它们必须支持第二个数据库后端。 创建和维护这些代码会消耗我们的循环时间和速度,并且会降低我们的迭代值...阅读全文
subscribers configuration files below. name_servers=127.0.0.1接着重启 NetworkManager:$ sudo systemctl restart NetworkManager 如果你使用了libvirt来管理虚拟机,你会发现虚拟机会断网,重启host即可。 内网DNS咋办?使用 dnscrypt-proxy 固然爽,但是有个小问题,就是如果是在公司里,很有可能就有内网DNS,这就很蛋疼了, dnscrypt-proxy 有一个解决方案,那就是使用 cloaking rules,编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml,把 cloaking_rules 这一行 注释掉,然后编辑 /etc/dnscrypt...阅读全文
图片来自于 Youtube 关于近期关于放弃 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能简单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面向对象的编程语言(C++)。他们依然还习惯使用 C 语言来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数创建优秀和简洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文
SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。 10月25日,SciPy 团队成员 Ralf Gommers 在 Python 官方邮件组发文宣布 SciPy 1.0 终于发布了。 Ralf 称,很高兴宣布 SciPy 1.0 的发布,自从 0.1 版面世 16 年后,1.0 版姗姗来迟。这是一次漫长而富有成效的旅程,期待在未来有更多令人激动的特性。 为什么现在才发布 1.0 版呢? Ralf 认为版本号应当体现出项目的成熟程度,SciPy 是一个成熟且稳定的库,已经在生产环境长期大量使用很久了。从这个角度来说,1.0 版来晚了。 最...阅读全文
Radeon HD 7000 系列图形卡和其他精选 GCN 1.0 / 1.1 产品的用户可以使用 “amdgpu.cik_support = 1 amdgpu.si_support = 1 radeon.cik_support = 0 radeon.si_support = 0” 启动其内核,以使用 AMDGPU 内核默认情况下,该驱动程序也意味着需要 Vulkan 支持,可能的性能改进以及仅享受更现代的代码库。 4.树莓派 VC4 支持 对树莓派 VC4 的支持已经并入到 mainline 内核中。终于添加了对树莓派 4 的图形显示支持,而且 Mesa 20.3 为树莓派4提供了 V3DV Vulkan 驱动支持。 5. 带有UMIP(用户模式指令防护)的SLDT和STR指令仿真 这个简单的解释是...阅读全文
"dns_packet_new" 函数中, 它是一个 dns 响应处理程序组件, 它为本地应用程序提供网络名称解析。 根据星期二发布的一个公告, 当系统试图在攻击者控制的 dns 服务上查找主机名时, 经过精心构造的恶意 dns 响应,可以远程崩溃 " systemd-resolved " 程序。 最终, 大量 dns 响应会溢出目标计算机的缓冲区, 从而使攻击者改写其内存,引发远程代码执行。这意味着攻击者可以通过其恶意的 dns 服务,在目标系统或服务器上,远程执行任何恶意软件。 ubuntu 开发者Chris Coulson在开发规范中这样描述, “直到 233版本的 systemd , certain sizes passed to dns_packet_new in systemd-resolved can...阅读全文
Infrastructure as Code", 基础架构即代码。Terraform 几乎可以支持所有市面上能见到的云服务。具体的说就是可以用代码来管理维护 IT 资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果非常明显:高效、不易出错。 Terraform 提供了对资源和提供者的灵活抽象。该模型允许表示从物理硬件、虚拟机和容器到电子邮件和 DNS 提供者的所有内容。由于这种灵活性,Terraform 可以用来解决许多不同的问题。这意味着有许多现有的工具与Terraform 的功能重叠。但是需要注意的是,Terraform 与其他系统并不相互排斥。它可以用于管理小到单个应用程序或达到整个数据中心的不同对象。 Terraform 使用配置文件描述管理的组件(小到单个应用程序,达到整个数据中心...阅读全文
让我们先探讨什么是基于主机的入侵检测系统。如前所述,入侵检测系统是一种硬件或软件应用程序,可在检测到恶意活动时检测并警告管理员。HIDS主要专注于监视和分析日志文件,以便 基于预定义的策略和一组规则来检测异常和未经授权的更改。换句话说,HIDS与您添加的预先建立的规则一样有效。对于大量存储的日志,提取有意义的信息对于检测异常至关重要。提取的信息应准确。因此,确保这些日志的安全性对于防御日志操纵至关重要。1. OSSECOSSEC是开源安全事件关联器的缩写。这个建立良好且信誉良好的解决方案是OSSEC基金会开发和维护的免费和开放源代码的基于主机的入侵检测系统,这要归功于众多的贡献者。它后来归趋势科技所有。这是一个不断发展的项目,每月下载约5000次,并且具有可扩展性和多平台方面的特点,因为它...阅读全文
Debian 团队宣布 Debian 9 Stretch 在发布时将不太可能会支持 Secure Boot。Debian 9 的代码在今年 2 月冻结,之后开发者的精力转向解决 bug 等问题上。 UEFI Secure Boot 是微软在 Designed for Windows 8 认证时要求 OEM 的产品必须支持,它的设计目的是防止恶意程序潜入到引导进程,用户如果想要在机器上安装替代操作系统,那么该操作系统需要获得微软的有效签名。Debian 团队称,shim 得到了微软签名,但 dak 没有。 开发者表示,虽然 Stretch 在发布时可能不会支持 Secure Boot,但在 Stretch 生命周期内引入 Secure Boot 支持仍然是可能的。...阅读全文
,打开PP助手-越狱系统-/var/mobile/新建一个文件夹命名为aaa 5打开手机终端 6,输入命令su 回车 7,输入密码alpi linux 解压 .deb 及 .tar.xz 包的方法 s_sunnyy的博客 04-21 2898 1. ar -x ***.deb 2. xz -d ***.tar.xz 3. tar -xvf ***.tar tar -zxvf ***.tar.gz Linux下安装软件的几种方法 shun01的专栏 03-25 2万+ 怎么安装应用软件? 我的软件安装在什么地方? 如何删除不要的应用软件? …… 下面,我们就一起来认识一下这些方面的问题。 一、 解析Linux应用软件安装包: 通常Linux应用软件的安装包有三种: 1) tar包,如...阅读全文
如果你看过谍战片、动作片或犯罪电影,你就会在脑海中勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的代码,大量的矩阵中的十六进制数字代码像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切还可以显示在多个显示器上面。 当然,我们这些技术人员很快意识到这完全是胡说八道。虽然我们中的许多人都有双显示器(或更多),但闪烁的数据通常与专注于工作这一目的背道而驰。编写代码、管理项目和管理系统与股票交易不同。我们遇到的大多数情况都需要我们对试图解决的问题进行大量思考,与利益相关者进行良好的沟通,进行一些研究以及组织信息,然后还有占工作量很少的快速打字。 但这并不意味着我们不想和电影中的黑客一样。有时,我们只是想让自己看起来“有效率”。 旁...阅读全文
布。这种分离带来了挑战,包括维护向下兼容性。 由于工具和部署选项的性质,移动持续部署面临着一些特定的挑战。Web 部署则更为容易,因为 Facebook 拥有完整的技术栈和工具。为了解决这些挑战,Facebook 已经构建了一些专注于更快的移动开发的工具和库,包括 Buck 、Phabricator、 Infer、 React 以及 Nuclide 。Facebook 的移动部署是以三层来并发运行。 • 构建:合并到移动主分支上的所有代码都会进行构建,这会针对受影响的所有产品(Instagram、Messenger)并且会跨各种芯片架构。 • 静态代码分析:Linters 和静态分析工具的组合,称为 Infer ,用于检查各种问题,包括资源泄漏、未使用的变量、有风险的系统调用和编码准则违规...阅读全文
,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。 我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器读取。 Debian的变更流程 最近几年,我目前的团队在整个代码库中进行了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地进行这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理解每个组织都不同,但我认为我的很多观点确实适用于Debian。 在Debian中,包的推送必须严格遵守一个文档——叫做Debian策略,还有个程序lintian用来保证该策略的实...阅读全文
什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文
新的技术,特别是在网络和云计算领域。在网络方面,与中国三大运营商,包括中国移动、中国电信、中国联通,还有中兴、华为等开展合作。在云计算方面,Linux 有云原生的一些项目,主要是和 BAT三家大的公司来开展合作。 在Jim 看来,新的企业和机构加入到 Linux 的活动当中,会给 Linux 带来更多的价值。 上周日本丰田宣布在销售最好的产品凯美瑞中使用 Linux 系统。汽车行业的加入,意味着将会对 Linux 内核提出新的要求,这对于为嵌入式系统开发解决方案的厂商来说也是很好的消息。加入 Linux 意味着他们的测试覆盖范围更大了,有更多的人对这个代码进行审议。 “总的来说,我们觉得越多的企业和组织架构加入到 Linux 的阵营,实际上对Linux 的发展是越好的。” (二)谈...阅读全文
引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文
每次项目进度都很紧张、项目发版时间总是一延再延、每个版本bug数量堆积成山、测试期间各种bug总是层出不穷、临近上线发现严重bug,如果项目经理总是被这些问题围绕,那么项目总结迫在眉睫。项目经理如何进行项目总结才能让项目顺利进行,让领导一看就喜欢,今天把经验分享给大家,帮助你做好项目总结。总结的思维模式想写好一份项目总结,总结人员必须具备一定的结构化思维,对问题、数据进行结构分析,且能够通过结构化思维表达出来。结构化思维具备以下四个特点。结论:问题比较多的时候,要进行抽象归纳,做到抓大放小,先解决当前最主要的问题。总结的目的✤对项目进行复盘,发现项目中存在的问题,针对问题找到根本原因并提出解决方案;✤提高项目质量,让项目“健康”前行;✤通过数据衡量当前版本的质量,对项目整体情况进行评估...阅读全文
HTTP header。HTTP header 各个 fields 使用 \r\n 分隔,然后跟 body 之间使用 \r\n\r\n 分隔。解析完 header 之后,我们才能从 header 里面的 content-length 拿到 body 的 size,从而读取 body。 这套流程其实并不高效,因为我们需要读取多次,才能将一个完整的 HTTP 请求给解析出来,虽然在代码实现上面,有很多优化方式,譬如: 一次将一大块数据读取到 buffer 里面避免多次 IO read 读取的时候直接匹配 \r\n 的方式流式解析 但上面的方式对于高性能服务来说,终归还是会有开销。其实最主要的问题在于,HTTP/1.x 的协议是 文本协议,是给人看的,对机器不友好,如果要对机器友好,二进制协议才是更好的...阅读全文
言,方法有所不同:它们的解释器是用 C 语言编写的,可以编译为 WebAssembly。 然后这个解释器编译成的 Wasm 可以用来执行源代码文件,通常以 .py、.rb、.php 等结尾。 一旦编译为 Wasm,任何带有 Wasm 运行时的平台都将能够运行这些解释型语言,即使实际的解释器从未为该平台原生编译过。下一篇文章我们将介绍,如何将 PHP 解释器编译 Wasm ,并打包成 OCI 镜像,并使用内置了 WasmEdge 的 Docker Desktop 运行这个 OCI 镜像,我们也将介绍传统容器与 Wasm 容器的不同之处。关于 WasmEdgeWasmEdge 是轻量级、安全、高性能、可扩展、兼容 OCI 的软件容器与运行环境。目前是 CNCF 沙箱项目。WasmEdge 被应用...阅读全文
Visual Studio Code 刚刚公布了其 2018 发展路线图。开发团队表示,他们通常会先制定目标,然后将工作分解在后续的 6-12 个月时间内。在当前的规划中,主要会从以下三个角度进行改进: Happy Coding: 为新用户和现有用户提供更愉快的编码体验。 Node、JavaScript 和 TypeScript: 为各种语言和框架实现卓越的端到端体验。 A Rich Extension Ecosystem: 提供更丰富的扩展功能,构建良好的生态系统。 各项大致内容(仅供参考) Happy Coding 计划针对以下方面进行改进: Fundamentals:提高启动性能、减少资源/内存消耗、提高可访问性、支持社区贡献的翻译语言包、改善更新体验、提高可维护性等...阅读全文
Ruby app, this was enough.via https://twitter.com/antirez/status/1238132866682359813 Antirez 解释道,选择这么便宜的配置是因为这台主机使用了 Redis 作为持久存储,并且只跑了一个 Ruby 应用(点此查看源码),所以已经足够应对。...阅读全文
读取。用户态进程读取这些数据后,进一步关联 Kubernetes 元数据后推送到存储端。这是整体处理过程。eBPF 的超能力体现在能订阅各种内核事件,如文件读写、网络流量等,运行在 Kubernetes 中的容器或者 Pod 里的一切行为都是通过内核系统调用来实现的,内核知道机器上所有进程中发生的所有事情,所以内核几乎是可观测性的最佳观测点,这也是我们为什么选择 eBPF 的原因。另一个在内核上做监测的好处是应用不需要变更,也不需要重新编译内核,做到了真正意义上的无侵入。当集群里有几十上百个应用的时候,无侵入的解决方案会帮上大忙。但作为新技术,人们对 eBPF 也存在些许担忧,比如安全性与探针性能。为了充分保证内核运行时的安全性,eBPF 代码进行了诸多限制,如最大堆栈空间当前为 512、最...阅读全文
JBoot 是一个基于 JFinal 和 Undertow 开发的微服务框架。提供了 AOP、RPC、分布式缓存、限流、降级、熔断、统一配置中心、Opentracing 数据追踪、metrics 数据监控、分布式 session、代码生成器、shiro 和 jwt 安全控制、swagger api 自动生成等功能。 Jboot v1.7.1 主要更新如下: 新增:redis 添加自定义序列化配置的功能 新增:Jboot.java 添加方法 service(Class clazz, JbootrpcServiceConfig config) 方便获取 rpc service 新增:JbootController 添加 getRawObject() 方便获取 api 传过来的 json 数据...阅读全文
据 phoronix 的报道,Debian 开发者 Mike Gabriel 正在与 UBports 开发者合作,继续维护 Ubuntu Touch 和 Unity 8,以在 Debian 中提供 Unity 8(以及 Mir)软件包。 随着对 Unity 8 桌面环境支持的恢复,以及在平板电脑上没有适用于 Debian 的良好桌面环境,打包 Unity 8 和 Mir 正在为上游 Debian 提供了一个有用的选择。反过来,这也将有助于 Debian 衍生产品将来有望提供 Unity 8 作为桌面环境选项之一。 Mike 解释了选择 Unity 8 的原因,主要是它融合性的桌面功能:仅需一个代码库,即可在手机、平板电脑和桌面上使用。目前,Unity 8 已在 Ubuntu 手机和各种平板...阅读全文
SwitchHosts 是一个用于快速切换本地 hosts 文件的小程序,便于开发人员快速修改测试域名的解析记录。SwitchHosts 基于 Electron 开发,同时使用了 React、Ant Design 以及 CodeMirror 等框架/库,项目主页为 https://oldj.github.io/SwitchHosts/。 SwitchHosts 主界面 SwitchHosts 功能特性 快速切换本地 hosts 文件hosts 文件语法高亮在线 hosts 方案系统托盘图标快速切换macOS: 支持 Alfred workflow 快速切换 下载安装 switchhosts 你可以直接下载源码到本地运行或编辑,或者在下面下载可执行版本: SwitchHosts! 下载地址1...阅读全文
树莓派(Raspberry Pi)微型计算机是备受全球开发者和极客们欢迎的产品,树莓派基金会于去年6月发布了Raspberry Pi 4 Model B,换用了速度更快的CPU,并提供了4GB大内存版本,还引入了USB 3.0,支持双屏4K输出与H.265解码。 今年,树莓派即将迎来8岁生日,为了庆祝,树莓派基金会宣布,2GB内存版的树莓派4B降价,由原价45美元下调至35美元,同时原售价35美元的1GB版本停止发售。而4GB内存版价格保持不变,仍然是55美元。 根据去年底的统计数据,树莓派累计销量已超3000万件。树莓派4B算是一次较为重大的升级,核心处理器为博通BCM2711,采用四核Cortex A72架构,28nm工艺,主频1.5GHz。最高可选4GB LPDDR4内存,并提供千兆...阅读全文
Git 2.26 现已发布,项目贡献者 Taylor Blau 介绍了此版本带来的一些特性上的亮点,包括将传输协议 V2(第二版) 作为默认协议 、一些新的配置技巧以及更新到 git sparse-checkout。 该版本具体更新内容如下: Changes 传输协议V2(第二版)已成为默认协议。继续准备最终对象名称将使用 SHA-256 哈希的工作。继续致力于改进不同子命令的 Bash / CLI 自动完成功能。改进的 fsmonitor-watchman hook 可避免以前版本中的 race 情况。对于 CLI 着色,七种颜色现在具有更亮的颜色选项。解除了 Git 先前使用线程 grep 的限制。Git rebase 现在默认使用合并后端。较低的内存占用量和更好的性能 git...阅读全文
户设计 pipeline 的灵活度,但 graph 框架也同时带来下列缺点: 引入潜在内存安全风险 复杂的代码逻辑,需要大量的测试工作 初学者学习曲线陡峭 总体而言,与传统的 pipeline 模式相比,graph 框架也会出现 tradeoff。使用者需要考虑其业务逻辑的复杂程度,才能有计划地设计出可管理的 graph pipeline。graph 模型更适用于 pipeline 比较复杂的场景。有兴趣的读者可以持续关注后期即将发布的《DPDK Graph Pipeline 框架示例和性能分析》,以更好地理解 DPDK libgraph 的性能和实际用途。...阅读全文
这篇是 Buoyant 的创始人 William Morgan 文章《What Does Zero Trust Mean for Kubernetes?》 的翻译,文章很好的解释了什么是零信任、为什么要实施零信任,以及服务网格如何以最小的代码实现零信任。零信任是营销炒作,还是新的机会,各位看官你怎么看?要点零信任是一种被大量炒作的安全模型,但尽管存在营销噪音,但它对于具有安全意识的组织具有一些具体而直接的价值。零信任的核心是,将授权从“在边界验证一次”转变为“随时随地验证”。为此,零信任要求我们重新思考身份的概念,并摆脱基于位置的身份,例如 IP 地址。Kubernetes 采用者在网络层实现零信任时具有明显的优势,这要归功于基于 Sidecar 的服务网格,它提供无需更改应用程序就可实现...阅读全文
一个用户,一个组,并为您的用户主目录。您的新用户现在可以使用了!您现在可以使用您设置的密码登录。 注 :继续,如果你需要你的新用户访问管理功能。 如何授予用户Sudo权限 如果您的新用户需要执行root权限命令,你就需要给新的用户访问sudo 。 让我们来看看两种方法解决这个问题:将用户预先定义sudo 用户组 ,并且针对每个用户的基础上在指定的特权sudo的配置。 将新用户添加到Sudo组 默认情况下, sudo在Debian系统8配置为完全权限延伸到sudo的组中的任何用户。 您可以看到您的新用户是组与groups命令: $ groups sammy sammy : sammy 默认情况下,新用户仅在自己的组中,该组是在创建帐户时创建的,并与用户共享名称。为了将用户添加到新组,可使用...阅读全文