Debian 爱好者社区 为您找到相关结果 370

开源社区的运作模式:Debian Vs. Ubuntu

定自己的策略,在遵循开发者成员委员会规定的基本原则下,可以自行增加新成员。 Ubuntu贡献开发人员是一种中间身份,他还没有为成为其他开发者身份做好准备,但表达了成为Ubuntu成员的决心。 所有这些身份都可以通过类似的方法取得:创建一个Wiki页面列举你过去所做出的贡献;从与你一起工作过的现有成员那里收集证明;将你自己添加到下一次委员会会议的议事日程中,并准时参加会议。委员会成员将会查看你的Wiki页面,并根据你在会议(以及平时的开发者邮件列表)上的作答情况,以及其他人对你的意见,审核你是否能通过。 最重要的委员会成员是由社区选举产生的,而其他一般的角色是由社区委员会任命的。这些治理主体包括Canonical员工,但并没有想象的那么多人:开发者成员委员会总共有8人,其中2人是...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

-binding subjects: - kind: ServiceAccount name: nacos-admin namespace: devops roleRef: kind: ClusterRole name: nacos-admin-clusterrole apiGroup: rbac.authorization.k8s.io 执行部署 Nacos RBAC 资源 -n:指定部署的 Namespace $ kubectl apply -f nacos-rbac.yaml -n mydlqcloud 2、创建数据库配置 ConfigMap 资源 nacos-config.yaml apiVersion: v1 kind: ConfigMap metadata: name: nacos...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

成为Debian社区维护人需要做好的准备

出很多时间和努力。 1. 尽可能多地使用 Debian 完成日常工作。也就是说,成为开发者前,先做一个用户。 2. 阅读 Debian New Maintainer’s Guide 学习 Debian 打包的基本知识(英文版,中文版)。 这些知识能帮助你让不太复杂的软件包工作起来,但是与满足 Debian 标准之间还有相当大的距离。这个过程中可以独立地重新打包一个已经在仓库中的包,完成后和别人现有的工作进行对比,找出自己的不足。这个包一般不需要很复 杂,初学时直接弄复杂的包很可能只会浪费很多精力。做包的过程中遇到任何问题都可以找有经验的人询问清楚,这对提高水平非常有益。 3. 寻找一个感兴趣的软件进行打包,WNPP (Work-needing and Prospective Packages...阅读全文

分布式任务调度平台 XXL

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执行器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第三方框架,只需 main 方法即可启动运行执行器; 5、命令行任务:原生提供通用命令行任务 Handler(Bean...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Golang 中的 channel 通道详解

channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并发程序中该信息会随着接收操作而失效,但是它对某些故障诊断和性能优化会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的发送操作就是向内部缓存队列的尾部插入元素...阅读全文

聊聊很重要的内核技术eBPF

直接集成到应用程序中的高级库。 2:bpftrace bpftrace是Linux eBPF的高级跟踪语言。它的语言受awk和C以及DTrace和SystemTap等以前的跟踪程序的启发。 bpftrace使用LLVM作为后端将脚本编译为eBPF字节码,并利用BCC作为与Linux eBPF子系统以及现有Linux跟踪功能和连接点进行交互的库。 3:Cilium Cilium是一个开源项目,提供基于eBPF的联网,安全性和可观察性。它是从头开始专门设计的,旨在将eBPF的优势带入Kubernetes的世界,并满足容器工作负载的新可伸缩性,安全性和可见性要求。 4:Falco Falco是一种行为活动监视器,旨在检测应用程序中的异常活动。 Falco在eBPF的帮助下审核Linux内核层的系统...阅读全文

博文 2020-08-16 11:08:44 debian.cn

HTML 5.1 — 14 项新增特性及使用案例

HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此形成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有

,
, 以及, 这样就为开发者提供了更多表达创意和内容的空间。 W3C 以及开始着手发展 HTML 5.2 草案,有望于 2017 年底发布。而我们在这里所要呈现的是在版本...阅读全文

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

RabbitMQ 高可用实现镜像队列

:publish 到镜像队列的所有消息总是被直接 publish 到 master 和所有的 slave 之上。这样一旦 master 失效了,message 仍然可以继续发送到其他 slave 上。 简单来说,镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升 RMQ 集群的整体高可用性。 先来看下设置镜像队列后的效果: 镜像队列会出现+2标识, 1.如何设置队列为镜像队列 有两种方式,通过命令行或者通过 RMQ 的控制面板。 通过命令行设置镜像队列 rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority] -p Vhost...阅读全文

博文 2018-12-30 19:21:59 debian.cn

如何使用 journalctl 清理 journal 日志

下面的逻辑来覆盖默认设置: 主配置文件最先被读取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接...阅读全文

博文 2021-02-05 15:43:28 博客园

如何写好技术文档 — 来自十多年的文档经验总结

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

博文 2021-07-30 16:15:13 joseph

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

++] = node->off; graph->tail = tail & graph->cir_mask; } 复制代码 而API 函数 __rte_node_enqueue_tail_update目的就是调整 tail 把下一个 node 放到 pending stream 里。 下图展示了报文的传递跟 node 是如何被加到 pending stream 的关系。 注意一下 node 添加到 pending stream 的顺序取决于处理报文时的顺序。例如,如果报文 1 和 3 到 node2,而 报文 2 和 4 到 node3,那么 circular buffer/pending stream 中 node1 和 node2 的顺序将被交换。 组件 libgraph 的核心组件是 graph 和...阅读全文

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

