Linux基金会宣布开放物联网ACRN管理程序
网用例。 ACRN占用的空间很小,部分原因是管理程序只需要25000行代码。已经有来自凌华科技,Aptiv,英特尔公司,LG电子和东软公司等公司的参与,而且很可能还会有更多的厂商加入这个列表。...阅读全文
网用例。 ACRN占用的空间很小,部分原因是管理程序只需要25000行代码。已经有来自凌华科技,Aptiv,英特尔公司,LG电子和东软公司等公司的参与,而且很可能还会有更多的厂商加入这个列表。...阅读全文
#TTYPath=/dev/console MaxLevelStore=warning MaxLevelSyslog=warning MaxLevelKMsg=warning MaxLevelConsole=info #MaxLevelWall=emerg #LineMax=48K 配置目录及其优先级 默认设置是在编译期间确定的, 所以仅在确实需要修改默认设置的情况下, 才需要使用配置文件。位于 /etc/systemd/ 目录中的初始配置文件, 仅包含了展示选项默认值的注释, 目的在于方便系统管理员查看和直接修改。 如果软件包想要自定义某些默认设置, 那么必须将自定义的配置文件安装到 /usr/lib/systemd/*.conf.d/ 目录中。 /etc/ 目录仅供系统管理员使用。 系统管理员可以利用...阅读全文
port 端口号如需只允许 UDP 入站:1sudo ufw allow proto udp from 中转机地址 to any port 端口号以上命令中,中转机地址 为 NAT VPS 的公网 IP 地址。其他系统、其他防火墙控制软件的操作与之类似,放行来自 NAT VPS 的 IP 的指定端口号即可。 一些大陆 NAT VPS 商注:本小节包含的链接含有 aff 值。CloudIPLC:热门稳定,价格合理,需要及时关注补货情况碳云:价格较低,年付套餐手慢则无AkkoCloud:二次元风格的网站,产品同样抢手 ReferencesHow to open and close ports on RHEL 8 / CentOS 8 LinuxPort ForwardingNAT 主机的正确食用方法通...阅读全文
码的困境结束,从而实现更快的开发。 简而言之,Web框架可以简化Web开发。 如果您想深入了解Web框架及其优点,请点击此处。 为什么Django是Python开发者的最佳选择 Django是一个Python编写的,高级的,MVC风格的开源库。 Django也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,因为它允许开发人员编写数据库驱动的Web应用程序,而无需从头开始编码。 除了更快完成常见的Web开发任务,Django还可以保持设计干净且实用。 Django是Python Web开发新人的最佳选择,因为官方文档和教程是几个(同类)软件开发框架中最好的。 技术市场充斥着一系列网络框架,但Django在最受欢迎的服务器端Web框架里处于顶峰位置。设计Django背后的座右铭很简单...阅读全文
最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文
1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使用Kafka实现了公司不同应用程序之间的松耦和,那么作为一个可扩展、高可靠的消息系统 支持高Throughput的应用 scale out:无需停机即可扩展机器 持久化:通过将数据持久化到硬盘以及replication防止数据丢失 支持online和offline的场景 复制代码 1.1.2. Kafka的特点 Kafka是分布式的,其所有的构件borker(服务端集群)、producer(消息生产...阅读全文
。 Workbench:改善导航页面和通知界面、支持垂直面板布局、实现多选及常见的操作、状态栏管理等。 Editor:提高性能和可扩展性、支持语义着色、列选改进、原生 model layer 等。 Terminal:支持多终端分离和查看。 Source Control Integration:支持直接在编辑器中查看更改。 Node、 JavaScript 和 TypeScript Development 计划包括: Language Server Protocol:继续完善和改进语言服务器协议。 Debug Adaptor Protocol:继续完善和改进调试适配器协议,为 DAP 功能提供更多 UI 。 TypeScript (and JavaScript):功能改进。 Debug:支持非 JS 场景的热部署...阅读全文
展,以允许应用类放置在共享存档中。 JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程。 JEP 313: 移除 Native-Header Generation Tool (javah) JEP 314: 额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (每周第一天为星期几)、rg (区域覆盖)、tz (时区) 等。 JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆。 JEP 317: 基于 Java 的 JIT 编译器(试验版本)。 JEP 319: 根证书。开源 Java SE Root CA 程序中的根证书。 JEP 322: 基于时间的版本发布模式。“Feature...阅读全文
WebAssembly 和 JavaScript 之间的不匹配问题,JavaScript 可以调用 WebAssembly 函数,而反过来, WebAssembly 可以也对 JavaScript 函数执行相同的操作。 基于 ECMAScript 模块,wasm-bindgen 专注于 Rust,但其目的也是最终用于 C 和 C ++ 等语言。但 Mozilla 称 wasm-bindgen 目前还不够稳定,暂时还无法扩展到其它语言。 Rust 社区的一大目标是让 Rust 成为 Web 语言。通过对标 WebAssembly,Rust 可以像 JavaScript 一样成为一种可以在网络上运行的语言。但 Mozilla 指出,它并没有试图用 Rust 取代 JavaScript。它不希望 Rust...阅读全文
几乎零宕机时间。值得一提的是,PHY物理层还使用了先进的5nm工艺,搭配独特的模拟和DSP技术,可将功耗降低20%。Synopsys PCIe 6.0 IP方案中的验证IP现已可用,控制器、PHY物理层计划在今年第三季度提供早期试用。PCIe 6.0标准规范目前还在制定中,计划在今年正式发布,按照传统继续让I/O带宽翻番达到64GT/s,应用到实际中,PCIe 6.0 x1单向实际带宽8GB/s,PCIe 6.0 x16单向带宽128GB/s、双向带宽256GB/s。PCIe 6.0将延续PCIe 3.0时代引入的128b/130b编码方式,但加入全新的脉冲幅度调制PAM4,取代PCIe 5.0 NRZ,可以在单个通道、同样时间内封包更多数据,以及低延迟前向纠错(FEC)和相关机制,以改进带...阅读全文
JEP 317: 基于 Java 的 JIT 编译器(试验版本) JEP 319: 根证书。开源 Java SE Root CA 程序中的根证书 JEP 322: 基于时间的版本发布模式。“Feature releases” 版本将包含新特性,“Update releases” 版本仅修复 Bug...阅读全文
。2017年后,Oracle被爆SPARC部门进行裁员,逐渐地,Oracle也逐渐放弃了SPARC的开发。有分析师认为,从内部看,是公司领导人重视硬件,忽视软件的结果;也有人认为其硬件搭配软件方式限制了他后来的发展。SUN作为开源架构的代表它的凋亡令人惋惜,但DEC Alpha的消亡则是因为其生态太过封闭而造成的。据相关资料显示,DEC公司将所有和Alpha处理器相关的配件和外设都自己生产,不过为桌面电脑开发的主板却不支持SMP,而当时几乎所有采用Alpha处理器的公司都会使用多处理器系统,因此DEC公司所推出的桌面机型很没竞争力。另外,他们也一直不支持免费开源操作系统,这也成为了他们败走的一个原因。1998年,DEC因为财务原因,将Alpha架构与DEC的大部分内容一起出售给了Compaq。但已经...阅读全文
建议。 实现:根据来自社区的反馈意见,提案开始实现。 针对所实现的提案的反馈:在开发周期中,Go 开发团队和社区试用新功能并且收集进一步的反馈意见。 启动决策:在三个月的开发周期结束时,根据在发布周期中收集的经验和反馈意见,Go 开发团队会考虑变更的预期收益或产生的额外成本,从而最终决定是否发布每个变更。一旦发布,这些被发布的提案就成为语言和库的一部分。未被发布的提案可能会重新起草,但也有可能会被永久拒绝。 可以看到,通过两轮的反馈过程,可对提案进行有效的筛选,从而防止“功能蔓延(feature creep)”,有助于保持 Go 语言的简洁。 提案选择标准 一项提案至少要满足以下这些条件: 解决大部分使用者觉得重要的问题 不会对其他使用者造成太大的影响 提供一个清晰且易于理解的解决方案 条件...阅读全文
的,而虚拟机对于像运行 LAMP 堆栈这样的单一应用程序使用情况是更好的。 Linux 容器 vs 虚拟机 – 安全性 与容器相比,虚拟机提供了更多的安全性。这并不是说容器不能被保护,而是说,默认的虚拟机提供了更大的隔离。请记住,容器可以共享系统资源而虚拟机不行。 在运行容器时,可以采取一些措施来降低风险,包括避免超级用户权限,确保从可信来源获取容器,并且保持最新状态。有些容器是数字签名的,这有助于确定您可以从可信来源获取容器。 最后,你需要保持容器的单一功能职责。一旦你开始在一个容器下结合软件职责,你会发现还是使用虚拟机最好。重申一下,容器是用于单一用途的应用程序,虚拟机用于多用途的应用程序。坚持这种做法,你将在安全性和整体功能方面处于更好的状况。 Linux 容器 vs 虚拟机 – 选择...阅读全文
云原生技术的不断发展,2018年,CNCF扩展了云原生技术的定义,以下是云原生技术的新定义:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师们能够轻松地对系统作出频繁和可预测的重大变更。”其中,像容器,微服务等概念早已深入人心,而很多开发人员都对此次提及的“不可变基础设施”这个概念有不少疑惑,下文将对这个概念进行解析。其实不可变基础设施这个概念由来已久,并在不同的场合被很多技术专家已不同的形式提出并讨论过, 例如:“Trash Your Servers and Burn...阅读全文
,App开发运营者加强前端和后端安全防护、访问控制、技术加密、安全审计等工作,主动监测发现个人信息泄露等违规行为,及时响应处置要求。App开发运营者还要履行国家规定的其他个人信息保护义务。 尽管《规定》尚未正式发布实施,但是主流平台企业已经用实际行动认可了各自的信息保护义务。 7月6日,阿里巴巴开放平台发布《依法加强消费者订单中敏感信息保护的公告》,称将启动订单处理链路的消费者敏感信息保护方案,对涉及消费者个人敏感信息采取加密、去标识化等安全技术措施。 7月9日,京东发布《JD用户订单隐私安全方案》,称为保障京东用户和商家数据信息安全,京东商家开放平台将对订单中手机号和座机号进行脱敏。 7月20日,抖音电商运营团队发布公告,为防止消费者隐私信息泄露,抖店将启动消费者隐私数据...阅读全文
,无论你有多大的聪明才智,也无论你如何努力进取,总会有一个你胜任不了的职位在等待着你,并且你一定会达到那个位置。这就是著名的彼得原理。 吉尔伯特法则 吉尔伯特法则是由吉尔伯特提出的一条管理定律,指出“工作危机最确凿的信号,是没有人跟你说该怎样做。” 它告诉我们一个道理:作为下属,当有人教训和指点的时候都是福气,都意味着关心。怕就怕没有人说你什么,也没有人教你怎么做。这等于说你没人管了,游离于纪律、规章的制约之外,看似自由,其实危机四伏。 沃尔森法则 沃尔森法则是美国企业家沃尔森提出的法则。主旨为把信息和情报放在第一位,金钱就会滚滚而来。你能得到多少,往往取决于你能知道多少。 要在变幻莫测的市场竞争中立于不败之地,你就必须准确快速地获悉各种情报:市场有什么新动向?竞争对手有什么新举措?……在获得...阅读全文
体系下,客户需要将软件做容器化打包和微服务改造,这个是有成本的。K8S 的特点决定它是运维和研发之间的桥梁,这样就要求公司的研发过程需要跟着改造。我们看到很多公司的运维人员有动力去推动,而研发人员则没有动力,因为它改变了研发的习惯和流程,增加了负担;当然也有的公司是研发希望用 K8S 管理应用,而需要运维跟着变。这样导致迁移到 K8S 的工作较重,但一旦这个阶段过去了,迁移后的效率和成本优势就体现出来了。 因此,这是个新技术落地的问题,涉及到用户教育和习惯的改变,这个需要社区和商业公司一起完成。而且每家公司的技术路线和文化不一样,上 K8S 的路径也不一样,所以没有一个放之四海皆准的最佳实践,但随着容器和微服务逐渐落地,K8S 作为事实标准,会逐步普及。 除了改造业务的成本,另外一方面是...阅读全文
上的延伸。"之前的PCIe解决了电脑系统与周边设备的数据传输问题,UCIe解决的是小芯片和小芯片,封装片上独立模块与模块之间的数据传输问题,如果没有统一的电气信号标准,就不会形成多家企业共同完成系统集成的生态合作,如果没有合作,入局Chiplet的单个企业就很难完成行业发展所需的生态建设。"刘宏钧说到。王宏波也表达了同样的观点,"PC时代,英特尔主导建立的x86体系就有一系列标准,例如:PCIe标准,可以让其他家的产品能够同英特尔的CPU分工协作,x86体系的一系列标准,构建了整个PC时代的硬件体系,到了Chiplet时代,其实是将PC时代建立生态体系的逻辑缩小复刻到芯片中,Chiplet作为一个芯片组合,也需要靠UCIe标准将不同公司的芯片设计方便的组合在一个芯片中,通过这种方式建立生态并...阅读全文
受限于机器总线的数量,在32位机器上,有32条总线,每条总线有高低两种电位分别代表 bit 的 1 和 0,那么可访问的最大地址就是 2^32bit = 4GB,所以说 32 位机器上插入大于 4G 的内存是无效的,CPU 访问不到多于 4G 的内存。 但 64位机器并没有 64位总线,而且其最大内存还要受限于操作系统,Linux 目前支持最大 256G 内存。 根据虚拟内存的概念,在 32 位系统上运行 64 位软件也并无不可,但由于系统对虚拟内存地址的结构设计,64位的虚拟地址在32位系统内并不能使用。 直接操作物理内存 操作系统使用了虚拟内存,我们想要直接操作内存该怎么办呢? Linux 会将各个设备都映射到 /dev/ 目录下的文件,我们可以通过这些设备文件直接操作硬件,内存也不例外...阅读全文
“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。 5. 降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。 6. 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。 7. UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。 8. JSON:MySQL 8 大幅改进了对...阅读全文
,channel的零值也是nil。两个相同类型的channel可以使用==运算符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给变量receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收机制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文
) right_metric其他常用的比较运算符:==、!=、>、<、>=、≤。 直方图分位数过去5分钟内,每个标签维度请求延迟的90%分位数: histogram_quantile(0.9, rate(my_request_durations_seconds_bucket[5m]))只针对 method 和 path 维度的90%分位数: histogram_quantile( 0.9, sum by(le, path, method) ( rate(my_request_durations_seconds_bucket[5m]) ) ) Gauges 的变化过去一小时内的绝对值变化: delta(my_gauge[1h])基于过去4小时的数据来预测1小时后的数据: predict_linear(my_gauge...阅读全文
,以及他们可以在哪些方面利用这些数据来获得优势。"开源和 OpenTelemetry 正在共同推动可观测性产业,但在最后,这一切都与开发者的体验有关。为开发者建立任何类型的工具的公司需要记住,开发者是需要关注的关键资产。你需要让他们成功,给他们一个愉快的体验并消除所有的摩擦。这样他们就可以快速行动,专注于他们需要的东西。" Betanews 作出结论称,开发者是开源社区不可或缺的一部分,且他们构建了公司所依赖的应用程序。公司必须记住:构建工具,使系统更有效、更快速、更容易使用,必须以开发人员为中心。“毕竟,他们是关键资产。”...阅读全文
MongoDB 服务器都很重要。尤其是,除非有非常好的理由要使用mapReduce、group 或 $where,否则你应该 在配置文件中设置 javascriptEnabled:false,禁用 JavaScript。因为标准 MongoDB 的数据文件是不加密的,另外, 使用专门的用户运行 MongoDB 也是一个明智的做法,对数据文件的完全访问仅限于那个用户,这样就可以使用操作系统自带的文件访问控制了。 没有设计一个模式 对于模式,MongoDB 没有强制要求。这不是说它不需要模式。如果你真想保存文档而又没有一致的模式,那么你可以非常快速、简单地保存它们,但是 检索会十分麻烦 。 “MongoDB 模式设计的六大经验原则 ”是一篇值得一读的经典文章,而第三方工具(如 Studio 3T)提供的类似...阅读全文
发模式,以及促进其广泛的开发人员生态系统。此外,通过专利承诺、GPL 合作承诺、OIN 和 LOT 网络等工作,IBM 和 Red Hat 将继续致力于持续的开源自由。 除了 IBM Cloud 之外,IBM 和 Red Hat 还将继续构建和增强红帽合作伙伴关系,包括主要云提供商,如 AWS、微软 Azure、谷歌云与阿里巴巴等。与此同时,红帽将从 IBM 的混合云和企业 IT 规模中受益,帮助他们将开源技术组合扩展到全球业务。 “收购 Red Hat 是一个改变游戏规则的方式。它改变了有关云市场的一切”,IBM 公司董事长、总裁兼首席执行官 Ginni Rometty 表示:“IBM 将成为全球排名第一的混合云提供商,为企业提供唯一的开放云解决方案,为企业提供全面的云价值。” “如今,大...阅读全文
众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追求成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过程不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文
磁盘文件,按场景4处理,如果拷贝过来的是B节点的磁盘文件,按场景3处理。最后将新的slave节点加入C即可重新恢复镜像队列。 场景6:A先停,B后停,且A和B均无法恢复,且无法得到A和B的磁盘文件 无解。 启动顺序中有一个30s 的概念,这个是 RMQ 的时间间隔,用于检测master、slave是否可用,因此30s 非常关键。 对于生产环境RMQ集群的重启操作,需要分析具体的操作顺序,不可无序的重启,会有可能带来无法弥补的伤害(数据丢失、节点无法启动)。 简单总结下:镜像队列是用于节点之间同步消息的机制,避免某个节点宕机而导致的服务不可用或消息丢失,且针对排他性队列设置是无效的。另外很重要的一点,镜像队列机制不是负载均衡。...阅读全文
由于人工智能 / 机器学习日益集成到应用和业务流程中,因此生产级机器学习模型需要更多可扩展的基础设施和计算能力,以用于训练和部署。 现代机器学习算法在大量数据上进行训练,并且需要数十亿次迭代才能使成本函数最小化。这类模型的垂直扩展会遇到操作系统级别的瓶颈,包括可提供的 CPU、GPU 和存储的数量,而且对于这种类型的模型,已经证明效率并不高。更为高效的并行处理算法,例如异步训练和 allreduce 式训练,需要一个分布式集群系统,由不同的 worker (工作器)以协调的方式同时学习。 可扩展性对于在生产环境中服务深度学习模型也非常重要。将单个 API 请求处理到模型预测端点可能会触发复杂的处理逻辑,这将花费大量时间。由于更多用户访问模型的端点,为了有效地处理客户端请求,需要更多服务实例...阅读全文
available (because the // surrounding function has not yet been extended to accept a Context // parameter). Background和TODO只是用于不同场景下: Background通常被用于主函数、初始化以及测试中,作为一个顶层的context,也就是说一般我们创建的context都是基于Background;而TODO是在不确定使用什么context的时候才会使用。下面将介绍两种不同功能的基础context类型:valueCtx和cancelCtx。valueCtxvalueCtx结构体type valueCtx struct { Context key, val interface...阅读全文
在集群化环境里,日志采集是重要基础设施。本文结合最新的 1.0.9 版,对 logpipe 做一个简单的介绍。开源主流解决方案是基于 flume-ng,但在实际使用中发现 flume-ng 存在诸多问题。 比如 flume-ng 的 spoolDir 采集器只能对文件名转档后的大小不能变化的最终日志文件进行采集,不能满足采集时效性要求,如果要采集正在被不断追加的日志文件,只能用 exec 采集器搭配 tail -F 命令,但 tail -F 命令又不能通配目标目录中将来新增的未知文件名。其它解决方案如 logstash 由于是 JAVA 开发,内存占用和性能都不能达到最优。 作为一个日志采集的本地代理,内存占用应该小而受控,性能应该高效,耗费 CPU 低对应用影响尽可能小,要能异步实时追踪...阅读全文
最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这里就不介绍了。 这里分享一下最近发生在我公司的事故,以及如何避免,并且如何处理优化。 该宕机的直接原因是使用 Redis 的 keys * 命令引起的,一共造成了某个服务化项目的两次宕机。 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺。 第一次宕机 2018年9月13日的某个点,公司某服务化项目的 RDS 数据库实例连接飙升,CPU 升到 100%,拒绝了其他应用的所有请求服务。 整个过程如下: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准备KILL慢SQL 1分钟内,没有发现明显阻塞的SQL...阅读全文
Seafile 是一款开源的企业云盘,注重可靠性和性能。支持 Windows, Mac, Linux, iOS, Android 平台。支持文件同步或者直接挂载到本地访问。Seafile 的最新稳定版 6.1.4 已发布,更新如下: 云文件浏览器: 更新文件时不使用断点续传的上传功能 通过图标的显示来表示一个文件已被缓存 当文件更改后且无法上传到服务器时显示警告图标 用户可以重新对上传失败的本地修改文件进行上传 添加一个命令打开本地缓存文件夹 上传文件或文件夹时改进错误提示消息 [mac] 修复 doc/xls 文件下载后自动上传的 bug 一些 UI 的修复和改进 其他更新: 不显示 127.0.0.1 的连接状态 禁止编辑本地同步路径,用户只能选择路径 一些 UI 的修复和改进 完整更...阅读全文
当 Torvalds 将某些代码标记为“dontuse”,通常表明这个问题比较大。在 5.12 首个候选版本更新中,破坏了交换文件(swapfile)的处理。具体来说,更新后的代码会失去指向 swapfile 开头的正确偏移。用 Torvalds 自己的话来说,“交换还是会发生,但它发生在文件系统的错误部分,最终结果显然是灾难性的”。这样 Linux 内核如果想要将内存中的内容分页到磁盘上的时候,数据就会落在相同磁盘和 swapfile 活跃的分区的随机部分上,而且这不是作为文件,而是作为垃圾直接写入到磁盘的原始扇区。这意味着不仅要覆盖现有文件中的数据,还要覆盖相当大块的元数据,这些元数据的损坏很可能会导致整个文件系统无法挂载和使用。Torvalds 继续指出,如果你根本不使用 swap...阅读全文
在去年年初,SUSE 的开发者向 Linux 内核提交了一个 v2 补丁,该补丁将 ReiserFS 文件系统标记为已弃用,并将会在 2025 年从内核中正式删除它。删除的原因主要是过去十多年该文件系统都不再活跃,并且在现代内核的生产用例中也不太可能再使用。基于差不多的原因,日前开发者也开始着眼讨论 Journaled File-System(JFS)文件系统是否还应该在内核中继续保留的问题。内核开发者 Christoph Hellwig 在邮件列表中表示:不久前,我们已经弃用了 ReiserFS,并计划将其删除。看着 JFS 中的代码,我想知道我们是否也应该这样做。虽然 JFS 不像 ReiserFS 那么复杂,但它的使用率也很低,而且从未成为任何主要发行版中的默认文件系统。1990...阅读全文
在以前,很多从其他语言转过来 Go 语言的同学会问到,或是踩到一个坑。就是以为 Go 语言所打包的二进制文件中会包含配置文件的联同编译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用程序运行起来了。因为无法读取到静态文件的资源。 无法将静态资源编译打包进二进制文件的话,通常会有两种解决方法: 第一种是识别这类静态资源,是否需要跟着程序走。第二种就是考虑将其打包进二进制文件中。 第二种情况的话,Go 以前是不支持的,大家就会去借助各种花式的开源库,例如:go-bindata/go-bindata 来实现。 但从在 Go1.16 起,Go 语言自身正式支持了该项特性,今天我们将通过这篇文章快速了解和学习这项特性。 基本使用 演示代码: import _ "embed...阅读全文
Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘、信息处理或存储历史数据等一系列的程序中。本文着重介绍 Scrapy 架构及其组件之间的交互。 Scrapy 组件介绍 Scrapy Engine 引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 详细内容查看下面的数据流(Data Flow)部分。 调度器(Scheduler) 调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。 下载器(Downloader) 下载器负责获取页面数据并提供给引擎,而后提供给spider。 Spiders Spider 是 Scrapy用户编写用于分析response并提取item(即获取到的item)或额外跟进的...阅读全文
Docker v1.13.0 正式版发布了。需要注意的是,在 Docker 1.13 中,与在 Docker 1.12 中引入的实验版本相比,管理插件 api 发生了变化。在升级到 Docker 1.13 之前,必须卸载使用 Docker 1.12 安装的插件。可通过 docker plugin rm 命令卸载插件。 如果已经升级到 Docker 1.13 而不卸载先前安装的插件,则当 Docker 守护程序启动时,可能会看到此消息 Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv 要手动删除所有插件并解决此问题,请执行以下步骤: 从 /var/lib...阅读全文
原生云计算基金会(CNCF)。 CNCF 也是更大的 Linux 基金会的一部分,拥有一些顶级企业成员,其中包括微软、谷歌和亚马逊。此外,CNCF 的企业成员队伍持续增长,SAP 和 Oracle 在过去几个月内加入白金会员。这些加入 CNCF 的公司,其中 Kubernetes 项目是前沿和中心的,这证明了有多少企业投注于社区来实现云计算战略的一部分。 Kubernetes 外围的企业社区也在激增,供应商提供了带有更多的安全性、可管理性和支持的企业版。Red Hat、CoreOS 和 Platform 9 是少数几个使企业级 Kubernetes 成为战略前进的关键因素,并投入巨资以确保开源项目继续得到维护的公司。 混合云带来的好处 企业以这样一个飞速的方式采用 Kubernetes 的另...阅读全文
新安装的Debian系统,默认一般使用DHCP获取IP地址,除非在安装过程中,使用了指定的IP地址。本文将介绍如何在Debian系统中,配置使用静态IP地址,配置网关,以及设置DNS服务器。 这些配置通过修改配置文件,很容易实现。在 Redhat 系列的 Linux 环境中,我们一般修改网卡的网络配置文件,对应的文件名为 /etc/sysconfig/network-scripts/ifcfg-eXX,其中eXX即为网络设备名。网络设备的列表可以他通过 ifconfig 命令获取。同样的,在 Debian 环境下,我们只需要修改网络的配置文件便可以了。相比之下,配置过程要比 Redhat 更为方便,只需要修改 /etc/network/interfaces 文件。 Debian 系统设置静...阅读全文
引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文
xfs 从 v5 开始支持查看文件的创建时间。使用 dmesg 命令,可以查看系统当前使用的 xfs 的版本:
```
# dmesg | grep -iE 'xfs.*\s+mounting' | head -1
```
如何查看 xfs 上文件的创建时间?
找到文件的 inode 信息后,就可以直接查看,
```
# stat -c '%i' test.txt
7827295
```
然后获取文件的创建时间,
```
# xfs_db -r -c "inode 7827295" -c "p v3.crtime.sec"
做文字输入,按ESC键可回到命令模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号。 不过一般我们在使用时把vi简化成两个模式,就是将底行模式也算入命令模式。 一、打开文件、保存、关闭文件(vi命令模式下使用) vi filename //打开filename文件 :w //保存文件 :w debian.cn //保存为当前目录下的文件"debian.cn" :q //退出编辑器,如果文件已修改请使用下面的命令 :q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 :x! //退出编辑器,且保存文件,忽略是否对文件具有写权限 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退...阅读全文
在执行 docker ps 命令时可以通过过滤条件来判断,比如 hostnetwork 网络模式的容器,可以加过滤条件,**network=host**, `docker ps --filter network=host --format "table {{.ID}}\t{{.Names}}"` kubenet 网络插件可以用 **network=none** 来过滤...阅读全文
Phoronix表示,该网站近期收到了许多用户的来信,称对 Debian GNU/Linux 放弃许多旧的硬件驱动程序的举措感到愤慨。本月初,Debian“X Strike Force”团队决定从 Debian 中删除一些过时的输入和视频驱动程序。其指出,作出该决定的依据是“它们在上游没有维护,或没有任何价值。” 受影响的驱动程序包括有 Mach 64、ATI Rage R128、Savage、Silicon Motion、SiS、Trident 和 NeoMagic 图形硬件。其中,像 ATI Rage 128 之类已有 20 多年的应用历史,并且这些驱动程序还支持许多其他种类硬件。 最初,Geode display driver 也被设置为删除,不过最终被保留了下来。此外,Elo...阅读全文
this this 存在于函数中,它指向的是该函数在运行时被调用的那个对象。在实际项目中,遇到this的坑比较多,因此需要对this作深入的理解。 Function对象还提供了call、apply和bind等方法来改变函数的this指向,其中call和apply主动执行函数,bind一般在事件回调中使用,而call和apply的区别只是参数的传递方式不同。关于call,apply和bind的用户请参考博客:详解JS的call,apply和bind 4、构造函数 new JS中的函数即可以是构造函数又可以当作普通函数来调用,当使用new来创建对象时,对应的函数就是构造函数,通过对象来调用时就是普通函数。 普通函数的创建有:显式声明、匿名定义、new Function() 等三种方式。 当通过new来...阅读全文
西部数据开发了有一段时间的Zonefs已经确定要在Linux 5.6内核中登场了,这并不是一个传统意义上面的通用文件系统(比如Ext4、NTFS),而是一个针对特定硬件设备的文件系统,它为分区式存储设备进行了高度的优化。 熟悉Linux的朋友应该知道,在Linux下面内核会将存储设备视为块设备,比如目前会将SATA存储设备视为/dev/sdX。传统文件系统是在这个块设备上面进行操作,而应用程序则是通过系统提供的接口对块设备上面的数据进行访问。 但SMR HDD(叠瓦式硬盘)有一个毛病,它只有在顺序写入时才能正常发挥性能,一旦要进行数据覆盖写入,就需要改写这块数据所在区块内的所有磁道,造成严重的性能下降。传统的文件系统不会因为SMR HDD的特性而特别对待它,而Zonefs就是西部数据对...阅读全文
")) | "kubectl delete pods \(.metadata.name) -n \(.metadata.namespace)"' | xargs -n 1 bash -c 将Evicted状态的pod删除后,清理一波磁盘,具体操作可以查看如何清理Linux服务器磁盘空间 df -h //查看服务器空间 du -h --max-depth=1 //查看当前目录,哪个文件占用最大 du -sh * //查看当前目录下各文件及文件夹占用大小 cp /dev/null a.log //将a.log文件清除为空 最后k8s上的服务显示正常了。...阅读全文
Greg Kroah-Hartman 在内核邮件列表上 宣布 释出 Linux 4.19。Linux 作者 Linus Torvalds 最近在 休假反省 ,Linux 的开发现在由稳定版内核维护者 Kroah-Hartman 接手。 Kroah-Hartman 表示,4.19 将会是一个长期支持版本,他也会维持几年。 Linux 4.19 的主要新特性包括: 基于异步 I/O 的轮训接口 L1TF 漏洞补丁 块 I/O 延迟控制器 Common Applications Kept Enhanced (CAKE) 队列管理算法 Wi-Fi 6 (802.11ax) 初步支持 实验性文件系统 EROFS Intel Cache Pseudo-locking 基于时间的包传输 改进 RISC...阅读全文
在 Linux 5.2 发布一周后,第一个修订版本 5.2.1 也已经发布了,用来处理各种错误/回归。需要注意的是5.2并非长期支持(LTS)分支,推荐注重稳定的用户还是使用当前的LTS内核。 5.2.1版只是修改一些小小的问题,主要有以下方面: 修复 Perf减少 RTL 8712 驱动程序的堆栈使用fscrapt 将不再为 dead 目录设置策略还有一个新的文档部分,详细说明了 Spectre 的 CPU 漏洞 完整列表查看发布说明。 Linux Kernel 5.2的亮点包括Sound Open Firmware,这是一个支持DSP音频设备的开源固件。此外还新增了用于挂载文件系统的新挂载API,面向ARM Mail设备的全新开源GPU驱动,在EXT4文件系统中支持不区分大小写,以及对...阅读全文