关闭

go语言自己实现Set

Go 语言本身是不提供 set 的,但是我们可以很方便的实现它。代码如下: package main import ( "sync" "fmt" ) type Set struct { m map[interface{}]bool sync.RWMutex } func New() *Set { return &Set{ m:map[interface{}]bool{},...
阅读(21) 评论(0)

检测文件mime类型和模糊哈希

gomagic   项目地址:https://github.com/MXi4oyu/gomagic  基于libmagic和ssdeep检测文件类型和模糊哈希 依赖: libmagic Debian或Ubuntu: apt-get install libmagic-dev RHEL,CentOS或者 Fedora:yum install file-devel ...
阅读(21) 评论(0)

分布式任务队列与任务调度系统Celery进阶——分布式爬虫

新建文件crawlertask.py,用于执行数据抓取任务,代码如下。 #coding:utf-8 from celery import Celery,platforms import requests from bs4 import BeautifulSoup app=Celery('tasks',broker='redis://localhost:6379/0') app.conf....
阅读(45) 评论(0)

分布式任务队列与任务调度系统Celery入门

Celery是基于Python的开源分布式任务队列与任务调度系统。     1.什么是任务队列呢?     任务队列是一个将任务分布到多线程或多台机器上的一种机制。一个任务队列的输入(一个任务)是一个工作单元。专用的工作者进程将会持续监控任务队列并执行其中的任务。     2.Celery快速入门     Celery的模块架构     任务代...
阅读(66) 评论(0)

学习笔记-分布式数据抓取

远程过程调用(Remote Procedure Call,RPC)是在本地调用远程方法的技术。使用RPC技术可以方便的进行分布式数据抓取。Python自带RPC模块,xmlrpc。以下实例均在Python3.5.3上测试通过。 基本思路如下:在2台阿里云服务器部署RPC服务端,文件名为rpc_server.py。这两台阿里云服务器均为具有独立公网IP的数据抓取节点。而在本机部署RPC客户端,文件...
阅读(56) 评论(0)

最新webshell大合集

收集与整理了各种webshell,以便在日后的项目中做Webshell检测训练。 https://github.com/tennc/webshell   各种webshell集合 https://github.com/ysrc/webshell-sample webshell样本 https://github.com/xl7dev/WebShell Webshe...
阅读(70) 评论(0)

开源漏洞扫描器合集

https://github.com/Canbing007/wukong-agent python redis awvs api nessus api =========================================== https://github.com/boy-hack/bugscan w8ay专属扫描器 ==============...
阅读(120) 评论(0)

Windows环境Node.JS入坑指南——环境搭建

我是2010年注册的CSDN账号,也是在2010年用坏了四个长城上网本后购买的第一个真正于可用于工作的笔记本。三星、铝镁合金的,在当时相当上档次。 给这个笔记本去了一个ID:MyPC2010。而这个ID就是我在CSDN上的用户名。当然,在安全圈,我的ID是:MXi4oyu。有人说我是“学霸”,啥都学,学傻了。因为我总在朋友圈和qq空间分享各种技术文章,视乎跨度还有点大。其实我觉得跨度不算大,因为都...
阅读(84) 评论(0)

Docker技术内幕3——Namespace的接口和使用

对Namespace的操作,主要是通过clone、setns、unshare这三个系统调用来完成的。 clone可以用来创建新的Namespace。 每个进程在procfs下都有一个ns目录,用来存放namespace相关的信息。...
阅读(88) 评论(0)

Docker技术内幕2——Cgroup的接口和使用

通过上一篇文章,我们已经了解到,Cgroup是Linux内核提供的一个特性,用于限制和隔离一组进程对系统资源的使用。 Cgroup的原生接口通过cgroupfs提供,是一种虚拟文件系统。默认被挂载到/sys/fs/cgroup目录下。 下面我们利用Cgroup特性来限制CPU的使用。 首先我们写一个消耗CPU的脚本,代码如下: #!/bin/sh x=0 while [ Tr...
阅读(82) 评论(0)

Docker技术内幕1——容器技术浅析

目前两个比较火的容器技术是LXC和Docker。 LXC的项目地址是:https://github.com/lxc/lxc Docker的项目地址是:https://github.com/moby/moby 容器技术主要包括Namespace和Cgroup这两个内核特性。 Namespace主要做访问隔离。原理是针对一类资源进行抽象,并将其封装在一起提供给一个容器使用,对于这类资源,因...
阅读(88) 评论(0)

Go语言操作PostgreSQL数据库

Go实现的支持PostgreSQL的驱动有很多,但是github.com/lib/pq是目前使用最广泛的,也是最稳定的一个Go语言实现的PostgreSQL驱动。这里,我就使用github.com/lib/pq(以下简称pq)来进行演示。 首先需要创建一个数据库表,语句如下: CREATE TABLE public."user" (     id serial NOT NULL,...
阅读(230) 评论(1)

DockerXScan——Docker镜像漏洞扫描器

最近刚学Go语言,参考clair写了一个Docker镜像漏洞扫描器。 算是熟读了clair的源码,仿造轮子吧。自己的Go语言编程练习之作。 链接地址:https://github.com/MXi4oyu/DockerXScan   感谢golang交流群里的众兄弟,没有你们的帮助,我很难在短时间内完这个项目。...
阅读(85) 评论(0)

C语言选择排序

简单选择排序是一种选择排序。 选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 简单排序处理流程 (1)从待排序序列中,找到关键字最小的元素; (2)如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换; (3)从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。 代码...
阅读(90) 评论(0)

JavaScript面向对象(2)——创建对象的工厂模式与构造函数模式

虽然Object构造函数和对象字面量都可以用来创建单个对象,但是当我们创建多个对象的时候就会产生大量的重复代码。例如: var user1={ uname:"jack", age:17, SayHello:function () { alert("Hello,my name is: "+this.uname+".I'm "+this.age+" years...
阅读(79) 评论(0)

JavaScript面向对象(1)——理解对象

面向对象的语言有一个标志,那就是class。而通过class可以创建任意多个具有相同属性和方法的对象。javascript与传统的面向对象语言(C++、Java、C#、PHP等)是不同的,它并没有类的概念,因此它的对象也与基于class的语言中的对象有所不同。...
阅读(86) 评论(0)

从零开始写Go网络通信框架(4)——全双工收发消息

经过上面三篇文章,我们已经写了一个简单的C/S框架,可以实现客户端与服务端进行发送消息。但这是一个单向通讯的。我们要想让客户端接收服务端发来的命令,并执行响应的动作,就需要写成全双工收发消息。即客户端也能接收服务端发来的指令。 下面我在客户端定义一个方法,用来接收服务端的消息。 //接收服务端发来的消息 func ReadMsg(conn net.Conn) { //存储被截断的数据...
阅读(143) 评论(0)

从零开始写Go网络通信框架(3)——对长连接的处理

我要写的这个通讯框架,主要用于监控。那么就会有多个客户端建立不关闭的长连接,这对服务端的开销是很大的。 我这里对长连接的处理方式是:Server端收到Client端发来的信息之后,开始心跳计时,在设定时间内如果收到Client发来的消息,则重置计时器,否则计时结束断开连接。 在Client端,我的处理方式是:用time.NewTicker创建一个定时器,每间隔一秒发送下当前时间到服务器。为简便...
阅读(205) 评论(0)

从零开始写Go网络通信框架(2)——自定义通讯协议

在Server和Client通讯过程中,难免有网络波动,Client有可能无法将信息一次性完整发送而采用分片传送,最终到Server端可能就是多个数据段,我们要拼接这些数据端才能最终还原成原始数据。那么问题来了,怎样才能知道分段数据中的开头和结尾呢?这时候我们就需要自定义通讯协议来解决这个问题。 参考:http://blog.csdn.net/ahlxt123/article/details/4...
阅读(159) 评论(0)

SpringBoot中使用fastjson

首先需要添加依赖: com.alibaba fastjson 1.2.15 然后配置fastjson,步骤如下: 1.启动类继承WebMvcConfigurerAdapter 2.重写configureMessageConverters 核心代码为: @O...
阅读(74) 评论(0)
43条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:360507次
    • 积分:5766
    • 等级:
    • 排名:第4626名
    • 原创:40篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2条
    博主推荐