深入理解Golang之context

选择执行哪个取消选项。考虑下面这种情况:假如主协程中有多个任务1, 2, …m,主协程对这些任务有超时控制;而其中任务1又有多个子任务1, 2, …n,任务1对这些子任务也有自己的超时控制,那么这些子任务既要感知主协程的取消信号,也需要感知任务1的取消信号。如果还是使用done channel的用法,我们需要定义两个done channel,子任务们需要同时监听这两个done channel。嗯,这样其实好像也还行哈。但是如果层级更深,如果这些子任务还有子任务,那么使用done channel的方式将会变得非常繁琐且混乱。我们需要一种优雅的方案来实现这样一种机制:上层任务取消后,所有的下层任务都会被取消;中间某一层的任务取消后,只会将当前任务的下层任务取消,而不会影响上层的任务以及同级任务...阅读全文

博文 2021-01-27 09:05:27 知乎

中国开源人访谈系列之:清风博主

提问者为Linuxstory.org的华华,回答者即为清风博主老师。之前常逛Linux社区的同学,对这个ID应该很熟悉。 A.您与Linux的那些事 1.清风老师能简单的介绍下您自己吗? 答:中学地理老师,Linux爱好者,Gentoo用户,70后 来张几年前上课摆拍的工作照吧 2.您是因为什么喜欢上折腾Linux的呢?遇到最大的困难是什么呢? 答:说来话长。初识Linux是在参加工作近10年之后,之前都没听说过Linux。真正知道Linux,是因为自学了点asp,后来在搜索如何搭建更好的网站环境时,才知道了还有这么一个神奇的系统。2008年,有了笔记本电脑后,才尝试安装,发现这个系统太适合拿来折腾了!从入门级的Ubuntu到Gentoo,桌面环境从gnome2、unity、gnome3...阅读全文

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

Debian Jessie、Stretch 下安装配置 PHP7.2

- PHP bindings to libsass - fast, native Sass parsing in PHP php-lua - PHP Embedded lua interpreter libapache2-mod-php7.2 - server-side, HTML-embedded scripting language (Apache 2 module) libphp7.2-embed - HTML-embedded scripting language (Embedded SAPI library) php7.2-bcmath - Bcmath module for PHP php7.2-bz2 - bzip2 module for PHP php7.2-cgi - server...阅读全文

博文 2017-12-16 14:16:25 debian.cn

Memcache UDP反射放大攻击技术分析

务崩溃,并不能稳定的打出最大放大倍数。但是这里涉及的技术改进并不困难,攻击者容易做出响应调整。 另外,我们对将放大倍数调整到 60k 以上做了一些初步分析。我们怀疑这个比例是可以继续显著提高的,但具体技术细节不会在这里讨论。 当前已知 Memcache DRDoS 攻击的案例 2月27日,Qrator Labs 在 medium.com 上 批露 了一次DDoS攻击。按照文章的说法,这次攻击确信就是 UDP 11211 端口上的 memcache DRDoS,攻击流量峰值达到 480Gbps。 除了这个案例以外,我们确认有更大的攻击已经实际发生,但并未被公开报道。 当前已知各国运营商、安全社区的应对措施 目前已经有多个相关安全通告,部分列出如下: 通告类:多个主要设备厂商、安全厂商、CERT...阅读全文

