自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Devin Chen的专栏

移动开发

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 Supervisor+Celery+Redis+gevent出现missed hearbeat

一:问题描述: 使用Supervisor对celery进程进行管理,broker使用Redis,采用gevent池运行task,celery使用的版本为4.0.2,随机出现missed hearbeat worker,重启进程之后运行正常 解决办法: 1.设置心跳包检查间隔和时长,这样可以保证由于系统负载原因导致检测不准,因为检查机制是往队列里发送一条消息,worker可以收到这条消息,如果系

2017-06-30 22:18:02 2835

原创 Linux下OpenCV2.3.0编译

OpenCV编译步骤可以 参考官方文档,链接如下: http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installationan1.出现ffmpeg编译出错 解决方案: a.编译ffmpeg模块(自己尝试这种还是不成功) b.cmake的时候加上WITH_

2017-04-28 22:35:54 474

原创 ubuntu14.04LTS更新源

比较好的更新源,亲测不错,mark一下:#aliyundeb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversede

2017-04-28 22:18:51 3557

原创 uWSGI + Flask + MongoDB遇到的那些坑

1.MongoDB引入读写分离之后,重启服务时间变长,可以看到如下打印: your mercy for graceful operations on workers is 60 seconds 搜索相关资料发现可以通过设置最大超时时间来降低服务重启时间,uWSGI默认重新加载超时时间是60s,可以通过设置reload-mercy/worker-reload-mercy来改变,我们先来看看uWSG

2016-12-31 22:58:26 3262

原创 分布式锁

先假设一个场景: 服务A和服务B,他们都会共享资源C,客户端请求服务A和服务B的时候,都会修改共享资源C,如果修改共享资源C,不具有原子性,就有可能导致覆盖,因此就需要有一个同步锁,即分布式锁。实现分布式锁,目前比较好的解决方案是利用分布式一致性的基础设施(比如zookeeper, etcd)解决问题,如果是处理简单场景的分布式锁就可以利用Redis来实现,本文主要就是描述如何利用Redis实现分

2016-11-30 22:09:48 349

原创 如何保证服务可用性

从目前的实战经验来谈谈为了保证服务可用性应该考虑哪些方面(对于简单服务): 一:服务架构层面 (1)根据服务对象地区,考虑节点分布 (2)避免服务单点,至少双机 (3)防止代码之间干扰,避免稳定代码和迭代频繁代码放在一起,可以按照业务或者功能做服务分离。 (4)防止服务之前干扰,重要服务最好做隔离,单独部署 (5)防止数据库压力过大,不然,可能产生雪崩效应,可以根据业务特点做分库分表,加

2016-10-31 21:12:41 2960

原创 Redis介绍

1、Redis是什么 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。2、Redis基本功能 a):Re

2016-09-30 18:41:38 309

原创 Mongodb使用总结

1.cpu使用率很高,可以查询下索引建立是否合理,更细粒度的查看,可以使用mongotop,里面会列出每个表的读写时间,另外mongo日志里面也会打印比较耗时的操作,默认是100ms2.索引建立是有顺序区别的,查询条件无顺序区别。索引是从左往右,如果当中缺失,就利用不了索引,比如:索引顺序是a,b,c,如果查询是b,c,a缺失,不能命中索引,如果是a,b,这样会命中索引3.如果某个字段的取值范围很小

2016-08-31 18:36:06 420

翻译 MongoDB 性能

如果你的应用使用的是MongoDB,那么你就有可能需要关注它的性能问题,一般访问数据的方式,硬件,数据库连接数会引起性能问题。索引建立不合适,数据结构不合理也会限制性能,在后面会讲到这些如何影响数据库锁也有可能已经到达数据库的最大性能,需要进行扩容,对硬件升级,比如需要合适大小的内存容量。这部分可以关注内存和MMAPv1 存储引擎有时候性能问题可能只是暂时的,请求突然增加引起。这会在数据库连接数部分

2016-07-31 17:40:38 1423

原创 Python 装饰器

在不改变函数的情况下,在代码运行期间动态增加函数功能的方式,就称之为“装饰器”,装饰器其实就是一个返回函数的高价函数。比如我们定义一个能打印日志的装饰器,可以定义如下:def log(method): def wrapper(*args, **kw): print 'call %s()' % method.__name__ return method(*ar

2016-06-30 22:26:12 345

原创 端口理解

1、端口是什么 端口是面向连接服务(TCP)和无连接服务(UDP)的通信协议端口,是一种抽象的软件结构;端口是计算机软件层面与外界通讯交流的出入口。2、端口的分类 从端口的性质来分,可以分为以下三类: 1)公认端口(Well Known Ports):这类端口也常称之为”常用端口”。这类端口的端口号从0到1023,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端

2016-05-31 19:08:10 1655

