自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

maplele

踏实的走好自己的每一步

  • 博客(60)
  • 资源 (11)
  • 收藏
  • 关注

原创 ubuntu 14.04(64位)下安装android studio

1. 安装64/32位兼容包具体安装方法请见ubuntu14.04(64位)运行32位程序2. 安装jdk这里我们直接使用的是openjdk,然后配置环境变量 sudo apt-get install openjdk-7-jdk sudo gedit ~/.bashrc在文件末尾,加入如下环境变量 export JAVA_HOME=/usr/lib

2015-10-09 12:42:04 893

原创 Universal image loader遇到OOM

Universal image loader应该不用介绍了,大家应该都很熟悉了,但是近来在使用时候遇到了OOM,调用栈如下:07-24 13:01:24.876 31362 31362 E AndroidRuntime: java.lang.OutOfMemoryError07-24 13:01:24.876 31362 31362 E AndroidRuntime: at android

2015-07-24 13:16:00 4389 1

原创 kpush部署过程中遇到的问题

按照kpush部署文档 中的操作部署过程中,发现文档中没有mongodb的安装及设置的操作,导致完全按照文档部署会发现无法启动服务的错误,现记录下来:1. 安装mongodb:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10echo 'deb http://downloads-distro

2015-05-28 15:07:01 1074

原创 kpush源码解析---服务端(alloc server)

继续上篇已经分析了android端代码,本篇将主要分析kpush服务端如何为连接的客户端分配用户信息,并为其分配tcp server。上文中提到客户端的pushservice中会通过http post请求http://demo.kpush.cn/server/alloc,以获取用户及消息服务器ip/port信息。那么我们接下来看看kpush服务端关于该流程的相关代码。    如果想找到相关

2015-05-14 18:02:49 773

原创 kpush源码解析---android端

最近看到了一个开源的push项目:kpush,整个项目包含了客户端和服务端的源码,强烈推荐下。决定分析下该项目的源码,学习下作者的解决方案。android端源码比较简单,我们就从简单的入手,本篇详细分析下android端的源码。1. 目录结构我们来看下android工程的目录结构KPushDemo----src--------cn.kpush--------cn.k

2015-05-13 18:20:30 1315

原创 豆瓣搜索—微信公共平台查询功能

该篇将主要介绍通过豆瓣api查询书籍相关信息,并组装成微信的图文信息发动到微信客户端。首先我们需要通过豆瓣书籍api,查询到书籍的相关信息#!/bin/env python# -*- coding: utf-8 -*-import urllib, urllib2, jsonfrom config import DOUBAN_APIKEY# 访问豆瓣API获取书籍数据BOOK_

2015-05-06 16:39:13 1098 2

原创 豆瓣搜索—微信公共平台接入(wechatpy)

上篇文章介绍了如何对接微信公共平台,但是里面的校验代码是我们自己实现的。但是目前我们有了更好的选择----wechatpy。微信(WeChat) 公众平台第三方 Python SDK,实现了普通公众平台和企业号公众平台的解析消息、生成回复和主动调用等 API。详情请看http://wechatpy.readthedocs.org/en/latest/里面的介绍。wechatpy里面已经封装

2015-05-05 17:39:46 2842

原创 豆瓣搜索—微信公共平台接入

本篇主要介绍如何把自己的服务器接入到微信公共平台,服务器端使用python+flask开发,并部署到sinaapp服务器上。上篇中提到过在接入配置中主要有三个内容需要填写,URL/Token/域名。URL就是要接入的服务器微信消息处理地址,Token可以是自己定义的一个字符串,用于校验。接下来我们主要实现用于接入校验用的接口。首先需要实现flask appfrom flask im

2015-05-05 15:56:50 946

原创 豆瓣搜索—微信公共平台测试帐号申请

最近稍微有些时间,打算折腾下python微信公共平台开发,豆瓣书籍基本功能是输入需要查询的书籍名称,然后会返回从豆瓣上查询到的该书籍相关的信息。首先本篇主要说一下如何申请公共平台测试帐号,由于个人帐号会有限制,所以可以通过申请测试帐号来进行一些开发,不过该测试帐号的有效期只有一年,但是对于我这种只是玩玩的已经足够了。1. 打开http://mp.weixin.qq.com/debug/cg

