欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nosql讀書,nosql書籍

GitHub 上有哪些值得推薦的開源電子書

語言無關類

我們提供的服務有:成都網站設計、網站制作、微信公眾號開發(fā)、網站優(yōu)化、網站認證、寧縣ssl等。為近千家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的寧縣網站制作公司

操作系統(tǒng)

鳥哥的Linux私房菜 (簡體)

Linux 系統(tǒng)高級編程

The Linux Command Line (中英文版)

Linux 設備驅動 (第三版)

深入分析Linux內核源碼

UNIX TOOLBOX

Docker中文指南

Docker —— 從入門到實踐

FreeRADIUS新手入門

Mac 開發(fā)配置手冊

FreeBSD 使用手冊

Linux 命令行(中文版)

智能系統(tǒng)

一步步搭建物聯(lián)網系統(tǒng)

web服務器

Nginx開發(fā)從入門到精通 (淘寶團隊出品)

版本控制

Git教程 (本文由 ?@廖雪峰 創(chuàng)作,如果覺得本教程對您有幫助,可以去 ?iTunes 購買)

git – 簡易指南

猴子都能懂的GIT入門

Git 參考手冊

Pro Git

Git Magic

GotGitHub

Git Community Book 中文版

Mercurial 使用教程

HgInit (中文版)

沉浸式學 Git

Git-Cheat-Sheet (感謝 @flyhigher139 翻譯了中文版)

GitHub秘籍

NoSQL

NoSQL數(shù)據(jù)庫筆談 (PDF)

Redis 設計與實現(xiàn)

Redis 命令參考

帶有詳細注釋的 Redis 3.0 代碼

帶有詳細注釋的 Redis 2.6 代碼

The Little MongoDB Book

The Little Redis Book

Neo4j 簡體中文手冊 v1.8

Neo4j .rb 中文資源

MySQL

MySQL索引背后的數(shù)據(jù)結構及算法原理

項目相關

持續(xù)集成(第二版) (譯言網)

讓開發(fā)自動化系列專欄

追求代碼質量

selenium 中文文檔

Joel談軟件

約耳談軟體(Joel on Software)

Web

關于瀏覽器和網絡的 20 項須知

前端知識體系

瀏覽器開發(fā)工具的秘密

Chrome 開發(fā)者工具中文手冊

Chrome擴展開發(fā)文檔

Grunt中文文檔

移動Web前端知識庫

正則表達式30分鐘入門教程

前端開發(fā)體系建設日記

移動前端開發(fā)收藏夾

JSON風格指南

HTTP 接口設計指北

前端資源分享(一)

前端資源分享(二)

前端代碼規(guī)范 及 最佳實踐

w3school教程整理

大數(shù)據(jù)

大數(shù)據(jù)/數(shù)據(jù)挖掘/推薦系統(tǒng)/機器學習相關資源

編程藝術

程序員編程藝術

每個程序員都應該了解的內存知識(譯)【第一部分】

取悅的工序:如何理解游戲 (豆瓣閱讀,免費書籍)

其他

OpenWrt智能、自動、透明翻墻路由器教程

語言相關類 AWK

awk程序設計語言

C/C++

C++ 并發(fā)編程指南 (@傅海平ICT)

Linux C編程一站式學習 (宋勁杉, 北京亞嵌教育研究中心)

CGDB中文手冊

100個gdb小技巧

100個gcc小技巧

ZMQ 指南

How to Think Like a Computer Scientist (中英文版)

跟我一起寫Makefile(PDF)

GNU make中文手冊

GNU make 指南

Google C++ 風格指南

C/C++ Primer (by @andycai)

簡單易懂的C魔法

Cmake 實踐 (PDF版)

C++ FAQ LITE(中文版)

C++ Primer 5th Answers

CSS/HTML

學習CSS布局

通用 CSS 筆記、建議與指導

CSS參考手冊

Emmet 文檔

前端代碼規(guī)范 (騰訊alloyteam團隊)

Dart

Dart 語言導覽

Fortran

Fortran77和90/95編程入門

Java

實時 Java 系列

Apache Shiro 用戶指南

使用 Eclipse 和 Java SE 6 創(chuàng)建獨立 Web Services 應用程序

第 1 部分: Web Services 服務端應用程序

第 2 部分: Web 服務客戶端應用程序

JavaServer Faces 1.2 入門

第 1 部分: 構建基本應用程序

第 2 部分: JSF 生命周期、轉換、檢驗和階段監(jiān)聽器

用 Eclipse Europa 進行 Web 開發(fā)

第 1 部分: Eclipse Java EE

第 2 部分: PHP 開發(fā)工具

第 3 部分: Ruby Development Toolkit 和 RadRails

使用 JavaServer Faces 構建 Apache Geronimo 應用程序

第 1 部分: 使用 Eclipse 和 Apache MyFaces Core 構建基本的應用程序

第 2 部分: 在 JavaServer Faces 中使用 Tomahawk

第 3 部分: 使用 ajax4jsf 添加 Ajax 功能

第 4 部分: 使用 Apache Trinidad 組件擴展 JSF

第 5 部分: 將 JSF 應用程序與 Spring 集成

Apache Geronimo 和 Spring 框架

第 1 部分: 開發(fā)方法學

第 2 部分: 構建第一個應用程序

第 3 部分: 集成 DAO 與 ORM

第 4 部分: 混合使用 Spring AOP 和 Spring Web Flow

第 5 部分: Spring MVC

第 6 部分: Spring MVC:使用 Web 視圖技術

終極 mashup —— Web 服務和語義 Web

