Facebook 开源的一组 Linux 内核组件与工具
将发生的资源短缺提供早期预警,从而实现更积极主动、细致的响应。 Oomd:https://facebookmicrosites.github.io/oomd/ Oomd 是一个用户空间 OOM(内存不足)进程杀手,可以更好地了解系统上运行的进程的上下文和优先级。它允许配置对 OOM 条件的响应,例如暂停或终止非必需项、重新分配系统中的内存等操作。 详情信息请查看发布公告,以及对应项目的开源主页。...阅读全文
将发生的资源短缺提供早期预警,从而实现更积极主动、细致的响应。 Oomd:https://facebookmicrosites.github.io/oomd/ Oomd 是一个用户空间 OOM(内存不足)进程杀手,可以更好地了解系统上运行的进程的上下文和优先级。它允许配置对 OOM 条件的响应,例如暂停或终止非必需项、重新分配系统中的内存等操作。 详情信息请查看发布公告,以及对应项目的开源主页。...阅读全文
W 在推出当天就发货超过 10000 台 。 Pi Zero W 在性能特性、软件兼容性和通用输入输出(GPIO)配置上与前面的版本基本相同,因此也能受益于 Pi 设备丰富的应用和附件。Raspberry Pi 还具有一个大型的活跃社区,该社区是围绕 Raspberry Pi 基金会构建的,查找各类主题和用例的指导信息非常方便。 尽管 Pi Zero W 的功能并未超越前期版本的 Pi,但是它可以使有联网需求项目的实现更快速也更容易,而且与添加 WiFi 或蓝牙所导致的开销相比,所需的额外投资也是可控的。如果 Pi Zero W 能紧跟需求,将会在大量的物联网项目中发挥核心作用。 查看英文原文: Raspberry Pi Launch Zero W...阅读全文
源、本地、免费、加密的在线文档应用成为这些用户的期待。然而,在关注一年多后,Anytype 的官方内测依然在小规模进行,还没有进入 Beta 阶段。Anytype Anytype还有更多的选择吗?在互联网遨游过程中,我发现了 Focalboard——一款免费、开源的类 Notion 应用。Focalboard 看板视图FocalboardFocalboard 的自我定位是“Trello、Notion 和 Asana 的开源、自托管替代品”。产品定位:Focalboard 本质上属于项目管理工具,主要帮助个人和团队对任务进行组织、跟踪和管理。外观和操作方式:Focalboard 提供了类似 Notion 的列表视图、看板视图、Gallery 视图,没有 Notion 的时间轴等视图。编辑方式...阅读全文
近日,OSCHINA 和 Gitee 联合发布了《2022 中国开源开发者报告》。其中,云原生社区创始人宋净超在报告中对开源云原生服务网格领域进行了深入解读,以下为主要观点。2022 云原生服务网格五大趋势2022 年,云原生展露了一些趋势。因我更多地关注服务网格领域,在此就该方向谈谈我的观点,欢迎其他专家交流。一是 零信任的云原生安全备受关注。CNCF 在《云原生安全白皮书》中指出,“我们需要在应用安全生命周期中采用更自动化和安全的架构设计(如零信任)”,这表明云原生安全越来越受重视。零信任安全意味着默认情况下,网络内外都不信任任何人,并且要对试图访问网络资源的每一个人进行验证。部署服务网格有助于缩小云原生部署的攻击面,并为构建零信任应用网络提供关键框架。二是 API 网关与服务网格融合...阅读全文
2018年11月12日,北京时间16:00,Linux基金会在德国柏林“Ceph Day”上正式宣布成立“Ceph基金会”来支持Ceph开源项目。Ceph基金会接受Linux基金会的管理,它的成立将为Ceph社区的合作和成长提供一个中立的机构。高级会员和一般会员每年缴纳会员费,准会员是教育机构或政府组织,并被邀请免费加入。 理事会由所有高级成员,普通成员代表,准成员代表和Ceph领导团队(技术治理机构)代表组成。董事会负责: 建立并批准用于支持Ceph项目的年度预算 建立特设委员会以满足项目的当前需求 协调外展或营销 定期开会讨论基金会活动,Ceph项目的现状以及整体项目战略 在董事会面前对任何决定或事项进行投票 Ceph基金会董事会不对Ceph的技术治理负责,也没有任何直接控制权。开发和...阅读全文
master和minion的注释,其中有大量关于安全防护的说明 11. 特别敏感的minion可以运行在无主环境,通过salt-ssh或者modules.sudo模块来进一步控制 12. 监控salt的日志 总结 对于运维人员来说,安全是非常重要的一个环节,维护生产环境必须遵守权限最小化的思想,即使这可能给你添了一些麻烦,但相比于数据泄密、数据丢失,提前预防的代价还是要小很多。 本次漏洞级别虽然比较高,但是在日常运维工作中已经控制了端口的访问权限,那么本次漏洞你只需要排期更新salt版本即可。 总结 目录...阅读全文
提供的所有算法实现都可以通过“高级” API 访问,无法使用 “低级 API” 访问它们。目前可用的一个标准 Providers 是 FIPS Providers。这使得 FIPS 验证的加密算法可用。FIPS Providers 默认处于禁用状态,需要在配置时使用enable-fips选项显式启用。如果启用,除了其他标准 Providers 之外,还会构建和安装 FIPS Providers,不需要单独的安装过程。低级别的 APIOpenSSL 历来提供两套用于调用加密算法的 API:"高级" API(如 EVP API)和 "低级" API。高级别的 API 通常被设计成适用于所有算法类型。而 "低级" API 则是针对特定的算法实现的。长期以来,OpenSSL 开发团队一直不鼓励使用低...阅读全文
机会,并了解两件主要的事。 首先,Go 泛型是否有意义,能给用户带去怎样的惊喜,错误提示消息是否有价值;其次,很多人曾说过需要 Go 泛型,但他们不一定确切知道这意味着什么,那么泛型的设计草案是否以有用的方式解决了此问题。另外,假如有一个问题让人认为“如果 Go 具有泛型,我就可以解决此问题”,那么使用此工具是否可以解决问题? 至于具体的推进计划,Go 团队表示要根据从社区收集的反馈而定。如果设计草案受到好评,并且不需要进行重大更改,那么下一步将是正式的语言变更提案。 为了保证符合预期,如果每个人都对设计草案完全满意,并且不需要进行任何进一步的调整,则最早可以在计划于2021年8月发布的 Go 1.17 中添加泛型。不过可能存在无法预料的问题,所以这是一个乐观的时间表,团队也无法做出任何明确...阅读全文
括Java,Ruby,Go和Node。框架是否为现有的语言选择提供了一流的支持,同时提供了用其他语言编写新服务的选项? 代码量 - 框架应该有助于降低工程成本。企业需要编写和维护多少代码才能使其工作?与业务逻辑相比,这是多少样板代码? 安全 - 所有的内部通信都应该被认证和加密。我们需要能够使用所有通信的SSL / TLS(或等价物)。 设计上的考虑,并非都与技术有关 服务API是最重要的接口之一,因为在开发过程中对设置服务期望至关重要。解决服务API的设计是一项艰巨的任务,当不同的团队负责所涉及的不同服务时,该任务会被放大。最大限度地减少由于预期不匹配而浪费的时间和精力,与缩短编码时间一样有价值。由于Bugsnag拥有跨地区的工程团队,因此沟通时间有限。必须通过简化沟通,确保事情不用那么多...阅读全文
户设计 pipeline 的灵活度,但 graph 框架也同时带来下列缺点: 引入潜在内存安全风险 复杂的代码逻辑,需要大量的测试工作 初学者学习曲线陡峭 总体而言,与传统的 pipeline 模式相比,graph 框架也会出现 tradeoff。使用者需要考虑其业务逻辑的复杂程度,才能有计划地设计出可管理的 graph pipeline。graph 模型更适用于 pipeline 比较复杂的场景。有兴趣的读者可以持续关注后期即将发布的《DPDK Graph Pipeline 框架示例和性能分析》,以更好地理解 DPDK libgraph 的性能和实际用途。...阅读全文
)列表是一个不错的开始。打包前需要考虑:自己是否有足够的知识和能力来维护这个包?在可预见的一段日子里是否有充足的时间和精力来进行 更新和修复 Bug?如果答案都是肯定的,那么就动手把它打包好,期间遇到问题则找人咨询指导。 4. 当经过反复检查和测试,觉得软件包已经比较完善时,寻找一位 Debian Developer 帮你检查和上传软件包,这位 DD 此时便是你的 sponsor。 当找到一位愿意帮忙的 DD 后,他会对你的软件包进行彻底的检查,指出(可能)存在的问题并请你修改。这时要做的就是参考他的意见修改软件包,并把结果再发给他,这是一个极好的学习 机会。如此反复若干次后软件包最终会符合 Debian 的标准,之后 sponsor 便会将其上传到 Debian 仓库。需要说明的是,经由...阅读全文
EBS)的支持现在是稳定的了)。并且我们能跨可用区支持EBS卷。 对于Docker for Azure来说,我们现在支持部署到Azure Gov,通过Cloustor支持持久性卷现在是稳定的,可以通缉你广化寺用在Azure Public和Azure Gov中。 废弃 在dockerd的命令行中,--api-enable-core标识已经被废弃很久了,而采用--api-cors-header。对于--api-enable-cors还没有完全去掉。 Ubuntu 12.04 "precise pangolin"已经完结了生命周期,所以它现在不是Docker支持的操作系统。Ubuntu的后期版本仍旧是支持的。 下一步 要体验这些新特性: 下载Docker CE的最新版 查看Docker文档 在Play...阅读全文
运作开源项目很容易。所有你需要做的就是让你的源代码可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,创建开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。虽然开源软件是免费的,但它的创作却不是免费的:你需要往项目中投入时间和精力等宝贵资源。 那么,你如何投资这些资源? 1、定义成功 在考虑运作开源项目之前,你需要明确定义成功的意义。这里有很多因素要考虑。只将代码放入可公开访问的存储库就可以了,还是说你想对你的项目做更多?合作与采用对你来说重要吗?你只是为了打造作为一名软件开发者的声誉吗?你对成功的定义是否包括长期的可行性?你想围绕这个项目发展一个社区吗?你关心商业采用吗?你对这些问题的回答可以帮助你确定接下来你需要采纳的建议有多...阅读全文
年谷歌是否退出中国市场这件事情上,因为施密特在2011年计划卸任 CEO(据说这是三人间的十年之约),两位创始人的意见占据了主动(他们从未造访过中国,所以对这一市场缺乏认识),最后谷歌不得不退出。 世界属于年轻人 不过事实证明,施密特只担任十年谷歌 CEO 是正确的选择,他在2011年卸任,并转而担任谷歌董事会执行主席,很多人不理解这背后的原因,但下面的故事已经足以证明,施密特的经验在21世纪,只有十年的保质期。 施密特曾经主动承认过自己的两个失误,一个是对于 AI 技术缺乏远见,在施密特在任时他曾经判断这项技术不会取得大规模的成功, 并认为 AI 只能够在具体任务中作为一个特定的工具,至于广泛应用则需要几十年事件。这一系列的决策使得谷歌在人工智能领域被苹果、Facebook 等企业甩开了身...阅读全文
引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文
,并定义相关的分发策略,就足以实现 Kubeflow 的同步策略。 初始化 TFJob 后,将会在每个 worker 节点上创建一个新的 **TF_CONFIG** 环境变量。其中包含了关于训练批次、当前训练迭代以及 TFJob 用于执行分布式训练的其他参数的信息。通过与各种 Kubernetes 控制器、 API 进行交互,Tf-operator 协调训练过程,并维护在清单中定义的预期状态。 另外,通过 tf-operator,异步训练模式可以使用 **ParameterServerStrategy**。在[这里](https://iamondemand.com/blog/scaling-tensorflow-models-on-kubernetes/)(以及下面),你将看到一个由 tf...阅读全文
微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文
。由于这种模块化,您只需编写和测试git同步器一次,即可在众多应用程序中重复使用它。而且,如果有人编写它,您甚至不需要这样做。 实现辅助功能 。这种场景一般出现在DevOps中。比如将收集日志的组件以Sidecar的方式部署,实现收集日志的用途,或是部署一个Sidecar组件从配置中心监听配置变化,实时更新本地配置。 生命周期 Sidecar容器的所有问题都与容器生命周期相关性有关。由于Pod中的常规容器之间没有区别,因此无法控制哪个容器首先启动或最后终止,但是先正确运行Sidecar容器通常是应用程序容器正确运行的要求。 从1.18版本开始,K8S内置的Sidecar功能将确保Sidecar容器在正常业务流程开始之前就启动并运行,即通过更改pod的启动生命周期,在init容器完成后启动...阅读全文
Tmux 简单来说就是终端里的『窗口管理器』,如果我使用终端登录到远程主机并运行前台程序,那么这个窗口等于就被占用了,想要看一下 CPU 的使用率,就得再连接一次。但是如果在远程主机上运行 tmux,那么就可以开启多个控制台(类似于窗口),相当高效,比方说可以像下面这样: 需要注意的是,这里是在我本地使用 tmux,最好在远程主机也安装 tmux,这样就只需要连接一次。 Hello World 前面提到的窗口管理只是 tmux 功能的一小部分,另一个很有用的功能就是,连接到远程主机之后,一旦断开,那么当前账户登录的任务就被取消了,但是使用 tmux 可以在断开之后继续工作,下次登录可以查看。其他的功能还有: 窗口切换,每个窗口里还可以分割面板 配置方便,可以使用脚本 类似 vim 的双层操...阅读全文
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 查看...阅读全文
://get.k3s.io | sh - 等到命令完成后,一个单节点集群就已经运行起来了。让我们检查一下,在这个派上执行命令后,可以看到以下输出, kmaster$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION kmaster Ready master 2m13s v1.14.3-k3s.1 部署工作节点 主节点完成安装后,我们开始部署工作节点。在工作节点上安装 K3s 时,会用到 join token 连接令牌,它可以使用如下命令从主节点上获取到。获取到令牌 join token 后,先保存起来,便于后续使用, sudo cat /var/lib/rancher/k3s/server/node-token 我们把两个树莓派工作节点的主机名分别设置为...阅读全文
VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这里没有明显的赢家或输家。事实上,这两种技术的需求完全不同。 容器将引起媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时间的推移,我们将开始看到...阅读全文
) { // Start handlers for i := 0; i < MaxOutstanding; i++ { go handle(clientRequests) } <-quit // Wait to be told to exit. } 开始就启动固定数量的handle goroutine,每个goroutine都直接从channel中读取请求。这种写法比较简单,但是不知道有没有“惊群”问题?有待后续分析goroutine的实现。 5. 传递channel的channel channel作为go语言的一种原生类型,自然可以通过channel进行传递。通过channel传递channel,可以非常简单优美的解决一些实际中的问题。 在上一节中,我们主goroutine通过channel将请求传递给工作...阅读全文
。 public static int solutionFibonacci(int n){ if(n==0){ return 0; }else if(n == 1){ return 1; }else{ int result[] = new int[n+1]; result[0] = 0; result[1] = 1; for(int i=2;i<=n;i++){ result[i] = result[i-1] + result[i-2]; } return result[n]; } 与之类似的还有:跳台阶问题:每次只能跳一个或者两个台阶,跳到n层台阶上有几种方法 填充长方体问题:将一个2*1的长方体填充到2*n的长方体中,有多少种方法 2、数组最大不连续递增子序列 arr...阅读全文
+ 分支// 回退到其他分支 git reset --hard origin 分支// 回退到远程分支 记住,在 Git 中任何 已提交的 东西几乎总是可以恢复的。 然而,任何你未提交的东西丢失后很可能再也找不到了,所以,经常commit、经常push 4.Git 分支管理(branch) 使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作 4.1本地分支 git branch 分支名 //创建分支 git checkout 分支名 //切换分支命令 git merge 分支名 //将其他分支合并到当前分支,合并后注意解决冲突 git branch //列出你在本地的分支 git branch -a //列出你在本地和远程的分支 git branch -d 分支名 //删除...阅读全文
选择。 如果大家对解析 HTTP/1.x 很感兴趣,可以研究下 http-parser,一个非常高效小巧的 C library,见过不少框架都是集成了这个库来处理 HTTP/1.x 的。 Request/Response HTTP/1.x 另一个问题就在于它的交互模式,一个连接每次只能一问一答,也就是client 发送了 request 之后,必须等到 response,才能继续发送下一次请求。 这套机制是非常简单,但会造成网络连接利用率不高。如果需要同时进行大量的交互,client 需要跟 server 建立多条连接,但连接的建立也是有开销的,所以为了性能,通常这些连接都是长连接一直保活的,虽然对于 server 来说同时处理百万连接也没啥太大的挑战,但终归效率不高。 Push 用...阅读全文
现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用程序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 JavaScript 编写后端代码。这最终催生了MEAN(MongoDB + Express +AngularJS + NodeJS )堆栈 web 开发框架,从前端到后端甚至是数据库(MongoDB -JSON)都使用 JavaScript。在 Node.js 之前,Web 开发通常是在 PHP 的帮助下完成的,因为它很容易与 HTML 集成,帮助开发人员立即构建动态网站。在这篇文章中,我们将比较 Node.js 和 PHP,看哪一个最适合当前的行业需求。 PHP 和 Node.js 的基本区别在于...阅读全文
union 中使用。在 Rust 1.37.0,该属性现在也可以用于枚举定义。例如,如下类型 Align16 将如预期的那样,报告 16 为对齐,而不使用 #[repr(align(16))] 的对齐将为 4: #[repr(align(16))] enum Align16 { Foo { foo: u32 }, Bar { bar: u32 }, } 在枚举上使用 #[repr(align(N))] 的语义与使用该对齐定义包装器结构体 AlignN
激励是指激发人的行动动机的心理过程,是一个不断朝着期望的目标前进的循环的动态过程。简言之,就是在工作中调动人的积极性的过程。激励是对人的一种刺激,是促进和改变人的行为的一种有效的手段。激励的过程就是管理者引导并促进工作群体或个人产生有利于管理目标行为的过程。每一个人都需要激励,在一般情况下,激励表现为外界所施加的推动力或吸引力,转化为自身的动力,使得组织的目标变为个人的行为目标,促进团队合作的的动力,使企业更高效的达成既定目标!团队激励的八大方法1、为团队成员设立共同的奋斗目标依照激励理论,共同的奋斗目标是调动全体团队成员积极性的利器,这个目标必须是可衡量的和可实现的。人的动机与行为都有一定的目的性,而建立明确的目标,就能有效地激发和引导人们的动机,鼓舞和激励人们采取积极的方法去努力奋斗...阅读全文
他首次披露他在Twitter的9.2%股份时,他就创建一个"编辑"按钮向Twitter用户进行了调查,而实际上Twitter已经在开发这个按钮。他后来还建议取消Twitter Blue的广告并降低其订阅价格,并增加狗狗币作为支付选项。 马斯克一直直言不讳地批评Twitter的内容管制,称自己是一个"言论自由的绝对主义者",并对该平台在他的控制下如何节制表示担忧。"马斯克在TED 2022期间接受克里斯-安德森的采访时说:"人们有一个现实和认知,即他们能够在法律的范围内自由发言,这一点非常重要。我认为从广义上讲,我们越是能增加对Twitter这个公共平台的信任,文明受损的风险就越小。" 马斯克最初在4月13日提出以每股54.20美元的价格收购Twitter。该提议是在马斯克披露收购...阅读全文
。其结果应该是,那些比较传统的公司的开发人员可以获得与其他公司使用云原生方法的开发人员一样的好处。希望这些实施方案能够帮助开发人员提高生产力,并且他们乐意留在这些公司,而不是转到其他岗位。 基于云的机器数据分析公司 Sumo Logic 的首席产品经理兼开源大使 Frank Reno 认为,开发人员是开源快速增长的因素之一。开发人员都希望在一个社区中与他人一起工作,与更大的团队合作,为更大的项目做出贡献。“特别是在 COVID-19 期间,我们不像以前那样紧密。因此,我们所能做的任何事情都是为了培养更好的体验,无论是对个人开发者还是一群开发者,都有很大的帮助。每个供应商和每个客户都应该认识到开发人员的重要性。” 为了达到这一目的,DataStax 战略副总裁 Bryan Kirschner 则...阅读全文
序使用角色使用角色委托权限不共享访问密钥定期轮换凭证删除不需要的凭证使用策略条件来增强安全性监控 AWS 账户中的活动关于 IAM 最佳实践的视频演示 User Group Role Temporary Security Credentials Permissions Policies 目录...阅读全文
稳定分支。 我们将讨论 NGINX 版本控制方案,回顾 NGINX 1.17 开发周期内进行的更新,并探索 NGINX 1.19 的特性。 NGINX 版本控制介绍 NGINX 在 NGINX Open Source 代码存储... 1 4 为 Linux 5.16 准备的新版 Zstd 已就绪,最高带来 35% 的性能提升 正如我们上周的报道(点击查看),Linux 内核即将用上最新的 Zstd 实现。如今时隔一周时间,为 Linux 5.16 内核所准备的新版 Zstd 已提交至 linux-next 的合并中,以便在接下来的几周内进行更广泛的测试,如无意外我们将在下个月的 Linux 5.16 合并窗口中看到 Zstd 的更新代码。 来自 Facebook 的 Zstd 维护者...阅读全文
注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。 也就是说,让我们找点乐子,用一些老式的无意义数据和代码片段组成的面板填充我们的屏幕(好吧,这些数据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的外观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,因为它看起来确实 100% 酷。 Genact 我们要看的第一个工具是 Genact。Genact 只是简单地回放你选择的一个序列,在你出去喝茶休息的时候慢慢地、无限期地“编译”你的代码...阅读全文
,这也可以让你更好地表述出你的问题。 不要像机关枪似的一次性「扫射」所有的帮助通道,这样的行为像泼妇骂街一样令人抓狂,要有重点地一步一步来。 要搞清楚你提问的主题是什么!最典型的错误就是跑去苹果的论坛问关于Unix或Windows的问题,如果你不明白,最好在搞清楚概念,否则什么也别问。 一般来说,在公共论坛中提问比在封闭论坛中提问更容易得到有用的回答。选择依据:一是评估潜在的回复数较多,二是估算论坛的活跃度较高,相比之下,黑客更喜欢回答那些能启发多数人的问题。 同时,你可以理解,一些经验丰富的黑客和流行软件的作者正在承受过多的非议,因为涌入其私人邮箱的垃圾邮件变得越来越多,他们实在无法忍受,同时,你的加入有可能使情况更加恶劣,就像那根最后压垮骆驼背的稻草一样,所以,一些流行软件的作者正陆续停止...阅读全文
处理部分流量同时又不修改服务器的地址成为可能。 性能 HAProxy借助于OS上几种常见的技术来实现性能的最大化。 1,单进程、事件驱动模型显著降低了上下文切换的开销及内存占用。 2,O(1)事件检查器(event checker)允许其在高并发连接中对任何连接的任何事件实现即时探测。 3,在任何可用的情况下,单缓冲(single buffering)机制能以不复制任何数据的方式完成读写操作,这会节约大量的CPU时钟周期及内存带宽; 4,借助于Linux 2.6 (>= 2.6.27.19)上的splice()系统调用,HAProxy可以实现零复制转发(Zero-copy forwarding),在Linux 3.5及以上的OS中还可以实现零复制启动(zero-starting); 5,内存...阅读全文
了一个闭包——inner_func,并且该闭包持有自由变量——name,因此这也意味着,当函数func的生命周期结束之后,name这个变量依然存在,因为它被闭包引用了,所以不会被回收。 另外再说一点,闭包并不是Python中特有的概念,所有把函数做为一等公民的语言均有闭包的概念。不过像Java这样以class为一等公民的语言中也可以使用闭包,只是它得用类或接口来实现。 nonlocal 语句 在 python 的函数内,可以直接引用外部变量,但不能改写外部变量,因此如果在闭包中直接改写父函数的变量,就会发生错误: 在 python 2 中可以在函数内使用 global 语句,但全局变量在任何语言中都不被提倡,因为它很难控制,python 3 中引入了 nonlocal 语句解决了这个问题...阅读全文
你有没有想过为什么安装在你系统上的某个二进制文件或软件包没有按预期的那样来运行,或者说没有按正常的方式来运行,也许它根本就无法启动。 考虑到这是维护系统上未损坏软件包的一个重要因素,因而对照存储在软件包中的信息,验证文件系统上的文件是个重要步骤,为此需要阅读本文。 推荐阅读:《学会如何在Linux下生成MD5校验和并使用它来校验文件?》 如何对照MD5校验和校验已安装的Debian软件包? 在Debian/Ubuntu系统上,你可以使用debsums工具来校验已安装软件包的MD5和。如果你想在安装之前知道关于debsums软件包的信息,可以使用APT-CACHE,就像这样: $ apt-cache search debsums 下一步,使用apt命令来安装它,如下所示: $ sudo...阅读全文
SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到总体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了一个根据make的Map-Reduce解决构架和一...阅读全文
主要详细介绍Ansible和SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到总体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了...阅读全文
低于300毫秒)。 不仅如此,而 TLS1.3 还有其他的优点。对于近期访问过的站点,你可以在第一次给服务器发消息时就发送有用的数据。这叫做“零消息往来”模式(0-RTT),会使网页加载变得更快! 它为所有浏览器而生 TLS1.3对网络安全和性能来说都是一大进步。尽管TLS1.3规范仍在进一步完善中,但IETF已非常接近完成这一协议的最终版本。主要浏览器Firefox和Chrome都已支持 TLS 1.3 的草拟版本。...阅读全文
效率;二是新 IP 的灵活性使地址分割简化了边界路由器的设计,边界路由器不需要维护地址映射指令。 目前,New IP 网络架构技术已在建设中,将于 2021 年开始测试。 New IP 是否会带来垄断? 正如一切新事物在诞生初期都往往会招致人们的质疑和误会一样,New IP 也正深处这样的困境当中。 对于华为提出的 New IP 提案,沙特阿拉伯、伊朗、俄罗斯等国家均表示了支持。不过,有部分学者对这一“新事物”怀有质疑,主要有两方面立场: 一是关于绝对控制权。哈佛大学的社会科学家 Shoshana Zuboff 认为,华为提出新 IP 是为了通过技术基础设施赋予他们政治上的绝对控制权; 二是关于安全和人权。网络安全公司牛津信息实验室认为,New IP 虽能对网络基础进行细粒度控制,但网络协议...阅读全文
更灵活的安装程序。 管理和程序包管理方面的区别 Debian和Ubuntu都鼓励使用根帐户用于管理,使用受限制帐户用于日常计算,这一点不足为奇。然而,选择的安全模式不一样。 在Debian中,用户通常通过直接登录进入到根帐户来执行管理任务,然后尽快再次注销,以便缩短安全隐患期。不过,Ubuntu隐藏了根密码;不是使用sudo,而是允许至少1个用户输入自己的密码,以便下达管理命令。 Debian的程序包主要分为三大类:测试版、稳定版和不稳定版。新的程序包进入稳定版,然后在经过调试后转变成测试版。官方版本准备好后,处于测试版的现有程序包接受进一步的检查,最后成为新的稳定版。 近些年来,官方、甚至非官方增添了另外一些程序包,比如Backports、Experimental、Security、Old...阅读全文
应用所有更新: reboot 重新启动后,使用root用户登录并通过运行以下命令将一些必需的软件包安装到您的系统中: apt-get install snmp fping python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick -y 一旦安装了所有必需的软件包,就可以继续下一步。 安装LAMP服务器 Observium运行在Apache上,用PHP语言编写,并使用MySQL作为数据库。 所以你需要在你的系统上安装LAMP服务器。 首先,运行以下命令来安装Apache Web服务器: apt-get install apache2 libapache2-mod-php7.0 -y 安装...阅读全文
server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文
=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICEDynamicUser=trueExecStart=/usr/bin/socat TCP4-LISTEN:本机端口号,reuseaddr,fork TCP4:目标地址:目标端口号Restart=always[Install]WantedBy=multi-user.target接着,启动 socat 的 TCP 转发服务:12sudo systemctl enable socat-tcpsudo systemctl start socat-tcp如果还需要进行 UDP 转发,则继续编辑一个新文件,可根据需要自行调整此文件名,本文以 socat-udp 为文件名作例:1sudo vim /etc/systemd/system/socat...阅读全文
衡是非常必要的。 开发团队通常认为运维团队阻碍了创新或者交付。双方都应该相互理解。贬低运维团队很容易,但是更多情况下,他们只是想跟上步伐。不用非得采用每个登上 Hacker News 头条的最前沿的科技,也能创新。另一方面,现代运维组织需要意识到他们几乎永远不可能满足人们的要求了。可持续的发展道路——也是传播同理心的道路——是打破孤岛,共担责任。这就是运维的未来。随着运维工作转移到云,它需要给予开发团队更多的权利和信任以重塑自身,而不是“闭关锁国”。 运维长存! 【本文转自 36氪 】...阅读全文
, ctrip apollo, disconf, hawk 等配置中心的功能点。综合比较下来携程apollo 更具有优势。 二、简单介绍携程Apollo配置中心 1、What is Apollo 1.1 背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。 Apollo配置中心应运而生! 1.2 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范...阅读全文
日前,Intel 公开表示将为 ARM 阵营 IC 设计厂商代工生产芯片。且还公开叫板“友商”,称 Intel 的 10nm 工艺比三星、台积电的 10nm 工艺更具优势。ARM 方面表示很期待与英特尔合作。此外,不知道是否因为台积电和三星制造工艺注水的问题,Intel 的专家 Mark Bohr 还发布了一个更合理的衡量半导体工艺水平的公式。那么,Intel 缘何开始为 ARM 阵营 IC 设计公司代工芯片,Intel 提出的新计算公式能得到台积电、三星、格罗方德等代工大厂的认同么? Intel 罕有为第三方提供代工业务 一直以来,虽然台积电在芯片代工领域的市场份额独占鳌头,但在芯片制造工艺上,Intel 始终掌握着最先进的技术。举例来说,虽然同样是 14nm 制造工艺,三星的 14nm...阅读全文
面上线时确保已加流量统计代码。所有网站开通百度资源平台、Google Search Console账号。禁止使用session ID、Frame(框架结构)、Flash。已上线网站,除非SEO或运营部门另行要求,robots文件开放所有URL及文件(包括图片、CSS、JS)的抓取。后台实时或定期生成并更新XML版Sitemap,包括首页、栏目及翻页、产品/文章页面。是否包括过滤条件页面与SEO部门协调后再确定。新站一律使用响应式设计,不要使用独立移动站或移动版子域名。已使用移动子域名优化的旧站,暂时保持现状,与SEO部门沟通后转为响应式设计。英文网站HTML代码不要出现中文字符,包括注释中。由于各种原因需要改动URL时,旧URL做301转向至新URL。不要使用其它转向方式。由于各种原因改动...阅读全文