InfraPub 为您找到相关结果 453

Python3: 二分法查找的两种实现方法

二分法找是一种基础的、简单而高效的算法,又称为折半找。顾名思义,就是将表一分为二,从而减少了找次数,提高了效率。但缺点就是表必须为顺序表,并且表在找时不宜做增删操作。 其最优时间复杂度为O(1),最坏时间复杂度为O(logn)。代码样例: ``` # coding:utf-8 方法一:递归法 def binarySearch_01(listx, item): """Be of recursion""" length = len(listx) if length > 0: #定义中间值下标: split = length // 2 if listx[split] == item...阅读全文

开源团队协作 TMS 发布新版本 v2.10.0

TMS 是一个用 Java 语言开发的,类似 Slack、Barrychat 的团队协作沟通Web平台,同时也是一个支持博文wiki撰写,国际化翻译管理的 Web管理系统。近期,TMS 发布了新版本 v2.10.0。 新功能: #IHIS4: 博文最近编辑文章列表,方便找到最近编辑创建的文章, 办事项管理(让繁多的办事项有条不紊的备忘记录,然后逐步攻破,减少记忆负担,提高工作利率不是一丢丢) 频道组(聊天频道支持创建分组,方便一次性 @多人 ,减少@具体用户的数次(爽的不要不要的) 优化改进: #II5PA: 游客可见博文 分享链接 复制分享 博文过滤找清除过滤条件,输入框获取输入焦点 #II9N9: 沟通频道,按标签检索过滤 #IINTK: 沟通内容页面当 window...阅读全文

博文 2018-05-01 23:03:20 debian.cn

Elasticsearch 7.6.0 发布,分布式搜索和分析引擎

Elasticsearch 7.6.0 发布了,Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。 更新内容较多,摘取部分新特性: Aggregations 新的直方图字段映射器,支持百分位数聚合 #48580 (issue: #48578)对字符串术语实施统计汇总 #47468 Analysis 实施 Lucene EstonianAnalyzer,投票 #49149 (issue: #48895) Authentication 受密码保护的密钥库 (Feature Branch) #49210 Features/ILM+SLM 等 SLM 策略执行的 ILM 操作 #50454 (issue: #45067)添加 ILM histore 商店索引...阅读全文

C++20 标准草案全票批准通过

拟constexpr 向量和字符串计时:日历、时区支持std::formatstd::spanstd::jthread 详细变化看 cppreference.com, open-std.org 和 Wikipedia。 像 Concepts/Ranges/Modules/Coroutines 这些新特性将会对开发者及 C++ 生态产生不小的影响,也为这门“高龄”编程语言增添不少魅力。 工具方面,GCC 10 编译器对 C++20 标准已基本支持,在更早的 GCC 8/9 中,目前尚完成的是对 modules 的支持。GCC Wiki 页面概述了目前正在进行的工作。此外,Clang C++ 状态报告页面显示已完成了对大部分特性的支持,完成的包括 concepts, immediate...阅读全文

博文 2020-09-08 10:51:13 debian.cn

漫画赏析:Linux 内核到底长啥样

鹅,它表示着 PID 为 421 的进程,它正在看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗,这代表对文件系统的监控。 一层(地面层) floor 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。 Process Table 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 内核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等状态中,等工...阅读全文

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

Terraform 学习总结 — Terraform 简介

)。Terraform 生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执行计划。 Terraform 是用 Go 语言开发的开源项目,你可以在 github 上访问到它的源代码。 Terraform 核心功能 基础架构即代码(Infrastructure as Code)执行计划(Execution Plans)资源图(Resource Graph)自动化变更(Change Automation) 基础架构即代码(Infrastructure as Code) 使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对其他代码一样对它。 执行计划(Execution...阅读全文

Linux内存buffer和cache的区别

在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。 一. 内存使用说明 Free 命令相对于top 提供了更简洁的看系统内存使用情况: [root@debian ~]$ free total used free shared buffers cached Mem: 1035108 1008984 26124 0 124212 413000 -/+ buffers/cache: 471772 563336 Swap: 2096472 842320 1254152 这里显示的单位是KB。 在Linux的内存分配机制中,优先使用物...阅读全文

Java 10 正式发布:包含 109 项新特性

已久的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版。为了更快地迭代,以及跟进社区反馈,Java 的版本发布周期变更为每六个月一次,并且承诺不会跳票。新的发布周期也会严格遵循时间点,将在每年的 3 月份和 9 月份发布。 Java 10 是采用新发布周期的第一个版本,提供了 109 项新特性,其中最备受关注的莫过于局部变量的类型推断。 相关链接: JDK 10 安装指南 JDK 10 发布说明 Readme Java 10 的 12 项关键新特性: JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调,可看 JEP 286 调结果 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中 JEP 304: 垃圾收集器接口。通过引入一...阅读全文

博文 2018-03-21 08:35:10 debian.cn

俄罗斯逮捕了一名 Debian 开发者

Debian 项目发表新闻稿,对一名活跃开发者遭俄罗斯当局逮捕表达了关切。Dmitry Bogatov 是一名数学教师和活跃 Debian 贡献者,他在 Debian Haskell 组工作,维护了多个软件包。 Debian 表示,他们正在等更多有关此案的细节,希望程序正当,Bogatov 能得到公平对。 出于安全方面的考虑,Debian 项目宣布移除 Bogatov 持有的密钥,Debian 项目将全力支持他及其家人。...阅读全文

Debian 10 Buster 正式版即将发布

Debian 10 Buster 即将发布。第一个发布候选版已经发布,我们预期可以在接下来几周内,会见到最终版。如果你期对 Debian 10 Buster 的新版本有所期,那么让我告诉你这个版本里面会有什么。 Debian 10 Buster 发布计划 Debian 10 Buster 的发布日期并没有确定。为什么这样呢?不像其他分发版,Debian 并不基于时间发布。相反地它主要关注于修复 release-critical bug。发布版重要 Bug 要么是严重的安全问题(CVE),要么是一些其他阻止 Debian 发布的严重问题。 Debian 在它的软件归档中分为三个部分,叫做 main、contrib 和 non-free。在这三者之中,Debian 开发者和发布管理者最关心...阅读全文

博文 2019-04-29 11:04:15 debian.cn

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的程序员也无法可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检边界。它肯...阅读全文

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

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

Ubuntu 19.10 生命周期将在今年 7 月结束,之后一段时间内最大的版本则是 Ubuntu 20.04 LTS,其重大更新和改进将在 2030 年前终止。20.04 是 Ubuntu 的第 8 个 LTS 版本,计划于今年 4 月 23 日发布。前两天我们报导过 Ubuntu 20.04 LTS 的版本更新时间表,描述了各个时间节点的发布情况,今天来看看 20.04 会带来什么亮点。 首先是主题变化,Yaru 会有一个从亮到暗的主题变化可选,该主题下的复选框、单选按钮以及滑块和进度条等,都不再呈蓝色或绿色,而以紫色取代之。从绿色切换到紫色,整体上减少了纷杂的色彩,同时也不破坏 Ubuntu 本身的和谐。 其次,Ubuntu 社区的另一个期已久的需求也将得到满足,系统将删除预装的...阅读全文

博文 2020-01-27 09:36:30 debian.cn

Kubernetes 1.18 发布

,而我们也开始考虑利用基于kubectl exec构建的工具为开发人员提供支持。此次新增的kubectl debug命令(目前为alpha版)允许开发人员在集群当中轻松调试自己的Pod,进而获得巨大的便利性增益。这项命令将创建一个即席容器,容器运行在Pod旁边,同时附带有控制台以执行交互式故障排。 SIG-CLI 调试程序的能力变得越来越必要,基于 kubectl exec,增加了 kubectl alpha debug 命令(目前为 alpha 阶段),使开发人员可以轻松地在集群中调试其 Pod。此命令允许创建一个临时容器,该容器在要检的 Pod 旁边运行,并且还附加到控制台以进行交互式故障排除。 Windows CSI 支持 带来了用于 Windows 的 CSI 代理,目前处于...阅读全文

博文 2020-03-27 18:28:34 debian.cn

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

1440次申请VPC IP和释放VPC IP操作。 然而,经过数天的测试统计,发现通过该CronJob,集群每天申请IP次数高达2500以上, 而释放的的IP次数也达到了1800。申请和释放次数都超过了1440,而且申请次数超过了释放次数,意味着,部分分配给Pod的VPC IP被无效占用而消失了。 CNI:删除的IP去哪儿了? 仔细分析CNI插件的运行日志,很快发现,CNI在执行拆除SandBox网络动作(CNI_COMMAND=DEL)中,存在不少无法找到Pod IP的情况。由于UK8S 自研的CNI找Pod IP依赖正确的Pod网络名称空间路径(格式:/proc/10001/net/ns),而kubelet传给CNI的NETNS环境变量参数为空字符串,因此,CNI无法获取释放的VPC...阅读全文

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

众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等返回结果才能执行下面的操作。 异步:请求发出后,不需要等返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

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

Kong发布新项目Kuma 通用的服务网格

Kong 发布了新的开源项目 Kuma,一个通用的现代服务网格控制平面。Kuma 基于 Envoy 构建,Envoy 是一个为云原生应用设计的强大的代理软件。Envoy 是业内最领先的边车代理;而随着监控、安全和可靠性对大规模微服务应用变得更加重要,服务网格也在成为云原生生态系统的重要组成部分。 “看到技术社区快速地接纳 Envoy 让我非常高兴;同时我也对 Kong 的 ‘Kuma’ 项目充满期。” Envoy 的创始人 Matt Klein 表示,“Kuma 扩展了 Envoy 的使用场景,使得企业在服务网格中创建云原生应用更加快速,更加便捷。” Kuma 解决了第一代服务网格技术中的缺陷,使得无缝管理网络中包括四层和七层流量、微服务和 API 在内的任意服务成为可能。Kuma 高效...阅读全文

Golang channel 通道常见使用场景

Go 的 channel 在实际项目中是怎么使用呢? channel 会有有缓冲和无缓冲两种类型,无缓冲的可以简单使用让两个 goroutine 数据同步通信。另外一种场景是对某个 object,使用 channel 作为其属性之一,那么channel阻塞时则表明条件未满足,则需要等其他数据结果返回。 本文列举几类常见的 channel 使用场景。 读写 package main import ( "fmt" "time" ) func WriteData(intChan chan int) { for i:=1;i<=50;i++{ intChan<-i fmt.Println("写:",i) time.Sleep(time.Millisecond*100) } close...阅读全文

博文 2021-01-24 21:22:22 debian.cn

六个开源软件开发的潜规则

孤立地看问题。这表明,你要对项目各个部分如何与其他人协作交互有比较深入的理解。让你的补丁填坑而不是挖坑。这样你朝成为社区精英的目标上又前进了一大步。 粗枝大叶,自寻烦恼 代码提交完毕后你的工作还没结束。如果代码被接受,还会有一些关于这些更改的讨论和常见的问答,还要做测试。你要确保你可以准时提交,努力去理解如何在不影响社区其他成员的情况下,改进代码和补丁。 和谐相处,助人助己 开源社区不是自相残杀的丛林世界,我们更看重项目的价值而非个体的贡献和成功。如果你想给自己加分,让自己成为更重要的社区成员、让社区接纳你的代码,那就努力帮助别人。如果你熟悉网络部分,那就去复审网络部分,用你的专业技能让整个代码更加优雅。道理很简单,顶级的审者经常和顶级的贡献者打交道。你帮助的人越多,你就越有价值。 八面...阅读全文

博文 2017-05-20 10:27:11 debian.cn

新加坡华侨银行(OCBC) 零门槛开户 使用APP在家即可申请

状态。这一步遇到困难,可以参考这个 Youtube 视频。​6 APP读取的时候会跳出检测,这时候不要动,等读取完毕。同样需要一些耐心,多试试,不难。​7 给身份证拍个照。点击【下一个】开始给身份证正面拍照。点击【下一个】开始人脸识别,这一步开始人脸验证。注意,不要裸露上身。​8 这些信息填完之后,点击【提供我的详细信息】,开始填写自身国家、职业、公司等详细信息。在这之前,首先是检你之前填写的姓名和邮箱等信息。​9 选择工作类型,选择【受雇】或者【自雇】。填写税务信息。纳税人识别号为自己身份证号。​10 这里选择 【不,我未曾/没有担任重要的公职,也不是一名已/被委托担任公共职务的公共职者 的家庭成员或关系亲近的人】然后,勾选电子邮件和短信,☑️ 勾选 【本人确认懂英文,并同意以英文形式...阅读全文

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 看所有namespace的pods运行情况 kubectl get pods --all-namespaces 看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

代号“Bookworm”的Debian 12将于明年年中发布

Debian 发布团队建议他们的过渡和工具链冻结(transition and toolchain freeze)在 2023 年 1 月 12 日左右,Debian 12.0 软件冻结大约在 2 月 12 日,而完整的硬冻结会在 3 月 12 日。Debian 12.0 版本会在之后的某个时间点发布,而取决于错误修复情况通常会在几个月之后。但无论如何,我们可以期在 2023 年中期发布 Debian 12.0。...阅读全文

博文 2022-03-15 14:18:34 cnBeta.COM

Kafka生产问题总结以及性能优化

都要用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是否成功写入。就可以继续发...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

SVN切换分支用法汇总

path:"中输入目标分支的远程地址,例如http://localhost/branches/develop/。Step 3:单击“OK”按钮,等操作完成即可。四、SVN切换分支常见问题处理在使用SVN进行分支切换的过程中,可能会遇到一些常见的问题。为了方便大家解决这些问题,下面列举了一些经常遇到的问题及其解决方法:1. SVN switch的URL地址错误在使用SVN switch命令进行分支切换时,如果URL地址有误,可能会导致切换分支失败。此时,可以按照以下步骤进行处理:Step 1:检URL是否正确;Step 2:确认URL地址是否可以访问。2. 更新操作失败在进行分支切换的过程中,可能会遇到更新操作失败的问题。这时,我们可以使用以下方法来解决这个问题:Step 1:检网络连接是否正...阅读全文

博文 2023-06-09 14:22:35 infras

Kubernetes调度算法浅析

给每个节点和分配的pod进行打分。1.首先可用的node和pod会被打分函数进行打分,分数在0-10分之间。并且每个打分函数还有一个权重值。那么一个可用的node节点最后的总分就是:Σ函数打分*函数的权重值。 node节点总分 =(函数1的打分 * 函数1权重值)+......+(函数n的打分 * 函数n的权重值) 2.打分函数即优先级函数的种类: 这里只介绍了一部分的优先级函数算法,还有许多算法在这里未解释有兴趣的小伙伴可以上网一下哦。 小结 kube-scheduler组件将整个集群资源调配变得很科学。比如该如何分配pod的副本到其他的node节点中,或者如何分配pod使得集群运转的更加高效。此外kube-scheduler还支持第三方的调度器进行扩展,所以是一种插件化的实现。...阅读全文

博文 2020-12-20 11:01:10 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

PodFailed,并且将该 Pod 从该节点上驱逐出去。例如当你创建一个 Job 时,如果 Pod 失败重试的时间超过了 spec.activeDeadlineSeconds 设置的值,就会将 Pod 从该节点驱逐出去。 接下来,Pod 的 Phase 值由 init 容器 和应用容器的状态共同来决定。因为目前容器还没有启动,容器被视为处于等阶段,如果 Pod 中至少有一个容器处于等阶段,则其 Phase 值为 Pending。 最后,Pod 的 Condition 字段由 Pod 内所有容器的状态决定。现在我们的容器还没有被容器运行时创建,所以 PodReady 的状态被设置为 False。可以通过 kubectl 看: $ kubectl get -o go-template...阅读全文

博文 2022-04-18 16:18:04 CSDN

三大亮点带你看 Linux 内核 5.6

当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了。说实话,Linux 5.6 比 5.5 更令人兴奋。即使即将发布的 Ubuntu 20.04 LTS 发行版将自带 Linux 5.5,你也需要切实了解一下 Linux 5.6 内核为我们提供了什么。 我将在本文中重点介绍 Linux 5.6 发布版中值得期的关键更改和功能: Linux 5.6 功能亮点 当 Linux 5.6 有新消息时,我会努力更新这份功能列表。但现在让我们先看一下当前已知的内容: 1、支持 WireGuard WireGuard 将被添加到 Linux 5.6,出于各种原因的考虑它可能将取代 OpenVPN。如果你使用过它,那你可能已经知道它比 OpenVPN 更好的...阅读全文

博文 2020-02-07 11:13:09 debian.cn

为备案顺利 本站将关闭一周【已完成备案】

【2018-03-07 更新:中午一点半收到短信提醒,网站已成功备案。这效率杠杠的!】 朋友们,大家好: 为了向大家提供更好的服务,我们决定把服务器迁移回国内。为符合国内的政策要求,我们计划给网站备案。 为确保备案顺利完成,本站在本月内将会关闭 8-10 个工作日,备案完成后重新开放。 关站开始时间我们尚不确定,关站前将不再通知。给你的访问带来不便,敬请谅解。 谢谢! Debian中国...阅读全文

博文 2018-03-02 10:23:53 debian.cn

自由软件基金会向微软邮寄空硬盘 望其贡献Windows 7源码

2009 年正式发布的 Windows 7 操作系统,已于 2020 年 1 月 14 日终止面向公众的技术支持。即便如此,自由软件基金会(FSF)还是做好了下一步行动的准备。为了接管 Windows 7 源码,该组织已于上周向微软邮寄了一枚空硬盘。至于软件巨头将如何回应,目前暂不得而知。 自由软件基金会称: 鉴于其拥有所有必要的合法权利与措施,微软有权选择是否开源 Windows —— 只该公司一声问候,我们可随时为其提供力所能及的帮助。 尽管微软不大可能开放 Windows 7 的源码,但自由软件基金会表示将该操作系统的钥匙交由开源社区的提议,已经收到了热烈的反响。 过去几周,我们已经向其传达了这样的信息 —— 全世界成千上万的人希望 Windows 开源 —— 而我们将为其提供相应...阅读全文

博文 2020-02-17 15:11:28 debian.cn

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从创建到成功运行会分别处于不同的阶段,每个阶段又分为不同的状态,本文将简单介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。等中(PodPending): 创建 Pod 的请求已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

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

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

深入学习golang — channel

. }() doSomethingForAWhile() <-c // Wait for sort to finish; discard sent value. 上面的示例中,在子goroutine中进行排序操作,主goroutine可以做一些别的事情,然后等子goroutine完成排序。 接收方会一直阻塞直到有数据到来。如果channel是无缓冲的,发送方会一直阻塞直到接收方将数据取出。如果channel带有缓冲区,发送方会一直阻塞直到数据被拷贝到缓冲区;如果缓冲区已满,则发送方只能在接收方取走数据后才能从阻塞状态恢复。 3. 消息传递 我们来模拟一下经典的生产者-消费者模型。 func Producer (queue chan<- int){ for i:= 0; i < 10; i++ { queue <- i } } func...阅读全文

博文 2021-01-25 12:39:17 博客园

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

-controller.enabled=true --namespace ingress-apisix 点击看详细安装介绍。 步骤三:安装 Cert Manager 通过 Helm 来安装 Cert Manager,点击可看详细安装介绍。 helm install cert-manager jetstack/cert-manager --namespace ingress-apisix --set prometheus.enabled=false --set installCRDs=true 安装完毕后请等一会后看组件的运行状态,确保所有组件都已正常运行,你可以通过如下命令进行看。 kubectl get all -n ingress-apisix 返回结果如下所示,表示所有组件都已正常运行。 NAME READY...阅读全文

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

Debian GNU/Linux 9 “Stretch” 将于2017年初发布

2016 年 11 月 5 日,Debian 发布经理 Emilio Pozuelo Monfort 和 Niels Thykier 高兴地宣布 Debian GNU/Linux 9 "Stretch" 操作系统进入冻结开发阶段。 在一个开发周期中,GNU/Linux 有多个里程碑,如 Alpha、Beta、RC、Beta Freeze、Feature Freeze,等等, Debian GNU/Linux 9 "Stretch" 即 Debian OS 的下一个重大发布,此版本已经是功能完善的版本。 "这意味着不再有新的库或包的大变化。不过之后几天还会有小的改变,我们尽量使其工作更流畅,所以请耐心等最后的调整。"通知中写道。 按 Debian 开发周期,下一步是 2017 年 1 月...阅读全文

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

树莓派64位系统Debian 9先行测评:性能最高提升30倍

-threads=1000 --thread-yields=1000 --thread-locks=8 run #互斥锁测试 sysbench --test=mutex --mutex-num=4096 --mutex-locks=50000 --mutex-loops=10000 run #连续读写: sysbench --test=fileio --file-num=2 --file-total-size=64M --file-test-mode=seqrewr run #随机文件读写: sysbench --test=fileio --file-num=2 --file-total-size=64M --file-test-mode=rndwr run #进入系统检系统版本信息及硬件架构平台信息...阅读全文

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

几种常用的方法论、思维方式

方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简单;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 每个人在层级组织里都会得到晋升,直到不能胜任为止。换句话说,一个人...阅读全文

欧洲最大云服务公司 OVH 法国机房着火:1个数据中心被完全烧毁、部分客户数据完全丢失且无法恢复

任何数据。​OVH 创始人兼董事长 Oktave Klaba 在推特实时更新了大火的情况,并建议客户启动容灾恢复计划。他表示将在接下来的 1-2 周对服务器进行紧急修复,完全恢复时间定。​...阅读全文

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

的介绍 graph walk 的概念简单明了,它总是有次序地去完成一系列操作: 21行:定位下一个需要处理的 node 23行:准备下一个需要处理的 node 的 objects /报文 29行:处理定位好的 node 32行:检 graph walk 是否完成 在 graph walk 层面来看,最重要的就是第一步:定位下一个要处理的 node。DPDK 的 graph 框架利用了 circular buffer 和附带的 head 和 tail 指针定位下一个 node,如果 head 不等于 tail 指针,这就代表了 circular buffer 里有需要处理的 node,而在 libgraph 库中,这些处理的 node 也被称为 pending stream。 回到第一步...阅读全文

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

十个增加 Linux Shell 脚本趣味的小工具

盘灯: setleds -D +num 关闭数字键盘灯: setleds -D -num -caps: 清除大写灯 +caps:打开大写灯 -scroll:清除滚动锁 +scroll:打开滚动锁 4. zenity 命令 这个命令可以显示GTK+的对话框,然后返回用户的输入。你可以用这个命令在脚本中显示信息,并要求用户输入信息。下面这段代码就是域名的whois询: #!/bin/bash # Get domain name _zenity="/usr/bin/zenity" _out="/tmp/whois.output.$$" domain=$(${_zenity} --title "Enter domain" \ --entry --text "Enter the domain you...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Focalboard :一款开源、本地存储、免费的类 Notion 应用

源、本地、免费、加密的在线文档应用成为这些用户的期。然而,在关注一年多后,Anytype 的官方内测依然在小规模进行,还没有进入 Beta 阶段。Anytype Anytype还有更多的选择吗?在互联网遨游过程中,我发现了 Focalboard——一款免费、开源的类 Notion 应用。Focalboard 看板视图FocalboardFocalboard 的自我定位是“Trello、Notion 和 Asana 的开源、自托管替代品”。产品定位:Focalboard 本质上属于项目管理工具,主要帮助个人和团队对任务进行组织、跟踪和管理。外观和操作方式:Focalboard 提供了类似 Notion 的列表视图、看板视图、Gallery 视图,没有 Notion 的时间轴等视图。编辑方式...阅读全文

博文 2021-09-16 19:50:29 少数派

2017年的Linux内核防护依然脆弱

"Linux 内核 “社区” 对安全的优先级并不高,虽然经历了 2000 年代的多次大规模漏洞利用事件但并没有让 Linus Torvalds 本人改变 "A bug is bug" 的哲学,由于 Linux 内核的安全问题逐渐影响到了 Android 和 IoT 设备,一次 华盛顿邮报的曝光促使了 KSPP(Linux 内核自防护项目)的成立。 KSPP 是由 Linux 基金会旗下的 CII(基础架构联盟)管理,其吸纳了来自诸多大厂商(Google, RedHat, Intel, ARM 等)的工程师进行联合工作,可惜的是两年的时间过去了,KSPP 大多时候只是在重复的抄袭 PaX/Grsecurity 的各种特性以获得各自雇主那里的 KPI 和 credit,各种混乱的代码合并到了...阅读全文

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

Go 语言的大版本更新:Go 2.0 安排上了

述。 Go 1 和 Go 2 之间的主要区别在于主导权的不同。谁将影响设计,又该如何做出决策?我们都知道,Go 1 的诞生是小团队努力的结果,受外部影响不大;而到了 Go 2,尤其是经过将近 10 年的发展后,Go 语言的生态已经十分庞大,因此它也更多地受到社区的驱动和影响。经历了这些,Go 开发团队也了解到了更多一开始不知道的与语言特性和库相关的知识 —— 这些都来自于 Go 社区的反馈。 2015年,Go 开发团队引入了提案流程,以收集特定类型的反馈:针对语言和库变更方面的提案。由 Go 开发团队高级成员组成的委员会定期审、分类和决定社区提交的提案。这个流程十分有效,但作为该过程的一部分,他们忽略了所有不向后兼容的提案,只是将其标记至 Go 2。到了2017年,Go 开发团队也停止进行...阅读全文

下一个LTS内核版本确定为 Linux Kernel 4.9

新选择4.8分支或者等4.10版本。如果有了进一步的消息,我们将会在kernel.org网站上进行更新让所有人都知道。” Linux Kernel 4.9的主要特性包括:虚拟映射内核栈分配,英特尔的粗粒度保护机制pkeys系统调用,BBR拥堵控制算法,支持模块化智能手机的Greybus子系统,大量的文件系统改进,驱动更新如改进 AMD Radeon GPU支持,bug修正,等等。4.9包含了16,216个非合并变更集,是内核项目历史上最忙碌的开发周期,AMD贡献了最多的行变更,最活跃的开发者中就有开发AMD PowerPlay驱动的Rex Zhu。...阅读全文

Devuan Jessie 1.0 稳定版发布

备受期的Devuan GNU/Linux 1.0.0 “Jessie”操作系统于昨天正式发布,可以在不安装systemd或者没有任意systemd相关安装包的情况下安装到笔记本和工作站上。自2014年11月立项以来,Devuan项目的目标就是在没有systemd初始化进程的情况下开发出Debian GNU/Linux分支。 2014 年,因为选择初始化系统 systemd 引发的争议,一群不满的开发者创建了不使用 systemd 的 Debian 分支 Devuan。现在,Devuan 开发者宣布释出 Devuan Jessie 1.0 正式版。 这主要是因为于2015年发布的Debian 8 Jessie系统中默认初始化系统为systemd,可选使用sysvinit。systemd最受...阅读全文

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

Qt 5.12 将于 11 月发布,或弃用 Alpha/Beta 标签

照”版本,并且用户缺少正确认识有关开发阶段的期望,那么用户的测试将会减少。但开发者也同意,转向更频繁的快照/测试版本可能会有好处。 所以我们不妨看看到时 Qt 5.12 是如何表示测试阶段的版本号的,如果一切顺利的话,我们可以期另一个 Qt5 工具套件在圣诞节前一个月的更新。 原文: https://www.phoronix.com/ 编译:开源中国...阅读全文

Linux Kernel 5.0 正式面向公众

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...阅读全文

博文 2019-03-04 19:06:03 debian.cn

Raspberry Pi 即将迎来 Vulkan 的支持

个三角形。 Upton 再次强调,这仅仅是 Raspberry Pi 上 Vulkan 开发过程的开始。“早在 2018 年,社区就一直在为 Vulkan 提供支持(最初是在 VideoCore IV 上)而努力,Igalia 仅在开发新驱动程序上工作了几周,在将实际的驱动程序交付用户之前,我们还有很长的发展路线图。因此,敬请期我们和 Igalia 的更多消息,接下来将会有进一步发展。”...阅读全文

[图]ARM推出全新armv9架构:预估五年内装备3000亿颗芯片

于更好的机器学习和数字信号处理。在安全方面,armv9 会获得 Arm Confidential Compute Architecture (CCA),在使用时屏蔽数据的访问,在硬件层面保护数据。此外,还会有一个叫做 Realms 的东西,应用程序可以在安全和非安全区域之外使用。ARM 并没有透露首款基于 armv9 的新芯片何时会发布,不过可以肯定的是还需要再等一段时间。...阅读全文

博文 2021-03-31 10:20:33 cnBeta.COM

树莓派基于 Raspbian 的 Windows XP 现已可用

Windows XP,但其本质上还是不能原生运行 Windows XP 应用,而是需要借助合适的仿真器。因此,它也确实预装了一些仿真平台 。 如果要运行本机 Windows 应用程序,可以使用内置的 Windows 98 虚拟机;BOX86 则可以运行旧的 PC 游戏。还可以利用其他仿真器,例如 DOSBox、Mupen64 和 MAME。通过连接 USB 控制器,整个系统可以兼作复古游戏机。此外,PI LAB 还发布了 Raspbian 95。 目前,这项工作仍在进行中,大家可以继续期接下来会带来的一些更新内容。可访问 YouTube 上的 Pi Lab 官方频道,以获取安装详细信息和新版本。 下载地址:Raspbian 95 下载,RapbianXP 下载。...阅读全文

博文 2020-04-28 09:45:50 debian.cn