InfraPub 为您找到相关结果 394

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

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

分布式 NewSQL 数据库 TiDB

#2342TiFlash添加上报 DeltaTree 引擎读写负载相关 metrics 信息支持 fromUnixTime 和 dateFormat 函数下推默认禁用粗粒度索引过滤器TiDB Ansible新增 TiFlash 监控 #1253 #1257优化 TiFlash 配置参数 #1262 #1265 #1271优化 TiDB 启动脚本 #1268 Bug 修复 TiDB修复 merge join 在某些场景下 panic 的问题 #15920修复在计算选择率时重复考虑某些表达式的问题 #16052修复极端情况下 load 统计信息可能出现的 panic 的问题 #15710修复 SQL query 中存在等价表达式在某些情况下无法识别导致报错的问题 #16015修复从一个数据库中询另一个数据库的...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

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

持,图形驱动中的异步翻页,用于缓解射频干扰的新 "RFIM "驱动,围绕Rocket Lake和Alder Lake的新设备ID,WiFi驱动内的WiFi 6GHz频段支持,以及其他工作。 在 AMD 方面,主要围绕着改进电源管理和传感器处理,CPU 帧率频率不变性支持(虽然与 Schedutil 在一些系统上处于糟糕的状态),AMD 传感器融合枢纽驱动程序终于被合并,以支持Ryzen笔记本电脑上的传感器功能,以及其他各种改进。 Linux 5.11 还为不知名的设备提供了新的硬件支持,从失败的 OUYA 游戏机到 Guitar Hero Live PS3 / Wii U 扩展坞。 改进内容如下: 处理器: - 经历了 40 多轮的代码审之后终于整合了 Intel SGX enclaves...阅读全文

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

DNSCrypt简明教程

文可见:DNSCrypt简明教程 - Jiajun的编程随想我们输入 jiajunhuang.com 之后,浏览器是需要将 jiajunhuang.com 翻译成IP,然后才能建立TCP连接的。而将域名翻译成IP地址, 就是DNS服务器的事情,但是有一个小问题,DNS是明文的。也就是说,尽管你使用了HTTPS,由于在建立TLS连接之前,你得先询域名所对应的IP,因此,还是可以通过监控你的DNS来推测你准备 访问什么流量,更坏一点的情况,可以给你伪造一个响应,返回错误的地址,这种情况就叫做“DNS污染”。所以我们需要使用DNSCrypt来加密我们的DNS通信:$ sudo pacman -S dnscrypt-proxy然后编辑 /etc/dnscrypt-proxy/dnscrypt...阅读全文

博文 2021-02-06 19:55:08 知乎

2021勒索软件报告:平均支付赎金增长171% 黑客最高要价3000万美元

软件。RagnarLocker排名第二,泄漏了全球26家受害企业的数据。值得一提的是,美国司法部在2021年1月宣布协调国际执法行动,瓦解NetWalker勒索软件团伙。由NetWalker运营商管理的托管泄漏数据的暗网域名已经无法访问。图片来自于 派拓网络全球威胁情报团队 Unit 42最后报告提出三项建议,分别是初始进入、备份和恢复流程以及安全监控。在初始进入方面,建议企业使用者保持对电子邮件安全的认识和培训,并在恶意电子邮件进入邮箱后立即识别和补救。其次企业要进行适当的修补管理,并审哪些服务可能暴露在互联网上。再者远端桌面服务要正确配置并确保安全,尽可能使用最低许可权,并制定策略对付勒索软件。在备份和恢复流程方面,企业需备份资料,并提前规划好适当的恢复流程。企业要确保所有备份都在离线...阅读全文

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

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

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

