Others
文章平均质量分 61
zhuxp1
各种打杂,各种学习
展开
-
对称加密和非对称加密的基本定义和差别
对称加密对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。具体算法有:DES,3DES,TDEA,Blowfish,RC5,IDEA。常见的有:DES,AES,3DES等等。优点:算法公开、计算量小、加密速度快、加密效率高。缺点:秘钥的管理和分发非常困难,不够安全。在数据传送前,发送方和接收方必须商定好秘钥,然后双方都必须要保存好秘...原创 2020-03-25 18:31:09 · 2158 阅读 · 1 评论 -
编写linux service并设置开机启动(Ubuntu)
编写linux service并设置开机启动(Ubuntu)1.编写自己的可执行文件,比如myservice.sh2.编写控制执行的脚本,如mytest,一定要加上可执行权限,否则会报 unrecognized service,并将mytest放到/etc/init.d中,注意开头的 10行是不能省略的,开机启动主要依靠这些头部信息,详细内容可以查看 LSBInit转载 2016-12-06 14:42:31 · 2927 阅读 · 0 评论 -
根据GPS经纬度坐标计算两点的距离算法
从google maps的脚本里扒了段代码,是用来计算两点间经纬度距离转载 2016-12-15 16:03:45 · 4621 阅读 · 0 评论 -
Git与Repo入门
Git与Repo入门版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。。。一、原始版本控制 最原始的版本控制是纯手工的版本控制:修改文件,保存文件副本。有时候偷懒省事,保存副本时命名比较随意,时间长了就不知道哪个是新的,哪个是老的了,即使知道新旧,可能也不知道每个转载 2016-12-03 11:18:51 · 423 阅读 · 0 评论 -
5个步骤给自己搭建一个简单的GIT服务器
前段时间购买了一个云服务器,想在上面自己东西。对于程序猿来讲,代码的修改记录是个非常重要的事情,自己搞个git库就理所当然,在网上搜了搜记录,参考了一下,基于我个人使用的原因,没有加入权限管理那些特性极其对应的控件。1、安装gitsudo apt-get install git-core 2、git的数据交换跟交互是基于ssh的,需要给系统配置ssh服务,通过 ps -原创 2016-12-22 14:18:25 · 33808 阅读 · 0 评论 -
Linux环境下段错误的产生原因及调试方法小结
最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。1. 段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内转载 2017-02-23 18:08:28 · 235 阅读 · 0 评论 -
Https 介绍
什么是Https HTTPS(全称:Hypertext Transfer Protocol overSecure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL Https的作用 内容加密 建立一个信息安全通道,来保证数据传输的安全;身转载 2017-03-21 10:00:33 · 502 阅读 · 0 评论 -
Android Jackson 概述
原文地址本文内容JSON 的三种方式 示例完全数据绑定(POJO)示例 “Raw”数据绑定示例 用泛型数据绑定 树模型(Tree Model)示例 流(Streaming)API 示例 流(Streaming)API 示例 2:数组 演示代码 参考资料 术语 最近写 Android APP,需要序列化和反序列化。但是遇到一些问题,于是就顺便研究了一下 Jackson转载 2017-03-14 14:27:18 · 2411 阅读 · 0 评论 -
在Android Studio中创建能调用C/C++函数的APK
这段时间开始是用纯 Java 语言开发过amazon 的 Alexa Voice Service(AVS)客户端, 后来考虑到程序的效率以及后续需要适配非anroid 平台的话,我们需要将核心应用用 C/C++ 开发,所以就涉及到了混合 Java 、C/C++ 开发 Android APK的场景, 网上找了一堆, 大家说的很多是基于老的elipse的或者android studio的,而且很多原创 2017-05-11 10:53:50 · 2559 阅读 · 1 评论 -
CMake 入门实战
原文: http://hahack.com/codes/cmake/什么是 CMakeAll problems in computer science can be solved by another level of indirection.David Wheeler你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的转载 2017-05-12 15:34:25 · 334 阅读 · 0 评论 -
Ubuntu NFS 服务器客户端配置方法
在服务器端操作如下:1、执行命令:sudo apt-get install nfs-kernel-server ;2、执行命令:mkdir /home/ubuntu/shared 建立一个nfs服务的专有的文件夹;(NFS配置完成后,WIN7访问没有问题 可是没有修改权限,在这一步骤的时候可以使用sudo chmod -R go+rwx /home/ubuntu/shared 赋予权原创 2016-12-02 15:30:50 · 2752 阅读 · 0 评论 -
Ubuntu中Samba的安装配置和使用
Samba服务在Ubuntu服务器版本中默认并没有安装。1. Samba软件包的安装使用源安装,在终端中输入如下命令:#sudo apt-get install samba#sudo apt-get install smbclient2. Samba服务器的启动、关闭和重启启动Samba服务器只需执行如下命令:#sudo /etc/i转载 2017-08-11 18:12:09 · 371 阅读 · 0 评论 -
OTA和Recovery系统升级流程介绍
本文介绍了Android原生OTA和Recovery升级过程步骤.进入升级- 1.1 正常启动和进入Recovery的区别下面给出了升级流程的简单示意图。 上图中的上下两个部分,上面一部分是正常的启动模式,下面一部分为Recovery模式。正常的启动模式是从boot.img启动系统(Main System),而recovery模式则是从reovery.img启动系转载 2017-08-29 10:03:06 · 3637 阅读 · 0 评论 -
Android OTA升级原理和流程分析(三)---Android系统的三种启动模式
转载自:http://blog.chinaunix.net/uid-22028566-id-3533851.html 以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经过的过程,并根据源码分析每一部分的工作原理。一、 系统更新update.zip包的两种方式 1. 通过上一个文档,我们知道了怎样制作转载 2017-08-29 11:33:58 · 753 阅读 · 0 评论 -
Linux 获取时间的方法
时间的头文件 #include关于时间的类型:time_t long型,表示从1970年1月1日到现在经过的秒数。structtm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_原创 2017-08-31 20:02:34 · 2510 阅读 · 0 评论 -
Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make转载 2016-09-22 21:52:05 · 531 阅读 · 0 评论 -
正值表达式
概念正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:转载 2016-08-10 17:34:39 · 1900 阅读 · 0 评论 -
Android USB Carmerea
http://blog.csdn.net/fengfeng_long/article/details/9146569http://www.eoeandroid.com/thread-252676-1-1.htmlhttp://blog.csdn.net/hclydao/article/details/30258241转载 2016-06-21 20:32:33 · 603 阅读 · 0 评论 -
Linux/Android Kconfig Makefile defconfig 和 .config关系
在进行android L-》M升级时遇到打印:Root cause is probably that a dependancy declared in Kconfig is not respectedor config was added in Kconfig but value not explicitly added to defconfig.Recommanded method Linux/Android Kconfig Makefile defconfig 和 .config关系原创 2016-04-01 14:07:19 · 4363 阅读 · 0 评论 -
linux kernel 动态输出模块调试log的方法
1. 动态输出某个函数的log: cd d/dynamic_debug echo -n 'func 函数名 +p' > control cat /proc/kmsg2. 动态输出某个文件的log: cd /sys/kernel/debug echo -n 'file 文件名.c +p' > dynamic_debug/control原创 2016-02-25 17:23:56 · 3440 阅读 · 0 评论 -
用git生成patch
1,修改代码vi drivers/bluetooth/btusb.c2,把代码添加到git管理仓库git add drivers/bluetooth/btusb.c3,提交修改git commit -m "mypatchtest"4,查看日志git log 来得到需要对比的base的hash code5,生成patchgit format-p原创 2015-12-25 18:04:09 · 427 阅读 · 0 评论 -
Linux下Gcc生成和使用静态库和动态库详解
一、基本概念1.1什么是库在windows 平台和linux 平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows 和linux 的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux 下的库。1.2库的种类linux 下的库有两种:静态库和共享库(动态库)。二者转载 2015-12-17 18:16:04 · 287 阅读 · 0 评论 -
如何使用git 生成patch
1,下载代码git clone git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6.gitcd bluetooth-next-2.62,修改代码vi drivers/bluetooth/btusb.c3,把代码添加到git管理仓库git add drivers/bluetooth/转载 2015-12-17 17:31:14 · 318 阅读 · 0 评论 -
关于HashTable,HashMap和TreeMap的几点心得
刚开始看到HashTable,HashMap和TreeMap的时候比较晕,觉得作用差不多,但是到实际运用的时候又发现有许多差别的。于是自己搜索了一些相关资料来学习,以下就是我的学习沉淀。 java为数据结构中的映射定义了一个接口java.util.Map,而HashMap Hashtable和TreeMap就是它的实现类。Map是将键映射到值的对象,一个映射不能包含重复的键;每转载 2016-04-26 13:49:13 · 258 阅读 · 0 评论 -
String和StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结。 在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对转载 2016-04-26 13:53:26 · 320 阅读 · 0 评论 -
UML类图
在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。James Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语转载 2016-04-27 15:26:11 · 456 阅读 · 0 评论 -
那两年炼就的Android内功修养
经过两年的时间,终于完成对Android系统的研究了。Android是一个博大精深的系统,老罗不敢说自己精通了(事实上最讨厌的就是说自己精通神马神马的了,或者说企业说要招聘精通神马神马的人才),但是至少可以说打通了整个Android系统,从最上面的应用层,一直到最下面的Linux内核,炼就的是一种内功修养。这篇文章和大家一起分享这两年研究Android系统的历程,以此感谢大家一直以来的支持和鼓励。转载 2016-05-05 16:43:37 · 329 阅读 · 0 评论 -
如何单独编译Android源代码中的模块
第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system转载 2016-05-05 18:16:40 · 231 阅读 · 0 评论 -
Android属性之build.prop生成过程分析
本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemPropertie转载 2016-06-11 12:36:05 · 222 阅读 · 0 评论 -
Json 介绍 以及与XML 对比
JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。基础结构JSON建构于两种结构:1. “名称/值”对的集合(A collection of name/value pairs)。不转载 2016-06-29 17:02:58 · 815 阅读 · 0 评论 -
USB-SERIAL / PL2303 工作流程
Usb_serial_proble根据设备的端点信息,创建read_urb, init_urb, write_urb, 并注册相应的回调函数( pl2303_read_bulk_callback,pl2303_write_bulk_callback_urb, pl2303_read_init_callback. ) 和transmit buffer Usb_serial_open 会间转载 2016-07-02 19:45:42 · 1125 阅读 · 0 评论 -
Android解析XML文件的方式
Android解析XML文件的方式在androd手机中处理xml数据时很常见的事情,通常在不同平台传输数据的时候,我们就可能使用xml,xml是与平台无关的特性,被广泛运用于数据通信中,那么在Android中如何解析xml文件数据呢? 通常有三种方式:DOM,SAX,PULLDOM方式来处理。DOM方式解析xml是先把xml文档都读到内存中,然后再用DOM API来访问树形转载 2016-06-20 17:40:36 · 355 阅读 · 0 评论 -
make config defconfig
1. 如果.config不存在,运行make config/menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。2. 如果.config存在,运行make config/menuconfig时的缺省设置即是当前.config的设置,若对设置进行了修改,.config将被更新。3. arch/arm/defconfig是一个缺省的配置文件,make defco原创 2016-04-01 17:59:18 · 6542 阅读 · 0 评论