代码审计CodeQL
CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与元数据,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。...阅读全文
CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与元数据,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。 GitHub于去年收购了开发CodeQL的公司Semmel,并与其联合成立了GitHub Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台 LGTM,这个平台能够自动化的发现并预警GitHub上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。...阅读全文
都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间,当然,因为像kafka,rocketmq,es这些中间件,写数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的缓存留出几个G。 2.1 线上问题及优化 2.1.1 消息丢失情况 消息发送端: (1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。 (2)acks=1: 至少要等待leader已经成功将数据写入本地log,但是不需要等待所有follower是否成功写入。就可以继续发...阅读全文
在上个月预想的 C++、C、Python 三种候选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度编程语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语言的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文
Redis 6 是有史以来改变最大的 Redis版本,因此即使稳定,也要小心处理,并在投入生产之前对其进行测试,以进行工作量测试。到目前为止,我们从未发现重大问题,但请务必小心。在收集错误报告时,我们将准备尽快发布Redis 6.0.1。 变化如下:除了稳定性之外,RC1和今天之间还有什么变化? 1. 在某些方面对客户端缓存进行了重新设计,尤其是放弃了缓存插槽方法,而只使用键名。在分析了替代方案之后,在其他Redis核心团队成员的帮助下,这种方法最终看起来更好。除此之外,尤其是“广播模式”,我相信它将成为该功能最流行的使用模式之一。 使用广播时,服务器不再尝试记住每个客户端请求的密钥。相反,客户端订阅密钥前缀:每当与该前缀匹配的密钥被修改时,它们就会收到通知。这意味着可广播更多消息(但仅适...阅读全文
谷歌开源了一套代码评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程语言与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 代码评审,也称代码复查,如果一个团队正在使用任务分支工作流,那么在所有代码编写完成并通过自动化测试之后,在代码合并之前,就会启动代码评审。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平,代码评审的所有工具和过程都是为了这个目的而构建的。代码评审对于敏捷团队来说的作用如下: 代码评审共享知识通过代码评审可以更好的进行工作评估代码评审能让你享受休假通过代码评审指导新工程师 既然代码评审要进行众多的检查,那么找一个优秀的评审者就非常重要了。一般对于变更列...阅读全文
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...阅读全文
Go 1.12 正式版发布了,距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样,Go 1.12 保持了 Go 1 的兼容性承诺,预期所有 Go 程序会像之前一样正常编译。 新版本的更新亮点有 TLS 1.3 的初步支持 ,模块(module)支持的提升(目标在 Go 1.13 默认启用 module 模式),支持 windows/arm,以及 提升 macOS & iOS 的前向兼容性。 其中,安全传输层协议 TLS 1.3 比起以往版本,废弃了有安全隐患的 3DES、RC4、AES-CBC 等加密组件和 SHA1、MD5 等哈希算法,带来了更高的性能和安全性。 此外,值得关注的 Go 1.12 的更新内容有: 新版在语言规范方面没做改动;工具方面的一些变动,有:Go 1.12...阅读全文
华为提供了一个基于 CentOS 的企业级 Linux 发行版 EulerOS,华为也发布了一个名为 openEuler 的 EulerOS 社区版。 openEuler 的源代码也一同发布了,源代码可以在 Gitee 找到。它有两个独立的代码库,一个用于存储源代码;另一个作为软件包的源代码,存储有助于构建该操作系统的软件包。 openEuler 基础架构团队分享了他们使源代码可用的经验: 我们现在很兴奋。很难想象我们会管理成千上万的仓库。为了确保它们能被成功地编译,我们要感谢所有参与贡献的人。 openEuler 是基于 CentOS 的 Linux 发行版 与 EulerOS 一样,openEuler OS 也是基于 CentOS,但华为技术有限公司为企业应用进一步开发了该操作系统...阅读全文
双重身份验证有所改进。 高可用的方案也已得到了改进,并新增了"迁移"关闭策略,可以在关闭时将正在运行的服务迁移到另一个节点,类似于 AWS 的宿主机故障迁移方式。 存储上,版本 6.1 已支持 Ceph 和 KRBD 在较新内核上支持的所有功能。 我们有一些值得注意的错误修复,其中之一是 QEMU 监视器超时问题或 corosync 的稳定性改进。发行说明中列出了无数其他错误修复和较小的改进。详情请参考发行说明。 常见问题: 问题1:我可以用 apt dist-upgrade 把 VE 6.0 升级为 6.1 吗?回答:可以放心使用。可以通过GUI界面,或者命令行把 VE 6.0 升级为最新的 VE 6.1,一般执行以下命令即可 apt update && apt dist-upgrade...阅读全文
状态图标等。 LMDE 3 中缺少的某些功能也从 Linux Mint 移植而来。LMDE 4 还将支持 Btrfs 子模块和主目录加密: 引导菜单中的 NVIDIA 驱动 一直以来在某些 NVIDIA 卡上存在 Nouveau(开源驱动程序)兼容性问题,在大多数情况下,人们不得不使用 nomodeset,但是当 Nouveau 根本无法识别芯片组时,完全没有图形显示。LMDE 4 中,在启动菜单中添加了一个新条目,该条目可即时安装 NVIDIA 驱动程序,实时会话和已安装的 OS 均可立即使用: Cinnamon 4.6 显示设置 下一版本的 Cinnamon 将允许选择显示器的频率,这是一个呼声很高的功能。 同时 Cinnamon 4.6 还将引入分数缩放功能。目前,缩放比为 100...阅读全文
Let’s Encrypt 将于 2018 年 1 月开始发放通配证书。通配证书是一个经常需要的功能,并且我们知道在一些情况下它可以使 HTTPS 部署更简单。我们希望提供通配证书有助于加速网络向 100% HTTPS 进展。 Let’s Encrypt 目前通过我们的全自动 DV 证书颁发和管理 API 保护了 4700 万个域名。自从 Let's Encrypt 的服务于 2015 年 12 月发布以来,它已经将加密网页的数量从 40% 大大地提高到了 58%。如果你对通配证书的可用性以及我们达成 100% 的加密网页的使命感兴趣,我们请求你为我们的夏季筹款活动(LCTT 译注:之前的夏季活动,原文发布于今年夏季)做出贡献。 通配符证书可以保护基本域的任何数量的子域名(例如...阅读全文
今天我们发布了Docker CE 17.06,它包含了诸多新特性、优化和bug修复。我们在四月份的DockeCon上公布了Moby项目,Docker CE 17.06是第一个完全构建在它基础上的Docker版本。变更日志中能看到完整的更新列表,我们来看看它的一些新特性。 我们也为这篇文章制作了一个视频版本。 多阶段构建 17.06 CE最大的特性是它的多阶段构建(multi-stage builds),它最初在四月的DockerCon被公布,现在已经达到了稳定版本。多阶段构建能从一个Dockerfile中构建出更加简洁、体积更小的Docker镜像。 多阶段构建通过构建过渡镜像并产生输出。这样就能在一个过渡镜像中编译代码,在最终的镜像中只使用它的输出。例如,Java开发者通常使用Apache...阅读全文
新年伊始,VNote发布小更新v1.11.1。顾名思义,这次更新将会很“小”,主要是修复已知问题。当然,这次更新也有值得大家浪费带宽下载的地方: 1. 更好的中文支持 这一次基本所有界面都已经支持中文了,强迫症表示幸福感来的有点突然。 2. 更好的复制粘贴 如果大家之前使用VNote来编辑,然后在阅读模式将HTML文本复制到其他应用(如OneNote或者邮件客户端)的话,那么这次绝对要更新了。现在VNote支持在阅读模式复制,基本格式无损地粘贴到其他富文本编辑器中,甚至支持文本图片混合复制哦!另外,还提供了无背景复制功能,让你的粘贴更酸爽! 3. 更好的主题 改进了主题,特别是针对暗色主题,让大家用得更舒服! 4. 外部程序支持快捷键 自定义外部程序现在支持快捷键了,从此可以一键打开喜欢的...阅读全文
Bootstrap 4 正式发布后的两个多月,Bootstrap 4.1 发布了。此次更新包括程序修复、文档更新、构建工具更改,以及新增了一些功能。 值得注意的是,自 Bootstrap 4 发布以来,文档地址采用了版本化设置的方式,这意味着每发布一个新的次要版本都会带来一个新的文档地址。今天发布的这个版本也为文档地址提供了新的 URL,getbootstrap.com/docs/4.1/,当然之前的文档地址 getbootstrap.com/docs/4.0/ 仍可正常使用。 主要更新内容如下: 增加了新的自定义范围表单控件 添加了新的.carousel-fade修改器,可以将轮播从水平滑动切换为交叉淡入淡出 为明文下拉项目添加了新的 .dropdown-item-text 增加了新的...阅读全文
Linus Torvalds 今日宣布:期待已久的 Linux 5.0 内核系列,终于在今天迎来了面向公众发布的版本更新。Linux 5.0 内核系列的开发工作,属于两个月前。期间,维护团队一共发布了七个候选发布(RC)版本,完成了一系列的 bugfix 测试工作。 需要指出的是,Linux Kernel 5.0 只是一个引入适度改进的大版本,意味着并没有太多激动人心的地方。当然,Linux Kernel 5.0 还是带来了一些有趣的内容: 比如更新了 AMD GPU 的开源图形驱动程序、支持 FreeSync 自适应刷新率 —— 使用 AMD Radeon GPU 的朋友可以开心匹配 FreeSync 显示器了。此外 5.0 版内核引入了新的感知调度功能,以改善采用 ARM...阅读全文
版RTX 2080显卡是一样的,但是频率最高1230MHz,这个就要比桌面版的1.8GHz+低很多了,毕竟TDP功耗少了170W之多。 值得一提的是,这次GK4曝光的CPU也非常有看点,是酷睿i9-10980HK处理器,8核16线程,基础频率3.1GHz,加速频率4.92GHz,符合Intel之前所说的8核5GHz笔记本处理器,也就是十代酷睿高性能标压版,代号Comet Lake-H系列。 十代酷睿高性能标压版是在3月份上市,那么RTX 20 Super系列移动版显卡也会是在这个时间点上市了。 今年的CES展会上,AMD也发布了7nm工艺的锐龙4000系列处理器,有15W低压版的锐龙4000 U系列及45W高性能版的锐龙4000 H系列,其中旗舰锐龙7 4800H也是8核16线程,到时候就有...阅读全文
: Windows 将在内核中附带 MsQuic,Windows HTTP/3 堆栈也是基于 MsQuic 构建的。Microsoft 365 正在使用 HTTP/3 测试 IIS 的预览版。.NET Core 已在 MsQuic 的基础上在 Kestrel 和 HttpClient 中构建了对 HTTP/3 的支持(在 .NET Core 5.0 预览版中可用)。Windows 中的 SMB 将 MsQuic 用法作为原型。 微软在博客文章中表示,“MsQuic 为许多重要的网络方案带来了性能和安全性的改进。”并称其在线服务从这些性能改进(例如减少尾部延迟和更快的连接设置)中受益最大,“我们的连接将能够无缝切换网络,因为它们可以承受 IP 地址/端口更改的影响。” MsQuic 仍在开发中,当前处于预览状...阅读全文
谷歌开始在其Chrome浏览器中实现对HTTP/3的支持,该公司在一篇博客中宣布。此次更新将带来一些额外的性能改进,主要得益于实现了QUIC作为传输协议。互联网工程任务组(或IETF)早在2015年就推出了HTTP/2,它带来的一大改进就是支持复用。 但是,它采用了TCP作为传输协议,以及TCP中的丢失恢复机制,所以丢失的数据包仍然会造成所有活动事务的延迟。通过采用QUIC,HTTP/3可以进一步改善传输过程,因为丢失的数据包只会影响到直接受其影响的事务。 谷歌是QUIC的最初开发者,但该协议在IETF手中已经有一段时间了,现在IETF版本的QUIC与谷歌内部的QUIC有很大不同。到目前为止,谷歌只支持自己的QUIC实现,而IETF则还在研究其版本,但现在这种情况正在改变。谷歌表示...阅读全文
当 Torvalds 将某些代码标记为“dontuse”,通常表明这个问题比较大。在 5.12 首个候选版本更新中,破坏了交换文件(swapfile)的处理。具体来说,更新后的代码会失去指向 swapfile 开头的正确偏移。用 Torvalds 自己的话来说,“交换还是会发生,但它发生在文件系统的错误部分,最终结果显然是灾难性的”。这样 Linux 内核如果想要将内存中的内容分页到磁盘上的时候,数据就会落在相同磁盘和 swapfile 活跃的分区的随机部分上,而且这不是作为文件,而是作为垃圾直接写入到磁盘的原始扇区。这意味着不仅要覆盖现有文件中的数据,还要覆盖相当大块的元数据,这些元数据的损坏很可能会导致整个文件系统无法挂载和使用。Torvalds 继续指出,如果你根本不使用 swap...阅读全文
实际上比 Apple 的设备更慢,电池寿命更短。 因此,Windows Lite 有明显优势:它有一个新界面,只能运行 Microsoft Store 中的应用程序。它还将能在各种硬件上运行,包括骁龙和 ARM ,这些手机和平板电脑中的常用芯片类型可提供更好的电池寿命和即时启动功能。从目前来看,Windows Lite 直接的竞争对手似乎偏向于 Chrome OS 。但从长远来看,它可视为是基于一种名为 Core OS 的技术的全新 Windows 版本,一款从头开始构建的现代操作系统。 实际上,“很快” 这个词已被许多人用于对 Windows 系统的“嘲讽”。要改变这种状况,微软也确实需要推出新的操作系统了。【编译自:The Week】...阅读全文
每次将 Mac OS X 升级到新版本时,你只能干等着,看进度条慢慢变化,是不是觉得很无奈。最近有用户在 Reddit 中发帖,和其他用户共享了只需一个终端指令就能够让 macOS 升级变得更快。 这名用户表示,自己通过 App Store 升级 macOS 前后通常需要半个小时。macOS 已经内置了一个软件升级实用工具,它能够让系统升级变得更快。而且还支持用户一边升级一边使用设备。 这名用户表示自己通过这个办法升级 macOS 12.6 最新版本时只需要 10 分钟,升级过程中因为需要重启设备,有大约 2 分钟的时间无法使用设备。这名用户在帖子建议使用一下两条命令行即可执行更新: softwareupdate -ia 这个命令会执行安装更新的任务。升级过程时会收到提示,用户需要重启设备...阅读全文
Rancher 2.3 GA版本发布了,据说这是Rancher Labs迄今为止最重要的版本更新。Rancher 2.3是业界首个GA支持Windows容器的Kubernetes管理平台,并正式集成了Istio,还引入了创新的“集群模板”功能以增强企业集群的安全性。 支持Windows容器 通过把Kubernetes的所有优势引入Windows,Rancher 2.3极大降低了企业使用Windows容器的复杂性,并为基于Windows遗留应用程序的现代化提供快捷的途径——无论这些程序是在本地运行还是在多云环境中运行。此外,Rancher 2.3还可以将它们容器化并将其转换为高效、安全和可迁移的多云应用程序,从而省去重写应用程序的工作。 正式集成Istio Rancher 2.3正式完成了对...阅读全文
在去年年初,SUSE 的开发者向 Linux 内核提交了一个 v2 补丁,该补丁将 ReiserFS 文件系统标记为已弃用,并将会在 2025 年从内核中正式删除它。删除的原因主要是过去十多年该文件系统都不再活跃,并且在现代内核的生产用例中也不太可能再使用。基于差不多的原因,日前开发者也开始着眼讨论 Journaled File-System(JFS)文件系统是否还应该在内核中继续保留的问题。内核开发者 Christoph Hellwig 在邮件列表中表示:不久前,我们已经弃用了 ReiserFS,并计划将其删除。看着 JFS 中的代码,我想知道我们是否也应该这样做。虽然 JFS 不像 ReiserFS 那么复杂,但它的使用率也很低,而且从未成为任何主要发行版中的默认文件系统。1990...阅读全文
2017年AMD要杀回高性能处理器市场了,明年Q1季度首发8核16线程的桌面版Zen处理器,接着还有32核64线程的Naples(那不勒斯)服务器版处理器,CPU核心数比Intel目前下一代Xeon E的28核56线程还要多。 此前我们对桌面版Zen处理器有所了解,但服务器版Naples处理器还很神秘,上周末有网友曝光了AMD Naples处理器真身,不过这个是16核心的,双路处理器用的,CPU插槽也不是AM4,而是Intel一样的LGA。 爆料的图片来自Reddit用户GumGum9000,图片相当清晰,不过他没有具体说明该处理器的资料,只说是16核Naples处理器。这有点让人迷惑,因为AMD官方早前曝光的Naples处理器都是32核64线程的,尚未听说过有16核的,但考虑到服务器市场...阅读全文
新的树莓派操作系统 Linux Raspbian XP Professional 现已可用,该操作系统专门针对 Raspberry Pi 4 设计。 Raspbian XP Professional 是一个仿 XP 外观的 Linux 系统。尽管用户不能在树莓派上拥有完整的 Windows XP 体验,但是该操作系统所提供的用户体验已相当接近 Windows XP。 Raspbian XP Professional 附带许多功能,可使人联想到旧的 XP OS。它具有有效的“开始”菜单,顶部带有可用的搜索栏。所有的菜单、图标和任务栏都具有经典的气泡 XP。其甚至包括完整的 LibreOffice 套件来代替 Microsoft Office,以满足办公要求。 不过,尽管该操作系统看起来像...阅读全文
C++ 委员会于上周在夏威夷科纳举办了一场官方 ISO 会议,以确定下一个国际标准 C++20 的功能集。 根据会议报告,C++20 的功能设计现已完成。计划于 2019 年 7 月在科隆举行的会议上,完成 C++20 的规范并发送一份委员会草案以供审查。 上周会议确定添加至 C++20 草案的新特性: Modules!Coroutines!static, thread_local, and lambda capture for structured bindings.std::polymorphic_allocator<>.std::midpoint and std::lerp.std::execution::unseq execution policy.std::ssize...阅读全文
树莓派4B因为性能的巨大提升,采用电源性能更好的 type c 作为供电口。令人不可思议的是树莓派4B的 USB-C 居然缺少一个 5.1k 欧姆的电阻:原本有两个电阻,分别是R1和R79,结果变成了共用一个电阻。于是所有带有 e-mark 的 type c 电源(可以简单的理解为pd标准的电源)连接树莓派4B的时候都会被当作非供电设备,比如耳机等。 树莓派4B的初始版本是v1.1,包括 1G/2G/4G,revision code 分别是a03111 / b03111 / c03111 。当时树莓派基金会只表示会在后期修复这个硬件bug,但是并没有明确的时间。但是在2019年12月时,已经有明确的案例报道4G版本的树莓派4B已经有v1.2了,这个版本已经增加了电阻。pd标准的...阅读全文
,优麒麟。优麒麟由工信部、Canonica 和国防科技大学联合开发,整合了多个中国本土流行 Linux 应用。 Ubuntu 20.04 使用 Linux 5.4 内核,该版本具有内核锁定模式和 exFAT 支持等新特性。 内核锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。 exFAT 文件系统则是 FAT32 的替代者,它由微软开发,但是不仅用于 Windows 系统,目前 exFAT 在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪存驱动、数码相机和 MP3 播放器中使用最为充分,你平时用这些电子产品的时候,多半就使用到了...阅读全文
Github 在去年的 Universe 大会上推出了尚处于 Beta 阶段的移动版客户端。经过数月的开发,适用于移动设备的 Github iOS 和 Android 客户端现已发布稳定版,可从 Google Play 或 App Store 进行获取。 Github 移动版客户端提供了以下功能: 浏览最新通知对 issue 和 PR 进行阅读以及回复审查和合并 PR使用 labels, assignees 以及 projects 等配置项来管理 issue浏览文件和代码 Github 移动版客户端采用原生开发,界面方面没有照搬 PC 端网站的设计,而是针对移动端提供了专为触摸屏设计的新界面,还提供了通知功能,当用户被直接 @ 的时候,就能够收到悬浮通知,方便开发者随时随地查看代码、合并更...阅读全文
。 默认情况下,job artifacts 只正对成功的jobs收集。 artifacts用于指定成功后应附加到job的文件和目录的列表。只能使用项目工作间内的文件或目录路径。如果想要在不通的job之间传递artifacts,请查阅依赖关系。以下是一些例子: 发送binaries和.config中的所有文件: artifacts: paths: - binaries/ - .config 发送所有没有被Git跟踪的文件: artifacts: untracked: true 发送没有被Git跟踪和binaries中的所有文件: artifacts: untracked: true paths: - binaries/ 定义一个空的dependencies可以禁用artifact传递: job...阅读全文
Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简单很多,能自动开启 HTTPS、并且支持 HTTP/2 和 QUIC。 下载安装 Caddy 首先去 Download Caddy 选择你需要的插件,然后复制下方的 One-step installer script (bash),例如我的是 $ curl https://getcaddy.com | bash -s http.cache,http.cors,http.expires,http.filemanager,http.git,http.ipfilter,http.minify,http.nobots,http.ratelimit,http.realip...阅读全文
长期模式。这也意味着 Django 现在完全依靠的是没有酬劳的贡献者,并已经开始供不应求。 通常来说,修复小 bug 或添加小功能是吸纳贡献者的好机会,但这些事情 Django 的现有成员都会完成。短期内还好,但按这个形势发展下去,Django 会一直无法吸引到新的贡献者,来取代那些不活跃的甚至完全沉寂的人。 为解决 Django 的发展困境,“改革草案”提议重组 Django 核心团队(也称 Committer,提交者)。James Bennett 解释到,按照 Django 现有的管理模式,任何人都可以提交更改及补丁,但只有 Django 的提交者和技术委员会才有权作出决定。提交者可对项目做出任意更改,只需对其他成员和技术委员会负责。而事实上,很少有提交者直接使用他们的提交权限,决策基本...阅读全文
SQL审核是保证数据库 DDL 和 DML 安全使用、SQL变更可追溯、降低线上数据事故概率的重要手段。去哪儿网开源的 Inception 工具有较大的使用基础,提供了相对完善的 API 接口,结合一些外层的操作界面,可以实现SQL审核、执行、备份和恢复功能,为DBA操作利器。本文详细介绍如何配置 Inception 和 Yearning 的整合。 Inception Inception是一个自动化运维工具,在Mysql前做一个审核和操作的屏障。跟Inception的交互是程序级别的,即通过Python或其他程序编程实现对Inception的命令调用,并解析结果。 Inception的文档地址:http://mysql-inception.github.io/inception...阅读全文
Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具。Sysdig 能从运行的系统中,获取系统状态和行为,做过滤分析,功能上超同类开源工具。Sysdig 可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。 此外 Sysdig 还能对容器(如docker、coreOS、LXC)进行监控。 Sysdig 也支持windows平台和mac平台。下面我们以 Linux系统为例,举例说明 Sysdig 的用法,你也可以参考官方原文。 网络 查看占用网络带宽最多的进程:sysdig -c topprocs_net显示主机192.168.0.1的网络传输数据 as binary:sysdig...阅读全文
在使用了一段时间后,决定由 CentOS 转移到 Debian 上,以便在低配置的服务器上网站能更加的稳定,Shadowsocks 服务也有之前的 python 版本转移到了 shadowsocks-libev 版本,原因是 libev 的版本是用 C 语言写的,会更加的节省内存,更重要的是该 libev 一直在不断的维护着,更新也很频繁。 搭建环境 本人还是在 Vultr.com 的 VPS 上安装了 Debian 8.0 x86 minimal 系统,在 Debian 8(Jessie) 编译 libev 版本需要开启 debian-backports 来安装 dh-systemd 和 init-system-helpers. 首先要在 debian 的源列表中添加 backports...阅读全文
云原生技术的不断发展,2018年,CNCF扩展了云原生技术的定义,以下是云原生技术的新定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。”其中,像容器,微服务等概念早已深入人心,而很多开发人员都对此次提及的“不可变基础设施”这个概念有不少疑惑,下文将对这个概念进行解析。其实不可变基础设施这个概念由来已久,并在不同的场合被很多技术专家已不同的形式提出并讨论过, 例如:“Trash Your Servers and Burn...阅读全文
作为约束(constraints)使用时,可被允许包含类型列表。在旧版的设计草案中,类型列表属于 contracts 的功能。更复杂的情况将使用参数化的 interface 类型. 为了帮助决定如何进一步完善设计草案,团队还发布了翻译工具。此工具可用于类型检查,以及运行使用设计草案中描述的泛型版本编写的代码。它通过将泛型代码翻译为普通的 Go 代码来工作。此翻译过程有一定的局限性,不过团队主要是希望借此让大家对 Go 泛型的整体有所了解。如果泛型最终被吸纳,它们的实际实现可能会有所不同。 此工具已在 Go playground 的变体上提供,这个 playground 的工作方式与常见的 Go playground 相同,不过前者支持泛型代码。团队希望此工具能为 Go 用户提供尝试使用泛型的...阅读全文
级的记录,按照权重选择,记录的权重越高,被选择的可能性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处理收到的SRV记录。当前DNS SRV只能够负责提供服务地址列表,对这个列表如何解读,完全取决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不能超过512字节,在添加 SRV 记录的时候,要特别注意。通过TCP传输时没有512字节的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文
“开源”一词所代表的不仅仅是技术人员的情怀,它还传达了诸如研究知识共享和社区建设之类的观点。虽然开源一直都在产生积极的影响 —— 随着开源微处理器指令集架构 RISC-V 的日益普及,推动软件创新的开源运动现在正在微处理器领域引起轰动,但半导体 IP 提供商 Arm(为 95% 的智能手机嵌入式处理器提供了支持) 并不是开源的狂热爱好者。 近日,外媒 Synced 与 Arm 嵌入式、物联网和汽车营销高级总监 Rhonda Dirvin 进行了一次对话,探讨开源硬件和开源软件之间的区别,以及由此对 Arm 进行决策带来的影响。 Dirvin 认为,当今的开源硬件格局并不像看起来那样简单明了:“我们开始看到有人说免费并非真正的免费。因为归根结底,他们必须考虑验收所需的内容以及实现指令或架构所...阅读全文
, _ := f.ReadFile("helloworld/hello2.txt") fmt.Println(string(data2)) } 同时既然能够支持目录读取,也能支持贪婪模式的匹配: //go:embed helloworld/* var f embed.FS 可能会有小伙伴注意到,embed.FS 也能调各类文件系统的接口,其实本质是 embed.FS 实现了 io/fs 接口。 只读属性 在 embed 所提供的 FS 中,我们可以发现其都是打开和只读方法: type FS func (f FS) Open(name string) (fs.File, error) func (f FS) ReadDir(name string) ([]fs.DirEntry, error) func (f FS...阅读全文
在前几天,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...阅读全文
微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码状态 以 root 用户运行下列命令: # dmesg | grep microcode 输出如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情况。这时它的输出可能是如下这样的: [ 0.952699] microcode: sig...阅读全文
bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具。 它能使用各种输入模块读取输入,并以各种输出模式显示输出,包括交互式文本用户界面和用于脚本编写的可编程文本输出。 在 Linux 上安装 bmon 带宽监视工具 几乎所有 Linux 发行版的默认仓库中都有 bmon 软件包,可以从默认包管理器中轻松安装,但可用的版本可能比较旧。 $ sudo yum install bmon [On RHEL/CentOS/Fedora] $ sudo dnf install bmon [On Fedora 22+] $ sudo apt-get install bmon...阅读全文
"Scorpion" 可能则是基于 Debian GNU/Linux 9 "Strech"。可能将于 2017 春季发布。 Q4OS 2.2 将是一个长期支持版本,支持至少五年的安全补丁和软件更新。在那之前,现在可以下载 Q4OS 1.8.2 "Orion"。...阅读全文
TrueOS 17.12 已发布,引入了多项增强功能,附带了 Firefox Quantum 网页浏览器。该版本的重点是大量的清理和让 TrueOS 的独特功能更加稳定:OpenRC,引导速度,可移动设备管理,SysAdm API 和 LibreSSL 集成,Lumina 改进等等。 正如预期的那样,TrueOS 17.12 将 Lumina Desktop 1.4.1 作为默认的桌面环境,带来了新的主题引擎和 ZFS 集成。对多个同步图形会话的支持也已添加到 PCDM 登录管理器。 对于不想使用 Lumina 桌面环境的用户,可选择诸如 Xfce 4.12,LXDE 1.0,MATE 1.18.0,KDE 4.14.3,GNOME 3.18.0 和 Cinnamon 2.4.6 桌面环境...阅读全文
三星的850EVO/PRO以及不带后缀的850固态盘(120GB国行399元)已经发布开卖相当长一段时间了,新品的迹象迟迟看不到。今日有网友从三星北美官网发现了860 PRO已经正式出现。 页面显示,4TB的起售价是1899.99美元(约合1.22万元),型号MZ-76P4T0E。性能方面,连续读取最高560MB/s、连续写入最高530MB/s,妥妥的SATA3。 目前,三星850 EVO在国内提供有4TB的选项,也是SATA3,价格是11399元。此前,860 EVO曾现身串行设备组织官网,显示容量从256GB到4TB。 闪存方面,外媒TMHW此前从线人那里得知,860 EVO将是三星的第一代消费级QLC闪存固态盘,也就是4bits/Cell,而PRO可能还是3D TLC。 简单一提,一...阅读全文
Sym 是一个用 Java 语言实现的现代化社区(论坛/社交网络/博客)平台,标称为下一代的社区系统,为未来而构建。近日 Sym 2.7.0 已正式发布了,主要改进内容包括: 改进功能: 610 小薇支持回复 611 反对帖子、回帖不发通知 612 首页改版 621 发帖无法选择非导航领域的标签 626 小薇升级到图灵 API v2.0 新增文档: 618 sym.props 配置项说明文档 开发相关: 609 重构用户主页链接生成 修复缺陷: 619 URL Redirect vulnerability 620 Any File Upload 622 非管理员访问 /admin 路径报错 目前已经有非常多的社区论坛使用 Sym 进行搭建,如果你正在寻找一个 Java 实现的社区系统,请一...阅读全文
Debian.cn 正式更名为 Debian中国。相比我们之前使用的名字”Debian社区“,这个名字更中性一些,也避免了歧义。 Debian.cn 的内容风格还会和以前保持一致,不会有明显变化,我们会继续重点关注 Debian系统 在生产环境的基础设施上的广泛应用,包括容器化、业务环境、大数据、媒体智能等。 这次一同调整的还有论坛功能。由于论坛中的的内容很少,我们上线了独立的讨论平台 bbs.debian.cn,和主站的账号系统保持独立,并简化了注册。论坛的后台系统使用Discuz! Q 这个刚推出不久的开源的系统,欢迎注册。...阅读全文
Linus Torvalds 宣布推出最新的 Linux Kernel 4.14 稳定版,并开始接受 4.15 合并请求。 Linux 4.14 带来了许多新功能和变化,主要包括对驱动程序和硬件启用的改进,文件系统调整和性能优化等等,并将成为下一个长期支持版本(LTS)。 该版本优化了对 x86_64 硬件的内存支持,从原来的 256TiB 虚拟地址空间和 64TiB 物理地址限制优化至 128PiB 和 4PiB 。 其他更改: 新 Realtek Wi-Fi 驱动(RTL8822BE) 支持 Btrfs Zstd 压缩 支持 HDMI CEC(Raspberry Pi) 内存安全加密(AMD EPYC 处理器) 支持华硕 T100 触摸板 Heterogeneous Memory...阅读全文
Linstedt进一步解释说,通过这样做,它将保持Flash项目的生存和安全。他已经开发出一套可视化方法,将SWF和FLA文件转换为HTML5,Canvas,WebGL或Webassembly。开发者的另一个建议是独立的浏览器,可以播放Flash内容。 此外,参与请愿的开发者认为,Adobe可能有一些许可的组件不能被公开使用。尽管如此,Linstedt仍然希望这不会是一个障碍,他们呼吁Adobe请简单地留下某些组件被删除的说明,开发者将绕过它们,或者用开源替代方法来替换它们。 目前,这份请愿书已经获得了近4677份签名,签名数量正在稳步上升。即使在Adobe宣布到2020年结束对Flash的支持之前,苹果,谷歌,Mozilla 和 微软等公司也默认在各自的浏览器中阻止了 Flash 内容...阅读全文