使用 cURL 对Web请求进行性能测试
SparkyLinux 采用的是滚动更新模式,日前已更新到 5.0 版本,并已提供下载使用。SparkyLinux 5.0 基于测试版的 Debian 10 "Buster",并带来了 LXQt, Xfce 和 MATE 桌面环境下的镜像文件。 SparkyLinux 5.0 代号 "Nibiru",与旧的 SparkyLinux 4.5 系列相比,SparkyLinux 5.0 "Nibiru" 版本附带了一个完全最新的系统,与2017年7月14日发布的 Debian 测试版本同步,默认使用 Linux Kernel 4.11.6,不过用户可以从“不稳定”仓库中安装 Linux Kernel 4.12。 该版本使用最新的 Calamares 3.1.1 作为默认系统安装程序,从而修复了较...阅读全文
,IETF QUIC "在TCP上明显优于TLS 1.3的HTTPS"。例如,谷歌搜索延迟降低了2%,而YouTube的重新缓冲时间减少了9%。 因此,该公司在其浏览器中启用了对IETF QUIC的支持,不少于25%的用户从今天起会自动启用。根据谷歌的说法,本次实现是基于29号草案,这不是最新的版本,但在后续的草案中没有突破性的变化。谷歌还没有添加的是对IETF QUIC 0-RTT的支持,它将在以后出现,这将带来更好的性能。 HTTP/3还没有最终确定,目前还不清楚浏览器何时能有一个完全最终确定的实现。...阅读全文
ok:=range exitChan{ fmt.Println(ok) } } 管道实现定时通知 func Notice(d time.Duration) chan bool { c := make(chan bool, 1) go func() { time.Sleep(d) //定时 c <- true }() close(c) return c } func main() { log.Println("one") <-Notice(time.Second) //管道没有写则阻塞 log.Println("tow") <-Notice(time.Second) log.Println("three") } 管道实现互斥锁 package main import ( "log" "time...阅读全文
定完全禁止 Q&A 环节,以“让它成为对新演讲者更友好的第一个环境”。 这个想法在很大程度上被 Debian 开发者所拒绝,并且看起来不会有足够的动力应用于未来的 DebConf 大会上。虽然有一些开发者支持这个想法,包括一些演讲者 —— 其中英语不是他们的母语,因此希望不必处理问答,而其他人则建议这个政策也许可以由演讲者在每个演示文稿的基础上决定。 有关这想法的讨论,可点此查看(debconf-discuss),Chris Lamb 在他的每月 Debian 项目负责人笔记中也提到了这件事。...阅读全文
我们确定了日志文件的路径后,就可以使用 echo 等命令清空了。 查找日志路径可以使用命令, `docker inspect --format='{{.LogPath}}' 1e1897500f00` 一键清理多个容器日志的命令,就可以这样写, ```docker inspect --format='{{.LogPath}}' `docker ps -q` | xargs -i cp /dev/null {}```...阅读全文
这三行脚本不错,方便快捷。 可以直接导出 Route53 中指定域名的解析记录,为 bind 格式, ``` #!/bin/bash zonename=$1 hostedzoneid=$(aws route53 list-hosted-zones --output json | jq -r ".HostedZones[] | select(.Name == \"$zonename.\") | .Id" | cut -d'/' -f3) aws route53 list-resource-record-sets --hosted-zone-id $hostedzoneid --output json | jq -jr '.ResourceRecordSets...阅读全文
新年假期,Linus Torvalds在邮件列表中发表的一篇火热的帖子引发技术社区关注,人们借此讨论ECC内存的重要性,Torvalds在文章中抨击了英特尔在这方面的"坏政策",因为特定的市场细分使E... 01月05日 222 评论...阅读全文
C++ 委员会于上周在夏威夷科纳举办了一场官方 ISO 会议,以确定下一个国际标准 C++20 的功能集。 根据会议报告,C++20 的功能设计现已完成。计划于 2019 年 7 月在科隆举行的会议上... 02月24日 1,404 评论...阅读全文
新年假期,Linus Torvalds在邮件列表中发表的一篇火热的帖子引发技术社区关注,人们借此讨论ECC内存的重要性,Torvalds在文章中抨击了英特尔在这方面的"坏政策",因为特定的市场细分使E... 01月05日 222 评论...阅读全文
新年假期,Linus Torvalds在邮件列表中发表的一篇火热的帖子引发技术社区关注,人们借此讨论ECC内存的重要性,Torvalds在文章中抨击了英特尔在这方面的"坏政策",因为特定的市场细分使E... 01月05日 222 评论...阅读全文
nsenter 是一个可以在指定进程的命令空间下,运行程序的命令,它位于 util-linux 包中。 nsenter 用途 nsenter 的一个典型用途是进入容器的网络名字空间,进行网络相关的排障... 12月15日 171 评论...阅读全文
作为 Debian 10“Buster”系列发行版的第四个稳定更新,Debian 10.4 主要修复了安全性问题。维护团队希望已经用上 Debian 10 的设备能够尽快部署安全修复程序,更新过程很是... 05月10日 2,237 评论...阅读全文
摘要: 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的《Flink 1.14 新特性预览》。主要内容为: 简介 流批一体 Checkpoint 机制 性能与效率 Table / SQL / Python API 总结 此文章为 8 月 7 日的分享整理,1.14 版本最新进展请注意文中的注释说明。 一、简介 1.14 新版本原本规划有 35 个比较重要的新特性以及优化工作,目前已经有 26 个工作完成;5 个任务不确定是否能准时完成;另外 4 个特性由于时间或者本身设计上的原因,会放到后续版本完成。[1] 1.14 相对于历届版本来说,囊括的优化和新增功能点其实并不算多。通过观察发版的节奏可以发现,通常在 1...阅读全文
,CPU持续上升到99% 5分钟内,大量应用报警,并且拒绝服务,RDS的监控显示出现大量慢SQL,联系服务器数据库提供商进行协助 8分钟内,进行数据库主备切换(业务会受损,但是也没办法,没有定位到问题) 9分钟内,部分业务恢复,但是一些业务订单的回调消息堆积超过20w,备库的CPU使用率也持续上升 15分钟内,备库CPU使用率超过97%,业务再次中断,进行切回主库,并进行限流 20分钟内,关闭一些次要应用的流量入口 25分钟内,主库CPU使用率恢复正常 30分钟内,逐步开启关闭的限流应用 35分钟内,所有应用恢复正常 接下来就是与服务器数据库提供商成立应急小组紧急优化可能出现的慢SQL,虽然说可能解决了一些慢SQL,但此次并没有定位到具体的问题,也就为几天后再次发生宕机事件埋下了伏笔 事故影响 某...阅读全文
数据也是在三个节点之间同步,但 Queue 的实际存储只会在一个节点。我们发送消息到指定 Queue,其实是发送消息到指定节点下的 Queue。如下图所示,消息发送至队列 testQueue,无论发送者通过哪个 RMQ 节点执行发送,其最终的执行都会是在 MQ03 节点执行消息的存储。 说到这儿,可能有的小伙伴就要问了?说好的,RabbitMQ 集群提供高可用性呢?分析一下,RabbitMQ集群搭建完成后,如果不进行任何高可用配置,会有哪些问题呢? 单点故障会导致消息丢失:如果 MQ03 节点故障,那么 MQ03 中的消息就会丢失无法最大化的利用 RMQ 提升执行效率:既然每次发送到队列 testQueue 的消息都会在 MQ03 节点存储,那么何必搭建集群。 引入 RabbitMQ 的镜像...阅读全文
?如果你是 Oracle JDK 8 的用户,原 License 尚可免费使用,但之后若希望得到持续安全更新则需要为此付费。如今,在 Oracle 主导下的 Java 大环境已经发生变化。作为最大的 Java 的用户之一,阿里巴巴几乎拥有世界最大规模的 Java 应用集群,肯定需要为此采取一些行动。 基于此,阿里巴巴决定开源 OpenJDK 长期支持版本 Alibaba Dragonwell,一是因为其自身拥有大量 Java 客户和业务需求,阿里巴巴希望他们可以继续免费享受到 JDK 的所有功能;二是考虑到不少开发者可能会做出新的选择,阿里巴巴决定开源该项目,为开发者提供一个新的参考。 在过去三个月时间内,阿里巴巴方面对该项目进行了持续维护和更新。据了解,本次 GA 版本的主要目的是让...阅读全文
RTE_GRAPH_BURST_SIZE 大小(node->size)的 object 队列,它定义了该 node 中可以容纳和处理的报文数量。如果一个 node 试图将报文排队到下一个 node,但下一个 node 已经有报文在排队并且已满(例如在 l3fwd 中,用户可以有多个接收队列/ node 排队到同一个下一个 node pkt_cls),node 的 object 队列大小将会被动态的加倍。这意味着 node 具有批处理的优势,因为它可以累积报文。 注意:当前 API 不支持 node 的 object 队列大小在增大后再缩小 Objs 的传递 — 'home run'/normal enqueue 报文转换有两种类型,一种是正常的 enqueue,另一种是优化情况,“home run”。 Normal...阅读全文
的最细粒度的身份验证和授权。虽然服务网格可以提供帮助,但 Kubernetes 安全性仍然是一个复杂而微妙的话题,需要从多个层次进行了解。零信任是一种位于现代安全实践前沿的强大的安全模型。这也是一个容易引起轰动和炒作的术语,因此很难消除噪音。那么,究竟什么是零信任,对于 Kubernetes,它究竟意味着什么?在本文中,我们将从工程的角度探讨什么是零信任,并构建一个基本框架来理解它对 Kubernetes 运维和安全团队等的影响。介绍如果你正在构建现代云软件,无论是采用 Kubernetes 还是其他软件,可能都听说过“零信任”一词。零信任的安全模式变得如此重要,以至于美国联邦政府已经注意到:白宫最近发布了一份联邦零信任战略的备忘录,要求所有美国联邦机构在年底前满足特定的零信任安全标准...阅读全文
gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。gRPC 1.0版本是2015年面世以后的第一次版本发布,开发者可以把该版本用于生产。API现在也是很稳定的。 Bugsnag(注:一家云端bug监控服务商)每天处理数以亿计的错误信息,为了处理这些数据,考虑优先构建一个可扩展,性能强大的后端系统,并从中学到很多有挑战性的技术。最近,我们推出了新版本的仪表板,这个项目要求扩展系统,来处理服务呼叫的显著增加,这些呼叫是跟踪用户发布和会话所需的...阅读全文
比如,当我们需要查看 /etc/passwd 的内容时,可以通过对文件名编码,隐藏这个操作, ``` cat $(echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64") ``` 如何对指定的字符串做 16 进制的编码?借助 od 命令即可, ``` $ echo /etc/passwd | od -A n -t x1 2f 65 74 63 2f 70 61 73 73 77 64 0a ```...阅读全文
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。 这里以 Google.com 为例,证书中所包含的 SAN 扩展域名,可以用这个命令列出: echo | openssl s_client -connect google.com:443 2>&1 | openssl x509 -noout -text | awk -F, -v OFS="\n" '/DNS:/{x=gsub(/ *DNS:/, ""); $1=$1; print $0}'...阅读全文
DDoS的主流。即使在反射类DDoS中,也只占 1% 以下(按攻击事件计),排在 DNS、CLDAP、NTP、SSDP、CharGen、L2TP、BitTorrent、Portmap、SNMP的后面。 我们在现网中对 Memcache DRDoS 攻击方式的测试结果 我们对现网实际环境做了测试,结合分析我们捕获的实际攻击载荷,有以下内容值得关注: 这种反射攻击的放大比率,在理想的测试环境中,可以稳定的测得 1k~60k之间的放大倍数; 在现网实际环境中, 60k 的放大倍数,也是可以稳定的测得的; 上述实测结果,与最初报告者0kee team的估计、US-CERT安全通告中的提法,基本是一致的; 此外我们分析了现网实际发生的攻击负载。到目前为止,部分负载的构造是有问题,可能会导致memcache服...阅读全文
(string(data1)) data2, _ := f.ReadFile("hello2.txt") fmt.Println(string(data2)) } 在指定 go:embed 注解时可以一次性多个文件来读取,并且也可以一个变量多行注解: //go:embed hello1.txt //go:embed hello2.txt var f embed.FS 也可以通过在注解中指定目录 helloworld,再对应读取文件: //go:embed helloworld var f embed.FS func main() { data1, _ := f.ReadFile("helloworld/hello1.txt") fmt.Println(string(data1)) data2...阅读全文
。 有通用触发器(例如定时器,webhooks)和集成触发器(例如,Sensu告警,JIRA问题更新)。 通过编写传感器插件可以定义新的触发器类型。动作(Actions)StackStorm出站集成。 有通用动作(ssh,REST调用),集成(OpenStack,Docker,Puppet)或自定义操作。 动作是Python插件或任何脚本,通过添加几行元数据将其消耗到StackStorm中。 动作可以由用户通过CLI或API直接调用,或者作为规则和工作流程的一部分使用和调用。 规则(Rules)将触发器映射到动作(或工作流),应用匹配条件并将触发器加载到动作输入中。 工作流(Workflows)将动作拼接成“超级动作”,定义顺序,转换条件以及传递数据。 大多数自动化不止一步,因此需要多个动作...阅读全文
入 API 来模拟关键类文件和运行时工件的描述,特别是可从常量池加载的常量。在新的 java.lang.invoke.constant 包中定义了一系列基于值的符号引用(JVMS 5.1)类型,它们能够描述每种可加载常量。符号引用以纯 nominal 形式描述可加载常量,与类加载或可访问性上下文区分开。有些类可以作为自己的符号引用(例如 String),而对于可链接常量,定义了一系列符号引用类型(ClassDesc、MethodTypeDesc、MethodHandleDesc 和 DynamicConstantDesc),它们包含描述这些常量的 nominal 信息。 One AArch64 Port, Not Two 只保留一个 AArch64 实现 删除了与 arm64 相关的所有源...阅读全文
PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端请求。但是,这并不意味着PHP 不可以,请看完 Node.js VS PHP 后再决定用谁构建你的网站。 1.性能: 在性能方面,Node.js 显然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文
或bpftrace等项目间接使用eBPF,这些项目在eBPF之上提供了抽象,并且不需要直接编写程序,而是提供了指定基于意图的定义的功能,然后使用eBPF实施。 如果不存在更高级别的抽象,则需要直接编写程序。 Linux内核希望eBPF程序以字节码的形式加载。虽然当然可以直接编写字节码,但更常见的开发实践是利用LLVM之类的编译器套件将伪C代码编译为eBPF字节码。 在编写eBPF程序之前,需要简单了解几个概念。 1)map(映射) :BPF最令人着迷的方面之一是,内核上运行的代码和加载了该代码的程序可以在运行时使用消息传递相互通信。 BPF映射是驻留在内核中的键/值存储。任何BPF程序都可以访问它们。在用户态中运行的程序也可以使用文件描述符访问这些映射。只要事先正确指定数据大小,就可以在映射...阅读全文
一个用户,一个组,并为您的用户主目录。您的新用户现在可以使用了!您现在可以使用您设置的密码登录。 注 :继续,如果你需要你的新用户访问管理功能。 如何授予用户Sudo权限 如果您的新用户需要执行root权限命令,你就需要给新的用户访问sudo 。 让我们来看看两种方法解决这个问题:将用户预先定义sudo 用户组 ,并且针对每个用户的基础上在指定的特权sudo的配置。 将新用户添加到Sudo组 默认情况下, sudo在Debian系统8配置为完全权限延伸到sudo的组中的任何用户。 您可以看到您的新用户是组与groups命令: $ groups sammy sammy : sammy 默认情况下,新用户仅在自己的组中,该组是在创建帐户时创建的,并与用户共享名称。为了将用户添加到新组,可使用...阅读全文
定一个参数,传入的就是@dobi下面修饰的函数,也就是 qinfeng() 3.dobi() 函数执行,调用 qinfeng(),qinfeng() 打印“dobi” 什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 .... 上面提到了两个关键的地方: 自由变量 和 函数, 这两个关键稍后再说。还是得在赘述下“闭包”的意思,望文知...阅读全文
autoscale deployment foo --min=2 --max=10 #### 自动扩展 deployment “foo” 编辑资源 kubectl edit svc/docker-registry #### 编辑名为 docker-registry 的 service KUBE_EDITOR="nano" kubectl edit svc/docker-registry #### 使用其它编辑器 动态伸缩pod kubectl scale --replicas=3 rs/foo #### 将foo副本集变成3个 kubectl scale --replicas=3 -f foo.yaml #### 缩放“foo”中指定的资源。 kubectl scale --current-replicas...阅读全文
据外媒(PCWorld)报道,之前在戴尔担任服务器业务总经理,以直言不讳性格著称的AMD的现任服务器业务主管Forrest Norrod表示:面向企业级市场的Naples(那不勒斯)高性能服务器处理器正式亮相后,将重振芯片大厂AMD在服务器领域的辉煌,该处理器采用最新Zen架构,拥有32个核心。这是AMD回归服务器市场的第一个大动作。 Naples芯片将在今年第二季度正式上市,直接瞄准被英特尔牢牢占据的服务器市场。AMD高级副总裁兼企业、嵌入式和半定制(EESC)事业群总经理Norrod毫不掩饰同英特尔一争高下的战略意图。 如今英特尔占据着超过90%的服务器芯片市场份额。而AMD的目标是逐步地吸引客户。价格因素或将成为AMD的秘密武器。英特尔的芯片因高昂的价格著称,其中最贵的芯片售价...阅读全文
,OpenSSL 是在 OpenSSL 和 SSLeay 下获得许可的。从 OpenSSL 3.0 开始,已经过渡到了 Apache License 2.0。旧的 OpenSSL 和 SSLeay 许可证仍然适用于旧版本(1.1.1 和更早的版本)。Providers 和 FIPS 支持OpenSSL 1.1.1 的主要变化之一是引入了 Providers(提供者) 概念。Providers 聚集在一起并提供可用的算法实现。使用 OpenSSL 3.0,可以以编程方式或通过配置文件指定你希望用于任何给定应用程序的 Providers。OpenSSL 3.0 标配 5 个不同的 Providers。随着时间的推移,第三方可能会分发可以接入 OpenSSL 的其他 Providers。通过 Providers...阅读全文
长期模式。这也意味着 Django 现在完全依靠的是没有酬劳的贡献者,并已经开始供不应求。 通常来说,修复小 bug 或添加小功能是吸纳贡献者的好机会,但这些事情 Django 的现有成员都会完成。短期内还好,但按这个形势发展下去,Django 会一直无法吸引到新的贡献者,来取代那些不活跃的甚至完全沉寂的人。 为解决 Django 的发展困境,“改革草案”提议重组 Django 核心团队(也称 Committer,提交者)。James Bennett 解释到,按照 Django 现有的管理模式,任何人都可以提交更改及补丁,但只有 Django 的提交者和技术委员会才有权作出决定。提交者可对项目做出任意更改,只需对其他成员和技术委员会负责。而事实上,很少有提交者直接使用他们的提交权限,决策基本...阅读全文
随着 Python 之父 Guido van Rossum 逐步卸任 BDFL,Python(CPython)的未来之路牵动了万千开发者的心。没了首领,Python 今后的发展会怎么样?社区将如何运作?谁来领导 Python 这门语言和社区呢?这些问题不得不解决,而用什么样的方式解决,这就需要先由社区讨论并最终决定。 前两天我们分析过目前 Python 社区已经提出的 7 种正在进行投票的治理方案,而最新消息是,目前投票环节已经结束,最终 PEP 8016 当选了新时代的 Python 社区治理方案。 PEP 8016 治理方案采用指导委员会模式,其特点是引导治理的迭代,该方案由 Nathaniel J. Smith 和 Donald Stufft 提出。 PEP 8016 中提出了不信任...阅读全文
{namespace} 这个方法简单粗暴有效。因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不一致了,便会自动重新创建 Pod 保持与预期一致。但是如果ReplicaSet 管理的 Pod 对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用命令来删除 ReplicaSet, kubectl delete replicaset {rs_name} -n {namespace} 由于 Deployment 对象并不是直接操控的 Pod 对象,而是操控的 ReplicaSet 对象,而 ReplicaSet 对象就是由副本数目的定义和Pod 模板组成,所以我们也可以通过调整 ReplicaSet 的数量来实现重启,比如先 scale 到 0,然后再 scale...阅读全文
作为"开放源码定义"的管理者,Open Source Initiative(OSI)20多年来一直将许可证指定为"Open Source"。这些许可证是开源软件生态系统的基础,确保每个人都能使用、改进和共享软件。当一个许可证被批准时,是因为 OSI 相信该许可证促进了合作和共享,使参与生态系统的每个人都受益。 在过去的 20 年里,世界已经发生了翻天覆地的变化,软件现在以新的方式甚至是难以想象的方式被使用。OSI 已经看到,以前被人们所熟悉的开源许可证并不总是能适合这些新的情况。因此,OSI 作为许可证管理员站了出来,为更广泛的用途提交了几个新的许可证。OSI 面临的挑战是评估这些新的许可证概念是否会继续推动共享和协作,是否值得被称为"开源"许可证。最终 OSI 批准了一些用于特殊领域的新...阅读全文
Kubernetes v1.16.0 已经发布,该版本由 31 个增强功能组成:8 个进入稳定,8 个进入 Beta,15 个进入 Alpha。 四大主题如下: Custom resources:CRD 是对 Kubernetes 的扩展,用以服务于新的资源类型,自 1.7 版本以来,CRD 已经在 Beta 版中可用。在 1.16 版本中,CRD 正式步入通用可用性(GA)Admission webhook:Admission webhooks 作为 Kubernetes 扩展机制被广泛使用,并且自 1.9 版本以来已经在 Beta 版中可用。在 1.16 版本中,Admission webhook 也正式步入通用可用性(GA)Overhauled metrics:Kubernetes...阅读全文
本月早些时候,Angular 团队发布了 6.0 的第五版候选版本 ,其中包括一些错误修复以及添加令牌标记和支持配置导航网址。 根据 Angular 的开发者支持者 Stephen Fluin 的说法,RC 意味着团队已经在一定程度上实现了正式版的稳定性,并且已经完成了添加功能和更改 API。 Fluin 还解释说,该团队有两个发布曲目。 首先,他们向公众发布了新闻稿,其中包括团队对 Angular 所做的每一项变更,并将其合并到主分支中。 第二个是谷歌将所有的 Angular 源代码放在一个存储库中,这意味着 Angular 的每一个变化都已经在谷歌的超过 500 种产品中使用。 6.0 版本的关键功能是将所有版本的框架结合起来,这意味着核心路由器,平台浏览器,CLI,Angular...阅读全文
图片来自于 Youtube 关于近期关于放弃 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能简单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面向对象的编程语言(C++)。他们依然还习惯使用 C 语言来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数创建优秀和简洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文
本指南解释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一台服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你可能在一段时间内添加的任何外部仓库...阅读全文
http://packages.dotdeb.org wheezy all 完成之后更新源: apt-get update 接下来就可以开始安装nginx、mysql、php了。 2.MySQL 使用apt工具安装: apt-get install -y mysql-server mysql-client 安装过程中会询问root密码,输入你想设定的密码就可以。安装完成后执行如下配置命令: mysql_secure_installation 按提示往下走就行,过程中会询问是否更改root密码、是否移除匿名用户、是否禁止root远程登录等,自己按需配置即可。 注:我在使用mysql的过程中发现远程客户端无法连接到数据库,后来发现问题是“/etc/mysql/my.cnf”文件中“bind...阅读全文
Google Partners Podcast主持人Alex Langshur主持了一个播客节目,主题是关于谷歌HR如何寻找和培养优秀经理人。嘉宾是来自谷歌人力发展部门的Sarah Calderon,她在节目中介绍了谷歌是如何选择、培训和培养他们的经理人的。 Langshur引用了他的前上司的话,“一个优秀的经理人让一份艰难的工作变得具有挑战性和价值…而一个糟糕的经理人在一个好的岗位上表现平平,把一份艰难的工作搞得支离破碎”,以此强调选择正确经理人是多么重要。在访谈过程中,Sarah介绍了拥有7万名员工和数千名经理人的谷歌公司是如何选择、管理和培养经理人的。 Sarah概括了谷歌在培养经理人方面的五个要点: 表现优秀的员工不一定就是好的经理人,管理岗位所需要的技能是不一样的。只是在某个领域...阅读全文
在使用了一段时间后,决定由 CentOS 转移到 Debian 上,以便在低配置的服务器上网站能更加的稳定,Shadowsocks 服务也有之前的 python 版本转移到了 shadowsocks-libev 版本,原因是 libev 的版本是用 C 语言写的,会更加的节省内存,更重要的是该 libev 一直在不断的维护着,更新也很频繁。 搭建环境 本人还是在 Vultr.com 的 VPS 上安装了 Debian 8.0 x86 minimal 系统,在 Debian 8(Jessie) 编译 libev 版本需要开启 debian-backports 来安装 dh-systemd 和 init-system-helpers. 首先要在 debian 的源列表中添加 backports...阅读全文
DNS SRV 是 DNS 记录中一种,用来查询指定服务的地址。与常见的A记录、CNAME 不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的优先级和权重。RFC-2782 给出DNS SRV的建议标准,它是在2000年的时候提出来的。 访问服务的时候,本地的服务从 DNS 服务器查询到一个地址列表,根据优先级和权重,从中选取一个地址作为本次请求的目标地址。 一个支持SRV的 LDAP client 通过查询域名,可以得知 LDAP 服务的 IP 地址和服务端口: _ldap._tcp.example.com 这个域名的格式是 rfc-2782 中推荐的格式,_ldap表示LDAP服务,_tcp表示通过TCP协议访问LDAP服务。 SRV 的 DNS 类...阅读全文
/etc/apt/sources.list 和 /etc/apt/sources.list.d/ 目录下的 .list 文件定义的。 $ sudo apt-get upgrade #更新系统所有已安装软件包,只更新包会忽略依赖关系 $ sudo apt upgrade $ sudo apt-get upgrade -u #-u 列出可升级软件列表 $ sudo apt-get upgrade -s #模拟升级 $ sudo apt-get dist-upgrade #根据依赖关系更新系统所有已安装软件包 $ sudo apt-get --reinstall install pkgname #只升级指定的软件包 $ sudo apt-get source pkgname #只下载源码包 $ sudo...阅读全文
据信息。 3. HDFS的特性 首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件; 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 1. master/slave 架构(主从架构) HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 HDFS 集群从节点,两种角色各司其职,共同协调完成分布式的文件存储服务。 2. 分块存储 HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定,默认大小在 hadoop2.x 版本中是 128M。 3. 名字空间...阅读全文
价格低廉、基于手机的拉曼光谱仪系统可在几分钟内识别未知的生物分子。 由德克萨斯农工大学 Peter Rentzepis 博士申请专利的新型手持式拉曼光谱仪系统可利用手机摄像头和激光技术的结合,对有害化学物质和材料进行非侵入式鉴定。 这种设备比传统光谱仪便宜得多,速度也快得多,可用于偏远地区进行快速现场分析。 https://www.cnbeta.com.tw/articles/science/1439072.htm...阅读全文
No Fraud / Node Forward Bot 一个基于cloudflare worker的telegram 消息转发bot,集成了反欺诈功能 特点 - 基于cloudflare worker搭建,能够实现以下效果 - 搭建成本低,一个js文件即可完成搭建 - 不需要额外的域名,利用worker自带域名即可 - 基于worker kv实现永久数据储存 - 稳定,全球cdn转发 - 接入反欺诈系统,当聊天对象有诈骗历史时,自动发出提醒 - 支持屏蔽用户,避免被骚扰 https://github.com/LloydAsp/nfd...阅读全文
本文以 Ubuntu 18.04 为例,介绍如何在 Linux 下使 systemd 服务定时重启。有几种不同的方法。 ** crontab ** 注意,此种方法在 root 用户下使用最佳,普通用户的 --user 服务会有许多问题需要解决。 `30 3 * * * /bin/systemctl restart your_service` `crontab -l cronjob` ** RuntimeMaxSec ** ``` [Service] Restart=always RuntimeMaxSec=604800 ``` ** timer ** a-restart.service ``` [Unit...阅读全文