自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

持续分享有趣的技术干货

持续分享有趣的技术干货

  • 博客(82)
  • 收藏
  • 关注

原创 智能合约安全专题(一):什么是重入攻击?——从 DAO 事件谈起

DAO 攻击的本质,是一个简单但致命的逻辑顺序错误。本文将带你看懂什么是重入攻击,它是如何发生的,又该如何避免它。

2025-06-10 16:04:19 1070

原创 [特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

智能合约的数据一致性来自:确定性执行 + 状态复制 + 共识验证。每一笔交易都会在全网重复执行一遍,保证每个节点都处于相同的合约状态。这正是区块链“共识 + 去信任”力量的核心体现。

2025-06-10 13:19:37 516

原创 [特殊字符] 以太坊智能合约:原理、执行与核心机制

摘要: 智能合约是以太坊区块链上自动执行的程序,无需人为干预,通过交易触发运行。用户通过部署合约地址并发送交易来调用合约函数,所有节点通过EVM执行并验证结果,确保一致性和不可篡改性。智能合约的透明性、确定性及Gas费用机制使其成为去中心化的可信工具,但部署后代码不可更改,执行失败仍会消耗Gas。其核心价值在于将信任从人转移到代码,重塑商业和金融的底层逻辑。

2025-06-10 13:16:20 987

原创 [特殊字符]“你不挖矿也能参与”的以太坊 PoS 权益证明机制,究竟是啥?

还记得以前人们总说:“挖比特币要浪费多少电!“以太坊又烧掉了整个冰岛的用电量!但是,自从 2022 年 9 月的“The Merge” 合并升级PoS - Proof of Stake,权益证明机制说白了就是:“你有钱(ETH),你质押,就有机会记账;你守规矩,就拿奖励;你搞事情,就罚你。听上去像不像班级值日生轮换制 + 表现积分制?现在,我们来揭开这个机制的神秘面纱!“PoS 是以太坊从‘电老虎’向‘绿色节能达人’的转型,既省电又公平,谁质押、谁守规矩、谁就有话语权。

2025-06-09 17:49:16 629

原创 【深度解析】以太坊中的挖矿难度调整机制:从动态调节到“冰河时代”的倒计时

以太坊的难度机制既是技术工具,也是一种治理手段,它调控的不只是算力,更是社区的共识节奏。有兴趣也可以留言,我会继续输出优质内容 👇。

2025-06-09 15:26:39 1003

原创 【深度解析】以太坊挖矿算法 Ethash:从抗 ASIC 到走向失败的全过程

Ethash 是一场与 ASIC 的赛跑,虽败犹荣。它的失败,并非技术的落后,而是区块链共识机制由能源驱动向资本质押进化的自然选择。👨‍💻。

2025-06-09 14:22:05 671

原创 深入理解以太坊 GHOST 协议:让“叔块”也有归属感的共识机制

叔块”(Uncle Block)是那些虽然合法,但没有成为主链一部分的区块。它们代表了真实的算力贡献。区块类型获奖者奖励公式最高奖励主块主链矿工2 ETH叔块有效但没被选中区块1.75 ETH引用者收录叔块的矿工0.0625 ETH。

2025-06-09 13:19:38 296

原创 【区块链基础】区块链的 Fork(分叉)深度解析:原理、类型、历史案例及共识机制的影响

区块链本质上是一条由区块依次链接构成的链式数据结构。分叉是指在同一时间点,出现了两个或多个不同版本的区块链,这导致链条发生分裂,形成了多条并行的区块链分支。临时分叉(短暂分叉)由于网络延迟或矿工几乎同时挖出不同区块,导致不同节点接收到的最新区块不一致,形成暂时的链条分歧。网络通过“最长链原则”最终收敛为一条链。协议分叉(永久分叉)协议规则发生变更,部分节点升级新规则,部分节点未升级或选择保留旧规则,导致链条永久分裂。协议分叉又分为硬分叉和软分叉两种。

2025-06-07 16:10:09 666

原创 8️⃣ 一文看懂 Bitcoin Script

非图灵完备:看似功能受限,实则是安全保障。没有死循环、没有复杂控制流,极大减少了系统攻击面。基于堆栈的执行机制:每条指令作用于栈结构,比如压值、哈希、签名验证等。scriptSig:花费者提供的“解锁条件”(如签名、密钥):收款人设置的“锁定条件”(如限制某地址才可花费)比特币节点会将两段脚本拼接执行,顺序从左到右,最终判断栈顶是否为true。为真则交易有效。,即“支付给某个公钥哈希”。我们常见的1A1zP1...地址就是这一类型。

2025-06-07 15:26:55 722

原创 链结构与工作量证明7️⃣:用 Go 实现比特币的核心机制

我们用 Go 实现了:一个链式结构,每个区块引用上一个区块的哈希;工作量证明机制,限制出块频率、防止滥造;多个区块组成一条链,简单但完整。如果你一行一行跟下来,不只是了解“区块链是什么”,而是真的写出来一个可以跑的小链。

2025-06-07 11:06:44 691

原创 6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go语言实现简易区块链的核心技术 本文介绍使用Go语言构建区块链的基础技术:1)哈希算法确保数据不可篡改;2)非对称加密实现身份验证;3)序列化技术存储传输数据。通过区块结构(含时间戳、数据、前后哈希值等字段),演示了SHA256哈希计算、ECDSA签名验证及JSON/Gob序列化的具体实现。最后整合这些技术,构建了一个包含创世区块和第二个区块的简易链式结构,为后续实现工作量证明机制打下基础。这些核心组件构成了区块链防篡改、可验证的技术基础。

