【Rust日报】 2019-07-17:微软安全响应中心:一种主动性的方式来提升安全

本文主要是介绍【Rust日报】 2019-07-17:微软安全响应中心:一种主动性的方式来提升安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rust的可测试组件设计

#TestableComponentDesign

本文简单介绍了在Rust中编写一个工程性更强的组件(crate)所必须要遵循的一些原则:

  • 自动化测试覆盖

  • 需要可配置的依赖

  • 公共api应该更加易于使用和理解

  • 契约层应该尽量减少泛型的使用

  • 其他

Read More

从futures 0.1迁移到0.3

#TiKV #futures

nrc 最近为TiKV的客户端从futures的0.1升级到了0.3,本文记录了该过程中他遇到的一些棘手的问题等。想了解0.1和0.3之间的一些区别,可以看看此文。

  • Read More

  • client-rust

使用Yew和Rust进行全栈Web开发

#yew #wasm #web

Read More

2019年如何提升Rust编译器性能

#rustc

该文作者最近给Rust发了很多PR,用于改进Rust编译器的性能,该文是他对这些PR的一些梳理总结,记录了他提升Rustc编译性能的思路。

Read More

「系列文章」微软安全响应中心:一种主动性的方式来提升安全

微软安全响应中心一直在研究Rust语言作为系统编程的安全替代方案,并建议整个软件行业认真研究它。并且会写一系列的相关的文章,本文是第一篇:

自2004年以来,微软安全响应中心(MSRC)已经对所有报告的微软安全漏洞进行了三重分析。从所有这些分类中,有一个惊人的事实凸显出来: 正如马特·米勒在2019年布鲁哈特伊利诺伊州的演讲中所讨论的那样,大多数修复的漏洞和分配的CVE漏洞都是由开发人员无意中在他们的C和C++代码中插入内存损坏错误造成的。随着微软增加其代码基础并在其代码中使用更多的开源软件,这个问题并没有变得更好,反而变得更糟。微软并不是唯一一个暴露在内存崩坏问题之下的公司。

所以需要一种更加内存安全的语言,比如Rust。时代在进步和变革,拿汽车和编程语言类比非常适合。我们不是要等事故发生以后再去处理它,而要在事故发生之前,预判一些可能导致事故的危险行为去避免它。

(微软已经不是以前那个微软了,微软越来越像那个我期待的微软了)

Read More

叫板?为什么我们需要一个actix的替代品

#actix

本文作者尝试解释为什么他不认为actix-web能够成为引领Rust社区向前发展的“那个”框架。作者列出了他的理由:

  • 代码中依旧还有25个unsafe方法在使用。比如std::mem::uninitialized。但有人可能会说,这没什么大不了的,修好就可以了。但是本文作者强调:Nikolay(acitx-web作者)的态度是你难以改变的。本文作者列举了Nikolay在强硬关闭其他人移除actix-web中unsafe代码的PR中的回复:actix-web/pull/968。(这个PR下actix-web作者的几个回复的态度确实不太好,比如他说道:已经失去了和开源社区打交道的动力。)

  • actix不是一个你可以轻易贡献的项目。最终,这使得开发者都将依赖Nikolay来获得新的特性。本文作者用一个词来描述actix-web:Flying Solo。

  • 性能测试作弊?比如硬编码header值、或者放弃检查HTTP方法之类。他呼吁大家仔细研究下TechEmpower的测试代码。

总结:本文作者认为actix-web作者的心态和代码内部的质量,足以让他放弃actix框架。那么还有哪些替代品?

  • Rocket

  • Gotham

  • Thruster

  • Warp

  • Tide

(wow,看完之后我感觉,该文作者描述actix的问题还是挺严重的,真心希望actix-web可以更好)

  • Read More

  • Reddit讨论贴

Ballista:集成了Rust、 Apache Arrow 和 Kubernetes的分布式计算平台

#k8s #Arrow

DataFusion的作者新的项目,目前是PoC(概念验证)阶段。

  • Read More

  • ballista

tokio重构计划:让tokio 的子crate “坍缩”为一个独立的crate

#tokio

主要是解决tokio用户对依赖tokio时候pull的crate数量抱怨的问题。大家可以来此issues下讨论替代的策略。

(合久必分,分久必合)

Read More

advisory-db: RustSec组织发布的安全告警数据库

#RustSec

advisory-db

silicon: 为你的源码创建漂亮的图片

#Carbon

有一个网站叫Carbon,可以创建漂亮的代码图片,而silicon是该功能的Rust实现。

640?wx_fmt=png

  • silicon

  • carbon


From 日报小组 Chaos

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel

  • 阿里云语雀订阅

  • Steemit

  • GitHub

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • Rust Force: 支持 rss

  • 微信公众号:Rust 语言学习交流

这篇关于【Rust日报】 2019-07-17:微软安全响应中心:一种主动性的方式来提升安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085900

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计