谷歌是如何培养经理人的
管理,要帮助员工成长,成为一个好的导师和沟通者,为团队提供清晰的愿景,提高效率并以结果为导向,能够进行跨组织的合作,成为坚定的决策者,在必要的时候能够为团队提供建议。 查看英文原文:How Google Develops New Managers 【中文版来自 InfoQ.com】...阅读全文
管理,要帮助员工成长,成为一个好的导师和沟通者,为团队提供清晰的愿景,提高效率并以结果为导向,能够进行跨组织的合作,成为坚定的决策者,在必要的时候能够为团队提供建议。 查看英文原文:How Google Develops New Managers 【中文版来自 InfoQ.com】...阅读全文
台的frp服务端frps和客户端frpc可执行文件。 这里下载的0.29版本。 服务端: 1 2 3 4 5 6 wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz tar -zxvf frp_0.29.0_linux_amd64.tar.gz cd frp_0.29.0_linux_amd64 mkdir /usr/local/frp cp frps /usr/local/frp cp frps.ini /usr/local/frp 2. 配置启动服务端frps 编写frps的Systemd配置文件/etc/systemd/system...阅读全文
在容器环境中,我们可以通过容器创建一个我们自定义过的镜像,那么我们是否可以直接通过基础的镜像直接自定义镜像呢?答案当然是可以的,在 Docker 中我们可以从名为 Dockerfile 的文件中读取指令并且自动构建镜像。在本文中,将介绍 Dockerfile 的基本语法以及基本知识。 1 Dockerfile 是什么? Dockerfile 其实是一份文本文档,里面包含了用户可以用来操作镜像的一些指令。通过顺序执行这些指令,最后得到一个自定义的镜像,这有点类似于我们的 shell script。 2 Dockerfile 示例 接下来先看一个 Dockerfile 示例: FROM centos LABEL maintainer="Locez
。Blackbox Exporter 最重要的功能之一是测量 Endpoint 的可用性。 当然, Blackbox Exporter 探测 HTTPS 后就可以获取到证书的相关信息, 就是利用这种方式实现对 Kubernetes apiserver 证书过期时间的监控. 配置步骤 调整 Blackbox Exporter 的配置, 增加 insecure_tls_verify: true, 如下: 重启 blackbox exporter: kubectl rollout restart deploy ... 增加对 Kubernetes APIServer 内部端点https://kubernetes.default.svc.cluster.local/readyz的监控. 如果你没有使用...阅读全文
。 cargo vendor 已经在生产中使用过很多种情况:Rust 编译器 rustc 使用它在发行版 tarball 中传递它的所有依赖项,而具有 Monorepos 的项目使用它在源代码管理中提交依赖项的代码。 对宏使用未命名的 const 现在可以创建未命名的 const。相比给常量一个显式的名称,只需将其命名为 _ 。例如,在 rustc 编译器中: /// Type size assertion where the first parameter /// is a type and the second is the expected size. [macro_export] macro_rules! static_assert_size { ($ty:ty, $size:expr...阅读全文
block_usb.conf (也可能叫其他名字) , $ sudo vim /etc/modprobe.d/block_usb.conf 然后将下行内容添加进去: install usb-storage /bin/true 最后保存文件并退出。 方法 2:删除 USB 驱动 这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。 执行下面命令可以将驱动从它默认的位置移走: $ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user 现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接到系统上时也就无法加载到驱动...阅读全文
,可支持服务器及其所有功能的直接配置。Cherokee 在 Linux,Mac OS X,BSD 和 Solaris 上本机运行,但不在 Windows 上运行。 Monkey HTTP 服务器 Monkey HTTP 是一个轻量级的服务器和开发堆栈,最初针对 Linux 进行了优化,但现在也与 Mac OS X 兼容。它专为嵌入式设备而设计,因此具有高度可扩展性,具有低内存和低 CPU 消耗。该项目于 2001 年开始,在 2008 年被改写为事件驱动系统时转向专业应用程序。 服务器通过混合机制运行,为每个线程提供数千个客户端的访问能力。它提供高性能的重负载服务器,易于安装,是嵌入式设备的理想选择。 除了这三种Web服务器,你还有其他开源项目推荐吗?...阅读全文
。Ingress 作为 Kubernetes 的初代入口网关,资源模型过于简单,以致无法适应当今的可编程网络。Gateway API 作为 Kubernetes 入口网关的最新成果,它通过角色划分将关注点分离,并提供跨 namespace 支持使其更适应多云环境,已获得大多数 API 网关的支持;入口网关(南北向)与服务网格(东西向,集群内路由)存在部分功能重叠,Gateway API 为两者的融合提供了新的参考模型。三是 eBPF 开始兴起。越来越多的开源项目使用 eBPF 技术,比如 Cilium 将 eBPF 引入容器原生网络,Merbridge 使用 eBPF 加速 Istio 中的透明流量劫持,Pixie 使用 eBPF 来构建可观察性堆栈,SkyWalking 使用 eBPF 来诊断服务网格的...阅读全文
工作规范和工作流程,并跟踪开发过程实际合规性; 8. 指导. 审核项目总体技术方案,对各项目进行最后的质量评估; 9. 负责技术团队建设和管理,注重人才培养和营造创新的研发文化; 10. 完成各项技术工作相关数据统计分析报告,并据此对公司发展提出合理化建议。 ** 岗位要求:** 1. 本科及以上学历,计算机. 软件工程相关专业,互联网行业优先考虑; 2. 10年及以上技术研发. 软件开发相关行业工作经验,5年以上互联网行业技术研发团队管理经验, 精通基于Java. PHP等语言的开发,熟悉服务端软件架构设计与开发流程;有互联网CTO或技术总监工作经验,带过百人以上团队; 3. 熟悉互联网领域业务,深刻理解产业发展方向,具备敏锐准确的洞察力和缜密的逻...阅读全文
通道(就是两条PCI-E),而 M.2(Socket 3)的固态则可以走 PCI-E 3.0×4 通道。 需要说的是每条 PCI-E 3.0 的带宽是 8Gbps,而 SATA 3.0 的带宽则只有 6Gbps。 最后要说的就是经常被商家拿来当作卖点的 NVMe 了。其实 NVMe 跟 AHCI 都是一种规范,就像是在路上走如果没有交通规则的限制,那么肯定是一团拥挤肯定都走不动了,而 NVMe 和 AHCI 就像是这种交通规则。 AHIC 是针对 SATA 这种弯路的交通规则。然后开发者发现,这种针对弯路的规范,数据只能一个一个通过的规则用在宽敞的 PCIE 通道上面实在太浪费了,于是针对 PCIE 通道又开发出了 NVME 规范,可以让很多数据同时通过。 总结:M.2 跟 SATA 其实可...阅读全文
Mesh 通过 Kubernetes 原生的 RBAC(基于角色的权限控制)功能对权限进行管理。用户可以根据实际的权限需求自由地创建多种 Role,然后绑定到用户名 Service Account 上,最后生成 Service Account 对应的 Token。用户使用该 Token 登陆 Dashboard,只能在该 Service Account 允许的权限范围内进行 Chaos 实验。此外 Chaos Mesh 还支持通过设置 Namespace Annotation 的方式开启特定 Namespace 下混沌实验的权限,进一步保障混沌实验的可控性。...阅读全文
-proxy.toml,将最后的 static 改成你想要的DNS服务器,你可以在 这里 选择你喜欢的(一般来说就是你试试访问快的),然后填进去,例如:[static] [static.'cloudflare'] stamp = 'sdns://AgcAAAAAAAAABzEuMC4wLjGgENk8mGSlIfMGXMOlIlCcKvq7AVgcrZxtjon911-ep0cg63Ul-I8NlFj4GplQGb_TTLiczclX57DvMV8Q-JdjgRgSZG5zLmNsb3VkZmxhcmUuY29tCi9kbnMtcXVlcnk'接着启动 dnscrypt-proxy:$ sudo systemctl start dnscrypt-proxy $ sudo systemctl enable...阅读全文
型代码为 33。SRV的记录格式为: _Service._Proto.Name TTL Class SRV Priority Weight Port Target Service: 服务名称,前缀“_”是为防止与DNS Label(普通域名)冲突。 Proto: 服务使用的通信协议,_TCP、_UDP、其它标准协议或者自定义的协议。 Name: 提供服务的域名。 TTL: 缓存有效时间。 CLASS: 类别 Priority: 该记录的优先级,数值越小表示优先级越高,范围0-65535。 Weight: 该记录的权重,数值越高权重越高,范围0-65535。 Port: 服务端口号,0-65535。 Target: host 地址。 客户端查询到多条记录的时候,使用优先级最高的记录。对相同优先...阅读全文
主进程(master process)生成一个子进程(worker process)出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对性能造成影响,同时降低编程的复杂度,降低开发成本。其次,采用独立的进程,可以让进程互相之间不会影响,如果一个进程发生异常退出时,其它进程正常工作,master 进程则很快启动新的 worker 进程,确保服务部中断,将风险降到最低。缺点是操作系统生成一个子进程需要进行内存复制等操作,在资源和时间上会产生一定的开销;当有大量请求时,会导致系统性能下降。 异步非阻塞 每个工作进程使用异步非阻塞方式,可以处理多个客户端请求。当某个工作进程接收到客户端的请求以后,调用 IO 进行处理,如果不能...阅读全文
然避免不了,为了更加从容的应对这些故障,就搞了一个工具 Chaos Monkey 会随机停止生产环境中的虚拟机,通过观察系统在真实故障中的表现来确保程序的健壮性,也通过实战来验证各种高可用技术是否靠谱。接着冒出了 Chaos Gorilla,会停止一整个可用域中的所有机器;最后还有Chaos Kong,直接停掉一整个 Region,非常有挑战精神(丧心病狂)。 为了更好的观察系统在故障时的情况,还研发了全局可视化系统,代号 Flux,可以将整个系统的逻辑架构和各服务之间的流量可视化在大屏幕上,效果图如下: 他们每个月有一个活动:将一个 Region 里的机器全部关掉,看 Netflix 服务是否正常。有兴趣看视频的可以移步这里。 另外,Netflix 除了云服务,还有自建CDN,即 Open...阅读全文
Contents1. 准备2. 使用 firewalld 进行中转3. 使用 UFW 进行中转4. 使用 iptables 进行中转4.1. CentOS 下保存规则4.2. Debian & Ubuntu 下 保存规则:5. 使用 socat 进行中转6. 目标机的设置7. 一些大陆 NAT VPS 商8. References本文最后更新于 2020 年 6 月 3 日本文以 CentOS 8 和 Debian 10 & Ubuntu 20.04 为例,介绍如何在 NAT VPS 上设置流量中转。开始前,请先根据实际使用的操作系统,参照以下文章对服务器进行各种必要的配置:CentOS 服务器的初始配置Debian & Ubuntu 服务器的初始化配置本文以 sammy 用户为例,进行中...阅读全文
tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:993 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 使用邮件用户代理(MUA)连接邮件服务器 邮件服务器现在可以使用了。可以在台式机、笔记本电脑、平板电脑或手机上用你最喜爱的电子邮件客户端软件配置邮件账户。以下是与Mozilla Thunderbird配置参数的截图。 故障排除 日志文件/var/log/mail.log是你最好的朋友。任何的问题都可以在这里找到线索。 确保防火墙正确配置。 确保DNS服务器配置了适当的条目。 综上所述,本教...阅读全文
DevOps解决方案营销副总裁Aruna Ravichandran预测道。她说,“鉴于攻击者强度和复杂度的提高,以及安全问题快速公诸于众对品牌带来潜在不可挽回的损害,代码本身必须考虑安全问题,并且部署在牢固的安全架构中。” Ravichandran认为,随着微服务框架和SDK的引入,开发人员为了避免影响用户体验,应该从一开始就考虑安全功能。当到了测试和部署阶段,安全验证应该被视为特殊情况处理。她提到“安全相关代码需求测试要求是非常特殊和动态的,这个过程非常有可能需要专家和用户的介入,这不是传统DevOps流程的一部分。” 更加注重安全的时期 按照Tufin首席技术管兼联合创始人Reuven Harrison的说法,DevOps可能是企业的最新漏洞。2017年,他期望能够看见安全相关流程能够融入到...阅读全文
,实现目标。激励作用=目标意义×实现可能性从这一公式中可以明确地看出,目标意义和实现的可能性越大,激励作用也越大,反之亦然。目标的设置必须具有可行性,这不仅可以使目标发挥最大的激励作用,还有利于具体目标与长远目标的实现,以及个人目标与团队目标的有机结合。2、集体荣誉激励法集体荣誉激励法是指团队各级领导者在实际工作中,通过多表扬、奖励集体来激发下属的集体意识,使每个团队成员产生一种强烈的荣誉感、责任感和归属感,从而形成一种自觉维护集体荣誉的向心力的办法。3、情感激励法每个人都需要关怀与体贴。一句亲切的问候,一番安慰的话语,都会成为激励人们行为的动力。通常来说,团队成员工作热情的高低,同领导与员工感情的亲疏成正比。团队领导可以和员工经常沟通,内容可以是家庭、生活、婚姻、生产、娱乐、工作等,相互交流...阅读全文
伦堡的 SUSE 办公室。 而在2012年2月1日,Linux基金会官方发文正式宣称GKH加入。 https://www.linuxfoundation.org/press-release/2012/02/leading-kernel-maintainer-greg-kroah-hartman-joins-the-linux-foundation/ Linux基金会的执行董事Jim Zemlin对GKH更是赞不绝口,“Greg是这个世界上最具天赋的软件开发者之一,他将会对Linux的发展提供无与伦比的贡献。”,并表明GKH的工作将会聚焦于Linux内核方面。 会员类别与年费 Linux基金会的会员分为企业会员和个人会员,而企业会员又分为白金会员、黄金会员和白银会员三种。 会员类别企业/个人会...阅读全文
,以及他们可以在哪些方面利用这些数据来获得优势。"开源和 OpenTelemetry 正在共同推动可观测性产业,但在最后,这一切都与开发者的体验有关。为开发者建立任何类型的工具的公司需要记住,开发者是需要关注的关键资产。你需要让他们成功,给他们一个愉快的体验并消除所有的摩擦。这样他们就可以快速行动,专注于他们需要的东西。" Betanews 作出结论称,开发者是开源社区不可或缺的一部分,且他们构建了公司所依赖的应用程序。公司必须记住:构建工具,使系统更有效、更快速、更容易使用,必须以开发人员为中心。“毕竟,他们是关键资产。”...阅读全文
热线、在线聊天支持。作为全球云服务的龙头企业,亚马逊云计算拥有最广泛的全球云计算基础设施,全球节点丰富,为网站的快速稳定访问提供基础设施保障。配合亚马逊全球CDN节点,能满足不同国家独立站访问速度需求。1.什么是云服务器?云计算服务器(也称云服务器或云主机)是云计算服务系统中的主机产品,有效解决了传统物理主机中管理难度大、业务扩展性弱的缺陷。在实际应用中,云主机具有三个方面的灵活性:主机服务配置和业务规模可根据用户需求配置,可灵活调整。用户申请的主机服务可以快速供应和部署(实时在线开通),实现集群内灵活可扩展的收费模式,用户无需支付押金,有多种支付模式供用户选择。2.云服务器适合什么样的用户?关注主机服务性价比的用户;需要快速实现分布式部署的用户;需要灵活扩展业务的用户;对系统高可用性和快速...阅读全文
" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内容的地址,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文
); /* Get file descriptor for namespace */ if (fd == -1) errExit("open"); if (setns(fd, 0) == -1) /* Join that namespace */ errExit("setns"); execvp(argv[2], &argv[2]); /* Execute a command in namespace */ errExit("execvp"); } 使用示例: ./ns_exec /proc/3550/ns/uts /bin/bash nsenter 那么,最后就是nsenter了,nsenter相当于在setns的示例程序之上做了一层封装,使我们无需指定命名空间的文件描述符,而是指定进程号即可。 指定进程...阅读全文
/ee43bb16af9947ed9e8498ad42c859318e001365043e4cda410f68b4a0d79378# cat memory.limit_in_bytes 104857600 文件驱动 Docker 中的每一个镜像都是由一系列只读的层组成的,Dockerfile 中的每一个命令都会在已有的只读层上创建一个新的层。当镜像被 docker run 命令创建时就会在镜像的最上层添加一个可写的层,也就是容器层,所有对于运行时容器的修改其实都是对这个容器读写层的修改。容器和镜像的区别就在于,所有的镜像都是只读的,而每一个容器其实等于镜像加上一个可读写的层,也就是同一个镜像可以对应多个容器。 这种分层的逻辑是什么呢? 这就是docker 里文件驱动的职责,负责镜像和容器的文件系统组织。 目前 docker 默认的文件驱动是 overlay2, 它是基于 Linux OverlayFS 的,下面这张图...阅读全文
9 月 8 日,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 语言为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。 据介绍,作为项目维护方,字节跳动基础架构团队已推进项目以 CloudWeGo 开源库为主进行迭代,未来团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点。 字节跳动使用 Golang 作为主要业务开...阅读全文