2025-06-07 10:38:01 956

原创 Go 并发控制的秘密武器5️⃣:sync 包原语 + context 全解析

控制目标Java 方案Go 方案等待多个任务完成join()保证线程安全Locksync.MutexRWMutex单次初始化双重检查锁定单例sync.Once控制线程退出context取消 / 超时对象复用手动对象池 /sync.PoolGo 在并发控制方面追求简单直接,避免层层封装和过度设计,但对开发者的思维要求反而更高。Channel 是沟通协程的通道,而sync和context则是协作的规矩与秩序。

2025-06-07 10:30:07 439

原创 第五篇:Go 并发模型全解析——Channel、Goroutine

ch := make(chan int) // 声明一个传 int 的通道以通信为中心构建并发逻辑,而不是以锁和内存为中心。你要做的,不是“如何抢内存”,而是“如何发消息”。这就像是从“武力夺权”转向了“和平谈判”——优雅许多,也更安全。

2025-06-07 10:13:14 1418

原创 Go语言进阶④:Go的数据结构和Java的有啥不一样

在 Java 世界,你可能习惯了满手的ArrayListHashMapSetQueue等容器类,配合着各种范型、接口和 Lambda 表达式,写得风生水起。别慌!Go 的容器虽然看起来“朴素”,但简洁实用,背后也藏着很多门道。接下来我们就从 Java 程序员的视角,Go 的常用数据结构。

2025-06-07 10:04:09 1018

原创 第三篇:Go的结构体和方法 —— Java程序员眼中的“另类类”

特性JavaGo类的定义数据+行为写在一个class里数据(struct)和方法(func+接收器)分开写继承支持extends继承,层级清晰没继承,推荐组合(embedding)方法调用引用传递,方法操作对象本体默认值传递,方法操作对象副本;指针接收器操作本体接口实现显式implements声明接口实现隐式实现,方法匹配即实现接口访问修饰符publicprivateprotected等丰富仅大写字母导出(公有)、小写字母私有。

2025-06-06 23:29:22 418

原创 第二篇:Go里的变量类型、零值和内存那些事儿(Java大佬别慌)

本文对比了Java和Go语言在变量类型、零值和指针操作上的差异。Go摒弃了访问修饰符和class,采用简洁的变量声明方式(var和:=),并提供自动零值初始化(数字为0,布尔为false,字符串为""),避免NullPointerException。指针操作更显式,需明确传递内存地址来修改函数外变量。文章还区分了值类型(int、struct等)和引用类型(slice、map等),并介绍了Go的匿名变量_用法。通过这些设计,Go实现了代码的简洁性和安全性,体现了与Java不同的"

