国产精品综合av_日韩精品偷拍一区二区_久草视频资源在线_亚洲视频 中文字幕_亚洲电影AV一区春药高潮_小×导航福利在线导航_欧美性爱一级短视频_人成视频免费在线观看不卡_国产九色在线播放_国产高清无码一区二区

藍海情報網(wǎng)

C++后端程序員如何賺外快?外包項目全無C++相關(guān)的?

藍海情報網(wǎng) 623

2019.11 編輯:

可用來寫商城接外單的 開源項目 大器(da4qi4) c++web server 快速開發(fā)框架 的 使用說明,包括快速構(gòu)建方法已經(jīng)加上。

github :

或國內(nèi)的碼云:

另,我錄了點演示視頻(暫時僅限于非常入門基礎(chǔ)的上手操作)

2019.5 補充兩點:

1,回答中提到的C++ WEB開發(fā)平臺,在github中開源了。暫時還沒去搭理它,因此未還沒有說明文檔。后續(xù)會補上(已經(jīng)補上),并加上C++如何對接阿里短信云,騰訊公眾號,騰訊支付,阿里支付,微信掃一掃登錄的C++SDK包。

2,回答中有關(guān)聯(lián)的《白話C++》上冊一書已出版。特點是講得生動些,結(jié)合企業(yè)的多一些,厚(900多頁),但適合初學者??稍诟髦饕脚_上購買。如果要學本答案中提到的C++WEB開發(fā),網(wǎng)絡(luò),數(shù)據(jù)庫。。。請等十月下冊。。。。

以下是原回答

今年春節(jié)用C++七天談下,三十天完成,結(jié)果小賺了30萬的小項目。我還真有用C++賺外快的惡習。

先回答問題:建議可以(試試)用C++寫WEB項目。

插個尋找興趣團:看此問題的應該主要是C++程序員吧! 有興趣玩轉(zhuǎn)C++搭高性能WEB應用的同學,請關(guān)注微信公眾號 程知網(wǎng) 。一起學一起玩吧。

~7/14 補充:評論中許多人還停留在C++寫東西,特別是WEB后端,需要大量重新發(fā)明輪子的思維。。。確實,當初WEB程序最早就是CGI行式,就是用C或C++,然后漂亮的輪子出來了,比如PHP。但現(xiàn)在是什么情況呢?補一段讓大家可以輕松理解:

# 前端 :html5 ,css ,js(jquery) ,ajax,前端模板技術(shù)。

# 后端框架:nginx(web接入和負載均衡) , redis (全局緩存,跨主機session管理) ,MySQL 和MySQL官方C++SDK。 CPPCMS(只用了它作為高性能的jsonRPC服務(wù)端,有許多代替品,restful 風格 API,封裝了所有線程,異步,html請求響應的參數(shù)自動綁定……)。

# 無聊而噴噴不平的C++程序員: 媽的,不讓我處理并發(fā),不讓我處理異步,不讓我寫內(nèi)存池,不讓我寫數(shù)據(jù)庫連接池,不讓我自個兒寫網(wǎng)絡(luò)連接池,不讓我接觸linux下的socket網(wǎng)絡(luò)函數(shù),甚至不讓我寫json報文的解析(信不信我就是有志氣和能力分分鐘寫一個干死fastjson的新庫??),啊,連個帶終端彩色輸出日志庫也不讓我寫?我還是個C++程序員嗎?我倒要看看誰敢攔著我從零開始,以C為主,雜夾一點匯編,寫一個MQ?!啊,這位是zeroMQ,您好,你請坐。老板,快TM過來告訴你賣這個干果要放在哪個虛擬貨架上,要不要支持多地倉庫出貨?要不要做拆單?購物車要不支持黃金奢華版和東南亞草裙版皮膚自動切換?老板:別急,這里有個很復雜的設(shè)計,你要滿足我一鍵將所有菲律賓水果全部換成廣西的功能!你用這什么C草草開發(fā)行嗎?不行還是換我有聽說過的那兩門語言吧?

# 一個月以后……系統(tǒng)上線,關(guān)鍵幾個性能提升了30倍,肉眼可識別。老板痛快給錢,C++程序員在羞辱中接過現(xiàn)金,數(shù)錢數(shù)到手抽筋(實事,這老板就是給我現(xiàn)金)。一邊數(shù)一邊哭泣:一個輪子都不讓我發(fā)明……我以后在C++朋友圈里還要不要做人啊……

-~~~以下正文~~~~