第 1 部分: 使用與組合 Web 服務

第 2 部分: 管理 Mashup 數(shù)據(jù)緩存

第 3 部分: 理解 RDF 和 RDFs

第 4 部分: 創(chuàng)建本體

第 5 部分: 切換 Web 服務

Jersey 2.x 用戶指南

MyBatis中文文檔

JavaScript

Google JavaScript 代碼風格指南

Airbnb JavaScript 規(guī)范

JavaScript 標準參考教程(alpha)

Javascript編程指南 (源碼)

javascript 的 12 個怪癖

JavaScript 秘密花園

JavaScript核心概念及實踐 (PDF) (此書已由人民郵電出版社出版發(fā)行,但作者依然免費提供PDF版本,希望開發(fā)者們去購買,支持作者)

《JavaScript 模式》翻譯,此書中文版有售,但是紙質書翻譯的還沒有這個版本翻譯的好

命名函數(shù)表達式探秘 (注:原文由為之漫筆翻譯,原始地址無法打開,所以此處地址為我博客上的備份)

學用 JavaScript 設計模式 (開源中國)

深入理解JavaScript系列

ECMAScript 6 入門 (作者:阮一峰)

jQuery

jQuery 解構

簡單易懂的JQuery魔法

How to write jQuery plugin

Node.js

Node入門

七天學會NodeJS

Nodejs Wiki Book (繁體中文)

express.js 中文文檔

koa 中文文檔

使用 Express + MongoDB 搭建多人博客

Express框架

nodejs文檔

Node.js 包教不包會

Learn You The Node.js For Much Win! (中文版)

Node debug 三法三例

underscore.js

Underscore.js中文文檔

backbone.js

backbone.js入門教程 (PDF)

Backbone.js入門教程第二版

Developing Backbone.js Applications(中文版)

AngularJS

AngularJS最佳實踐和風格指南

AngularJS中譯本

AngularJS入門教程

構建自己的AngularJS

在Windows環(huán)境下用Yeoman構建AngularJS項目

zepto 簡明中文手冊

Sea.js

Hello Sea.js

CoffeeScript

CoffeeScript Cookbook

The Little Book on CoffeeScript中文版

ExtJS

Ext4.1.0 中文文檔

Chrome擴展及應用開發(fā)

JavaScript入門教程

PHP

PHP調試技術手冊(PDF)

XDebug 2中文手冊(譯) (CHM)

PHP之道

PHP 最佳實踐

PHP安全最佳實踐

深入理解PHP內核

PHP擴展開發(fā)及內核應用

CodeIgniter 用戶指南

Laravel4 中文文檔

Laravel 入門

Symfony2中文文檔 (未譯完)

Phalcon中文文檔(翻譯進行中)

YiiBook幾本Yii框架的在線教程

簡單易懂的PHP魔法

swoole文檔及入門教程

iOS

iOS開發(fā)60分鐘入門

iOS7人機界面指南

Google Objective-C Style Guide 中文版

iPhone 6 屏幕揭秘

Apple Watch開發(fā)初探

馬上著手開發(fā) iOS 應用程序

網易斯坦福大學公開課:iOS 7應用開發(fā)字幕文件

Android

Android Design(中文版)

Google Android官方培訓課程中文版

Android學習之路

Python

小白的Python教程

簡明Python教程

零基礎學Python

Python 2.7 官方教程中文版

Python 3.3 官方教程中文版

深入 Python 3

PEP8 Python代碼風格規(guī)范

Google Python 風格指南 中文版

Python入門教程 (PDF)

Python的神奇方法指南

笨辦法學 Python (PDF版下載)

Django 文檔中文版

Django 最佳實踐

The Django Book 中文版

web.py 0.3 新手指南

Web.py Cookbook 簡體中文版

Dive Into Python 中文版

Bottle 文檔中文版 (需翻墻)

Flask 文檔中文版

Jinja2 文檔中文版

Werkzeug 文檔中文版

Flask之旅

Introduction to Tornado 中文翻譯

Python自然語言處理中文版 (感謝陳濤同學的翻譯,也謝謝 ?@shwley 聯(lián)系了作者)

Python 繪圖庫 matplotlib 官方指南中文翻譯

Scrapy 0.25 文檔

ThinkPython

Ruby

Ruby 風格指南

Rails 風格指南

笨方法學 Ruby

Ruby on Rails 指南

Ruby on Rails 實戰(zhàn)圣經

Ruby on Rails Tutorial 原書第 2 版 (本書網頁版免費提供,電子版以 PDF、EPub 和 Mobi 格式提供購買,僅售 9.9 美元)

編寫Ruby的C拓展

Ruby 源碼解讀

Shell

Shell腳本編程30分鐘入門

Go

Go編程基礎

Go入門指南

學習Go語言 (PDF)

Go Web 編程 (此書已經出版,希望開發(fā)者們去購買,支持作者的創(chuàng)作)

Go實戰(zhàn)開發(fā) (當我收錄此項目時,作者已經寫完第三章,如果讀完前面章節(jié)覺得有幫助,可以給作者捐贈,以鼓勵作者的繼續(xù)創(chuàng)作)

Network programming with Go 中文翻譯版本

Groovy

實戰(zhàn) Groovy 系列

LaTeX

一份其實很短的 LaTeX 入門文檔

一份不太簡短的 LATEX 2ε 介紹 (PDF版)

LISP

ANSI Common Lisp 中文翻譯版

Lua

Lua編程入門

Haskell

Real World Haskell 中文版

R

R語言忍者秘笈

