摘要:
郑昀20101213Hacker News是Y Combinator旗下的一个新闻频道,属于digg类产品,SEOmoz曾经在2008年7月隆重推出Reddit、Stumbleupon、Del.icio.us和Hacker News算法全揭秘。由此,这些知名Web2.0网站的算法浮出水面。谷文栋曾在2009年时如下讲述了Hacker News的Ranking算法:(p – 1) / (t + 2)^1.5其中,1)p 表示文章得到的投票数,之所以要使用 (p – 1),应该是想去掉文章提交者的那一票。2)(t + 2)^1.5, 这个是时间因子。t 表示当前时间与文章提交时间间隔的小时数。但为 阅读全文
摘要:
作者:阮一峰日期:2012年2月24日互联网的出现,意味着"信息大爆炸"。用户担心的,不再是信息太少,而是信息太多。如何从大量信息之中,快速有效地找出最重要的内容,成了互联网的一大核心问题。各种各样的排名算法,是目前过滤信息的主要手段之一。对信息进行排名,意味着将信息按照重要性依次排列,并且及时进行更新。排列的依据,可以基于信息本身的特征,也可以基于用户的投票,即让用户决定,什么样的信息可以排在第一位。下面,我将整理和分析一些基于用户投票的排名算法,打算分成四个部分连载,今天是第一篇。一、Delicious最直觉、最简单的算法,莫过于按照单位时间内用户的投票数进行排名。得票 阅读全文
摘要:
在Quitting an application - is that frowned upon?中,很多人探讨了android中退出app的问题,Google官方是这样说的:Question:Does the user have a choice to kill the application unless we put a menu option in to kill it? If no such option exists, how does the user terminate the application?Answert (Romain Guy):The user doesn' 阅读全文
摘要:
我们看到很多Android应用都具有自动更新功能,用户一键就可以完成软件的升级更新。得益于Android系统的软件包管理和安装机制,这一功能实现起来相当简单,下面我们就来实践一下。首先给出界面效果:1. 准备知识在AndroidManifest.xml里定义了每个Android apk的版本标识:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.myapp" android:versionCode="1" andro 阅读全文
摘要:
问题某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。PS: 据说这是迅雷的一道面试题,不过问题本身具有很强的真实性,所以本文打算按照真实场景来考虑,而不局限于面试题的理想环境。存储结构首先,我们用一张用户积分表user_score来保存用户的积分信息。表结构:示例数据:下面的算法会基于这个基本的表结构来进行。算法1:简单SQL查询首先,我们很容易想到用一条简单的SQL语句查询出积分大于该用户积分的用户数量:select 1 + count(t2.uid) as ra 阅读全文
摘要:
简单基站定位程序介绍了如何获得当前的基站位置,写得详细。下面简单概括一下:在Android操作系统下,基站定位其实很简单,先说一下实现流程:调用SDK中的API(TelephonyManager)获得MCC、MNC、LAC、CID等信息,然后通过google的API获得所在位置的经纬度,最后再通过google map的API获得实际的地理位置。MCC,Mobile Country Code,移动国家代码(中国的为460);MNC,Mobile Network Code,移动网络号码(中国移动为00,中国联通为01);LAC,Location Area Code,位置区域码;CID,Cell I 阅读全文
摘要:
关于“点九”智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸,造成图形的失真变形。android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真。在android平台下使用点九PNG技术,可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png【普通拉伸和点九拉伸效果对比】对比很明显,使用点九后,仍能保留图像的渐变质感,和圆角的精细度。 从中我们也可以理解 阅读全文
摘要:
不像其他广播包,Intent.ACTION_SCREEN_OFF 和Intent.ACTION_SCREEN_ON不能在manifest中申明,需要用代码注册。Receiver代码如下:public class ScreenReceiver extends BroadcastReceiver { // thanks Jason public static boolean wasScreenOn = true; @Override public void onReceive(Context context, Intent intent) { if ... 阅读全文
摘要:
现在的不少应用都用到了摇动手机改变内容的功能,比如微信中的“摇一摇”功能。前两天要实现这个功能,稍微看了一下关于传感器Sensor的内容。传感器有几种类型: 方向传感器: Sensor.TYPE_ORIENTATION 加速度(重力)传感器: Sensor.TYPE_ACCELEROMETER 光线传感器: Sensor.TYPE_LIGHT 磁场传感器: Sensor.TYPE_MAGNETIC_FIELD 距离(临近性)传感器: Sensor.TYPE_PROXIMITY 温度传感器: Sensor.TYPE_TEMPERATURE在摇动手机的功能中,我们只用加速... 阅读全文
摘要:
用ScrollView 覆盖原来的layout,如下:<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android" ... <!-- Your current layout here --></ScrollView>参见:Soft Keyboard comes over the EditText 阅读全文