2015-05-05 14:24:48 942

原创 android利用wireshark抓包

android下对网络包的抓取可以用wireshark,具体操作如下:1. 下载rpcap,并编译成目标机版本,push到某一路径下,并以后台进程执行./rpcapd -nd2. 运行pc端的wireshark,并连接到目标机

2015-05-04 11:58:07 3062

原创 gloox移植到android平台

最近需要在android平台是使用gloox,官方gloox没有没有对应的Android.mk文件,那当然也可以用android ndk来编译,但是我觉得用ndk编译有点麻烦,就写一个Android.mk来使用mm编译。首先,进入src目录,configure该项目:./configure --host=arm-linux CC=arm-none-eabi-gcc然后,打开

2015-05-04 11:58:06 1595

原创 android下查看内存阀值限制

android下查看内存阀值方法为:?121|root@android:/# cat /sys/module/lowmemorykiller/parameters/minfree7469,9396,11324,13372,15299,19034可以看到7469等数字,那具体代表多

2015-05-04 11:54:00 2978

原创 surfaceview already connect错误

最近在做android视频播放器,可以进行软解和硬解进行切换,但是遇到一个令我头痛的问题,硬解模式却换到软解模式可以正常播放,有声音有图像,但是当从软解模式切换到硬解模式的时候,却出现只有声音没有图像的现象。尝试了很多办法也没有解决,后来仔细分析下log发现有一句错误打印:surfaceview already connect[cur=2, req=3]。        经过查资料发现是s

2015-05-04 11:52:14 2355 1

原创 ubuntu14.04(64位)运行32位程序

ubuntu14.04出来有段时间了,今天心血来潮把12.04版本升级到了14.04版本,升级后悲剧了,32位的程序运行不起来了。各种百度google,查到最多的是?12345678sudo-icd/etc/apt/sources.list.decho

2015-05-04 11:43:00 3215

原创 阿里云ECS上环境搭建(virtualenv+flask+gunicorn+supervisor+nginx)

阿里云ECS目前有新用户免费半年使用的活动,就利用闲暇时间申请了一台,具体申请可到http://free.aliyun.com/?spm=5176.383518.1.28.OXp5YZ。我选择的配置是:CPU:  1核内存:  1GB数据盘:  0G 操作系统:  Ubuntu 12.04 64位当前使用带宽: 0Mbps当然由于是免费的,所以带宽是0Mbps,这样

2015-05-04 11:39:58 8528 1

原创 android上播放按键声音方法

在自定义控件时,有时候需要针对用户的操作播放一些声音,一般这些声音格式都是ogg/mp3等格式,目前发现有三种方法来进行播放。1. 使用playSoundEffect函数进行播放系统内置声音,比如:?1playSoundEffect(SoundEffectConstants.NAVIGATION_LEFT); //播放向左导航

2015-05-04 11:39:50 4690

原创 The specified system/compiler is not supported

在编译mips版本的qt4.8时遇到一个编译错误,让我百思不得其解:错误提示是:The specified system/compiler is not supported按照字面意思是不支持交叉编译工具,但是这个是不可能的,而且在configure时也指定了-xplatform qws/linux-mips-g++,而且指定的mkspecs的相对路径也是对的,很纳闷。我就export,看

2012-12-20 13:44:38 4137

原创 vlc发送组播数据

vlc既是一个播放器,又可以成为一个流媒体服务器。最近需要做udp组播播放相关的东西,需要先在本地搭建一个udp组播服务器,因为机器上本来就装有vlc,所以就用它了。第一步,设置一个视频源,点击媒体->流,点击添加,并选中一个视频文件。    第二步,点击串流,弹出对话框,选择目标设置栏,新目标框中选UDP,档案框中选择Video-H.264+MP3(ts)。第三步,点击添

2012-09-21 10:43:38 16811 4

原创 live555 --- vs2010编译

最近想研究下live555,在ubuntu下编译并运行,虽然有cgdb可以进行源码调试,但总感觉调试时不够直观和简便,于是想在vs2010下编译。    从http://live555sourcecontrol.googlecode.com/svn/trunk把代码checkout出来可以看到该项目主要有六个文件夹        其中BasicUsageEnvironment、grou

