自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 golang cli 构建工具-cobra

将cobra下载完成后,GOPATH/bin目录会生成一个cobra可执行程序,通过这个程序我们可以初始化一个cobra代码框架。go run main.go -a 12 -n ww => cobratest [] ww 12 // 主命令。go run main.go test => test called // 子命令test。初始化一个demo工程。

2023-06-15 19:53:37 141

原创 golang etcd实现服务注册与发现

etcd 是一个高可用的 Key/Value 存储系统,主要用于配置管理监控以及服务注册与发现。

2023-06-14 16:21:38 343

原创 golang type func魔法

【代码】golang type func魔法。

2023-06-06 19:45:06 148

原创 golang http请求底层逻辑

golang http请求底层逻辑主要位于 net/http/transport.go 文件,roundTrip是发起http请求和处理http响应的主体方法。

2023-05-30 19:39:12 89

原创 修改xutils框架以支持fragment

好像xutils框架目前还不支持fragment的反射,看了下,比较好改,主要修改ViewFinder。

2014-12-20 19:29:00 7247 5

原创 python处理mysql中文字符长度

1、python文件头:# -*- coding: utf-8 -*- 2、mysql字段类型:utf8_general_ci,这个时候一个汉字长度为13、为保持通mysql一致,python代码中使用unicode字符串来判断含中文字符长度:     len(u"ddd我的") 或者 len(u"ddd我的".decode('utf-8'))

2014-12-06 11:21:56 1315

原创 android调试:代码中打印内存信息

一、java代码的方式:    public void printMemoryInfo() {        String tag = "APPActivity";        final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);      

2014-11-03 22:50:40 1966

原创 iOS推送现在只支持TLS了

苹果官方公告:https://developer.apple.com/news/?id=10222014a,

2014-10-28 20:07:43 1073

转载 Cocos2d-x 3.0 内存管理机制

