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

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解的问题解同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解方案是额外绑一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

Linux Systemd被爆远程漏洞 CVE-2017

在 Systemd (linux 操作系统流行的 init 系统和服务管理器) 中发现了一个关键漏洞, 这使得远程攻击者有可能触发缓冲区溢出, 从而通过 dns 响应在目标计算机上执行恶意代码。 Systemd是什么 systemd 是一种系统初始化程序。和 sysVinit 以及 upstart 一样,systemd 会成为系统开机时启动的第一个进程(至少 PID 是 1),由它掌管计算机接下来要做的事情,例如读取 fstab 挂载磁盘和按照 runlevel 的设启动各种服务。其安全的重要性不言而喻。 Systemd远程代码执行漏洞 CVE-2017-9445 该漏洞编号 CVE-2017-9445 ,实际上驻留在 " systemd-resolved " 的...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

历数2017年五大Linux痛点

问题被频繁提及,这不免令人有些惊讶。如果你不运行主流的发行版,这个问题会更严重。也许你在使用中没有更多的体会,但越来越多人在使用AppImage、Flatpak或者Snaps,这让我们意识到问题的存在,笔者很想更多地了解软件不兼容的问题,如果你最近遇到了,请在评论中告诉我们。 3.UEFI和安全引导 UEFI(UnifiedExtensibleFirmwareInterface)全称"统一的可扩展固件接口",是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。尽管随着部署更多支持的硬件,UEFI和安全引导问题仍在改善,许多用户表示,他们仍然存在与UEFI安全启动相关的问题。使用一个完全支持UEFI安全启动开箱分配是最好的解之道。 4.32位操作系...阅读全文

博文 2017-11-25 12:27:56 debian.cn

观点:DDR内存即将谢幕 HBM 3/4内存才是未来

Tesla P100上商用了HBM 2技术,不过消费级市场上使用HBM 2技术还是AMD去年的RX Vega显卡,但是因为HBM 2显存的成本太过昂贵,RX Vega上实际上使用了两组4GB HBM 2,等效位宽比第一代减少一半,尽管频率大幅提升,所以实际带宽反而低了一些。 见识过HBM的玩家对该技术肯印象深刻,那么未来它又该如何发展呢?HPE(惠普企业级)公司的Nicolas Dube日前分享了他的一些观点,在他看来DDR内存要走到尽头了(DDR is Over),特别是一些需求高带宽的场合中。 根据他分享的一些数据,HBM 2内存将在2018年大量应用,HBM 3将在2020年左右应用,改进版的HBM 3+技术在2022年应用,2024年则会有HBM 4内存,带宽及容量也会逐级增长,比如现在的...阅读全文

Linux 基金会与 RISC

,2010年诞生于加州大学伯克利分校,当时的Krste Asanovic教授希望寻找一个合适的CPU指令架构,但X86架构复杂臃肿、ARM架构需要授权费、开源的OpenRISC架构又太老旧了,所以他最终自己做个开源CPU架构,在2015年最终成立了RISC-V基金会,专门推动RISC-V发展,现在的RISC-V基金会成员也扩大到了80多人,包括Google、HP、西数等公司都开始支持RISC-V架构。 RISC-V指令集灵活、高效、开源还免费,非常适合做移动处理器、IoT物联网、网络处理器等等低功耗、嵌入式设备,对ARM的威胁也是最大的,而且国内的公司也开始积极参与RISC-V生态系统,今年10月份在中国上海成立了中国RISC-V产业联盟,包括芯原微电子、北京君正、安徽华米、上海小蚁、苏州国芯...阅读全文

博文 2018-12-01 09:45:27 V 基金会合作推广开源芯片

Oracle Linux 8.0 发布

使崩溃内核和 initramfs 尽早加载,以便它可以捕获 vmcore 信息,包括早期内核崩溃。 容器与虚拟化 新的容器工具:Podman、Buildah 与 skopeo 现在在 Oracle Linux 8 上可用:Podman:Podman 是 Libpod 的一部分,它的义可以简单用这个命令表示:`alias docker=podman`。Buildah:Buildah 是一个用于构建 OCI(Open Container Initiative)镜像的工具。skopeo:skopeo 是一个命令行工具,用于对容器镜像和镜像库执行各种操作,支持使用 OCI 镜像与原始的 Docker v2 镜像。Q35 机型是一种更现代的 PCI Express-based 机器类型,现在可用于...阅读全文

