AIR Helloworld 2 ,使用 Ant 脚本打包AIR程序

2010年3月4日 由 飞扬轻狂 没有评论 »

尝试多样化安装
== 安装并了解 Ant ==
Ant Helloworld
- http://blog.fallseir.com/2010/03/ant-helloworld/
== 配置 Air Ant 样例 ==
1、移动文件到项目指定的位置
2、配置build.xml
# 设置SDK_HOME 为安装的Air的路径
3、测试helloworld
> ant test
4、生成数字签名
> ant keystore
# 密码设置为 samplePassword
5、打包项目
> ant package
# 在控制台输入数字签名密码 samplePassword
# air安装包 在release目录中
——————————————-
build.xml 文件内容

<project>
    <!-- SDK properties -->
    <property name="SDK_HOME" value="D:\Program Files\Adobe\AdobeAIRSDK"/>
    <property name="ADL" value="${SDK_HOME}/bin/adl.exe"/>
    <property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/> 

    <!-- Project properties -->
    <property name="PROJ_ROOT_DIR" value="."/>
    <property name="APP_NAME" value="helloworld"/>
    <property name="APP_ROOT_DIR" value="${PROJ_ROOT_DIR}/src/html"/>
    <property name="APP_ROOT_FILE" value="${APP_NAME}.html"/>
    <property name="APP_DESCRIPTOR" value="${PROJ_ROOT_DIR}/${APP_NAME}-app.xml"/>
    <property name="AIR_NAME" value="${APP_NAME}.air"/>
    <property name="release"  location="${PROJ_ROOT_DIR}/release"/>
    <property name="assets"  location="${PROJ_ROOT_DIR}/src/assets"/>
    <property name="STORETYPE" value="pkcs12"/>
    <property name="KEYSTORE" value="sampleCert.p12"/> 

    <target name="init" depends="clean">
        <mkdir dir="${release}"/>
    </target> 

    <target name="test">
        <exec executable="${ADL}">
            <arg value="${APP_DESCRIPTOR}"/>
            <arg value="${APP_ROOT_DIR}"/>
        </exec>
    </target> 

    <target name="keystore" depends="init">
        <java jar="${ADT.JAR}" fork="true" failonerror="true">
            <arg value="-certificate"/>
            <arg value="-cn"/>
            <arg value="SelfSigned"/>
            <arg value="1024-RSA"/>
            <arg value="sampleCert.p12"/>
            <arg value="samplePassword"/>
        </java>
    </target> 

    <target name="package" depends="init">
        <java jar="${ADT.JAR}" fork="true" failonerror="true">
            <arg value="-package"/>
            <arg value="-storetype"/>
            <arg value="${STORETYPE}"/>
            <arg value="-keystore"/>
            <arg value="${KEYSTORE}"/>
            <arg value="${release}/${AIR_NAME}"/>
            <arg value="${APP_DESCRIPTOR}"/>
            <arg value="-C"/>
            <arg value="${APP_ROOT_DIR}"/>
            <arg value="${APP_ROOT_FILE}"/>
            <arg value="-C"/>
            <arg value="${assets}"/>
            <arg value="icons"/>
        </java>
    </target> 

    <target name="clean" description="clean up">
        <delete dir="${release}"/>
    </target> 

</project>

Ant Helloworld

2010年3月3日 由 飞扬轻狂 1条评论 »

使用Ant快速开始一个Helloworld程序

== 安装ant ==
1)、 下载最新版本的ant
2)、 安装ant
* 将ant安装包解压到安装目录
本文使用ant版本为 apache-ant-1.8.0
安装位置为 D:\Program Files\apache-ant-1.8.0
* 配置环境变量
添加变量 ANT_HOME = D:\Program Files\apache-ant-1.8.0
更新变量 PATH 在原有值后面添加 ;%ANT_HOME%\bin
* 测试
在命令行下输入 ant -v 查看ant版本
== 运行 Helloworld for java ==
* 编写 Helloworld.java
位置 E:\learn\ant\helloworld\src\oata\Helloworld.java

package oata;
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

* 编译并运行HelloWorld程序

# 创建目标路径
> mkdir \a build\classes
# 编译java源文件
> javac -sourcepath src -d build\classes src\oata\HelloWorld.java
# 执行helloworld程序
> java -cp build\classes oata.HelloWorld
# 构建 jar 文件
## 创建 jar 描述文件
> echo Main-Class: oata.HelloWorld>myManifest
## 打包jar文件
> mkdir build\jar
> jar cvfm build\jar\HelloWorld.jar myManifest -C build\classes .
## 通过jar 文件运行 helloworld 程序
> java -cp build\jar\HelloWorld.jar oata.HelloWorld

== 使用 ant 脚本 编译并执行 helloworld 程序 ==
- E:\learn\ant\helloworld\build.xml

