微软实现的字典功能简单方便,出于全局性考虑,其内部实现比较复杂,在对海量数据处理时,仅仅存放一个对象地址就将占据32个bit(64位机器中占据64个bit),而且其内部通过int[]来处理hash桶,占用空间较大. 如果对于一些特定的海量数据的处理进行字典的自我定制,将极大地节省空间. 最近做的一个项目中字典中存放的数据达到几百万条,不同日期数值重复率极大,故实现了一个定制字典,实际结果和普通的Dictionay比较,压缩率达到一半以上. 该字典针对key为DateTime类型的数据进行了优化:…
Web领域一直在发生变化并且其边界在过去的每一天都在发生变化(甚至不能以小时为计),随着其边界的扩展取得了许多新发展.在这些进步之中,开发者的不断工作创造了更大和更好的脚本,这些脚本以插件方式带来更好的终端用户体验,它们比原来更轻量级,还有更强的处理能力. 关键是这些新发展起来的脚本和插件是能构建响应式Web的,而且还不会丧失它们原有的功能特性——除了更优秀和更轻巧(就文件大小而言)之外,它们还不会增加页面加载的时间. 通过浏览文档,掌握JQuery的语法是很容易的.它可以支持选择DOM元素,创…
TYTabbarAnimationDemo 业务需求导致需要做一个tabbar,里面的按钮点击带有动画效果,tabbar中间的按钮凸出,凸出部分可以点击,支持badge 小红点等,为此封装了一个高度可定制的tabbar -> TYTabBar demo下载地址:https://github.com/qqcc1388/TYTabbarAnimationDemo TYTabBar可以快速实现以下功能 每个Item都有单击,双击事件回调 tem可以支持多种动画(帧动画,缩放动画,旋转动画),每个Ite…
1.glob模块 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:”*”, “?”, “[]”.”*”匹配0个或多个字符:”?”匹配单个字符: ”[]”匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径.下面是使用glob.glob的例子: 例子1: 结果: 例…
一般的压缩方案 做移动平台,终究都是要考虑纹理压缩的问题 IOS/PVR平台上一般会选用PVRTC格式,这个格式压缩还是很给力. Android上设备种类很多,支持的格式各有不同.如果平台能支持下载前检测设备来区分下载的APK,我们可以选择相应的压缩格式.但是很多平台都只要一个APK,我们就只能选择最稳妥的ETC1+Alpha方案了. 这个方案用过的应该都知道并不是特别好,首先肯定要生成两张图,然后压缩比还不错,但是压缩质量就有点不行了.在普通的纹理上用还可以,但是在UI这种要足够清晰的地方就有…
From:http://www.cnblogs.com/killerlegend/p/3746395.html Author:KillerLegend Date:2013.5.22 选中文件,鼠标右键选择7-zip压缩,设置方式如下图: 主要设置的地方在于Compression level为Ultra,Compression method为LZMA(发现LZMA2效果好不到哪儿去),右边的Options栏中选择Create SFX archive选项(设置生成exe文件),然后就可以压缩了,经过…
这是一个类似于跳跃涂鸦的小游戏,主角不断吃能量球得到跳跃能量向更高的地方跳跃,如果图中碰到黑洞就挂了- 在游戏调试过程中如果能实时知道主角的高度就好了,这将有助于程序猿动态的判断游戏胜败逻辑. 你可以用print将高度显示在控制台中,不过这观看起来可不是太方便,索性就让我们把高度标示和游戏主角自己紧密结合起来吧! ;] 因为在SpriteKit中任何SKNode对象及其子对象都可以包含孩子,它们可以和父节点一起移动,旋转,缩放-这正是我们想要的效果. 首先,在创建游戏主角的代码后面新增如下代码:…
Dictionary 就是 字典, 是一种可以根据 Key 来 快速 查找 Value 的 数据结构 . 比如 我们在 C# 里用到的 Dictionary<T>, 在 程序设计 里, 字典 通常使用 哈希表(Hash 表) 的 方式 实现, 也可以用 索引 的 方式 实现, 不过 索引 太占空间 了,  所以 在 数据库 里 用的 很普遍, 但是 在 应用程序(内存) 这一层面 好像 没有看到过用 索引 的 . 今天 我们 来 设计一个 用 硬件 实现 的 字典 :      ^^ 要开始研…
$(window).scroll(function () { var windowH = $(window).height();//取可视窗口的高度 ).getBoundingClientRect().top;//取元素到浏览器顶部高度 if (ch <= h) { $(); } }); 以前代码是当网页滚动显示出id是wzh的div时,此时才加载此div的动画效果 $(document).scrollTop() 获取垂直滚动的距离 即当前滚动的地方的窗口顶端到整个页面顶端的距离$(docume…
Snappy已经被Google开源,作为一个压缩库,它可以利用单颗Intel Corei7处理器内核处理至少每秒250MB~500MB的数据流. Snappy的前身是Zippy.虽然只是一个数据压缩库,它却被Google用于许多内部项目程,其中就包括BigTable,MapReduce和RPC.Google宣称它在这个库本身及其算法做了数据处理速度上的优化,作为代价,并没有考虑输出大小以及和其他类似工具的兼容性问题.Snappy特地为64位x86处理器做了优化,在单个Intel Core i7处…
功能就是当右边高度没有左边高的情况下做的一些处理,由于本人技术有限,不兼容所有浏览器, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <…
packer – javascript 压缩工具 http://dean.edwards.name/packer/ Javascript Beautifier ---可以恢复某些压缩工具压缩的js代码 网页版:http://jsbeautifier.org…
惯例,先贴传送门:https://github.com/think2011/localResizeIMG 首先说到,为嘛要压缩图片,这需求一般出现在需要上传照片(尤其是移动端)的情况下,现在手机拍出来的照片随随便便就是好几兆,无论3/4G还WIFI要上传都很吃力,而且实际上也用不着这么大呀,一般压缩到个一百几十k就够用了.因此,我们需要在用户选好照片(可能是从相册中选择也可能是直接拍摄,看我博客的另一篇文章:html5 api:device's media capture mechanism(设…
filepath=$(cd ")"; pwd) packagePath="$filepath"/package zipPath="$filepath"/package.zip if [ -d "$packagePath" ]; then # 删除旧zip包 rm -fr "$zipPath" # 把package重命名为packageBase mv "$packagePath" &quo…
package com.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; im…
RDict_1.0 下载 在我自己试用过程中, 随时发现了不少小问题, 我会随时更新下.…
The New InfluxDB Storage Engine: Time Structured Merge Tree by Paul Dix | Oct 7, 2015 | InfluxDB | 0 comments For more than a year we’ve been talking about potentially making a storage engine purpose-built for our use case of time series data. Today…
方法一.两个div都设置 display: table-cell; 方法二.父级div设置 display: -webkit-box;…
转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统:为了挂载(mount)文件系统,您必须指定一个挂载点. 注:对于我们应用开发来说,购买开发板的时候,厂家会提供好现成的根文件系统和BootLoader等…
正如许多开发者一样,我也为Asm.js的前景而感到兴奋不已.最近的新闻——Asm.js正 在被Firefox支持——引起了我的兴趣.同样感兴趣的还有Mozilla和Epic声明(mirror)他们已经为Asm.js而支持Unreal Engine 3——并且运行十分良好. 获得一个C++游戏引擎运行Javascript,并使用WebGL来渲染,这是一个重大的突破,这个突破很大程度上归功于Mozilla开发的工具链,才使得这一切变得可能. 由于Unreal Engine 3开始支持Asm.js,我…
iOS进阶指南试读之UI篇 UI篇 UI是一个iOS开发工程师的基本功.怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计.所以,想提升UI的功力也很简单,没事就看看UIKit里的各个类的头文件.如果能做到烂熟于胸,相信会有很大的提升. Autolayout 顾名思义,Autolayout = 自动+布局,也就是当你设置好一定的约束之后,系统会帮你处理布局的细节.那么,在不那么自动的年代,我们用的是什么?我们用的是Frame布局.那么,先来讨论一下Frame布局有哪些问题?举个简…
嵌入式linux启动信息完全注释 from:http://www.embedlinux.cn/ShowPost.asp?ThreadID=377 摘要 我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的.以前感觉熟悉的.但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉. 嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核…
前文我们聊到了httpd的虚拟主机实现,状态页的实现,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12570900.html:今天我们来聊一聊后面的常用基础配置: 1.user/group:这两个指令用于指定httpd进程的运行用户和组 示例: 提示:以上配置就表示httpd启动进程的用户是身份是apache用户和apache组:众所周知一个进程要访问某一个文件,它能对文件有哪些权限,取决于进程是以那个用户或属组启动的,以及该文件的属主和属组以及othe…
转自:http://blog.csdn.net/houyj1986/article/details/22624981 #encoding=utf-8 print '中国' #字典的一键多值 print'方案一 list作为dict的值 值允许重复' d1={} key=1 value=2 d1.setdefault(key,[]).append(value) value=2 d1.setdefault(key,[]).append(value) print d1 #获取值 print '方案一…
问题 给出两个单词(start和end)与一个字典,找出从start到end的最短转换序列.规则如下: 一次只能改变一个字母 中间单词必须在字典里存在 例如: 给出 start = "hit"end = "cog"dict = ["hot","dot","dog","lot","log"] 返回 [ ["hit","hot",&…
C# 实现一个基于值相等性比较的字典 Intro 今天在项目里遇到一个需求,大概是这样的我要比较两个 JSON 字符串是不是相等,JSON 字符串其实是一个 Dictionary<string, string> 但是顺序可能不同,和上一篇 record 使用场景中的第一个需求类似,前面我们介绍过使用 record 可以比较方便的解决,但是我们的项目是 .netcoreapp3.1 的,不能使用 record,如何比较方便的比较呢?我们能否自己实现一个类似于 record 的类型,基于值去比较呢…
本文翻译自:stackoverflow 有人在stackoverflow上问了一个问题: 1 如何在UITableViewCell中使用Autolayout来实现Cell的内容和子视图自动计算行高,并且能够保持平滑滚动的? 这个问题得到了300+的支持和450+的收藏,答案得到了730+的支持,很详细的说明了如何在iOS7和iOS8上实现UITableView的动态行高功能,并且这个答案对实现UICollectionView的动态行高也具有参考意义.所以在这里将这个答案翻译了一下,希望对大家有所…
Druid底层不保存原始数据,而是借鉴了Apache Lucene.Apache Solr以及ElasticSearch等检索引擎的基本做法,对数据按列建立索引,最终转化为Segment,用于存储.查询与分析. 首先,无论是实时数据还是批量数据在进入Druid前都需要经过Indexing Service这个过程.在Indexing Service阶段,Druid主要做三件事:第一,将每条记录转换为列式(columnar format):第二,为每列数据建立位图索引:第三,使用不同的压缩算法进行压…
  综述 许多信息资料都或多或少的包含一些多余的数据.通常会导致在客户端与服务器之间,应用程序与计算机之间极大的数据传输量.最常见的解决数据存储和信息传送的方法是安装额外的存储设备和扩展现有的通讯能力.这样做是可以的,但无疑会增加组织的运作成本.一种有效的解决数据存储与信息传输的方法是通过更有效率的代码来存储数据.这篇文章简要的介绍了数据的压缩与解压缩,并展示了用java.util.zip包来实现数据的压缩与解压缩是多么的方便与高效. 当然用诸如WinZip,gzip,和Java压缩(或jar)…
转:http://blog.csdn.net/v_july_v/article/details/6897097 引言 常关注本blog的读者朋友想必看过此篇文章:从B树.B+树.B*树谈到R 树,这次,咱们来讲另外两种树:Tire树与后缀树.不过,在此之前,先来看两个问题.    第一个问题: 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析. 之前在此文:海量数据处理面试题集锦与Bit-map详解中给出的参考答案:用trie树统计每个…