某傳統(tǒng)銷售企業(yè)高舉互聯(lián)網(wǎng)旗幟轉(zhuǎn)型。要在節(jié)后一些城市搞現(xiàn)場活動。系統(tǒng)是去年8月找不靠譜小公司做的,PHP,報價15萬(約)。

功能很亂,例:不同商城買東西要用不同購物車。

性能有問題,服務(wù)器就一臺(因為也沒做負載分攤的考慮),開發(fā)商自己也沒信心能支撐五千人大會。吱吱唔唔。

有安全問題,嚴重邏輯漏洞,被(猜測,內(nèi)部出去的人)攻擊過,客戶說一下午和一晚上損失了快二十萬,急關(guān)停。

七拐八拐關(guān)系,找到我救急。大會日期臨近了。

但我是個1997年入行的傳統(tǒng)程序員。硬沒寫過像樣的WEB/BS 應用。

工作上寫過工控程序,寫過類office這么傳統(tǒng)的桌面軟件,也搞過C和j2me嵌入式開發(fā),用C#寫過wince程序。

外快方面用delphi寫第一個程序就直接用來賺外快,醫(yī)藥標準多媒體宣傳光盤,在2000那年,七天賺了5000元,大概是04年還用C++ builder 寫過擦邊球軟件一個月賺了20K。

WEB網(wǎng)站?后臺java 或PHP程序,確實沒正經(jīng)寫過什么。這二十年。

沒敢答應,先同意幫走讀下PHP代碼找找有什么問題可指導??戳似咛?。這一看肯定就犯了程序員的臭毛病,想重寫它。

第一步應對大會,在當前PHP代碼上改掉或繞過壞事的一些問題。成功后,第二步雙方開始談如何全部重寫。我報價一百萬。我想找個朋友一起,花一個月重寫這商城。與客戶公司的其他股東當面聊了聊。我拿出報價明細表??蛻粽f另有一家十來人開發(fā)團隊報價才十二萬云云,又從美國請來一技術(shù)總監(jiān)說重寫的關(guān)鍵是什么什么的。。。

談判很快結(jié)束。開始正式談如何推倒……重來。對方本不懂IT的負責人,這小半年來久病成醫(yī),很專業(yè)地說:重寫可以,但不能再用PHP,必須用JAVA。

嚴肅地指正了他對PHP的誤解,告訴他世上有許多著名的大型網(wǎng)站都是用這門語言建設(shè)了迪拜城。他說,這個比喻應該是羅馬城啊。一個這么聰明的老板在文學修辭也還是不夠與時俱進,所以許多C++客堅守 C++不能寫WEB后端的觀點也不算離奇。

我會HTML5和JS(主要是Jquery)。我會C++。我雖然沒動手過但我一直對用C++也可以(輕松)寫很棒的web 應用有著不可置信的盲目樂觀。

因為我根本就沒打算用C++寫出一行用于吐出HTML的代碼。我比較不舒服帶某特定含義的字母P結(jié)束的WEB 編程語言背后的軟件架構(gòu)和思路,比如 PHP ASP JSP ,就像身為C++ 程序員,我從MFC 第一個版本就開始倒胃口它的結(jié)構(gòu)和設(shè)計思路而堅持寧可用原生的WIN SDK開發(fā)OFFICE套件。(不是微軟那個,但微軟那個也沒有用MFC嘛)。我比較愛在品味方面以丟失工作的代價裝裝逼。

這次是賺外快,我應該有自己做決定的權(quán)利嘛。所以在起草合同時寫上了:系統(tǒng)后臺主要程序,應采用JAVA等非解釋型編程語言進行開發(fā)。這個等字很重要。

上開源中國(oschina),安裝一個估計已經(jīng)沒人維護的CPPCMS框架。這框架的名字是騙人的,和CMS沒有什么關(guān)系。有不少問題,但拿它作為json-rpc的服務(wù)端,簡單,結(jié)實,高效(開發(fā)及運行),雖然它不支持JSON-RPC的2.0標準,但一個遠程調(diào)用的需要可以滿足就好。

安裝ngnix 。把所有原來的PHP網(wǎng)頁,全部改造為靜態(tài)網(wǎng)頁。純 html5 加 js 發(fā)起 ajax 從c++ (cppcms)寫的后臺拉數(shù)據(jù)(json 格式),然后用jquery-templates 組織數(shù)據(jù)基于模板的展現(xiàn)。(這個模板采用html的 data-屬性,所以沒有破壞純HTML這個特點)。