<project>
    <target name="clean">
        <delete dir="build"/>
    </target>
    <target name="compile">
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes"/>
    </target>
    <target name="jar">
        <mkdir dir="build/jar"/>
        <jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
            <manifest>
                <attribute name="Main-Class" value="oata.HelloWorld"/>
            </manifest>
        </jar>
    </target>
    <target name="run">
        <java jar="build/jar/HelloWorld.jar" fork="true"/>
    </target>
</project>

* 执行Ant脚本

# 执行ant脚本,编译打包并运行helloworld程序
> ant compile jar run
# 查看Ant项目中可用的Target
> ant -p

—————-
== 优化后的Ant脚本 ==

<project name="HelloWorld" basedir="." default="main">
    <property name="src.dir"     value="src"/>
    <property name="build.dir"   value="build"/>
    <property name="classes.dir" value="${build.dir}/classes"/>
    <property name="jar.dir"     value="${build.dir}/jar"/>
    <property name="main-class"  value="oata.HelloWorld"/>
    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>
    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
    </target>
    <target name="jar" depends="compile">
        <mkdir dir="${jar.dir}"/>
        <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
            <manifest>
                <attribute name="Main-Class" value="${main-class}"/>
            </manifest>
        </jar>
    </target>
    <target name="run" depends="jar">
        <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
    </target>
    <target name="clean-build" depends="clean,jar"/>
    <target name="main" depends="clean,run"/>
</project>

参考:Hello World with Ant

AIR Helloworld

2010年3月2日 由 飞扬轻狂 没有评论 »

使用AIR快速开始一个Helloworld程序

关键步骤:
1、安装AIR环境
2、安装SDK
3、构建Helloworld项目
4、安装并测试Helloworld项目
==========================================
具体细节:
1、安装AIR环境
* 到Adobe下载AIR环境
* 安装AIR环境 ,本文使用的是 Adobe AIR 1.5.3.9130 版本
————————————————–
2、安装SDK
* 到Adobe下载SDK
* 将下载到的SDK包解压并放置到运行目录
本文下载的SDK版本为 adt version “1.5.3.9120″
本文SDK安装目录为 D:\Program Files\Adobe\AdobeAIRSDK
* 配置环境变量 将AIR SDK的工作路径添加到 PATH 变量中,(使adt和adl可以在任意目录以短路径方式启动)
PATH = [... 保持原有的PATH值不变];D:\Program Files\Adobe\AdobeAIRSDK\bin
————————————————–
3、构建Helloworld项目
* 创佳Helloworld项目
1)、创建Helloworld目录
本文全路径为 e:\learn\AIR\Helloworld
进入 Helloworld ,开始构建 helloworld 应用
除非明确说明 否则之后描述的文件和路径都是相对于此路径开始
2)、创建项目描述文件 HelloWorld-app.xml

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.5">
    <id>examples.html.HelloWorld</id>
    <version>0.1</version>
    <filename>HelloWorld</filename>
    <initialWindow>
        <content>HelloWorld.html</content>
        <visible>true</visible>
        <width>400</width>
        <height>200</height>
    </initialWindow>
</application>

3)、创建应用界面 HelloWorld.html

<html>
<head>
    <title>Hello World</title>
    <script type="text/javascript" src="AIRAliases.js"></script>
    <script type="text/javascript">
        function appLoad(){
            air.trace("Hello World");
        }
    </script> 

</head>
<body onLoad="appLoad()">
    <h1>Hello World</h1>
</body>
</html>

4)、测试应用
* 打开 cmd 并 cd 进入应用目录
* 运行命令 adl HelloWorld-app.xml
* > 系统将调用AIR运行时,启动一个400×200的窗口应用并呈现Helloworld字符
* > 系统在控制台输出 Hello World 字符
————————————————–
4、安装并测试Helloworld项目
1)、生成自签名证书和密钥对
* 运行命令 adt –certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
* 系统将在当前目录生成密钥文件 sampleCert.pfx
2)、创建 AIR 安装文件
* 运行命令 adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.html AIRAliases.js
* 根据系统提示输入密钥文件的密码 samplePassword
* 系统将根据 helloworld-app.xml 的描述生成AIR应用程序,并将helloworld.html 和 airaliases.js 当作附加资源嵌入AIR应用程序中
3)、安装 Helloworld 应用
* 双击 helloworld.air 或在命令行下执行 hellowrold.air 命令
* 系统调用本地的air运行时环境解释helloworld.air并开始应用安装
* 根据系统提示进行安装
4)、当安装完成后,通过双击helloworld的快捷方式或到安装目录打开helloworld.exe 即可运行helloworld应用
————————————————–
参考:
* 使用 AIR SDK 创建第一个基于 HTML 的 AIR 应用程序http://help.adobe.com/zh_CN/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7ecc.html
——————————————
资源:
* 使用 HTML 和 Ajax 开发 Adobe AIR 1.5 应用程序
* 针对 HTML 开发人员的 AIR 语言参考
* Flex 3.2 语言参考
* Adobe AIR 开发人员中心

关于CRM的认知