2012-07-25 18:11:57 5746 3

原创 仿照windows的loader实现的pe-loader

    本人接触pe文件格式不久,参考网上的一些资料写了一个pe loader,主要是通过把需要加载的文件的所所有section加载到相应的RVA上,然后进行重定位处理、导入表和导出表处理、资源段处理。由于本loader.exe会被加载到0x0f400000处,因此可以把0x400000给被加载的文件预留了,这样可以避免重定位所带来的性能损耗。导入表的处理主要是通过调用GetProcAddress

2010-02-09 09:25:00 4916 2

转载 C++ 书籍大汇

C++ 书籍大汇C++ 书籍大汇语言基础入门:1. C++ Primer 《C++入门》(通常不用中文名)by Stanley B. Lippman有第三版和第四版,如其名,是C++入门的不二选择,是全面广泛的参考书目,内容丰富,笔触严谨。如果说Bjarne Stroustrup是C++之父的话,那么Lippman可以说是C++之母了:)晨星:适合有丰富C经验,缺乏C++经验的。不过我个人一直认为

2008-10-20 13:30:00 1625

原创 redhat环境下lighttpd+flup+web.py架设笔记

首先,理解lighttpd,flup和web.py这三者之间的关系1. lighthttpd: 功能同tomcat,做为一个请求代理(request proxy),它主要负责根据配置来把不同的请求分发到不同的server来进行处理,它也可以作为一个web server自己来处理一些静态文件请求。同时对于fastcgi等请求,它会把这些请求转发给flup这些server/gateway来进行处理

2008-10-10 09:46:00 5504

转载 c++设计模式

 C++设计模式之Adapter一、功能   将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。  二、结构图  (1)class adapter   (2)object adapter     三、实现  和其他很多模式一样,学习设计模式的重点是学习每种模式的思 想,而不应拘泥于它的某种具体结

2008-09-19 14:39:00 1696

