自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 docker中ptrace失败的解决方法

在docker容器中使用ptrace会报Operation not permitted的错误,需要在docker run 命令中加上参数–cap-add=SYS_PTRACE

2020-09-07 14:33:48 140 0

原创 Linux下移除和添加pci设备

移除pci设备 echo 1 > /sys/bus/pci/devices/0001:01:00.0/remove 重新添加pci设备 echo 1 >/sys/bus/pci/rescan

2020-09-04 16:15:27 251 0

原创 解决media.codec: libminijail: blocked syscall:xxxx问题

在Android中使用软编码时遇到了下面的错误: E/media.codec: libminijail: blocked syscall: geteuid32 原因是Android系统使用seccomp机制限制了mediacodec执行某些系统调用,我们可以通过修改/system/etc/sec...

2020-09-04 16:11:25 132 0

原创 Git换行符问题

不同系统使用的换行符不一样,UNIX/Linux ,Mac OS使用 0x0A(LF)作为换行符,Windows 使用 0x0D0A(CRLF) 作为换行符。 在跨平台开发时,换行符发生改变,Git 会认为整个文件被修改,这就造成我们没法diff,我们可以通过配置autocrlf用于在提交和检出时...

2020-09-04 15:24:31 49 0

原创 在xorg.conf中使用BusID指定device的局限性

在xorg.conf中使用BusID指定device时,有可能出现找不到device的情况,原因是BusID格式为domain????device:function,而xorg.conf中的BusID字段格式为bus:device:function,不能指定domain 这个时候可以使用ChipI...

2020-09-04 14:46:47 67 0

原创 Linux下CPU和GPU频率调整

查看cpufreq模式 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 修改cpufreq模式 echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scali...

2020-09-04 14:11:15 223 0

原创 使用JEB调试Android App

1. 开发App 我们首先开发一个简单的App,输入123456就提示成功,否则提示失败。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle...

2020-01-02 00:55:30 575 1

原创 Java中RSAPublicKey在不同平台的差异性

最近在逆向某Android App的时候复制了里面一段Java写的RSA解密代码,把它放在Windows上执行,结果发现解密失败,刚开始以为是密文数据或者公钥数据弄错了,调试了下发现密文数据或者公钥数据都没问题,问题发生在通过公钥数据生成公钥,在Window上生成的公钥是Sun RSA publi...

2020-01-01 21:48:58 732 0

原创 简单封装UnityWebRequest

WebProvider using System; using System.Collections; using UnityEngine; using UnityEngine.Networking; using Newtonsoft.Json; public class WebProvider...

2019-12-31 18:45:29 151 0

原创 使用compileOnly依赖jar包,却仍然参与打包的问题

1.删除implementation fileTree(dir: ‘libs’, include: [’*.jar’]) 2.使用compileOnly引入编译时需要但不打包的jar

2019-12-30 17:34:45 811 0

原创 解决Unity导入aar或jar出现的Program type already present: com.xx.BuildConfig问题