博文 2019-07-20 22:39:32 debian.cn

谷歌开源 Pigweed:用于提升嵌入式开发效率

中的经典挑战是减少从运行 git clone 到在设备上执行二进制文件的时间。对于生产嵌入式项目,往往通常需要一整套工具。而 Pigweed 能够通过虚拟环境提供简化设置的工具,具体来说,Pigweed 的 pw_env_setup 模块中的引导脚本可设置当前的 shell 以访问一组标准化工具——包括 Python 3.8、clang 格式以及 ARM 编译器。所有这些都是在虚拟环境中完成的,因此无需修改系统的默认环境。 在典型的嵌入式开发中,即使添加很小的更改也需要一些额外的手动步骤。而 Pigweed 的 pw_watch 模块直接解了这种效率低下的问题,它提供了一个监视者(watcher),该监视者可以在保存文件时自动调用构建,还可以运行受代码更改影响的特测试。这大大缩短了更改的...阅读全文

博文 2020-03-22 08:35:14 debian.cn

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

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是开源的、稳的和高度可制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的范围。 1.先条件 每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

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

Canonical 宣布临时关闭 Ubuntu 17.10 下载通道

鉴于众多联想笔记本用户报告尝试安装最新Ubuntu 17.10(Artful Aardvark)导致BIOS损坏的问题,Canonical 公司于今天宣布撤下最新版本的下载镜像。为了解这个问题,Canonical计划在Linux Kernel 4.13内核中关闭英特尔SPI驱动,在重新构建和打包之后公司将会推出全新的ISO镜像。目前尚不清楚整个过程需要多久时间,但相信修正版应该会尽快发布。 令人感到遗憾的是,如果你的联想笔记本出现BIOS损坏的问题,严重的可能需要更换设备主板。根据报道,部分Yoga和IdeaPad系列产品线受到影响,此外部分Acer、戴尔和东芝笔记本同样收到影响。 联想B40-70,联想B50-70,联想B50-80,联想Flex-10,联想G40-30,联想G50...阅读全文

博文 2017-12-21 20:15:44 debian.cn

开源堡垒机 Jumpserver 1.4.7 发布

Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解方案,交互界面美观、用户体验好。 Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。 下载地址: Source code(zip)Source code(tar.gz)...阅读全文

博文 2019-02-02 10:36:34 debian.cn

Docker v1.13.0 正式版发布

Docker v1.13.0 正式版发布了。需要注意的是,在 Docker 1.13 中,与在 Docker 1.12 中引入的实验版本相比,管理插件 api 发生了变化。在升级到 Docker 1.13 之前,必须卸载使用 Docker 1.12 安装的插件。可通过 docker plugin rm 命令卸载插件。 如果已经升级到 Docker 1.13 而不卸载先前安装的插件,则当 Docker 守护程序启动时,可能会看到此消息 Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv 要手动删除所有插件并解此问题,请执行以下步骤: 从 /var/lib...阅读全文

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

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 程序必须是轻量级的,不会过度重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 程序的文本量。此外,还能更加方便地编写错误处理程序,提...阅读全文

博文 2018-09-01 18:39:47 debian.cn

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

社交巨人Facebook使用Linux和Btrfs的姿势

被我们称之为“影子层”的地方进行——我们可以在一个非生产环境重放生产网络的流量,这样我们能够在一个非常安全的地方检测系统的稳性和性能。我们可以像做实验那样一边加大流量一边说:“好了,我先给它(测试环境)5%的生产网络流量,然后一路增加到100%,看看会有什么发现吧。”像做A/B测试那样,我就能得到两个内核在整个实验过程中对比鲜明的数据。 我们有工具能验证内核并帮助测试上游内核。这样比较容易发现上游内核新的有意思的bug,而非只是找到已经被上游内核修复过的bug。 Linux.com:您比较担心什么问题? Chris Mason:就运行Linux内核或者文件系统而言,我们还没遇到什么问题;况且有这么多的社区在支持Linux,我也没有必要担心什么。 Linux.com:您参与Linux开发也有...阅读全文

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

