阅读kernel代码的时候,变量很多,尤其是读内存部分代码的时候,传来传去,常常把自己弄晕。改成什么样子了,内存布局到底变成什么了,利用qemu可以在线调试内核,如同用gdb调试app一样,打断点 打印变量值等等。qemu是个基于kvm的模拟器,说虚拟机也可以,android的模拟器,就是基于开源的qemu修改的,下面开始调试的旅程吧。
Linux读写缓存Page Cache
Rust书籍推荐《Command-Line Rust》
连续几年,Rust 在 Stack Overflow 的年度开发者调查中被评为“最喜爱的编程语言”。这种开源系统编程语言现在用于从游戏引擎和操作系统到浏览器组件和虚拟现实模拟引擎的所有事物。但 Rust 也是一种极其复杂的语言,其学习曲线非常困难。
云原生分布式系统设计
系统学习分布式架构设计对于技术人的成长非常关键。对于云原生开发者而言,如何设计出符合云原生设计哲学的应用,往往离不开分布式系统知识与方法论的运用。如何设计出高弹性、可配置、可分布、高性能、高容错、更安全、更韧性、快交付的云原生应用往往是衡量开发者水准的重要参考。
然而,分布式系统是一个很大的概念,从架构设计、研发流程、运维部署、工程效率等多个角度均有很深的知识可以挖掘,学习成本和难度相对较大。
Rust性能分析-迭代器的enumerate方法是否会影响程序性能
Rust编程语言融合了多种编程法(programming paradigm),其中的命令式编程(imperative programming)所用的循环和函数式编程(functional programming)所提供的迭代器(iterator)可以加强数组或是切片的访问性能。
然而,在访问数组或是切片时,迭代器在每次迭代时只会回传元素的值或引用,而不会将索引值也跟着回传出来。这个问题虽然可以通过迭代器的enumerate
方法来轻松解决,enumerate
会让迭代器回传目前是第几次的迭代(从0开始数),这个次数值可以当作是目前访问到的元素的索引值,只是这样的作法会对程序性能有什么不良的影响呢?
Rust备忘录
From: https://quickref.me/rust
Getting Started {.cols-3}
Hello_World.rs
1 | fn main() { |
一种高效通信机制-RPC调用链
RPC调用链可以将远程过程调用变成一个有效的堆栈。
当我们编写应用程序时,我们中的许多人认为REST是服务间通信的一个通用标准。然而,还有许多其他形式的通信,RPC就是其中之一。值得注意的是,通信方式的选择取决于许多因素,如业务需求、遗留代码、技术和预算,更不用说你选择的架构模式。
软件架构模式简介
当我们进入软件工程的世界,有一天需要学习软件架构模式的基本知识。当我刚开始编码的时候,我不知道从哪里获得资源来简单介绍现有的架构模式,不是那种太详细和混乱的,而是非常抽象和简单的理解。
这一直是个问题,直到我发现了Mark Richards的《软件架构模式》一书。强烈建议仔细阅读这本书。