Golang 面试题搜集

](https://github.com/lifei6671/interview-go/blob/master/question/q015.md) - [记一道字节跳动的算法面试题](https://github.com/lifei6671/interview-go/blob/master/question/q016.md) - [多协程询切片问题](https://github.com/lifei6671/interview-go/blob/master/question/q017.md) - [对已经关闭的的chan进行读写,会怎么样?为什么?](https://github.com/lifei6671/interview-go/blob/master/question/q018.md...阅读全文

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

编辑——编译——刷新——测试(edit-compile-flash-test)周期。 这些测试都是自动完成的,用户无需离开自己的代码编辑器。此外,还可以使用 pw_target_runner 模块在多个设备上并行运行测试,从而节省更多时间。 团队开发代码需要强调一致性,然而,设置 lint、配置代码格式以及添加自动的提交前检等通常会使这项工作无限期延迟。这时,Pigweed 的 pw_presubmit 模块可派上用场。它会基于用户可能已经使用的工具提供现成的 Lint 集成套件,并预先配置好,可以立即供微控制器开发人员使用。 至于该项目为什么取名为 “Pigweed”,谷歌给出了解释:“Pigweed,又称 amaranth ,是一种营养丰富的谷物和绿叶沙拉菜,也是一种快速生长的杂草...阅读全文

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

Harbor项目发布v1.7 2018圆满收官

目最佳用户,贡献者和合作伙伴颁发社区成就奖。 12月,Harbor 首次登陆 KubeCon 北美大会,项目成员发表了数场演讲,吸引了世界各地的粉丝前来交流。目前,Harbor 项目组每月定期举行社区电话例会,讨论发展路线图,并与国内外的企业及个人建立了广泛的合作关系,社区生态发展得如火如荼。 年近岁末, 经过 Harbor 社区三个多月的不懈努力,Harbor v1.7版本正式发布!新版本带来诸多新功能: · 镜像构建历史 - 用户可看容器镜像的构建历史和内容; · 镜像复制(retagging)- 提供了在镜像上传至Harbor后重新创建镜像tag的能力。此功能在CI流水线中提升镜像到生产状态或者通过编程方式重新tag镜像,亦或将特定镜像重新tag或者移动到其它仓库或者项目等场景中特别...阅读全文

博文 2018-12-30 09:35:15 debian.cn

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

下载到 ~/local/go 目录。此时我们需要设置环境变量 - 设置 GOROOT 和 GOPATH 目录到系统环境,这样,我们就可以在 git 用户下执行 go 命令。执行以下命令。 cd ~/ echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc 随后重新登录使配置生效,或者直接运行 source ~/.bashrc 重载 Bash, . ~/.bashrc 现在运行 go 的版本看命令。 go version...阅读全文

博文 2018-03-10 09:35:31 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

内网穿透利器frp部署配置指南

11 12 13 [common] server_addr = frp.frognew.com server_port = 17000 tls_enable = true token = 12345678 [web] type = http local_port = 8080 custom_domains = demo.frp.frognew.com http_user = abc http_pwd = abc 启动frp客户端: 1 ./frpc -c ./frpc.ini 使用http://demo.frp.frognew.com即可从公网访问前面使用python启动的用于测试的http服务。 上面只是frp的基本功能,frp还提供更多的功能。 关于frp的更多内容可以看官方文档frp...阅读全文

博文 2021-02-18 14:42:16 青蛙小白

Facebook 开源的一组 Linux 内核组件与工具

将发生的资源短缺提供早期预警,从而实现更积极主动、细致的响应。 Oomd:https://facebookmicrosites.github.io/oomd/ Oomd 是一个用户空间 OOM(内存不足)进程杀手,可以更好地了解系统上运行的进程的上下文和优先级。它允许配置对 OOM 条件的响应,例如暂停或终止非必需项、重新分配系统中的内存等操作。 详情信息请看发布公告,以及对应项目的开源主页。...阅读全文

博文 2018-11-24 09:27:14 debian.cn

Google 关于 Go 2 的讨论

语化的标识符或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角度来看,Go 2的主要目标是“解决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。 大部分主题是介绍和解释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅读博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文

博文 2017-07-20 10:03:13 debian.cn

通过 Hostapd 进行 WIFI 热点共享上网

操作系统:Debian Gnu/Linux Jessie 内核: linux-image-4.3.0-0.bpo.1-amd64 网卡:腾达(Tenda) W311M 150M Mini无线USB网卡 最近发现自己的Debian之前可以使用GNOME3下的networkmanager进行WIFI共享上网功能因为内核升级导致无法使用。无奈只好再次通过Hostapd来进行WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地化的DNS询服务,成功恢复了我的小本本作为热点的能力。总结方法如下: 1、准备环境: 1.1执行vi /etc/apt/sources.list,并添加如下源地址: deb http://ftp.cn.debian.org...阅读全文

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

Debian 上安装搭建 Shadowsocks 服务

-cfb, aes-192-cfb, aes-256-cfb,**bf-cfb, camellia-128-cfb, camellia-192-cfb,**camellia-256-cfb, cast5-cfb, des-cfb timeout:连接超时时间,单位秒。要适中。 如果客户端有OpenWRT路由器等设备,推荐rc4-md5,性能更好;否则可以选用安全性更好的aes-256-cfb等,不过计算复杂度上升,会有性能的损失,不过对于PC机以及现在的只能手机来说没有任何问题。路由器性能较弱所以可以考虑rc4-md5 保存配置文件后,就重启 shadosocks-libev 服务 $ service shadowsocks-libev restart 然后就搭建完成了,看shadowsocks...阅读全文

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

如何在 Nginx 中配置 gRPC 的代理

/ { grpc_pass grpc://localhost:50051; } } 示例里在nginx层给gRPC服务添加了ssl证书,而内部代理到gRPC服务器仍然是使用明文的交互方式,也就是在Nginx层,做到了SSL offloading。 gRPC客户端也是需要TLS加密。如果是使用自签名证书等未经信任的证书,客户端都需要禁用证书检。在部署到生产环境时,需要将自签名证书换成由可信任证书机构发布的证书,客户端也需要配置成信任该证书。 代理加密的gRPC 如果Nginx内部代理的gRPC也需要以加密的方式交互,这种情况就需要把明文代理协议grpc://替换为grpcs://。这首先要gRPC服务器是以加密的方式发布服务的。Nginx层修改如下: grpc_pass grpcs://localhost...阅读全文

博文 2018-04-20 11:03:39 debian.cn

在 Mac OS X 上安装 Nessus 10

/plugin_feed_info.inc 上述 PLUGIN_SET 后的数字(日期)并没有严格要求,根据日期来写以便识别版本(安装插件时会显示版本号)。 五、重启服务编译插件 (1)停止服务 sudo launchctl unload -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist (2)启动服务 sudo launchctl load -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist (3)返回浏览器看状态 此时 Web 页面提示:Establishing connection, please wait… 刷新一下浏览器,可以看到正在:Compiling plugins… (4)出现...阅读全文

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

Amazon 应用。Ubuntu 上的 Amazon 图标一直就挂在桌面,这早已被人吐槽,因为它比较鸡肋,相关调数据也反映了这一点。此次变化,特别是对于普遍不习惯首选 Amazon 购物的中国人来说,是一大好事。 Ubuntu 20.04 将使用 Linux 5.4 内核,该版本具有内核锁定模式和 exFAT 支持等新特性。 内核锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。 exFAT 文件系统则是 FAT32 的替代者,它由微软开发,但是不仅用于 Windows 系统,目前 exFAT 在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪...阅读全文

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

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

Kubernetes的kubelet组件内置了cadvisor,将Node上容器的指标以Prometheus支持的格式展示,可以通过这些指标计算得到更多有用的数据。 Kubelet的Cadvisor指标获取 在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中询到。 - job_name: 'kubernetes-cadvisor' scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount...阅读全文

博文 2020-08-13 20:41:03 debian.cn

Jono Bacon: GPL 没落了吗?

系、构建联盟,找到并解决行业问题。 在这个峰会上,有一个分组研究,在其中,与会者被分成小组,被要求给一个真实存在的核心的开源技术推荐一个开源协议。每个小组都给出了回应。不到十分之一的小组推荐了宽容许可证,没有人推荐 GPL 许可证。 我看到了开源行业对于 Apache 协议以及 MIT 协议的逐步认可,但是他们却对花时间理解、接受和熟悉 GPL 这件事高高挂起。 在这几年里,这种趋势仍在蔓延。除了 Black Duck 的调之外, 2015 年 GitHub 上的开源协议调 也显示 MIT 是人们的首选。我还能看到,在我工作的 XPRIZE (我们为我们的 Global Learning XPRIZE 选择了开源协议),在我作为社区领导顾问的工作方面,我也能感觉到那种倾向,因为越来越多的...阅读全文

博文 2017-08-04 08:03:43 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 开发团队也停止进行...阅读全文

Linux系统诊断-内存基础

谈及linux内存,很多时候,我们会关注free,top等基础命令。当系统遇到异常情况时,内存问题的根因追溯,现场诊断时,缺乏深层次的debug能力。本篇幅不做深层讨论,能把当前系统的问题描述清楚,是每个SRE应该具备的最基础能力。free========2.1 free命令原理free是通过看 /proc/meminfo 来获取内存的使用情况。但是 /proc/meminfo 这个文件又是怎么来的?我们先了解下 /proc 目录:/proc 是一个虚拟文件系统,该目录下的所有文件都是伪文件,该类文件只存在于内存中,并不占用空间——使用 du -sh 即可验证,该模具路下的磁盘占用都是0。/proc 下的所有文件都是内核调用proc_create() 接口来创建的虚拟条目。/proc 中...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

利用 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

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

。 Netpoll Netpoll 是字节跳动内部的 Golang 高性能、I/O 非阻塞的网络库,专注于 RPC 场景。 RPC 通常有较重的处理逻辑(业务逻辑、编解码),耗时长,不能像 Redis 一样采用串行处理(必须异步)。而 Go 的标准库 net 设计了 BIO(Blocking I/O) 模式的 API,为了保证异步处理,RPC 框架设计上需要为每个连接都分配一个 goroutine,这在空闲连接较多时,产生大量的空闲 goroutine,增加调度开销。此外,net.Conn 没有提供检连接活性的 API,很难设计出高效的连接池,池中的失效连接无法及时清理,复用低效。开源社区目前缺少专注于 RPC 方案的 Go 网络库。类似的项目如:evio、gnet 等,均面向 Redis、Haproxy...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

Golang Context 探究

&valueCtx{parent, key, val} } // context.valueCtx 中存储的键值对与 context.valueCtx.Value 方法中传入的参数不匹配 // 就会从父上下文中找该键对应的值直到在某个父上下文中返回 nil 或者找到对应的值 func (c *valueCtx) Value(key interface{}) interface{} { if c.key == key { return c.val } return c.Context.Value(key) } 在 context 传递数据的场景一般很有限,比较常见的使用场景是传递请求对应用户 token 以及用于进行分布式追踪的 trace id。不建议用来传递请求参数。 我用下面这种图来展示...阅读全文

博文 2021-02-25 09:27:27 lxkaka

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

服务化项目服务不可用几十分钟,造成订单数减少几十万笔,损失百万资金。 原因分析 当时是没有定位到具体的原因的,但是下面的原因也是一部分可能引起宕机的情况。 某服务化项目的业务增速非常快,在高峰期,数据库QPS突破35000,系统处于高负荷状态。 在高峰期如果同时执行几个全表扫描的SQL,会造成数据库压力急剧上升,应用超时增多,前端应用超时,用户重试,流量飙升,形成了雪崩效应。 主要原因在与一些老项目的SQL询性能较差,并且使用的主库,对数据库影响较大。数据库QPS太高,但是缓存方案因为人手原因一直没有落地,慢SQL的问题处理优先级应该提升。 改进方案 针对每个应用建一个数据库账号,严格按照规范使用 缓存优化方案即时落地,慢SQL问题优先处理,集中处理目前已经发现的慢SQL(询时间超过1S...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

更灵活的安装程序。 管理和程序包管理方面的区别 Debian和Ubuntu都鼓励使用根帐户用于管理,使用受限制帐户用于日常计算,这一点不足为奇。然而,选择的安全模式不一样。 在Debian中,用户通常通过直接登录进入到根帐户来执行管理任务,然后尽快再次注销,以便缩短安全隐患期。不过,Ubuntu隐藏了根密码;不是使用sudo,而是允许至少1个用户输入自己的密码,以便下达管理命令。 Debian的程序包主要分为三大类:测试版、稳定版和不稳定版。新的程序包进入稳定版,然后在经过调试后转变成测试版。官方版本准备好后,处于测试版的现有程序包接受进一步的检,最后成为新的稳定版。 近些年来,官方、甚至非官方增添了另外一些程序包,比如Backports、Experimental、Security、Old...阅读全文

博文 2017-12-22 23:41:07 debian.cn

细数k8s支持的4种类型的container - 侃豺小哥

beta版,因此默认情况下已启用) 本节中的示例演示了临时容器如何出现在 API 中。 通常,您可以使用 kubectl 插件进行故障排,从而自动化执行这些步骤。 临时容器是使用 Pod 的 ephemeralcontainers 子资源创建的,可以使用 kubectl --raw 命令进行显示。首先描述临时容器被添加为一个 EphemeralContainers 列表: { "apiVersion": "v1", "kind": "EphemeralContainers", "metadata": { "name": "example-pod" }, "ephemeralContainers": [{ "command": [ "sh" ], "image": "busybox...阅读全文

博文 2021-08-20 11:45:32 博客园

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

有 30 分钟的时间进行支付,如果 30 分钟之内没有支付成功,那么这个订单将进行异常处理,这时就可以使用延时队列来处理这些订单了。 2)订单完成1小时后通知用户进行评价。 实现思路:发送延时消息时先把消息按照不同的延迟时间段发送到指定的队列中(topic_1s,topic_5s,topic_10s,…topic_2h,这个一般不能支持任意时间段的延时),然后通过定时器进行轮训消费这些topic,看消息是否到期,如果到期就把这个消息发送到具体业务处理的topic中,队列中消息越靠前的到期时间越早,具体来说就是定时器在一次消费过程中,对消息的发送时间做判断,看下是否延迟到对应时间了,如果到了就转发,如果还没到这一次定时任务就可以提前结束了。 2.1.6 消息回溯 如果某段时间对已消费消息计算...阅读全文

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

三个技巧 大幅减少 Docker 镜像体积

"] Dockerfile 的第一部分创建了三个层,然后这些层被合并并复制到第二个阶段。在第二阶段,镜像顶部又添加了额外的两个层,所以总共是三个层。 现在来验证一下。首先,构建容器: $ docker build -t node-multi-stage . 看镜像的历史: $ docker history node-multi-stage IMAGE CREATED BY SIZE 331b81a245b1 /bin/sh -c #(nop) CMD ["index.js"] 0B bdfc932314af /bin/sh -c #(nop) EXPOSE 3000 0B f8992f6c62a6 /bin/sh -c #(nop) COPY dir:e2b57dff89be62f77… 1.62MB...阅读全文

博文 2018-09-06 10:50:29 debian.cn

Debian、Ubuntu安装源配置文件说明

的软件原来根本就没有。该仓库正因此而设,但欠官方维护,且可能在系统正式发布之后过一段时间才有内容。此仓库处于第二优先顺序,而上述几个仓库处于第一优先顺序。安装第二优先顺序的包必须特别指明,见 apt-get(8) aptitude(8) 的 --target-release 选项。 提示:并非所有版本都设有上述全部仓库,请打开源中 dists 目录看。 后续字段,指示包许可类型。 后续字段排名不分先后,最终结果取其并集。按包本身的许可及所直接依赖的包的许可划分。打开某仓库,可见几个子目录。 Debian 最多有三种 「main」,本身是自由软件,且所有依赖的包也都是自由软件,此类可称纯自由软件,见 https://www.debian.org/distrib/packages《Debian...阅读全文

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

Facebook 是如何进行大规模代码部署的

布。这种分离带来了挑战,包括维护向下兼容性。 由于工具和部署选项的性质,移动持续部署面临着一些特定的挑战。Web 部署则更为容易,因为 Facebook 拥有完整的技术栈和工具。为了解决这些挑战,Facebook 已经构建了一些专注于更快的移动开发的工具和库,包括 Buck 、Phabricator、 Infer、 React 以及 Nuclide 。Facebook 的移动部署是以三层来并发运行。 • 构建:合并到移动主分支上的所有代码都会进行构建,这会针对受影响的所有产品(Instagram、Messenger)并且会跨各种芯片架构。 • 静态代码分析:Linters 和静态分析工具的组合,称为 Infer ,用于检各种问题,包括资源泄漏、未使用的变量、有风险的系统调用和编码准则违规...阅读全文

博文 2017-10-31 14:05:20 debian.cn

三个简单而优秀的 Linux 网络监视器

接口。以这种方式合并多个接口的数据: $ vnstat -i wlan0+eth0+eth1 你可以通过以下几种方式过滤显示: -h 以小时显示统计数据。 -d 以天数显示统计数据。 -w 和 -m 按周和月显示统计数据。 使用 -l 选项看实时更新。 此命令删除 wlan1 的数据库,并停止监控它: $ vnstat -i wlan1 --delete 此命令为网络接口创建别名。此例使用 Ubuntu 16.04 中的一个奇怪的接口名称: $ vnstat -u -i enp0s25 --nick eth0 默认情况下,vnstat 监视 eth0。你可以在 /etc/vnstat.conf 中更改此内容,或在主目录中创建自己的个人配置文件。请参见 man vnstat 以获得完整的参考...阅读全文

博文 2017-11-07 00:07:38 debian.cn

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

可以及时地发现问题并解决问题。 开源除了源代码开放外,开发的过程也是透明的,因此,你可以检供应商是否遵循 ISO27001,云安全原则等基准行业标准开发流程。 4、更多的用户导向 开源能使顾客和用户直接看到并参与到产品开发中来,这比闭源软件开发更能了解客户的需求。供应商可能只关注产品的某一特定方面,而一个社区能致力于开发出更多的功能,能创造出对用户更有价值的产品。 5、更好的支持 专有供应商是在产品遇到问题时,唯一可以给你提供帮助的一方。如果他们无法提供你所需要的服务,或者需要对额外的服务收费,那事情就麻烦了。而软件一旦开源,如果供应商无法提供相应的服务或支持,可以有其他人来填补空白,这就是自由市场的优势,能保证你得到最好的服务。 6、更有利的许可 典型的软件许可充斥这一些不公平条例,它通...阅读全文

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

使用 tmate 分享你的终端会话

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

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

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

: systemctl restart php7.2-fpm 更多日常的操作: systemctl restart php7.2-fpm #重启 systemctl start php7.2-fpm #启动 systemctl stop php7.2-fpm #关闭 systemctl status php7.2-fpm #检状态 安装更多组件 上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见: root@debian.cn-service:~# apt-cache search php7.2 php-radius - radius client library for PHP php-http - PECL HTTP module for PHP Extended HTTP...阅读全文

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

AWS IAM 基本概念介绍

ListBucket 操作,它将返回有关存储段中项目的信息。任何您没有显式允许的操作都将被拒绝。 资源:您允许对哪些资源执行操作。例如,您将允许用户对哪些特定 Amazon S3 存储段执行ListBucket 操作?用户不能访问任何您没有显式授予许可的任何资源。 效果:当用户请求访问权限时将产生什么效果(允许或拒绝)。因为默认设置为拒绝用户访问资源,因此您通常需要指定您将允许用户访问资源。 AWS IAM 最佳实践 隐藏您的 AWS 账户根用户 访问密钥创建单独的 IAM 用户使用组向 IAM 用户分配权限授予最低权限利用 AWS 托管策略开始使用权限使用客户托管策略而不是内联策略使用访问权限级别看 IAM 权限为您的用户配置强密码策略为特权用户启用 MFA针对在 Amazon EC2 实例上运行的应用程...阅读全文

博文 2019-06-04 20:22:31 debian.cn

3个 Linux 命令让你看起来很忙:摸鱼的技巧

。它播放的序列由你决定,但默认情况下它包括一个加密货币挖掘模拟器、composer PHP 依赖管理器、内核编译器、下载器、内存管理等等。不过,我最喜欢的是显示 simcity 加载消息的设置。因此,只要没有人检得太仔细,你就可以花整个下午的时间等待电脑完成进度条。 Genact 有 linux、os x 和 Windows 版本,Rust 源码可以在 github 上找到。 Hollywood Hollywood 采取了更直接的方式。它本质上是在终端中创建一个随机数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其他应用程序等,并每隔几秒钟进行切换。它以 shell 脚本的形式组合在一起,因此可以很容易地根据你的需要进行修改。 Hollywood 的源代码可...阅读全文

博文 2019-09-28 15:48:43 debian.cn

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

感情,使团队内部形成一种和谐与欢乐的气氛。4、公平激励法一个人在产生公平感时,会心情舒畅,努力工作;而在产生不公平感时就会怨气冲天,大发牢骚,影响工作的积极性。公平激励法是强化工作积极性的重要手段,所以在团队管理中,对员工分配、晋级、奖励、使用等方面要力求做到公平、合理。5、竞赛激励法竞赛激励法就是指团队领导者通过经常性的检评比和多种形式的竞赛活动,来激发下属的上进心和竞争意识,促使其努力使自己的工作走在他人前面的方法。6、褒奖激励法表扬和奖励是对良好思想和行为的一种积极肯定,它包括物质的,也包括精神的。表扬和奖励能够引起人们愉快的感受,这是因为渴望得到他人或社会的赞赏,是一种心理需要,已经成为人们的人格特征之一。7、榜样激励法榜样激励法就是指领导者通过树立生动、鲜明、具体、形象的学习榜样...阅读全文

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

应、Hao 123 等等。具体的计算方式详见:https://www.tiobe.com/tiobe-index/programming-languages-definition/。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。 这个排行榜可以用来考察你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。 详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index 《2022-2023 中国开发者大调》重磅启动,欢迎扫描下方二维码,参与问卷调研,更有 iPad 等精美大礼等你拿!...阅读全文

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

Twitter确认接受440亿美元收购提议 埃隆·马斯克将完全控制该公司

他首次披露他在Twitter的9.2%股份时,他就创建一个"编辑"按钮向Twitter用户进行了调,而实际上Twitter已经在开发这个按钮。他后来还建议取消Twitter Blue的广告并降低其订阅价格,并增加狗狗币作为支付选项。 马斯克一直直言不讳地批评Twitter的内容管制,称自己是一个"言论自由的绝对主义者",并对该平台在他的控制下如何节制表示担忧。"马斯克在TED 2022期间接受克里斯-安德森的采访时说:"人们有一个现实和认知,即他们能够在法律的范围内自由发言,这一点非常重要。我认为从广义上讲,我们越是能增加对Twitter这个公共平台的信任,文明受损的风险就越小。" 马斯克最初在4月13日提出以每股54.20美元的价格收购Twitter。该提议是在马斯克披露收购...阅读全文

Proxy-Go v6.6 发布啦

持在 tls 和 kcp 之后进行自定义加密, 也就是说自定义加密和 tls|kcp 是可以联合使用的, 内部采用 AES256 加密, 使用的时候只需要自己定义一个密码即可。 底层压缩高效传输,http(s)\sps\socks 代理在 tcp 之上可以通过自定义加密和 tls 标准加密以及 kcp 协议加密 tcp 数据, 在加密之后还可以对数据进行压缩, 也就是说压缩功能和自定义加密和 tls|kcp 是可以联合使用的。 安全的 DNS 代理,可以通过本地的 proxy 提供的 DNS 代理服务器与上级代理加密通讯实现安全防污染的 DNS 询。 负载均衡, 高可用,HTTP(S)\SOCKS5\SPS 代理支持上级负载均衡和高可用, 多个上级重复-P 参数即可. 指定出口 IP...阅读全文

博文 2018-12-01 09:52:14 Go v6.6 发布 新增智能模式

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

已经发布通告,例如 CloudFlare、Qrator Labs、Arbor Networks、US-CERT,等等 预防和防御类:包括 NTT 在内的多个ISP 已经对 UDP 11211 采取限速措施。 应对建议方面,ISP、网络管理员、企业用户可以从很多渠道获得应对建议,例如 这里。我们建议: 各运营商 ISP、云服务厂商,考虑在自己的网络内对UDP 11211 采取限速措施 各开发者和 memcache 管理者,考虑自 memcache 设定ACL 总体而言,一方面,我们开始担忧1Tbps以上的DDoS攻击案例今后会比较频繁的出现,DDoS攻击开始从 G 时代进入 T 时代(Gbps vs Tbps);另一方面,我们必须指出至少在当前 Memcache DRDoS 还不是DDoS...阅读全文

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

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

稳定分支。 我们将讨论 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 维护者...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

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

如何对一个deb包解压、修改、重新打包 全过程

deb解包封包工具 08-21 此软件用于解包封包deb包 win下解压deb文件的插件 03-03 How to install DEB plugin: 1. Unzip the deb.wcx to the Total Commander directory 2. In Total Command ubuntu下deb的解压方法 feigeswjtu的专栏 12-25 1万+ 承接上一篇文章中的第二步,解压ubuntu下的deb文件,还是网上搜索吧,http://blog.csdn.net/monkey_d_meng/article/details/6034268这篇文章将的很详细,但是对菜鸟来说还是有点高深,只是说解压deb的方法,没办法了,自己man dpkg看吧,结果找到了,没...阅读全文

博文 2021-02-16 11:44:48 CSDN