Scala

Scala課堂 (Twitter的Scala中文教程)

Effective Scala(Twitter的Scala最佳實踐的中文翻譯)

Scala指南

Swift

The Swift Programming Language 中文版

Perl

Modern Perl 中文版

Perl 程序員應該知道的事

Prolog

笨辦法學Prolog

Vim中文文檔

Vimscript

笨方法學Vimscript 中譯本

Vim中文文檔

讀書筆記及其它 讀書筆記

編譯原理(紫龍書)中文第2版習題答案

把《編程珠璣》讀薄

Effective C++讀書筆記

Golang 學習筆記、Python 學習筆記、C 學習筆記 (PDF)

Jsoup 學習筆記

學習筆記: Vim、Python、memcached

圖靈開放書翻譯計劃–C++、Python、Java等

蒂姆·奧萊利隨筆 (由譯言網翻譯,電子版免費)

Octave 入門 (PDF版)

SICP 解題集

精彩博客集合

正則表達式簡明參考

我想學編程,應該學哪一類,求助

原文地址:

博文如下:

前言

你是否覺得自己從學校畢業(yè)的時候只做過小玩具一樣的程序?走入職場后哪怕沒有什么經驗也可以把以下這些課外練習走一遍(朋友的抱怨:學校課程總是從理論出發(fā),作業(yè)項目都看不出有什么實際作用,不如從工作中的需求出發(fā))

建議:

不要亂買書,不要亂追新技術新名詞,基礎的東西經過很長時間積累而且還會在未來至少10年通用。

回顧一下歷史,看看歷史上時間線上技術的發(fā)展,你才能明白明天會是什么樣。

一定要動手,例子不管多么簡單,建議至少自己手敲一遍看看是否理解了里頭的細枝末節(jié)。

一定要學會思考,思考為什么要這樣,而不是那樣。還要舉一反三地思考。

注:你也許會很奇怪為什么下面的東西很偏Unix/Linux,這是因為我覺得Windows下的編程可能會在未來很沒有前途,原因如下:

現(xiàn)在的用戶界面幾乎被兩個東西主宰了,1)Web,2)移動設備iOS或Android。Windows的圖形界面不吃香了。

越來越多的企業(yè)在用成本低性能高的Linux和各種開源技術來構架其系統(tǒng),Windows的成本太高了。

微軟的東西變得太快了,很不持久,他們完全是在玩弄程序員。詳情參見《Windows編程革命史》

所以,我個人認為以后的趨勢是前端是Web+移動,后端是Linux+開源。開發(fā)這邊基本上沒Windows什么事。

啟蒙入門

1、?學習一門腳本語言,例如Python/Ruby

可以讓你擺脫對底層語言的恐懼感,腳本語言可以讓你很快開發(fā)出能用得上的小程序。實踐項目:

處理文本文件,或者csv?(關鍵詞?python?csv,?python?open,?python?sys)?讀一個本地文件,逐行處理(例如?word?count,或者處理log)

遍歷本地文件系統(tǒng)?(sys,?os,?path),例如寫一個程序統(tǒng)計一個目錄下所有文件大小并按各種條件排序并保存結果

跟數(shù)據(jù)庫打交道?(python?sqlite),寫一個小腳本統(tǒng)計數(shù)據(jù)庫里條目數(shù)量

學會用各種print之類簡單粗暴的方式進行調試

學會用Google?(phrase,?domain,?use?reader?to?follow?tech?blogs)

為什么要學腳本語言,因為他們實在是太方便了,很多時候我們需要寫點小工具或是腳本來幫我們解決問題,你就會發(fā)現(xiàn)正規(guī)的編程語言太難用了。

2、?用熟一種程序員的編輯器(不是IDE)?和一些基本工具

Vim?/?Emacs?/?Notepad++,學會如何配置代碼補全,外觀,外部命令等。

Source?Insight?(或?ctag)

使用這些東西不是為了Cool,而是這些編輯器在查看、修改代碼/配置文章/日志會更快更有效率。

3、?熟悉Unix/Linux?Shell和常見的命令行

如果你用windows,至少學會用虛擬機里的linux,?vmware?player是免費的,裝個Ubuntu吧

一定要少用少用圖形界面。

學會使用man來查看幫助

文件系統(tǒng)結構和基本操作?ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip?…

學會使用一些文本操作命令?sed/awk/grep/tail/less/more?…

學會使用一些管理命令?ps/top/lsof/netstat/kill/tcpdump/iptables/dd…

了解/etc目錄下的各種配置文章,學會查看/var/log下的系統(tǒng)日志,以及/proc下的系統(tǒng)運行信息

了解正則表達式,使用正則表達式來查找文件。

對于程序員來說Unix/Linux比Windows簡單多了。(參看我四年前CSDN的博文《其實Unix很簡單》)學會使用Unix/Linux你會發(fā)現(xiàn)圖形界面在某些時候實在是太難用了,相當?shù)叵喈數(shù)亟档凸ぷ餍省?/p>

4、?學習Web基礎(HTML/CSS/JS)?+?服務器端技術?(LAMP)

未來必然是Web的世界,學習WEB基礎的最佳網站是W3School。

學習HTML基本語法

學習CSS如何選中HTML元素并應用一些基本樣式(關鍵詞:box?model)

學會用??Firefox?+?Firebug?或?chrome?查看你覺得很炫的網頁結構,并動態(tài)修改。