Terraform 学习总结 — Terraform 简介

前言 在 DevOps 实践中,基础设施即代码如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一程度的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世界。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文

APISIX Ingress 如何使用 Cert Manager 管理证书

statefulset.apps/apisix-etcd 2/3 57m NAME COMPLETIONS DURATION AGE job.batch/cert-manager-startupapicheck 1/1 6m24s 45m Kubernetes Controller Manager 的机制了 Pod 名称会有所不同。 步骤四:申请证书并测试 首先我们需要配置证书颁发对象。 # issuer.yaml apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: issuer namespace: ingress-apisix spec: selfSigned: {} 并创建自签名证书颁发者。 kubectl apply -f...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

Cortex: 高可用和水平扩展Prometheus监控系统

就不足为奇了。但是,有一些关键差异可能会帮助您使用哪个。tbody>Thanos>Cortex演练让我们通过安装一个真实的示例并通过多个Prometheus和Grafana对其进行配置以可视化数据来试用Cortex。git clone https://github.com/kanuahs/cortex-demo.git cd cortex-demo Prometheus and Cortex with Docker Compose为了简单设置,我们将使用docker-compose启动以下服务:三个Prometheus容器Consul三个Cortex容器Grafana为了简单起见,我们将使用多功能的cortex配置。这将cortex作为一个独立的应用程序运行。我们将运行它的三个实例来检查...阅读全文

博文 2021-10-09 17:00:22 知乎

Monit:开源服务器监控工具

!= 0 then alert 控制台访问验证 访问Monit Web界面主要通过ALLOW选项进行控制,ALLOW选项用于指身份验证并仅授权特客户端进行连接。 如果正在使用Monit命令行界面,至少需要一个明文密码(见下文),否则Monit命令行界面将无法连接到Monit Web界面。 尝试连接到Monit,但提交错误的用户名和/或密码的客户端将使用其IP地址记录。 主机和网络允许列表 Monit维护允许连接的主机和网络的访问控制列表。您可以添加任意数量的主机,但只允许具有有效域名或其IP地址的主机。 Monit将查询名称服务器以检查任何尝试连接的主机。如果主机(客户端)正在尝试连接,但无法在访问列表中找到或无法解,Monit将立即关闭与客户端的连接。 配置文件示例: set httpd...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Debian8安装TeamViewer远程协助软件

TeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解方案。为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可,而不需要进行安装(默认是免安装方式运行)。该软件第一次启动在两台计算机上生成 ID。只需要输入你的伙伴的ID到TeamViewer,就会立即建立起连接。 由于TeamViewer的Linux版本很长时间都没有更新,所以在Linux系统安装TeamViewer时会碰到依赖问题。这篇教程介绍如何在Debian Jessie系统安装TeamViewer远程协助软件。 Debian 8安装TeamViewer 到 TeamViewer.com下载32位的deb安装包。(TeamViewer Linux版本...阅读全文

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

Debian 下轻松实现 PHP 多版本共存

PHP7 的发布废弃了部分特性,一些程序或者插件当前不能很好的运行在 PHP7 上,因此如果服务器上能同时运行多个 PHP 的版本,就可以很好的解过渡期的兼容性问题。在前面两篇文章中,我们介绍了如何在 Debian Stretch 中安装使用 PHP5,以及如何在Debian环境安装配置PHP 7.2。看完这两篇文章,细心的同学就会发现,两个版本的PHP共存,是很好实现的。 这里我们以同时安装 PHP-7.2 和 PHP-5.6 两个版本为例,说明Debian环境中如何配置实现Nginx中的PHP多版本共存。 一、根据安装配置PHP7.2教程安装 PHP-7.2 和 PHP-5.6: #先安装 PHP7.2 apt install -y php7.2-fpm php7.2-mysql...阅读全文

博文 2017-12-16 14:47:37 debian.cn

490MB/s 金士顿新款外置SSD发布:最高960GB

随着互联网的高速发展,云存储技术已经相当成熟了,网盘成了人们工作和学习中不可缺少的部分。尽管如此,离线存储技术也无法被取代,毕竟在没有网络的情况下,离线存储才是最佳的解方案。 而目前使用的最多的且最方便的离线存储设备就是U盘,凭借小巧便携的体型设计赢得了广大用户的喜爱,但随着数据的日益膨胀,小小的U盘无论是在读写速度还是在容量上已经无法满足我们日益增长的存储需求。 而今天,金士顿在CES大会上展示了一款离线存储设备——HyperX Savage EXO外置SSD。HyperX Savage EXO外置SSD外壳采用聚碳酸酯打造,存储颗粒为3D TLC NAND闪存,拥有480GB和960GB两种容量可供选择。 外置SSD的接口为USB3.1 Gen 2,带宽高达10Gbps,实际连续读写...阅读全文

博文 2018-01-08 20:54:57 debian.cn

Linux基金会宣布开放物联网ACRN管理程序

Linux基金会发布了其中一个开源项目ACRN的详细信息,这是一个专为物联网和嵌入式设备设计的管理程序。该项目得益于英特尔代码和工程的贡献,其目标是创建一个灵活小巧的虚拟机管理系统。通过基于Linux的服务操作系统,ACRN可以同时运行多个客户操作系统,使其成为许多场景的理想选。 Linux基金会表示,管理程序和设备模型是以“安全关键型工作负载”为基础构建的,并且设想ACRN将一些IoT工作负载整合到一个平台上。虽然该项目是作为强大而灵活的解方案提供的,但嵌入式开发人员社区被邀请提供代码以进一步扩展和改进ACRN。 通过项目ACRN,嵌入式开发人员可以立即使用新的管理程序选项。 ACRN针对资源受限设备进行了优化,并将重点放在隔离安全关键型工作负载并给予他们优先考虑,使项目适用于许多物联...阅读全文

博文 2018-03-20 08:33:38 debian.cn

Git 免用户名密码访问代码库

在使用 git 时,如果不是使用ssh 和 key 验证的方式,则每次提交都会让输入用户名和密码,会显得比较麻烦,在服务器上配置时也无法做到自动同步更新代码。那么如何解这个问题呢?我们这里介绍除 ssh + key 以外的免密码登录方式。在全局中存储用户的账号密码 以 Windows 环境为例,在 %HOME% 目录中,一般为C:\Users\username(也可以是你自己创建的系统用户名目录)目录下,创建.git-credentials 文件。 文件内容为一行,样例如下: https://username:password@git.example.com 注:username对应的 git 服务器的用户名,password 为密码。然后再进入 git bash 中执行, git...阅读全文

博文 2018-11-28 12:55:36 debian.cn

Consul 1.6 GA 发布

Consul 1.6.0 已于近日 发布 GA 版本 ,Consul 是 HashiCorp 公司推出的开源工具,也是主流的用于实现分布式系统服务发现与配置的方案。HashiCorp 对 Consul 的介绍是一个多云服务网络平台,用于在跨任何运行时平台和公共云或私有云的场景连接和保护服务。 本次更新主要集中在 Consul Connect(为其增加了一些主要新特性)和 Consul 的服务网格解方案方面,此外还有一些改进和错误修复。 Consul 1.6 新特性 支持对 L7 层的流量管理 。1.6 使用了新的配置条目类型,可为服务到服务(service-to-service)的请求启用高级流量管理模式。其他配置条目类型如服务解析器、服务隔离器以及服务路由器通过高级服务故障转移和部署模...阅读全文

华为正式发布 openEuler 系商业发行版操作系统

统的实现,深度参与到社区的创新和实践。除标准组件外,此次openEuler社区还孵化了A-Tune和iSula两个开源子项目:A-Tune是智能性能优化系统软件,即通过机器学习引擎对业务应用建立精准模型,再根据业务负载智能匹配最佳操作系统配置参数组合,实现系统整体运行效率提升;iSula是一种云原生轻量级容器解方案,可通过统一、灵活的架构满足ICT领域端、边、云场景的多种需求。 开发者可以通过访问如下链接,获得相关代码和文档,供参考学习、了解openEuler操作系统的架构和源代码, https://gitee.com/openeulerhttps://gitee.com/src-openeuler...阅读全文

博文 2020-03-27 11:10:15 debian.cn

Apollo 配置中心简单介绍

本章将介绍如何在Apollo配置中心中删除已经发布的项目。 专栏目录: 携程 Apollo 配置中心 | 学习笔记 序章 欢迎关注个人公众号: Coder编程 欢迎关注个人网站:https://coder-programming.cn/ 一、前言 之前一直学习SpringCloud, 对于配置中心,一直也是采用的Spring Cloud Config,但是用久了,发现很多地方满足不了要求,同时也感觉很low(个人看法勿喷)。在学习Spring cloud config 的时候也有听到过携程的apollo,但一直没时间去弄。直到昨天看了一张图,如下:使我下心去看看携程的apollo配置中心。 这张图也算是综合对比了spring cloud config,netflix archaius...阅读全文

博文 2021-04-09 17:53:51 CSDN

译:Kubernetes 最佳实践

探针则不会生效。译者:还有一点尽量为 Pod 内的所有容器都义探针。使用自动缩放在适当的情况下,可以使用自动缩放来动态调整 pod 的数量(Pod 水平自动缩放器,HPA)、pod 消耗的资源量(Pod 垂直自动缩放器, VPA)或集群中的节点数量(集群自动缩放器,CA),具体取于 对资源的需求。Pod 水平自动扩缩器还可以根据 CPU 需求扩展复制控制器、副本集或有状态集。使用缩放也带来了一些挑战,例如不在容器的本地文件系统中存储持久数据,因为这会阻止水平自动缩放。相反,可以使用 PersistentVolume。当集群上存在高度可变的工作负载并且可能根据需求在不同时间需要不同数量的资源时,集群自动缩放器非常有用。 自动删除未使用的节点也是省钱的好方法!译者:更多自动缩放的内容,可以浏...阅读全文

博文 2022-09-13 19:32:21 atbug.com

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

,并且 toHexString()操作也进行了优化。重新使用 async-profiler 查看一下最新的火焰图信息。 之前的 toHexString() 耗时已经几乎看不到了,但是感觉日志append 的操作横轴还是略长,于是将日志输出关闭来看看极限处理速度。 将日志级别调整为 warn,并启动程序,观测到处理速度已经能够达到 18万/s了,这相当于 toHexString()优化前的快3倍了。 此时再将日志append 模式改为异步模式,然后启动程序,观察,处理速率也能够达到 18万/s。 十、参考链接 火焰图的介绍论文 火焰图官方主页 火焰图生成工具 https://www.ruanyifeng.com/blog/2017/09/flame-graph.html https...阅读全文

博文 2022-03-11 10:05:09 博客园

说透IO多路复用模型_京东云开发者的博客

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表错误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。总结context主要用于父子任务之间的同步取消信号,本质上是一种协程调度的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放心地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

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

亚马逊12个月免费云服务

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

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来。qcount 表示当前缓冲区中有效数据的总量...阅读全文

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻则无法登录 Kubernetes 集群,重则整个集群异常。 为了解证书过期的问题,一般有以下几种方式: 大幅延长证书有效期,短则 10年,长则 100 年; 证书快过期是自动轮换,如 Rancher 的 K3s,RKE2 就采用这种方式; 增加证书过期的监控,便于提早发现证书过期问题并人工介入 本次主要介绍关于 Kubernetes 集群证书过期的监控,这里提供 3 种监控方案: 使用 Blackbox Exporter 通过 Probe 监控 Kubernetes apiserver 证书过期时间; 使...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

如何用 Privoxy 辅助科学上网

墙,大伙儿应该都很熟悉了,俺就不再浪费口水解释了。 VPN 翻墙的特点是——只要你系统中的 VPN 通道建立了,那么【整个系统】中的软件,(无需配置)自动就会走 VPN 通道。因此,VPN 有时候也被称为是“系统全局代理”。这是“VPN 式翻墙”相比“代理式翻墙”优越之处。 但是 VPN 翻墙有一个缺点,就是不方便共享 VPN 的翻墙通道给【其它系统】。相比而言,“代理式翻墙”很容易跨系统共享翻墙通道。 要想解 VPN 翻墙的这个缺点,Privoxy 再次派上用场。配置步骤如下: 1. 把 Privoxy 跟 VPN 安装到同一个操作系统中。 2. 配置 Privoxy 的监听选项,把监听地址设置为 0.0.0.0(表示监听端口绑到任意地址) 至于端口号,你可以直接用默认的 8118,也...阅读全文

博文 2025-01-29 16:25:41 program-think.blogspot.com

树莓派 9 周年:你不知道的树莓派冷知识

作为最成功的微型计算机,开源的树莓派(Raspberry Pi)在技术圈和学术界一直广受编程爱好者的好评,各路大神基于树莓派制作的新奇设备层出不穷,围绕这款微型计算机已经形成了一种独特的 DIY 文化,相关的开源软件生态也十分丰富。 ​树莓派最初是剑桥大学计算机系的一个实验性项目,创始人 Eben Upton 召集了一群教师、学者和计算机爱好者,希望设计出一种能激励儿童参与编程的小型计算机。这个计算机的灵感来自 1981 年 Acorn 公司的 BBC Micro 计算机。第一台树莓派 ARM 原型机安装在一个与 USB 记忆棒大小相同的盒子里,它的一端是 USB 端口,另一端是HDMI 端口。2012 年 2 月 29 日,首批树莓派正式发售,价为 35 美元。 根据树莓派官方统计的数...阅读全文

博文 2021-03-11 17:03:55 diablo4

RabbitMQ 高可用实现镜像队列

数据也是在三个节点之间同步,但 Queue 的实际存储只会在一个节点。我们发送消息到指 Queue,其实是发送消息到指节点下的 Queue。如下图所示,消息发送至队列 testQueue,无论发送者通过哪个 RMQ 节点执行发送,其最终的执行都会是在 MQ03 节点执行消息的存储。 说到这儿,可能有的小伙伴就要问了?说好的,RabbitMQ 集群提供高可用性呢?分析一下,RabbitMQ集群搭建完成后,如果不进行任何高可用配置,会有哪些问题呢? 单点故障会导致消息丢失:如果 MQ03 节点故障,那么 MQ03 中的消息就会丢失无法最大化的利用 RMQ 提升执行效率:既然每次发送到队列 testQueue 的消息都会在 MQ03 节点存储,那么何必搭建集群。 引入 RabbitMQ 的镜像...阅读全文

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

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

,CPU持续上升到99% 5分钟内,大量应用报警,并且拒绝服务,RDS的监控显示出现大量慢SQL,联系服务器数据库提供商进行协助 8分钟内,进行数据库主备切换(业务会受损,但是也没办法,没有位到问题) 9分钟内,部分业务恢复,但是一些业务订单的回调消息堆积超过20w,备库的CPU使用率也持续上升 15分钟内,备库CPU使用率超过97%,业务再次中断,进行切回主库,并进行限流 20分钟内,关闭一些次要应用的流量入口 25分钟内,主库CPU使用率恢复正常 30分钟内,逐步开启关闭的限流应用 35分钟内,所有应用恢复正常 接下来就是与服务器数据库提供商成立应急小组紧急优化可能出现的慢SQL,虽然说可能解了一些慢SQL,但此次并没有位到具体的问题,也就为几天后再次发生宕机事件埋下了伏笔 事故影响 某...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Go 语言发布 2.x 计划,或将不完全向后兼容

论 Go 2 了。 开发团队表示,Go 语言如今的目标与 2007 年相同,就是希望使程序员更有效地管理两种规模:生产规模和开发规模,其中又主要针对的是与许多其他服务器交互的并发系统,和许多工程师协调的大型代码库。Go 2 的目标就是解 Go 1 在规模化方面做的还不好的地方。 据 Russ 估算,目前全球的 Go 开发者至少有 50 万,这意味着有数百万个 Go 源文件和至少十亿行 Go 代码。那些程序员和源代码代表了 Go 的成功,但同时也是对 Go 2 的主要约束。只有在回报非常巨大时,才能让开发者改变原有的旧习惯,学习新用法。Go 2 必须修正 Go 1 的问题,带动所有的 Go 开发者, 也就必须带上所有现有的 Go 源代码,不能让生态系统分裂。 如果把 Go 2 要增加的特性分...阅读全文

博文 2017-07-22 19:50:05 debian.cn

Debian及衍生版自动安装系统更新

在本篇文章中,我们将介绍如何在 Debian 和其衍生版上,配置系统自动安装更新,并通过邮件通知系统管理员,每次升级的变更内容。本文中提到的多数命令,由于是系统层面的配置,需要用 root 来执行。 在配置系统更新前,我们需要安装这两个安装包,安装命令如下: # apt update && aptitude install unattended-upgrades apt-listchanges -y unattended-upgrades 是一个可以让系统保持自动更新的包。这些更新包含了安全更新和 Bugfix 等。启用 unattended-upgrades 后,我们还需要知道每次改动的内容,apt-listchanges 解了这个问题,它将会邮件通知我们升级过程中发生的改变。 依赖包...阅读全文

博文 2019-06-04 12:23:56 debian.cn

Debian 10 Buster安装镜像发布 附下载地址

序)和 mipsel(小端序))64 位小端序 MIPS(mips64el)64 位小端序 PowerPC(ppc64el)IBM System z(s390x) 与Debian版本的情况一样,Debian 10带来了比以前更多的新软件包; 此更新包括13,370个新软件包,使总计达到了57,503个软件包。Debian 9中的35532个软件包获得升级,而7,278个软件包已从发行版中删除。删除的包将在包管理工具中标记为已过时。 部分重要的软件更新: Debian 10中的一些主要软件升级属于桌面环境,具体取于您下载的版本。以下是此升级包含的桌面版本:GNOME 3.30,KDE Plasma 5.14,LXDE 10,LXQt 0.14,MATE 1.20和Xfce 4.12...阅读全文