靜態(tài)頁面,JS腳本文件,CSS文件,圖片,這些都交給俄羅斯人的ngnix,我從大致知道系統(tǒng)功能及系統(tǒng)用戶不到二十萬的背景起,就相信一個20兆帶寬ngnix可以擋住一切。這個判斷在后來實際運行時,被打臉了,因為可愛的美工做商品圖片都很高保真。一邊催她們把圖壓一下,一邊讓老板花點小錢買了七牛云服務(wù)。 @許式偉 。七牛很好。因為你欠費好久,服務(wù)也繼續(xù)可用,他們也不太愛催你交錢,另一種判斷是小錢容易忘了催 。反正我覺得許老板應該還是很技術(shù)型的,像我,不太愛搭理錢。

唯一不爽的是,騰訊的微信SDK包(用于獲得用戶信息,支付等等功能)好像,反正我沒找到C++版本。我看了一眼PHP版本,原來是用libcurl ,莞爾一樂:小樣你不是純C的嗎?別以為套上世界上最好的馬甲,我就認不出你來 。于是花了一下午搞了個微信SDK的C++版本。

web 商城技術(shù)結(jié)構(gòu):

一,純HTML + JS(jquery) + CSS 負責頁面布局 。 使用ajax 請求數(shù)據(jù),用jquery-templates 動態(tài)展現(xiàn)數(shù)據(jù)。二,網(wǎng)站后臺 部署一個nginx,一負責吐出所有靜態(tài)文件,圖片數(shù)據(jù)套了層七牛緩存,二負責以反向代理的方式 ,向C++寫的REST 服務(wù) 要數(shù)據(jù)。三,C++寫的REST 服務(wù)。獨立進程,可在多臺服務(wù)器上部署多個。讓nginx負責負載均衡。四,上redis作為大量數(shù)據(jù)的緩存。和小伙伴花了兩個小時,挑出一個比較爽的c++封裝。忘了叫什么了好的工具就是這樣,讓我們只是用它,忘記它的存在。五,MySQL 。用官方(Oracle)的C++ 客戶端SDK,mysqlpp。六,PHP沒全丟。但把它當Python使用(php client) ,寫個可以獨立運行的程序,在后臺讀數(shù)據(jù)做一些非實時任務(wù)處理。(比如計算一下這位今天一口氣買了不少東西的顧客,系統(tǒng)該送多少個積分給他。。)

后記:程序上線一運行就到五月底,哇,居然掛掉了。商城熱線電話接不停,客服很生氣。我也不急。于是:七,用linux shell 寫個守護程序,20秒檢查一下,一看進程消失就重啟它。周末我走讀了下代碼。循環(huán)比較std::map的每個元素,然后通達iterator 刪除(erase)時,好像搞錯。。。。NND ,好像是C++涉及迭代器的很經(jīng)典的面試題吧?你能猜到了吧!

用著STL,用著第三方庫接收http請求,再用官方的庫讀讀寫寫數(shù)據(jù)庫,再處理下吐出json 數(shù)據(jù),(轉(zhuǎn)換json數(shù)據(jù)也是第③方的庫)。對了,我們也用了不少C++11舒服的特性。沒有手工分配和維護的內(nèi)存,這門傳說中恐怖之致的語言其實乖巧得像一頭奶牛依靠在ngnix之后的草地上吃的是草吐的是奶。除了結(jié)構(gòu)上加了redis作緩存,完全沒去想什么特別的優(yōu)化,但實測性能(處理并發(fā)能力)比原來的版本飚出快三十倍。

老板表示很開心。當初合同在一百萬殺價后,有六十多萬。但因為雙方合作太開心。老板說成立一家新公司負責IT。我和一起開發(fā)的小伙伴變成股東,合同上未付的30多萬折成股本金-——我們很開心了一陣呀,但也就一陣。很快發(fā)現(xiàn):沒外快賺了 :(。

補個開發(fā)環(huán)境:ubuntu ,QtCreator(CMake)

看此問題的應該主要是C++程序員吧! 有興趣玩轉(zhuǎn)C++搭高性能WEB應用的同學,請私信我并留下微信號或直接關(guān)注微信公眾號 程知網(wǎng) 。一起玩(我說的是外快)吧。

看完覺得寫得好的,不防打賞一元,以支持藍海情報網(wǎng)揭秘更多好的項目。

標簽:

ad2

推薦內(nèi)容