學習使用Javascript操縱HTML元件。理解DOM和動態(tài)網頁(Dynamic?HTML:?The?Definitive?Reference,?3rd?Edition?-?O'Reilly?Media)?網上有免費的章節(jié),足夠用了。或參看?DOM?。

學會用??Firefox?+?Firebug?或?chrome?調試Javascript代碼(設置斷點,查看變量,性能,控制臺等)

在一臺機器上配置Apache?或?Nginx

學習PHP,讓后臺PHP和前臺HTML進行數(shù)據(jù)交互,對服務器相應瀏覽器請求形成初步認識。實現(xiàn)一個表單提交和反顯的功能。

把PHP連接本地或者遠程數(shù)據(jù)庫?MySQL(MySQL?和?SQL現(xiàn)學現(xiàn)用夠了)

跟完一個名校的網絡編程課程(例如:?)?不要覺得需要多于一學期時間,大學生是全職一學期選3-5門課,你業(yè)余時間一定可以跟上

學習一個javascript庫(例如jQuery?或?ExtJS)+??Ajax?(異步讀入一個服務器端圖片或者數(shù)據(jù)庫內容)+JSON數(shù)據(jù)格式。

HTTP:?The?Definitive?Guide?讀完前4章你就明白你每天上網用瀏覽器的時候發(fā)生的事情了(proxy,?gateway,?browsers)

做個小網站(例如:一個小的留言板,支持用戶登錄,Cookie/Session,增、刪、改、查,上傳圖片附件,分頁顯示)

買個域名,租個空間,做個自己的網站。

進階加深

1、?C語言和操作系統(tǒng)調用

重新學C語言,理解指針和內存模型,用C語言實現(xiàn)一下各種經典的算法和數(shù)據(jù)結構。推薦《計算機程序設計藝術》、《算法導論》和《編程珠璣》。

學習(麻省理工免費課程)計算機科學和編程導論

學習(麻省理工免費課程)C語言內存管理

學習Unix/Linux系統(tǒng)調用(Unix高級環(huán)境編程),,了解系統(tǒng)層面的東西。

用這些系統(tǒng)知識操作一下文件系統(tǒng),用戶(實現(xiàn)一個可以拷貝目錄樹的小程序)

用fork/wait/waitpid寫一個多進程的程序,用pthread寫一個多線程帶同步或互斥的程序。多進程多進程購票的程序。

用signal/kill/raise/alarm/pause/sigprocmask實現(xiàn)一個多進程間的信號量通信的程序。

學會使用gcc和gdb來編程和調試程序(參看我的《用gdb調試程序》)

學會使用makefile來編譯程序。(參看我的《跟我一起寫makefile》)

IPC和Socket的東西可以放到高級中來實踐。

學習Windows?SDK編程(Windows?程序設計?,MFC程序設計)

寫一個窗口,了解WinMain/WinProcedure,以及Windows的消息機制。

寫一些程序來操作Windows?SDK中的資源文件或是各種圖形控件,以及作圖的編程。

學習如何使用MSDN查看相關的SDK函數(shù),各種WM_消息以及一些例程。

這本書中有很多例程,在實踐中請不要照抄,試著自己寫一個自己的例程。

不用太多于精通這些東西,因為GUI正在被Web取代,主要是了解一下Windows?圖形界面的編程。@virushuo?說:“?我覺得GUI確實不那么熱門了,但充分理解GUI工作原理是很重要的。包括移動設備開發(fā),如果沒有基礎知識仍然很吃力。或者說移動設備開發(fā)必須理解GUI工作,或者在win那邊學,或者在mac/iOS上學”。

2、學習Java

Java?的學習主要是看經典的Core?Java?《Java?核心技術編程》和《Java編程思想》(有兩卷,我僅鏈了第一卷,足夠了,因為Java的圖形界面了解就可以了)

學習JDK,學會查閱Java?API?Doc?Java?Platform?SE?6

了解一下Java這種虛擬機語言和C和Python語言在編譯和執(zhí)行上的差別。從C、Java、Python思考一下“跨平臺”這種技術。

學會使用IDE?Eclipse,使用Eclipse?編譯,調試和開發(fā)Java程序。

建一個Tomcat的網站,嘗試一下JSP/Servlet/JDBC/MySQL的Web開發(fā)。把前面所說的那個PHP的小項目試著用JSP和Servlet實現(xiàn)一下。

3、Web的安全與架構

學習HTML5,網上有很多很多教程,以前酷殼也介紹過很多,我在這里就不羅列了。

學習Web開發(fā)的安全問題(參考新浪微博被攻擊的這個事,以及Ruby的這篇文章)

學習HTTP?Server的rewrite機制,Nginx的反向代理機制,fast-cgi(如:PHP-FPM)

學習Web的靜態(tài)頁面緩存技術。

學習Web的異步工作流處理,數(shù)據(jù)Cache,數(shù)據(jù)分區(qū),負載均衡,水平擴展的構架。

實踐任務:

使用HTML5的canvas?制作一些Web動畫。

嘗試在前面開發(fā)過的那個Web應用中進行SQL注入,JS注入,以及XSS攻擊。

把前面開發(fā)過的那個Web應用改成構造在Nginx?+?PHP-FPM?+?靜態(tài)頁面緩存的網站

4、學習關系型數(shù)據(jù)庫

你可以安裝MSSQLServer或MySQL來學習數(shù)據(jù)庫。

學習教科書里數(shù)據(jù)庫設計的那幾個范式,1NF,2NF,3NF,……

學習數(shù)據(jù)庫的存過,觸發(fā)器,視圖,建索引,游標等。

學習SQL語句,明白表連接的各種概念(參看《SQL??Join的圖示》)

學習如何優(yōu)化數(shù)據(jù)庫查詢(參看《MySQL的優(yōu)化》)

實踐任務:設計一個論壇的數(shù)據(jù)庫,至少滿足3NF,使用SQL語句查詢本周,本月的最新文章,評論最多的文章,最活躍用戶。

5、一些開發(fā)工具

學會使用SVN或Git來管理程序版本。

學會使用JUnit來對Java進行單元測試。

學習C語言和Java語言的coding?standard?或?coding?guideline。(我N年前寫過一篇關C語言非常簡單的文章——《編程修養(yǎng)》,這樣的東西你可以上網查一下,一大堆)。

推薦閱讀《代碼大全》《重構》《代碼整潔之道》

高級深入

1、C++?/?Java?和面向對象

我個人以為學好C++,Java也就是舉手之勞。但是C++的學習曲線相當?shù)亩浮2贿^,我覺得C++是最需要學好的語言了。參看兩篇趣文“C++學習信心圖”?和“21天學好C++”