转载 python实现最小功能的 ftp server

      最近由于要在嵌入式系统中加入一个ftp功能,于是用python研究起ftp协议来。这个就是两个星期的学习的结果,它实现了一个最小功能的 ftp server。我用这个验证了我对ftp 协议的理解,可惜的是,它最终证实我的嵌入式系统还有些其他的问题,不在ftp协议的范围内,我还得从tcp/ip协议栈里找原因:-(    要使用它你得修改ftproot的设置,我用winxp自带的ftp程序

2008-07-31 09:24:00 5898 3

转载 使用C来扩展python功能

作者: 梅劲松 出处:www.chinaunix.net 更新时间:2005-09-26 10:07 关 键 词:功能 阅读提示:本文通过实例介绍如何使用C来扩展python功能 我们来实现一个简单的加法的扩展模块,建立一个目录,整个目录名中不要包含中文。在目录下建立add.c,内容如下:代码:#include static Py

2008-07-14 12:07:00 1223

转载 关于C和Python之间通信的方法

这些天在做一个项目,前端使用python来作,便于快速开发,底层使用C来写,效率高,速度快。这样就牵扯到二者之间的通信问题。我查了相关文档,发现有以下几种解决方式: 使用标准的数据表示形式,比如xml或者xdr,然后在C和python两端都有自己的相应的库,可以对这些数据进行解释,自然就可以通信了。 在C 中定义一个结构对象,把它打包成二进制形式(python把它作为字符串

2008-07-07 14:42:00 5275 2

转载 软件在线升级设计方案及演变过程分析

软件在线升级设计方案及演变过程分析系统分析员 庞绍伟摘要:本文通过一个虚拟项目,以时间为序,描述了一个软件在线升级设计方案的演变过程,针对遇到的一些典型问题进行分析,提出了相应的解决方法,并对该方案的一些不足提出改进建议。关键字:在线升级 自动升级 升级包 类工厂 Xml  一、             前言目前,各种业务系统的应用软件,部署方式为B/S结构和C/S结构。B

2008-07-03 15:15:00 7349 1

转载 在应用中嵌入Python

在应用中嵌入Python 翻译: gashero 前面的章节讨论如何扩展Python,如何生成适合的C库等。不过还有另一种情况:通过将Python嵌入C/C++应用以扩展程序的功能。 Python嵌入实现了一些使用Python更合适的功能。这可以有很多用途,一个例子是允许用

2008-06-19 14:30:00 3454

转载 在windows下面关闭subprocess打开的子进程

A:我在windows下面使用subprocess打开了一个进程,请问如何在程序里面关闭它? 代码:import subproces process = subprocess.Popen([python.exe,-c,while 1: pass])Q:我们可以使用pywin32或者ctypes调用windows API来完成关闭它的任务。可以通过Popen对象的_handl

2008-06-19 13:34:00 4941 1

转载 补丁升级系统流程

客户端的升级程序流程大概是这样的: 1,收集本机各个模块的版本信息。 2,将版本信息发送到服务器端。 3,服务器端经过一阵子运算,得到一个 url 列表。每个 url 代表一个模块的链接。 4,客户端收到 url 列表后,一个一个下载,下载可以使用 wget 或者 Perl 的 LWP,下载下来的东西可以放到 /tmp 目录 5,下载全部完成后,对每一个模块循环调用“升级

2008-06-16 09:59:00 1671

原创 NSGA2代码分析——dominance.c

    该源文件中包含一个函数int check_dominance (individual *a, individual *b), 主要功能是比较两个个体的支配关系,该函数有三个返回值:0——两个体不可比较支配关系;1——a个体支配b;-1——b个体支配a。    两个个体的比较支配关系的方法如下:    1。如果a和b都违反约束条件:        (1).则约束值大的个体支配约束值小的个体。

2008-05-28 16:13:00 4756 5

原创 NSGA2代码分析——rank.c

    该源文件中就包含一个函数assign_rank_and_crowding_distance (population *new_pop), 主要功能是对种群new_pop里的个体进行Pareto分级排序,同时计算出每个个体的拥挤距离。    该函数的具体算法流程如下:1。初始化一个双向链表orig,含有pop_num个节点。每个节点包含三个域:索引、前续节点指针、后续节点指针。每个节点的索引

2008-05-28 15:13:00 6344 1

转载 Python模块详解

Python为开发人员提供了丰富的模块,通过这些模块,我们就可快速开发出功能强大的程序。本笔记记录我所接触或学习过的Python模块,为想学习Python的朋友提供一个参考。Table of Contents1. Python Imaging Library(PIL) 1.1. 安装 1.1.1. 下载相关软件 1.1.2. 开始安装2. Pmw(Python megawidg

2008-05-28 13:25:00 3727

原创 zipfile的重新封装

# -*- coding: utf-8 -*-import zipfile, osclass ZFile(zipfile.ZipFile):    def __init__(self, file, mode=r, compression=0):        zipfile.ZipFile.__init__(self, file, mode, compression)    def ext

2008-05-28 12:27:00 1191 2

转载 Python日期操作笔记

字符串是使用静态的方式进行存储,只能读而不能直接修改字符内容。特别将一堆对字符串并在一起的时候,虽然可以直接相加,听说这样的速度奇慢,只有用其它函数的方式进行,好在也不太麻烦。比如用 print ,.join(datelist)就可以将datelist列表里面的所有项目并成一个字符串,当然这个表达式会在每一个项目中间插入一个逗号,这种方式比用循环的方式更简洁。日期的操作必须使用

2008-05-23 15:02:00 1544

转载 Python字符集编码和文件读写

字符串编码python中默认编码是ASCII,可以通过以下方式设置和获取:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->import sysprint sys.getdefaultencoding()sys.setdefaultencoding(

2008-05-21 11:13:00 27582 2

转载 用PERL实现一个简单的NIDS

随着对网络安全需求的深入开发,基于网络的入侵检测技术已经成为一个重要且有意思的研究方向。想学习NIDS技术除了去读一些现成的资料和一些开源系统的源码,最好的办法莫过于自己去写一个NIDS程序,只有那样才能真正体会到一些NIDS的实现需求和设计妙处。 本质上说NIDS只是一种网络流量的分析工具,通过对网络流量的分析识别出一些已知或未知的攻击行为,一个最简单的NIDS完成的主要工作也就是 抓包->协

2008-05-21 09:57:00 1104

转载 Nutch爬虫工作流程及文件格式详细分析

Nutch爬虫工作流程及文件格式详细分析Nutch主要分为两个部分:爬虫crawler和查询searcher。Crawler主要用于从网络上抓取网页并为这些网页建立索引。Searcher主要利用这些索引检索用户的查找关键词来产生查找结果。两者之间的接口是索引,所以除去索引部分,两者之间的耦合度很低。 Crawler和Searcher两部分尽量分开的目的主要是为了使两部分可以分布式配

2008-05-20 13:37:00 1225

转载 Python 3000 进度报告

 Python 3000 进度报告(有点长!)新一篇: Python 3000 FAQfunction StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(

2008-05-19 13:41:00 1123

原创 系统清理脚本

看到网上有一段用语删除win系统垃圾文件的bat脚本文件,现用python模仿实现该类似的功能。# -*- coding: UTF-8 -*-import osdef gethome( ):    if os.name == nt:        if HOMEPATH in os.environ:            home = os.getenv(HOMEDRIVE)+

2008-04-28 17:47:00 1428

MDKCM525.zip.002

MDK 5.0支持4.0的补丁 MDKCM525.exe,用MDK5打开MDK4项目工程时弹出窗口:this is an MDK version 4 project requiring device support for cortex-M based devices,用此官方补丁,官方下载很慢。

2019-09-06

MDKCM525.zip.001

MDK 5.0支持4.0的补丁 MDKCM525.exe,用MDK5打开MDK4项目工程时弹出窗口:this is an MDK version 4 project requiring device support for cortex-M based devices,用此官方补丁,官方下载很慢。

2019-09-06

针对锂电池BMS的验证方案

随着新能源电动车的推广和普及、带BMS管理系统的锂离子电池得到越来越多的应用,如何 验证锂电池组BMS管理系统的有效性和可靠性是所有新能源车企所要解决的重点问题。鉴于目前在BMS 的仿真测试中无法实现电源和负载功能的连续转换,与充放电系统的实际工况相差较大,本文结合锂电 池在整车上的实际使用需求,给出一种全面验证BMS性能的可行性验证方案。

2018-11-23

锂电池管理系统 BMS 硬件保护系统架构 设计实现

锂电池管理系统 BMS 硬件保护系统架构由电池采样模组、电流检测模组、温度监控模 组、通信模组、报警模组、负载/充电器检测模组、充/放电驱动模组以及数字控制硬核构成。为 满足低功耗需求,基于集成电路工艺,采用分时控制方式,设计有限状态机对工作时序进行控 制,实现对多节电池包的快速采样及保护,有效避免各类系统故障及风险。

2018-11-23

基于UKF的磷酸铁锂电池电荷状态估算策略

电动车电池的电荷状态(SOC)准确估计是整个电池管理系统(BMS)安全充放电的基础。考虑到拓展卡尔曼 滤波算法(EKF)在对非线性系统估计SOC时存在线性近似化导致误差较大,故提出了一种无味卡尔曼滤波算法 (UKF),结合一种磷酸铁锂电池的2阶RC模型进行实验并参数辨识,对电池SOC进行了估算。

2018-11-23

锂电池组等效模型构建与SOC估算方法研究

以由 7 个单体串联的钴酸锂电池组为检测对象,搭建 BMS 系统(Battery Management System, BMS),实现对锂电池组各单体电压、电流、温度的实时监测和电池的荷电状态( State of Charge,SOC)估 算;以 STM32F103ZET6 为控制器,设计电池的电压检测电路、电流检测电路及温度检测电路等,探索并 实现了基于扩展卡尔曼(EKF)算法的荷电状态估算法。

2018-11-23

电池BMS管理系统simulink模型

BMS电池管理系统的simulink模型,提供了电池均衡和soc计算功能。

2018-11-23

windows下的pe loader源代码

参考网上的一些资料写了一个pe loader,主要是通过把需要加载的文件的所所有section加载到相应的RVA上,然后进行重定位处理、导入表和导出表处理、资源段处理。

2010-02-09

pe可执行文件的结构详细讲解图

pe可执行文件的结构详细讲解图,详细画出了每个section,资源段,代码段等信息,共学习pe格式的新手使用或是老手查询用。

2010-01-20

thinking in c++

经典的c++教材,希望对大家能有帮助

2007-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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