在C++中,动态内存分配是一把双刃剑,一方面,直接访问内存地址提高了应用程序的性能,与使用内存的灵活性;另一方面,由于程序没有正确地分配与释放造成的例如野指针,重复释放,内存泄漏等问题又严重影响着应用程序的稳定性。人们尝试着不同的方案去避免这个问题,比较常用的如智能指针,自动垃圾回收等,这些要么影响了应用程序的性能,要么仍然需要依赖于开发者注意一些规则,要么给开发者带来了另外一些很丑陋的用法(

2014-10-16 10:42:27 7480 2

转载 Cocos2d-x 3.0 主线程

在游戏开发中,对游戏对象模型设计并行系统往往是很困难的。一方面,游戏对象之间会存在大量的相互依赖,游戏对象也可能和多个引擎子系统所产生的数据相互依赖。另一方面,游戏对象会与其他游戏对象交流,有时候在更新循环中会多次交流,而交流的模式是不可预期且受玩家输入影响的。这使得游戏对象在多线程中更新变得困难。虽然,理论上可以设计一些架构来支持并行更新游戏对象。但是从开发者的易用性等角度,大多数游

2014-10-16 10:40:40 4405

转载 Cocos2d-x 3.0 数据结构

基础数据结构在游戏开发中至关重要,可能每一帧某个逻辑需要从一个数组中查找,删除,添加数据,或者从一个字典中快速存/取一个值,游戏引擎本身也要对UI树进行遍历,排序等操作。基础数据的操作速度影响着程序的性能,而基础数据的使用方法则影响着开发效率。当然我们应该尽量避免游戏中每一帧频繁的迭代和查找计算,应尽可能地将结果缓存起来。C++标准库已经提供了数组(std::vector),字典(st

2014-10-16 10:40:17 1416

转载 Cocos2d-x 3.0 事件系统

事件系统,是一个软件的核心组成部分。从小处讲它是应用程序内部各模块交互的设计模式,从大处讲,它是软件架构的组成模块。在现代软件开发中,操作系统通常通过一些预定义的事件,告知应用程序发生的一些事情如用户输入,内存不足等。然而,通常我们并不直接使用系统事件,例如一个界面可能不同区域的元素对触摸事件的理解都不一样,在某些情况下需要优先处理某些逻辑,这就需要对系统事件再包装,以应对界面复杂的元素和逻辑

2014-10-16 10:19:51 2623 1

转载 Cocos2d-x 3.0的主线程

原文:http://hielvis.com/2014/05/05/cocos2d-x-main-thread/

2014-10-16 10:10:24 286

转载 Cocos2d-x 3.0内存管理机制

原文:http://hielvis.com/2014/04/16/cocos2d-x-memory/

2014-10-16 10:07:15 172

转载 Cocos2d-x 3.0新的数据结构

原文:http://hielvis.com/2014/03/30/cocos2d-x-3-0-data-structure/基础数据结构在游戏开发中至关重要,可能每一帧某个逻辑需要从一个数组中查找,删除,添加数据,或者从一个字典中快速存/取一个值,游戏引擎本身也要对UI树进行遍历,排序等操作。基础数据的操作速度影响着程序的性能,而基础数据的使用方法则影响着开发效率。当然我们应该尽量

2014-10-16 10:06:11 209

转载 Cocos2d-x中的智能指针

至此,我们学习了Cocos2d-x内存管理的一些机制,它包含了很多概念,为了理清其中的关系,我们再将所有相关知识点进行梳理一下。Cocos2d-x中所有内存管理方式的基础是引用计数,动态分配一个Ref对象后其引用计数为1,并通过retain和release来增持和减少其引用计数。引用计数本身并不能帮助我们进行内存管理。为了正确地释放对象的内存,Cocos2d-x使用Objective-

2014-10-15 21:03:29 2701

原创 百度推送 - 低版本无法启动推送服务的解决方法

当手机里面安装了多个带有百度推送的app之后,我们希望启动其中

2014-10-12 14:34:17 4794 5

原创 百度推送在退出应用后收不到通知的问题解析

当你使用百度推送的时候,如果有多个应用,

2014-10-12 00:54:32 10018 4

原创 sys.setdefaultencoding 引发 [Bad file descriptor]解决

为了彻底解决python转码的问题,我们可能需要在程序启动的时候加上下面两句: reload(sys) sys.setdefaultencoding("utf-8") 但是如果我们以这样的方式来启动: python test.py >> test.log  那么会看到这样的错误: IOError: [Errno 9] Bad file descriptor: ''

2014-08-14 12:09:01 3782

原创 python 2.7的字符串编码问题

【如何计算汉字字符串的长度】  s=u"我的"  len(s)=2  print(s.encode('utf-8')) # utf-8环境汉字长度是以字为单位,print的时候必须编码为非unicode字符【unicode字符】“  unichr(11) # 将十进制的11转换为unicode字符 u'\0x0b',其作为dict的value调试时显示空格,作为key时显示

2014-08-13 19:44:04 10658

原创 stackless python如何给tasklet加锁

stacless本身并不支持锁机制,但是可以通过channel的send和receive方法来模拟,下面是一个简单的锁。import stacklessclass TaskLock(stackless.channel):    def __init__(self):        self._islock = False        self.tasklet =

2014-08-13 10:08:33 1419

翻译 Twisted adbapi:Twisted 关系数据库支持

【摘要】Twisted 是一个异步网络框架,不幸的是大部分数据库api实现只有阻塞式接口,twisted.enterprise.adbapi为此产生,它是DB-API 2.0 API的非阻塞接口,可以访问各种关系数据库。假定你已经了解:    Python :-)    如何写一个简单的 Twisted Server (参见 tutorial)    熟悉数据库的相

2014-08-07 18:13:27 10187 5

原创 通过gc.get_objects()检查当前运行的各对象数量

stats = []objects = gc.get_objects()objects_temp = objects[100:120]print('objects:', objects_temp)run_objects = {}run_others = {}for o in objects: if hasattr(o, '__class__'): key =

2014-08-05 20:19:40 2671

原创 ARC内存管理原则总结

1、默认strong,可选weak。strong下每次使用指针指向一个对象,等于自动调用retain(), 并对旧对象调用release(),所以设为nil等于release。      基本原则:1、只要某个对象被任一strong指针指向,那么它将不会被销毁,否则立即释放,不用等runloop结束。如果对象没有被任何strong指针指向,那么就将被销毁。所有strong指针变量不需要在dea

2014-07-31 17:05:44 4482

转载 使用Python生成器解决八皇后问题

像我这种对奇特的语言特性很热衷,对算法本身并不热衷也并不擅长的人,似乎很难去写一篇关于算法题的文章。好在我还有一个特点就是不管写了多么烂的代码都会拿出来得瑟一下,不怕被拍砖,于是便来分享一下关于使用Python中的yield来解决八皇后问题的心得。Python生成器PEP 255中详细介绍了Python Generator。简单来说它可以将一个函数当作可以迭代的对象来使用,此举真是

2014-07-28 19:03:56 3240

原创 python的接口实现zope.interface示例

python支持多继承,但是不支持接口,zope.inteface是其三方的接口实现库,大量用在twisted中

2014-07-25 15:08:10 7321

原创 redis hash数据占用内存测试

对于hash或者普通string set(其实都是hash),内存占用明显跟key的数量有莫大的关系,key对应的value长度对于内存占用影响不大r = redis.Redis(host='127.0.0.1', port=6379, db=0)for i in xrange(100000): r.hmset('score:'+str(i), {'score': '10000', 'i

2014-07-25 12:08:06 6371

原创 twisted日志源码分析

twisted日志系统提供了按照日期自动创建日志文件的功能, 不需要启动reactor也可以使用  启动日志示例代码:outpath = '/Users/.../log' outname = 'server.log' if not os.path.exists(outpath) : os.mkdir(outpath) log.FileLogObser

2014-07-24 19:09:43 2035 1

原创 mac 10.9 无法解析hosts的问题解决

由于系统的dns服务器优先于hosts,导致wu'fa

2014-07-24 17:04:54 3578

原创 多继承下函数指针强制转换所引发的诡异问题(CCNotificationCenter)

函数指针一般来说必须返回类型和参数类型一一严格对应,否则有可能导致问题。

2014-07-24 14:47:23 903

原创 基于twisted的web server框架简单原型

# -*- coding=utf-8 -*-import sys, osfrom twisted.web import server, resourcefrom twisted.internet import reactorfrom twisted.web import static, serverfrom twisted.web.client import Requestimpor

2014-07-24 14:03:27 1465

原创 在html页面中判断本地app是否安装并打开

1、编辑AndroidManifest.xml:

2014-07-24 12:43:26 47239 5

原创 用python解华为“13张扑克牌抽取题目”

刚看到这个题目,其实完全可以moni

2014-07-15 13:41:25 4926 1

原创 python多线程threading.Condition示例及解析

import threading, timeclass Seeker(threading.Thread):    def __init__(self, cond, name):        super(Seeker, self).__init__()        self.cond = cond        self.name = name    def ru

2014-07-14 20:40:44 7166 1

原创 shell和python获取内网ip地址

1、shell命令:  linux: ifconfig|grep 'inet '|grep -v '127.0'|xargs|awk -F '[ :]' '{print $3}'  mac:ifconfig|grep 'inet '|grep -v '127.0'|xargs|awk -F '[ :]' '{print $2}'

2014-07-11 11:45:47 5692

原创 stackless + twisted 编程模型

class MyTasklet():    def result(self, content):        print "html result-----" + content[0:10]        self.return_channel.send(content)    def resultError(self, content):        print

2014-07-02 14:54:23 1376

原创 编译自定义pypy解释器,独立运行pyc

众所周知,pypy执行效率要高出cpython 5~10倍,特别在网络并发方面,融合了stackless,最新基于python2.7的2.2.1版本比较稳定,完全可以用于生产环境。  不过pypy默认必须携带py文件运行,是否可以只部署pyc以便隐藏源码呢。这个官方文档已经有提到,具体的可以自己阅读 http://doc.pypy.org。  MacOsx编译自定义pypy解释器步骤:

2014-04-02 15:46:10 3805

原创 python 执行sh脚本文件

cmd = '/users/xxx/.../xx.sh' # 全路径或者./相对路径import subprocessp = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)while p.poll() == None: line = p.stdout.readli

2014-04-01 15:54:48 23508 1

百度推送4.2修改测试包

百度推送4.2修改测试包,解决非服务宿主app退出后无法收到通知的问题。

2014-10-28

空空如也

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

TA关注的人

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