學習(麻省理工免費課程)C++面向對象編程

讀我的?“如何學好C++”中所推薦的那些書至少兩遍以上(如果你對C++的理解能夠深入到像我所寫的《C++虛函數(shù)表解析》或是《C++對象內存存局(上)(下)》,或是《C/C++返回內部靜態(tài)成員的陷阱》那就非常不錯了)

然后反思為什么C++要干成這樣,Java則不是?你一定要學會對比C++和Java的不同。比如,Java中的初始化,垃圾回收,接口,異常,虛函數(shù),等等。

實踐任務:

用C++實現(xiàn)一個BigInt,支持128位的整形的加減乘除的操作。

用C++封裝一個數(shù)據(jù)結構的容量,比如hash?table。

用C++封裝并實現(xiàn)一個智能指針(一定要使用模板)。

《設計模式》必需一讀,兩遍以上,思考一下,這23個模式的應用場景。主要是兩點:1)鐘愛組合而不是繼承,2)鐘愛接口而不是實現(xiàn)。(也推薦《深入淺出設計模式》)

實踐任務:

使用工廠模式實現(xiàn)一個內存池。

使用策略模式制做一個類其可以把文本文件進行左對齊,右對齊和中對齊。

使用命令模式實現(xiàn)一個命令行計算器,并支持undo和redo。

使用修飾模式實現(xiàn)一個酒店的房間價格訂價策略——旺季,服務,VIP、旅行團、等影響價格的因素。

學習STL的用法和其設計概念??-?容器,算法,迭代器,函數(shù)子。如果可能,請讀一下其源碼。

實踐任務:嘗試使用面向對象、STL,設計模式、和WindowsSDK圖形編程的各種技能

做一個貪吃蛇或是俄羅斯方塊的游戲。支持不同的級別和難度。

做一個文件瀏覽器,可以瀏覽目錄下的文件,并可以對不同的文件有不同的操作,文本文件可以打開編輯,執(zhí)行文件則執(zhí)行之,mp3或avi文件可以播放,圖片文件可以展示圖片。

學習C++的一些類庫的設計,如:?MFC(看看候捷老師的《深入淺出MFC》)?,Boost,?ACE,??CPPUnit,STL?(STL可能會太難了,但是如果你能了解其中的設計模式和設計那就太好了,如果你能深入到我寫的《STL?string類的寫時拷貝技術》那就非常不錯了,ACE需要很強在的系統(tǒng)知識,參見后面的“加強對系統(tǒng)的了解”)

Java是真正的面向對象的語言,Java的設計模式多得不能再多,也是用來學習面向對象的設計模式的最佳語言了(參看Java中的設計模式)。

推薦閱讀《Effective?Java》?and?《Java解惑》

學習Java的框架,Java的框架也是多,如Spring,?Hibernate,Struts?等等,主要是學習Java的設計,如IoC等。

Java的技術也是爛多,重點學習J2EE架構以及JMS,?RMI,?等消息傳遞和遠程調用的技術。

學習使用Java做Web?Service?(官方教程在這里)

實踐任務:?嘗試在Spring或Hibernate框架下構建一個有網絡的Web?Service的遠程調用程序,并可以在兩個Service中通過JMS傳遞消息。

C++和Java都不是能在短時間內能學好的,C++玩是的深,Java玩的是廣,我建議兩者選一個。我個人的學習經歷是:

深究C++(我深究C/C++了十來年了)

學習Java的各種設計模式。

2、加強系統(tǒng)了解

重要閱讀下面的幾本書:

《Unix編程藝術》了解Unix系統(tǒng)領域中的設計和開發(fā)哲學、思想文化體系、原則與經驗。你一定會有一種醍醐灌頂?shù)母杏X。

《Unix網絡編程卷1,套接字》這是一本看完你就明白網絡編程的書。重要注意TCP、UDP,以及多路復用的系統(tǒng)調用select/poll/epoll的差別。

《TCP/IP詳解?卷1:協(xié)議》-?這是一本看完后你就可以當網絡黑客的書。了解以太網的的運作原理,了解TCP/IP的協(xié)議,運作原理以及如何TCP的調優(yōu)。

實踐任務:

理解什么是阻塞(同步IO),非阻塞(異步IO),多路復用(select,?poll,?epoll)的IO技術。

寫一個網絡聊天程序,有聊天服務器和多個聊天客戶端(服務端用UDP對部分或所有的的聊天客戶端進Multicast或Broadcast)。

寫一個簡易的HTTP服務器。