原创 CocoaPods安装和使用笔记

第一步:更新gem由于系统默认的更新源无法使用,所以需要移除,添加新的源,操作指令如下:gem sources --remove https://rubygems.org/gem sources -a http://ruby.taobao.org/gem sources -lsudo gem update --system第二步:安装CocoaPodssudo

2015-09-10 17:06:35 493

转载 eclipse常用插件在线安装地址或下载地址

一,反编译插件:A、Jadclipse1、打开eclipse增加站点:http://jadclipse.sf.net/update,在线安装好JDT Decompiler 3.4.02、http://nchc.dl.sourceforge.net/sourceforge/jadclipse/net.sf.jadclipse_3.3.0.jar将            jadclipse

2013-11-04 15:58:36 13856

转载 android 动态库死机调试方法

这两种方法都不是我发明了,都是网上一些高手公共出来的调试方法,无奈找不到出处的地方了,所以就在此总结一下,以方便android下的调试:简要说明:android系统中调试Java非常容易,一般遇到错误都在logcat中打印出错时函数的调用关系,而C库中出错时只看到一些二进制信息,使用gdbserver调试环境搭建又比较复杂。方法一:下在介绍一个简单的调试库的

2013-10-31 13:29:04 519

转载 android 常见死机问题--log分析

android 常见死机问题--log分析===================================================================================================一般在平时工作中,基本上很多代码可以在eclipse+ndk进行调试,但如果需要用到具体的硬件设备,如媒体播放设备无法模拟的情况下,只能上硬件(盒子

2013-10-31 13:08:45 555

转载 Android布局的layout_weight属性

layout_weight是LinearLayouts的view布局里一个很重要的值。所有的view的layout_weight缺省值都是为0,意味着他们只在屏幕上占据它们需要显示的空间大小。activity根据这个View的比0大的layout_weight值来划分剩余的空间和其它Views定义的layout_weight也按比例进行空间的划分。例如:假设我们在水平行上有

2013-10-24 12:21:53 458

原创 Android layout_gravity和gravity区别

layout_gravity是子布局相对于在父布局中的位置。gravity是本身内容相对于自身中的位置。http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:or

2013-10-24 12:17:41 448

转载 Linux环境下NFS文件系统的简单搭建过程

◆一、概念 NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统。NFS由SUN公司开发,目前已成为文件服务的一种标准(RFC1904,RFC1813)。其最大的功能就是可以通过网络,让不同操作系统的计算机可以共享数据,所以也可以看作是一个文件服务器。NFS是除了SAMBA之外Windows与Lin

2013-10-21 17:14:08 665

转载 Android系统启动过程

首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰)  Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。启动的过程如下图所示:(图片来自网上,后面有地址)        下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结,以下学习过程中代码

2013-10-21 16:04:16 576

转载 android启动速度优化

Android 开机启动速度优化一 在开机启动中,可以借助bootchart 工具分析android的启动过程。bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程。1、UBuntu下安装bootchart工具       需要安装的工具有两个bootchart和pyb

2013-10-21 15:59:23 2381

转载 利用BLCR加快android的启动过程

利用BLCR加快android的启动过程  作者:帅文   摘要:介绍了利用blcr对android启动速度进行优化的原理、实施步骤和注意点,在虚拟机上验证获得缩短10秒以上启动时间。关键词:blcr  android  启动速度   zygote   类加载引言 随着google的android操作系统在手机、平板电脑等领域大量使用,android的启动速度慢也成为许多使

2013-10-21 15:58:17 705

转载 Android应用性能优化之绘图分析

Android应用性能优化之分析工具上一次记录了解决过度绘制的过程,这一次,想先弄清个概念性的东西,就是如何判断顺不顺畅?这东西其实最初我自己也觉得有点废话,用起来会卡就明显是不顺畅咯。但这东西就跟我很想吐槽很多应用一样,明明那么卡还放出来一样的道理。理论永远是理论,实践才是第一生产力。 因为我自己的应用也能感觉到卡顿,现在回头分析,能明白,卡顿

2013-10-21 15:57:00 3053

转载 Android 调试.so库文件

作者:徐建祥(netpirate@gmail.com)日期:2010/03/06网址:http://www.anymobile.org 调试步骤如下:1/ 将异常的地址信息存到文本文件,并存放在项目根目录;2/ 使用panic.py解析该文件;3/ 根据返回的信息(文件名;行号;方法名)调试程序。 以操作第三方的Touch input 输入法为例,过程如下:

2013-10-21 15:55:05 588

原创 解决putty登录ubuntu,提示no supported authentication methods available

用Putty登录ubuntu的时候,提示no supported authentication methods available,可以更改文件/etc/ssh/sshd_config试试,作如下更改:   PasswordAuthentication yes   PermitRootLogin yes 参考文章:http://lxsym.blog.51cto.com/1364

