InfraPub 为您找到相关结果 718

WireGuard简明介绍及使用指引

据,在不使用的情况下默认不会传输任何 UDP 据包,所以比常规VPN省电很多,可以像ShadowSocks一样一直挂着使用。 WireGuard协议的速度几乎秒杀其它VPN协议,测试结果如下图; WireGuard 受到 Linus 本人的推荐,将整合到最新版Linux Kernel中,安装部署更方便。WireGuard 总共几千行代码,只需十分钟就能搞定一台WireGuard服务器。 Wireguard安全性高。极佳的VPN漫游特性,设备支持广泛。内核级别的端对端隧道加密技术,拥有良好的加密特性。Wireguard配置文件由两部分组成:interface和peer。服务器端、客户端互为平等关系。支持预共享密钥preshared key加密,防止量子计算攻击。 国际著项目,开源代码审...阅读全文

博文 2019-11-28 12:44:00 debian.cn

王垠:如何掌握所有的程序语言

语言特性的人都知道,自己需要的特性,在任何语言里面一定有对应的表达方式。如果没有直接的方式表达,那么一定有某种“绕过方式”。如果有直接的表达方式,那么它只是语法稍微有所不同而已。所以,他是带着问题找特性,就像查典一样,而不是被淹没于大部头的手册里面,昏昏欲睡一个月才开始写代码。 掌握了通用的语言特性,剩下的就只剩某些语言“特有”的特性了。研究语言的人都知道,要设计出新的,好的,无害的特性,是非常困难的。所以一般说来,一种好的语言,它所特有的新特性,终究不会超过一两种。如果有个语言号称自己有超过 5 种新特性,那你就得小心了,因为它们带来的和可能不是优势,而是灾难! 同样的道理,最好的语言研究者,往往不是某种语言的设计者,而是某种关键语言特性的设计者(或者支持者)。举个例子,著的计算机科学...阅读全文

博文 2017-07-10 10:13:17 debian.cn

Django 采用新的项目治理模式