《Unix網絡編程卷2,進程間通信》信號量,管道,共享內存,消息等各種IPC……?這些技術好像有點老掉牙了,不過還是值得了解。

實踐任務:

主要實踐各種IPC進程序通信的方法。

嘗試寫一個管道程序,父子進程通過管道交換數(shù)據(jù)。

嘗試寫一個共享內存的程序,兩個進程通過共享內存交換一個C的結構體數(shù)組。

學習《Windows核心編程》一書。把CreateProcess,Windows線程、線程調度、線程同步(Event,??信號量,互斥量)、異步I/O,內存管理,DLL,這幾大塊搞精通。

實踐任務:使用CreateProcess啟動一個記事本或IE,并監(jiān)控該程序的運行。把前面寫過的那個簡易的HTTP服務用線程池實現(xiàn)一下。寫一個DLL的鉤子程序監(jiān)控指定窗口的關閉事件,或是記錄某個窗口的按鍵。

有了多線程、多進程通信,TCP/IP,套接字,C++和設計模式的基本,你可以研究一下ACE了。使用ACE重寫上述的聊天程序和HTTP服務器(帶線程池)

實踐任務:通過以上的所有知識,嘗試

寫一個服務端給客戶端傳大文件,要求把100M的帶寬用到80%以上。(注意,磁盤I/O和網絡I/O可能會很有問題,想一想怎么解決,另外,請注意網絡傳輸最大單元MTU)

了解BT下載的工作原理,用多進程的方式模擬BT下載的原理。

3、系統(tǒng)架構

負載均衡。HASH式的,純動態(tài)式的。(可以到Google學術里搜一些關于負載均衡的文章讀讀)

多層分布式系統(tǒng)?–?客戶端服務結點層、計算結點層、數(shù)據(jù)cache層,數(shù)據(jù)層。J2EE是經典的多層結構。

CDN系統(tǒng)?–?就近訪問,內容邊緣化。

P2P式系統(tǒng),研究一下BT和電驢的算法。比如:DHT算法。

服務器備份,雙機備份系統(tǒng)(Live-Standby和Live-Live系統(tǒng)),兩臺機器如何通過心跳監(jiān)測對方?集群主結點備份。

虛擬化技術,使用這個技術,可以把操作系統(tǒng)當應用程序一下切換或重新配置和部署。

學習Thrift,二進制的高性能的通訊中間件,支持數(shù)據(jù)(對象)序列化和多種類型的RPC服務。

學習Hadoop。

Hadoop框架中最核心的設計就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇論文所提及而被廣為流傳的,簡單的

一句話解釋MapReduce就是“任務的分解與結果的匯總”。HDFS是Hadoop分布式文件系統(tǒng)(Hadoop?Distributed?File

System)的縮寫,為分布式計算存儲提供了底層支持。

了解NoSQL數(shù)據(jù)庫(有人說可能是一個過渡炒作的技術),

不過因為超大規(guī)模以及高并發(fā)的純動態(tài)型網站日漸成為主流,而SNS類網站在數(shù)據(jù)存取過程中有著實時性等剛性需求,這使得目前NoSQL數(shù)據(jù)庫慢慢成了人們

所關注的焦點,并大有成為取代關系型數(shù)據(jù)庫而成為未來主流數(shù)據(jù)存儲模式的趨勢。當前NoSQL數(shù)據(jù)庫很多,大部分都是開源的,其中比較知名的

有:MemcacheDB、Redis、Tokyo?Cabinet(升級版為Kyoto

Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。

寫了那么多,回顧一下,覺得自己相當?shù)挠谐删透小OM蠹也灰獓樦易约哼@十來年也在不斷地學習,今天我也在學習中,人生本來就是一個不斷學習和練級的過程。不過,一定有漏的,也有不對的,還希望大家補充和更正。(我會根據(jù)大家的反饋隨時更新此文)歡迎大家通過我的微博(@左耳朵耗子)和twitter(@haoel)和我交流。

—–?更新??2011/07/19?—–

1)有朋友奇怪為什么我在這篇文章開頭說了web+移動,卻沒有在后面提到iOS/Android的前端開發(fā)。因為我心里有一種感覺,移動設備上的UI最終也會被Javascript取代。大家可以用iPhone或Android看看google+,你就會明白了。

2)

有朋友說我這里的東西太多了,不能為了學習而學習,我非常同意。我在文章的前面也說了要思考。另外,千萬不要以為我說的這些東西是一些新的技術,這份攻略

里95%以上的全是基礎。而且都是久經考驗的基礎技術。即是可以讓你一通百通的技術,也是可以讓你找到一份不錯工作的技術。

3)有朋友說學

這些東西學完都40了,還不如想想怎么去掙錢。我想告訴大家,一是我今年還沒有40歲,二是學無止境啊,三是我不覺得掙錢有多難,難的是怎么讓你值那么多

錢?無論是打工還是創(chuàng)業(yè),是什么東西讓你自己的價值,讓你公司的價值更值錢?別的地方我不敢說,對于互聯(lián)網或IT公司來說,技術實力絕對是其中之一。

4)有朋友說技術都是工具,不應該如此癡迷這句話沒有錯,有時候我們需要更多的是抬起頭來看看技術以外的事情,或者是說我們在作技術的時候不去思考為什么會有這個技術,為什么不是別的,問題不在于技術,問題在于我們死讀書,讀死書,成了技術的書呆子。

5)?對于NoSQL,最近比較火,但我對其有點保守,所以,我只是說了解就可以。對于Hadoop,我覺得其在分布式系統(tǒng)上有巨大的潛力,所以需要學習。?對于關系型數(shù)據(jù)庫,的確是很重要的東西,這點是我的疏忽,在原文里補充。

