HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
這樣子的,我們公司面向的客戶是開發(fā)公司,用戶基于我們提供的源碼進(jìn)行二次開發(fā)。簡(jiǎn)單的說就是賣源碼的。所以想問問,一般的開發(fā)公司對(duì)這兩個(gè)是咋看的,給點(diǎn)意見。謝啦。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
小編語
本文為 DevLink 專訪系列,本期采訪嘉賓是 iDev 蘋果開發(fā)者大會(huì) RxSwift 講師——靛青K。在即將到來的 iDev 大會(huì)上,他將為大家講述為何仍然應(yīng)當(dāng)考慮使用 RxSwift 處理各種異步問題。
以下為采訪內(nèi)容,提問者:DevLink,受訪者:靛青K。
1 、小青你好,能否簡(jiǎn)單的介紹一下你自己?
Swift 開發(fā)者,目前在 ENJOY 進(jìn)行相關(guān)產(chǎn)品的開發(fā),最近在寫一本關(guān)于 iOS 響應(yīng)式相關(guān)的書籍(當(dāng)然是基于 RxSwift 了),目前也在學(xué)習(xí)寫其他技術(shù)棧的 Hello World 。
2 、作為一名 iOS 開發(fā)者,同時(shí)也是 SwiftGG 的成員,您的微博里面多數(shù)內(nèi)容都是有關(guān) Swift 的,能否說說您如何看待 Swift 這個(gè)新生的開發(fā)語言?與 Objective-C 相比,它的優(yōu)勢(shì)在哪里?
Swift 的前景非常好,畢竟它是“剽竊”了各大現(xiàn)代語言的優(yōu)勢(shì),相比 Objective-C 具有 Optional 、protocol 等優(yōu)勢(shì),但我個(gè)人最喜歡的是帶有關(guān)聯(lián)值的 enum ,這樣的 enum 極大的提高了代碼的可讀性。
3 、您本次的分享主題是關(guān)于 RxSwift 和響應(yīng)式編程的,能否給大家劇透一下為什么會(huì)選擇這樣的分享主題,主要的分享重點(diǎn)會(huì)在哪里?
我們可能經(jīng)常聽到用 RxSwift 處理異步是多么多么的優(yōu)雅,特別是鏈?zhǔn)教幚懋惒降幕卣{(diào)。但我在實(shí)際開發(fā)中,發(fā)現(xiàn)它有更多可玩性,使用 RxSwift 遠(yuǎn)不只是單純的處理異步,它可以幫助我們優(yōu)雅的處理各種復(fù)雜的邏輯。我希望能以這樣的一種分享,大家可以看到 RxSwift 更強(qiáng)大的一面。換句話說,本次分享會(huì)從不同的角度實(shí)踐,帶來更多頭腦風(fēng)暴,誘惑大家先用起來。
4 、現(xiàn)在很多公司大部分還是使用 Objective-C , 作為開發(fā)者自身而言,如果要引入響應(yīng)式編程,那么是用 ReactiveCocoa 呢? 還是 RxSwift ?
對(duì)于使用 Objective-C 團(tuán)隊(duì),我的建議是使用 ReactiveCocoa 2.x 版本。當(dāng)然如果會(huì)有新項(xiàng)目,我建議使用 Swift 3 開發(fā),引入響應(yīng)式編程我更推薦 RxSwift ,相比 ReactiveCocoa 的使用會(huì)更優(yōu)雅一些,同時(shí)還有很多 ReactiveX 的相關(guān)參考。這里更正一個(gè)大多文章提到了 RxSwift 對(duì)于 Cocoa 的支持不好的事情,事實(shí)上在 iOS 和 macOS 開發(fā)都是需要再引入 RxCocoa 的這個(gè)庫的,這是特別為 Cocoa 做的響應(yīng)式支持的框架。
響應(yīng)式的實(shí)踐,我更建議先在一些 demo 或者較小的項(xiàng)目中應(yīng)用起來,在積累了一定經(jīng)驗(yàn)后,再應(yīng)用到更大的項(xiàng)目中。不熟悉的技術(shù)應(yīng)用到實(shí)際工程中,還是比較坑的。但這不影響我們學(xué)習(xí)新的技術(shù),在覺得可以用到工程時(shí),那么用起來一定是最好的。
5 、跟我們講講 SwiftGG 翻譯組的故事吧?
SwiftGG 已經(jīng)成立一年多了!起源是,梁杰帶領(lǐng)大家翻譯完 Swift 2.0 的官方文檔,翻譯文檔就結(jié)束了有些可惜,于是成立了翻譯組,為大家?guī)砀鄧鈨?yōu)秀的博客翻譯。目前已經(jīng)完成了 330 余篇文章的翻譯。年初進(jìn)行了很多討論,決定開展線下 T 沙龍以更好的促進(jìn)技術(shù)交流。
6 、我們知道 SwiftGG 翻譯了很多優(yōu)質(zhì)的海外開發(fā)資源,未來 SwiftGG 的方向是什么?
我們?nèi)匀皇且苑g文章為主,未來將和國外更多優(yōu)秀的博主談授權(quán),為大家?guī)砀嗑实奈恼?。同時(shí)我們現(xiàn)在在進(jìn)行一些文檔、書籍的翻譯工作,目前在進(jìn)行的是將 JSPatch 和 Element 文檔翻譯成英文、翻譯一本 iOS 安全方面的書籍(即將出版)。
目前在進(jìn)行線下 T 沙龍的實(shí)踐,未來我們想做更多有意思的事情,比如開展 Android 、Web 等方面的沙龍。記得喵神(onevcat)和我說的一句話是:“國內(nèi)的演講相比國外差距還是很大”,我們希望通過沙龍可以提高大家的分享、交流、演講水平,把我們的演講推薦到國內(nèi)、國外各種大會(huì)中。
7、 對(duì)身處蘋果生態(tài)鏈的一線開發(fā)者有什么要說的么?
我不算是一個(gè)老司機(jī),但對(duì)于一線開發(fā)者們,我想表達(dá)的是:
多向前端學(xué)習(xí) 時(shí)刻要追求新的技術(shù),找到自己感興趣的點(diǎn),并研究下去 對(duì)于任何一個(gè)方向的學(xué)習(xí),我們都應(yīng)當(dāng)注意深度和廣度的發(fā)展 要將基礎(chǔ)打扎實(shí) 盡可能地多交流 最重要的,不斷的追求極致。
本篇文章僅代表嘉賓個(gè)人觀點(diǎn)
iDev 開發(fā)者大會(huì),將于2016.11.5-6 在北京國際會(huì)議中心舉辦,是一場(chǎng)千人規(guī)模的蘋果開發(fā)者技術(shù)盛宴。
每天忙于完成 coding ?無暇顧及最新的技術(shù)趨勢(shì)?老板要求穩(wěn)定壓倒一切,無心實(shí)踐新的開發(fā)工具?這恐怕是每位開發(fā)者都會(huì)遇到生存 V.S. 成長(zhǎng)的難題。
iDev 開發(fā)者大會(huì)就來為大家解決這個(gè)問題,不僅講實(shí)際開發(fā),還有新的開發(fā)思想、開發(fā)工具的普及和深入實(shí)踐分享。從 Swift 到 函數(shù)式編程,從動(dòng)態(tài)化到 hybrid ,從實(shí)際開發(fā)到測(cè)試管理,都安排了諸多環(huán)節(jié)來幫助大家“抬頭看路”。
無論是 iOS、Mac OS 還是最近火熱的智能硬件和 HomeKit,亦或是對(duì)OS X內(nèi)核的探索,都會(huì)有相關(guān)的分享環(huán)節(jié),無論你是移動(dòng)開發(fā)者,還是桌面端開發(fā)者,或者正在IoT領(lǐng)域探索的技術(shù)人員,都會(huì)在本次大會(huì)中找到適合你的話題。
本周是 8 折優(yōu)惠的最后一周,小伙伴們報(bào)名請(qǐng)抓緊。如果三位小伙伴一起來,還可以每個(gè)人都有 50元 的額外減免。
大會(huì)的詳細(xì)信息請(qǐng)見:http://idev2016.devlink.cn/
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
小編語
本文為 DevLink 專訪系列,本期采訪嘉賓是 iDev 蘋果開發(fā)者大會(huì) iOS 逆向工程講師——沙梓社。在即將到來的 iDev 大會(huì)上,他將和大家分享對(duì)逆向工程的理解,以此激發(fā)大家的思路和靈感。
《 iOS 應(yīng)用逆向工程》第一作者——沙梓社是 iOS 越獄社區(qū)骨灰級(jí)活躍份子,對(duì)技術(shù)有著狂熱的追求。非典型技術(shù)男。做事標(biāo)準(zhǔn)較高,喜歡歸納總結(jié),推崇深度思考,樂于討論分享??释Y(jié)識(shí)優(yōu)秀人才,督促自己不斷成長(zhǎng)。
而這次 iDev 大會(huì)組委會(huì)特別有請(qǐng)到了他來作為嘉賓,希望他能在蘋果的開發(fā)者大會(huì)上,分享一些他多年的專業(yè)知識(shí)。 這次他為我們帶來的議題題目為《 iOS 逆向工程一隅》。
什么是逆向工程?
它能解決什么正向開發(fā)所解決不了的問題?
很多 3 年經(jīng)驗(yàn)的 iOS 工程師都已碰到技能提升瓶頸,我們應(yīng)該如何用 iOS 逆向工程來武裝自己,打破 App 開發(fā)的“ 3 年之癢”?
以下為采訪內(nèi)容,提問者:DevLink,受訪者:沙梓社。
1、 沙老師您好,能否簡(jiǎn)單的介紹一下你自己?
大家好,我是沙梓社,“老師”還不敢當(dāng),以我目前的狀態(tài)來說,無論是在做人還是做事上,我都還是一枚普通的學(xué)生,哈哈。
我是一個(gè)非典型的技術(shù)男、理工男。我在讀碩士時(shí)“僥幸”踏上了 iOS 逆向工程這條“賊船”,之后就再也沒有下來過;我出過書,創(chuàng)過業(yè),做得越多,見識(shí)越廣,對(duì)“人外有人,山外有山”的感受就越深,雖然我自認(rèn)為是一個(gè)比較有上進(jìn)心的人,但隨著年齡的增長(zhǎng)和經(jīng)歷的豐富,我慢慢褪去了年輕氣盛的浮躁,逐漸生出了心平氣和的淡定。
2、 您關(guān)注的領(lǐng)域在大家看來,與普通開發(fā)者會(huì)有一些差異,您關(guān)注的更多是 iOS 在代碼安全領(lǐng)域的事情,而不是具體的開發(fā)實(shí)現(xiàn)。能否介紹下為什么比較關(guān)注這個(gè)領(lǐng)域么?
其實(shí)這里存在一些普遍的誤解,就是 iOS 逆向工程主要服務(wù)于 iOS 安全;但事實(shí)并非如此。iOS 逆向工程是一個(gè)工具,iOS 安全只是這個(gè)工具的應(yīng)用場(chǎng)合之一,而我的興趣點(diǎn)其實(shí)并不在這個(gè)應(yīng)用場(chǎng)合;我關(guān)注更多的是如何運(yùn)用逆向工程技術(shù)來改進(jìn)自己的代碼,如何運(yùn)用逆向工程思維來優(yōu)化自己的產(chǎn)品。這是一種打破思維定勢(shì)的思考和辦事方法論,也就是蘋果所提倡的“非同凡想( Think Different )”。
其實(shí)對(duì)這個(gè)領(lǐng)域的關(guān)注,更多地要?dú)w功于我的碩士生導(dǎo)師。計(jì)算機(jī)碩士畢業(yè),一般需要在畢業(yè)設(shè)計(jì)中體現(xiàn)一些“研究成果”,而在 5 年前,iOS 開發(fā)還停留在初、中級(jí)階段,絕大多數(shù)功能只需要對(duì)著文檔擼代碼就可以了,沒有什么“研究”可言;這樣我的碩士是無法畢業(yè)的。基于這個(gè)最主要的原因,結(jié)合蘋果較為“封閉”的特點(diǎn),我的導(dǎo)師建議我選擇“研究”性質(zhì)相對(duì)較強(qiáng)的逆向工程,做一些技術(shù)門檻相對(duì)正向開發(fā)更高的事情,來順利畢業(yè)。
后來,我在摸索中深深感受到了逆向工程的巨大魅力,從此一發(fā)不可收拾。誰能想到,本來只是為了碩士畢業(yè)的選擇,竟然對(duì)我的人生產(chǎn)生了如此深遠(yuǎn)的影響。真是——緣,妙不可言~
3、 您這次分享的主題是關(guān)于 iOS 逆向工程的,能否跟大家“劇透”一下要講些什么?
剛才提到,正向開發(fā)沒有太多“研究”可言,而這也是絕大多數(shù) iOS 工程正在面臨的“三年之癢”——很多擁有三年 App 開發(fā)經(jīng)驗(yàn)的 iOS 工程師,遇到了技術(shù)提高瓶頸,職業(yè)規(guī)劃貌似也碰到了天花板。在我看來,這是比技術(shù)問題更值得深入探討的話題,它的難點(diǎn)在于,沒有標(biāo)準(zhǔn)答案,解決方案又因人而異。
我這次的分享不會(huì)過多涉及技術(shù)細(xì)節(jié),這些瑣碎的東西可以在我建立的諸如 QQ 群、論壇等渠道私下交流;主要想討論的,是我對(duì)逆向工程的理解,和它所能夠解決的一些問題,希望以此為契機(jī),激發(fā)大家的思路和靈感。在我創(chuàng)業(yè)的一年半載中,我觀察到,絕大多數(shù)的 IT 工程師是“兩耳不聞窗外事,一心只寫圣賢碼”的,且不以為“恥”,反以為榮。私以為,這樣的思維方式,在提高專業(yè)技術(shù)上是我們的絕對(duì)優(yōu)勢(shì),但在培養(yǎng)綜合能力上則是我們的巨大短板。
在這次會(huì)議中,我希望能夠通過從形式到內(nèi)容上的不同,來帶給與會(huì)的朋友們一些“沖擊”,激發(fā)他們的思考。
4、 作為越獄社區(qū)的活躍者,您如何看待 iOS 越獄這件事?有人說,隨著 iOS系統(tǒng)的進(jìn)步,普通用戶對(duì)越獄的需求變得少了,您是怎么看待這個(gè)問題的?
我是越獄的堅(jiān)定擁護(hù)者;我的所有 iOS 設(shè)備,只要能越獄,一定會(huì)越獄,因?yàn)槲倚枰獙?shí)現(xiàn)很多不越獄所實(shí)現(xiàn)不了的功能,比如 定制第三方推送的提示音 ( t.cn/RtiZ7vD ) 。
蘋果在防范越獄上采用了非常高明的招數(shù)——它不是生硬地通過法律或其他手段來阻止黑客繼續(xù)越獄,而是“偷走”了越獄社區(qū)里無窮無盡的奇思妙想。例如,現(xiàn)在的 banner 式推送通知,靈感來源于 Peter Hajas 開發(fā)的 MobileNotifier ;現(xiàn)在的 control center,靈感來源于 BigBoss 開發(fā)的SBSettings;現(xiàn)在的 night shift ,靈感來源于 f.lux 。
大多數(shù)普通果粉感興趣的并不是越獄本身,而是越獄之后他們能干很多不越獄干不了的事?,F(xiàn)在蘋果把大多數(shù)果粉越獄后最想干的事情,給搬到了原版 iOS 中,很多果粉就沒有再越獄的理由了。沒有了群眾基礎(chǔ),國外的大多數(shù)越獄玩家也就喪失了研究越獄的動(dòng)力,由盤古等國內(nèi)團(tuán)隊(duì)接棒了。雖然我是越獄社區(qū)的一員,但我認(rèn)為,越獄的黃金時(shí)代已經(jīng)過去,我們社區(qū)的活躍程度也大不如前了。但好消息是,幾乎所有老玩家,都還奮斗在一線,尋找下一個(gè)“監(jiān)獄”,哈哈。
5、 除了《 iOS 應(yīng)用逆向工程》這本書以外,您接下來有沒有其他的寫作計(jì)劃,能否透露一下?
我暫時(shí)沒有其他的寫作計(jì)劃了;很多朋友問我是否會(huì)出版《 iOS 應(yīng)用逆向工程》的第 3 版,我的答案是否定的,因?yàn)殡m然 iOS 在不斷更新?lián)Q代,盡管實(shí)現(xiàn)細(xì)節(jié)會(huì)略有差異,但 iOS 逆向工程最最核心的思路卻一直沒有變化,書中所介紹的思維方式和方法論適用于所有 iOS 版本。在這種情況下,我不想換湯不換藥地為了出書而出書,那意義就不大了。
前陣子,機(jī)械工業(yè)出版社的編輯朋友問我,有沒有打算把我的創(chuàng)業(yè)文章整理出版;因?yàn)榭偣惨矝]寫多少東西,而且都是粗淺的理解,還遠(yuǎn)遠(yuǎn)夠不上出書的水平,所以后來我抱歉地拒絕了。
6、 我們知道,前段時(shí)間您剛剛結(jié)束了一個(gè)為期 18 個(gè)月的創(chuàng)業(yè),并把創(chuàng)業(yè)經(jīng)歷寫成了文章與大家分享,對(duì)于技術(shù)人員創(chuàng)業(yè),您有什么建議給大家么?
我花了整整一個(gè)月的時(shí)間,專心去寫 這十篇文章 ( t.cn/R5em4LU ),它們既是一次分享,又是一次總結(jié);我所有的建議都已經(jīng)毫無保留地體現(xiàn)在文章里了。
如果是對(duì)技術(shù)人員創(chuàng)業(yè),我的建議就是不要把自己當(dāng)成技術(shù)人員。隨著閱歷的豐富,我對(duì)這一事實(shí)的感受越來越明顯:每個(gè)人都是獨(dú)一無二的,不要被別人和自己貼的各種標(biāo)簽給束縛了手腳,限制了自己;大膽去做。
7、 對(duì)身處蘋果生態(tài)鏈的一線開發(fā)者有什么要說的么?
在今年的 5 月,我有幸作為 PHP 之父 Rasmus 的貼身翻譯,全程參與了你們主辦的 PHP 全球開發(fā)者大會(huì);對(duì)大會(huì)的評(píng)價(jià),大家的反響都出奇地高。其中,我認(rèn)為最能洞悉參會(huì)意義的,是知乎上的“ trylife ”,他說:
我去參加參加大會(huì)的動(dòng)機(jī)是沐浴大神的氣息,特別是父與鳥哥的氣息。氣息這種事情很虛,遠(yuǎn)比“ PHP7 為什么這么快”虛無縹緲難以捉摸,但是影響深遠(yuǎn),一旦捕獲受益終生。
這種事情很難線上體驗(yàn),會(huì)有很多缺失。但是其他的如分享的內(nèi)容,你總是可以免費(fèi)得到的,無非就是晚一點(diǎn)。找基友也有群,也不用太靦腆。
這也是我想對(duì)參會(huì)的各位朋友所表述的。
對(duì)于無法到場(chǎng)參會(huì)的朋友,我想說的是,在職場(chǎng)中,我們每個(gè)人的價(jià)值,不是“我會(huì)什么”,而是“我能為我的用戶、客戶、領(lǐng)導(dǎo)、上司、老板、公司解決什么樣的問題”。這句話跟張小龍說過的“用完即走”一樣,字面意思極其淺顯,但希望大家有一天能領(lǐng)悟到它的深層含義。
謝謝!
本篇文章僅代表嘉賓個(gè)人觀點(diǎn)
大會(huì)的詳細(xì)信息請(qǐng)見:http://idev2016.devlink.cn/
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
xcode+swift感覺比較卡,尤其是自動(dòng)提示的時(shí)候,感覺打字都有延遲了,大家有同感么?
網(wǎng)上搜了一下,好像抱怨的人還不好,大家有什么解決方法么?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> swift label的寬度和高度都固定,現(xiàn)在要用自定義的字體內(nèi)容如何填滿這個(gè)label
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
看了這篇文章:Swift中使用JSON(譯) http://www.jianshu.com/p/2224b801722a
覺得swift處理Json好麻煩啊。。。除了使用原始的JSONSerialization,大家還用什么方法或者第三方庫來解析json?
swift有沒有像Java中的fastJson或者Gson這種級(jí)別的庫呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
Swift的構(gòu)造函數(shù)為什么需要設(shè)計(jì)指定構(gòu)造函數(shù),便利構(gòu)造函數(shù), 構(gòu)造函數(shù)的繼承, 這些概念?而且Swift很看重中幾個(gè)概念,還有專門的關(guān)鍵字override和convenience來修飾,這種設(shè)計(jì)有什么好處?能處理什么問題?和Java中的傳統(tǒng)設(shè)計(jì),其先進(jìn)的地方在哪里?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
初步嘗試swift,就遇到了一個(gè)問題,十多個(gè)小時(shí)仍然沒有解決
這是測(cè)試代碼
//print("Hello, World!") let CONTEXT_LIST_URL:String = "http://192.168.0.218:8080/xxx/api/context/list"; let url:NSURL = NSURL(string: CONTEXT_LIST_URL)! do{ var data = try NSString(contentsOfURL: url, encoding: NSUTF8StringEncoding) print(data) } catch{ let nsError = error as NSError print(nsError.localizedDescription) }
異常信息
The file “l(fā)ist” couldn’t be opened using text encoding Unicode (UTF-8). Program ended with exit code: 0
由于我的服務(wù)端測(cè)試環(huán)境是windows平臺(tái),輸出的字符無法完全解析emoji的字符,導(dǎo)致部分內(nèi)容出現(xiàn)亂碼 亂碼如下圖下圖為可以正常編碼
現(xiàn)在,我使用swift請(qǐng)求獲取輸出,將得到的NSData使用utf8的編碼解析成字符串,非常令人苦惱的是, NSString在執(zhí)行的過程中一旦遇到無法解析的編碼,直接返回為nil ?是否可以嘗試逐個(gè)替換掉無法解析字符,想想效率太低不想嘗試。有哪些方式可以忽略掉其中的非utf-8編碼?或者有沒有容錯(cuò)機(jī)制?
希望熟悉swfit的朋友能夠幫到我,非常感謝!
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
先上圖看效果
這個(gè)為什么不是自動(dòng)居中了呢? 我一點(diǎn)擊 update frames,文字就跑到了左上角去了。
小弟剛學(xué)ios,很多不懂,希望大鳥們指點(diǎn)下。 在故事版里紅色是不是代表有問題?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
今天按照swift官網(wǎng)上的教程( https://swift.org/getting-started/#installing-swift )安裝好后,輸入swift --version后可以顯示相關(guān)信息
而且在登陸RPEL也能正常運(yùn)行
但當(dāng)輸入swift build --help后就不行了
希望大家?guī)椭幌?謝謝!?。?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
google將會(huì)采納swift作為安卓開發(fā)語言
Java確實(shí)太落后了
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
比如:
var name = "abc" println(name)
這樣是輸入abc
但是我現(xiàn)在要輸入字符串name,對(duì),就是要 輸出 該變量自身的名稱,而不是該變量的值 。
找了swift的反射的資料,沒成功啊。
大半夜的研究這個(gè)問題,被困住了...
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
從C#轉(zhuǎn)C++有段時(shí)間了,一直想分享點(diǎn)什么,但又不太好意思分享,畢竟自己做C++的時(shí)間不太長(zhǎng),最近感覺自己已能勝任現(xiàn)有工作,想分享的想法又強(qiáng)了點(diǎn),前幾天看到這樣一篇博客《 那些年·我們讀過的專業(yè)書籍 》,里面列了很多大家認(rèn)為很好的書,加上自己在自學(xué)C++的工程中也看了不少書,感覺并不是所有的書都值得花時(shí)間去看的,畢竟很多人一年下來也看不了2,3本書,不同的技術(shù)能力的人,適合看的書都不太一樣,在這么多大家都認(rèn)為是經(jīng)典的書中,選出幾本真正適合自己的才是王道,經(jīng)典一多了,有些比起來就不是那么經(jīng)典了,當(dāng)然大家都說經(jīng)典,自然有可看之處,如果有多余的時(shí)間,多看些書自然是好的。
下面是我看過的技術(shù)書籍(不一定看完),還有本《程序員的自我修養(yǎng)》在老家,其他幾本不怎么樣就沒有列出來。
買的第一本技術(shù)書籍是《數(shù)據(jù)結(jié)構(gòu)與算法分析》
當(dāng)時(shí)剛畢業(yè)不久,在學(xué)校時(shí)沒有買技術(shù)書籍的概念,在學(xué)校時(shí)也沒怎么逛過技術(shù)網(wǎng)站,畢業(yè)后逛得比較多,當(dāng)時(shí)是做C#,那時(shí)Android很火想學(xué),內(nèi)心又一直認(rèn)為成為一名好的程序員,底層知識(shí)是要會(huì)的,當(dāng)時(shí)的情況是:在做C#,想做Android,又想做C++,沒準(zhǔn)備長(zhǎng)做C#,最后買了這本算法相關(guān)的書籍,決定學(xué)C++,注意準(zhǔn)備開始吐槽:是誰說程序=算法+XX,這個(gè)等式對(duì)于很多剛畢業(yè)的同學(xué)們根本不成立,算法對(duì)于大部分的程序員來說都是弱項(xiàng)好不好,很多菜逼根本就不會(huì)算法,就會(huì)增刪改查,有木有,別一開始就來最難的,容易打擊自信心,是誰說算法很重要的,哥才寫了90多篇博客,就有19篇跟算法有關(guān)的,私底下也學(xué)習(xí)了很多算法相關(guān)的文章,哥是要轉(zhuǎn)C++好不好。吐槽告一段落, 算法還是很重要的 ,有時(shí)間還是要好好研究一下。
《Effective C++ 》買的第一本完全關(guān)于C++ 的書
剛開始都看不懂,反復(fù)看之后,就很懂了,到現(xiàn)在為止應(yīng)該至少看了4遍,感覺現(xiàn)在給我大半天的時(shí)間,能大致在看一遍,曾經(jīng)一度想把書中的50條法則寫成幾篇博客的,最后由于太懶只寫了3篇
Effective C++面向?qū)ο笈c繼承
Effective C++ 類與函數(shù)設(shè)計(jì)和申明
Effective C++構(gòu)造函數(shù)析構(gòu)函數(shù)Assignment運(yùn)算符
開始沒看懂的時(shí)候,沒覺得這書怎么樣,等一條一條的看懂之后,發(fā)現(xiàn)這書他媽的寫得太好,我忍不住的要贊美他,作者用很短的幾句話就把事情說得很清楚,作者的表達(dá)能力的確牛逼,再次發(fā)現(xiàn)作者表達(dá)能力特別牛逼的是看吳軍的《數(shù)學(xué)之美》,他用幾句話就把一個(gè)關(guān)于圖的問題講得很清楚,其他的一些所謂的經(jīng)典作者寫的內(nèi)容看起來就不是那么好理解,當(dāng)然這跟講的內(nèi)容、跟讀者所掌握的的知識(shí)以及讀者的理解能力有關(guān)。
如果你要學(xué)C++,那么我推薦你看這本,雖然它沒有教我們?nèi)腴TC++,也沒有教我們深度理解C++,也沒講更底層的知識(shí),但是它是第一本,將很多關(guān)于C++編程的重要知識(shí)點(diǎn)收錄成的第一本書,第一本自然收錄的是在開發(fā)中出現(xiàn)頻率較大的,值得一講的內(nèi)容,之后有很多所謂經(jīng)典的跟風(fēng)之作,如
《Exceptional C++》和《More Exceptional C++》,包括作者自己的《More Effective C++》,
當(dāng)然這些書中講的內(nèi)容可能是你八輩子也用不上的,但可能是要掌握的,這些書講的差不多是一些技巧性的東西,或是實(shí)現(xiàn)了一個(gè)XX功能,有點(diǎn)通用性,人家把這些點(diǎn)講得很清楚,這類書不用急著看,等你C++學(xué)得差不多了,再看也不遲,那時(shí)會(huì)看得很快,因?yàn)樗麄儧]講什么新的知識(shí),都是對(duì)現(xiàn)有知識(shí)的運(yùn)用。
《深度探索C++ 對(duì)象模型》 要想更深入的理解C++,當(dāng)然是這本,這本真的是經(jīng)典中的必看。
這本書共7章320頁,但出版社卻把它弄得比較厚,好像不厚就感覺不是好書似的。每章的內(nèi)容都很不錯(cuò),建議重點(diǎn)看第三章和第四章,第三章講C++對(duì)象的內(nèi)存布局,第四章講C++的各種方法編譯后是啥樣子的,以及方法是怎么被調(diào)用的,這是C++最重要的東西,其他任何技術(shù)不都是建立在數(shù)據(jù)和方法之上嗎!當(dāng)然如果你是菜鳥看完之后你還是菜鳥,你不會(huì)變成大牛,因?yàn)槲铱戳诉@些書后我并沒有變成大牛,你同樣也不會(huì),但你會(huì)更深入的理解C++,你會(huì)對(duì)你自己的能力更自信??赐赀@本書后,我覺得我可以做C++了,于是跨部門面試,十分鐘左右,我現(xiàn)在的經(jīng)理就問我什么時(shí)候可以過來。當(dāng)然剛開始做C++時(shí)各種不順,實(shí)戰(zhàn)太少。你不會(huì)因?yàn)榭戳藥妆緯蔀榇笈?。看這本書之前除了《編譯原理》還沒有買,其他的書都看完或是看過一些,剛開始的時(shí)候有點(diǎn)看不懂,之后很快的看懂并看完了,因?yàn)榭催@本書之前我反復(fù)看了《深入理解計(jì)算機(jī)系統(tǒng)》的第七章(鏈接)和《程序員的自我修養(yǎng)》的大部分內(nèi)容,對(duì)編譯和鏈接還是有些了解,再看這本書自然會(huì)快些。看完這本書我寫了三篇博客,但看的人很少。
構(gòu)造函數(shù)產(chǎn)生的點(diǎn)及原因
虛方法的調(diào)用是怎么實(shí)現(xiàn)的(單繼承VS多繼承)
C++ Data Member內(nèi)存布局
《 深入理解計(jì)算機(jī)系統(tǒng) 》 就不多說了,估計(jì)每個(gè)過來人都會(huì)推薦,如果你想成為一名好的程序員,就是必看必看,不管你是什么程序員,我相信很多C#牛逼的程序員都看過,這本書講了很多重要的知識(shí),不是很深,但裝逼足以,要全都看懂還是有些難的,之前就有個(gè)同事買了這本書,里面夾了一張跟他有純潔男女關(guān)系的女性朋友的照片,作為書簽,,這的確是督促自己看書的好方法。關(guān)于這本書我寫了兩篇博客,用這本書的內(nèi)容寫博客可以寫很多篇。
數(shù)據(jù)對(duì)齊
在開發(fā)中你可能沒有考慮到的兩個(gè)性能優(yōu)化
由于我一直在自學(xué)C++,重點(diǎn)推薦這3本,前兩本推薦指數(shù)更高:
1 :深度探索C++ 對(duì)象模型
2 :深入理解計(jì)算機(jī)系統(tǒng)
3 :Effective C++
其他的一些書都是值得看的,寫到這里就有點(diǎn)不想寫了,再說一本吧,其他的就不多說了,看完了上面這三本,再看其他的。由于我是做Windows C++開發(fā),就說說《Windows核心編程》,做Windows開發(fā)的同學(xué)要看看。關(guān)于這本書我寫了4篇博客
多線程編程--5種方法實(shí)現(xiàn)線程同步
Windows幾種線程同步方法介紹
Windows線程基礎(chǔ)
Windows內(nèi)核對(duì)象簡(jiǎn)介
這4篇博客基本上是講線程、進(jìn)程、內(nèi)核對(duì)象、線程同步。這本書講了Windows操作系統(tǒng)的很多東西,如內(nèi)存管理,動(dòng)態(tài)鏈接庫,這些都是做Windows開發(fā)需要知道的,也是我比較薄弱的,在開發(fā)中基本都是用庫,現(xiàn)在做的項(xiàng)目,兩個(gè)Solution,其中一個(gè)有100多個(gè)project,剛開始來的時(shí)候經(jīng)常編譯都通過不了,加上每次編譯的時(shí)間較長(zhǎng),搞了半天編譯失敗,挺打擊人的。
關(guān)于書的內(nèi)容就說到這里,免得大家以為我是來說書,顯然說書不是我的強(qiáng)項(xiàng),現(xiàn)在就來說說轉(zhuǎn)C++的一些感受。
老實(shí)說如果現(xiàn)在用的是C#、JAVA、PHP等,且沒用過C/C++不太建議轉(zhuǎn)C/C++,但非常建議多看看底層的知識(shí),C#做了幾年之后發(fā)現(xiàn)也就是那點(diǎn)東西,不深入學(xué)習(xí),很多東西其實(shí)是只會(huì)用,根本不知道到底是怎么回事。我相信很多C#程序員不知道多態(tài)到底是怎么實(shí)現(xiàn);方法到底是怎么被調(diào)用的;不知道哪些是在編譯器確定,哪些是在運(yùn)行時(shí)確定的;經(jīng)常聽到字符串池的概念等,微軟把C#封裝得太好了,掉坑里的機(jī)會(huì)太少了,大不了不管3721,try...catch一下,也讓有些人變得不那么愛思考了,像C/C++一不小心就掉坑里了,不思考都不行。經(jīng)常聽到有人說:C#入門容易,精通難。那是因?yàn)閷W(xué)底層的知識(shí)更難些好不好。說這些不是針對(duì)誰,以前寫C#就是吃著火鍋唱著歌,各種輕松舒服,C++就兩字:苦逼。要啥啥沒有,如分割字符串這種最基本的功能都得自己實(shí)現(xiàn),剛做C++的感覺就是:自己坐在豪華的游艇上,看到對(duì)面的海盜船很酷,于是就往海盜船一跳,一上船發(fā)現(xiàn)這坐船到處都在漏水,各種設(shè)施都很差勁,一不小心就掉水里了,各種感覺不適應(yīng)。
學(xué)C++ 好很長(zhǎng)時(shí)間嗎?不要
從自學(xué)C++到現(xiàn)在差不多3年時(shí)間,期間多次想放棄,心中常有的一個(gè)念頭就是:把這些時(shí)間用在學(xué)C#,C#可以學(xué)得更好,工資可以拿得更多,每次看到發(fā)到手中的這點(diǎn)工資,就沒啥干勁了,但我也一直明白若要把程序當(dāng)做一個(gè)長(zhǎng)久的職業(yè),我是要必會(huì)C/C++的,期間偶爾有幾個(gè)月沒有學(xué)C++,但最后還是放不下,又想起她。最后拖到兩年多才做自己一直想做的C++,感覺是個(gè)很漫長(zhǎng)的過程,內(nèi)心的針扎還是挺多的。這兩年來業(yè)余時(shí)間拿來學(xué)習(xí)C++的時(shí)間平均在半個(gè)小時(shí)左右,跟10000個(gè)小時(shí)比起來還是很少的,當(dāng)然10000個(gè)小時(shí)是要成為真正的大牛的,而我是剛上賊船,看了這么多書理論還是有些,還需大量實(shí)戰(zhàn)。
C++ 很難嗎?NO
C++被成為世界上最難的編程語言,其實(shí)并沒有傳說中的那么難,但有一點(diǎn)是可以肯定的C++程序員在沒有成為小牛之前一直都在針扎,對(duì),就是針扎,過得很苦逼,我在上個(gè)部門做C#的時(shí)候沒加過一天班,做C++后,以前的同事說我瘦了,以前做C#用一個(gè)月的時(shí)間一個(gè)人重寫了公司的工作流,做C++后,花了兩個(gè)多月做個(gè)歷史管理器,還經(jīng)常加班。雖然現(xiàn)在自信多了,但還要繼續(xù)針扎下去。等成為小牛后,我相信就不分編程語言了,但如果你不是做C/C++,卻想做C/C++,就別聽語言都是浮云這種廢話。在你成為小牛之前你才是浮云,你得苦逼,而且這是轉(zhuǎn)行,這也是我不太建議轉(zhuǎn)C/C++的一個(gè)原因,你之前學(xué)到的很多東西都是白學(xué)的,你要從0.1開始,又開始做菜鳥,大家都知道菜鳥的日子不是那么好過,等你成為小牛之后編程語言才是浮云。為什么大家都說他難呢?我估計(jì)就是被哪些沒學(xué)好的人宣傳的,沒學(xué)好之前過得苦逼,那當(dāng)然發(fā)自內(nèi)心的認(rèn)為難,其他的朋友們聽他們一說估計(jì)也覺得難。在加上一些大牛也說C++難,人家說難不是因?yàn)樽约簺]學(xué)好而說難,人家是因?yàn)橹赖么蠖?發(fā)現(xiàn)C++太靈活,坑太多,新手很容易掉坑里。要我說,任何編程語言,基礎(chǔ)語法也就那點(diǎn)東西,等你明白了這些基礎(chǔ)的東西是怎么實(shí)現(xiàn),為什么要這樣實(shí)現(xiàn),編譯后是個(gè)什么樣子,你也就發(fā)現(xiàn)C++也就那樣,不管牛不牛,也都是在用C++干活,只不過是有的人再用C++做增刪改查,有的人在做大家都在用的產(chǎn)品。
怎么學(xué)習(xí)C++ ?標(biāo)準(zhǔn)答案是:多思多寫多看
作為新菜鳥的我,是不應(yīng)該回答這個(gè)問題的,但這個(gè)問題的正確答案的確是多思多寫多看?,F(xiàn)在來說說我的失敗經(jīng)歷,作為智商不太低的我,學(xué)了兩年多才做C++,這顯然是失敗(哈哈,程序員就應(yīng)該自信,千萬別懷疑自己的智商,一點(diǎn)都不能有)。的確我是走了彎路,所以我像很多有失敗經(jīng)歷的前輩一樣,來分享自己的失敗經(jīng)歷,以免后輩們重蹈前輩們的覆轍。
我學(xué)了好久的C++,都不會(huì)寫一個(gè)C++的類,其實(shí)開始的時(shí)候一直都是在寫C,一直在用C寫算法,嚴(yán)重受了算法重要的影響,其實(shí)開始的時(shí)候我都不是在學(xué)C++,買的第一本技術(shù)書,不是關(guān)于C++的,而是關(guān)于算法的。學(xué)C++的時(shí)候也沒有買一本比較好的系統(tǒng)介紹C++的書籍。直接第一本C++書籍就是Effective C++,看這本書還是要一定基礎(chǔ)的。看這本書的時(shí)候我已經(jīng)做了兩年多的C#,在學(xué)校里有一點(diǎn)C的基礎(chǔ),之后也看過《高質(zhì)量C++編程指南》,還是有一定的程序基礎(chǔ),如果你有一定的程序基礎(chǔ),想轉(zhuǎn)C++,還是建議先看本系統(tǒng)介紹C++的書籍,如《C++ Primer》,這本書的作者也是《深度探索C++對(duì)象模型》的作者,還有C++他爹寫的那本啥也值得一讀,大家都是這么說,應(yīng)該不會(huì)錯(cuò),兩本選一本,有一定基礎(chǔ)之后再看Effective C++,感覺不錯(cuò)之后再看《深度探索C++對(duì)象模型》,這本差不多之后再看《深入理解計(jì)算機(jī)系統(tǒng)》,這本不是講C++的,講的是底層的東西,你學(xué)C++不就是想學(xué)底層的東西嗎,C++語法就那點(diǎn)東西,成為牛人之前還有一堆的書等著你去看,你還要寫一堆的代碼。
我 http://www.gwdang.com/app/extension 現(xiàn)在在學(xué)習(xí)Windows的一些東西,做Windows C++方向嗎!業(yè)余時(shí)間看看《編譯原理》,比較難懂,看懂之后,我相信很多東西都會(huì)明白得更透徹。明年估計(jì)是我成為小牛的重要階段, 阿漢 加油。 http://www.gwdang.com
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
騰訊都是C++崗位嗎,java的要不?聽說騰訊java項(xiàng)目非常少,除了一些不重要的web項(xiàng)目。大部分都是C++主導(dǎo)
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我一年的時(shí)間邊兼職邊自學(xué)看的書,除了TCP/IP,操作系統(tǒng)看不懂,其他問題不大,leetcode刷了100道左右的數(shù)據(jù)結(jié)構(gòu)算法,寫了一個(gè)俄羅斯方塊,計(jì)算器,由于大三輟學(xué)了,投的簡(jiǎn)歷石沉大海,
投的都是初級(jí)崗位,難道我不能勝任一份初級(jí)崗位嗎?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> class B : public C { public: CTest a; } B::B(): a(this) { } class A: public B{ } A::A() : B(){ a->fun(); } class F:public B{ } F::F() : B() { a->fun(); //這里這個(gè)a和上面那個(gè)a地址不一樣,有沒有辦法讓地址一樣呢? }
例如有一個(gè)窗口A,上面有一個(gè)按鈕(ConnectSVRBtn),單擊一下這個(gè)按鈕,可以與遠(yuǎn)程TCP服務(wù)器建立起socket連接,然后在這個(gè)窗口A上,還有另外一個(gè)按鈕(OpenWndBtn),單擊一下這個(gè)按鈕,會(huì)彈出一個(gè)新窗口B,在這個(gè)新窗口上,有一個(gè)按鈕(SendTxt),這個(gè)按鈕是想向服務(wù)器發(fā)送一段字符串,因?yàn)橹耙呀?jīng)用窗口A按下ConnectSVRBtn已經(jīng)與服務(wù)器建立socket連接了,那么理論上按下B窗口上的SendTxt,是不需要再次建立socket連接了吧,因?yàn)锳窗口上已經(jīng)建立過了嘛。但是窗口B上,SendTxt觸發(fā)的時(shí)候,卻提示socket連接未建立
而連接和發(fā)送都是調(diào)用上面那段代碼中的CTest a這個(gè)方法來操作的
例如,ConnectSVRBtn函數(shù)內(nèi)部其實(shí)是a->connectSVR(ip,port); 而SendTxt函數(shù)內(nèi)部調(diào)用的是 a->send(CONNID, buf,len);
他們的問題就是出在,a->connectSVR(ip,port)建立成功后,這里a的地址和a->(connid,buf,len);的a的地址不一樣
所以a->send(connid,buf,len);才會(huì)提示發(fā)送失敗,因?yàn)槲唇ocket的錯(cuò)誤
請(qǐng)問該怎么解決?。客鸆++大神出來解答一下。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 代碼如下所示:otl_stream s; otl_lob_stream lob; otl_long_string lstrCont(1024*1024); //下面是構(gòu)建成Sql語句,查詢id大于某個(gè)值的100行中id,url,content三列的值 CString strSql; strSql.Format( "SELECT id, url, CONTENT FROM PUBOPANALYSIS where id > %d And RowNum < 100", m_Pid); try { s.set_lob_stream_mode(true); s.open(1, strSql.GetBuffer(), g_otlOra); strSql.ReleaseBuffer(); while (!s.eof()) { WebPage wp; ZeroMemory(chUrl, 1024*2); //這里清空獲取Url的值的變量,如果這里有個(gè)清空lob的值的函數(shù)或者方法,我想問題應(yīng)該可以解決 s>>wp.nId>>chUrl>>lob; wp.strUrl = chUrl; while (!lob.eof()) //循環(huán)獲取Content的內(nèi)容 { lob>>lstrCont; strMsg.Format( "%s", lstrCont.v ); wp.strCont += strMsg; } lob.close(); arr.Add(wp); //這里把查詢下來的數(shù)據(jù)拼成一個(gè)數(shù)組(或鏈表) } 出現(xiàn)的情況描述如下: 正如上述代碼的SQL語句,我是想從表中獲取三個(gè)字段的值分別是Id,Url和Content,其中Content是Clob類型的。 程序執(zhí)行SQL語句:“SELECT id, url, CONTENT FROM PUBOPANALYSIS where id > %d And RowNum < 100”之后可以查詢出100條。
現(xiàn)在我需要循環(huán)讀出查詢出來的每一行數(shù)據(jù),但是發(fā)現(xiàn)問題是這樣的,問題出現(xiàn)在Content的讀取上,舉個(gè)例子: 假如讀取出來的第一行的Content是“1234567890”,我取出完畢; 接著取出第二行,第二行的Content是“abcd”,比第一行短,但是讀取出來的內(nèi)容卻是:“abcd567890”; 之后的情況類似.... 請(qǐng)問各位,有什么方法解決嗎?我找了很多資料沒有搞懂這個(gè)怎樣初始化緩沖區(qū)..用了好幾次的s.flush()都沒有效果。。。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
小弟最近在學(xué)c++,我在vs2013里面寫了這么一段代碼: template class Hello { protected: struct CNode { CNode* prev; CNode* next; T data; }; protected: CNode* NewNode(CNode*, CNode*); }; template CNode* Hello::NewNode(CNode*, CNode*) { CNode* node = new CNode; return node; }
然后編譯器就通知我說 T和N都是未聲明的標(biāo)識(shí)符
請(qǐng)問正確的定義應(yīng)該是什么呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
如題,其中A是一個(gè)類 ,fun()是A的一個(gè)成員函數(shù)?主要是想問一下大家,那個(gè)0是什么意思?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
從首席 Webpack 配置官、前端打包工程師和 Webpack config engineer 等一些帶著強(qiáng)烈自黑性質(zhì)的稱號(hào)可以看出,要熟練使用 Webpack 這個(gè)流行的前端打包工具并不簡(jiǎn)單。
既然如此,本期高手問答 (2019.6.17-6.23) 我們就一起來談探討關(guān)于 Webpack 的問題。做客高手問答的嘉賓是居玉皓老師。
居玉皓,資深前端開發(fā)工程師,目前就職于美國在線流媒體平臺(tái) Tubi TV,曾就職于去哪兒網(wǎng),負(fù)責(zé)前端基礎(chǔ)架構(gòu)的建設(shè),并主導(dǎo)開發(fā)了知名的開源打包工具 YKit。居老師長(zhǎng)期專注于前端構(gòu)建領(lǐng)域,對(duì) Webpack 有深入的研究,積累了豐富的實(shí)踐經(jīng)驗(yàn),在國內(nèi)為 Webpack 的發(fā)展和普及做了較多的努力和貢獻(xiàn)。
問答主題: Webpack 的功能特性 Webpack 的工作原理 Webpack 的應(yīng)用實(shí)踐 Webpack 的性能優(yōu)化 ……
或有其他相關(guān)的問題也可以在此提問。
為了鼓勵(lì)踴躍提問, @華章 會(huì)在問答結(jié)束后從提問者中抽取 5 名幸運(yùn)會(huì)員贈(zèng)予 《Webpack實(shí)戰(zhàn):入門、進(jìn)階與調(diào)優(yōu)》 一書。
OSChina 高手問答一貫的風(fēng)格,不歡迎任何與主題無關(guān)的討論和噴子。
下面歡迎大家向居玉皓老師 @YuhaoJu 積極提問,直接回帖提問即可。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
如圖我生成了 一個(gè)study.xxx.js 這個(gè)是我將多個(gè)js文件一起打包的 commonjs是提取的公用方法。
引用:
嘗試1:我將生成的包拉進(jìn)了一個(gè)新工程里;在引用了這個(gè)文件。但當(dāng)我使用其中的方法時(shí)報(bào)錯(cuò):'webpackJsonp' is not defined 。這個(gè)錯(cuò)誤原因就是 webpackjsonP未定義;后來我發(fā)現(xiàn)公用方法commonjs中定義了 webpackjsonp。我又將commonjs引入但是當(dāng)我編譯的時(shí)候卻是 commonjs內(nèi)容格式錯(cuò)誤。我覺得應(yīng)該不是內(nèi)容錯(cuò)誤,應(yīng)該是我用的方法不對(duì),于是做了第二步嘗試。
網(wǎng)絡(luò)上很多人都是發(fā)布的時(shí)候報(bào)錯(cuò):其實(shí)是index.html中引用順序的問題,先引用webpackjsonp的定義,才能再引用用xxx.xxx.js;
嘗試2:
這篇blog https://www.cnblogs.com/bilibilicai/p/6830154.html
我看了一下,覺得我打成的應(yīng)該是插件之類的,應(yīng)該用插件之類的引用方式,
在入口文件 main.js 中 require('./libs/common')
結(jié)果還是一樣common格式錯(cuò)誤
問題1:webpack打包之后的文件到底是個(gè)什么?插件?庫?
問題2: webpack打包之后的文件可以作為一個(gè)sdk使用嗎?
問題3: 正確的使用方式改怎么用?
問題4: 應(yīng)該用webpack.library嗎 ?
問題5: 難道打成的包這能在html中使用?vue中不能用
剛學(xué)這個(gè),麻煩大家?guī)兔匆幌?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
項(xiàng)目:electron+vue
前提:我司項(xiàng)目主框架,是一個(gè)主項(xiàng)目,每個(gè)人負(fù)責(zé)一個(gè)子功能,每個(gè)功能都是一個(gè)項(xiàng)目。假設(shè)同事張三寫個(gè)功能,如計(jì)算器calculate.vue;
期待:張三寫完功能后,將整個(gè)張三的項(xiàng)目或僅僅一個(gè)vue文件,經(jīng)過若干操作(打包、發(fā)布等等),得到一個(gè)打包后的文件calculate.app。然后我得到這個(gè)文件,放到某個(gè)目錄下,如static/app/。然后我就可以import Calculate from
calculate,進(jìn)而在tamplate中使用計(jì)算器
進(jìn)階:主項(xiàng)目和張三負(fù)責(zé)的模塊項(xiàng)目肯定不是一個(gè)項(xiàng)目,是單獨(dú)的兩個(gè)項(xiàng)目,最好能單獨(dú)部署和更新,且這個(gè)過程最好是可以熱加載、熱更新的。
自我解讀:最難的點(diǎn)是一個(gè)項(xiàng)目引用另一個(gè)項(xiàng)目的打包文件。
可以拿vscode為例,vscode是用electron+vue的項(xiàng)目(類比就是我們的主項(xiàng)目),它可以安裝很多插件(類比每個(gè)人開發(fā)的子功能模塊項(xiàng)目)
備注:上面可能說的啰嗦了,再簡(jiǎn)單的說就是:你寫了小項(xiàng)目,就一頁hello world,然后打包發(fā)布,我項(xiàng)目怎么加載你的項(xiàng)目使用(熱加載)
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
最近接手一個(gè)項(xiàng)目,項(xiàng)目已經(jīng)做好了,但是不兼容ie,用的是iview;然后在網(wǎng)上找了很多兼容ie的例子,都發(fā)現(xiàn)這個(gè)項(xiàng)目沒有bulid文件,找不到webpack配置文件;都不知道這個(gè)從哪里下手了,以前沒有過iview;寫了個(gè)demo也能在ie上運(yùn)行;所以請(qǐng)教各位大佬;這個(gè)是什么原因???
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
最近接手別人的項(xiàng)目,我資歷尚淺,發(fā)現(xiàn)這個(gè)項(xiàng)目每次終端運(yùn)行打開的時(shí)候,都需要很長(zhǎng)時(shí)間
熱更新就更慢了
不知道有沒有大佬愿意花時(shí)間教教我的
可以貢獻(xiàn)一個(gè)項(xiàng)目的代碼包
如果能幫我解決問題,我出點(diǎn)錢也行,只是迫切想知道解決的方案
還請(qǐng)各位大佬在百般忙碌之中能幫我看一看這個(gè)問題
感激不盡
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
RT, 網(wǎng)上文章清一色都說需要配置這個(gè)插件來熱部署。
我也贊同熱部署很重要很方便,但我現(xiàn)在沒有配置這個(gè)插件,明明也能熱部署自動(dòng)刷新啊?下面是我的webpack配置:
module.exports = { entry: __dirname + "/app/main.js", output: { path: __dirname + "/public", filename: "bundle.js" }, module: { loaders: [ { test: /\.json$/, loader: "json" }, { test: /\.js$/, exclude: /node_modules/, loader: 'babel' }, { test: /\.css$/, loader: 'style!css' }, { test: /\.less$/, loader: "style!css!less" } ] }, devServer: { contentBase: "./public", colors: true, historyApiFallback: true, inline: true } }
所以,這個(gè)插件配置與否,到底有什么區(qū)別呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
就是接手上個(gè)前端vue項(xiàng)目,他用的是SVN,我換成了,增加新功能后本地npm run dev,運(yùn)行起來沒毛病,然后打包,上傳到服務(wù)器發(fā)現(xiàn),自己新增的新功能并沒有,但是確實(shí)是在我寫好的文件夾跟目錄運(yùn)行的build 也打包成功了。dist放進(jìn)nginx測(cè)試,發(fā)現(xiàn)和本地運(yùn)行有所區(qū)別。(例如我現(xiàn)在改掉了這個(gè)表格的寬度)執(zhí)行打包命令,放進(jìn)nginx文件夾測(cè)試結(jié)果如圖
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
.babelrc文件
package文件
npm run dev不報(bào)錯(cuò)
build就編譯失敗了,求大神解答!
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
框架使用的是react框架搭建,本地用localhost:8080訪問火狐刷新不會(huì)存在報(bào)錯(cuò)的情況 ,求幫助提供一下好的解決思路
webpack配置如下
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
問題描述:
前后端分離項(xiàng)目需要配置nginx負(fù)載均衡(反向代理)
1、前端項(xiàng)目是使用webpack搭建的一個(gè)vue + element + axios項(xiàng)目
2、后端采用springboot來快速開發(fā)接口,并且API接口使用了restful風(fēng)格,shiro做安全驗(yàn)證
目前跨域問題是采用后臺(tái)配置cors解決(nginx反向代理亦可),現(xiàn)在碰到一個(gè)問題:
由于restful api 并沒有后綴給nginx匹配把http://localhost:8080/api/xxx這樣的URL反向代理給tomcat
試過如下配置
location / {
proxy_pass http://tomcat_server;
}
location ~ .*\.(html|js|css|png|jpg)$ {
root html/static;
expires 3d;
}
這樣并不是請(qǐng)求轉(zhuǎn)發(fā),而是直接通過cors方式請(qǐng)求后臺(tái)接口,請(qǐng)求各位大佬幫忙
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
使用React框架,是多頁面應(yīng)用,引入了echarts圖表,最后webpack打包出來的文件還是很大(已經(jīng)配置為生產(chǎn)環(huán)境,進(jìn)行過壓縮)。
打包壓縮后,
引入的echarts:
webpack配置文件:
jquery通過外鏈cdn方式引入的,但是echarts通過相同方式引入就一直報(bào)can not find modules 錯(cuò)誤
所以,老哥們,怎么能讓包再小一點(diǎn)啊,最好能不把echarts打進(jìn)我自己的包里,能用cdn外鏈方式引入就好了。
感激不盡!!如果有沒描述清楚的,我會(huì)及時(shí)補(bǔ)充
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
配置文件: const webpack = require('webpack') const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = { devtool: 'false', entry: __dirname + "/public/js/index.js", output: { path: __dirname + "/build", filename: "bundle.js" }, devServer: { historyApiFallback: true, inline: true, hot: true, stats: { colors: true } }, module: { rules: [ { test: /(\.jsx|\.js)$/, use: { loader: 'babel-loader', options: { cacheDirectory: true, presets: [ 'env', 'react' ], env: { development: { plugins: [["react-transform", { "transforms": [{ "transform": "react-transform-hmr", "imports": ["react"], "locals": ["module"] }] }]] } }, plugins: ['transform-runtime', 'transform-class-properties', ["import", { libraryName: "antd-mobile", style: "css" }]] } }, exclude: /node_modules/ }, { test: /\.css$/, exclude: /(node_modules)/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true, localIdentName: '[name]__[local]', } } ] }, { test: /\.css$/, exclude: /(public)/, use: ['style-loader', 'css-loader'] }, { test: /\.(png|jpe?g|gif)$/, loader: 'url-loader', options: { limit: 10000, name: '[name].[ext]', }, }, { test: /\.mp3$/, loader: 'file-loader', options: { name: '[name].[ext]' } } ] }, plugins: [ new HtmlWebpackPlugin({ template: __dirname + "/public/index.html" }), new webpack.HotModuleReplacementPlugin(), new webpack.optimize.OccurrenceOrderPlugin(), new ExtractTextPlugin("style.css") ] }
我直接打包 webpack,耗時(shí)約4s,速度還能接受吧.....
但是我用webpack-dev-server做熱更新跑起來,打包一次要20s,這是什么鬼.....
請(qǐng)大家?guī)臀铱匆幌?謝謝!
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
用腳手架生成項(xiàng)目vue create projectname之后結(jié)構(gòu)是這樣的
里面并沒有vue init webpack xxx這種方式生成的config目錄,也沒有分環(huán)境的dev/prod什么的配置文件,只有一個(gè)package.json,請(qǐng)問該如何配置proxytable呢?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
webpack 打包速度比較慢,尤其是在windows上用,
webpack.DllPlugin 和 webpack.DllReferencePlugin 主要是解決第三方依賴庫重復(fù)打包問題,在 第三方依賴庫較少,頁面較多的情況下,打包還是比較慢。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
我為監(jiān)督XenServer開發(fā)一個(gè)小的客戶端應(yīng)用程序,使用citrix提供的XenAPI。我能夠得到所有的值(cpu,n/w read,n/w write, diskread,diskwrite...) ,但遇到下面的問題。
有人可以幫我得到現(xiàn)存在Xenserver的虛擬機(jī)的內(nèi)存(total,free,used)使用,使用XenAPI。我嘗試上面的,使用VM調(diào)用的VM_guest_metrics API,但它給我空結(jié)果。VM相關(guān)的性能數(shù)據(jù)也都是空值
我從以下鏈接得到SDK(XenAPI):
http://community.citrix.com/display/xs/Download+SDKs
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 在虛擬機(jī)動(dòng)態(tài)遷移的算法中,有預(yù)拷貝pre-copy和后拷貝post-copy兩種算法,能找到的虛擬機(jī)源碼中實(shí)現(xiàn)遷移的部分都是采用預(yù)拷貝算法,并且有很多改進(jìn)的論文。但是后拷貝算法的研究也有很多,可是實(shí)現(xiàn)的代碼找不到,請(qǐng)問有沒有后拷貝算法的具體實(shí)現(xiàn)代碼?現(xiàn)在急需在Xen虛擬機(jī)上實(shí)現(xiàn)后拷貝算法來進(jìn)行虛擬機(jī)遷移,謝謝了!
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
貌似在網(wǎng)上找不到用xen安裝android系統(tǒng)的教程 ,有啥技術(shù)難點(diǎn)么 ,還是壓根沒有不值得寫。。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 我在Ubuntu上安裝的xen, 輸入指令xl list 和xl top 都顯示出domain0 在正常運(yùn)行 為什么安裝完virt-manager卻沒有顯示domain0的運(yùn)行情況。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
按照centos6xen4的官方搭建方式在實(shí)機(jī)上搭建了xen,但是由于xen需要安裝新的內(nèi)核,所以要啟動(dòng)新內(nèi)核才能實(shí)現(xiàn)xen的搭建,但是reboot后新內(nèi)核一直顯示error 13 : invalid or unsupported executable format,我以為是盤符的問題,于是將ext4退至ext3發(fā)現(xiàn)還是一樣結(jié)果,猜測(cè)是grub啟動(dòng)項(xiàng)寫的有問題,但是檢查了grub發(fā)現(xiàn)沒有問題,不知道有大神遇到過這種問題嗎?
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 我現(xiàn)在要在ubuntu測(cè)試安裝xen從高到低的各個(gè)版本,請(qǐng)問這些版本對(duì)ubuntu 的版本有什么要求,如題。
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@xen-fans 你好,想跟你請(qǐng)教個(gè)問題:您好我是一名研究生最近在做Xen的的一些研究 但是怎么也安裝不上 請(qǐng)問這個(gè)需要怎么安裝呢 網(wǎng)上找到的一些文件都找安裝不上