技術(shù)創(chuàng)新
自主創(chuàng)新的技術(shù)是亞爾迪核心競爭力。
大多數(shù)人都有一定技術(shù)背景,話題最多的永遠(yuǎn)是各類的新技術(shù)與算法,不間斷的各類技術(shù)討論會,創(chuàng)新大賽,我們自己決定什么時候會累。
在Web開發(fā)方向, 從底層協(xié)議到上層應(yīng)用, 有著多年的技術(shù)積累,技術(shù)上領(lǐng)先廈門同類企業(yè),在某些技術(shù)領(lǐng)域處于全球領(lǐng)先的地位。
互聯(lián)網(wǎng)底層協(xié)議
互聯(lián)網(wǎng)基于一系列的協(xié)議而運作著,網(wǎng)絡(luò)的IP協(xié)議,傳輸層的TCP, UDP協(xié)議,應(yīng)用層的DNS,SMTP,F(xiàn)TP,IMAP, HTTP, 以及W3C關(guān)于DOM的一系列協(xié)議, 在各種編程語言中都有不同程度的實現(xiàn),然而都沒有完整的實現(xiàn)。 DNS只會實現(xiàn)客戶端,而沒有實現(xiàn)DNS 服務(wù)端,SMTP 只實現(xiàn)基本的發(fā)送,而沒有實現(xiàn) MAIL FROM的信封地址,DOM的解析在大部分語言中缺失,只有開源項目的部分實現(xiàn)。公司自主實現(xiàn)了大部分的應(yīng)用層協(xié)議并創(chuàng)新應(yīng)用于公司的產(chǎn)品當(dāng)中。
開發(fā)架構(gòu)
MVC, Model View, Controller是最常見的開發(fā)規(guī)范,也應(yīng)用于公司的大部分項目里。在Web應(yīng)用程序(或SPA)的開發(fā)中, 因為各種前端框架如Angular,Vue的興起,以及Html5 pushstate的推廣應(yīng)用,View的模板引擎通常采用Javascript的框架來完成,公司采用同樣的開發(fā)規(guī)范。
在需要后臺做model binding的項目,比如為了搜索引擎友好,因為微軟的Razor或其他模板引擎,均是在Html當(dāng)中嵌套語法, 破壞了Html的原有結(jié)構(gòu),并且把前端HTML/CSS與后臺程序的代碼耦合在一起,公司自主開發(fā)了類似MVC的框架,模板引擎采用非嵌入式的Html tag屬性標(biāo)注方式,完整地分離前端與后臺代碼。
數(shù)據(jù)庫
Web開發(fā)中, 最常見的性能瓶頸在于數(shù)據(jù)庫的讀寫速度或是遠(yuǎn)程同步功能。 SQL的協(xié)議已經(jīng)是半個世紀(jì)以前的了,其中的ACID概念保證了系統(tǒng)的穩(wěn)定性,但也極大地降低了數(shù)據(jù)庫的性能。 NoSQL的出現(xiàn)一定程度上解決了性能與擴(kuò)展的問題, 代表性如MongoDB。但在多年的使用過程中,MongoDb在性能與資源利用上沒有達(dá)到公司的預(yù)期。
公司的技術(shù)人員原創(chuàng)了自主版權(quán)的數(shù)據(jù)庫引擎,實現(xiàn)了常見的Btree, BitMap等各種索引。查詢上借用Lambda 表達(dá)式,開發(fā)人員可以用類似Linq的查詢語法,數(shù)據(jù)庫通過分析Lambda表達(dá)式的語法樹,轉(zhuǎn)換成數(shù)據(jù)庫本身的查詢方式。
目前在公司的部分產(chǎn)品中使用原創(chuàng)數(shù)據(jù)庫,可以達(dá)到單機單線程20萬條每秒的插入速度。 比MSSQL提高300倍以上的性能, 同時實現(xiàn)許多創(chuàng)新的數(shù)據(jù)庫功能。
大數(shù)據(jù)
常見的一些大數(shù)據(jù)算法,比如基于協(xié)同過濾的推薦引擎,類GIT的編輯路徑算法,貝葉斯,K-means, Adaboost等應(yīng)用于公司的項目當(dāng)中。與華僑大學(xué)合作研發(fā)電子商務(wù)智能算法,公司員工參與一些大數(shù)據(jù)論文與書本的寫作, 如《Fuzzy Systems and Data Mining Ⅱ》大數(shù)據(jù)是未來公司的主要方向之一。
常用開發(fā)語言
Html/Css, JavaScript, .NET