2025-06-06 23:13:00 849

原创 第一篇:Go语言入门:Java程序员的修炼之路

panic():程序“崩溃”信号,类似 Java 中recover():从panic中“捞回来”,防止整个程序挂掉特性Java 风格Go 风格权限控制首字母大小写(大写=public,小写=private)函数附属于类独立、支持闭包、变参、作为值错误处理try-catchif err!= nil显式判断 + panic/recover指针/引用对象传引用明确使用*T和&T控制风格面向对象面向组合、轻结构、重函数Go 语言设计看似“简陋”,其实暗藏极简主义哲学——

2025-06-06 23:01:07 706

原创 第0篇:Java程序员的Go语言入门手册:先混个脸熟

Go语言语法清爽又直接,特别适合有Java基础的人快速上手。特性Go语言Java语言类无类概念,用结构体+方法组合一切都要在类中接口实现隐式(鸭子类型)显式 implements返回值支持多个返回值只能返回一个值,需封装函数第一类公民,可赋值、嵌套只能定义在类中包管理简单直接,无Maven那种折腾Maven/Gradle 依赖管理复杂下一篇将带你深入探索 Go 的“切片内幕”、“错误优雅处理”和“项目模块结构”,让我们一起用Go打造高性能系统!💬。

2025-06-06 22:13:39 868

原创 Mac 电脑移动硬盘无法识别的解决方法

需注意,“fsck_exfat” 是针对 “exFAT” 格式的磁盘修复命令,若移动硬盘是 “HFS+” 或 “APFS” 等其他格式,则要使用相应的 “fsck_hfs” 或 “fsck_apfs” 命令。打开 “终端”,输入 “diskutil list” 命令,这能让我们查看移动硬盘的相关信息,找到对应的磁盘编号和分区编号,例如 “disk2s2”。在 “磁盘工具” 中,选中硬盘,点击 “抹掉”,选择格式为 “Mac OS 扩展(日志式)” 或 “APFS”,然后点击 “抹掉” 即可。

2025-04-01 10:38:42 1180

原创 使用 httrack 命令进行网站镜像:参数详解与实践

在网络数据获取与网站镜像制作中,httrack是一款强大的工具。本文将深入解析这条命令及其参数。

2025-02-21 20:32:12 493

原创 深度解读 Docker Swarm

Docker Swarm 是 Docker 原生的集群管理工具,它的出现旨在解决容器化应用在多主机环境下的部署、管理和扩展问题。通过 Docker Swarm,用户可以将多个 Docker 主机整合为一个虚拟的、统一管理的主机,实现对容器资源的集中调度和管理。这意味着,用户可以像操作单个 Docker 主机一样,对整个集群进行操作,大大简化了多主机环境下容器管理的复杂性。无论是在开发、测试还是生产环境中,Docker Swarm 都能提供高效、可靠的容器集群管理服务,帮助企业快速部署和扩展应用。

2025-02-03 17:10:11 1596

原创 深入剖析 Docker 的镜像分层存储机制

Docker 凭借其卓越的性能和极高的灵活性,已然成为众多开发者和运维工程师的得力助手。在 Docker 强大的功能体系中,镜像分层存储机制尤为关键,它是实现高效镜像管理与容器创建的核心要素。接下来,让我们一同深入探索 Docker 镜像分层存储机制的奥秘,从原理、工作方式、显著优势到相关操作命令。

2025-02-01 00:06:38 1468 1

原创 后端程序员的福音,如何通过AI快速生成前端代码

如果项目遇到了什么问题或bug,它会自动进行修复,大部分问题还是能够解决的,也有少部分问题难以解决,这个是其他AI代码生成工具都会遇到的问题,不过也不用太担心,这种情况还是比较少见的。还有很多页面我就不一一演示了,这个项目是我拿来尝试看看能否通过这个bolt工具实现一个在线辅导的平台,目前经过实践发现,无论是整个布局、样式还是前端逻辑,都可以通过这款工具实现。如果说,有的小伙伴遇到了什么技术问题,想要找一个技术导师,帮你解决,可以来找我,如果比较简单,我就帮帮你免费解决了。去输入你想要构建的网站。