我也已經25歲其實就有轉行的打算了,想轉數(shù)據(jù)分析大數(shù)據(jù)行業(yè),我大學本科是和這個專業(yè)相關的,

讀研期間多跟著導師做項目,有些導師手上有很多橫向項目,是參與實踐的良好途徑,其實有人讀研期間跟上班一樣忙,不要讓學校時光虛度。另外,你年齡不小了,可以在讀書期間思考以后就業(yè)的問題,讀書時成家政策也支持,當然有合適的結婚對象才行。

怎么解決sql低效回表問題

很簡單,改算法就行了。

1.先從單一SQL改成多步式聯(lián)動的散SQL查詢集群。并且單表多條件為契機修改查詢條件與數(shù)據(jù)返回的欄位記錄到內存上。

保證每次查詢即需要,每次緩存不重復原則。

2.再把原服務器消耗的CPU性能往客戶端轉移,變成客戶端的帶寬+瀏覽器運算轉嫁。

畢竟現(xiàn)在客戶電腦資源都很高,計算在用戶后臺比集中在數(shù)據(jù)庫利用CPU計算要劃算得多。

3.最后通過異步異表方式進行無讀書批量性跟數(shù)據(jù)庫發(fā)起請求。這個操作也是為了方便日后換NOSQL數(shù)據(jù)庫后不需要改算法。

批量異步操作會最大限度讓數(shù)據(jù)庫的緩存命中率提高,IO壓力只需要頭一次,后面的基本都是緩存的事了。

4.通過多個數(shù)據(jù)集與運算方式通過前端計算后展示給用戶

這個不用解析了,數(shù)據(jù)庫最終關系掛靠在前端進行,就算被反編譯因為沒有具體SQL根本看不出數(shù)結構,代碼安全性也提高了。

以上方法優(yōu)化后十億級數(shù)據(jù)量每秒并非400+的查詢,到前臺用戶顯示也就1秒內而已。

馬上大四畢業(yè)了,現(xiàn)在想學java語言,現(xiàn)在學習還來得及嗎?

大四想學習java不僅來得及,而且是非常好的選擇,因為java的發(fā)展前景非常好,但是建議0基礎的人不要選擇自學java。作為一種最流行的網絡編程語言之一,java在當今信息化社會中發(fā)揮了重要的作用。千鋒教育有線上免費Java線上公開課。隨著Internet的迅速發(fā)展,Web應用日益廣泛,Java語言也得到了迅速發(fā)展。所以說市場對于java開發(fā)工程師的需求量是非常高的, 但是打鐵當須自身硬,自身技術過硬到哪里都是搶手的。如果0基礎自學java可能會相當吃力,正確的學習資料的獲取、學習中遇到的問題以及如何合理運用學到的知識等都是自學中常會遇到的問題,最主要的還是作為一個零基礎的初學者沒有人指導帶著學。所以自學Java需要基本上一年以上的時間才能達到找工作的水平,再加上如果學習的人自制力不強的話,可能都學不到最后就半途而廢了。而培訓機構有系統(tǒng)的教學體系和經驗豐富的講師,對學習java很有幫助。在機構中,普通人通過四到六個月就可以通過java知道一份不錯的工作。但是由于java屬于新興行業(yè),行業(yè)標準不規(guī)范,各種培訓機構水平參差不齊。所以我們要挑選口碑良好、師資團隊優(yōu)秀、教學內容與時俱進的培訓機構。在選擇過程中,最好進行實地考察,進行細致全面的了解,試聽Java課程。如果想了解更多相關知識,建議到千鋒教育了解一下。千鋒教育目前在18個城市擁有22個校區(qū),年培養(yǎng)優(yōu)質人才20000余人,與國內20000余家企業(yè)建立人才輸送合作關系,院校合作超600所。

數(shù)據(jù)分析師適合看什么書

數(shù)據(jù)分析是一門專業(yè)且跨越多個領域的學科,我整理了數(shù)據(jù)分析師看的書,希望對你有所幫助:

數(shù)據(jù)分析師的必讀書單:Excel

   《誰說菜鳥不會數(shù)據(jù)分析》

知名度比較高的一套書,適合新手,優(yōu)點是它和數(shù)據(jù)分析結合,而不是單純地學習函數(shù)。學會函數(shù)適用的場景和過程比它本身更重要。

是否需要學習VBA是仁者見仁的答案。我個人不建議。Excel VBA的最大優(yōu)勢是適用性廣,哪怕去其他行業(yè)其他職位,都離不開Excel,這時候它就是一個工作加分的亮點。但是在互聯(lián)網行業(yè),對數(shù)據(jù)分析師,VBA的性價比就不高了。

這里只推薦一本,因為我就翻過上面這本,還沒全看…

數(shù)據(jù)分析師的必讀書單:數(shù)據(jù)可視化

數(shù)據(jù)可視化的書不多。市面上多以編程為主,面向新手和設計的教程寥寥無幾。 如果只是了解圖表,看Excel的書籍也管用。

內容很豐富,涉及可視化的方方面面,也囊括更類編程語言和設計軟件:Python+JS+R+Excel。作者還有另外一本書《數(shù)據(jù)之美》。

可視化是一門側重靈感的學科,有一種入門技巧是從他人設計中學習,從模仿開始,了解他人是如何設計的,這個網絡上有大量的信息圖可以參考。當然數(shù)據(jù)分析師更需要的是如何發(fā)現(xiàn),別只學習展示。

