满共50道题, 大概想起来45道, 人上了年纪后脑子就不灵光了, 只能大致描述下题目主要内容, 能用中文描述的用了中文, 搞不定的保持英文. 有些选项也记得不全, 仅供复习参考.
已整理成PDF, 下载页面: http://dl.dbank.com/c0ygcsiqso
Update:
又想起来一道Air题目:
在Mac上如何删除Air程序: 大致选项:
1. 运行Uninstall Script; 2. 删除文件; 3. 运行安装包; 4. 删除快捷方式一类的…具体项目及不太清楚了, 5选2;
首先了解一下Adboe 认证体系:
先说下我的基本情况:
写了3年纯ActionScript代码, 很少用MXML, 以及Style, Fitler, Validator, Formater等操作. 所以下面的资料中很少有关于Flex 架构及AS的, 如果需要恶补AS, 推荐一本<<Essential ActionScript 3.0>>中文版在08年就已出版, 书不错, 只是翻译的不够流畅.
下面列一下这两天准备ACE考试的资料:
(http://www.adobe.com/support/certification/exams/pdfs/ACE_Exam_Guide_FlexAIR.pdf), 查看考试涉及内容及比例.
作为一个ActionScript程序员, 长期不用MXML, 不用甚至没用过各类UI style, filters, blends以及各类layout都要多多准备.
另外, AIR部分占20%, 对文件操作, SQL操作, Air打包安装, 签名, 个性化窗口均有考察, AS程序员不可不防, 这次考试我AIR部分正确率只有60%…
除了考试大纲之外:Third-party books and resources
The following third-party books and resources will help you with your training:
个人感觉不错的资料:
1. 排第一位的, 自然是Flex文档了: http://livedocs.adobe.com/flex/3/html/help.html 知道4的已经有中文版了, 似乎3的也曾见过中文版, 总之还是看英文版吧, 应该熟悉而不熟悉的操作, Class都应该了解清楚;
(这书是去年在某次Adobe上海开发者日的时候狗屎运抽奖抽到的, 一直以来觉得自己Flex还挺良好, 翻都没翻过)
中文名字起的有点大了, 但相比前文所述尚未出版的《Flex 4:开发富媒体应用》要深入一些, 全面一些. 但相对来说, 过于依赖MXML — 很少用, 所以看MXML代码就头大. 在第300多页的时候终于看到一个完整的Class…
不过总体来说, 这本书中Flex相关的知识点算比较全面了, 花了几个小时通读全文, 学了若干MXML标签, 才得以应付得了考试.
下载地址: http://software.pxldesigns.com/attest/index.php (AIR程序)
内含大致有150道题左右, 基本涉及到大纲中的考点 – (考试题目内容多出自文档中)
第一次做的时候正确率只有50%, 对一个纯种AS程序员来说真是伤不起, 我写了接近三年的AS代码啊, 不说67%的通过底线, 至少也得做个60%吧, 伤不起!
于是挨着大纲把相关知识点过了一遍 – Sytle, 没用过! filter 没用过! Effect 没用过! AIR签名? 不懂! AIR 无缝安装? SQLLite?文件操作? 都TM三年前的事了…
根据这次考试的经验, 评论一下这些模拟题, 涵盖范围较全面, 但有些题目出的很偏 – 尤其是各类Filter/BlendMode/Validator/Formater的名字, 好些题目选俩, 答案里说了: 在真实考试中可能有很多类似题目尤其是Validator, 譬如以下题目:
1. 选择两个Flex中的Validator/Formatter/BlendMode…
2. 选择两个不是关键字, 可以作为ID使用的…
3. 选择不存在于Data Management service的两个方法
这些题目基本靠背诵, 但在真正考试中, 我一个都没碰到过, 因此基本可略过这些低层次的题目, 但相关的知识点都是必看的. 可逐个题目做一下, 检查考点是否都已经熟悉.
GAE关于Java的资料这是不多, 而且多数都要翻墙, 昨晚做个分页, 差点累死啊!
闲言碎语不多说, 上代码:
DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService(); Query query = new Query("User"); query.addFilter("name", FilterOperator.NOT_EQUAL, ""); // 设置Filter query.addSort("name", SortDirection.ASCENDING); // 要设置Sort, 则Filter的Attribute必须Sort, 且要放在其他Sort之前(Attribute要Index) query.addSort("ip", SortDirection.DESCENDING); // 设置Sort, 要在Filter对应Attribute的Sort之后 PreparedQuery pq = datastoreService.prepare(query); List listUsers = pq.asList(FetchOptions.Builder.withLimit(2)); // 设置Limit
If a query has both a filter with an inequality comparison and one or more sort orders, the query must include a sort order for the property used in the inequality, and the sort order must appear before sort orders on other properties.
This query is not valid, because it uses an inequality filter and does not order by the filtered property;
文档: http://code.google.com/appengine/docs/java/datastore/queries.html#Restrictions_on_Queries
翻不了墙的同学可以看这个 – 主要是分页:
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.appengine.api.datastore.Cursor; import com.google.appengine.api.datastore.DatastoreService; import com.google.appengine.api.datastore.DatastoreServiceFactory; import com.google.appengine.api.datastore.Entity; import com.google.appengine.api.datastore.FetchOptions; import com.google.appengine.api.datastore.PreparedQuery; import com.google.appengine.api.datastore.Query; import com.google.appengine.api.datastore.QueryResultList; public class ListPeopleServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Query q = new Query("Person"); PreparedQuery pq = datastore.prepare(q); int pageSize = 15; resp.setContentType("text/html"); resp.getWriter().println("
关于分页的另一篇:
GAE的 Cron Job是通过配置文件实现的 – “Cron jobs are defined in cron.yaml
(Python) or cron.xml
(Java)”
Java版的cron.xml配置文件位于WEB-INFO目录下(位置同web.xml), 典型的一个:
<?xml version=”1.0″ encoding=”UTF-8″?>
<cronentries>
<cron>
<url>/GetIPLocation</url>
<description>get the ip location by api every 2 minutes</description>
<schedule>every 2 minutes</schedule>
</cron>
</cronentries>
该任务每两分钟执行一次, GepIPLocation是一个Servlet.
时间格式举例:
every 12 hours
every 5 minutes from 10:00 to 14:00
2nd,third mon,wed,thu of march 17:00
every monday 09:00
1st monday of sep,oct,nov 17:00
every day 00:00
API地址: http://code.google.com/appengine/docs/java/config/cron.html (可能需要翻墙)
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.