关闭

[置顶] 有意思的记录-Java

1.文件读取 项目外的绝对路径或相对路径文件读取 String path = "/xx/xx.txt"; BufferedReader reader = new BufferedReader( new FileReader(new File(path)); 项目内(常常是resources目录下)或jar包内文件读取 InputStream file = this.getClass...
阅读(412) 评论(0)

[置顶] 有意思的记录-python

1.变量 类变量紧接在类名后面定义,相当于java和c++的static变量 实例变量在init里定义,相当于java和c++的普通变量2.日期#coding:utf-8 import time import datetime #日期格式化,time.strftime(format[, t]), #输出:2015-08-28 15:50:51 currentTime = time.strftim...
阅读(488) 评论(0)

[置顶] Linux常用系统查看命令(持续更新)

1.查看cpu个数 cat /proc/cpuinfo | grep processor | wc -l 2.查看任务及系统情况 top第一行是任务队列信息,等同于uptime命令;第二三行为进程和CPU信息;第四五行为内存信息。 补:load average-系统负载,就是任务队列的平均长度,分别是1分钟、5分钟、15分钟内的平均值。load average小于CPU个数,属...
阅读(1057) 评论(0)

[置顶] sh有意思的记录-shell(持续更新)

1.统计重复行的个数 如:uid.txt aaa bbb bbb aaa sort uid.txt | uniq -c得到 2 aaa  2 bbb  2.查看压缩文件 a.gz, b.gz, c.gz cat *.gz | gunzip > 123 3.查看2个文件的交集、差集 comm 显示3列,第一列为1.txt独有的元素(1.txt-2.txt)...
阅读(1208) 评论(0)

[置顶] 有意思的记录-C++(持续更新)

1.数组指针 void main() {   int a[5]={1,2,3,4,5};   int *ptr=(int *)(&a+1);   printf("%d,%d",*(a+1),*(ptr-1)); }输出结果为:2,5 &a是数组指针,其类型为 int (*)[5]; 而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同。 &a是长度为5的int...
阅读(760) 评论(0)

Java动态编译

程序产生过程下图展示了从源代码到可运行程序的过程,正常情况下先编译(明文源码到字节码),后执行(JVM加载字节码,获得类模板,实例化,方法使用)。本文来探索下当程序已经开始执行,但在.class甚至.java还未就绪的情况下,程序如何获得指定的实现。这就是我们下面的主题,动态编译。 相关类介绍JavaCompiler: 负责读取源代码,编译诊断,输出class JavaFileObject: 文...
阅读(1673) 评论(0)

聊聊排名算法

很多网站或应用会提供各样的排行榜,如热门查询、热门应用、最佳文章、论坛评论/文章列表展示等。前段时间做游戏的搜索热词就看了几篇文章,总结记录下。先介绍下流传比较广的算法,再说下我的算法。...
阅读(720) 评论(0)

Lucene系列-FieldCache

域缓存,加载所有文档中某个特定域的值到内存,便于随机存取该域值。用途及使用场景当用户需要访问各文档中某个域的值时,IndexSearcher.doc(docId)获得Document的所有域值,但访问速度比较慢,而且只能获得Stored域的值。 FieldCache能获得域值数组,根据docId random access域值。FieldCache是高级内部API,通常用户不会直接使用,Lucen...
阅读(1460) 评论(1)

Redis系列-好玩的用法

分布式锁客户端执行如下命令,来获取锁和释放锁。random = random() ok = (Set key random PX 2000ms NX) if (ok) { //do something if (redis->get(key) == random) { (del key) } }key不存在时设置,过期时间是2000ms。如果命令成功,表示获取锁...
阅读(685) 评论(0)

Maven常用插件

maven利用各种插件来管理构建项目,本文记录下工作中常用到的插件及使用方法。常用插件见:http://maven.apache.org/plugins/index.html,http://www.mojohaus.org/plugins.html。 每个插件都会提供多个目标(goal),用于标示任务。各插件配置在pom.xml里,如下: [...] ...
阅读(1042) 评论(0)

Hadoop相关日常操作

1.Hive相关 脚本导数据,并设置运行队列 bin/beeline -u 'url' --outputformat=tsv -e "set mapreduce.job.queuename=queue_1" -e "select * from search_log where date = 20150523" > test.txt 2.Spark相关 spark任务提交 $SPA...
阅读(402) 评论(0)

Spark使用实例

1.介绍 Spark是基于Hadoop的大数据处理框架,相比较MapReduce,Spark对数据的处理是在本地内存中进行,中间数据不需要落地,因此速度有很大的提升。而MapReduce在map阶段和Reduce阶段后都需要文件落地,对于连续的数据处理,就需要写多个MapReduce Job接力执行。 最近分析用户查询日志提取共现查询,流程如下:a.先获得对;b.合并同一个uid的querie...
阅读(1217) 评论(0)

阿里巴巴B2B搜索学习

1.搜索业务 主搜索:商品搜索、商家搜索、采购搜索、app搜索 行业搜索:淘货源、淘工厂、聚好货、主题市场、品牌馆等 2.优势 由于用户多,需求强烈,收益大,所以功能、场景、架构做到极致高效。 代码复用性强:基础通用功能进行组件抽象化组件通用性好:一些组件或者组件进行组合的服务,适用更多场景,支持更多功能转化效果好:算法做的比较深入、细致 3.搜索技术架构 架构分为三部分...
阅读(812) 评论(0)

海量数据搜索的思考

后续完善。背景miui有1亿用户(108),每个用户有1万张相片(104)。从数据量和数据大小两个方面认识下。 数据量:共有1012条数据,100台机子存储,每台机子1010条数据(100亿)。 数据大小:每个用户的数据占2MB,共2*108MB = 200TB,200台机子存储,每台机子存储1TB。 初步印象集群需要机器数量以百衡量;从海量数据中查询想要的结果需要架构分层、数据分治;海量数据的管理...
阅读(627) 评论(0)

Linux网络编程系列-TCP传输控制

滑动窗口(sliding window)滑动窗口是用于流量控制的,发送端根据接收端的处理能力发送数据,不至于造成过多的丢包。 在TCP头中有一个字段window,这个字段就是接收端告诉发送端自己还有多少缓冲区可以接收数据。发送端根据这个字段的值来发送数据,当值为0时就停止发送。 发送端和接收端各自维护着一个窗口,发送的滑动窗口控制可以发送的数据大小,接收端的窗口控制可以接收数据的大小。 发...
阅读(595) 评论(0)

Lucene系列-索引文件

本文介绍下lucene生成的索引有哪些文件组成,每个文件包含了什么信息。基于Lucene 4.10.0。数据结构索引(index)包含了存储的文档(document)正排、倒排信息,用于文本搜索。索引又分为多个段(segments),每个新添加的doc都会存到一个新segment中,不同的segments又会合并成一个segment。segment存储着具体的documents,每个doc有一系列的...
阅读(1294) 评论(0)

python Web开发框架-Django (2)

接上篇文章,介绍一些实用的技巧和注意点。包括GET/POST,前端使用和参考资料...
阅读(2145) 评论(0)

python Web开发框架-Django (1)

以前用web.py(另外一款轻量级web开发框架)做一个监控管理平台,没有做特别的记录就不好拾起来。最近做一个日志聚合系统,使用的是django,这次就记下来,方便查询。 Django是一个高效的web开发框架,上手容易,便于调试和发布。 设计模式 它的设计遵循经典的web设计架构-MVC(Model-view-controller),一个应用分为四部分: models.py:文件...
阅读(1200) 评论(0)
205条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:512350次
    • 积分:7149
    • 等级:
    • 排名:第3300名
    • 原创:179篇
    • 转载:24篇
    • 译文:2篇
    • 评论:76条
    个人信息
    最新评论