開源平臺(tái) 為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?我認(rèn)為,是構(gòu)建輪子還是直接使用開源庫,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí)
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
我認(rèn)為,是構(gòu)建輪子還是直接使用開源庫,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫呢?我在項(xiàng)目開始時(shí)不知道這個(gè)庫的存在,我不想以后再介紹它。
2)許多第三方庫依賴于許多其他第三方庫。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開源庫通常會(huì)頻繁更新。如果你知道有一個(gè)bug,你想更新它嗎?基礎(chǔ)庫的更新無疑會(huì)花費(fèi)更多的開發(fā)時(shí)間和測(cè)試時(shí)間。
4)使項(xiàng)目整體可控。一旦引入的開放源代碼庫出現(xiàn)問題并且項(xiàng)目團(tuán)隊(duì)不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開源庫過于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊(duì)成員水平參差不齊。
最后,附上一本我前段時(shí)間讀過的書。
本文是作者《一個(gè)程序員的奮斗史》悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究
如果pandownload開源會(huì)怎么樣?
這是一個(gè)非常有趣的問題,值得討論。
由于這次事件的巨大影響,作為一個(gè)軟件從業(yè)者,我仔細(xì)研究過它。在搜索了相關(guān)的信息之后,我可能得到了一個(gè)線索。
https://aria2.github.io
.如下圖所示,主要思想是aria2是一個(gè)多平臺(tái)的輕量級(jí)命令行下載工具,支持HTTP、FTP、BitTorrent等多協(xié)議多源。Aria2可以從多個(gè)源和協(xié)議下載資源,它只需要非常少量的資源。它支持遠(yuǎn)程調(diào)用json rpc和XML-rpc接口。
所以我認(rèn)為pandownload沒有太多的技術(shù)內(nèi)容。它是一種開源技術(shù),所以是否開源對(duì)各方影響不大。最多只能算是對(duì)原有工具aria2的改進(jìn)。如果作者能在被捕前打開軟件的源代碼,他就可以從監(jiān)獄中解脫出來。
但通過這次事件,也給百度敲響了警鐘,即不考慮用戶體驗(yàn)的盈利模式必然會(huì)被公眾所拒絕。如果能總結(jié)這次事件的經(jīng)驗(yàn),創(chuàng)新盈利模式,把下載速度調(diào)整到合理的范圍,只要能讓大家不反感,就會(huì)自動(dòng)堵住同類軟件的漏洞。否則,即使抓到一個(gè),也會(huì)有更多的人開發(fā)相關(guān)工具,一旦非營(yíng)利的開源模式出現(xiàn),堵住漏洞的難度也會(huì)加大。
本人本科大二,隨手可以寫java網(wǎng)課上的倉儲(chǔ)系統(tǒng)(無法聯(lián)網(wǎng),圖形化界面,sql),在業(yè)內(nèi)算什么水平呢?
我做軟件已經(jīng)20多年了。編程不僅是關(guān)于使用什么語言,而且是關(guān)于思考。編程語言只是一種工具。如果你熟悉一個(gè)工具,那就沒什么值得驕傲的了,除非你想把編程和詩人比較一下。一個(gè)軟件要實(shí)現(xiàn)哪些功能,這些功能用戶如何使用才能酷、易用、穩(wěn)定如新是最重要的。這是微軟首次嘗試以開源代碼的形式提供“固件即服務(wù)”的操作模式。這套開源的tianocore UEFI預(yù)計(jì)將為微軟和其他制造商的多個(gè)產(chǎn)品線的設(shè)備提供技術(shù)支持。
“Mu項(xiàng)目”據(jù)說具有更好的安全性,“高性能引導(dǎo)”技術(shù)帶來了更好的性能和體驗(yàn),包括現(xiàn)代BIOS菜單示例,包括屏幕鍵盤、新的UEFI安全管理界面和相關(guān)功能。
“Mu項(xiàng)目”本身似乎來自tianocore edk2。關(guān)于它的更多細(xì)節(jié)可以在GitHub上的mu文檔和今天的開放源碼發(fā)布中找到。
https://microsoft.github.io/mu/