博文 2019-07-07 10:48:25 debian.cn

Linux Mint 20 与 Debian 版本 LMDE 4 新特性

%(正常模式)或 200%(HiDPI 模式),并且对所有显示器而言都是相同的。未来每个屏幕的缩放比将有所不同,用户可以将其设置为 100% 到 200% 之间的值。 绽放比模式可以解不少显示问题,比如因为 HiDPI 带来的清晰度问题和多显示器支持等。通过能够分别为每个显示器设置缩放比例,希望获得更高的像素密度,并允许 HiDPI 和非 HiDPI 显示器之间更好地兼容。 目前正在 Alpha 测试 Cinnamon 的这种比例缩放,并评估其在各种 GPU 上的兼容性以及优缺点。 关于 Linux Mint 20 与 LMDE 4 的更多信息,查看 https://blog.linuxmint.com/?p=3858...阅读全文

博文 2020-02-04 18:35:24 debian.cn

Redis 官网宕机:错误提示无法连接 Redis

这种情况只是由于实例的内存不足而导致的。所以他的解方案也十分直接,升级为 $20/月,4G 内存的实例。另外还为 allkeys-lru 策略配置了 1GB 内存的限制。 However lately I installed http://try.redis.io there. And apparently it does not garbage collect the session keys well enough or something like that. So memory accumulated and the instance quit for OOM, but this probably only happened because the instance is very...阅读全文