2010年2月21日 由 飞扬轻狂 没有评论 »

– 飞扬的认知,2010-02-21, http://blog.fallseir.com/2010/02/about_crm

一、什么是CRM
CRM(Customer Relationship Management)客户关系管理
CRM 是一个围绕客户为中心的,通过IT手段,来增进客户沟通,提升客户关怀,从而影响客
户决策,并最终达到创利目的的企业经营策略。
其中的IT手段,通常指通过CRM系统来收集、分析和反馈客户行为数据,来更便利的实现同客户
的沟通和更有效的进行客户行为分析。

二、CRM 的组成
通常的CRM系统包含客户交互和行为分析两大部分。
1、客户交互
用于收集客户信息,记录客户行为日志,及对进行客户关怀和解答客户提问;
客户交互系统由电话呼叫中心(CTI)、短信(SMS)、邮件(EMAIL)、线上应用(WEB Site)、
及即时通讯(IM)等一切可能的方式整合在一起来实现同用户的交互,并收集用户行为。

2、行为分析
结合业务逻辑对客户行为日志进行分析,来为客户提供更具针对性的客户关怀;
通过对客户群体的行为日志进行统计,来评估往期的业务效果和指导未来的产品决策。

三、CRM 系统的成本
1、系统支持的交互平台、方式和规模
不同的交互平台(CTI、SMS、EMail、WEB Site、IM、…)及平台上的不同的实现方式(
人工客服、自助服务、主题活动、客户交流、客户关怀、…) 会有不同的效果的成本。
例如,一个极端的例子是一部电话通过全人工实现的电话客服和通过CTI实现的带有自助服务的
电话呼叫中心都被称作客服电话,用于进行客户服务和客户关怀。
2、系统支持的行为分析策略、数量和数据量级
分析策略需要根据不同的业务逻辑和客户行为数据进行定制,策略的个数和分析的行为数据量级
会对严重的影响到系统的结构和组织方式。
比如,从100条售后客户行为中找到来自北京的有跨地域维修记录的用户要比从1,000,000条客户
行为中分析更容易(大数据量的查找需要进行预处理才能达到可以接受的速度)。

四、CRM 系统的实施的前提
1、了解当前业务环境,分析业务领域并确认需求方向,规模
2、客观描述当前IT环境,以便系统可以尽可能的整合现有IT资源
3、确认需求和远景,确定必要的需求和可能的需求(圈地和画饼)

简单来说 CRM 就是通过同客户的交互对客户信息进行收集,并围绕对客户行为分析进行经营的策略。
CRM系统只是用于完成CRM的一个工具,前端的界面只是表象,卖点也许应该更直接的围绕这个工具
能直接或间接的为企业带来多少利润和加强了多少客户体验。

笔记:安装FreeBSD & 应用

2009年6月2日 由 飞扬轻狂 没有评论 »

freebsd 7.2
根据提示进行安装 并选择最小安装
在进行系统配置时
* 关闭ssh外的所有服务
* 配置ip地址 配置时区
* 添加普通用户用来远程连接ssh,设置组为 wheel 这样可以使用su访问root
* 设置管理员密码

开启用户的su权限,使用su命令的用户必须存在与wheel组中
# pw groupmod wheel -m username
检查用户是否正确的添加到组中
# pw groupshow wheel

mount cdrom 映射光驱
# ll /dev/acd*
> acd0t01
# cd /cdrom
# touch CDROM-NOT-mounted-mcd.txt
# mount -t cd9660 /dev/acd0t01 /cdrom

- python
安装python
# cd /cdrom/packages
# pkg_add -p/home/app/python25 /cdrom/packages/python/python25-2.5.4_1.tbz
映射命令
# ln -s /home/app/python25/bin/python /usr/local/bin/python
– require
bsddb databases/py-bsddb
gdbm databases/py-gdbm
sqlite3 databases/py-sqlite3
tkinter x11-toolkits/py-tkinter

# pkg_add -p/home/app/sqlite3 /cdrom/packages/databases/sqlite3-3.6.11.tbz
映射错误的链接库
# ln -s /home/app/sqlite3/lib/libsqlite3.so.8 /usr/local/lib/libsqlite3.so.8
# cd /usr/local/lib/
# ln -s libsqlite3.so.8 libsqlite3.so
映射命令
# ln -s /home/app/sqlite3/bin/sqlite3 /usr/local/bin/sqlite3

- emacs 安装emacs编辑器
# pkg_add -p/home/app/emacs /cdrom/packages/editors/emacs-22.3.tbz
# ln -s /home/app/emacs/bin/emacs /usr/local/bin/emacs

解除绑定的光驱
#umount /cdrom

注:通过pkg_add 自动获取安装包
# pkg_add -r python
-r 选项将导致pkg程序自动从配置的packages网络镜像获取指定应用最新的安装包

[:p] –飞扬.轻狂 [fallseir.lee]

http://fallseir.livejournal.com

http://feed.feedsky.com/fallseir