博文 2018-03-02 09:20:52 debian.cn

红帽 2017 峰会 第三天回顾:自动化的未来

能够统一面向多个接入口进行自动化操作的定义与管理。 在本次峰会之前,红帽的 Linux发行版RHEL OpenStack发行版RDO OpenShift(Kubernetes) 存储产品Cepht与Gluster 已经与Ansible集成。本次峰会上,红帽又发布了Red Hat Insights(红帽的监控预警产品)和CloudForms与Ansible的集成。 为什么是Ansible? 其中一个很重要的原因在于,Ansible连不懂技术的业务人员也可以拿来用。甚至可以这么说:任何一个能够阅读英文的人都能看懂Ansible Playbook的用法。红帽认为Ansible代表了自动化的未来,在此投入了大量研发力量与资源。 2、Red Hat Insights作为统一的数据分析层 Red Hat...阅读全文

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

2017 热门开源自动化测试框架优缺点对比

此跨平台框架。如果想要添加新的关键字(通过 RF 测试库 API ),需要具备 Java / Python / C 语言的基础知识。 2. JUnit JUnit 是一款针对 Java 应用的单元测试框架,用于编写和运行可重复的测试。 优点: 纯 Java 编写。 支持测试驱动开发(TDD)。 允许创建自己的单元测试用例套件。 能很好地与其他工具(如 Maven )和 IDE(如 IntelliJ )集成。 长时间发展,有自己庞大的用户群体,可以很容易找到文档。 缺点: 如果需要 mocking 能力,则需要额外添加 Mockito(或其他模拟库)。 因 JUnit 中的方法名称受 Java 约定限制等原因,非技术人员很难读懂测试结果。 如果你正在为你的 Java 应用编写单元测试,那这可能...阅读全文

博文 2017-11-15 08:52:47 debian.cn

如何在 Linux 上安装 Intel 微代码固件

来维护、更新微码。使用包管理器的方法是经过测试的,对大多数用户来说是最安全的方式。 如何为 Linux 安装 Intel 处理器微码块(20180108 发布) 首先通过 AMD 或 Intel 网站 去获取最新的微码固件。在本示例中,我有一个名称为 ~/Downloads/microcode-20180108.tgz 的文件(不要忘了去验证它的检验和),它的用途是去防范 meltdown/Spectre bug。先使用 tar 命令去提取它: $ mkdir firmware $ cd firmware $ tar xvf ~/Downloads/microcode-20180108.tgz $ ls -l 输出如下: drwxr-xr-x 2 vivek vivek 4096 Jan 8...阅读全文

博文 2018-03-07 19:37:47 debian.cn

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

博文 2023-01-06 07:54:36 joseph

The Bitter Lesson - Rich Sutton

the appeal of these mistakes. We have to learn the bitter lesson that building in how we think we think does not work in the long run. The bitter lesson is based on the historical observations that 1) AI researchers have often tried to build knowledge into their agents, 2) this always helps in the short term, and is personally satisfying to the...阅读全文

博文 2024-08-21 09:29:09 joseph

C++ 夺冠!成为 TIOBE 2022 年度编程语言

Top 20,还有很长的路要走。 以下为 Top 20-50 的编程语言榜单: 第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序): ActionScript, Alice, Apex, B4X, bc, Bourne shell, C shell, Chapel, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Emacs Lisp, Erlang, Forth, GAMS, Hack, Icon, IDL, Inform, Io, J#, JScript, Korn shell, Ladder Logic, Limbo, LPC, ML, Modula-2, MQL5, NATURAL...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

Debian下编译安装Golang

1.4.3版本。 执行./make.bash。 一般教程(比如本文前面首次编译错误小节)是用./all.bash,其实没必要。./all.bash是编译并测试,而./make.bash只是编译。前者大约5分钟,后者大约2分钟。对我们这种Go语言的使用者而非开发者来说,显然后者就够了。 进入GOROOT目录,执行./make.bash。 结束后,可以检查版本。 $ go version go version devel +f8187ce Mon Nov 7 02:55:52 2016 +0000 linux/amd64 咦?怎么版本怪怪的! 这是因为master的HEAD,通常是一个开发中的提交,是最新不稳定版本。 如果想要稳定版怎么办? 和编译1.4.3版本类似,checkout过去再编译。比如,我...阅读全文

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

