Easter79 Easter79
4年前
systemtap脚本实现的NAT端口转换
这会儿不是工作日,这会儿是周六。systemtap就是一个kprobe的DSL,本质上完成的是同一类工作,kprobe用起来比较麻烦,还要自己编写编译内核模块,相比而言,stap就方便很多。既然kprobe可以修改内核结构体的内容,那么也就可以修改网络数据包咯,前面的文章描述了如何迷惑程序员的抓包行为,本文展示一下如何实现一个NAT端口转换逻辑,
爱丽丝13 爱丽丝13
4年前
TypeScript 4.2 有哪些新特性
TypeScript4.2发布了!对于不熟悉TypeScript的人来说,TypeScript就是增加了静态类型和类型检查的JavaScript。有了类型限制,你就可以精确的表达你的函数需要什么类型的参数以及返回什么类型的结果。同时,利用TypeScript的类型检查,你可以很容易避免一些常见错误,例如拼写错误或者忘记处理null和un
Stella981 Stella981
4年前
JavaScript的深拷贝和浅拷贝
一、数据类型数据分为基本数据类型(String,Number,Boolean,Null,Undefined,Symbol)和对象数据类型。、1.基本数据类型的特点:直接存储在栈(stack)中的数据2.引用数据类型的特点:存储的是该对象在栈中引用,真实的数据放在堆内存里。引用数据类型在栈中存储了指针,该指针指向堆中该实
Wesley13 Wesley13
4年前
JSON的使用
一.json常用转换方法1.listListlistnewArrayList();list.add("first");list.add("second");JSONArrayjsonArray2JSONArray.fromObject(list);
Wesley13 Wesley13
4年前
Java泛型的使用
泛型的定义:泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。泛型的引入背景:集合容器类在设计阶段或声明阶段不能确定这个容器到底实际存储的是什么类型的对象
Wesley13 Wesley13
4年前
Android View转换成图片保存
packagezhangphil.viewtoimage;importjava.io.File;importjava.io.FileOutputStream;importandroid.os.Bundle;importandroid.os.Environment;impo
Wesley13 Wesley13
4年前
HEX和ASCII的相互转换
defineCHAR\_TO\_UPPER(ch)  ((ch'a'&&ch<'z')?(ch0x20):ch)/\\ \@briefasciiconverthex \@parparam\in\\hex:hexdata \@parparam\in\\ascii:
Stella981 Stella981
4年前
C#中有关数组和string引用类型或值类型的判断
直接来一段测试代码classvalue_ref_type{publicstaticvoidDEMO1(){doublelocationnewdouble2{1.256589,489789};
Wesley13 Wesley13
4年前
Go 语言初级教程之六[基本类型]
基本类型像C语言一样,Go提供了一系列的基本类型,常见的布尔,整数和浮点数类型都具备。它有一个Unicode的字符串类型和数组类型。同时该语言还引入了两种新的类型:slice和map。数组和切片Go语言当中的数组不是像C语言那样动态的。它们的大小是类型的一部分,在编译时就决定了。数组的索引还是使用的熟悉的
Stella981 Stella981
4年前
Protobuf 语法指南
一、定义一个消息类型    1.1指定字段类型    1.2分配标识号    1.3指定字段规则    1.4添加更多消息类型    1.6从.proto文件生成了什么?    1.7标量数值类型    1.8Optional的字段和默认值    1.9枚举二、使用其他消息类型