原因:当Unity导入的aar或jar包名和项目包名一样的话,BuildConfig会出现冲突。 解决方法:在aar/jar的build.gradle中添加下面的代码禁止生成BuildConfig即可。 afterEvaluate { generateReleaseBuildConfig....

2019-12-30 17:29:47 1644 1

原创 在Linux上部署程序

nohup & 程序在Linux上运行时,如果关闭session,程序会因为收到SIGHUP信号结束,使用nohup可以免疫该信号。如果使用Ctrl+C,程序会因为收到SIGINT信号结束,使用&可以免疫该信号。 nohup和&常常一起使用,这个时候会同时免疫SIGHUP和...

2019-12-29 21:09:59 123 0

原创 Golang学习笔记-测试

Go的标准库提供了几个与测试有关的库,其中最主要的是testing包,testing包需要与go test命令以及源代码中所有以_test.go后缀结尾的测试文件一同使用,一般测试文件的名字都会与被测试源码文件的名字相对应,例如main.go的测试文件名为mian_test.go。 功能测试 为了...

2019-12-29 13:49:21 62 0

原创 Golang学习笔记-Context

有时候一个功能可能涉及多个goroutine的调用,当该功能中途需要取消时,需要通知其它goroutine,这个时候Context就可以派上用场了,Context主要用来处理退出通知以及上下文数据传递问题。 Context之间被设计为父子关系,要创建Context,首先要创建根节点,通常是cont...

2019-12-27 23:06:09 45 0

原创 Golang学习笔记-定时器

Timer 使用time.NewTimer()创建Timer后,经过其指定的时间后,它会向其管道发送当前时间。time.After()也是创建Timer,不过返回值不是Timer而是其管道。 package main import ( "fmt" "sync&q...

2019-12-27 01:04:43 39 0

原创 使用Gson解析含有动态key的Json

使用Gson解析Json时,有时候会遇到key不是固定的情况,这个时候可以把它当做是一个Map。 { "students":{ "101":{ "name":"xiao hong&...

2019-12-25 22:32:23 446 1

原创 Unity接入友盟遇到的坑

现象:一切正常,但后台无数据,查看日志没有发现send log:succeed。 原因:只添加了android.permission.INTERNET权限,没有添加android.permission.ACCESS_NETWORK_STATE,android.permission.ACCESS_W...

2019-12-25 14:56:41 266 0

原创 Golang学习笔记-反射

反射让我们可以在运行时获取对象的类型信息,比如查看一个结构体有多少字段,查看函数的入参类型和返回值类型等。 Go提供了reflect.TypeOf()和reflect.ValueOf获取任意对象的reflect.Value和reflect.Type,其中reflect.Type是一个接口类型,该接...

2019-12-18 23:50:30 72 0

原创 Golang学习笔记-sync

Mutex sync.Mutex为互斥锁,同一时间只能有一个goroutine获得互斥锁。 使用Lock()加锁,Unlock()解锁,加锁前不能解锁,加锁后不能继续加锁。 已经锁定的 Mutex 并不与特定的 goroutine 相关联,可以利用一个 goroutine 对其加锁,再利用其他 ...

2019-12-17 23:24:26 50 0

原创 数学学习笔记-三角函数

圆的一周的弧度数为2π,360°角=2π弧度,1°为π/180弧度。 在下面的直角三角形中,角A的对边为正对着的那个边a,角A的邻边为另外一条直角边b,角A的斜边为斜边c。 ​​​​ 其中 正弦sin(A)=对边/斜边 余弦cos(A)=邻边/斜边 正切tan(A)=对边/邻边 正割cs...

2019-12-15 22:27:59 170 0

原创 数学学习笔记-函数

函数是将一个对象转换为另外一个对象的规则,例如f(x)=x2f(x)=x^2f(x)=x2,其中x的取值被称为输入,结果被称为输出。所有输入来自称为定义域的集合,所有输出来自称为上域的集合。 假设现在有两个函数fff,ggg,这两个函数的规则一样,且函数ggg的定义域小于fff的定义域,我们可以说...

2019-12-15 22:09:28 50 0

原创 Golang学习笔记-zerolog

zerolog是一个高性能,支持日志等级,钩子的结构化日志库。log的Print()和Printf()方法默认输出到os.Stderr,默认日志等级为debug,用法和官方log库相同。 package main import ( "github.com/rs/zerolog&quo...

2019-12-15 17:36:32 394 0

原创 Golang学习笔记-flag

使用flag包可以用来解析命令行参数,flag.TypeVar()用于定义参数并绑定到指定变量,flag.Type()用于定义参数并将参数绑定到返回的指针,定义时可以指定参数名称,默认值,使用说明。定义完参数后调用flag.Parse()进行解析,flag.PrintDefaults()用于打印所...

2019-12-15 00:10:56 50 0

原创 Golang学习笔记-go mod

环境变量设置 环境变量GO111MODULE可设置三种值:on,off,auto,off表示使用GOPATH模式,on表示开启模块支持,根据go.mod下载和查找依赖,auto(默认值)表示根据当前目录启用或禁用模块支持,仅当当前目录位于$GOPATH/src之外并且其本身包含go.mod文件或位...

2019-10-05 21:26:00 66 0

原创 帧同步手游设计要点总结

通信协议的选择 由于tcp在网络不稳定时延迟严重,所以我们需要udp通信。由于udp的不可靠的特点,前期我们可以使用 使用别人封装好的可靠的udp协议,例如使用很广的kcp协议。如果发现kcp仍然不能满足我们的实时性要求,我们可以直接使用udp协议,自己控制丢包,乱序问题,例如每次发包都带上前...

2019-10-05 19:46:55 111 0

原创 正交相机与透视相机的区别

正交,三只羊一样大 透视,三只羊大小不一样

2019-10-05 19:45:07 1672 0

原创 内存对齐的作用

为什么需要对齐 CPU读取内存粒度一般是2,4,8,16字节,当CPU读取非对齐内存时,有可能需要两次访问,而对齐内存只需要一次。 假设下面的结构体是按1字节对齐,CPU读取内存粒度为4,那么当访问数据成员c时,CPU需要先读取前4个字节的内容,然后再读取后4字节的内容。 struct TestS...

2019-10-04 22:11:06 102 0

原创 C++ shared_mutex

C++ sharedmutex

2019-10-04 16:28:19 4009 0

原创 Python学习笔记-函数

Python中函数以def关键词开头,后接函数标识符名称,圆括号括起来的参数列表,冒号。函数体内的return如果不带表达式或者没有return相当于返回None。函数体最前面可以使用字符串描述函数功能。 def add(n1,n2): "这是一个加法函数" r...

2019-09-16 22:22:59 46 0

原创 Python学习笔记-迭代器与生成器

迭代器时访问集合元素的一种方式,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问,迭代器只能往前不会后退。 list=[1,2,3,4] it=iter(list) print(next(it)) # 1 print(next(it)) # 2 通过迭代器对象遍历: list=[1,...

2019-09-15 15:24:46 50 0

原创 Python学习笔记-条件语句,循环语句

if语句 Python中没有switch语句,条件语句只能用if: value=100 if value>90: print("A") elif value>80: print("B") elif value>60: ...

2019-09-12 16:00:00 64 0

原创 Python学习笔记-集合和字典

Python一共有六个基本数据类型,其中不可变类型有三种:Number(数字),String(字符串),Tuple(元组),可变数据类型有三种:List(列表),Dictionary(字典),Set(集合)。 数字 Python支持整型(Int),浮点型(float) ,复数(complex),T...

2019-09-11 17:35:01 90 0

原创 Python学习笔记-列表和元组

列表写在方括号里,元素之间用逗号隔开,列表中元素的类型可以不相同。和其它序列一样(字符串,元组),列表可以索引,切片,加,乘,检查成员。 value=["hello",1024,3.14,True] print(value)#['hello', 1024, ...

2019-09-11 16:59:53 66 0

原创 Git学习笔记-分支

Git学习笔记-分支

2019-09-11 16:20:05 83 0

原创 Git学习笔记-标签

Git学习笔记-标签

2019-09-10 18:18:13 79 0

原创 Python学习笔记-字符串

在Python中,字符串用单引号或双引号括起来,同时使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。 print("hello world") print('hello world\n') print(...

2019-09-10 17:41:12 40 0

原创 Python学习笔记-数字

Python支持整型(Int),浮点型(float) ,复数(complex),True 和 False 定义成关键字了,它们的值是 1 和 0,可以和数字相加。Python中的整型不限制大小。复数由实数部分和虚数部分构成,可以用a + bj或complex(a,b)表示, 复数的实部a和虚部b都...

2019-09-10 17:33:47 78 0

原创 Git学习笔记-基础操作

获取Git仓库 你可以使用git init新建Git仓库对现有项目进行管理,或者使用git clone克隆一个已存在的Git仓库,克隆时可以自定义本地仓库的名字。 git init git add *.c $ git clone https://github.com/xiongya000/And...

2019-09-10 11:06:05 76 0

原创 Git学习笔记-基础知识

git的使用

2019-09-09 16:32:17 53 0

原创 Python学习笔记-基础知识

注释 Python中单行注释以#开头,多行注释可以用多个#号,或者三个单引号或双引号。 #我是注释 #我也是注释 """ 我也是注释 """ ''' 我也是注释 ''' 行与缩...

2019-09-09 14:47:29 59 0

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