Java 12 / JDK 12 正式发布

2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日,也就是今天 Java 12 正式发布了! △ JDK 12 GA 发布 Java 12 带来了一系列新特性: 189Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暂停时间的 GC230Microbenchmark Suite 微基准测试套件325Switch Expressions (Preview) Switch 表达式334JVM Constants API JVM 常量 API340One AArch64 Port, Not Two 只保留一个 AArch64 实现341Default...阅读全文

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

Redis 6.0.0 GA已正式发布

用于选定的前缀),但服务器端无需进行任何内存操作。此外,现在支持选择加入/退出模式,因此,对于不使用广播模式的客户端,可以将其将缓存的内容准确告知服务器,以减少无效消息的数量。从根本上说,现在该功能在需要低内存模式和需要选择性(低带宽)模式时都更好。 2.这是许多用户的旧请求。现在,Redis支持一种模式,用于复制的RDB文件会在不再有用时立即删除。在某些环境中,最好不要将数据存储在磁盘上,而要存储在内存中。 3. ACL在某些方面更好。首先,有一个新的ACL LOG命令,该命令允许查看所有违反ACL的客户端,访问不应该访问的命令,不应该访问的密钥或尝试失败的身份验证。该日志实际上位于内存中,因此每个外部代理都可以调用“ ACL LOG”以查看发生了什么。这对于调试ACL问题非常有用。 但是...阅读全文

博文 2020-05-01 09:15:09 debian.cn

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

大家详细介绍CET,以及推出它的全球知名数字资产交易服务商CoinEx。 CET(CoinEx Token)诞生于2018年1月,是 CoinEx业务生态内的用户增值服务权益体系,最开始 CET 基于 Ethereum ERC20 协议发行。CoinEx业务生态内的用户增值服务权益体系,CET价值远不止这些。CET可以在多种场景下流通并使用。CET的核心价值包括并不限于: ** 1、长期回购销毁 ** CoinEx每天自动将平台手续费收入的50%用于回购CET,并在每个自然季度结束时将当季回购的CET全部销毁,直至CET总量减至30亿。CET总量减至30亿后,CoinEx将继续把平台手续费收入的20%用于回购并销毁CET,直至CET全部销毁。 ** 2、优惠抵扣平台交易费 ** CoinEx...阅读全文

Go 1.16 即将发布,这些变更你需要知道

bytes, 0 allocs init errors @0.22 ms, 0.004 ms clock, 0 bytes, 0 allocs init strconv @0.24 ms, 0.002 ms clock, 32 bytes, 2 allocs init sync @0.28 ms, 0.003 ms clock, 16 bytes, 1 allocs init unicode @0.44 ms, 0.11 ms clock, 23328 bytes, 24 allocs ... 主要作用是 init 函数跟踪的支持,以用于 init 调试和启动时间的概要分析,算是一个 GODEBUG 的补充功能点。 简化结构体标签 在 Go 语言的结构体中,我们常常会因为各种库的诉求,需要对结构体的...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

开源简史基础:Linux基金会

伦堡的 SUSE 办公室。 而在2012年2月1日,Linux基金会官方发文正式宣称GKH加入。 https://www.linuxfoundation.org/press-release/2012/02/leading-kernel-maintainer-greg-kroah-hartman-joins-the-linux-foundation/ Linux基金会的执行董事Jim Zemlin对GKH更是赞不绝口,“Greg是这个世界上最具天赋的软件开发者之一,他将会对Linux的发展提供无与伦比的贡献。”,并表明GKH的工作将会聚焦于Linux内核方面。 会员类别与年费 Linux基金会的会员分为企业会员和个人会员,而企业会员又分为白金会员、黄金会员和白银会员三种。 会员类别企业/个人会...阅读全文

团队激励的八大方法,让你的团队成员更加高效地达成目标

