当前位置: 首页 > 代码艺术
  • 深入学习Go语言标准库sync

    一、前言 最近在阅读Go Web框架echo的源码时,有看到在Echo结构体中有定义了一个sync.Pool类型的pool,处于好奇,加上之前在编写多goroutine并发程序时只使用到了sync包的WaitGroup方法。处于好奇就跟踪进去看了下sync这个包的源码。不看不知道,一看吓一跳,这个包可是非常的强大,它提供了在高并发编程时遇到的各种竞 ...

    作者:s0nnet | 发布:2018-09-17 | 分类:Go语言, 代码艺术 | 围观:4,020 次 | 标签: | 评论: 抢沙发
  • Go语言之Channels实际应用

    正如Golang社区中常说的:“不要通过共享内存来通信,要通过通信来共享内存”。在Go语言中,要传递某个数据给另一个goroutine(协程),可以把这个数据封装成一个对象,然后把这个对象的指针传入某个channel中,另外一个goroutine从这个channel中读出这个指针,并处理其指向的内存对象。Golang从语言层面保证同一个时间只有 ...

    作者:s0nnet | 发布:2018-09-04 | 分类:Go语言, 代码艺术 | 围观:3,600 次 | 标签: | 评论: 抢沙发
  • 深入理解Go语言中的方法

    Go语言中是没有类对象的,所以也就没有继承、虚函数、构造函数和析构函数、隐藏的this指针等诸多OOP方面的东西。与之相似的是结构体struct。所以 struct接收器的功能是实现go方法的方法。那么struct到底是一种怎样的存在呢? 什么是方法 Go 语言中同时有函数和方法。方法(method)就是一个包含了接受者(receiver)的 ...

    作者:s0nnet | 发布:2018-08-28 | 分类:Go语言, 代码艺术 | 围观:4,947 次 | 标签: | 评论: 抢沙发
  • 深入理解Go语言的Channels特性

    当我第一次使用Go中的通道(Channels)的时候,我误以为把Channels当作一种数据结构。我将Channels看作为队列来在goroutines之间提供同步访问。 这种概念性的误解理解使我编写了许多糟糕而复杂的并发代码。 而随着时间的推移以及对Go语言的深入理解,我逐渐关注到它的行为特性。 所以现在谈到Channels,我就会想到通信(si ...

    作者:s0nnet | 发布:2018-08-10 | 分类:Go语言, 代码艺术 | 围观:5,062 次 | 标签: | 评论: 抢沙发
  • 深入理解Reactor模式

    1. 前 言 在上篇译文《理解Reactor模式:线程模式和事件驱动模式》 中,作者讲解了多线程模式和事件驱动模式的并发网络编程,并且基于事件驱动模型,引出了Reactor这一I/O多路复用模式。但是随着笔者对Reactor模式的深入研究,发现其设计理念在许多开源的高并发网络库中都有应用。并且还有一个于是类似的Proactor模式。 ...

    作者:s0nnet | 发布:2018-08-02 | 分类:Linux系统, 代码艺术 | 围观:9,891 次 | 标签: | 评论: 抢沙发
  • 理解Reactor模式:线程模式和事件驱动模式

    本文为技术翻译,原文出自:《Understanding Reactor Pattern: Thread-Based and Event-Driven》 。 首先,什么是Reactor模式呢?译者在此想结合自身理解说说个人见解。reactor的字面的翻译是“反应器设计模式”或者说“反应堆设计模式”,这里引用一下Wikipedia上的定义:“The reactor design pattern is an event handlin ...

    作者:s0nnet | 发布:2018-07-26 | 分类:代码艺术, 网络翻译 | 围观:7,587 次 | 标签: | 评论: 抢沙发
  • powershell学习资源分享

    这段时间看了一个Windows下权限维持的开源工具组件Empire,采用powershell来对目标主机进行操作,由于是powershell,所有基本都是免杀。关于Empire,有兴趣的同学可以研究下,下面是相关学习资料: 作者博客: http://www.powershellempire.com/ GitHub链接:https://github.com/PowerShellEmpire Empire:PowerShell后 ...

    作者:s0nnet | 发布:2016-08-27 | 分类:代码艺术, 安全工具, 网络安全 | 围观:3,229 次 | 标签:, | 评论: 抢沙发
  • 简单NetCat的实现

    在之前的博文《NC入门笔记》 中简单介绍了NC的四种常见的使用技巧。在本篇博文中将用python实现NC几个常用的功能。基本实现很简单,就是建立TCP socket连接进行通信,关于python的socket编程可以看我之前的文章:《python网络编程基础》。在命令执行这块就是使用subprocess(subprocess 模块允许你大量产生新的进程,然 ...

    作者:s0nnet | 发布:2015-12-08 | 分类:Python, 代码艺术, 安全工具 | 围观:4,021 次 | 标签:, | 评论: 2条评论