2016-03-19 Piasy
最近一直在补充framework以及更深入的安卓开发知识,看到老罗的博客以及developer文档关于task, launchMode, intent flag的分析说明之后,不禁想要自己动手测试一下,验证他们所说的是否属实,个人认为当属目前最全面的测试与总结了(欢迎补充与质疑),完整代码可以在Github获取。 继续阅读 »
2016-01-29 demon7452
Redis学习总结 简介 起源:随着Web 2.0的蓬勃发展,网站数据快速增长,对高性能读写的需求越来越多,再加上网站上半结构化的数据比重越来越大。Redis由此应运而生。 定义:Redis是Remote Dictionary Server(远程字典服务)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。 继续阅读 »
2014-03-16 码农明明桑
Android中经常会有一些操作比如网络请求,文件读写,数据库操作,比较耗时,我们需要将其放在非UI线程去处理,此时,我们需要处理任务前后UI的变化和交互。我们需要通过类似js中异步请求处理,这里总结我所了解到的,方便自己记忆,也方便别人的浏览。 AsyncTask new AysncTask().execute(); AsyncTask会按照流程执行在UI线程和一个耗时的任务线程。 more 1.onPreExecute() 执行预处理,它运行于UI线程,可以为后台任务做一些准备工作,比如绘制一个进度条控件。 2.doInBackground(Params...) 后台进程执行的具体计算在这里实现,doInBackgrou 继续阅读 »
2015-10-02 jude
xss
xss 一点总结 我不是很理解 xss 这个词: Cross-site scripting ,它怎么就跟跨站勾搭上了呢? xss 输入/输出 网页是xss的舞台,要达成 xss 攻击,首先必须找到页面中可以注入代码的地方(注入点),而且网页必须要有执行注入代码的地方(输出点)。 继续阅读 »
2014-11-17 Xie Jingyi
现在算起来,至少有220分是不应该丢的——已经接近我的得分了,都是由各种脑残的错误引起的。总之,经历了这一切,我都早已习惯了。过去的事只能让它过去了,重要的是:经历了这一切,我总要明白一些什么。 生活大爆炸版剪刀石头布 题目链接:Link 得分:100 这题是真正的大水题,当然也是我唯一一道满分的题(欲哭无泪)。不说了,模拟就是了。 联合权值 题目链接:Link 得分:40 这题不难,关键是要将无根树转化成为有根树,做一次DFS。事实上,两个距离为2的节点,要么一个是另一个的祖父节点,要么两个节点是兄弟关系。一方面,我们在DFS时先求当前节点与祖父节点产生的联合权值(如果有的话);另一方面,遍历当前节点的子节点。对于一个 继续阅读 »
2016-09-02 craneyuan
定义 希尔排序(英语:Shell sort),也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位 more 算法步骤 希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。 选择步长 按照选择的步长对序列进 继续阅读 »
2016-08-28 craneyuan
定义 选择排序(英语:Selection sort)是一种简单直观的排序算法。它首先在未排序的序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 more 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。 算法步骤 选择排序算法的运作如下: 首先在未排序序列中找到最小(大)元素,存放到排序 继续阅读 »
2016-09-05 craneyuan
定义 基数排序(英语:Radix Sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 more 算法步骤 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。 然后,从最低位开始,依次进行一次排序。 这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。 基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由 继续阅读 »
2015-11-17 litaotao
1. 基本概念 1.1 什么是 shell 业界所说的shell通常都是指shell脚本,但要知道,shell和shell script是两个不同的概念: Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁, 这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Shell 也是一种命令语言和一种程序设计语言,Shell 脚本(shell script),是一种用shell编写的脚本程序。 继续阅读 »
2016-06-28 Alex Sun
一、引言 最早接触爬虫,是发现了一个叫做『豆瓣妹子』的网站,写了一个简单的程序可以批量下载图片。后来陆陆续续抓取过豆瓣电影,Google+,facejoking等网站。毕设的选题也是抓取新浪微博,然后分析博文的传播情况。最近一直对知乎的数据感兴趣,于是开发了Node模块zhihu-api,用于简化数据的抓取。 通常来说,所谓的爬虫,无非是通过程序来发送HTTP请求。因此理论上来说,所有浏览器能访问到的内容,都是可以通过爬虫来进行抓取的。 一般而言,我们所感兴趣的信息,只是页面中的某一部分数据,例如:某个标签的文本、链接地址、图片地址等。有些网站会提供开放的API(往往也会有很多限制),这时只需要直接请求该API,就可以拿到比较 继续阅读 »