,实现目标。激励作用=目标意义×实现可能性从这一公式中可以明确地看出,目标意义和实现的可能性越大,激励作用也越大,反之亦然。目标的设置必须具有可行性,这不仅可以使目标发挥最大的激励作用,还有利于具体目标与长远目标的实现,以及个人目标与团队目标的有机结合。2、集体荣誉激励法集体荣誉激励法是指团队各级领导者在实际工作中,通过多表扬、奖励集体来激发下属的集体意识,使每个团队成员产生一种强烈的荣誉感、责任感和归属感,从而形成一种自觉维护集体荣誉的向心力的办法。3、情感激励法每个人都需要关怀与体贴。一句亲切的问候,一番安慰的话语,都会成为激励人们行为的动力。通常来说,团队成员工作热情的高低,同领导与员工感情的亲疏成正比。团队领导可以和员工经常沟通,内容可以是家庭、生活、婚姻、生产、娱乐、工作等,相互交流...阅读全文

亚马逊12个月免费云服务

热线、在线聊天支持。作为全球云服务的龙头企业,亚马逊云计算拥有最广泛的全球云计算基础设施,全球节点丰富,为网站的快速稳定访问提供基础设施保障。配合亚马逊全球CDN节点,能满足不同国家独立站访问速度需求。1.什么是云服务器?云计算服务器(也称云服务器或云主机)是云计算服务系统中的主机产品,有效解决了传统物理主机中管理难度大、业务扩展性弱的缺陷。在实际应用中,云主机具有三个方面的灵活性:主机服务配置和业务规模可根据用户需求配置,可灵活调整。用户申请的主机服务可以快速供应和部署(实时在线开通),实现集群内灵活可扩展的收费模式,用户无需支付押金,有多种支付模式供用户选择。2.云服务器适合什么样的用户?关注主机服务性价比的用户;需要快速实现分布式部署的用户;需要灵活扩展业务的用户;对系统高可用性和快速...阅读全文

开源软件对于商业机构的6大好处

持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文

博文 2017-11-15 23:41:11 debian.cn

Rust 1.37.0 稳定版发布

) => { const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()]; // ^ Note the underscore here. } } static_assert_size!(Option>, 8); // 1. static_assert_size!(usize, 8); // 2. 注意第二个 static_assert_size!(..):由于使用了未命名的常量,可以在不命名冲突的情况下定义新项。以前,需要编写 static_assert_size!(MY_DUMMY_IDENTIFIER, usize, 8);。在 Rust 1.37.0,可以更容易地为静态分析目的创建人机工程学和可重用的声明性和过程宏。 配置文件引导的优化(Profile...阅读全文

博文 2019-08-17 21:17:23 debian.cn

Redis 命令、特性介绍与性能调优

value值自增指定的整型数值,并返回自增后的值。只对可以转换为整型的String数据起作用。时间复杂度O(1) DECR/DECRBY:同INCR/INCRBY,自增改为自减。 INCR/DECR系列命令要求操作的value类型为String,并可以转换为64位带符号的整型数字,否则会返回错误。 也就是说,进行INCR/DECR系列命令的value,必须在[-2^63 ~ 2^63 – 1]范围内。 前文提到过,Redis采用单线程模型,天然是线程安全的,这使得INCR/DECR命令可以非常便利的实现高并发场景下的精确控制。 例1:库存控制 在高并发场景下实现库存余量的精准校验,确保不出现超卖的情况。 设置库存总量: SET inv:remain "100" 库存扣减+余量校验: DECR...阅读全文

博文 2018-10-27 10:37:55 debian.cn

为保护隐私而生 反取证操作系统:Kodachi

用。 学校机房(从 U盘 和 DVD 启动)使用 任何可以(从 U盘 和 DVD )启动使用的计算机上。 安装向导: 如何在你的硬盘驱动器上安装 Kodachi Linux: 从你的 USB 或 ISO 映像引导。 在桌面菜单上进入 – >系统 – > Refracta 安装程序 – >使用 su – >输入密码 r@@t00 – >简单安装 – >运行 GParted – >设备 – >创建分区表 – >应用 – >分区 – >新建 – >添加 – >应用所有操作 – >关闭 – >关闭 GParted 窗口 – >选择分区 – >确定 – >继续安装 – >关闭窗口 – > y – >配置主机及用户名!不要在这里更改用户名,否则 Kodachi 脚本会出现错误 – >勾选前 2 个框允许...阅读全文

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

Debian 成为主流 Linux 操作系统的七个原因

