大一學(xué)習(xí)的c++,工作之后也一直用的c++。
在清河等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站制作,清河網(wǎng)站建設(shè)費(fèi)用合理。
1. 涵蓋c++入門(mén)到精通的圖書(shū)列表
《The C programming language》必讀
《C++ Primer》,號(hào)稱是一本可以讓你從C或JAVA程序員轉(zhuǎn)為一個(gè)真正的C++程序員的入門(mén)參考書(shū),必讀。
《The C++ programming language》,C++之父,人稱B教主著作,在看過(guò)C++ primer后,應(yīng)該可以跳章選讀。
《Think in c++》,網(wǎng)上說(shuō)此書(shū)的中文版翻譯質(zhì)量奇差,推薦看影印版,選讀。
《Effective c++》,類似 Effective java,講的是最佳實(shí)踐,程序員必讀。
《More effective c++》,上書(shū)的補(bǔ)充。
《The C++ standard library》,會(huì)寫(xiě)C,不會(huì)用標(biāo)準(zhǔn)庫(kù)怎么行。這就跟java程序員不會(huì)用java.util包一樣,必讀。
《Effective STL》,STL庫(kù)的最佳實(shí)踐。Effective C++作者又一力作,必讀。
《The annotated STL source》,STL源碼分析,這本書(shū)應(yīng)該算是深入/精通類了,選讀。
《Generic programming and STL》,號(hào)稱C++編程里,就是跟模板,泛型打交道,那么精通泛型是勢(shì)在必行。
《C++ Template》,C++模板編程,代碼復(fù)用的經(jīng)驗(yàn)之道,必讀。
《Exceptional C++》,跟Effective C++類似,屬于最佳實(shí)踐和難題解析,書(shū)中列出了許多應(yīng)用場(chǎng)景和實(shí)例代碼供讀者揣摩,選讀。
《More Exceptional C++》,上書(shū)的補(bǔ)充。
《Exceptional C++ Style》,上上書(shū)的補(bǔ)充
《Inside The C++ Object Model》,有了上面這些書(shū)做鋪墊,那么終于可以讀此神書(shū)了。它會(huì)帶你游覽C++對(duì)象模型的底層實(shí)現(xiàn)機(jī)制。讀完此書(shū),任何C++代碼看起來(lái)如同行云流水,必讀。
2. 優(yōu)秀的C/C++開(kāi)源項(xiàng)目(閱讀代碼)
OS:Linux kernel LVS、Linux應(yīng)用程序
DB:Mysql、PostgreSQL
Complier:VM、GCC
Framework:OpenSip、SipProxy、
Net:ACE(Java Mina、Netty)、TCP/IP、HTTP協(xié)議棧
Cache:Memcached、Redis、
Library:STL(java util package)、Boost、Qt(UI)、
balance:Apache、Nginx
GSL
地址:
Boost文檔
地址:
wxWidgets官網(wǎng)
地址:
gtkmm
地址:
CopperSpice
地址:
Qt
地址:
地址:
Plot utils
地址:
Asio
地址:
POCO
地址:
abseil
地址:
C++開(kāi)源庫(kù)匯總列表
地址:
除了這些開(kāi)源項(xiàng)目,也可以找一些免費(fèi)的公開(kāi)課,那這里也推薦一個(gè)ACM金牌大佬講授的免費(fèi)C++課程,可以去體驗(yàn)一下:
學(xué)好C++才是入職大廠的敲門(mén)磚! 當(dāng)年要是有這課,我的C++也不至于這樣
已失效
3.C++語(yǔ)法講解
語(yǔ)言基礎(chǔ)
詳細(xì)介紹變量、表達(dá)式、語(yǔ)句、指針、數(shù)組、流程控制、函數(shù)、文件組織等。
抽象機(jī)制 - 面向?qū)ο缶幊?/p>
深入講解C++的抽象機(jī)制,封裝(類)、繼承、多態(tài);操作符重載、函數(shù)對(duì)象、異常處理等。
模板 - 泛型編程
詳細(xì)介紹C++的模板機(jī)制,類模板、函數(shù)模板、模板特化等方面的內(nèi)容。
4.深入c++面向?qū)ο?/p>
4.1、從C到C++
引用和指針:為什么引用很重要
const關(guān)鍵字:為什么const很重要
名字空間 (namespace)
4.2、深入C++對(duì)象
關(guān)于C++對(duì)象
內(nèi)置類型的對(duì)象,如int、double對(duì)象,自定義類型的對(duì)象
對(duì)象類型的定義
關(guān)鍵字class和struct
類成員:成員函數(shù)和數(shù)據(jù)成員
靜態(tài)數(shù)據(jù)成員
成員的訪問(wèn)控制
對(duì)象的size
關(guān)于this指針
onst成員函數(shù)、const究竟修飾什么
mutable數(shù)據(jù)成員
4種特殊成員函數(shù):constructor、destructor、copy constructor、operator=
對(duì)象的構(gòu)造、初始化列表
對(duì)象的析構(gòu)
對(duì)象的復(fù)制
什么情況下有必要顯式定義4種特殊函數(shù)
C++對(duì)象生命周
4.3、操作符重載
關(guān)于C++中操作符重載機(jī)制
重要操作符重載
算術(shù)運(yùn)算:+, -, *, /, %, ++, --, ...
關(guān)系運(yùn)算:, , ==, !=
下標(biāo)存?。篬 ]
函數(shù)調(diào)用:(),函數(shù)對(duì)象
類型轉(zhuǎn)換、單參數(shù)構(gòu)造函數(shù)與隱式轉(zhuǎn)換、阻止隱式轉(zhuǎn)換 -- explicit關(guān)鍵字
友元與成員
4.4、面向?qū)ο蠡A(chǔ) -- 繼承
基類與派生類
再談對(duì)象的構(gòu)造與析構(gòu)
虛函數(shù)、純虛函數(shù)
派生類的內(nèi)存布局、虛函數(shù)表
多態(tài)、多態(tài)類型、如何體現(xiàn)多態(tài)
虛析構(gòu)、為什么虛析構(gòu)很重要
4.5、關(guān)于繼承更多的話題
多繼承
虛繼承與虛基類
對(duì)基類的訪問(wèn)、public / protected / private繼承
Down cast:static_cast和dynamic_cast
運(yùn)行期類型識(shí)別 (RTTI)
4.6、C++與面向?qū)ο笤O(shè)計(jì)
C++語(yǔ)言機(jī)制提供了完整的OOP支持
超越繼承
OOP若干法則和設(shè)計(jì)模式
5.C++泛型編程與STL
5.1、C++ 模板機(jī)制
5.2、STL 概要
5.3、STL容器
5.4、STL迭代
5.5、STL算法
5.6、預(yù)與定義STL數(shù)對(duì)象
5.7、STL適配器
6. C++進(jìn)階
《C++ Primer》
最新版本:第三版(第四版國(guó)外已上架, 國(guó)內(nèi)一些網(wǎng)上書(shū)店也在預(yù)訂中)
適合有豐富C經(jīng)驗(yàn),缺乏C++經(jīng)驗(yàn)的。不過(guò)我個(gè)人一直認(rèn)為此書(shū)帶著過(guò)于強(qiáng)烈的C語(yǔ)言的痕跡,對(duì)于C++的學(xué)習(xí)未必是 好事。
《The C++ Programming Language》/《C++程序設(shè)計(jì)語(yǔ)言》
最新版本:第三版特別版
簡(jiǎn)稱 TC++PL,有其他語(yǔ)言的豐富經(jīng)驗(yàn)的。(也有人簡(jiǎn)稱之為“TCPL”,但需與另一本《The C Programmer Language》區(qū)分開(kāi)來(lái))
《Essential C++》
《Accelerated C++》
這兩本薄一些,都是不錯(cuò)的選擇。《Accelerated C++》本人沒(méi)有讀過(guò),從各方面的評(píng)價(jià)來(lái)看,完全值得推薦。
以上幾本書(shū)都有相應(yīng)的中文版,而且翻譯的質(zhì)量都不錯(cuò)。上面的書(shū)未必都需要讀一遍,但無(wú)論如何,TC++PL是應(yīng)該閱讀的。
《Effective C++》
最新版本:第二版(第三版國(guó)外已上架,國(guó)內(nèi)一些網(wǎng)上書(shū)店也在預(yù)訂中)
簡(jiǎn)稱EC。C++程序員必讀!很多時(shí)候,我們說(shuō)C++圣經(jīng)不是指TC++PL,而是這一本?!禩he Pragmatic Programmer》一書(shū)中寫(xiě)到:“一旦你發(fā)現(xiàn)自己要參與C++項(xiàng)目的開(kāi)發(fā),趕快跑(不要走)到書(shū)店去購(gòu)買(mǎi)Scott Mayer的《Effective C++》,可能還要《More Effective C++》”。
《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 編程規(guī)范》
個(gè)人認(rèn)為此書(shū)應(yīng)為C++程序員必備的案頭書(shū)。幾乎Effective系列和Exceptional系 列都在這里得到了總結(jié)。最新的模版、異常的業(yè)界經(jīng)驗(yàn)都在這里的到了體現(xiàn)??赡艿奈ㄒ蝗毕菥褪菍?duì)一個(gè)新手而言,關(guān)于“為什么這么做”的問(wèn)題,解釋的不夠。
我 的看法是:如果你不理解其中的條款,記憶,并且照做;如果你理解其中的條款,我猜你一定會(huì)同意書(shū)中的觀點(diǎn)。我認(rèn)為這本書(shū)中的內(nèi)容至少在2009年以前都不 會(huì)過(guò)時(shí),人們將廣為傳誦它制定的101條戒律。
還不知道他的簡(jiǎn)稱,也許“101”會(huì)成為一個(gè)候選者?
提到《Effective C++》,那么另外三本書(shū)一一浮出水面:
《More Effective C++》
《Exceptional C++》
《More Exceptional C++》。
新書(shū)《Exceptional C++ Style》也是值得一看的好書(shū)。
上 述幾本書(shū),一本也不應(yīng)該放過(guò)。
個(gè)人建議上述書(shū)籍按順序閱讀。并且,在將來(lái)反復(fù)閱讀這幾本書(shū)。
《Thinking in C++》/《C++編程思想》
這本書(shū)及其中文版?zhèn)餮院脡亩加?,沒(méi)有認(rèn)真看過(guò),不做評(píng)價(jià),如果確有興趣,不妨嘗試 一下該書(shū)。
以下幾本書(shū)基本上涉及的都是語(yǔ)言本身,大體上可以按照以下的順序閱讀。
《C++必知必會(huì)》
如果早一年,這本書(shū)將是重量級(jí)的,然而它被101和《Exceptional C++ Style》蓋過(guò)一頭。
《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序設(shè)計(jì)陷阱》
這又是一本我未曾讀過(guò),而且廣受好評(píng)的書(shū)。
《STL 源碼剖析》
這本書(shū)我剛到手,就被人"借"走,以至于到現(xiàn)在也沒(méi)有看過(guò)??催^(guò)這本書(shū)的朋友,可以給一個(gè)合適的評(píng)價(jià)。
7. C++進(jìn)階之?dāng)?shù)據(jù)結(jié)構(gòu)基礎(chǔ)
這是所有編程語(yǔ)言中最應(yīng)該學(xué)習(xí)的部分,程序組成的基礎(chǔ)之一。
順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、循環(huán)鏈表;
雙向鏈表、棧(順序和鏈?zhǔn)?、隊(duì)列(順序和鏈?zhǔn)?;
棧的應(yīng)用、樹(shù)基本概念及遍歷、二叉樹(shù);
排序算法、并歸算法、選擇、插入、快速、希爾。
以上這些內(nèi)容你知道嗎?
8. C++進(jìn)階之UI界面開(kāi)發(fā)
掌握QT類庫(kù)構(gòu)架,圖形界面開(kāi)發(fā)模型;
掌握QT開(kāi)發(fā)技巧,消息機(jī)制,圖形處理;
掌握QT網(wǎng)絡(luò)編程,UDP,TCP使用方式;
掌握QT文件處理方式,序列化;
掌握QT在windows,linux,ios,android不同平臺(tái)下的移植技術(shù)。
9. C++進(jìn)階之Unix/Linux網(wǎng)絡(luò)服務(wù)器
掌握Unix/Linux平臺(tái)開(kāi)發(fā)方式;
熟練使用系統(tǒng)調(diào)用;
熟練Unix/Linux內(nèi)存管理,進(jìn)程,線程調(diào)度;
熟悉網(wǎng)絡(luò)服務(wù)器開(kāi)發(fā)方式,熟練編寫(xiě)TCP,UCP網(wǎng)絡(luò)服務(wù)程序;
掌握同步/異步IO模型在網(wǎng)絡(luò)編程中的使用方式。
10.C++進(jìn)階之?dāng)?shù)據(jù)庫(kù)開(kāi)發(fā)
掌握SQL語(yǔ)言的實(shí)用技巧。Oracle,MySQL數(shù)據(jù)庫(kù)的使用方式。
如果你能熟練掌握以上列出的技能,具備解決復(fù)雜問(wèn)題和技術(shù)難點(diǎn)的能力,而且你能獨(dú)立開(kāi)發(fā)一些比較復(fù)雜的功能模塊,那么很榮幸地告訴你,你已經(jīng)達(dá)到中級(jí)水平,薪資過(guò)萬(wàn)對(duì)你來(lái)說(shuō)簡(jiǎn)直是小菜一碟。
11.C++標(biāo)準(zhǔn)參考
C++ reference
地址:
C++ Coding Standard
地址:
Standard C++
地址:
State of C++ Evolution
地址:
The C++ Resources Network
地址:
Draft C++ Standard: Contents
地址:
關(guān)注一些公眾號(hào),比如c語(yǔ)言與cpp編程
大數(shù)據(jù)開(kāi)發(fā)難不難學(xué)?
大數(shù)據(jù)開(kāi)發(fā),難點(diǎn)有以下4個(gè)階段:
1、數(shù)據(jù)采集
數(shù)據(jù)采集有線上和線下兩種方式,線上一般通過(guò)爬蟲(chóng)、通過(guò)抓取,或者通過(guò)已有應(yīng)用系統(tǒng)的采集,在這個(gè)階段,我們可以做一個(gè)大數(shù)據(jù)采集平臺(tái),依托自動(dòng)爬蟲(chóng)(使用python或者nodejs制作爬蟲(chóng)軟件),ETL工具、或者自定義的抽取轉(zhuǎn)換引擎,從文件中、數(shù)據(jù)庫(kù)中、網(wǎng)頁(yè)中專項(xiàng)爬取數(shù)據(jù),如果這一步通過(guò)自動(dòng)化系統(tǒng)來(lái)做的話,可以很方便的管理所有的原始數(shù)據(jù),并且從數(shù)據(jù)的開(kāi)始對(duì)數(shù)據(jù)進(jìn)行標(biāo)簽采集,可以規(guī)范開(kāi)發(fā)人員的工作。并且目標(biāo)數(shù)據(jù)源可以更方便的管理。
數(shù)據(jù)采集的難點(diǎn)在于多數(shù)據(jù)源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。還有本地文件、excel統(tǒng)計(jì)文檔、甚至是doc文件。如何將他們規(guī)整的、有方案的整理進(jìn)我們的大數(shù)據(jù)流程中也是必不可缺的一環(huán)。
2、數(shù)據(jù)匯聚
數(shù)據(jù)的匯聚是大數(shù)據(jù)流程關(guān)鍵的一步,你可以在這里加上數(shù)據(jù)標(biāo)準(zhǔn)化,你也可以在這里做數(shù)據(jù)清洗,數(shù)據(jù)合并,還可以在這一步將數(shù)據(jù)存檔,將確認(rèn)可用的數(shù)據(jù)經(jīng)過(guò)可監(jiān)控的流程進(jìn)行整理歸類,這里產(chǎn)出的所有數(shù)據(jù)就是整個(gè)公司的數(shù)據(jù)資產(chǎn)了,到了一定的量就是一筆固定資產(chǎn)。
數(shù)據(jù)匯聚的難點(diǎn)在于如何標(biāo)準(zhǔn)化數(shù)據(jù),例如表名標(biāo)準(zhǔn)化,表的標(biāo)簽分類,表的用途,數(shù)據(jù)的量,是否有數(shù)據(jù)增量?,數(shù)據(jù)是否可用? 需要在業(yè)務(wù)上下很大的功夫,必要時(shí)還要引入智能化處理,例如根據(jù)內(nèi)容訓(xùn)練結(jié)果自動(dòng)打標(biāo)簽,自動(dòng)分配推薦表名、表字段名等。還有如何從原始數(shù)據(jù)中導(dǎo)入數(shù)據(jù)等。
3、數(shù)據(jù)轉(zhuǎn)換和映射
經(jīng)過(guò)數(shù)據(jù)匯聚的數(shù)據(jù)資產(chǎn)如何提供給具體的使用方使用?在這一步,主要就是考慮數(shù)據(jù)如何應(yīng)用,如何將兩個(gè)?三個(gè)?數(shù)據(jù)表轉(zhuǎn)換成一張能夠提供服務(wù)的數(shù)據(jù)。然后定期更新增量。
經(jīng)過(guò)前面的那幾步,在這一步難點(diǎn)并不太多了,如何轉(zhuǎn)換數(shù)據(jù)與如何清洗數(shù)據(jù)、標(biāo)準(zhǔn)數(shù)據(jù)無(wú)二,將兩個(gè)字段的值轉(zhuǎn)換成一個(gè)字段,或者根據(jù)多個(gè)可用表統(tǒng)計(jì)出一張圖表數(shù)據(jù)等等。
4、數(shù)據(jù)應(yīng)用
數(shù)據(jù)的應(yīng)用方式很多,有對(duì)外的、有對(duì)內(nèi)的,如果擁有了前期的大量數(shù)據(jù)資產(chǎn),通過(guò)restful API提供給用戶?或者提供流式引擎 KAFKA 給應(yīng)用消費(fèi)? 或者直接組成專題數(shù)據(jù),供自己的應(yīng)用查詢?這里對(duì)數(shù)據(jù)資產(chǎn)的要求比較高,所以前期的工作做好了,這里的自由度很高。
大數(shù)據(jù)開(kāi)發(fā)的難點(diǎn)主要是監(jiān)控,怎么樣規(guī)劃開(kāi)發(fā)人員的工作?開(kāi)發(fā)人員隨隨便便采集了一堆垃圾數(shù)據(jù),并且直連數(shù)據(jù)庫(kù)。 短期來(lái)看,這些問(wèn)題比較小,可以矯正。 但是在資產(chǎn)的量不斷增加的時(shí)候,這就是一顆定時(shí)炸彈,隨時(shí)會(huì)引爆,然后引發(fā)一系列對(duì)數(shù)據(jù)資產(chǎn)的影響,例如數(shù)據(jù)混亂帶來(lái)的就是數(shù)據(jù)資產(chǎn)的價(jià)值下降,客戶信任度變低。
在大數(shù)據(jù)行業(yè)工作兩年是怎樣一種體驗(yàn)
寫(xiě)在前面
今年廣州的初夏在經(jīng)歷了大雨的洗禮之后,一切都變得更加明朗起來(lái),新的工作,新的人和事。懶惰讓我變得更焦慮,焦慮促使我進(jìn)步,程序員的焦慮大家應(yīng)該都有共同的感覺(jué),時(shí)代的步伐太快了,在這個(gè)環(huán)境下的軟件開(kāi)發(fā)一定會(huì)淘汰掉那些不懂得學(xué)習(xí)、懶惰的人。希望跟大家共勉。
在本文中,我主要回顧這兩年來(lái),在大數(shù)據(jù)行業(yè)公司從事大數(shù)據(jù)類的前端開(kāi)發(fā)的工作。最近剛剛換了一份工作,這里把我的經(jīng)驗(yàn)稍作總結(jié)分享給大家。
本文主要從大數(shù)據(jù)開(kāi)發(fā)的角度出發(fā),到大數(shù)據(jù)治理的必要性,再到圖形化建模的暢想,最后在數(shù)據(jù)質(zhì)量的把關(guān),然后到大數(shù)據(jù)可視化的應(yīng)用,總結(jié)兩年的見(jiàn)聞和我的學(xué)習(xí)成果,也不知理解有無(wú)偏差,希望大家能給出建議。
大數(shù)據(jù)開(kāi)發(fā)
大數(shù)據(jù)開(kāi)發(fā),有幾個(gè)階段:
1.數(shù)據(jù)采集(原始數(shù)據(jù))
2.數(shù)據(jù)匯聚(經(jīng)過(guò)清洗合并的可用數(shù)據(jù))
3.數(shù)據(jù)轉(zhuǎn)換和映射(經(jīng)過(guò)分類、提取的專項(xiàng)主題數(shù)據(jù))
4.數(shù)據(jù)應(yīng)用(提供api 智能系統(tǒng) 、應(yīng)用系統(tǒng)等)
數(shù)據(jù)采集
數(shù)據(jù)采集有線上和線下兩種方式,線上一般通過(guò)爬蟲(chóng),通過(guò)抓取或者通過(guò)已有應(yīng)用系統(tǒng)的采集。
在這個(gè)階段,我們可以做一個(gè)大數(shù)據(jù)采集平臺(tái),依托自動(dòng)爬蟲(chóng)(使用Python或者Node.js制作爬蟲(chóng)軟件),ETL工具、或者自定義的抽取轉(zhuǎn)換引擎,從文件中、數(shù)據(jù)庫(kù)中、網(wǎng)頁(yè)中專項(xiàng)爬取數(shù)據(jù)。如果這一步通過(guò)自動(dòng)化系統(tǒng)來(lái)做的話,可以很方便的管理所有的原始數(shù)據(jù),并且從數(shù)據(jù)的開(kāi)始對(duì)數(shù)據(jù)進(jìn)行標(biāo)簽采集,可以規(guī)范開(kāi)發(fā)人員的工作,同時(shí)目標(biāo)數(shù)據(jù)源可以更方便的管理。
數(shù)據(jù)采集的難點(diǎn)在于多數(shù)據(jù)源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。還有本地文件、excel統(tǒng)計(jì)文檔、甚至是doc文件。如何將它們規(guī)整、有方案地整理進(jìn)我們的大數(shù)據(jù)流程中也是必不可缺的一環(huán)。
數(shù)據(jù)匯聚
數(shù)據(jù)的匯聚是大數(shù)據(jù)流程最關(guān)鍵的一步,你可以在這里加上數(shù)據(jù)標(biāo)準(zhǔn)化,你也可以在這里做數(shù)據(jù)清洗,數(shù)據(jù)合并,還可以在這一步將數(shù)據(jù)存檔,將確認(rèn)可用的數(shù)據(jù)經(jīng)過(guò)可監(jiān)控的流程進(jìn)行整理歸類,這里產(chǎn)出的所有數(shù)據(jù)就是整個(gè)公司的數(shù)據(jù)資產(chǎn),到了一定的量就是一筆固定資產(chǎn)。
數(shù)據(jù)匯聚的難點(diǎn)在于如何標(biāo)準(zhǔn)化數(shù)據(jù),例如表名標(biāo)準(zhǔn)化,表的標(biāo)簽分類,表的用途,數(shù)據(jù)的量,是否有數(shù)據(jù)增量?數(shù)據(jù)是否可用?
這些需要在業(yè)務(wù)上下很大的功夫,必要時(shí)還要引入智能化處理,例如根據(jù)內(nèi)容訓(xùn)練結(jié)果自動(dòng)打標(biāo)簽,自動(dòng)分配推薦表名、表字段名等,還有如何從原始數(shù)據(jù)中導(dǎo)入數(shù)據(jù)等。
數(shù)據(jù)轉(zhuǎn)換和映射
經(jīng)過(guò)數(shù)據(jù)匯聚的數(shù)據(jù)資產(chǎn)如何提供給具體的使用方使用?在這一步,主要就是考慮數(shù)據(jù)如何應(yīng)用,如何將兩、三個(gè)數(shù)據(jù)表轉(zhuǎn)換成一張能夠提供服務(wù)的數(shù)據(jù)。然后定期更新增量。
經(jīng)過(guò)前面的那幾步,在這一步難點(diǎn)并不太多了,如何轉(zhuǎn)換數(shù)據(jù)與如何清洗數(shù)據(jù)、標(biāo)準(zhǔn)數(shù)據(jù)無(wú)二,將兩個(gè)字段的值轉(zhuǎn)換成一個(gè)字段,或者根據(jù)多個(gè)可用表統(tǒng)計(jì)出一張圖表數(shù)據(jù)等等。
數(shù)據(jù)應(yīng)用
數(shù)據(jù)的應(yīng)用方式很多,有對(duì)外的、有對(duì)內(nèi)的,如果擁有了前期的大量數(shù)據(jù)資產(chǎn),是通過(guò)restful API提供給用戶?還是提供流式引擎 KAFKA 給應(yīng)用消費(fèi)? 或者直接組成專題數(shù)據(jù),供自己的應(yīng)用查詢?這里對(duì)數(shù)據(jù)資產(chǎn)的要求比較高,所以前期的工作做好了,這里的自由度很高。
大數(shù)據(jù)開(kāi)發(fā)的難點(diǎn)
大數(shù)據(jù)開(kāi)發(fā)的難點(diǎn)主要是監(jiān)控,怎么樣規(guī)劃開(kāi)發(fā)人員的工作。開(kāi)發(fā)人員隨隨便便采集了一堆垃圾數(shù)據(jù),并且直連數(shù)據(jù)庫(kù)。 短期來(lái)看,這些問(wèn)題比較小,可以矯正。 但是在資產(chǎn)的量不斷增加的時(shí)候,這就是一顆定時(shí)炸彈,隨時(shí)會(huì)引爆,然后引發(fā)一系列對(duì)數(shù)據(jù)資產(chǎn)的影響,例如數(shù)據(jù)混亂帶來(lái)的就是數(shù)據(jù)資產(chǎn)的價(jià)值下降,客戶信任度變低。
如何監(jiān)控開(kāi)發(fā)人員的開(kāi)發(fā)流程?
答案只能是自動(dòng)化平臺(tái),只有自動(dòng)化平臺(tái)能夠做到讓開(kāi)發(fā)人員感到舒心的同時(shí),接受新的事務(wù),拋棄手動(dòng)時(shí)代。
這就是前端開(kāi)發(fā)工程師在大數(shù)據(jù)行業(yè)中所占有的優(yōu)勢(shì)點(diǎn),如何制作交互良好的可視化操作界面?如何將現(xiàn)有的工作流程、工作需求變成一個(gè)個(gè)的可視化操作界面? 可不可以使用智能化取代一些無(wú)腦的操作?
從一定意義上來(lái)說(shuō),大數(shù)據(jù)開(kāi)發(fā)中,我個(gè)人認(rèn)為前端開(kāi)發(fā)工程師占據(jù)著更重要的位置,僅次于大數(shù)據(jù)開(kāi)發(fā)工程師。至于后臺(tái)開(kāi)發(fā),系統(tǒng)開(kāi)發(fā)是第三位的。
好的交互至關(guān)重要,如何轉(zhuǎn)換數(shù)據(jù),如何抽取數(shù)據(jù),一定程度上,都是有先人踩過(guò)的坑,例如kettle,再例如kafka,pipeline ,解決方案眾多。關(guān)鍵是如何交互? 怎么樣變現(xiàn)為可視化界面? 這是一個(gè)重要的課題。
現(xiàn)有的各位朋友的側(cè)重點(diǎn)不同,認(rèn)為前端的角色都是可有可無(wú),我覺(jué)得是錯(cuò)誤的,后臺(tái)的確很重要,但是后臺(tái)的解決方案多。 前端實(shí)際的地位更重要,但是基本無(wú)開(kāi)源的解決方案,如果不夠重視前端開(kāi)發(fā), 面臨的問(wèn)題就是交互很爛,界面爛,體驗(yàn)差,導(dǎo)致開(kāi)發(fā)人員的排斥,而可視化這塊的知識(shí)點(diǎn)眾多,對(duì)開(kāi)發(fā)人員的素質(zhì)要求更高。
大數(shù)據(jù)治理
大數(shù)據(jù)治理應(yīng)該貫穿整個(gè)大數(shù)據(jù)開(kāi)發(fā)流程,它有扮演著重要的角色,淺略的介紹幾點(diǎn):
· 數(shù)據(jù)血緣
· 數(shù)據(jù)質(zhì)量審查
· 全平臺(tái)監(jiān)控
數(shù)據(jù)血緣
從數(shù)據(jù)血緣說(shuō)起,數(shù)據(jù)血緣應(yīng)該是大數(shù)據(jù)治理的入口,通過(guò)一張表,能夠清晰看見(jiàn)它的來(lái)龍去脈,字段的拆分,清洗過(guò)程,表的流轉(zhuǎn),數(shù)據(jù)的量的變化,都應(yīng)該從數(shù)據(jù)血緣出發(fā),我個(gè)人認(rèn)為,大數(shù)據(jù)治理整個(gè)的目標(biāo)就是這個(gè)數(shù)據(jù)血緣,從數(shù)據(jù)血緣能夠有監(jiān)控全局的能力。
數(shù)據(jù)血緣是依托于大數(shù)據(jù)開(kāi)發(fā)過(guò)程的,它包圍著整個(gè)大數(shù)據(jù)開(kāi)發(fā)過(guò)程,每一步開(kāi)發(fā)的歷史,數(shù)據(jù)導(dǎo)入的歷史,都應(yīng)該有相應(yīng)的記錄,數(shù)據(jù)血緣在數(shù)據(jù)資產(chǎn)有一定規(guī)模時(shí),基本必不可少。
數(shù)據(jù)質(zhì)量審查
數(shù)據(jù)開(kāi)發(fā)中,每一個(gè)模型(表)創(chuàng)建的結(jié)束,都應(yīng)該有一個(gè)數(shù)據(jù)質(zhì)量審查的過(guò)程,在體系大的環(huán)境中,還應(yīng)該在關(guān)鍵步驟添加審批。例如在數(shù)據(jù)轉(zhuǎn)換和映射這一步,涉及到客戶的數(shù)據(jù)提供,應(yīng)該建立一個(gè)完善的數(shù)據(jù)質(zhì)量審查制度,幫助企業(yè)第一時(shí)間發(fā)現(xiàn)數(shù)據(jù)存在的問(wèn)題,在數(shù)據(jù)發(fā)生問(wèn)題時(shí)也能第一時(shí)間看到問(wèn)題的所在,并從根源解決問(wèn)題,而不是盲目的通過(guò)連接數(shù)據(jù)庫(kù)一遍一遍的查詢SQL。
全平臺(tái)監(jiān)控
監(jiān)控其實(shí)包含了很多的點(diǎn),例如應(yīng)用監(jiān)控,數(shù)據(jù)監(jiān)控,預(yù)警系統(tǒng),工單系統(tǒng)等,對(duì)我們接管的每個(gè)數(shù)據(jù)源、數(shù)據(jù)表都需要做到實(shí)時(shí)監(jiān)控,一旦發(fā)生殆機(jī),或者發(fā)生停電,能夠第一時(shí)間電話或者短信通知到具體負(fù)責(zé)人,這里可以借鑒一些自動(dòng)化運(yùn)維平臺(tái)的經(jīng)驗(yàn)的,監(jiān)控約等于運(yùn)維,好的監(jiān)控提供的數(shù)據(jù)資產(chǎn)的保護(hù)也是很重要的。
大數(shù)據(jù)可視化
大數(shù)據(jù)可視化不僅僅是圖表的展現(xiàn),大數(shù)據(jù)可視化不僅僅是圖表的展現(xiàn),大數(shù)據(jù)可視化不僅僅是圖表的展現(xiàn)。
重要的事說(shuō)三遍,大數(shù)據(jù)可視化歸類的數(shù)據(jù)開(kāi)發(fā)中,有一部分屬于應(yīng)用類,有一部分屬于開(kāi)發(fā)類。
在開(kāi)發(fā)中,大數(shù)據(jù)可視化扮演的是可視化操作的角色, 如何通過(guò)可視化的模式建立模型? 如何通過(guò)拖拉拽,或者立體操作來(lái)實(shí)現(xiàn)數(shù)據(jù)質(zhì)量的可操作性? 畫(huà)兩個(gè)表格加幾個(gè)按鈕實(shí)現(xiàn)復(fù)雜的操作流程是不現(xiàn)實(shí)的。
在可視化應(yīng)用中,更多的也有如何轉(zhuǎn)換數(shù)據(jù),如何展示數(shù)據(jù),圖表是其中的一部分,平時(shí)更多的工作還是對(duì)數(shù)據(jù)的分析,怎么樣更直觀的表達(dá)數(shù)據(jù)?這需要對(duì)數(shù)據(jù)有深刻的理解,對(duì)業(yè)務(wù)有深刻的理解,才能做出合適的可視化應(yīng)用。
智能的可視化平臺(tái)
可視化是可以被再可視化的,例如superset,通過(guò)操作SQL實(shí)現(xiàn)圖表,有一些產(chǎn)品甚至能做到根據(jù)數(shù)據(jù)的內(nèi)容智能分類,推薦圖表類型,實(shí)時(shí)的進(jìn)行可視化開(kāi)發(fā),這樣的功能才是可視化現(xiàn)有的發(fā)展方向,我們需要大量的可視化內(nèi)容來(lái)對(duì)公司發(fā)生產(chǎn)出,例如服裝行業(yè),銷售部門(mén):進(jìn)貨出貨,顏色搭配對(duì)用戶的影響,季節(jié)對(duì)選擇的影響 生產(chǎn)部門(mén):布料價(jià)格走勢(shì)? 產(chǎn)能和效率的數(shù)據(jù)統(tǒng)計(jì)? 等等,每一個(gè)部門(mén)都可以有一個(gè)數(shù)據(jù)大屏,可以通過(guò)平臺(tái)任意規(guī)劃自己的大屏,所有人每天能夠關(guān)注到自己的領(lǐng)域動(dòng)向,這才是大數(shù)據(jù)可視化應(yīng)用的具體意義。
結(jié)語(yǔ)
洋洋灑灑寫(xiě)了很多,對(duì)我近兩年的所見(jiàn)所聞所學(xué)所想進(jìn)行了一些總結(jié)。
有些童鞋會(huì)問(wèn),不是技術(shù)么?為什么沒(méi)有代碼?我要說(shuō),代碼是要學(xué)的,要寫(xiě)的,但是與工作無(wú)關(guān),代碼是我個(gè)人的技能,個(gè)人傍身,實(shí)現(xiàn)個(gè)人想法的重要技能。 但是代碼與業(yè)務(wù)的關(guān)系不大,在工作中,懂業(yè)務(wù)的人代碼寫(xiě)的更好,因?yàn)樗拦鞠胍裁础?如果你業(yè)務(wù)很差,那也沒(méi)關(guān)系,你代碼好就行了呀,根據(jù)別人的交代干活,也是很不錯(cuò)的。技術(shù)和業(yè)務(wù)是相輔相成的,稍后博主總結(jié)代碼的精進(jìn)。
寫(xiě)完了,我的焦慮一絲未少,我的代碼規(guī)范性不夠,目前技術(shù)棧JS、Java、Node.js、Python 。
主業(yè)JS熟練度80%,正在研究阮一峰的es6(看的差不多)和vuejs的源碼(有點(diǎn)擱淺),vuejs算是中等,css和布局方面可以說(shuō)還可以,另外d3.js,go.js都是處于會(huì)用,能干活。 Node.js呢,express和koa無(wú)問(wèn)題,看過(guò)一些express的源代碼,還寫(xiě)過(guò)兩個(gè)中間件。
Java、Python都處于能做項(xiàng)目的程度,目前也不想抽很多精力去深入它們,就想要保持在想用能用的地步。
未來(lái)的幾年,我打算多學(xué)學(xué)人工智能、大數(shù)據(jù)開(kāi)發(fā)的知識(shí),未來(lái)這塊應(yīng)該還有一些熱度的。
最后和大家共勉,三人行,必有我?guī)熝伞?/p>
當(dāng)前名稱:postgresql難點(diǎn)的簡(jiǎn)單介紹
瀏覽地址:http://weahome.cn/article/dsdjssj.html