Django 此前的治理模式不太合理,对于持续发展壮大的 Django 社区产生阻碍。官网博客介绍,最开始 Django 项目发起人(Adrian Holovaty 和 Jacob Kaplan-Moss)可以授权其他人 commit 的权限。到了 2014 年,committer 的核心团队人已经不少,在两位创始人辞去领导职务后, 保留了一个核心 committer 团队的基本结构,该团队可以根据自己的选择向 Django 添加代码。同时创建了一个新的小组:由核心 committer 选举产生的由 5 committer 组成的“技术委员会”,并作为最终的决策者。 但是实际上,现在几乎所有添加到 Django 的代码都由 Django Software Foundation(DSF...阅读全文

博文 2020-03-26 08:51:49 debian.cn

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多谷歌员工无需通过重新安装机器,并重新创建所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并检查所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

谷歌宣布即将开放 .dev 顶级域名注册

谷歌宣布 .dev 顶级域将于这周 —— 美国时间 2 月 19 日开始开放注册(早期访问阶段),想要的朋友不妨关注一下。具体价格如下图所示: .dev 域的续费费用为每年 12美元,在2月28号开放给公众注册。在这之前注册域需要支付额外的、一次性的预注费。与其他域不同的时,所有的 dev 域,默认都启用了HSTS,在HSTS的预加载列表中。 从所有权上说,.dev 以前是一个私人的,仅限谷歌使用的顶级域。但谷歌于去年宣布从今年开始向公众开放 .dev 域,并计划在 2019 年 1 月 16 日到 2 月 19 日期间,邀请商标持有者注册与其商标相关的域。从 2 月 19 日到 28 日,进入早期访问阶段,允许普通用户注册。 早在 2015 年,Google 豪掷...阅读全文

博文 2019-02-18 13:17:02 debian.cn

Debian 9 Stretch 安装配置 Caddy Server

} header_upstream X-Forwarded-Proto {scheme} } gzip header / -Server header / Strict-Transport-Security "max-age=31536000;" tls user@example.com { protocols tls1.0 tls1.2 dns cloudflare } } 如果要使用 DNS 的方式认证域的话,需要设置环境变量,修改 /etc/systemd/system/caddy.service ,加入环境变量,我使用的是 CloudFlare 的 DNS,所以我需要添加 CLOUDFLARE_EMAIL 和 CLOUDFLARE_API_KEY ,其他 DNS 看这里。 [Service...阅读全文

博文 2017-12-24 10:18:33 debian.cn

Linux From Scratch 8.1 发布

Linux From Scratch (LFS) 和 Beyond Linux From Scratch (BLFS) 8.1 已发布,该版本提供了许多更新的软件包和一些修复程序。 官方在 发布说明 中说道: LFS 8.1, LFS 8.1 (systemd), BLFS 8.1, 和 BLFS 8.1 (systemd) 已正式发布,该版本是 LFS 和 BLFS 的主要更新。 LFS 8.1 包括了升级至 glibc-2.26, binutils-2.29, 和 gcc-7.2.0 这些更新。总共有 32 个包被更新,对引导脚本进行了修复,并在整本书中对文本进行了更改。 BLFS 版本包括大约 900 个软件包的更新。 此版本的更新超过 885 处,包括许多文和格式的更改。该指南可...阅读全文

博文 2017-09-04 09:41:52 debian.cn

利用 NAT VPS 进行流量中转

转机的设置,并默认已按初始化配置文章对服务器进行了配置。本文将介绍四种方法:firewalld,UFW,iptables,和 socat(推荐)来进行流量中转,根据需要选取其中一种方法操作即可。亦可根据需要,将目标机设置为只允许中转机访问。其中,firewalld,UFW,iptables 均可对 TCP 和 UDP 进行转发,而 socat 还可以对包含域的地址进行转发。 准备购买合适的 NAT VPS,此处提供一些服务商了解 NAT VPS 的基本使用方法,例如搞清楚 NAT VPS 一般需要在服务商处查看端口映射的设置基础 Linux 操作知识,并了解 vim 编辑器的基本使用方法 使用 firewalld 进行中转此方法在 CentOS 下较为简便(CentOS 8 默认使用...阅读全文

博文 2021-03-11 21:16:11 Silearner

NameSilo优惠码 新注册COM仅$7.99

最近有个域需要续费了,原注册商 GoDaddy 的续费价格太高了,官网标称的价格已经超过100块一年了,所以想转移下,搜索之后,推荐使用的域注册商 Namesilo.com,它是全网中(含国内域注册商)中,最实惠的域注册商。 Namesilo介绍 Godaddy变得越来越不靠谱,若干年前,国人还勉强能用$7.99注册到com域,现在最便宜的已是9刀,续费也得10刀。如果需要给域加隐私保护,用了优惠码后也得20美元。 现在推荐将域转移到 Namesilo.com。Namesilo首先价格方面不错,而且也是ICANN的顶级域注册商,在Namesilo注册com域使用1美元优惠码只需要7.99美元,转移仅需7.39美元,而且还赠送免费隐私保护。 Namesilo.com 1美元...阅读全文

博文 2017-04-21 23:47:58 debian.cn

Netty+Nacos+Disruptor自研企业级API网关

。 TypeScript:TypeScript是JavaScript的超集,它可以增加类型检查、接口声明等特性,减少错误和提高可读性。 NestJS:NestJS是一种流行的Node.js框架,它采用面向对象的编程方式,提供了路由、中间件、模块化等丰富的功能。 GraphQL:GraphQL是一款优秀的据查询和操作语言,它可以帮助我们快速构建API,并减少网络传输的据量。 功能设计 我们将开发一个电商平台,包含以下主要功能: 用户管理:用户可以注册、登录、修改个人信息等,管理员可以查看用户列表并进行管理。 商品管理:管理员可以添加、修改、删除商品信息,包括商品称、价格、库存、图片等。 购物车:用户可以将商品加入购物车,并在结算时进行支付。 订单管理:管理员可以查看订单列表、订单详情、订单状态等。 开发流程 下面是全栈开发的开发流...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。KRaft 是一种共识协议,可以直接在 Kafka 中管理元据。元据的管理被整合到了Kafka当中,而不需要使用像ZooKeeper这样的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性,同时简化了 Kafka 的部署,现在可以不依赖 ZooKeeper 单独部署 Kafka 了。KRaft 使用了Raft共识算法的一种基于事件的变体,因此得。​随 KRaft...阅读全文

使用 tmate 分享你的终端会话

不久前,我们写过一篇关于 teleconsole 的介绍,该工具可用于快速分享终端给任何人(任何你信任的人)。今天我们要聊一聊另一款类似的应用,叫 tmate。 tmate 有什么用?它可以让你在需要帮助时向你的朋友们求助。 什么是 tmate? tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。 你可以分离会话,让作业在后台运行,然后在想要查看状态时重新连接会话。tmate 提供了一个即时配对的方案,让你可以与一个或多个队友共享一个终端。 在屏幕的地步有一个状态栏,显示了当前会话的一些诸如...阅读全文

博文 2017-12-06 10:33:33 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

网线即可交换机或路由器,以便将所有树莓派连接到一个内网中 安装的大部分工作都依赖网络,因此还需要能访问公网网络。 集群概览 在这个集群里,我们会使用三个树莓派。其中一个树莓派作为主节点,我们将它命为 kmaster,并为其分配一个静态 IP 192.168.0.50(注:假设使用的私有网段是 192.168.0.0/24),而另外两个树莓派作为工作节点,分别命为 knode1 和 knode2,也分别分配 192.168.0.51 和 192.168.0.52 两个 IP 地址。 当然,如果你的内网网段和我的不一样,注意 IP 与集群个节点角色的对应关系。 为了能通过主机直接访问节点,我们会更新每个节点的 /etc/hosts 文件,记录IP到主机的对应关系: echo -e...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Terraform 学习总结 — Terraform 简介

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

Jonathan Carter 当选新一任 Debian 项目负责人

2020 年 Debian 项目负责人(Debian Porject Leader,DPL)选举的结果已经公布,新一任负责人是 Jonathan Carter(也叫 highvoltage,Debian 帐号 jcc)。此前前任 Sam Hartman 宣布今年不参与 DPL 竞选。 此次共有 3 候选人,分别是: Jonathan Carter [jcc@debian.org] [nomination mail] [platform]Sruthi Chandran [srud@debian.org] [nomination mail] [platform]Brian Gupta [bgupta@debian.org] [nomination mail] [platform] 在...阅读全文

博文 2020-04-22 13:50:05 debian.cn

kubenetes 如何给资源打标签?如何删除标签?

为foo的Pod添加label unhealthy=true, `kubectl label pods foo unhealthy=true` 给为foo的Pod修改label 为 'status',值为 'unhealthy',且覆盖现有的value。 `kubectl label --overwrite pods foo status=unhealthy` 给默认的 namespace 下的所有 pod 添加 label, `kubectl label pods --all status=unhealthy` 仅当resource-version=1时才更新为foo的Pod上的label, `kubectl label pods foo...阅读全文

如何更改 Linux 的 I/O 调度器

称是 /dev/sdc: # cat /sys/block/sdc/queue/schedulernoop anticipatory deadline [cfq] 如何改变硬盘设备 I/O 调度器 使用如下指令: # echo {SCHEDULER-NAME} > /sys/block//queue/scheduler 比如设置 noop 调度器: # echo noop > /sys/block/sdc/queue/scheduler 以上设置重启后会失效,要想重启后配置仍生效,需要在内核启动参中将 elevator=noop 写入 /boot/grub/menu.lst: 1. 备份 menu.lst 文件 cp -p /boot/grub/menu.lst /boot/grub...阅读全文

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

微服务网关 APISIX 发布新版本 0.9

在今年 10 月份,深圳支流科技把微服务网关 APISIX 贡献给 Apache 基金会后,过了仅仅一个多月的时间,Apache APISIX 发布了一个新的版本 0.9。 Apache APISIX 的 0.9 版本,是经过 APISIX 开发者社区和 Apache 孵化器社区投票发布的官方版本,企业和个人用户都免费使用。 Apache APISIX 进入 Apache 孵化器的这一个多月的时间里,代码贡献者从 27 人增加到 45 人,几乎每个工作日都有新的贡献者加入;新合并的 PR 有 82 个,平均每个工作日有 3 个 PR 合并;使用的公司包含了贝壳找房、腾讯云、网易、NASA等知企业和科研机构, Apache APISIX 是微服务 API 网关,不仅可以帮你处理传统的南北向...阅读全文

博文 2019-11-27 20:17:00 debian.cn

如何使用 ipset 将单个国家的所有IP加入黑名单

ipset 是 iptables 的扩展,它允许你创建匹配整个地址集合的规则,而不像普通的 iptables 链只能单IP或单网段匹配。 ipset 规则中的IP地址集合存储在带索引的据结构中,这种结构即时集合比较大也可以进行高效的查找,从而减少系统资源占用或网络拥塞。IPset 也具备一些新防火墙设计方法,并简化了配置。ipset 的官网:http://ipset.netfilter.org 下面我们以一个实际场景为样例,介绍如何在Debian系统中,使用 ipset 将单个国家的左右 IP段 加入黑单。 #### 准备工作:安装 ipset、或者网段列表 sudo apt-get -y install ipset wget -P . http://www.ipdeny.com...阅读全文

博文 2021-02-06 16:43:47 joseph

Golang 中的 channel 通道详解

发送和接收操作将导致两个goroutine做一次同步操作。 因为这个原因,无缓存Channels有时候也被称为同步Channels 。当通过一个无缓存Channels发送据时,接收者收到据发生在再次唤醒发送者goroutine之前。单向channel当一个channel作为一个函时,它一般总是被专门用于只发送或者只接收。为了表明这种意图并防止被滥用,Go语言的类型系统提供了单方向的channel类型,分别用于只发送或只接收的channel。类型 chan<- int 表示一个只发送int的channel,只能发送不能接收。相反,类型<-chan int 表示一个只接收int的channel,只能接收不能发送。(箭头<-和关键chan的相对位置表明了channel的方向 。)这种限...阅读全文

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

称SIG)都在继续立足所在层面交付用户们最为需要的功能。感兴趣的朋友可以点击说明[7]查看发行版说明中的完整功能列表。 发布时间 Kubernetes 1.9目前已经可通过GitHub[8]下载。若需要马上开始使用Kubernetes,请参阅相关交互教程[9]。 发行团队 此次发行版的推出,源自技术与非技术参与者们的共同努力。这里特别感谢谷歌公司软件工程师Anthony Yeh领导的发行团队。该发行团队中的14成员一直在努力协调发行工作中的方方面面,包括说明文档、测试、验证以及功能完整性等等。 随着Kubernetes社区的不断发展,我们的发行流程也已经成为开源软件开发合作领域的一大标志性产物。Kubernetes继续以惊人的速度吸引到更多新用户的参与。这种增长创造出更为积极的反馈周...阅读全文

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

Apollo 分布式配置中心详解

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 本文简单从功能特点做介绍,更详细的说明请参考Apollo配置中心介绍。本地快速部署可以参考这里。线上的演示环境从这里可以访问到: 106.54.227.205 (账号/密码: apollo/admin) Apollo 配置中心产生背景 大多情况下程序随着功能的复杂,程序的配置也会增多:包括各种功能开关、参配置、服务地址信息配置等,同时开发人员对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群的管理配置、权限控制、审核机制等。 在这样的大环境下,传统的通过配置文件、据库...阅读全文

博文 2020-04-12 12:16:26 debian.cn

C++ 20 准备发布 C++ 23 提上议程

、dynamic_cast、try/ catch、虚拟constexpr 向量和符串计时:日历、时区支持std::formatstd::spanstd::jthread 预计这些新特性将会对开发者及 C++ 生态产生不小影响,特别是像协程这种巨大的变化。 同时,在此次会议期间,委员会还通过了 C++ 23 计划,其中包括优先考虑模块化标准库、对协程、执行程序和网络的库支持。...阅读全文

博文 2020-02-16 10:46:16 debian.cn

Element 1.4.2 发布,饿了么 Vue 2.0 组件库

@wacky6 修复 Slider 在 resize 窗口后滑块位置不准的问题,#6263 修复 Autocomplete 在 blur 时不会收起下拉框的问题,#6256 修复 Pagination 的 jumper 在 IE 下敲击回车无法触发翻页的问题,#6306 @qingdengyue 修复 InputNumber 当 size 为 large 和 small 时的样式问题,#6310 @JeremyWuuuuu 修复 DatePicker 的部分格式化文 i18n 不生效的问题,#6328 修复点击 Slider 的滑块会使其移动至起点的问题,#6359 下载地址 Source code (zip) Source code (tar.gz)...阅读全文

博文 2017-08-10 12:27:49 debian.cn

最全的 DevOps 工具集合

动化软件领域的领导者、应用程序自动化领域的创新者,也是 DevOps 运动的创始人之一。Chef 与全球 1000 多家最具创新力的公司合作,以实现他们化转型的愿景,并提供可快速交付软件的实践和平台。 Ansible Ansible 是一种开源的软件预备、配置管理和应用程序部署工具。它可以在许多类 Unix 系统上运行,既可以配置类 Unix 系统也可以配置微软 Windows。它自带声明式语言来描述系统配置。 Puppet Puppet 提供的能力可以定义系统所需的软件和配置,然后在初始设置后保持指定状态。 用户使用与 Ruby 类似的声明式领域特定语言(DSL)来定义指定环境或基础架构的配置参。Puppet 使用称为 Facter 的一个实用程序获取系统信息,该程序跟随...阅读全文

博文 2021-05-26 14:35:21 博客园

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函当作参传递给与装饰器对应的函称相同的函),并返回包装后的被装饰的函”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函, b 为装饰器修饰的函,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函( dobi 函) 2.dobi 函调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

Kafka 3.0新特性全面曝光,真香!

,controller.quorum.voters 配置中提供的节点ID必须与提供给服务器的节点ID匹配。比如在Controller1上,node.Id必须设置为1,以此类推。注意,控制器id不强制要求你从0或1开始。然而,分配节点ID的最简单和最不容易混淆的方法是给每个服务器一个ID,然后从0开始。(二)下载并解压安装包bigdata01下载kafka的安装包,并进行解压:[hadoop@bigdata01 kraft]$ cd /opt/soft/[hadoop@bigdata01 soft]$ wget http://archive.apache.org/dist/kafka/3.1.0/kafka_2.12-3.1.0.tgz[hadoop@bigdata01 soft]$ tar -zxf kafka_2.12-3.1.0...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

7大维度看国外企业为啥选择gRPC打造高性能微服务

荷。 Protobuf消息使用关联的IDL进行描述,它提供了一个紧凑的,强类型的,向后兼容的格式来定义消息和RPC服务。我们使用最新的proto3规范,并在此处显示protobuf消息的实际示例。 所有段proto3都是可选的。如果未设置段,将始终使用默认值。这与段编号相结合提供了一个API,可以非常抵抗打破变化。通过遵循一些简单的规则,向前和向后兼容性可以成为大多API更改的默认值。 protobuf格式还允许定义RPC服务本身。服务端点与消息结构共存,在单个protobuf文件中提供RPC服务的自包含定义。对于我们的跨洲际的工程团队来说,这非常有用,他们可以从一个文件中了解服务如何工作,生成客户端并开始使用它。以下是我们的服务之一: 该框架能够生成代码来使用protobuf文件与...阅读全文

博文 2018-03-19 17:51:32 debian.cn

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

64bit的性能) sysbench 压力测试软件 首先开机后联网,两台设备全部进入符界面(console)模式,外部不连接任何外设,通过ssh远程登录到两台主机上,然后安装sysbench软件进行压力测试,并通过htop简单的进行观察。 执行命令为: sudo apt-get update && sudo apt-get –y install sysbench htop iperf3 性能测试命令如下: #测试CPU性能: sysbench —test=cpu —num-threads=1 —max-requests=10000 run #4线程测试: sysbench —test=cpu —num-threads=4 —max-requests=100000 run #8线程测试...阅读全文

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

Qt5.9发布:如何评价QT

Quick Controls 2的功能增强,还有基于openGL shader cache 对QML进行类型缓存, 以及.qml / .js文件生成的代码和据结构的缓存的支持。 这些功能将大大提高使用Qt构建的设备的启动速度。 发布新Qt Creator 4.3.0,Quick Designer里面也看以同时看到和编辑qml code了! 作为Qml项目开发者确实立刻感到了方便! 还有新框架将允许Qt团队更容易创建新版本,包括修补程序和发布次要版本。 引入自动化性能回归测试,使得对Qt的监控与提高加强。 安全方面,Qt 5.9正式支持INTEGRITY RTOS。 确实越来越多的RTOS应用程亟需要更高级GUI框架来满足用户期望呢。 操作系统和硬件方面,Qt 5.9完全同时支持传统的Win32应用...阅读全文

博文 2017-06-02 10:24:32 5.9的变化

企业制定开源战略的免费指南

大多使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文

博文 2018-12-17 13:05:32 debian.cn

如何在敲代码时快速冷静 海豹突击队呼吸法

美国海豹突击队有一套 “让自己快速平静下来” 的技术,曰:作战呼吸法(Combat Tactical Breathing)。这个中文是我比比的,这三个单词我都认识,放一起这么翻译没错吧。 下次你遇到测试不通过啊,莫其妙的 Bug,PM 找你改需求,在线系统的莫其妙故障啊,你感到沮丧或者焦虑的时候,试试这个方法。我保证,效果比你用头撞墙好。 操作步骤(跟着以上 GIF 呼吸): 吸气 4 秒(蓝色圆圈扩大)保持你的肺部充满空气 4 秒(当蓝色圆圈最大并静止)呼气 4 秒(蓝色圆圈收缩)保持你的肺部空 4 秒(圆收缩并静止) 多次重复以上步骤,直到你恢复了平(lǐ)静(zhì)。然后,回去继续敲代码吧。...阅读全文

博文 2019-03-04 13:24:50 debian.cn

理解 Linux 的虚拟内存

都是你的,随便用,管够。可事实上呢,操作系统只是给它们画了个大饼,这些内存说是都给了 P1 和 P2,实际上只给了它们一个序号而已。只有当 P1 和 P2 真正开始使用这些内存时,系统才开始使用辗转挪移,拼凑出各个块给进程用,P2 以为自己在用 A 内存,实际上已经被系统悄悄重定向到真正的 B 去了,甚至,当 P1 和 P2 共用了 C 内存,他们也不知道。 操作系统的这种欺骗进程的手段,就是虚拟内存。对 P1 和 P2 等进程来说,它们都以为自己占用了整个内存,而自己使用的物理内存的哪段地址,它们并不知道也无需关心。 分页和页表 虚拟内存是操作系统里的概念,对操作系统来说,虚拟内存就是一张张的对照表,P1 获取 A 内存里的据时应该去物理内存的 A 地址找,而找 B 内存里的据应该去物...阅读全文

博文 2018-11-25 11:03:49 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

为何 Kubernetes 如此受欢迎?

Google 开发的这个容器管理系统很快成为开源历史上最成功的案例之一。Kubernetes 是一个在过去几年中快速流行起来的开源容器管理平台。它被众多大企业用于关键任务,已成为开源方面最成功的案例之一。这是怎么发生的?该如何解释 Kubernetes 的广泛流行呢? Kubernetes 的背景:起源于 Google 的 Borg 系统 随着计算世界变得更加分布式、更加基于网络、以及更多的云计算,我们看到了单个大型的应用慢慢地转化为多个敏捷微服务。这些微服务能让用户单独缩放应用程序的关键功能,以处理百万客户。除此之外,我们还看到像 Docker 这样的容器等技术出现在企业中,为用户快速构建这些微服务创造了一致的、可移植的、便捷的方式。 随着 Docker 继续蓬勃发展,管理这些微服务器...阅读全文

博文 2017-11-07 23:58:26 debian.cn

专访Docker大牛:Docker背后的真正引擎是Containerd

最近,我们可能经常会听到一种说法"Docker正在彻底改变IT!"这种说法是否存在炒作嫌疑呢?Docker对于现有格局的破坏性到底在哪里?Docker和虚拟机之间有什么区别?Docker真正的附加价值在哪里?本文我们将和Docker大牛Chanwit Kaewkasi来讨论这些话题。 Asst. Prof. Dr. Chanwit Kaewkasi 问:您是如何与Docker结缘的呢? Chanwit Kaewkasi:这个可以追溯到2014年,当时我们实验室正在寻找一个虚拟化层来帮助管理大据栈,而虚拟机解决方案对我们来说太重了,所以遇到Docker对我们来说是一件幸事。 问:我们经常听到"Docker正在彻底改变IT",你认同这种观点吗?Docker技术有什么破坏性? Chanwit...阅读全文

博文 2017-11-22 10:50:11 debian.cn

谷歌是如何培养经理人的

Google Partners Podcast主持人Alex Langshur主持了一个播客节目,主题是关于谷歌HR如何寻找和培养优秀经理人。嘉宾是来自谷歌人力发展部门的Sarah Calderon,她在节目中介绍了谷歌是如何选择、培训和培养他们的经理人的。 Langshur引用了他的前上司的话,“一个优秀的经理人让一份艰难的工作变得具有挑战性和价值…而一个糟糕的经理人在一个好的岗位上表现平平,把一份艰难的工作搞得支离破碎”,以此强调选择正确经理人是多么重要。在访谈过程中,Sarah介绍了拥有7万员工和经理人的谷歌公司是如何选择、管理和培养经理人的。 Sarah概括了谷歌在培养经理人方面的五个要点: 表现优秀的员工不一定就是好的经理人,管理岗位所需要的技能是不一样的。只是在某个领域...阅读全文

博文 2017-12-24 07:31:00 debian.cn

树莓派4上如何安装 Raspbian Buster

载好操作系统后,会得到一个zip的压缩文件。先解压,我们会用到里面的一个 .img 格式的操作系统镜像文件。文件准备好后,就可以进入下一步操作了。 在SD卡中灌入系统 这一步,我们需要下载一个软件,以便录入系统。虽然 RaspberryPi Foundation推荐使用 Etcher,但个人建议使用 Win32DiskImager,操作比较简单,录入成功率也比较高。 运行 Win32DiskImager 后,可以看到上图。打开首选的磁盘映像器,然后选择您的SD卡。通过在资源管理器中检查确认 SD卡驱动器 的称,确保它是你的microSD卡,而不是其他驱动器。 注意:如果您不小心选择了错误的驱动器,则会丢失大量据。 一旦你确认了SD卡的设备,就可以选择第一步中,准备的 .img。在...阅读全文

博文 2020-02-04 19:33:29 debian.cn

Solus Linux 正在打造“现代化的 Linux 发行版”,不依赖 GNU

Solus Linux 的创造者 Ikey Doherty 宣布其正在打造一个“真正现代的 Linux 发行版” Serpent OS,并且该发行版将不依赖 GNU 工具链与运行时。 Ikey Doherty 认为当前市面上绝大多 Linux 发行版都有非常相似的目标: Modern, lightweight, privacy oriented/respecting, user-friendly desktop现代、轻巧、面向隐私/尊重用户友好的桌面 但是其专注于构建可满足自己需求的 Linux 发行版,而不是关注与 macOS * + Windows * 互用性的“基于 Linux 的操作系统”。也就是说,“这不是‘面向大众的 Linux’,而是一个还原 Linux 真正该有的样子的...阅读全文

博文 2020-07-12 09:08:23 debian.cn

ChaosMesh 的基本功能有哪些

Chaos Mesh 的基本功能,包括故障注入、混沌实验场景、可视化操作、安全保障。故障注入​故障注入是混沌实验的核心。Chaos Mesh 充分考虑分布式系统可能出现的故障,提供全面、细粒度的故障类型,分为基础资源类型故障、平台类型故障和应用层故障三大类。基础资源类型故障:PodChaos:模拟 Pod 故障,例如 Pod 节点重启、Pod 持续不可用,以及特定 Pod 中的某些容器故障。NetworkChaos:模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。DNSChaos:模拟 DNS 故障,例如 DNS 域解析失败、返回错误 IP 地址。HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。StressChaos:模拟 CPU 抢占或内存抢占场景...阅读全文

为什么 Django 能持续统治 Python 开发世界

ATOM feeds 使用 Django,你可以通过创建一个简单的Python类来快速创建 RSS 和 ATOM feeds。 在据库中自动创建表 如果你的据库中缺失了某一个表,你可以通过执行 Django 的迁移命令来自动创建它。 容易的据迁移 据迁移是 Django 中最有用的功能之一。通过使用 Django 的迁移方法,你可以在短时间内改变一个据库模式。同样也容易就能跟踪你的据库模式和相关的改变。为据迁移所做的命能够帮助你进行版本控制,还有很多选项可以用来合并版本和进行修改。 安全性 Django非常安全,该框架默认情况下可以防止 XSS 攻击、CSRF 攻击,SQL 语句注入、点击劫持、用户管理、cookies、邮件标头注入、密码攻击、目录遍历攻击等等。 Django有一个...阅读全文

博文 2017-07-21 14:15:11 debian.cn

GlusterFS 和 Ceph 比比看

存储世界最近发生了很大变化。十年前,Fibre Channel SAN 文件管理器是企业存储的标准。而在目前的环境中,受到基础架构即服务云的影响,据存储需要更加灵活。 GlusterFS 和 Ceph 是两个灵活的存储系统,在云环境中表现非常出色。 在尝试了解 GlusterFS 与 Ceph 之间的相似之处和不同之处之前,让我们来讨论在云环境中对灵活存储的一些要求。 纵向扩展和横向扩展。在云环境中,必须可以很容易地向服务器添加更多存储空间以及扩展可用存储池。Ceph 和 GlusterFS 都可以通过轻松将新存储设备集成到现有存储产品中来满足这一要求。 高可用性。GlusterFS 和 Ceph 的复制是同时将据写入不同的存储节点。这样做的结果是,访问时间增加,据可用性也提高。在...阅读全文

博文 2017-08-09 10:35:29 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

的acl参 -R:递归设置acl,包括子目录 -d:设置默认acl 使用样例:创建一文件test,将其权限修改为777,并查看其默认ACL权限配置 [root@ debian.cn ~]# touch /opt/test [root@ debian.cn ~]# chmod 777 /opt/test [root@ debian.cn ~]# getfacl /opt/test //获得文件的ACL权限 getfacl: Removing leading '/' from absolute path names # file: opt/test //文件 # owner: root //文件所属者 # group: root //文件所属组 user::rwx //文件所属者权限...阅读全文

Debian 环境中安装git服务器 Gogs(下)

用 vim 打开, cd $GOPATH/src/github.com/gogits/gogs mkdir -p custom/conf/ cp conf/app.ini custom/conf/app.ini vim custom/conf/app.ini 在 [server] 小节中,修改 HOST_ADDR 为 127.0.0.1。 [server] PROTOCOL = http DOMAIN = localhost ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/ HTTP_ADDR = 127.0.0.1 HTTP_PORT = 3000 在 [database] 选项中,按照您的据库信息修改。 [database...阅读全文

博文 2018-03-10 09:52:28 debian.cn

Linux 5.11窗口合并期今天结束 引入大量新特性

Linux Kernel 5.11 为期两周的窗口合并期即将于今天结束。Linux 5.11 合并了很多新特性和令人激动的改进,正式版将会在明年 2 月和大家见面。Linux 5.11 作为非 LTS 长期支持版本,是 2021 年首个主要的稳定内核版本。 Linux Kernel 5.11 新版本的工作量比较繁重,主要涉及了大量英特尔和 AMD 的更改,改进 Syscall User Dispatch 以便于让 Wine 运行更新的 Windows 游戏,持续 IO_uring 改进,优化 Btrfs 文件系统,并会整合联想贡献的 ThinkPad 掌托传感器检测等。 在英特尔方面,经过多年的努力 Linux 5.11 中将合并 SGX Enclaves,英特尔的图形驱动也支持整缩放支...阅读全文

博文 2020-12-28 10:14:35 debian.cn

U盘启动的 UEFI 版和装机版有什么区别

目前出现U盘启动盘制作工具,一般有两个版本装机版和 UEFI 版本。大家可能不知所措,不知道究竟该下载哪个版本使用了? uefi就必须主板支持才能用,一般老电脑都不支持,所以不支持的用装机版或者普通版,新电脑用uefi版。 UEFI版: UEFI 版简单来说就是新一代的BIOS,图形的界面,用鼠标点就可以,再深入一点,这种BIOS里面有一项EFI启动,开启了这个功能,装好的电脑开机启动速度大大加快。2012年以后的电脑和主板基本都带有EFI功能。 优点: 1. 免除了u盘启动设置 2. 可直接进入菜单启动界面: 3. 进入pe快捷方便 UEFI进入方法: 1、主板UEFI启动优先的,启动电脑会直接进入支持uefi的PE。 2、BIOS启动菜单选择U盘带UEFI样的。 装机版: 装机版为最...阅读全文

博文 2014-04-25 10:08:57 debian.cn

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