英文足夠好,可以看Edward Tufte的著作:《The Visual Display of Quantitative Information》、《Envisioning Information》、《Beautiful Evidence》。他是數(shù)據(jù)可視化的領軍人物,他的理念是反對為藝術效果而混淆或者簡化數(shù)據(jù)。暫時沒有中文版。

數(shù)據(jù)分析師的必讀書單:分析思維

《金字塔原理》

分析思維首推《金字塔原理》,金字塔原理有些人說它晦澀難懂,我認為是芭芭拉這個老太有騙稿費之嫌,本書包含了報告、寫文、演講等諸多內容。可以細看可以快看。另外還有一本同名案例集,有興趣可以買。

另外麥肯錫相關的書籍還有《麥肯錫意識》《麥肯錫工具》《麥肯錫方法》等。

《深入淺出數(shù)據(jù)分析》

深入淺出系列是對新手非常友好的叢書,用生動但啰嗦的語言講解案例。厚厚的一本書翻起來很快。本書涉及的基礎概念比較廣,包含一點統(tǒng)計學知識,學下來對數(shù)據(jù)分析思維會有一個大概了解。

《精益數(shù)據(jù)分析》

國外的精益系列一直以互聯(lián)網創(chuàng)業(yè)作內容導向,本書也屬于此類。如果是互聯(lián)網行業(yè)相關,可以看看。它介紹了不同領域的指標,以及產品不同時期的側重點。案例都是歐美,這部分做參考用。

接下來的幾本,是興趣向讀物。《黑天鵝》能拓展思維,講敘了不確定性。《思考的技術》,大前研一的著作,也是咨詢類經典。如果對咨詢向的分析感興趣,還可以看BCG系列,或者刷CaseBook。《批判性思維》,則是教你如何形成理性思維。

   數(shù)據(jù)分析師的必讀書單:SQL

數(shù)據(jù)庫有很多種,常見有Oracle,MySQL,SQL Server等。我推薦學習MySQL,這是互聯(lián)網公司的主流數(shù)據(jù)庫。以后學習Hadoop生態(tài)時,MySQL也是最接近Hive語法的語言。

MySQL不需要專門看書學習,因為數(shù)據(jù)分析師以查詢?yōu)橹鳎恍枰紤]數(shù)據(jù)性能、數(shù)據(jù)安全和架構的問題。使用搜索引擎能解決90%的問題,我就是w3cschool學的。

《MySQL必知必會》

如果真想買書看,可以看這本,適合新手向的學習,看基礎概念和查詢相關的章節(jié)即可。網絡上大部分MySQL都是偏DBA的'。

如果想深入,可以看《高性能MySQL》,對分析師沒啥用。至于另外一個方向NoSQL,對入門者還是小眾了些。

如果有余力,就學習正則表達式吧,清洗數(shù)據(jù)的工作就靠它了。

   數(shù)據(jù)分析師的必讀書單:統(tǒng)計學

統(tǒng)計學是比較大的范圍,分析師往后還需要學線性代數(shù)和矩陣、關系代數(shù)等。初學者不需要掌握所有公式定理的數(shù)學推導,懂得如何應用就行用。

《深入淺出統(tǒng)計學》

大概是最啰嗦的深入淺出系列,從賣橡皮鴨到賭 bo機的案例,囊括了常用的統(tǒng)計分析如假設檢驗、概率分布、描述統(tǒng)計、貝葉斯等。書本注重應用和趣味性,數(shù)學推理一般。

《商務與經濟統(tǒng)計》

國外的經典教材,已經出到第十二版了。國外教材都有豐富有趣的案例,所以讀起來會比國內的輕松不少。如果你還在讀書,不妨買這本看一看。

名字既然有商務與經濟,所以書中輔以了大量的相關案例。書內容很多,看起來不會快,適合細讀。

《The Elements of Statistical Learning》

稍微有一些難度的英文書籍,屬于進階版統(tǒng)計學,國外很推崇。如果要往機器學習發(fā)展,這本書可以打下很好的基礎。

以上書籍的難度是逐步遞增的。統(tǒng)計學是機器學習的基礎,是概率、矩陣等實際應用。現(xiàn)在已經有很多統(tǒng)計工具,Excel的分析工具庫、傳統(tǒng)行業(yè)的SPSS、SAS以及R、Python等,使用過程都不用計算推導,大學考試才會考,現(xiàn)在都是計算機解決,輕松不少。

數(shù)據(jù)分析師的必讀書單:業(yè)務知識

不同領域的業(yè)務知識都不一樣,這里以互聯(lián)網舉例。

《增長黑客》

增長黑客的概念就是隨著這本書的暢銷傳播開來。增長黑客在國內即是數(shù)據(jù)分析+運營/產品的復合型人才。這本書好的地方在于拓展思路,告訴我們數(shù)據(jù)能夠做什么,尤其是連AB測試都不清楚的新人。

實際涉及的業(yè)務知識不多,我推薦,是希望新人能夠了解數(shù)據(jù)驅動的概念,這本算是我走上數(shù)據(jù)化運營的啟蒙讀物了。

《從零開始做運營》

知乎亮哥的書籍,互聯(lián)網所有的數(shù)據(jù)都是和運營相關的,如果是新手,就以此學習業(yè)務知識。如果已經工作很多,就略過吧。

新聞名稱:nosql讀書,nosql書籍
新聞來源:http://chinadenli.net/article46/dsgjghg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計域名注冊網站設計公司營銷型網站建設做網站搜索引擎優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網站