。我满足于坚持使用默认设置,不过我很欣赏这一点:Debian提供了一种选择,然后放心让用户做出正确的选择。 4.不一样的说明文档 Debian的说明文档散布于无数个网站,并不经常被讨论。然而,这些年来,我发现,如果我将“Debian”添加到我的互联网搜索,选择近些年来的结果,几乎总是会找到一个网页给出详细的逐步说明,帮助解决我要解决的那个问题。 3.迅速修复错误 我没听说过另外哪个发行版像Debian这么迅速地应对安全或者技术问题。无论Debian维护人员是单枪匹马还是团队合作,他们的响应时间表明了勤勤恳恳的工作态度,值得用户依赖。如果说Debian有时似乎比其他发行版更频繁地更新,那不是由于它有更多的错误,而是由于被其开发人员疏忽的错误比较少。 2.控制安装环节 Debian很早以前就取得了...阅读全文

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

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

Linux 安全性、项目管理及与其他领域结合发展 (1)近期勒索病毒肆虐全球,安全性方面,总会有人拿Linux 与Windows 相比。而 Jim 则不认可这种比较。他认为开发任何一个比较复杂的软件系统,都难免会有安全漏洞。 从安全性的角度来看,在 Linux 开发过程中会启动 CoreOS 项目,对所有代码进行同行评估,成千上万个开源开发者参与其中,对所有代码的安全性进行审议。由此希望通过审计的代码是最安全的,开发出的软件是安全可靠的。 “总而言之,安全是我们的任何项目的重中之重,非常关注与重视的一个问题,包括 Linux 的所有项目” (2)Linux 作为超大规模的项目,又是如何进行管理的呢? “每天我们贡献的代码数量会达到 1 万行,从中抽取 5 千行,还有1800行代码每天都是精心修改的...阅读全文

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

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

(简称GA) 我们兴奋地向大家宣布,apps/v1 Workloads API[1]通用版本现在已经默认启用。Apps Workloads API负责将DaemonSet、Deployment、ReplicaSet以及StatefulSet API等整合起来,从而构建起在Kubernetes内长期运行无状态与有状态工作负载的根本性基础。需要强调的是,Batch Workloads API(Job与CronJob)并不在Apps Workloads API的整合范畴之内,未来前者将推出自己的独立通用稳定版。 Deployment与ReplicaSet属于Kubernetes当中使用频率最高的两个对象,根据一年多以来收集到的实际使用与反馈意见,二者的稳定性已经得到极大提高。SIG Apps[2]也...阅读全文

博文 2017-12-17 01:00:00 debian.cn

Debian 10使用 Wine 安装配置微信、QQ与TIM

Serif"="simsun" "MS Shell Dlg"="simsun" "MS Shell Dlg 2"="simsun" "System"="simsun" "Tahoma"="simsun" "Times"="simsun" "Times New Roman CE,238"="simsun" "Times New Roman CYR,204"="simsun" "Times New Roman Greek,161"="simsun" "Times New Roman TUR,162"="simsun" "Tms Rmn"="simsun" 文章wine中文乱码的解决同样是全部换成simsun的reg注册表设置,不过设置更短,如下所示:笔者试过也没有问题。 REGEDIT4...阅读全文

谷歌开源了代码评审规范:好坏代码应这样来判断

审 代码评审者指南本来是一个完整的文档,但作者将其分为了 6 部分,读者可根据需要阅读。 代码评审标准代码评审希望达到什么在代码评审中导航 CL代码评审的速度如何写审查的评论处理代码评审的回退 2.CL 作者指南——CL 作者批准代码的评审指南 CL 制定者指南包括一些进行代码评审的开发人员的最佳经验,这些经验能够帮助你更快、更高质量地完成评审。 写一个好的 CL 描述构建一些小的 CL如何处理代码评审者的评论 在谷歌看来,代码审核的目的是确保谷歌代码库的整体代码健康程度。谷歌将以下规则作为代码评审的标准: 一般来说,一旦 CL 能提升整体代码的健康程度,那么即使 CL 不完善,评审者同样也应该倾向于批准该列表。这是所有代码评审指南中的高级原则。它也会有一些限制,例如,如果 CL 添加了一些...阅读全文

博文 2019-09-10 17:19:13 debian.cn

改善 Debian Linux 软件包管理的七款工具