2012-04-26 13:40:59 13113

原创 android去掉标题和状态栏的方法

1.在程序代码中控制:this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏  this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCR

2011-10-18 10:35:58 566

原创 tslib的配置说明

tslib的config信息首先从系统的环境变量读取,从环境变量读取的参数有下面一些TSLIB_TSEVENTTYPE虽然很多文档提到了这个参数,但我在tslib 1.4的源代码里面没有找到这个参数,这个参数应该已经没有什么用了TSLIB_CONSOLEDEVICE

2011-08-23 17:51:27 2485

原创 tslib和qt在君正平台上的搭建

1.安装tsliba.下载tslib和相关工具最新tslib下载地址:https://github.com/kergoth/tslib#readme发现此地址下载的tslib比tslib1.4.tar.gz要新。sudo apt-get install autoc

2011-08-23 17:43:35 1423

转载 qt中configure参数配置说明

当进入解压好的源码包后,使用./configure –help命令,可以获得相应帮助,那我们只要选取参数部分看看-release这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。-release与上面对应,自然是调试版了

2011-08-23 16:51:26 14899 1

原创 setsocketopt getsocketopt比较全的参数说明

These socket options can be set by using setsockopt(2) and read withgetsockopt(2) with the socket level set toSOL_SOCKET for all sockets

2011-08-20 12:52:35 5749

原创 AF_NETLINK 内核与用户空间数据交换

http://blog.csdn.net/rbk_1984/article/details/4408296http://www.ibm.com/developerworks/cn/linux/l-connector/http://www.ibm.com/developer

2011-08-20 11:06:56 1861

原创 umount的使用

在很多情况下umount一个挂载点的时候,会出现device is busy的情况。此时我们可以使用umount -l 挂载点或者挂载设备名  ,此操作会使挂载设备在没有使用的情况下,才卸载。也可以使用fuser -k 挂载点或者挂载设备名, 如果有进程使用该挂载点中的文

2011-08-18 12:21:10 698

转载 git 命令集

git 命令集 -------------------------------------------------------------------------------配置-------------------------------------------

2011-08-04 11:41:45 694

原创 使用sigprocmask遇到的问题,记录下

用signal设置的信号的处理函数,在信号处理函数中,用sigporcmask阻塞本信号的发生,发现不起作用,但是把sigprocmask不放在信号处理函数中又可以使用。不知道什么原因,没办法只能用sigaction来实现了。

2011-08-03 23:11:09 550

原创 如何去掉^M

Dos格式文件到了linux 下回车符号成了^M,会造成不正常。有如下几种方便的方法处理: 1)在ftp上传的时候选择ASCII方式。大多数的ftp客户端软件都可以选择传送方式 2)在Unix/Linux下运行命令 dos2unix [文件名] 3)在windows下用Ultra

2011-07-26 09:56:57 877

原创 Linux下添加新的用户

useradd - 帐 号 建 立 或 更 新 新 使 用 者 的 资 讯语 法       useradd [-c comment] [-d home_dir]               [-e expire_date] [-f inactive_time]

2011-07-25 15:35:14 553

原创 让新添的用户能够使用sudo

编辑文件/etc/sudoers用命令打开vi /etc/sudoers打开之后,文件内容如下:# /etc/sudoers

2011-07-25 15:22:15 556

转载 彩色转灰度算法彻底学习

File:      StudyRGB2Gray.txtName:      彩色转灰度算法彻底学习Author:    zyl910Version:   V1.0Updata:    2006-5-22一、基础  对于彩色转灰度,有一个很著名的心理学公式:Gray = R*0.

2011-07-07 10:18:29 393

原创 XP访问ubuntu文件夹

安装samba:sudo apt-get install sambasudo apt-get install smbfs下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share首先创建这个文件夹mkdir /home/ray/sharechmod 777 /home/ray/share备份并编辑smb.conf允许网络用户访问sudo

2011-07-01 15:12:00 980

原创 使用putty访问ubuntu

要能够使用putty访问ubuntu,要做如下几步:1.安装ssh服务。安装方法:sudo apt-get install  ssh 2.ubuntu配置网络。要使ubuntu的ip地址和xp的ip地址在同一网段,同一网段是指ip地址和掩码与之后得到的值是一样的,这个值称为网络标识,即网络标识一样,则在同一网段。例如:ubuntu的ip地址是192.168.1.72,掩码为:255.255.255

2011-07-01 15:09:00 8231

原创 清空文件的方法

1.完全清空文件,不留任何东西,也不加任何东西cat /dev/null > filename 2.会在文件中写入"/n"echo "" > filename

2011-06-14 13:12:00 551

基于AVR单片机的电压表

关于AVR单片机电压表的设计,是用mega8做的

2008-09-26

空空如也

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

TA关注的人

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