博文 2020-03-13 13:17:06 debian.cn

Raspberry Pi 4 发布 8G 内存版本

Raspberry Pi 4 发布了 8GB 内存版本,同时带来 64 位镜像(beta 中)。 去年 6 月发布的 Raspberry Pi 4,带来了可选内存 1GB、2GB 与 4GB DDR4 版本,官方博客介绍:“我们在 Raspberry Pi 4 上使用的 BCM2711 芯片可以寻址高达 16GB 的 LPDDR4 SDRAM,因此,我们提供更大内存版本的真正障碍是缺少 8GB LPDDR4 封装。”该问题最终由合作伙伴 Micron 解,于是有了目前 8GB 版本的诞生。 8GB 版本售价 $75。这么大的内存,对于打算编译和链接大型软件或运行繁重的服务器工作负载,或者只是希望能够一次打开更多浏览器选项卡的用户来说,都绝对够用了。 此次发布的版本,同时还从电路板右侧靠近...阅读全文

博文 2020-05-30 12:19:06 debian.cn

SonarQube 8.4 发布,分析时间最多可减少 80%

。 更快地分析 C#、C、C++ 和 Objective-C 在此版本中,通过消除分析过程中不必要和多余的工作,加快了针对 C、C++、Objective-C 和 C# 的分析速度。对于 C、C++ 和 Objective-C,测试显示分析时间最多可减少 80%,具体取于项目使用的外部依赖项的数量,而 C# 分析显示,时间平均缩短了 25%。 热备份,更快的启动 现在可以进行数据库备份而无需关闭 SonarQube,不必担心数据损坏。SonarQube 在问题索引编制完成之前接受并处理分析报告。这意味着,即使在接口完全可用之前,Quality Gate 的状态也将被更新,并发送 webhooks 和拉取请求。同时,一旦索引了每个项目,就可以浏览每个项目。简而言之,当启动在后台进行时,开发生命周...阅读全文