了十个速度最快的镜像,然后把它们写入到你的软件包源列表。apt-spy执行类似的功能。 3. apt-transport-tor 你可能也知道了,Tor是一款匿名浏览工具。然而,即便你注重安全,下载软件包有可能让别人跟踪你的活动,进而一路跟踪你的系统。 apt-transport-tor让你可以堵住这个安全漏洞,它通过Tor来传输软件包管理指令。 2. cron-apt 如果你注重安全,或者只想要最新软件包,cron-apt可以帮助你确保版本最新。顾名思义,cron-apt可以为你的系统调度定期下载,并通知可用更新版。用户往往每天更新一次。 然而要注意:cron-apt下载但不安装更新的软件包。这个限制是有意设置的,因为在无人照看的情况下安装一切会导致系统问题。检查什么更新版可用后,你可以手...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon 桌面 Cinnamon目前的最新版本为3.2。Cinnamon可用于多种发行版,其中包括Debian、Arch、Gentoo、Mint、Fedora以及OpenSUSE等。 使用Cinnamon的理由 1. 集成度。桌面的选择与应用可用性并无关联。事实上,我所用过的任何应用都能够在任意桌面环境中运行良好,Cinnamon自然也不例外。不过,Cinnamon确实能够为各类面向KDE与GNOME乃至任何其他桌面编写的应用提供全部必要库,且带来良好的无缝化体验。 2. 外观。Cinnamon拥有清晰、简洁的外观设计,且字体与颜色组合适于阅读。大家可以通过System Settings -> Desktop菜单轻松完成图标显示设置,也能够借此指定桌面图标应该仅显示在主显示器上、副显示器上或者同时...阅读全文

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

阿里巴巴版 JDK 首发 GA 版 生产环境可用

某些测试用例,启动阶段跑分会有 10% 的提高。该特性在阿里巴巴的双 11 抢购场景中得到了大量验证。目前,阿里巴巴正在社区努力推进,希望通过 JEP 的方式将该功能推到上游 OpenJDK 社区。 下图是阿里一个应用在“双十一”期间使用 JWarmUp 时的效果: 说明:图中蓝线是正常启动 (默认开启分层编译),红线是启用 JWarmUp 的 CPU 使用率。 (1)是开启了 JWarmUp 选项,在应用启动时候,流量进来之前积极加载和编译方法。(2)是流量进来的时刻。(3)是正常模式启动下,CPU 消耗 100% 维持了 70s。(注:作图省略了一部分数据)(4)对应的绿线是稳定后 CPU 的使用率。 可以看到应用 JWarmUp 后在流量进来的时候 JWarmUp 可以减少大量 CPU...阅读全文

博文 2019-07-11 10:24:52 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

一次VPC IP。 回到UK8S CNI,我们再次分析重现案例日志。这一次有了更进一步的发现,所有kubelet传递给NETNS参数为空字符串的情形都发生在kubelet试图销毁Pod中第二个Sandbox的过程中。反之,kubelet试图销毁第二个Sandbox时,给CNI传入的NETNS参数也全部为空字符串。 到这里,思路似乎清晰了不少,所有泄露的VPC IP都是来自第二个Sandbox容器。因此,我们需要查清楚两个问题: 1. 为什么会出现第二个Sandbox容器? 2. 为什么kubelet在销毁第二个Sandbox容器时,给CNI传入了不正确的NETNS参数? 第二个Sandbox:我为何而生? 在了解的第二个Sandbox的前世今生之前,需要先交待一下kubelet运行的基本原理...阅读全文

Gitlab CI 配置文件 .gitlab

上传的artifacts。默认情况下,artifacts都是在GitLab中永久保存。expire_in允许设置设置artifacts的存储时间,从它们被上传存储到GitLab开始计算。 可以通过job页面的Keep来修改有效期。 过期后,artifacts会被通过一个默认每小时执行一次的定时job删除,所以在过期后无法访问artifacts。 expire_in是一个时间区间。下面可设置的值: '3 mins 4 sec' '2 hrs 20 min' '2h20min' '6 mos 1 day' '47 yrs 6 mos and 4d' '3 weeks and 2 days' 示例配置 设置artifacts的有效期为一个星期: job: artifacts: expire_in...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

Web前端知识体系精简

