- 浏览: 33717 次
- 性别:
- 来自: 惠州
最新评论
文章列表
Mac恢复系统:未能创建于apfs安装的预启动宗卷
- 博客分类:
- MAC
买了pro一年了,几乎不怎么用,操作上不习惯,预打算安装个Mac + Ubuntu双系统,刚使用系统自带的磁盘管理工具进行分区, Mac就不能用了,真是尴尬。使用Command + R, 格式话磁盘,选择恢复系统,直接报错未能创建于apfs安装的预启动宗卷。百度之, 没找到好的解决方案。后来直接致电Apple技术支持,才知道是格式化不干净的原因。
使用Command + Option + R+开机键,也可以先按开机, 再Command + Option + R, 出现地球后松手,此时会有十几分钟的时间,据技术支持的客服说是在下载工具。下载结束后进入到磁盘管理,选择显示->显示所有磁盘 ...
转载一篇文章, url:http://blog.csdn.net/xiemanR/article/details/72763234
平时对于代码的测试基本上都是在测试功能。如果自己想开发开源代码的话编写测试用例,测试性能还是很有必要的。
timeit
timeit.timeit()只输出一个时间,单位秒
timeit.repeat()返回一个list, 每次的时间
2.profile
profile:纯Python实现的性能测试模块,接口和cProfile一样。
>>> import profile
>>> def fun():
f ...
进程间通信,以SIG开头。
SIGHUP 1 A 终端挂起或者控制进程终止SIGINT 2 A 键盘中断(如break键被按下)SIGQUIT 3 C 键盘的退出键被按下SIGILL 4 C 非法指令SIGABRT 6 C 由abort(3)发出的退出指令SIGFPE 8 C 浮点异常SIGKILL 9 AEF Kill信号SIGSEGV 11 C 无效的内存引用SIGPIPE 13 A 管道破裂: 写一个没有读端口的管道 SIGALRM 14 A 由alarm(2)发出的信号 SIGTERM 15 A 终止信号
SIGUSR1 30,10,16 A 用户自定义信号1
SIGUSR2 ...
tornado.util.Configurable是tornado.ioloop.IOLoop的基类,使用了元类编程的方式,重写了__new__函数, 改变了其创建类的方式。在此, 只是记载一下其类的初始化调用过程。
def __new__(cls, *args, **kwargs):
base = cls.configurable_base() #这个函数必须要求在子类中实现,结合下面的代码,个人理解是在修改最终要初始化的类。如果返回值并不是当前new的类,就不必瞎折腾了。
init_kwargs = {}
if cls is base:
...
tornado小巧精悍,功能有很强,代码也很难看懂啊。好难, 哈哈哈
Future
Future是一个对象。用来保存异步操作的结果, 在异步应用中Futures被用来等待一个线程或进程池的结果 Tornado中主要是在IOLoop.add_future或在gen.coroutine中yield。
def __init__(self):
self._done = False 标志是否结束
self._result = None 保存结果
self._exc_info = None
self._log_traceback = ...
Android ninja编译报错
- 博客分类:
- ninja
Android N和O的编译中都是用了ninja编译。这种编译方式对于分析定位编译问题方便了很多。可以直接搜索FAILED关键字直接定位报错命令。编译依赖问题也可以通过查看out下的ninja文件直接分析。或者ninja -t browse --port=8000 --no-browser mytarget或ninja -t graph mytarget | dot -Tpng -ograph.png命令直接生成依赖关系图查看。也可以指定ninja文件:./prebuilts/ninja/linux-x86/ninja -f out/build-full_simba6_global.ninja ...
花了几天的时间,根据《Python数据分析与挖掘实战》画出的思维导图。
该书介绍了数据挖掘的整个过程,讲的内容也是点到为止,对于没有基础的人来说阅读起来还是有些难度。很多东西都还没有弄懂,不过也算是知道了一些理论基础知识。
python控制参数类型
- 博客分类:
- python
python的变量可以赋值成任意类型,好随意
在pyExcelerator的第三方模块中,发现了使用装饰器限制函数传入参数类型的代码,记录一下,作为以后的参考:
def accepts(*types):
#print types
def check_accepts(f):
assert len(types) == f.func_code.co_argcount
def new_f(*args, **kwds):
for (a, t) in zip(args, types):
...
第一次接触到这个问题是由于tornado。在tornado.netutil中发现将socket包装成ssl socket的函数,原来可以这样写。恩, 学识浅薄。
Socket
socket对TCP/IP协议的封装和应用, 是程序员层面的。关于协议, 推荐豆瓣阅读上的《协议森林》,很不错, 适合了解一下。
python socket:
__init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)
family是协议域, 又称协议族。 协议族决定socket的地址类型,在通信中必须采用 ...