02 2019 档案

Java中使用Protobuf
摘要:gradle依赖库: 0.编写.proto文件,编译生成对应Java源文件: 1.编写Java文件: 2.编译运行: 阅读全文

posted @ 2019-02-21 08:56 areful 阅读(7309) 评论(1) 推荐(0)

Android中使用GRPC
摘要:笔者所用开发环境:Win7 x64,Android Studio3.2.1,JDK1.8,Gradle 4.6 0.编写.proto文件、编译.proto生成对应Java源文件,具体步骤略(参考上一篇文章https://www.cnblogs.com/areful/p/10404506.html)。 阅读全文

posted @ 2019-02-20 10:55 areful 阅读(2450) 评论(0) 推荐(0)

Java中使用GRPC(带TLS认证)
摘要:0.编写.proto 1.编译.proto生成Java源文件: 2.生成CA根证书、服务器证书及客户端证书 3.编写Server端代码 4.编写Client端代码 5.分别运行Server、Client代码: (Server端加入运行参数:localhost 50051 D:\openssl-key 阅读全文

posted @ 2019-02-20 10:17 areful 阅读(6283) 评论(5) 推荐(0)

Java中使用GRPC
摘要:0.编写.proto文件: 1.编译.proto生成对应Java源文件: 2.编写Server端代码: 3.编写Client端代码: 4.分别运行Server、Client代码,运行截图如下: 注:官方代码Server端的ServerBuilder已过时,如用较新的GRPC库,需改成NettySer 阅读全文

posted @ 2019-02-20 08:50 areful 阅读(3815) 评论(0) 推荐(0)

Android使用XPosed复现app Crash
摘要:很久前的一篇文章了,发出来纪念一下:) 在前一篇文章中提到(https://www.cnblogs.com/areful/p/10399409.html),我们app有个因xposed软件导致的crash,本文来看看怎么使用xposed复现crash。 crash复现及代码分析 〇、 前言 在《cr 阅读全文

posted @ 2019-02-19 10:16 areful 阅读(1244) 评论(0) 推荐(0)

Android中一个有趣的crash的日志分析
摘要:很久前写的一篇文章,发出来以作纪念:) Android中一个有趣的crash的日志分析 首先看看bugly平台中异常的统计信息,表面上是一个NullPointerException: 发生异常设备统计信息如下图,有意思的是全部都是root过的机器: 接下来看跟踪日志,在最下面可以看到这样的日志,抛出 阅读全文

posted @ 2019-02-19 10:06 areful 阅读(1803) 评论(0) 推荐(1)

利用smali代码注入修改Android应用
摘要:很久前写的文档了,发出来以作纪念:) 利用smali代码注入修改Android应用 Smali介绍 简单的说,smali就是Dalvik VM内部执行的核心代码。 Dalvik是google专门为Android操作系统设计的一个虚拟机,经过深度的优化。虽然Android上的程序是使用java来开发的 阅读全文

posted @ 2019-02-19 09:58 areful 阅读(1430) 评论(0) 推荐(1)

Android反编译apk应用
摘要:很久前写的一篇文章,现在贴出来,以作纪念吧:) Android应用反编译 概述 上一篇“利用smali代码注入修改Android应用”中我们介绍了反编译Android应用,修改smali代码并重新打包。在这一篇中深入介绍一下反编译Android应用,本文重点放在如何反编译Android应用,以及将字 阅读全文

posted @ 2019-02-19 09:51 areful 阅读(272) 评论(0) 推荐(0)

Java线程间通信:使用管道
摘要:管道输入/输出流和普通的文件输入/输出流或者网络输入/输出流不同之处在于,它主要用于线程之间的数据传输,而传输的媒介为内存。 管道输入/输出流主要包括了如下4种具体实现:PipedOutputStream、PipedInputStream、PipedReader和PipedWriter,前两种面向字 阅读全文

posted @ 2019-02-18 16:12 areful 阅读(546) 评论(0) 推荐(0)

