提起NoSQL这个话题,仿佛不应该是DBA要关注的事,而是架构师应该关心的。但是作为一名DBA,在使用传统的关系型思想建模时,应该有必要了解NoSQL的建模方法。
各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库同样也是处理结构化数据,所以除了没有SQL,在数据模型方面有相似之处。Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。
阅读全文…
数据库
http://cwq.yfjhh.com/liveandroid-android_a367
LiveAndroid可不是Android SDK中的那个模拟器,它是真正的操作系统,不是模拟的。用模拟器测程序并不一定符合真机的实际情况,而用 LiveAndroid来测程序可以做到100%吻合,因为它就是真正的操作系统,唯一的不同就是一个运行在PC上,一个运行在手机上。先来下一个 LiveAndroid吧,可以完全免费的哦。
下载网址:http://code.google.com/p/live-android /downloads/list
再去下载一个VirtualBox,这可以sun公司大名顶顶的东西,用于建立虚拟操作系统的。
安装完VirtualBox后,再新建一个虚拟系统,虽然Android基于Linux,但选Xp也行,根据HTC G1的配置,内存用190M就行了,硬盘选500M就行了。(这里就省略不说了)
效果还满不错,不过光是么体验还不行,需要安装我们自己的apk程序。LiveAndroid未提供android market程序,无法从market下载。但还是可以安装单独的apk的。
由于android是基于linux内核的,因此,自然可以使用linux下的命令。好吧,先进入linux的终端吧,按Alt+F1,然后进入 data/app目录,输入wget http://ip地址/my.apk。其中ip地址是apk在网络上的位置。注意这里不能输入域名,要直接输入IP。my.apk则是我们的apk文件,读者可以输入自己的相应url。wget命令可以从网络上下载文件,是busybox中的一个工具。
具体:cd data
cd app
wget http://192.168.0.15/my.apk
//执行这一步后就会自动下载并安装的了,注意,127.0.0.1是不行的。
由于我们并不是用root权限登录的,因此,只能在data或data/app目录中建立文件。用户自己的程序都放在app目录中,只要将apk直接放到这个目录中即可安装apk。然后按Alt+F7回到android桌面。按键盘的菜单键(不是开始键,功能差不多和鼠标右键一样的键),可以看到有几个选项,选择Add,然后再选Applications,再多系统中已经安装了的程序中选中你的apk就行了。
注意:安装apk必须是要签名的,未经签名的apk安装后在Applications中是找不到的。
wget 的网址参数必须是IP地址,因为在shell是用不了DNS的。
阅读全文…
Android
TOMCAT 6.0 安装 APR for linux x86_64
Requirements:
APR 1.2+ development headers (libapr1-dev package)
OpenSSL 0.9.7+ development headers (libssl-dev package)
JNI headers from Java compatible JDK 1.4+
GNU development environment (gcc, make)
The wrapper library sources are located in the Tomcat binary bundle, in the bin/tomcat-native.tar.gz archive. Once the build environment is installed and the source archive is extracted, the wrapper library can be compiled using (from the folder containing the configure script):
./configure && make && make install
阅读全文…
linux
今天在apache tomcat的官方网站上看到,跟tomcat相关的project,除了connector外,还有另外一个叫tomcat native,有兴趣的朋友可以上去看一下,地址是:http://tomcat.apache.org/native-doc/,tomcat native在具体的运行平台上,提供了一种优化技术,它本身是基于ARP(Apache Portable Runtime)技术
也就是说,我们应用了tomcat native技术之后,tomcat在跟操作系统级别的交互方面可以做得更好,并且它更像apache一个,可以更好地作为一台web server。
阅读全文…
java
应用风格和主题Applying Styles and Themes
当设计应用程序时,你可以用风格和主题来统一格式化各种屏幕和UI元素。
l 风格是一个包含一种或者多种格式化属性的集合,你可以将其作为一个单位用在布局XML单个元素当中。比如,你可以定义一种风格来定义文本的字号大小和颜色,然后将其应用于视图元素的一个特定实例。
阅读全文…
Android
通知用户Notifying the User
某些情况下需要通知用户你的应用程序中发生了一个事件。一些事件请求用户应答而另外一些则不需要。比如:
· 当一个事件比如保存文件结束时,应该出现一条消息确认保存成功。
阅读全文…
Android
处理用户界面事件Handling UI Events
在Android上,不止一个途径来侦听用户和应用程序之间交互的事件。对于用户界面里的事件,侦听方法就是从与用户交互的特定视图对象截获这些事件。视图类提供了相应的手段。
在各种用来组建布局的视图类里面,你可能会注意到一些公共的回调方法看起来对用户界面事件有用。这些方法在该对象的相关动作发生时被Android框架调用。比如,当一个视图(如一个按钮)被触摸时,该对象上的onTouchEvent()方法会被调用。不过,为了侦听这个事件,你必须扩展这个类并重写该方法。很明显,扩展每个你想使用的视图对象(只是处理一个事件)是荒唐的。这就是为什么视图类也包含了一个嵌套接口的集合,这些接口含有实现起来简单得多的回调函数。这些接口叫做事件侦听器event listeners,是用来截获用户和你的界面交互动作的“门票”。
阅读全文…
Android
创建对话框Creating Dialogs
对话框通常是一个显示在当前活动前面的小窗口。下面的活动失去焦点而由对话框接受所有的用户交互。对话框通常被用来当做通知或者运行中的应用程序相关的短暂活动。
Android API支持下面的对话框对象类型:
阅读全文…
Android
创建菜单 Creating Menus
菜单是任何应用程序的一个重要部分,提供了透露应用程序功能和设置的通用接口。Android为开发者提供了一个简单的编程接口来实现各种条件下的标准化应用程序菜单。
Android提供了三种基础菜单类型:
阅读全文…
Android
最近评论