利用LD_PRELOAD进行hook
在Unix操作系统的动态链接库的世界中, LD_PRELOAD就是这样一个环境变量, 它可以影响程序的运行时的链接(Runtimelinker), 它允许你定义在程序运行前优先加载的动态链接库.
编译语言 2022-11-21 14:40:25
Go中的简单MapReduce
Hadoop MapReduce是一个软件框架.MapReduce 作业通常将输入数据集拆分为独立的块, 这些任务由地图任务以完全并行的方式进行处理。今天, 出于测试和学习的原因, 我想在Go中编写一个简单的MapReduce作业。
编译语言 2022-11-21 14:40:25
Gdb 入门+命令大全
GDB(GNU symbolic debugger)是 GNU Project 调试器, 它使你可以查看另一个程序在“执行”期间正在执行的操作–或该程序崩溃时正在执行的操作。GDB 调试器已经对 C、C++、Go、Objective-C、OpenCL、Ada 等多种编程语言提供了支持
编译语言 2022-11-21 14:40:25
一窥GDB原理
ptrace可以说是gdb的灵魂了。gdb通过执行 ptrace(PTRACE_ATTACH, pid, 0, 0) 来对目标进程进行追踪. ptrace()系统调用提供了一种方法可以使得追踪者(tracer)来对被追踪者(tracee)进行观察与控制
编译语言 2022-11-21 14:40:25
开源C/C++网络库比较: ACE、livevent和Boost
在开源的C/C++网络库中, 常用的就那么几个, 在业界知名度最高的, 应该是ACE了, 不过是个重量级的大家伙, 轻量级的有libevent, libev, 还有 Boost的ASIO
编译语言 2022-11-21 14:40:25
[转载]比特币源码研读---开篇
比特币作为虚拟货币的开山鼻祖, 运行至今近10年, 在没有中心化结构的运营下, 几乎没有出现过重大事故, 相信BAT的产品也不敢吹这牛逼吧, 所以作为技术人员读一读比特币代码是修炼内功的绝佳选择。
区块链 2022-11-21 14:40:25
[转载]比特币源码研读---交易
在比特币交易中有一个非常重要的概念UTXO(Unspent Transaction Output), 也就是说比特币用UTXO取代了传统的账号系统。这句话如何理解呢, 我们做个对比就知道了。假设A,B2位矿工分别挖到区块, 获得coinbase奖励25btc, 然后均转给C, C又转40个BTC给D。
区块链 2022-11-21 14:40:25
[转载]比特币源码研读--交易细节
充值方式众多, 比如加仓,Fomo, 或是写DAPP, 读代码。那我继续前两次的操作, 继续阅读BTC的代码, 版本0.8.2。上次粗读了一番交易的流程, 大概的来龙去脉也略知一二, 这次就按照关键的执行函数来扣一下具体的细节。
区块链 2022-11-21 14:40:25
30 个 Linux 系统监控工具
Linux 系统常用监控工具, 包括: top, vmstat, w, uptime, ps, free, iostat, sar, mpstat, pmap, netstat, ss, iptraf, tcpdump, iotop, htop, atop, ac 和 lastcomm, monit, NetHogs, iftop, vnstat, nmon, glances, strace, proc, Nagios, Cacti, KDE 系统监控器, GNOME 系统监控器
常用工具说明篇 2022-11-21 14:40:25
使用 telnet 来调试网络问题
telnet 最初通过端口建立连接不会发送任何数据, 适用于任何协议, 包括加密协议。连接问题服务器有四个可能会遇到的主要问题(连接挂起, DNS 问题, 服务器没有侦听端口, 连接被服务器关闭)。我们会研究这四个问题, 研究它们意味着什么以及如何解决。
常用工具说明篇 2022-11-21 14:40:25
netstat 命令详解
netstat命令是一个监控TCP/IP网络的非常有用的工具, 它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
常用工具说明篇 2022-11-21 14:40:25
dd 命令详解
dd: 用指定大小的块拷贝一个文件, 并在拷贝的同时进行指定的转换. 注意: 指定数字的地方若以下列字符结尾, 则乘以相应的数字: b=512; c=1; k=1024; w=2.常用于: 整盘备份、恢复, 增加swap分区,销毁磁盘数据,测试硬盘的读写速度,修复硬盘
常用工具说明篇 2022-11-21 14:40:25
nmap终极使用指南
nmap是一个网络连接端扫描软件, 用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端, 并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一, 以及用以评估网络系统安全
常用工具说明篇 2022-11-21 14:40:25
八种在 Linux 上生成随机密码的方法
在这里我们利用像 openssl, dd, md5sum, tr, urandom 这样的原生命令和 mkpasswd, randpw, pwgen, spw, gpg, xkcdpass, diceware, revelation, keepaasx, passwordmaker 这样的第三方工具。
常用工具说明篇 2022-11-21 14:40:25
vim配置及常用操作
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富, 在程序员中被广泛使用。vim 则可以说是程序开发者的一项很好用的工具。
常用工具说明篇 2022-11-21 14:40:25
Sublime Text3的配置
Sublime Text: 一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件, 不仅具有华丽的界面, 还支持插件扩展机制, 用她来写代码, 绝对是一种享受。
常用工具说明篇 2022-11-21 14:40:25
分布式事务如何实现?分布式事务解决方案
XA 规范 是 X/Open 组织定义的分布式事务处理(DTP, Distributed Transaction Processing)标准。XA 规范 描述了全局的事务管理器与局部的资源管理器之间的接口。 XA规范 的目的是允许的多个资源(如数据库, 应用服务器, 消息队列等)在同一事务中访问, 这样可以使 ACID 属性跨越应用程序而保持有效。
服务器管理与架构 2022-07-15 21:09:40
JanusGraph 入门
JanusGraph是一个图形数据库引擎。其本身专注于紧凑图序列化、丰富图数据建模、高效的查询执行。另外, JanusGraph利用Hadoop进行图分析和批处理图处理。JanusGraph为数据持久性、数据索引、客户端访问实现了强大的模块化接口。JanusGraph的模块化体系结构使其可以与多种存储、索引、客户端技术进行互操作。它还简化了扩展JanusGraph以支持新的过程。
图数据库 2022-06-21 17:10:42
值得推荐的C/C++框架和库
Webbench,Tinyhttpd,cJSON,CMockery,Libev,Memcached,Lua,SQLite,UNIX v6,NETBSD,标准库,C++通用框架和库,人工智能,音频, 声音, 音乐, 数字化音乐库,生物信息, 基因组学和生物技术,压缩和归档库等