Java生产者/消费者模型
摘要:package gj.concurrent.customerproducer; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; /** * Author: areful */ public class ProducerConsumerSample { ... 阅读全文

posted @ 2019-02-18 15:19 areful 阅读(129) 评论(0) 推荐(0)

Java通过OKHttp发送https请求(忽略认证)
摘要:封装: 测试: 阅读全文

posted @ 2019-02-15 09:49 areful 阅读(11877) 评论(0) 推荐(1)

Linux驱动开发最简Sample
摘要:0.安装相应软件包(笔者使用VMWare + Ubuntu18.04.1,amd64)、内核头文件等,忽略。 1.编写驱动程序代码(hello.c): 2.编写Makefile文件: 3.编译(命令行运行make): 4.安装驱动模块: 5.卸载驱动模块: 6.查看系统日志: 输出如下: 阅读全文

posted @ 2019-02-15 08:47 areful 阅读(424) 评论(0) 推荐(0)

Java判断点在多边形内算法
摘要:package algs.boundary; /** * Author: areful * Date: 2018/8/9 */ public class Boundary { private final BoundaryPoint[] points; Boundary(BoundaryPoint[] points) { this.points = poi... 阅读全文

posted @ 2019-02-15 07:07 areful 阅读(1434) 评论(0) 推荐(0)

Java解12球称重问题
摘要:package algs; /** * Author: areful * Date: 2018/8/7 */ public class TwelveBalls { public static void main(String[] args) { for (int i = 0; i sum(a[1], a[11])) { r... 阅读全文

posted @ 2019-02-15 07:00 areful 阅读(273) 评论(0) 推荐(0)

Java解8皇后问题
摘要:package algs; /** * Author: areful * Date: 2018/8/9 */ public class Queen8 { private static final int MAX_QUEEN = 8; private int[] cols = new int[MAX_QUEEN]; private int num = 0; ... 阅读全文

posted @ 2019-02-15 06:57 areful 阅读(196) 评论(0) 推荐(0)

Java各种排序算法小结
摘要:小结几种基本排序算法:选择、插入、希尔、快排、归并、堆排序。 0.各算法都用到的父类: 1.选择排序 2.插入排序 3.希尔排序 4.快速排序 5.归并排序 6.堆排序 详见:https://algs4.cs.princeton.edu/home/ 阅读全文

posted @ 2019-02-15 06:16 areful 阅读(267) 评论(0) 推荐(0)

C++使用GRPC
摘要:0.编写.proto文件: 1.编译.proto文件,生成对应c++源文件: 2.编写 server端代码: 4.编写Client端代码: 5.分别编译、运行Server端、Client端代码。 阅读全文

posted @ 2019-02-14 23:39 areful 阅读(8836) 评论(0) 推荐(0)

Python下socket通信
摘要:Server端代码: Client端代码: 运行结果如图: 阅读全文

posted @ 2019-02-14 23:30 areful 阅读(567) 评论(0) 推荐(0)

Python解析JSON格式
摘要:Python解析具有相似JSON格式的字符串方法如下: 阅读全文

posted @ 2019-02-14 23:03 areful 阅读(1148) 评论(0) 推荐(0)

带TLS认证的Python GRPC调用
摘要:0.生成CA证书及server、client证书,参见https://github.com/grpc/grpc-java/tree/master/examples: 1.编写proto文件及生成对应python源文件,参考https://www.cnblogs.com/areful/p/103726 阅读全文

posted @ 2019-02-14 06:26 areful 阅读(3584) 评论(31) 推荐(0)

Python使用GRPC
摘要:0.安装依赖库 1.编写proto文件 2.编译生成proto对应源文件 3.编写server端代码 4.编写client端代码 5.分别运行server、client代码,运行输出如下: 阅读全文

posted @ 2019-02-14 06:11 areful 阅读(4783) 评论(0) 推荐(0)

Python使用ORM:sqlalchemy
摘要:# -*- coding: utf-8 -*- # Author: areful # needs module 'mysql-connector-python', 'sqlalchemy', running command below to install it: # pip install mysql-connector-python # pip install sqlalchemy # ... 阅读全文

posted @ 2019-02-13 14:15 areful 阅读(180) 评论(0) 推荐(0)

Python访问MySQL数据库
摘要:# -*- coding: utf-8 -*- # Author: areful # # needs module 'mysql-connector-python', running command below to install it: # pip install mysql-connector-python # # # remote connect mysql(on Ubuntu18.04... 阅读全文

posted @ 2019-02-13 14:12 areful 阅读(161) 评论(0) 推荐(0)

Python中使用RSA算法
摘要:# -*- coding: utf-8 -*- # Author: areful import base64 from Crypto import Random from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 from Crypto.PublicKey import RSA class RSACipher(object)... 阅读全文

posted @ 2019-02-13 13:36 areful 阅读(5811) 评论(0) 推荐(0)

Python发送https POST网络请求(忽略认证)
摘要:python通过https发送post请求 阅读全文

posted @ 2019-02-13 09:37 areful 阅读(6454) 评论(0) 推荐(0)

Intellij Idea开发JNI环境搭建
摘要:1.新建普通的Java项目 2.首先编写包含native方法的Java文件,后续生成.h头文件需要该Java文件的信息: 然后通过JDK的javah命令生成C/C++的头文件: 注意此命令需要“-classpath”指定Java源文件路径,作者是在与src同级的jni目录下调用此命令,因此路径为.. 阅读全文

posted @ 2019-02-13 09:03 areful 阅读(4099) 评论(0) 推荐(0)

Java使用RSA算法
摘要:RSA算法代码如下: 如果在网上传输,不能直接传byte[]类型数组,部分字节会和网络传输协议控制类字符冲突。通常都是转换一次,例如使用Base64编码发送,接收方收到后再Base64解码,这样就不会有冲突了。 以下是Base64封装: 测试代码: 阅读全文

posted @ 2019-02-13 06:57 areful 阅读(1623) 评论(0) 推荐(0)

Java使用AES算法
摘要:Java中使用AES(CBC,128位)算法加解密。一般加密后都是用一定编码格式进行传输,此处使用Base64算法进行编解码。实现及测试代码如下: AESUtil.java 测试代码: AESUtilTest.java 阅读全文

posted @ 2019-02-02 17:19 areful 阅读(4103) 评论(0) 推荐(1)

导航