C++智能指针的内存角度的分析
写这篇文章是由于有个同事问了一个问题,虽然智能指针在C++11中就已经支持了,但是一直都没怎么用所以原理有些不太清楚,这里正好学习记录一下理解shard_ptr,我们先看一个例子(这里都使用C++17编译)编译命令:g++ -std=c++1z shard_ptr.cpp#include<iostream> #include<pthread.h> #include<semaphore.h> #include<unistd.h> using namespace std; class Test{ public: int x; &nbs...May 12, 2019, 1:11 p.m.作者:zachary分类:C++阅读(596)评论(0)
HW Hackathon 作品
作品github地址:https://github.com/ShaoboFeng/huawei2017_hackathon作品视频:...Jan. 7, 2018, 2:08 p.m.作者:zachary分类:AI阅读(733)评论(0)
也来玩玩微信跳一跳小程序
安装iphone 自动化测试工具pip install facebook-wda安装libimobiledevicebrew install libimobiledevice安装WebDriverAgent确保已经安装Xcode开发工具brew install Carthagebrew install npmgit clone https://github.com/facebook/WebDriverAgent.git./Scripts/bootstrap.sh遇到问题参考https://testerhome.com/topics/7220实现截屏与点击屏幕c = wda.Client() s = c.session() def pull_screenshot(): &nb...Jan. 4, 2018, 12:32 a.m.作者:zachary分类:iOS阅读(802)评论(0)
译:在iOS和Mavericks中处理低内存条件的方式(二)
http://newosxbook.com/articles/MemoryPressure.html,译:冯绍波MemoryStatus和Jetsam 由于移动设备没有交换空间,XNU移植到iOS时,苹果遇到了一个严重的问题。与PC不同,虚拟内存可以“溢出”到外部存储中,由于闪存的限制,移动设备不太容易实现这个机制。因此,内存已经成为一个更加重要也更稀缺的资源. MemoryStatus,这个机制,最初在iOS中引入,是一个负责处理低RAM事件的内核线程。iOS认为唯一的方法就是:为使应用程序能够正常运行,系统应该Jettison(弹出)尽可能多的RAM,即使是意味着杀死其他的应用程序也要释放出内存,这就是iOS所指的jetsam,可以在XNU源代码中看到#if CONFIG_JETSAM编译选项。在OS X中,memorystatus不代表kill,表示的是那些标记为空闲退出的进程,这是...Jan. 2, 2017, 12:30 p.m.作者:zachary分类:iOS阅读(1816)评论(2)
译:在iOS和Mavericks中处理低内存条件的方式(一)
http://newosxbook.com/articles/MemoryPressure.html,译:冯绍波译者语:作者在14年写了mac os&ios的圣经,16年出了第二版,可惜国内现在买的都是14年版本的译本,所以只能从作者的网站上了解一些最新的内容了。1、关于OS X和iOS中的内存压力是虚拟内存管理的一个非常重要的方面,在我的书中已经探讨了一点。虽然在书中我提到了Jetsam 和 memorystatus,但是该机制随着时间的推移发生了重大变化,导致最近在Mavericks电脑上引入了一些非常重要的sysctl接口和系统调用。这些新的特性改变是在我为OS X和iOS开发Process Explorer 工具时遇到的,因此我在这里记录他们。并作为本书第12章的附录,当然你也可以自己阅读。你为什么要关心这个?对于物理设备来说,CPU的另一个方面就是物理内存(RAM)。RA...Dec. 31, 2016, 11:24 p.m.作者:zachary分类:iOS阅读(961)评论(0)
matplotlib与panel结合的动态图
下面的例子显示了python动态图的做法,可以适用于其他图标,例如柱状图等。#encoding=utf8 import matplotlib import wx import numpy as np matplotlib.use('WXAgg') from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.figure import Figure import threading import time class CpuInfoWindow(wx.Frame)...Feb. 22, 2018, 8:39 p.m.作者:zachary分类:python小站阅读(702)评论(0)
python 压缩模块(zipfile)
这两天分析海量的日志,需要在压缩包里搜索一些文件及字符串,手动解压搜索太慢了,所以特意学了一下python压缩的方法,不过真心的简单,两下作出了想要的效果,不说了,看代码。#encoding=utf8 import zipfile zfile = zipfile.ZipFile("test.zip","r") zfile.printdir() &n...July 29, 2016, 8:16 a.m.作者:zachary分类:python小站阅读(897)评论(0)
python drag and drop
在公司的时候想要实现一个小工具,工具的一个功能就是要获取到拖到窗体的文件路径,也就是drag and drop 功能。python实现其他的功能都没有问题,只有这个以前没有实现过,借这个机会学习一下。 实现的小插曲,公司电脑上使用的是py2.7,家里的电脑使用的是py3.0,刚才安装wxpython的时候,发现官网上没有python3.0对应的wxpython,泪奔。。。经过一番百度,google,终于找到wxpython作者已经在开始编译py3.0对应的wxpython了,只是没有在官网放出来,有需要的可以在https://wxpython.org/Phoenix/snapshot-builds/ 下载,哦也! 好了废话不说了,demo直接copy网上的,自己实现的带不回来,公司政策,import wx class My...July 15, 2016, 8:22 a.m.作者:zachary分类:python小站阅读(1021)评论(0)
SQLITE虚表
SQLite的虚表的机制虚表是一种自定义的扩展,允许用户通过代码定制表的数据结构和数据内容;对于数据库引擎,它和普通表一样,允许进行大多数的sql操作。虚表和普通表的主要不同在于以下几点:1. 其表中的数据的来源不同;对于普通表,来源于数据库的行列值;而对于虚表,来源于用户自定义的函数,可以使数据库中的数据,也可以使其他的外部数据,如:磁盘文件(csv, excel)等;2. 虚表是sqlite的一种高级特性,它的实现基于sqlite module;3. 虚表被用于连接数据库引擎和可变的数据源,分为两种:internals and externals;4. internal modules的数据来自于数据库文件本身,它的主要目的并不是做普通表不能做的,而是作为智能视图,更具扩展性的、更方便的、更快速的...Oct. 21, 2015, 11:12 p.m.作者:zachary分类:数据库阅读(1603)评论(0)
sqlite缓存机制学习
SQLITE的模块性很强,缓存模块也是一样的,SQLITE提供了多种缓存机制可以选择,默认的是Pcache1。SQLITE缓存的管理是通过Pager管理的,下面通过Pcache提供一个接口,开发者可以自己编写自己的缓存策略。默认的缓存机制比较简单,也比较常用,算法使用的是LRU(最近最少使用算法),具体的实现,SQLITE使用了一个Hash表,两个LRU链表。如下图:1、hash表主要是加快对缓存中数据页的查找速度。SQLite是通过页号来进行hash操作的,hash后将其挂到对应的Hash链表上。2、LRU链表有两种,都是双向链表。一种是脏页链表,一个是干净页链表(没有修改过的页)。SQLite对hash表中页进行一次操作,就会将该页放到LRU链表的头部,因为该页是最近最常用到的。对于缓存的使用一般分成3步:1》查找缓存中是否存在该页,存在返回该页,不存在到第二步...Aug. 2, 2015, 10:51 p.m.作者:zachary分类:数据库阅读(747)评论(0)