mzhong

matthew.zhong's site

  • Home
  • Contact
  • Archives
  • Categories
  • Tag
  • RSS

    js quiz

    11 Oct 2013

    找出字符串出现最多次数的字符

    var str = "sakfjksdjffffffff";
    
    function getMostFrequenceLetter(str){
        var i = 0,
            len = str.length,
            dict = {},
            list = [];
        for (; i<len; i++) {
            var c = str[i];//char
            dict[c] = dict[c]? (dict[c]+1):1;
            list[dict[c]] = c;
        };
    
        return list.slice(-1);
    }
    
    getMostFrequenceLetter(str);
    

    数组去重

    function onlyUnique(value, index, self) { 
        return self.indexOf(value) === index;
    }
    
    // usage example:
    var a = ['a', 1, 'a', 2, '1'];
    var unique = a.filter( onlyUnique )
    

    求对称数

    function isSymmetry (num) {
        return num.toString().split('').reverse().join('') == num
    }
    

    字符串模板方法

    if (!String.prototype.supplant) {
        String.prototype.supplant = function (o) {
            return this.replace(
                /\{([^{}]*)\}/g,
                function (a, b) {
                    var r = o[b];
                    return typeof r === 'string' || typeof r === 'number' ? r : a;
                }
            );
        };
    }
    param = {domain: 'valvion.com', media: 'http://media.valvion.com/'};
    url = "{media}logo.gif".supplant(param);//"http://media.valvion.com/logo.gif".
    

    支持嵌套

    if (!String.prototype.supplant) {
        String.prototype.supplant = function(o) {
            return this.replace(
                /\{([^{}]*)\}/g,
                function(a, b) {
                    var p = b.split('.');
                    var r = o;
                    try {
                        p.forEach(function(v, k) {
                            r = r[v]
                        })
                    } catch (e) {
                        r = a;
                    }
                    return typeof r === 'string' || typeof r === 'number' ? r : a;
                }
            );
        };
    }
    param = {domain: 'valvion.com', c:{a:{media: 'http://media.valvion.com/'}};
    url = "{c.a.media}logo.gif".supplant(param);//"http://media.valvion.com/logo.gif".
    

    $().html(value) vs $().empty().append(value)

    07 Oct 2013

    当需要清空某个dom结点内容时,我所知道的有两种方法:
    1.Element.removeChild(child)

       
    // Removing all children from an element  
    var element = document.getElementById("test");  
    while (element.firstChild) {  
      element.removeChild(element.firstChild);  
    }     
    

    2.Element.innerHTML=""

    第一种方式虽然可读性较好,但显然不如第二种方法简洁。
    理论上方式2会比方式1快很多,从代码上来分析也是如此,至少方式二不用做while循环,也不用判断属性。事实上也的确如此,但只限于子结点较少的情况下。
    在子结点个数多过的情况下,方式1是优于方式2的。性能测试之killing a lots of kids   

    jquery提供了两个类似的接口与之相对应:
    1.$().empty()
    2.$().html('')

    所以,替换dom内容也同样有两种方式:
    1.$().empty().append(HTMLString|HTMLElement|jQueryElement)
    2.$().html(HTMLString)

    jQuery 1.9.1 empty方法实现如下,与方式1相似

          
    empty: function() {
        var elem,
            i = 0;
    
        for ( ; (elem = this[i]) != null; i++ ) {
            // Remove element nodes and prevent memory leaks
            if ( elem.nodeType === 1 ) {
                jQuery.cleanData( getAll( elem, false ) );
            }
    
            // Remove any remaining nodes
            while ( elem.firstChild ) {
                elem.removeChild( elem.firstChild );
            }
    
            // If this is a select, ensure that it displays empty (#12336)
            // Support: IE<9
            if ( elem.options && jQuery.nodeName( elem, "select" ) ) {
                elem.options.length = 0;
            }
        }
    
        return this;
    }  
    

    jQuery 1.9.1 html方法的实现:

        
    html: function( value ) {
            return jQuery.access( this, function( value ) {
                var elem = this[0] || {},
                    i = 0,
                    l = this.length;
    
                if ( value === undefined ) {
                    return elem.nodeType === 1 ?
                        elem.innerHTML.replace( rinlinejQuery, "" ) :
                        undefined;
                }
    
                // See if we can take a shortcut and just use innerHTML
                if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
                    ( jQuery.support.htmlSerialize || !rnoshimcache.test( value )  ) &&
                    ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
                    !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) {
    
                    value = value.replace( rxhtmlTag, "<$1></$2>" );
    
                    try {
                        for (; i < l; i++ ) {
                            // Remove element nodes and prevent memory leaks
                            elem = this[i] || {};
                            if ( elem.nodeType === 1 ) {
                                jQuery.cleanData( getAll( elem, false ) );
                                elem.innerHTML = value;
                            }
                        }
    
                        elem = 0;
    
                    // If using innerHTML throws an exception, use the fallback method
                    } catch(e) {}
                }
    
                if ( elem ) {
                    this.empty().append( value );
                }
            }, null, value, arguments.length );
        },
    

    可以看到,当传入的参数不为html字符串时,会执行这样的语句:

      
    if ( elem ) {
        this.empty().append( value );
    }  
    

    不言而喻,当传入的参数不为html字符串或html字符串较长时,$().empty().append(value)的性能会优于$().html(value),性能测试之jquery html vs empty append;
    同时,基于代码可读性也建议优先使用$().empty().append(value)

    refs :
    jquery-html-vs-empty-append
    kill-lots-kids
    deleting-child-nodes-of-a-div-node
    Element.innerHTML

    免费编程书

    28 Sep 2013

    Index

    • Meta-Lists
    • Graphics user interfaces
    • Graphics Programming
    • Language Agnostic
    • Ada
    • Android
    • Autotools
    • ASP.NET MVC
    • Assembly Language
    • Bash
    • C
    • C++
    • Clojure
    • CoffeeScript
    • ColdFusion
    • D
    • DTrace
    • DB2
    • Delphi / Pascal
    • Django
    • Elasticsearch
    • Emacs
    • Erlang
    • Flask
    • Flex
    • F#
    • Forth
    • Git
    • Go
    • Grails
    • Hadoop
    • Haskell
    • HTML / CSS
    • Icon
    • IDL
    • Java
    • JavaScript
      • Backbone.js
      • D3.js
      • Node.js
    • LaTeX
    • Linux
    • Lisp
    • Lua
    • Mathematica
    • Maven
    • Mercurial
    • .NET (C# / VB / Nemerle / Visual Studio)
    • NoSQL
    • Oberon
    • Objective-C
    • OCaml
    • OpenSCAD
    • Oracle Server
    • Oracle PL/SQL
    • Parrot / Perl 6
    • Perl
    • PHP
    • PowerShell
    • Processing
    • Prolog
    • PostgreSQL
    • Python
    • R
    • Racket
    • Ruby
    • Ruby on Rails
    • Rust
    • Sage
    • Scala
    • Scheme
    • Sed
    • Smalltalk
    • Subversion
    • SQL (implementation agnostic)
    • SQL Server
    • Teradata
    • Theory
    • Vim
    • Websphere
    • Windows Phone

    Meta-Lists

    • 25 Free Computer Science Ebooks
    • Cheat Sheets (Free)
    • Free Tech Books
    • Microsoft Press: Free E-Books
    • MindView Inc
    • O'Reilly's Open Books Project
    • TechBooksForFree.com
    • Theassayer.org
    • Wikibooks: Programming
    • Free Smalltalk Books, collected by Stéphane Ducasse

    Graphics Programming

    • DirectX manual (draft)
    • Learning Modern 3D Graphics Programming (draft)
    • Introduction to Modern OpenGL
    • GPU Gems
    • GPU Gems 2 - ch 8,14,18,29,30 as pdf
    • GPU Gems 3
    • Graphics Programming Black Book
    • OpenGL Insights (chapters 22, 23, 28, 33, 39)
    • ShaderX series
    • Tutorials for modern OpenGL

    Graphics User Interfaces

    • Programming with gtkmm 3

    Language Agnostic

    Algorithms & Datastructures

    • Algorithms and Data-Structures (PDF)
    • Algorithms (draft)
    • Binary Trees
    • Clever Algorithms
    • Computational Geometry: Algorithms and Applications (chapters 1 and 9, pseudo-code)
    • Data Structures and Algorithms: Annotated Reference with Examples
    • The Algorithm Design Manual
    • Hacker's Delight (chapter 2, code)
    • LEDA: A Platform for Combinatorial and Geometric Computing
    • Planning Algorithms
    • Linked List Basics
    • Linked List Problems
    • Open Data Structures
    • Purely Functional Data Structures
    • The Great Tree List Recursion Problem
    • Matters Computational
    • Algorithmic Graph Theory
    • Foundations of Computer Science - Al Aho and Jeff Ullman
    • A Field Guide To Genetic Programming
    • The Art of Computer Programming (fascicles, mostly volume 4)
    • Programming Pearls
    • Algorithms for Programmers: Ideas and Source Code
    • Sequential and parallel sorting algorithms
    • Text Algorithms

    Theoretical Computer Science

    • Structure and Interpretation of Computer Programs
    • Programming Languages: Application and Interpretation
    • Introduction to Computing
    • An Introduction to the Theory of Computation
    • Think Complexity - Allen B. Downey

    Operating systems

    • The Art of Unix Programming
    • The Little Book of Semaphores - Allen B. Downey
    • Operating Systems and Middleware (PDF and LaTeX)
    • Practical File System Design:The Be File System(PDF) - Dominic Giampaolo

    Database

    • Database Fundamentals (PDF)
    • Database-backed Web Sites

    Networking

    • High-Performance Browser Networking
    • The TCP/IP Guide
    • Understanding IP Addressing: Everything you ever wanted to know (PDF)
    • ZeroMQ Guide
    • Network Security Tools

    Compiler Design

    • Compiler Construction (PDF)
    • Let's Build a Compiler
    • Linkers and loaders
    • Compiler Design: Theory, Tools, and Examples
    • Practical and Theoretical Aspects of Compiler Construction (class lectures and slides)

    Programming Paradigms

    • Introduction to Functional Programming (class lectures and slides)
    • Type Theory and Functional Programming

    Parallel Programming

    • How to Write Parallel Programs
    • Is Parallel Programming Hard, And, If So, What Can You Do About It?

    Software Architecture

    • Seamless Object-Oriented Software Architecture
    • Summary of the GoF Design Patterns
    • How to write Unmaintainable Code
    • OO Design
    • Object-Oriented Reengineering Patterns
    • Patterns and Practices: Application Architecture Guide 2.0
    • The Definitive Guide to Building Code Quality
    • Patterns of Software: Tales from the Software Community (PDF)
    • Best Kept Secrets of Peer Code Review
    • Domain Driven Design Quickly
    • Essential Skills for Agile Development
    • Guide to the Software Engineering Body of Knowledge
    • Programming Reliable Systems (Joe Armstrong's PhD thesis)
    • How to Design Programs
    • NASA Manager Handbook for Software Development (PDF)
    • NASA Software Measurement Handbook
    • Don't Just Roll the Dice

    Open Source Ecosystem

    • Getting started with Open source development (PDF)
    • Producing Open Source Software
    • The Cathedral and the Bazaar
    • The Architecture of Open Source Applications
    • The Performance of Open Source Applications

    Information Retrieval

    • Introduction to Information Retrieval

    Datamining

    • Mining of Massive Datasets
    • The Elements of Statistical Learning

    Machine Learning

    • Programming Computer Vision with Python
    • A Course in Machine Learning
    • Bayesian Methods for Hackers
    • Computer Vision: Algorithms and Applications
    • Bayesian Reasoning and Machine Learning
    • Introduction to Machine Learning
    • Gaussian Processes for Machine Learning
    • Information Theory, Inference, and Learning Algorithms

    Mathematics

    • Think Bayes: Bayesian Statistics Made Simple - Allen B. Downey
    • Think Stats: Probability and Statistics for Programmers (code written in Python) - Allen B. Downey
    • Mathematical Logic - an Introduction (PDF)
    • Bayesian Methods for Hackers
    • Introduction to Statistical Thought
    • Mathematics for Computer Science
    • Category Theory for Computing Science
    • Essentials of Metaheuristics by Sean Luke

    Misc

    • 97 Things Every Programmer Should Know
    • 97 Things Every Programmer Should Know - Extended
    • How to Think Like a Computer Scientist
    • I Am a Bug
    • Learn to Program
    • Foundations of Programming
    • Communicating Sequential Processes (PDF) - Tony Hoare
    • Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts
    • Computer Musings (lectures by Donald Knuth)
    • How Computers Work
    • Data-Intensive Text Processing with MapReduce (PDF)
    • Designing Interfaces by Jennifer Tidwell
    • Digital Signal Processing For Engineers and Scientists
    • Distributed systems for fun and profit
    • Flow based Programming
    • Getting Real
    • Modeling Reactive Systems with Statecharts
    • PNG: The Definitive Guide
    • Pointers And Memory
    • Project Oberon (PDF)
    • Security Engineering
    • Small Memory Software
    • Introduction to High-Performance Scientific Computing - Victor Eijkhout
    • Object-Oriented Reengineering Patterns - Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz
    • High-Performance Scientific Computing (class lectures and slides)

    MOOC

    • MIT OCW
    • Coursera
    • Udacity

    Ada

    • Ada 95: The Craft of Object-Oriented Programming
    • Ada Distilled
    • Ada for Software Engineers

    Android

    • Google Android Developer Training
    • Coreservlets Android Programming Tutorial
    • Expert Android and Eclipse development knowledge

    Autotools

    • GNU Autoconf, Automake and Libtool
    • Autotools Mythbuster

    ASP.NET MVC

    • ASP.NET MVC Music Store
    • NerdDinner Walkthrough

    Assembly Language

    • Paul Carter's Tutorial on x86 Assembly
    • Professional Assembly Language (PDF)
    • Programming from the Ground Up (PDF)
    • Software optimization resources by Agner Fog
    • The Art of Assembly Language Programming
    • x86 Assembly
    • Ralf Brown's Interrupt List

    Bash

    • Advanced Bash-Scripting Guide
    • Bash Guide for Beginners by Machtelt Garrels
    • Lhunath's Bash Guide
    • The Command Line Crash Course (also a Powershell reference)

    C

    • Beej's Guide to C Programming
    • Beej's Guide to Network Programming
    • The C book
    • Essential C
    • Learn C the hard way
    • The new C standard - an annotated reference
    • Object Oriented Programming in C (PDF)
    • C Programming - Wikibooks

    C++

    • C++ Annotations
    • C++ GUI Programming With Qt 3
    • CS106X Programming Abstractions in C++
    • Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt
    • Software optimization resources by Agner Fog
    • Thinking in C++, Second Edition
    • How To Think Like a Computer Scientist: C++ Version - Allen B. Downey
    • Also see: The Definitive C++ Book Guide and List

    Clojure

    • A Brief Beginner’s Guide To Clojure
    • Clojure - Functional Programming for the JVM
    • Clojure Cookbook
    • Clojure for the Brave and True
    • Clojure Programming
    • The Clojure Style Guide
    • Data Sorcery with Clojure
    • Modern cljs

    CoffeeScript

    • Smooth CoffeeScript
    • The Little Book on CoffeeScript

    ColdFusion

    • CFML In 100 Minutes
    • Learn CF in a Week

    D

    • Programming in D

    DTrace

    • IllumOS Dynamic Tracing Guide

    DB2

    • Getting started with DB2 Express-C (PDF)
    • Getting started with IBM Data Studio for DB2 (PDF)
    • Getting started with IBM DB2 development (PDF)

    Delphi / Pascal

    • Essential Pascal Version 1 and 2

    Django

    • Djen of Django
    • Django by Example

    Elasticsearch

    • Exploring Elasticsearch

    Emacs

    • GNU Emacs Manual, 17th Edition, v. 24.2
    • An Introduction to Programming in Emacs Lisp, 3rd Edition

    Erlang

    • Learn You Some Erlang For Great Good

    Flask

    • The Flask Mega-Tutorial

    Flex

    • Getting started with Adobe Flex (PDF)

    F Sharp

    • F Sharp Programming in Wikibooks
    • Real World Functional Programming (MSDN Chapters)
    • Programming Language Concepts for Software Developers (PDF)

    Forth

    • Starting Forth
    • Thinking Forth
    • Programming Forth
    • A Beginner's Guide to Forth
    • And so Forth...
    • Thoughtful Programming and Forth

    Git

    • Pro Git
    • Gitmagic
    • Git From The Bottom Up (PDF)
    • Git internals
    • Git Magic
    • Git Reference

    Go

    • The Go Tutorial
    • Go by Example
    • Learning Go
    • An Introduction to Programming in Go
    • Network programming with Go

    Grails

    • Getting Started with Grails

    Hadoop

    • Programming Pig - Alan Gates

    Haskell

    • Haskell and Yesod
    • Learn You a Haskell
    • Natural Language Processing for the Working Programmer
    • Parallel and Concurrent Programming in Haskell
    • Real World Haskell
    • Wikibook Haskell
    • Yet Another Haskell Tutorial (PDF)
    • Haskell no panic
    • A Gentle Introduction to Haskell (HTML/PDF)

    HTML / CSS

    • Dive Into HTML5 (PDF)
    • GA Dash
    • HTML Dog Tutorials
    • HTML5 Canvas - Steve Fulton & Jeff Fulton
    • HTML5 for Publishers - Sanders Kleinfeld
    • Learn CSS Layout

    Icon

    • The Implementation of the Icon Programming Language

    IDL

    • Getting Started with IDL
    • Guide to Using IDL for Astronomers

    Java

    • Artificial Intelligence - Foundation of Computational Agents
    • Data Structures and Algorithms with Object-Oriented Design Patterns in Java
    • Category wise tutorials - J2EE
    • Think Java: How to Think Like a Computer Scientist - Allen B. Downey
    • Introduction to Programming Using Java - David J. Eck
    • Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF)
    • The Java EE6 Tutorial (PDF)
    • Java Thin-Client Programming
    • Learning Java - Patrick Niemeyer
    • OSGi in Practice (PDF)
    • Sun's Java Tutorials
    • Thinking in Java

    JavaScript

    • Crockford's JavaScript
    • Eloquent JavaScript
    • Essential Javascript & jQuery Design Patterns for Beginners
    • JavaScript Bible
    • JavaScript Essentials
    • jQuery Fundamentals (starts with JavaScript basics)
    • Mozilla Developer Network's JavaScript Guide
    • JavaScript Allongé
    • Learning JavaScript Design Patterns
    • O'Reilly Programming JavaScript Applications - Early Release
    • The JavaScript Tutorial
    • AngularJS in 60 Minutes

    Backbone.js

    • Developing Backbone.js Applications

    D3.js

    • Interactive Data Visualization for the Web

    Node.js

    • Mastering Node.js
    • Mixu's Node Book
    • The Node Beginner Book
    • Up and Running with Node

    LaTeX

    • The Not So Short Introduction to LaTeX
    • LaTeX Wikibook

    Linux

    • Advanced Linux Programming
    • GNU Autoconf, Automake and Libtool
    • GTK+/Gnome Application Development
    • The Linux Development Platform (PDF)
    • Linux Device Drivers by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
    • The Linux Kernel Module Programming Guide
    • Secure Programming for Linux and Unix
    • Linux from Scratch
    • What Every Programmer Should Know About Memory

    Lisp

    • Common Lisp the Language, 2nd Edition
    • Common Lisp: A Gentle Introduction to Symbolic Computation - David S. Touretzky
    • Common Lisp Quick Reference
    • Let Over Lambda - 50 Years of Lisp
    • Natural Language Processing in Lisp
    • On Lisp
    • Practical Common Lisp
    • Successful Lisp: How to Understand and Use Common Lisp - David Lamkins
    • Sketchy LISP - Nils Holm

    Lua

    • Programming In Lua (for version 5)
    • Programming Gems
    • Lua 5.1 Reference Manual

    Mathematica

    • Mathematica® programming: an advanced introduction by Leonid Shifrin

    Maven

    • Better Builds with Maven
    • Maven by Example
    • Maven: The Complete Reference
    • Repository Management with Nexus
    • Developing with Eclipse and Maven

    Mercurial

    • Mercurial: The Definitive Guide
    • HGInit - Mercurial Tutorial by Joel Spolsky

    .NET (C# / VB / Nemerle / Visual Studio)

    • C# Essentials
    • C# Programming - Wikibook
    • C# Yellow Book (intro to programming)
    • Charles Petzold's .NET Book Zero
    • Data Structures and Algorithms with Object-Oriented Design Patterns in C#
    • Entity Framework
    • Moving to Microsoft Visual Studio 2010
    • Nemerle
    • Programmer's Heaven C# School Book (covers C# 1.0 and 2.0)
    • Threading in C#
    • Visual Basic Essentials
    • Visual Studio Tips and Tricks (VS 2003-2005 only)

    NoSQL

    • CouchDB: The Definitive Guide
    • The Little MongoDB Book
    • The Little Redis Book
    • The Little Riak Book
    • Graph Databases

    Oberon

    • Programming in Oberon (PDF)
    • Object-Oriented Programming in Oberon-2 (PDF)

    Objective-C

    • Programming With Objective-C
    • Object-Oriented Programming with Objective-C

    OCaml

    • Introduction to Objective Caml (PDF)
    • Objective Caml for Scientists (first chapter only)
    • Unix System Programming in OCaml
    • Developing Applications With Objective Caml
    • Real World OCaml
    • Think OCaml - Allen B. Downey and Nicholas Monje

    OpenSCAD

    • OpenSCAD User Manual

    Oracle Server

    • Oracle's Guides and Manuals

    Oracle PL/SQL

    • PL/SQL Language Reference
    • PL/SQL Packages and Types Reference
    • Steven Feuerstein's PL/SQL Obsession - Videos and Presentations

    Parrot / Perl 6

    • Using Perl 6 (work in progress)

    Perl

    • Beginning Perl
    • Embedding Perl in HTML with Mason
    • Essential Perl
    • Extreme Perl
    • Higher-Order Perl
    • The Mason Book
    • Modern Perl 5
    • Perl & LWP
    • Perl for the Web
    • Perl Free Online EBooks (meta-list)
    • Learning Perl The Hard Way
    • Practical mod_perl
    • Web Client Programming with Perl

    PHP

    • PHP Essentials
    • PHP: The Right Way
    • Practical PHP Programming (wiki containing O'Reilly's PHP In a Nutshell)
    • Symfony2
    • Zend Framework: Survive the Deep End
    • Laravel Framework
      • Official Documentation (Offline Version)
      • Code Happy (Laravel 3 Starter Book)
      • Code Bright (Laravel 4 Starter Book)
    • Drupal Framework
      • Drupal 6
      • Drupal 7
        • The Tiny Book of Rules
        • Master Drupal in 7 hours
      • Drupal 8
    • PHP Internals Book

    PowerShell

    • Mastering PowerShell

    Processing

    • The Nature of Code: Simulating Natural Systems with Processing

    Prolog

    • Adventure in Prolog
    • Applications of Prolog
    • Building Expert Systems in Prolog
    • Introduction to Prolog for Mathematicians
    • Learn Prolog Now!
    • Logic, Programming and Prolog (2ed)
    • Natural Language Processing in Prolog
    • Natural Language Processing Techniques in Prolog
    • Prolog Programming A First Course
    • Prolog Techniques
    • Simply Logical
    • Visual Prolog 7.2 for Tyros

    PostgreSQL

    • Practical PostgreSQL

    Python

    • Byte of Python
    • Data Structures and Algorithms in Python
    • Dive into Python
    • Dive into Python 3
    • Hacking Secret Cyphers with Python - Al Sweigart
    • Hitchiker's Guide to Python!
    • How to Think Like a Computer Scientist: Learning with Python
    • Invent Your Own Computer Games With Python - Al Sweigart
    • Learn Python The Hard Way
    • Natural Language Processing with Python
    • Porting to Python 3: An In-Depth Guide
    • Python Bibliotheca
    • Python Cookbook - David Beazley
    • Python for Fun
    • Python for Informatics: Exploring Information
    • Python for you and me
    • Snake Wrangling For Kids
    • Think Python - Allen B. Downey

    R

    • The R Manuals
    • The R Language
    • R by example
    • Introduction to Probability and Statistics Using R
    • Advanced R Programming
    • R practicals
    • R for spatial analysis

    Racket

    • Programming Languages: Application and Interpretation
    • The Racket Guide

    Ruby

    • The Bastards Book of Ruby
    • Learn Ruby the hard way
    • MacRuby: The Definitive Guide
    • Mr. Neighborly's Humble Little Ruby Book
    • Programming Ruby
    • Why's (Poignant) Guide to Ruby (mirror)
    • Ruby Hacking Guide

    Ruby on Rails

    • Ruby on Rails Tutorial: Learn Rails By Example
    • Objects on Rails

    Rust

    • Rust for Rubyists

    Sage

    • The Sage Manuals
    • Sage for Newbies
    • Sage for Power Users

    Scala

    • Another tour of Scala
    • Exploring Lift (published earlier as "The Definitive Guide to Lift", PDF)
    • Lift
    • Pro Scala: Monadic Design Patterns for the Web
    • Programming in Scala, First Edition
    • Programming Scala
    • Scala By Example (PDF)
    • Scala School by Twitter
    • A Scala Tutorial for Java programmers (PDF)
    • Xtrace

    Scheme

    • Concrete Abstractions: An Introduction to Computer Science Using Scheme
    • The Scheme Programming Language Edition 3, Edition 4
    • Simply Scheme: Introducing Computer Science
    • Teach Yourself Scheme in Fixnum Days

    Sed

    • Sed - An Introduction and Tutorial

    Smalltalk

    • Dynamic Web Development with Seaside
    • Free Online Smalltalk Books (meta-list)
    • Squeak By Example (Smalltalk IDE)

    Subversion

    • Subversion Version Control (PDF)
    • Version Control with Subversion

    SQL (implementation agnostic)

    • Developing Time-Oriented Database Applications in SQL
    • Use The Index, Luke!: A Guide To SQL Database Performance
    • Learn SQL The Hard Way

    SQL Server

    • Introducing Microsoft SQL Server 2008 R2
    • Introducing Microsoft SQL Server 2012
    • SQL Server 2012 Tutorials: Reporting Services

    Teradata

    • Teradata Books

    Theory

    • Networks, Crowds, and Markets: Reasoning About a Highly Connected World

    Vim

    • A Byte of Vim
    • Vim Recipes
    • Vi Improved -- Vim by Steve Oualline
    • Learn Vimscript the Hard Way

    Websphere

    • Getting started with WebSphere (PDF)

    Windows Phone

    • Programming Windows Phone 7

    MZhong's Resume

    20 Dec 2012

    钟云辉

    男,27

    求职意向:OBJECTIVE

    前端开发

    计算机技能:IT SKILLS

    • 基于MVVM & AMD的web App开发
    • 了解hmtl5 & css3

    相关经验:EXPERIENCE

    • 2011.12~现在 晨星资讯(深圳) 软件开发工程师

      • Manager Research
      • Asset Allocation
    • 2010.12~2011.12 深圳 八爪 前端开发工程师

      • 雇得易 www.hirede.com 招聘过程管理系统
      • 内部crm系统
    • 2010.6~2010.12 广州 联奕

      • 广州大学校园管理系统

    教育背景:EDUCATION

    • 2008.9~2010.7 中山大学网络与信息中心 教育技术,硕士毕业
    • 2004.9~2008.7 哈尔滨师范大学 教育技术,学士毕业
    • 2001.9~2004.7 湖南郴州市第一中学

    语言技能:LANGUAGE SKILLS

    • 普通话
    • 英语

    联系:CONTACT ME

    • 18676730824
    • flowerszhong@gmail.com
    • GitHub
    • Twitter
  • 1
  • 2
  • 3

Copyright © 2011-2013 Mzhong All rights reserved.