2025-01-14 18:37:08 972 1

原创 即时通讯系统常见的挑战和解决办法

大家好,我是马丁,今天给大家分享的是即时通讯系统常见的挑战和解决办法~

2024-09-11 07:00:00 1092

原创 深入剖析 Netty 中的 ByteBuf

的内部原理、显著优点以及多样化的常见用法,对于开发者充分发挥 Netty 的性能优势,构建高效、可靠的网络通信应用具有至关重要的意义。内存池将预先分配的内存块进行管理和复用,避免了频繁的内存分配和释放操作,从而降低了系统的开销,提高了内存分配的效率。作为 Netty 框架的核心数据结构,其精妙的设计和强大的功能为高效的网络数据处理提供了坚实的基础。的原理、优点和用法,对于开发高性能、复杂的网络应用具有不可估量的价值。作为数据存储和操作的核心组件,扮演着举足轻重的角色。与 Channel 的交互。

2024-09-10 08:30:00 1587

原创 【Netty Websocket】使用writeAndFlush方法后客户端无法收到消息的解决办法

在使用 Netty 进行 WebSocket 开发的过程中,有时候会遇到使用方法发送消息后,客户端却无法收到消息的情况。本文将深入探讨这个问题的可能原因及解决办法。

2024-09-09 23:38:29 1332

原创 深度解析 Netty 性能卓越的背后原因

Netty 的高性能并非偶然,而是通过一系列精心设计的技术和策略共同实现的。深入理解这些性能优化的原理,并在实际应用中结合具体的业务需求进行灵活运用和调优,是开发高性能网络应用的关键所在。同时,持续的学习和实践,以及对新技术的关注和探索,将有助于开发者不断提升自己的技术水平,更好地应对日益复杂的网络应用开发挑战。Netty 作为一款备受推崇的网络应用框架,以其出色的性能在众多框架中脱颖而出。封装了文件通道和相关的位置、长度信息,实现了零拷贝的准备工作。优化网络应用的性能提供宝贵的思路和方法。

2024-09-09 16:13:59 903

原创 深入剖析 Netty 中 TCP 粘包和拆包问题的解决之道

TCP 协议是面向字节流的,这就导致了在数据传输过程中可能会出现 TCP 粘包和拆包的现象,给数据的准确接收和解析带来了挑战。本文将深入探讨 Netty 中解决这一问题的多种策略,并通过详细的代码示例和解释帮助您深入理解。通过合理选择和应用这些策略,并结合精心设计的自定义解码器,开发者能够在 Netty 应用中实现高效、准确的数据传输和处理。我是马丁,一名热衷于深入研究网络编程技术的开发者,经常在 CSDN 平台分享我的技术见解。当数据足够时,读取指定长度的数据包内容,并可以进行后续处理。

2024-09-09 15:49:29 1405

原创 Netty中用到了哪些设计模式

Netty作为一个高性能的网络通信框架,里面有很多优秀的代码值得我们学习,今天我们一起看下Netty中用到了哪些设计模式。

2024-09-09 15:25:47 649

转载 [转]程序员都应该了解下版权和开源协议

什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。注意的地方:阮一峰老师文章下面有人问到:Javascript 这样的客户端脚本,是不是不加密就算开源了?

2024-09-05 18:27:02 424

原创 深入解析 Netty 的线程模型

Netty 的线程模型通过巧妙地结合和优化传统的线程处理方式,提供了一种高效、灵活且可扩展的解决方案,适用于各种高并发的网络应用场景。理解和选择合适的线程模型对于构建高性能的网络应用至关重要。我是马丁,一名专注于网络编程技术的开发者,经常在 CSDN 平台分享技术心得。希望本文能对您有所帮助,欢迎大家三连加关注,一起交流探讨更多技术话题!

2024-09-05 15:57:32 1270

原创 【Netty】自定义网络通信协议

本文主要介绍如何通过Netty自定义网络通信协议,协议比较简单和基础,相关的代码和原理也都不难理解,,重点是如何利用netty实现整个流程。我会提供完整的代码,有如何自定义编解码器的实现。

