05月5日 关于算法和Android

南阳谷歌开发者社区于2013年5月5日在南阳金凯悦东方酒店罗马厅的举办了关于“算法和Android”的活动,此次活动报名78人,实际到场69人。会议G+直播,同时新浪微博和G+为大家准备有文字直播,没到场的童鞋只能瞅瞅啦!

先晒晒这次的纪念门票吧,还有这次有啥礼物呢。

陆陆续续开始签到了。

视频同步直播已经开始,提前入场的朋友们在观看Google相关视频。

还有二十分钟,已经满座了。服务员,加椅子!

老规矩,开场白,介绍GDG的相关。

张洁烽,来自腾讯,带来了关于“常用数据结构和算法对程序性能的优化”的技术分享。

一.通过两个常见问题对数据结构和算法优化程序有个初步的认识

1.通过简单查找,二分查找,平衡二叉树查找三种不同方法来查找的时候对程序性能的影响

2.通过Fibonacci数列问题引入如何通过递推和矩阵来优化程序。

二:通过两个实际案例来分析在程序中如何使用数据结构和算法

1.通过添加Tips标签问题来分析,分析后发现该问题符合树的一些特性,然后将原问题转化,

最后比较几种解决方法这个问题的优缺点。

2.单词分组问题:通过该问题我们看到了常用解决方案与利用一些常用算法对程序时间上的

区别,通过该问题,我们认识到对于一些比较复杂的问题,我们应该努力思考问题中各个

元素之间的联系,然后思考出一些算法对问题解法进行优化,这样我们的程序将会更加

高效,健壮。

iSafer,也是5月4日的分享者,来自一创业公司,带来了关于Maven在Android项目管理中的应用 经验分享。

一. 开发中遇到的困难

1. jar 包级依赖管理:

1.1. 开发人员为了搭建项目框架, 需要到多个不同的 jar 包开发网站下载指定版本的文件;

1.2. 开发人员需要考虑 jar 的存储位置, 以及 jar 包在开发期和部署期的去留问题;

2. 项目级依赖管理:

2.1. 大型项目往往由多个子项目组成, 其各自具有独特的依存关系, 需要开发人员手工调整项目的构建顺序;

2.2. Android 等工程有特殊的类库型项目, 相当于一个可被重复使用的插件, 需要单独指定其位置和版本;

3. 开发与生产环境的差异:

3.1. 脚本与IDE在项目构建和测试中的不同:

3.1.1. IDE 适用人机交互, 可以快速 / 直观地查看构建过程和结果, 但是生产环境往往需要项目静默式构建;

3.1.2. IDE 在人机交互方面消耗了大量的可用资源(内存 / CPU / 磁盘空间...), 这是生产环境所不允许的;

3.1.3. IDE 根据厂商不同, 其构建过程完全封闭, 构建结果的输出形式往往过于单一, 不便于生产环境对结果进行分离和采集;

4. 如何测试:

程序员往往不愿意主动写测试, 或者由于疏忽, 常常忘记写测试;

二. Maven 对开发中的困难的解决

2.1. Maven 是什么?

2.1.1. Maven 是一个软件项目管理及自动构建工具. 基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤.

2.1.2. Maven 使用项目对象模型(Project Object Model)进行配置;

2.1.3. Maven 有自己对项目的生命周期的定义: process-resources --> compile --> process-test-resources --> test-compile --> test --> package --> install --> deploy

三. 应用示例!

来自新浪的 牛帅 跟大家分享算法在项目中的应用

1.make是一个工具程序。它读取叫做“makefile”的文件,根据一定的语法规则自动化建构软件。在实际工作时,经常会碰到需要不断修改源程序,然后再编译运行的情况,如果手动编译会浪费很多时间,而是用make工具或衍生的类似工具,都能高效的完成,符合自动化构建的要求。

2.make工具的实现和拓扑排序有较大的联系。而拓扑排序是很多算法的基础,并且和离散数学、图论有着紧密的联系。在实际生活中也有很多用到拓扑排序的地方,比如在大学相关课程的教学安排中,拓扑排序就充分发挥了它的作用。

3.字典树是最常用的算法之一。它是一种树形的数据结构,能够高效的完成插入、查找功能,在很多高级算法中,都会使用字典树作为算法的载体,比如文本查找、搜索引擎某些查找功能的实现,就是基于字典树和其它算法的结合。

茶歇的照片困乱了,来瞅瞅有木有自己。

感谢南京GDG分享的PPT,isafer 在分享一个GFW如何残害又一个Android攻城狮的例子

下面进行的快速分享环节,iSafer现场写了随机数生成器,随机抽取门票票号的方式选出了王建昌,他跟大家分享的是嵌入式的低功耗方面的知识。

黄伟昌,分享“我的小车”,自己设计的硬件作品。

接下来的就不一一点名啦,小编记不住名字了,场面不可控,程序猿们很萌,很油墨。

发个福利,大美女,被一群宅男“逼”出来为大家快速分享HTML方面经验,并为现场清唱一首什么什么来着,小编只顾着得瑟呢,原来技术圈子也有高质量MM。

时间不早了,服务员貌似也等不及了,外边也飘起了雨,OMG,送上一组合影,一二三see you下次聚会吧。