SlideShare a Scribd company logo
1 of 34
Download to read offline
Beyond Coding
WangDong@xueqiu.com
xueqiu.com
Define What We Say Coding Here
只为了实现功能
缺少优雅的追求
缺少工程化理念
缺少系统性思维
xueqiu.com
Agenda
Language and Code
Beyond coding
Far beyond that
And then ...
xueqiu.com
Language and Code
语言和工具决定思路
每年学习一 语言
xueqiu.com
COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID.    
HELLO-WORLD.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hello World!".
STOP RUN.
xueqiu.com
Assembly
.MODEL small
.STACK 100h
.DATA Hello DB 'Hello World!',13,10,'$'
.CODE
mov  ax,@data
mov  ds,ax                  
mov  ah,9                  
mov  dx,OFFSET Hello        
int  21h                    
mov  ah,4ch                
int  21h                  
END
xueqiu.com
C
#include <stdio.h>
int main() {
    printf("Hello World!n");
    return 0;
}
xueqiu.com
Objective-C
  #import <Cocoa/Cocoa.h>
  @interface hello : NSObject {
  }
  @end
  
  @implementation hello
  
  -(void)awakeFromNib {
       NSRunAlertPanel(@"Message from your Computer", @"Hello,
world!", @"Hi!", nil, nil);
  }
  
  @end
xueqiu.com
Java
class Hello {
    public static void main(String ars[]) {
        System.out.print("Hello World!n");
    }
}
xueqiu.com
Scala
object HelloWorld {
def main(args: Array[String]) = {
Console.println("Hello,
world!");
}
}
xueqiu.com
Common Lisp
(format t "Hello world!")
xueqiu.com
Scheme
(display "Hello, world!n")
xueqiu.com
Haskell
module HelloWorld (main) where
main = putStr "Hello World!n"
xueqiu.com
Erlang
-module(hello).
-export([hello_world/0]).
hello_world() -> ifwrite("Hello
World!n").
xueqiu.com
Lua
print "Hello World!n"
xueqiu.com
Python
print "Hello World!"
xueqiu.com
Ruby
print "Hello World!n"
xueqiu.com
JavaScript
document.write('Hello World');
xueqiu.com
Beyond Coding
代码结构
调试和日志
测试
发过程
系统架构
xueqiu.com
代码结构
DRY (Don’t repeat yourself)
简单
优雅
避免过度设计
xueqiu.com
调试和日志
使用方便的调试工具
代码架构支持 活方便的日志输出
统一的日志收集与分析 (Syslog /
Scribe / Fluentd)
xueqiu.com
测试
不只是验证正 性
持续集成的一部分
持续的信心
单元测试
集成测试
界面测试
xueqiu.com
发过程
发周期与过程
代码管理
代码审查
持续集成
灰度发布
自动化部署
xueqiu.com
系统架构
分布式
高可用
高并发
虚拟化
云计算?
xueqiu.com
Far Beyond That
运维
安全
全文搜索
推荐
数据 掘
数据访问层
xueqiu.com
运维
新设备服务安装
补丁升级
监控报警
自动化
还是自动化
好多服务器的自动化
xueqiu.com
安全
代码安全
系统安全
传输安全
xueqiu.com
全文搜索
更准
更多因子
更大数据
更实时
更方便
xueqiu.com
推荐
Social Graph
基于内容推荐 (推荐与其以前喜欢的产品相似的产品)
协同过滤推荐 (在用户群中找到指定用户的相似用户,综合这些
相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预
测)
社会化过滤
xueqiu.com
数据 掘
股票交易数据
公司消息/新闻
UGC 内容
用户行为 (日志)
分类
聚类
相 性分析
实时处理
xueqiu.com
数据访问层
抽象统一的数据访问方式
系数据库/NoSQL/Cache/Search
Auto Sharding
xueqiu.com
And Then ...
Be Curious
Be Proactive
Be Productivity
Be Professional
xueqiu.com
推荐书目
Code Complete (代码大全)
The Pragmatic Programmer (程序员
修炼之道)
Design Patterns (设计模式)
Extreme Programming Explained
(解析 限编程)
Thanks
2011.12.23

More Related Content

Viewers also liked

Using intelligences to differentiate by learning profile
Using intelligences to differentiate by learning profileUsing intelligences to differentiate by learning profile
Using intelligences to differentiate by learning profileJeremy
 
батьки важливий фактор впливу на дітей підлітків
батьки важливий фактор впливу на дітей підлітківбатьки важливий фактор впливу на дітей підлітків
батьки важливий фактор впливу на дітей підлітківНаталія Москальова
 
Cambio De Unidades-Ej-1
Cambio De Unidades-Ej-1Cambio De Unidades-Ej-1
Cambio De Unidades-Ej-1Pedro Márquez
 
Sustantivos!!! Keep calm y estudia español
Sustantivos!!! Keep calm y estudia español Sustantivos!!! Keep calm y estudia español
Sustantivos!!! Keep calm y estudia español anitaloona
 
Desafios digitais de matemática
Desafios digitais de matemáticaDesafios digitais de matemática
Desafios digitais de matemáticaNascimentobr
 
Castaños garcia pablo_da2_i_3
Castaños garcia pablo_da2_i_3Castaños garcia pablo_da2_i_3
Castaños garcia pablo_da2_i_3Pablo Conapellido
 
Estadisticas de la seguridad vial en el Estado de Puebla
Estadisticas de la seguridad vial en el Estado de PueblaEstadisticas de la seguridad vial en el Estado de Puebla
Estadisticas de la seguridad vial en el Estado de PueblaNETWORKVIAL MEXICO
 
Cina carta igienica_contaminata
Cina carta igienica_contaminataCina carta igienica_contaminata
Cina carta igienica_contaminataLuigi Sirtori
 

Viewers also liked (14)

Using intelligences to differentiate by learning profile
Using intelligences to differentiate by learning profileUsing intelligences to differentiate by learning profile
Using intelligences to differentiate by learning profile
 
батьки важливий фактор впливу на дітей підлітків
батьки важливий фактор впливу на дітей підлітківбатьки важливий фактор впливу на дітей підлітків
батьки важливий фактор впливу на дітей підлітків
 
Cambio De Unidades-Ej-1
Cambio De Unidades-Ej-1Cambio De Unidades-Ej-1
Cambio De Unidades-Ej-1
 
Sustantivos!!! Keep calm y estudia español
Sustantivos!!! Keep calm y estudia español Sustantivos!!! Keep calm y estudia español
Sustantivos!!! Keep calm y estudia español
 
Rapp24427 713
Rapp24427 713Rapp24427 713
Rapp24427 713
 
Questions?
Questions?Questions?
Questions?
 
PUERTOS Y RANURAS
PUERTOS Y RANURASPUERTOS Y RANURAS
PUERTOS Y RANURAS
 
Indice
IndiceIndice
Indice
 
Desafios digitais de matemática
Desafios digitais de matemáticaDesafios digitais de matemática
Desafios digitais de matemática
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Castaños garcia pablo_da2_i_3
Castaños garcia pablo_da2_i_3Castaños garcia pablo_da2_i_3
Castaños garcia pablo_da2_i_3
 
Estadisticas de la seguridad vial en el Estado de Puebla
Estadisticas de la seguridad vial en el Estado de PueblaEstadisticas de la seguridad vial en el Estado de Puebla
Estadisticas de la seguridad vial en el Estado de Puebla
 
Sistema
SistemaSistema
Sistema
 
Cina carta igienica_contaminata
Cina carta igienica_contaminataCina carta igienica_contaminata
Cina carta igienica_contaminata
 

Similar to Beyond coding

Introduction to corona sdk
Introduction to corona sdkIntroduction to corona sdk
Introduction to corona sdk馬 萬圳
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Designjay li
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境Will Huang
 
Class 20170126
Class 20170126Class 20170126
Class 20170126Ivan Wei
 
深入剖析浏览器
深入剖析浏览器深入剖析浏览器
深入剖析浏览器jay li
 
Qq.com前端架构实践与思考
Qq.com前端架构实践与思考Qq.com前端架构实践与思考
Qq.com前端架构实践与思考greengnn
 
多说沈振宇:插件思想及多说的开发实践
多说沈振宇:插件思想及多说的开发实践多说沈振宇:插件思想及多说的开发实践
多说沈振宇:插件思想及多说的开发实践jiangluozhi
 
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIHung-yu Lin
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展taobao.com
 
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!Fred Chien
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Gelis Wu
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofishWebrebuild
 
支付宝CSS构架
支付宝CSS构架支付宝CSS构架
支付宝CSS构架Sofish Lin
 
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Fred Lin
 
HTML5概览
HTML5概览HTML5概览
HTML5概览Adam Lu
 
AngularJS training in Luster
AngularJS training in LusterAngularJS training in Luster
AngularJS training in LusterJason Chung
 
JavaScript Engine
JavaScript EngineJavaScript Engine
JavaScript Enginejay li
 
Csdn Java电子杂志第1期
Csdn Java电子杂志第1期Csdn Java电子杂志第1期
Csdn Java电子杂志第1期yiditushe
 
Java Web框架汇总
Java Web框架汇总Java Web框架汇总
Java Web框架汇总yiditushe
 
Html5移动web应用开发(PhoneGap)
Html5移动web应用开发(PhoneGap)Html5移动web应用开发(PhoneGap)
Html5移动web应用开发(PhoneGap)amd6400
 

Similar to Beyond coding (20)

Introduction to corona sdk
Introduction to corona sdkIntroduction to corona sdk
Introduction to corona sdk
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
 
Class 20170126
Class 20170126Class 20170126
Class 20170126
 
深入剖析浏览器
深入剖析浏览器深入剖析浏览器
深入剖析浏览器
 
Qq.com前端架构实践与思考
Qq.com前端架构实践与思考Qq.com前端架构实践与思考
Qq.com前端架构实践与思考
 
多说沈振宇:插件思想及多说的开发实践
多说沈振宇:插件思想及多说的开发实践多说沈振宇:插件思想及多说的开发实践
多说沈振宇:插件思想及多说的开发实践
 
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展
 
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofish
 
支付宝CSS构架
支付宝CSS构架支付宝CSS构架
支付宝CSS构架
 
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
 
HTML5概览
HTML5概览HTML5概览
HTML5概览
 
AngularJS training in Luster
AngularJS training in LusterAngularJS training in Luster
AngularJS training in Luster
 
JavaScript Engine
JavaScript EngineJavaScript Engine
JavaScript Engine
 
Csdn Java电子杂志第1期
Csdn Java电子杂志第1期Csdn Java电子杂志第1期
Csdn Java电子杂志第1期
 
Java Web框架汇总
Java Web框架汇总Java Web框架汇总
Java Web框架汇总
 
Html5移动web应用开发(PhoneGap)
Html5移动web应用开发(PhoneGap)Html5移动web应用开发(PhoneGap)
Html5移动web应用开发(PhoneGap)
 

Beyond coding