在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。
如何设计一个接口?是在我们日常开发或者面试时经常问及的一个话题。很多人觉得这不就是CRUD,能实现不就行了。单纯实现来说,并非难事,但要做到易用、易扩展、易维护并不是一件简单的事。这里并不强调一些个接口设计的原则或者设计方法,仅从如何设计一个好的接口出发,简单讨论。
前言 之前写过一篇文章《表设计的18条军规》,发表之前,在全网广受好评。 今天延续设计的话题,给大家总结了接口设计的18条军规,希望对你会有所帮助。 1. 签名 为了防止API接口中的数据被篡改,很多时候我们需要对API接口做签名。 接口请求方将请求参数 + 时间戳 + 密钥拼接成一个字符串,然后通
笔者感受就是搞一套Oracle 23ai的学习测试环境,从未如此的简单高效。 因为近期Oracle 23ai这个话题很火,很多人也在找实验环境想亲自体验测试一番。 其实搞这样的环境没有任何的门槛,甚至无需注册任何账号,直接安装免费的Oracle VM VirtualBox,下载现成的23ai环境,双
前言 现代计算机基于计算、存储和调度的体系, 于是现代架构都是围绕这三大话题不断演进。 在基础架构部, 也是主要为了解决这三个难题,为业务事业部提供透明的、高可用、可快速伸缩的 三大能力, 我们组主要负责 [流量调度] 这个话题,下面是一些宏观的技术笔记。 在单体结构, 流量调度是直观且无感的(DN
欢迎来到我们的系列博客《Python360全景》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是我们的第一篇文章,让我们从最基础的开始:如何在你的电脑上配置Python环境。
**在这篇文章中,我们会深入探讨Python单元测试的各个方面,包括它的基本概念、基础知识、实践方法、高级话题,如何在实际项目中进行单元测试,单元测试的最佳实践,以及一些有用的工具和资源** ## 一、单元测试重要性 测试是软件开发中不可或缺的一部分,它能够帮助我们保证代码的质量,减少bug,提高系
大家好,我是小彭。 在上一篇文章里,我们聊到了基于链表的 Queue 和 Stack 实现 —— LinkedList。那么 Java 中有没有基于数组的 Queue 和 Stack 实现呢?今天我们就来聊聊这个话题。 小彭的 Android 交流群 02 群已经建立啦,扫描文末二维码进入~ 思维导
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设。 关于 i.MXRT1xxx 系列芯片 BootROM 中集成的 DCD 功能这个话题,痞子衡早就想写了,但是一直没有动笔,毕竟这个话题比较生涩,单独讲会比较枯燥。最
最近听说了很多事,加之目前自己也处在被汇报以及需要向上汇报的状态中间,迫使我开始思考向上管理(managing up)这个话题。这是一个有争议的话题,很多人(包括曾经的自己)下意识的会将向上管理与徒有其表的讨好或者迎合这类负面词划上等号。借此契机在查阅了很多资料之后,才意识到它不过是一项职场软技能而已。
http://www.vimer.cn/2009/10/15/ba-vimda-zao-cheng-yi-ge-zhen-zheng-de-ide-1/ 这里所说的IDE主要是指C/C++开发,但是由于笔者之前也搞java和c#开发,所以对这两种语言也会有所兼顾。 这个话题可能要分好几篇文章来写了,
作者:张铁蕾链接:https://www.zhihu.com/question/49618581/answer/117107570来源:知乎著作权归作者所有,转载请联系作者获得授权。 首先,从大的方面说,这篇文档的名字,虽然叫“Backpressure”(背压),但却是在讲述一个更大的话题,“Flo
https://www.cnblogs.com/imyalost/p/17445773.html 昨天整理记录的笔记,发现了21年做交付时记录的一个思考:为什么要复盘。 之前的文章也聊过一些项目管理以及复盘的话题,主要是复盘的流程,方式以及产出物。2年过去,有了大量的实践和总结后,我对于复盘也有了一
随着软件供应链攻击的显著增加,以及 Log4j 漏洞带来的灾难性后果和影响,软件供应链面临的风险已经成为网络安全生态系统共同关注的最重要话题之一。根据业内权威机构 Sonatype 发布的2022软件供应链现状报告,在过去三年中,针对上游开源代码存储库的恶意活动,旨在将恶意软件植入软件组件的攻击数量
周末聚餐是生活中的一种美好体验,大家可以围坐在餐桌旁,品尝各式佳肴,畅谈人生、工作、兴趣等话题。而这次聚餐中,商家还送了一些小玩具在餐桌上,增添了许多童真和快乐。 可是,我们在享受美食和欢声笑语的同时,也有些隐忧。果不其然,我把一个小玩具放在餐桌旁,本来想着吃完饭收拾好了再带回家送给娃的,但最后不知
1 前言 在《微服务系列》中,我们讲过很多限流,熔断相关的知识。 老生长谈的一个话题,服务的能力终归是有限的,无论是内存、CPU、线程数都是,如果遇到突如其来的峰量请求,我们怎么友好的使用限流来进行落地,避免整个服务集群的雪崩。 峰量请求主要有两种场景: 1.1 突发高峰照成的服务雪崩 如果你的服务
知乎上有一个提问:为何 Linus 一个人就能写出这么强的系统,中国却做不出来?今天我们就这个话题一起做个讨论...
本文由葡萄城技术团队于博客园原创并首发转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 谈起数据库,事务是绕不开的话题。无论你是研发、实施还是运维,都需要理解、使用无数据事务的特性。数据库事务连接各种数据,是处理各种数据的基础。那么数据库事务究竟是什么意思?
在笔者的上一篇文章`《驱动开发:内核特征码扫描PE代码段》`中`LyShark`带大家通过封装好的`LySharkToolsUtilKernelBase`函数实现了动态获取内核模块基址,并通过`ntimage.h`头文件中提供的系列函数解析了指定内核模块的`PE节表`参数,本章将继续延申这个话题,实现对PE文件导出表的解析任务,导出表无法动态获取,解析导出表则必须读入内核模块到内存才可继续解析,所
在笔者上一篇文章`《驱动开发:内核取应用层模块基地址》`中简单为大家介绍了如何通过遍历`PLIST_ENTRY32`链表的方式获取到`32位`应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通用的获取函数,本章将继续延申这个话题,并依次实现通用版`GetUserModuleBaseAddress()`取远程进程中指定模块的基址和`GetModuleExportAddress()`