博文 2020-07-13 12:55:22 debian.cn

Facebook 以最高级别身份加入Linux基金会及其董事会

项目使电信运营商可以轻松地在难以到达的区域部署移动网络,从而降低了建设和维护电信网络的成本。Facebook 的 “Data for Good” 计划用于共享地理数据,以解一些世界范围内的人道主义问题,包括在 COVID-19 疫情期间发挥作用。创建并维护 PyTorch 开源生态系统,为在计算机视觉、自然语言处理和其他学科中利用人工智能和机器学习贡献了很大一份力量;React.js 也由 Facebook 创建,它为世界上一些最受欢迎的网站提供支持,并且由于其简单性和灵活性而成为前端 Web 开发标准。 Linux 基金会会员分为银级、金级和白金级三种不同等级,白金级即最高等级,每年需缴纳会费 50 万美元,同时拥有董事会席位。AT&T、谷歌、华为、IBM、英特尔、微软、Oracle、腾...阅读全文

Debian 9 使用kubeadm创建 k8s 集群(上)

正确运行工作负载。 先条件 本地Linux / macOS / BSD计算机上的SSH密钥对。 如果您之前没有使用过SSH密钥,可以按照如何在本地计算机上设置SSH密钥的说明来学习如何设置它们。运行Debian 9的三台服务器,每台至少有2GB RAM和2个vCPU。 您应该能够以SSH密钥对的root用户身份SSH到每个服务器。Ansible安装在您的本地计算机上。 有关安装说明,请按照Ansible官方安装文档进行操作 。熟悉Ansible Playbook。 有关查看,请查看配置管理101:编写Ansible Playbooks 。了解如何从Docker镜像启动容器。 如果需要复习,请参阅如何在Debian 9上安装和使用Docker的 “第5步 - 运行Docker容器”。 第1步...阅读全文

博文 2019-05-13 22:47:39 debian.cn

如何使用 journalctl 清理 journal 日志

, 即可彻底屏蔽 /usr/lib/ 目录中的同名文件。 选项 所有选项都位于 "[Journal]" 小节: Storage= 在哪里存储日志文件: "volatile" 表示仅保存在内存中, 也就是仅保存在 /run/log/journal 目录中(将会被自动按需创建)。 "persistent" 表示优先保存在磁盘上, 也就优先保存在 /var/log/journal 目录中(将会被自动按需创建), 但若失败(例如在系统启动早期"/var"尚未挂载), 则转而保存在 /run/log/journal 目录中(将会被自动按需创建)。 "auto"(默认值) 与 "persistent" 类似, 但不自动创建 /var/log/journal 目录, 因此可以根据该目录的存在与否日志的保存...阅读全文

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

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页面、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后面的处理。例如一个文章推荐的处理流程...阅读全文

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