- 博客(52)
- 资源 (16)
- 收藏
- 关注
原创 推送网页到kindle
自己做了一个微信公众号 web2kindle,用来推送网页到kindle。关键环节使用Node.js搭建web服务,响应微信请求,记录用户信息、push信息等。使用python搭建后端服务,扫描记录下的push信息,抓取网页内容他,生成mobi文件,推送到指定邮箱等。使用readability提取网页主要内容。使用亚马逊提供的kindlegen生成mobi文件。使用方式:关注微信公众号:
2016-07-01 15:36:29 2088
原创 TLV格式 及 VARINT数值压缩存储方法
最近需要使用Thrift格式进行数据序列化反序列化,遇到一些问题,所以看了下thrift的java库以及python库,学习了下thrift的存储格式,主要使用thrift的TCompactProtocol。发现该序列化方式主要使用了TLV格式式来存储每个字段,使用VARINT来表示其中的L。1. TLV 格式很简单,Type-length-value(类型-长度-值)。在一串
2015-05-30 22:29:15 2702 1
转载 SQLite的原子提交
转自 http://blog.csdn.net/LocalVar/article/details/3620555-------------------------------------------------------------------------------------------------------原文链接1. 引言像SQLITE
2014-02-13 14:36:26 1494
原创 Android SQLite的 select 操作分析
就像 《Android SQLiteStatement 编译、执行 分析》 中所说的,SQLite中所有SQL语句都需要先编译为stmt,然后执行。上述文章介绍了SQLiteStatement在android层面的编译执行。然而,类SQLiteStatement只能用以执行无返回值或者只有一行一列(1X1)的sql语句,例如INSERT ALERT 等,而像SELECT这种返回结果可能多行多列的则不适用。android对select提供了专门的执行方法rawQuery(),对其也有特殊的SQLiteQu
2014-02-10 12:20:19 16513
原创 Android SQLiteStatement 编译、执行 分析
SQLite中所有SQL语句都需要先编译为stmt,然后执行。本文分析Android SQLite 对sql语句编译为statement,并将其执行的过程。
2014-02-08 22:28:30 8966 1
原创 Android SQLite 打开、操作分析
分析Android中使用sqlite时调用的关系。SQLiteDatabase SQLiteSession SQLiteConnectionPool SQLiteConnection关系
2014-02-08 12:32:33 14619 3
原创 Android SQLite 支持嵌套事务吗?
Android SQLite相关java源码中多次提到支持 nested transaction。而SQLite本身不支持嵌套事务,只能使用 savepoint 代替。 https://www.sqlite.org/lang_savepoint.html嵌套事务即是类似于BEGIN BEGIN ......也许没有太多人会直接这样写,更多情况是,一个程序执行
2014-01-24 20:30:26 5570
原创 Android SQLite 是否开启了 shared-cache 模式?
没有默认开启并且也未提供相关控制API--------------------------------------shared-cache 模式:同一线程或同一进程对同一数据库的连接(connection)可以以共享缓存的方式呈现,实际上对于数据库只有一个连接。http://www.sqlite.org/sharedcache.html关注到这个模式是因为,在SQL
2014-01-23 22:59:42 2952
转载 ContentProvider源码分析
转自 http://blog.csdn.net/u010961631/article/details/14227421一、前言 ContentProvider作为Android四大组件之一,承担着数据存储的作用,本文用一个最典型的删除(delete)操作,按照Android源码,从应用层的getContentResolver()入手,一步步的分析到
2014-01-07 17:55:23 4029 1
原创 Python操作泄露的QQ群数据库
之前没有一点儿操作数据库的实际经验,python也没有实现过完整的程序。几乎是走一步搜一步,学到的倒也挺多,对数据库没有那么陌生了。遇到的最大问题却是编码问题……
2013-11-28 22:49:29 15585 13
转载 Sublime Text 2 C++编译运行简单配置
sublime Text 2 是一个强大的跨平台的文本编辑器。这几天都在用这个编辑器来写C++的程序。刚刚装上的时候不能编译运行啊什么的痛苦死了。编译问题 :首先你的电脑里面要有g++的编译器。怎么看有木有呢?只要打开命令控制台 输入 gcc 或者 g++ 若提示如下图所示即可。如果你没有的话就去下载一个DEV-C
2013-11-24 15:24:55 1659
原创 Python中文问题
以下皆为Python2.x中--------------------1、str与unicodes = '哈哈' #str对象u = u'哈哈' #unicode对象Python系统内部表示字符串使用unicode对象,采用默认编码。str对象,即展现出的字符串,经过了utf-8或gbk方式等编码。Windows下命令行控制台使用gbk编码,所以在控制台中s
2013-11-07 16:37:20 1085
原创 大端、小端及其判定
小端(little-endian) 机器易于处理的字节序 地址低位存储值的低位 地址高位存储值的高位 大端(big-endian) 最直观的字节序 地址低位存储值的高位 地址高位存储值的低位 说的是CPU处理数据的方式。可用C语言中的联合体union来判定当前机器的字节序,因为union是由地址低位开始分配变量的。#include int
2013-10-31 10:43:25 921
原创 Python学习简记
1、def approximate_size(size, a_kilobyte_is_1024_bytes=True):函数声明以def开头;不指定返回值(返回renturn语句中的值,或者空值);参数不必指定类型,自动追踪;调用函数时,参数顺序无关,但若某参数出现参数名,其后参数也必须出现参数名approximate_size(size=4000, a_kilobyte_is_1024_by
2013-10-30 22:52:06 1637
原创 C++学习简记
1、signed符号位为1表示负数。对unsigned类型变量赋值,若越界则取模,即使为负数。对signed越界赋值未定义。2、float类型6位小数,double至少10位。long运算代价高于int。double相对float的计算代价可以忽略,甚至比float要快的多。3、L'a'可用以表示w_chart类型。4、多行字面值 \必须是该行尾字符,后继行行首的任何空格和制表符都是字
2013-10-30 22:51:05 912
原创 C语言学习简记
1、常量表达式在编译时求值,而非在运行时求值2、数值常量、字符常量、字符串常量、枚举常量 enum moths {JAN=1, FEB, MAR, APR}3、外部变量、局部变量(静态变量、自动变量)。外部变量、静态变量未初始化自动置为0,自动变量未初始化置为无效值。const限定的值无法改变。4、习惯上把变量和函数的extern声明放在一个单独的头文件中。5、贪心法。c编译器将尽
2013-10-30 22:36:17 1073
转载 Linux的进程通信(IPC)
小米电话面试,询问linux下进程间通信的方式,竟然互斥都扯上去了,最快的通信方式也错了,特地学习进程间通信的目的数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件
2013-10-17 20:29:38 923
转载 结构体对齐问题以及强制类型转换问题总结
一、什么是对齐 现在使用的计算机中内存空间都是按照字节划分的,从理论上讲似乎对任何类型的变量的访问都可以从任何地址开始,但实际上计算机系统对于基本数据类型在内存中的存放位置都有限制。举个例子,一个变量占用n个字节,则该变量的起始地址必须能够被n整除,即存放起始地址%n = 0。各种基本数据结构类型在内存中是按照这种规则排列,而不是一个紧接着一个排列的。这就是内存对齐。
2013-10-10 21:48:04 1966
原创 Python处理大文件
要将一个4G的文本文件切分开读取文本文件大致有read() 、readline()、readlines()三种read()会将所有内容读入到一个字符串中readlines()将所有内容按行读取,返回一个列表,列表中每个元素是一个字符串,一个字符串是一行内容,所以可利用如下格式处理for line in f.readlines(): # 1 process(line)其
2013-10-03 21:23:18 13509 2
原创 Python2.x中文问题
python2.7.5明明加上# -*- coding: utf-8 -*-并且将.py保存为utf-8格式了可处理时,其中中文字符仍然乱码最终,将源文件编码改为ASCII,仍然添加utf-8的生命,好了怪了……
2013-10-03 20:58:08 1658
转载 [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
感谢面试群 S-北京-陈磊 的整理分享。基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态
2013-10-02 11:22:55 2001
转载 C++ Primer 简记
好吧懒得我转载都不愿意了直接到这儿,聊做收藏吧http://www.cnblogs.com/kingcat/category/376291.html
2013-08-25 20:10:30 1090
原创 Android程序反编译、改名、汉化
APK其实是一种压缩的格式改为.zip后解压可看到结构res资源文件夹里有各种分辨率下的图片,xml格式的布局文件等。resources.arsc含有文字显示相关的资源,主要包括strings等,即某id对应的字符串。classes.dex是java源码编译后的文件。----------------------------------------------------
2013-07-11 19:44:18 5123 1
原创 (Python学习9)Python虚拟机中的一般表达式
1、准备工作执行.py程序时,Python解释器对PyCodeObject的co_code存储的字节码进行解释执行,同时co_consts存储了常量,co_names存储了变量名称。用compile()可将.py编译为PyCodeObject,dis模块可对PyCodeObject的字节码反编译。构建工具co_dist.py:source = open('test.py').rea
2013-07-08 17:18:03 1819
原创 (Python学习8)Python虚拟机框架
1、执行环境typedef struct _frame { PyObject_VAR_HEAD struct _frame *f_back; /* previous frame, or NULL */ PyCodeObject *f_code; /* code segment */ PyObject *f_builtins; /* builtin symbol
2013-07-06 08:25:33 3975
原创 (Python学习7)Python编译结果——code对象与pyc文件
1、.Python程序执行过程与java类似,Python将.py编译为字节码,然后通过虚拟机执行。编译过程与虚拟机执行过程均在python25.dll中。Python虚拟机比java更抽象,离底层更远。编译过程不仅生成字节码,还要包含常量、变量、占用栈的空间等,Pyton中编译过程生成code对象PyCodeObject。将PyCodeObject写入二进制文件,即.pyc。
2013-07-05 20:36:41 6081
原创 (Python学习6)Small Python
其实就是《Python源码剖析中的》稍作改动与补充#include #include #include #include #include using namespace std;#define PyObject_Head \ int ob_refcnt; \struct _typeobject * ob_type;#define PyObject_Head_
2013-07-05 10:21:39 1746
原创 (Pyton学习5)Dict对象
PyDictObject即字典对象,类似于C++ STL中的map,但STL中以红黑树实现,Python中dict以hash表(散列表)实现。散列表,通过Hash函数将特定对象映射为特定数字;当装载率大于2/3时,散列冲突概率增加,解决散列冲突,STL采用开链法,而Python采用开放定址法。开放定址法法,在探测冲突链上依次跳转,如果删除探测冲突链上某个元素,会使探测冲突链断裂。故而,删除
2013-07-04 22:00:31 1966
原创 (Python学习4)List对象
1、PyListObject对象typedef struct { PyObject_VAR_HEAD PyObject **ob_item; Py_ssize_t allocated;} PyListObject;PyObject_VAR_HEAD中的obsize表示该list对象含有的元素个数,而allocated表示该list对象占用的内存空间。ob_it
2013-07-04 19:56:33 2524 2
原创 (Python学习3)字符串对象
typedef struct { PyObject_VAR_HEAD long ob_shash; // 记录该字符串对象的hash值,避免重复计算 int ob_sstate; // 对象状态,是否interned char ob_sval[1]; // 实际存储的是字符串值的指针} PyStringObject
2013-07-04 17:02:02 1579 1
原创 (Python学习2)整数对象
整数类型比较简单,定义如下(Python2.x中,在Python3.x中int与long合并)typedef struct { PyObject_HEAD long ob_ival;} PyIntObject;整数在程序执行过程中创建销毁特别频繁,Python使用整数对象池(几乎所有对象都是)来避免内存的频繁申请释放。分为小整数对象池、通用整数对象池。1、整数对象
2013-07-03 21:35:45 1597
原创 (Python学习1) Python对象初探
跟着《Python源码剖析》,一方面学习python,另一方面学习C。简单记录,以框架为主,以防忘记。------------------------------------------------------------------------------------------1、Python一切为对象,内置类型,自建类,函数,模块,甚至运行时环境……2、一切对象都
2013-07-03 19:49:16 1024
转载 C语言 文件操作
1. 需要了解的概念需要理解的知识点包括:数据流、缓冲区、文件类型、文件存取方式 1.1 数据流:指程序与数据的交互是以流的形式进行的。进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。1.2 缓冲区(Buffer):指在程序执行时,所提供的额外内存,可用来暂时存放做准备执行的数据。它的设
2013-03-27 15:54:04 1078
转载 gcc 编译多个源文件
一. 常用编译命令选项假设源程序文件名为test.c。1. 无选项编译链接用法:#gcc test.c作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。2. 选项 -o用法:#gcc test.c -o test作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名
2013-03-25 21:40:27 575
转载 Android APK反编译详解(附图)
转自 http://blog.csdn.net/sunboy_2050/article/details/6727581------------------------------------------------------------------------------------------------------------------这段时间在学A
2013-03-24 10:10:59 650
转载 代码之美——Doom3源代码赏析
背景介绍:Doom3是id Software于2004年开发的第一人称射击游戏,目前以GPL v3协议开源。其采用游戏引擎的是id Tech 4,由id Software创始人、首席程序员John Carmack领导开发。再做个简单的对比:作者刚刚完成的Dyad有193k行纯C++代码,Doom3是601k(2004),Quake3是229k(1999),Quake2是136k(199
2013-03-10 21:01:54 1103
原创 虚拟机下安装Gentoo
Linux下用VirtualBox,Win7下用VM装了两遍,都是内核装完,X Window 没有装上。最好按照官方英文版手册安装,好多地方都不同使用Mini CD,网络安装。1、账户准备passwduseradd testpasswd test/etc/init.d/sshd start 使得可以远程登录安装2、网络准备net-setup eth0
2012-11-03 20:47:48 1358
SQLite大全
2014-01-02
JAVA垃圾回收机制
2013-10-03
Weka3.5.8 数据挖掘
2012-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人