2024-09-05 15:02:18 1362 1

原创 【Netty】实战:基于WebSocket的聊天室

​本文将使用Netty快速实现一个聊天室应用,该应用基于WebSocket协议,用户可以在浏览器内聊天。实现过程很简单,就四步。

2024-09-02 16:09:35 1058

原创 【Netty】实战:基于Http的Web服务器

本文来实现一个简单的Web服务器,当用户在浏览器访问Web服务器时,可以返回响应的内容给用户。很简单,就三步。

2024-09-01 22:54:10 1169

原创 【内网穿透】frpc 客户端批量端口映射配置

【代码】【内网穿透】frpc 客户端配置批量端口映射。

2024-08-30 16:26:42 1409

原创 探究 WebSocket 的底层实现原理

相较于传统的 HTTP 协议,WebSocket 摒弃了频繁的请求 - 响应模式带来的高昂开销和显著延迟,通过在单个持久的 TCP 连接上进行高效的数据交换,为实时通信应用赋予了全新的活力。WebSocket 的底层实现原理融合了众多先进的网络技术和设计理念,从 TCP 连接的坚实基础到数据帧的精心构造、传输控制和错误处理,每个环节都体现了对高效、可靠和安全实时通信的不懈追求。滑动窗口机制则动态调整发送方的发送速率,根据网络拥塞状况和接收方的处理能力,实现流量控制和拥塞避免,保障数据传输的稳定性和高效性。

2024-08-30 14:39:05 1473

原创 深入探究 Netty 中的零拷贝技术

例如,在金融交易领域,毫秒级的响应时间决定着交易的成败。在电商平台的促销活动中,每秒数百万次的请求需要被迅速处理,Netty 的零拷贝技术使得服务器能够高效应对巨大的流量压力,为用户提供流畅的购物体验。例如,在某视频流媒体平台的服务器端,采用 Netty 的零拷贝技术进行大视频文件的传输,有效提升了用户的视频加载速度,减少了缓冲时间,极大地改善了用户体验。以某知名电商平台的秒杀活动为例,在活动高峰期,每秒有数百万次的请求,通过 Netty 的零拷贝技术,成功应对了巨大的流量冲击,确保了系统的稳定运行。

2024-08-27 21:34:28 1143 2

原创 【网络编程】同步和异步与阻塞和非阻塞的区别

在网络编程中,同步与异步、阻塞与非阻塞是两组不同但又相关的概念。

2024-08-26 10:56:29 796 2

原创 深入理解缓存穿透、缓存击穿、缓存雪崩

本文将深入探讨这三种情况的概念、原因以及解决方案。缓存击穿是指一个非常热点的数据,在缓存过期的一瞬间,同时有大量的请求来访问这个数据,由于缓存中没有该数据,这些请求都会落到数据库上,从而导致数据库压力瞬间增大。缓存雪崩是指在某一时刻,缓存中大量的数据同时过期,或者缓存服务出现故障,导致所有的请求都落到数据库上,从而使数据库压力瞬间增大,甚至可能导致数据库崩溃。缓存穿透是指查询一个一定不存在的数据,由于缓存中没有该数据,所有的请求都会落到数据库上,从而导致数据库压力过大,甚至可能使数据库崩溃。

2024-08-26 07:59:49 917

原创 【AI写小说】使用AI写小说的一些体会

大家好,我是马丁,我前两天在使用Dify构建写小说的AI应用,一个演示版本我已经公开了。地址是http://AI写小说-演示版因为使用的是自己的主机,不是云服务器,偶尔的情况可能会出现网络不稳定的情况,耐心等下就行了。感兴趣的可以自己尝试下,如果想在自己的dify平台上运行、修改,在文末有DSL配置,导入即可。点进去的界面栈这样:我还是先说下,这玩意怎么用吧,小说类型可以填写多个,比如玄幻、悬疑、爱情,故事元素你可以随便写,比如爱情、高智商、犯罪、德玛西亚等;

2024-08-25 15:25:37 4554 1

春松客服使用文档2022版本

春松客服使用文档2022版本

2024-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除