,但Javascript在函数Function对象中建立了原型对象prototype,并以Function对象为主线,从上至下,在内部构建了一条原型链。 简单来说就是建立了变量查找机制,当访问一个对象的属性时,先查找对象本身是否存在,如果不存在就去该对象所在的原型连上去找,直到Object对象为止,如果都没有找到该属性才会返回undefined。 因此我们经常会利用函数的原型机制来实现JS继承。关于函数原型链可参考博客:JS原型对象和原型链 2、函数作用域 函数作用域就是变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。在JS中没有会块级作用域,只有函数作用域,因此JS中还存在着另外一种怪异现象,那就是变量提升。关于作用域的介绍请参考博客:函数的作用域和作用域链 3、函数指针...阅读全文

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

隐私声明

带类型; 您的IP (Internet Protocol)地址,该地址有时可以显示您所在地理位置; 您在本网站内浏览过的页面、广告和链接; 您访问本网站时发出的访问请求及其日期、时间和引荐网址(如有); 通过Cookie标注您的浏览器的唯一性和在本网站的账户信息(包括您访问本网站的各项活动,浏览习惯等);您可以通过修改浏览器设置的方式拒绝cookie; 我们可能会使用浏览器网络存储(包括 HTML 5)和应用程序数据缓存等机制,在您的设备上收集和存储您所浏览过的网页信息; 如果您需要查询、更正您的个人信息或注销账号,请通过 support@debian.cn 与我们联系并提供您的账号和其他验证信息,我们在核实后会回复您的请求。 2. 信息的使用 我们仅在必要的情况下...阅读全文

Spinnaker 介绍 – Netflix 的持续交付平台

,Google云,微软云等,后来还支持了容器,但是管理方式还是按照管理基础设施的模式来设计的。 Spinnaker 中管理如下资源: Server Group:最基本的逻辑资源,包括了若干使用相同配置和镜像的虚拟机,若干负载均衡(load balancer),以及安全组。安全组规则(Security Group):就是 AWS 中的安全组,可以理解成防火墙。负载均衡(Load Balancer):AWS 中的 ELB,也可能是安装在虚拟机中的负载均衡。 2. 部署管理 管理部署流程是 Spinnaker 的核心功能,他负责将软件包(可能是手工创建的或者 jenkins 创建的)打成一个镜像,用这个镜像生成对应的虚拟机,让服务真正运行起来: pipeline 在 Spinnaker 中一个部署流程叫做...阅读全文

博文 2018-12-21 19:30:47 debian.cn

如何在 Debian 下配置邮件服务器

example.tst的Reverse zone配置: 192.168.10.1 IN PTR mail.example.tst. 在配置邮件服务器的过程中,这些记录可以根据系统的要求进行修改。 2.设置主机名 首先,必须在/etc/hostname和/etc/hosts文件中指定邮件服务器的主机名。前者应仅包含主机名。 root@mail:~# vim /etc/hostname mail root@mail:~# vim /etc/hosts ## IP Fully Qualified Domain Name Hostname ## 192.168.10.1 mail.example.tst mail 增加用户 每一个Linux用户,在默认情况下,系统会为其自动创建一个邮箱。这些用户和邮箱将被用作电子邮件帐...阅读全文

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

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

少。 2、透明 这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议记录(例如归档邮件列表)。 3、开放 对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个术语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于每个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。总之,你必须允许别人参与你的项目,放弃对项目的绝对控制。 4、保持“公平的竞争环境” 这并不一定意味着你必须让任何人加入项目,而是要确保...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的设计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

博文 2018-12-31 20:44:06 debian.cn

五款流行开源的 HIDS 系统简单介绍

火墙等),OSSEC作为强大的日志分析引擎是一个不错的选择。​后来的发行版增加了用于基于debian的系统的身份验证日志文件,以及用于分析(3.6.0)的非标准Sophos UTM时间戳,用于缩进日志的多行日志收集(3.5.0)以及对多行的其他升级。记录。2. Tripwire顾名思义,这是Tripwire开发的基于主机的免费开放源代码检测系统。该公司也提供商业解决方案,但我们将专注于开源HIDS。开源的Tripwire软件包仅在几乎所有Linux发行版上运行。它以确保数据完整性的强大功能而闻名,它可以帮助系统管理员检测对系统文件的更改,并在文件损坏或被篡改时通知他们。要将其安装在Linux主机上,只需使用apt-get或yum实用程序。在安装过程中,系统将要求您添加必需的密码。最好选择一个...阅读全文

博文 2023-01-26 11:07:43 joseph