
系统分析
文章平均质量分 74
sg-expert
elite
展开
-
使用riscv-gnu-toolchain编译linux内核
riscv-gnu-toolchain的交叉编译工具链编译和使用原创 2023-07-27 23:57:24 · 841 阅读 · 0 评论 -
cppcheck和cpplint的介绍与实例化使用
对于大型C/C++项目,一般是分模块开发的方式进行,代码量数十万或者更多。由于代码量的激增以及开发人员众多,代码出现bug的概率也随之增加。静态代码检查重要性突显。原创 2023-04-05 22:49:41 · 1958 阅读 · 0 评论 -
C++模板的使用
在平时的工作和学习过程中,经常会用到泛型,这里对泛型和模板进行一下梳理,以便理解和使用。原创 2023-03-04 21:30:04 · 2242 阅读 · 0 评论 -
捕获并打印程序日志信息的方法(Qt)
工作中为了方便调试,常常需要加入一些打印。常用 Qt 中的 QDebug / QWarning,C 和 C++ 中的 printf / cout 等等,又或者是三方库提供的标准打印接口。大部分时候,由于这些打印相当不统一(格式和位置),并且因为 Qt 作为 GUI 框架,调试信息实在不应该直接置于 UI 之上。接下来介绍一种能统一和标准化所有标准打印的方法( 所谓标准打印即标准输出 stdout 等),并且能够动态配置。原创 2023-02-18 23:08:05 · 1071 阅读 · 0 评论 -
浅谈微服务的使用
架构的关键是取舍,进而架构师就是做取舍的人。把简单事情吹牛般的变复杂是现在很多IT走不下去的根本原因。采用微服务,实际是在转移复杂性,而不是消解复杂性。原创 2023-01-09 23:05:06 · 371 阅读 · 0 评论 -
金字塔原理的核心思想
用一句话说,金字塔原则就是,任何事情都可以归纳出一个中心论点,而此中心论点可由三至七个论据支持,这些一级论据本身也可以是个论点,被二级的三至七个论据支持,如此延伸,状如金字塔。转载 2022-09-25 13:18:30 · 356 阅读 · 0 评论 -
工作的原理-读后感
"工作的原理"这套书有两篇,分别是“发现问题篇”和“解决问题篇”。原创 2022-09-25 11:49:07 · 360 阅读 · 0 评论 -
关于代码评审CodeReview
代码评审( CodeReview )的那些事转载 2022-08-15 23:14:54 · 660 阅读 · 0 评论 -
非常实用的 Shell 和 shellcheck
shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的有效方式。区区几行代码,就可以让计算机接近按照你的意图行事。杀死所有脚本#!/bin/bash#################################################################有一些脚本加入到了cron之中,存在脚本尚未运行完毕又有新任务需要执行的情况,#导致系统负载升高,因此可通过编写脚本,筛选出影响负载的进程一次性全部杀死。#########原创 2021-07-02 23:44:57 · 345 阅读 · 0 评论 -
10种常见的软件架构模式
对于大型企业级系统的设计,必须选择一种合适的体系架构,它将为我们提供所需的功能和质量属性。下面,先了解不同的体系结构。- 什么是架构模式 -根据维基百科,架构模式是在给定上下文中解决软件架构中常见问题的通用、可重用的解决方案。架构模式类似于软件设计模式,但范围更广。在本文中,我会简单介绍下列10种常见的架构模式,及其用途、优势和劣势。分层模式该模式可用于构建可分解为子任务组的程序,其中每个都处于特定的抽象级别。每一次都向更高层提供服务。一般信息系统中最常见的4层划分如下:Pres原创 2020-10-15 23:10:12 · 526 阅读 · 1 评论 -
成长为架构师途中的一些思考
“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考的问题。本文试图从三个方面来解答:第一部分阐述了一些学习的原则。任何时候,遵循一些经过检验的原则,都是影响效率的重要因素,正确的方法是成功的秘诀;提升工作和学习效率的另一个重要因素是释惑和良好心态。第二部分析了我在工作中碰原创 2020-08-25 22:27:39 · 427 阅读 · 0 评论 -
20个hacker神器
系统终端侧:- OllyDbg- WinDbg- IDA- APIMonitor- PCHunter- ProcExp- ProcMon- dex2jar- jd-gui- Mimikatz网络侧:- WireShark- Fiddler- nmap- netcat- Nessus- SQLMap- hydra- shodan- zoomeye- metasploit工具都是好工具,但是切不可用于不正当用途!...原创 2020-06-28 23:29:58 · 454 阅读 · 1 评论 -
如何画出优秀的架构图
在工作中,当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况:对着画布无从下手、删了又来?用一张图描述我的系统,并且让产品、运营、开发都能看明白?画了一半的图还不清楚受众是谁?画出来的图到底是产品图功能图还是技术图又或是大杂烩?图上的框框有点少是不是要找点儿框框加进来?布局怎么画都不满意……如果有同样的困惑,本文将介绍一种画图的方法论,来让架构图更清晰。先理清一些基础概念什么是架构架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策。架构是结构原创 2020-05-19 23:24:41 · 169 阅读 · 0 评论 -
网络工具中的“瑞士军刀”-nc
查看端口是否被占用还记得我们在netstat中介绍的如何查看端口被占用吗?nc也可以完成这样的事情。它使用-l(listen)参数,用于绑定指定端口并监听连接: $ nc -l 6379 nc: Address already in use当看到Address already in use的时候,就知道这个端口被占用了,否则它就会在这个端口监听。当然这个作用是我瞎说的,但是可以用。端口...原创 2020-01-19 22:52:24 · 335 阅读 · 0 评论 -
ss命令详解
netstat是一个非常实用的socket查看命令。但是有人留言它已经被ss(Socket Statistics)替代了,那么这个所谓替代netstat的命令,到底怎么用呢?为什么它能替代netstat?为什么使用ss值得注意的是,几乎所有的linux系统都默认支持netstat命令,而并不一定支持ss,从这一点来说,netstat通常还是不二选择。但是不得不承认的是,ss命令更加快捷高效。...原创 2020-01-19 22:32:26 · 4799 阅读 · 1 评论 -
值得推荐的C/C++框架和库 (都会是牛人)
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/转载 2017-10-12 11:35:13 · 431 阅读 · 0 评论 -
IDA Pro使用技巧大杂烩
IDA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window)。IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头默认为红色,蓝色表示默认下一个执行块。在寄存器窗口中显示着每个寄存器当前的值和对应在反汇编窗口中的内存地址。函数在进入时都会保存堆栈地址EB转载 2017-02-18 23:27:33 · 3800 阅读 · 0 评论