Archive

Archive for March, 2013

Apple Will No Longer Approve Apps Using Unique Device Identifier (UDID) Beginning May 1

March 21, 2013 Leave a comment

NewImageApple has informed app developers that it will no longer allow apps to use the unique device identifier or UDID after May 1, according to a post on Apple’s developer website.

Instead, Apple requests developers use the new ‘Vendor or Advertising identifiers’ that were introduced in iOS 6.

Using Identifiers in Your Apps
March 21, 2013

Starting May 1, the App Store will no longer accept new apps or app updates that access UDIDs. Please update your apps and servers to associate users with the Vendor or Advertising identifiers introduced in iOS 6. You can find more details in the UIDevice Class Reference.

Apple announced in 2011 that it would be phasing out developer access to UDID’s, and instead create a non-identifying marker for advertisers to use. A year ago, it was reported that Apple began quietly rejecting apps for the use of the UDID, but this public announcement suggests Apple has gotten more serious about shutting down use of the identifier.

Apple had been under increased pressure to change how the UDID works due to the privacy implications of a developer knowing which particular iOS device is being used to access their app. Apple and several app developers were sued over the use of the UDID to track users across different apps. While the UDID doesn’t specifically identify a user, the sharing of UDIDs across ad networks and apps can help piece together a valuable picture of activity and interests of the user of a specific device. Apple seems to be requiring apps to generate their own unique identifiers for each installation to avoid this ability to share such information across apps.

Recent Mac and iOS Blog Stories
Redesigned ‘Speedtest.net’ App Released, Improved Server Selection and Sharing
A Look at American Airlines’ iPad Electronic Flight Bag
Apple Tops J.D. Power Smartphone Satisfaction Rankings By Significant Margin
Black Pixel to Revive ‘NetNewsWire’ With Cross-Device Syncing
Cleveland Museum of Art Uses iPads for Visitor-Personalized Tours
Pixelmator Crashing Issue Fixed in OS X 10.8.3
MagSafe Adapter Key Ring Connects MagSafe Converter to Keys
GarageBand for iOS Updated With Audiobus Support and Other Enhancements

from MacRumors: Mac News and Rumors – Front Page http://www.macrumors.com/2013/03/21/apple-will-no-longer-approve-apps-using-unique-device-identifier-udid-beginning-may-1/

Categories: GR Tags:

Twemproxy – Twitter 开源的 Redis proxy

March 18, 2013 Leave a comment

在去年的QCon London2012 大会上,Twitter 发表了题为 《Timelines @ Twitter》的演讲,里面提到以Redis作为其timeline的主要存储,目前目测全球范围内,Twitter可能是Redis的最大用户了(或者是新浪微博?)。

而今天我们要说的这个Twemproxy,是 Twitter 开源出来的 Redis 和 Memcached 代理。

功能介绍

我们知道,无论是 Memcached 还是当前的 Redis,其本身都不具备分布式集群特性,当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。

Twemproxy 通过引入一个代理层,可以将其后端的多台 Redis 或 Memcached 实例进行统一管理与分配,使应用程序只需要在 Twemproxy 上进行操作,而不用关心后面具体有多少个真实的 Redis 或 Memcached 存储。

在 Redis 的 Cluster 方案还没有正式推出之前,通过 Proxy 的方式来实现存储集群可能是最好的选择了。更何况 Twemproxy 是通过 Twitter 自身得到了充分检验的产品。

性能

根据 Redis 作者的测试结果,在大多数情况下,Twemproxy 的性能相当不错,直接操作 Redis 相比,最多只有20%的性能损失。这对于它带来的好处来说真的是微不足道了。唯一可能还有待改进的是其 MGET 操作的效率,其性能只有直接操作 Redis 的 50%。

安装与配置

Twemproxy 的安装有点小麻烦,主要命令如下:

apt-get install automake
apt-get install libtool
git clone git://github.com/twitter/twemproxy.git
cd twemproxy
autoreconf -fvi
./configure --enable-debug=log
make
src/nutcracker -h

通过上面的命令就算安装好了,然后是具体的配置,下面是一个典型的配置

redis1:
  listen: 0.0.0.0:9999 #使用哪个端口启动Twemproxy
  redis: true #是否是Redis的proxy
  hash: fnv1a_64 #指定具体的hash函数
  distribution: ketama #具体的hash算法
  auto_eject_hosts: true #是否在结点无法响应的时候临时摘除结点
  timeout: 400 #超时时间(毫秒)
  server_retry_timeout: 2000 #重试的时间(毫秒)
  server_failure_limit: 1 #结点故障多少次就算摘除掉
  servers: #下面表示所有的Redis节点(IP:端口号:权重)
   - 127.0.0.1:6379:1
   - 127.0.0.1:6380:1
   - 127.0.0.1:6381:1
   - 127.0.0.1:6382:1

redis2:
  listen: 0.0.0.0:10000
  redis: true
  hash: fnv1a_64
  distribution: ketama
  auto_eject_hosts: false
  timeout: 400
  servers:
   - 127.0.0.1:6379:1
   - 127.0.0.1:6380:1
   - 127.0.0.1:6381:1
   - 127.

from NoSQLFan http://item.feedsky.com/~feedsky/nosqlfan/~8149226/710154282/6253001/1/item.html

Categories: GR Tags:

Ceylon M5 with Tuples, Verbatim Strings, Spread Operator, Late Annotation

March 17, 2013 Leave a comment

RedHat has released Ceylon M5 programming language with several new features such as Tuples, Verbatim Strings, Spread Operator, Late Annotation and reified generics including a new module, package, functions in addition to several key syntax modifications. By Anand Narayanaswamy

from InfoQ Personalized Feed for rongying zhou http://www.infoq.com/news/2013/03/ceylon-m5

Categories: GR Tags:

A Beginner’s Guide to HTML & CSS

March 17, 2013 Leave a comment

from A Beginner's Guide to HTML & CSS http://learn.shayhowe.com/html-css/

Categories: GR Tags: