Enviar pesquisa
Carregar
Avoscloud 2
•
3 gostaram
•
3,377 visualizações
D
dennis zhuang
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 35
Baixar agora
Baixar para ler offline
Recomendados
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
Alan Tsai
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Alan Tsai
Nginx+lua+py构建高性能处理服务
Nginx+lua+py构建高性能处理服务
OpenRestyCon
04 awsにおけるネットワーク(vpc)
04 awsにおけるネットワーク(vpc)
anzhong70
使用Terraform管理系統架構
使用Terraform管理系統架構
Tech Podcast Night
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
点评新架构
点评新架构
dennis zhuang
Erlang简介
Erlang简介
dennis zhuang
Recomendados
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
Alan Tsai
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Azure Taiwan - Keep azure cost down (Azure 成本管控)
Alan Tsai
Nginx+lua+py构建高性能处理服务
Nginx+lua+py构建高性能处理服务
OpenRestyCon
04 awsにおけるネットワーク(vpc)
04 awsにおけるネットワーク(vpc)
anzhong70
使用Terraform管理系統架構
使用Terraform管理系統架構
Tech Podcast Night
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
点评新架构
点评新架构
dennis zhuang
Erlang简介
Erlang简介
dennis zhuang
Java多线程常见陷阱
Java多线程常见陷阱
dennis zhuang
Aviator——轻量级表达式执行引擎
Aviator——轻量级表达式执行引擎
dennis zhuang
AVOSCloud简介——万象移动云平台
AVOSCloud简介——万象移动云平台
dennis zhuang
Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍
dennis zhuang
CQL 实现
CQL 实现
dennis zhuang
Clojure概览
Clojure概览
dennis zhuang
Clojure的魅力
Clojure的魅力
dennis zhuang
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
dennis zhuang
我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具
dennis zhuang
Clojure 1.8 Direct-Linking WWH
Clojure 1.8 Direct-Linking WWH
dennis zhuang
Nio trick and trap
Nio trick and trap
dennis zhuang
Java 与 CPU 高速缓存
Java 与 CPU 高速缓存
dennis zhuang
Mesos intro
Mesos intro
dennis zhuang
Elixir introd
Elixir introd
dennis zhuang
Erlang scheduler
Erlang scheduler
dennis zhuang
Hystrix 介绍
Hystrix 介绍
dennis zhuang
My DevOps Tour 0.1
My DevOps Tour 0.1
Chu-Siang Lai
Artifacts management with CI and CD
Artifacts management with CI and CD
Chen-Tien Tsai
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Du Yamin
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
Will Huang
链家网存储架构变迁,吕毅
链家网存储架构变迁,吕毅
毅 吕
MBaaS
MBaaS
aikko
Mais conteúdo relacionado
Destaque
Java多线程常见陷阱
Java多线程常见陷阱
dennis zhuang
Aviator——轻量级表达式执行引擎
Aviator——轻量级表达式执行引擎
dennis zhuang
AVOSCloud简介——万象移动云平台
AVOSCloud简介——万象移动云平台
dennis zhuang
Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍
dennis zhuang
CQL 实现
CQL 实现
dennis zhuang
Clojure概览
Clojure概览
dennis zhuang
Clojure的魅力
Clojure的魅力
dennis zhuang
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
dennis zhuang
我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具
dennis zhuang
Clojure 1.8 Direct-Linking WWH
Clojure 1.8 Direct-Linking WWH
dennis zhuang
Nio trick and trap
Nio trick and trap
dennis zhuang
Java 与 CPU 高速缓存
Java 与 CPU 高速缓存
dennis zhuang
Mesos intro
Mesos intro
dennis zhuang
Elixir introd
Elixir introd
dennis zhuang
Erlang scheduler
Erlang scheduler
dennis zhuang
Hystrix 介绍
Hystrix 介绍
dennis zhuang
Destaque
(16)
Java多线程常见陷阱
Java多线程常见陷阱
Aviator——轻量级表达式执行引擎
Aviator——轻量级表达式执行引擎
AVOSCloud简介——万象移动云平台
AVOSCloud简介——万象移动云平台
Ihome inaction 篇外篇之fp介绍
Ihome inaction 篇外篇之fp介绍
CQL 实现
CQL 实现
Clojure概览
Clojure概览
Clojure的魅力
Clojure的魅力
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
我在 Mac 上的常用开发工具
我在 Mac 上的常用开发工具
Clojure 1.8 Direct-Linking WWH
Clojure 1.8 Direct-Linking WWH
Nio trick and trap
Nio trick and trap
Java 与 CPU 高速缓存
Java 与 CPU 高速缓存
Mesos intro
Mesos intro
Elixir introd
Elixir introd
Erlang scheduler
Erlang scheduler
Hystrix 介绍
Hystrix 介绍
Semelhante a Avoscloud 2
My DevOps Tour 0.1
My DevOps Tour 0.1
Chu-Siang Lai
Artifacts management with CI and CD
Artifacts management with CI and CD
Chen-Tien Tsai
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Du Yamin
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
Will Huang
链家网存储架构变迁,吕毅
链家网存储架构变迁,吕毅
毅 吕
MBaaS
MBaaS
aikko
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
84zhu
Appium手机自动化测试 testerhome_bqcon版本
Appium手机自动化测试 testerhome_bqcon版本
延胜 黄
App house
App house
Fred Chien
Global Azure Bootcamp 2015 Taichung : Mobile service
Global Azure Bootcamp 2015 Taichung : Mobile service
Ian Chen
SITCON 2019 - 誰說工程師一定爆肝!一起走入雲端世界吧
SITCON 2019 - 誰說工程師一定爆肝!一起走入雲端世界吧
scott liao
Appium手机自动化测试 tester home公开课
Appium手机自动化测试 tester home公开课
lihuazhang
Global Azure Bootcamp 2015 at Study4
Global Azure Bootcamp 2015 at Study4
Kyle Shen
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
Huang-I Yang
2014-0430 when andro meets android - android taipei
2014-0430 when andro meets android - android taipei
Andro Chen Chun-An
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
Shengyou Fan
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
Alan Tsai
Using google appengine_1027
Using google appengine_1027
Wei Sun
Using google appengine (2)
Using google appengine (2)
Wei Sun
2018 beijing azure bootcamp-azure migration - 2018 北京 azure bootcamp azure 搬遷...
2018 beijing azure bootcamp-azure migration - 2018 北京 azure bootcamp azure 搬遷...
Alan Tsai
Semelhante a Avoscloud 2
(20)
My DevOps Tour 0.1
My DevOps Tour 0.1
Artifacts management with CI and CD
Artifacts management with CI and CD
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
链家网存储架构变迁,吕毅
链家网存储架构变迁,吕毅
MBaaS
MBaaS
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
Appium手机自动化测试 testerhome_bqcon版本
Appium手机自动化测试 testerhome_bqcon版本
App house
App house
Global Azure Bootcamp 2015 Taichung : Mobile service
Global Azure Bootcamp 2015 Taichung : Mobile service
SITCON 2019 - 誰說工程師一定爆肝!一起走入雲端世界吧
SITCON 2019 - 誰說工程師一定爆肝!一起走入雲端世界吧
Appium手机自动化测试 tester home公开课
Appium手机自动化测试 tester home公开课
Global Azure Bootcamp 2015 at Study4
Global Azure Bootcamp 2015 at Study4
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
2013 輔大資工 暑期宅學營 PhoneGap 跨平台任我玩,HTML5 無痛開發 App
2014-0430 when andro meets android - android taipei
2014-0430 when andro meets android - android taipei
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
Using google appengine_1027
Using google appengine_1027
Using google appengine (2)
Using google appengine (2)
2018 beijing azure bootcamp-azure migration - 2018 北京 azure bootcamp azure 搬遷...
2018 beijing azure bootcamp-azure migration - 2018 北京 azure bootcamp azure 搬遷...
Avoscloud 2
1.
基于Clojure构建的 移动云平台 AVOS-庄晓丹 xzhuang@avos.com 13年6月23⽇日星期⽇日
2.
关于我 • 6年的码农 • 淘宝干过三年的Java中间件 •
⺫⽬目前在AVOS.com • Twitter : @killme2008 • Weibo: @AVOS-dennis • Github: killme2008 13年6月23⽇日星期⽇日
3.
AVOS 13年6月23⽇日星期⽇日
4.
AVOS 13年6月23⽇日星期⽇日
5.
AVOS 13年6月23⽇日星期⽇日
6.
AVOS 13年6月23⽇日星期⽇日
7.
AVOS 13年6月23⽇日星期⽇日
8.
AVOSCloud • Parse.com 美国移动端云平台 •
Facebook刚刚收购 • 我们的尝试:AVOSCloud • 内部快速开发平台 • 对外开放? 13年6月23⽇日星期⽇日
9.
有什么⽤用? • 有什么⽤用?从有什么谈起: • 数据管理
RESTFul service • Push notification • Cloud code • File storage • Hosting? 13年6月23⽇日星期⽇日
10.
数据管理 • Object的增删改查 • Relation映射 •
⼀一对⼀一 • ⼀一对多 • 复杂查询 13年6月23⽇日星期⽇日
11.
• curl -X
POST http://avoscloud.com/1/classes/Post -d ‘{“user”: {“__type”:”Pointer”,”className”:”_User”,“objectId”:”xxxxxx”} ,“name” : “dennis” }’ • Pointer,多对⼀一关系 • Relation, 多对多关系 13年6月23⽇日星期⽇日
12.
推送服务 13年6月23⽇日星期⽇日
13.
Cloud code • 业务逻辑怎么办? •
对象参数校验 • 计算分数 • 计数 • 排序 • http crawler etc. • Cloud code: 采⽤用javascript编写业务逻辑 • 版本化管理 • ⾃自动部署 • ⽇日志 13年6月23⽇日星期⽇日
14.
13年6月23⽇日星期⽇日
15.
AVOSCloud • 覆盖了parse.com 90%以上功能 •
做到API完全兼容 • 提供ios,android,javascript SDK • 让开发移动app简单起来 13年6月23⽇日星期⽇日
16.
⻢马上开放,敬请期待 13年6月23⽇日星期⽇日
17.
Clojure在哪⾥里? 13年6月23⽇日星期⽇日
18.
系统 13年6月23⽇日星期⽇日
19.
服务端 13年6月23⽇日星期⽇日
20.
Clojure在哪⾥里? • API service:
提供REST API调⽤用,集成各⼦子系统 • clojure • Push notification: ios和android的通知推送服务 • clojure • Cloud code • nodejs 13年6月23⽇日星期⽇日
21.
统计 • API service: •
3500+ Clojure代码 • 176 Java代码 • Push service • 273⾏行 Clojure代码 • 2个⼈人,2个月 13年6月23⽇日星期⽇日
22.
框架 • Web MVC:
compojure • JSON: data.json • mongodb: monger • database: korma • Logging: tools.logging • Web server: ring,jetty • Others: clj-http,clj- time,environ,hooke,core.cache etc. 13年6月23⽇日星期⽇日
23.
Why clojure? • 不想⽤用Java: •
对⽐比某项⺫⽬目:3万⾏行Java代码, 900+⾏行XML 配置,部署测试极其痛苦 • 也许不公平,但是很说明问题 • 时间紧迫,配置、重启、繁琐的代码、 类、接⼝口、臃肿的分层......统统不要 • ⽣生命苦短,我⽤用Clojure 13年6月23⽇日星期⽇日
24.
Why clojure? • 你好,我好,⼤大家好:美味书签,美味 爱读,玩拍...... •
最最重要的是.... 13年6月23⽇日星期⽇日
25.
够酷:哥会Clojure 13年6月23⽇日星期⽇日
26.
收获 • 轻松的编程⽂文化 • Clojure程序库都短⼩小精悍 •
易于理解 • 易于hack,按需定制。 • REPL,交互式编程 • 快速实验 • 减少测试代码 • 分层减少,代码减少,配置减少,减少脑细胞死亡。 13年6月23⽇日星期⽇日
27.
13年6月23⽇日星期⽇日
28.
收获 • 抛弃Java语⾔言,拥抱Java世界 • 你不必创造新的库 •
直接使⽤用 • 包装 • 扩展:macro,protocol • 重⽤用程序结构,创造你的语⾔言 • ⽆无缝接⼊入扩展 13年6月23⽇日星期⽇日
29.
收获 • 测试仍然必不可少 • 单元测试意义减弱 •
接⼝口测试任重道远 • ⽆无测试,不重构 13年6月23⽇日星期⽇日
30.
收获 • Clojure世界也需要《重构》 • Clojure也有坏味道 •
rename,extract function,move function... • 抽象宏替代重复代码结构 • 使⽤用多重⽅方法替代条件语句 • 合并let语句 • 更多技巧,需要我们⼀一起探索总结。 13年6月23⽇日星期⽇日
31.
收获 • 熟悉Clojure惯⽤用法 • ⽤用⼀一⻔门,爱⼀一⻔门 •
更短的代码 • 社区交流 • 最后,也许是性能 • 怎么熟悉? • 多读:clojure.core,开源项⺫⽬目 • 多写:快开通github帐号,加⼊入⼀一家使⽤用clojure的公 司。 13年6月23⽇日星期⽇日
32.
收获 • 性能: 不要过早优化,以实际测试和profile为准 •
好消息:你⼏几乎不⽤用担⼼心 • Clojure⽣生成的字节码很⾼高效 • type hint,transient集合,uncheck运算等 • 坏消息: • Clojure⽣生成的字节码不总是⾼高效:反射,不必要的转型等。 • 启动 • 不可变对象对GC的压⼒力,Java集合框架仍然需要放⼊入⼯工具箱。 • STM的代价,线程和锁仍然需要放在你的⼯工具箱。 • 好的Clojure程序员,⼀一定是好的Java程序员。 13年6月23⽇日星期⽇日
33.
收获 • 公司:保质保量,完成了⼯工作 • 个⼈人:锤炼了技能,开阔了眼界 •
还有:我终于可以写个slide吹吹⽔水 13年6月23⽇日星期⽇日
34.
13年6月23⽇日星期⽇日
35.
⼲⼴广告时间 • 我们在招聘⼯工程师 • 唯⼀一的要求是靠谱 •
http://team.mei.fm/career 13年6月23⽇日星期⽇日
Baixar agora