⑴ 如何成為一名高級程序員
程序員可以分為很多種,像Unix程序員、Windows程序員,或是C++程序員、Delphi程序員,等等。今天我想談的是Web程序員,一名真正的Web程序員應該懂得那些方面的知識,應該注意學習哪些東西。
也許有些朋友會說,我知道Asp、Jsp,會做網站、會做bbs,這應該叫Web程序員了吧。確實,我承認,這些技術是一名Web程序員應該具備的;但是,你如果僅懂得這些,卻只能叫做Asp程序員、Jsp程序員,而不是真正意義上的Web程序員。現在的世界是屬於Internet的,大部分的應用基於Internet,大家可以想想,像Yahoo、Microsoft、Amazon那樣的網站,其訪問量之大、應用之復雜,需要什麼樣的技術才可以支撐,難道僅僅是硬體的功勞么。
我想在Windows平台下來談談Web程序員應該掌握的技術
1. 首先,就是上面提到的各種腳本,asp、jsp、php等等,這些東西大同小異,基本可以舉一反三。
2. 資料庫,
相信做Web的人肯定用過,像Access、Sql Server、Oracle。很多人會用各種資料庫,但是僅限於寫一些sql,select、update、insert,用ADO來操作,如果這樣,就算會用100種資料庫又有什麼用呢?
你應該考慮用戶量、訪問速度、內存消耗,這些東西和你的sql密切相關,我經常見到很多分頁程序根本不去考慮資料庫中有多少條數據,統統select出來,很明顯,當你從資料庫中查出1萬條數據和100條數據,佔用的內存是不同的。
另外,資料庫連接池和事務機制是非常重要的,應該知道資料庫用什麼來保證事務,連接池如何實現,這些都是商務應用的關鍵。譬如,目前很多的應用服務,像weblogic、MTS,都包含事務處理,可以說好的事務處理決定了他們的競爭力。
3. 組件技術
我想是現在的Web應用推動了組件技術的發展。以前,從老式的靜態庫、動態庫(dll),到現在的COM/DCOM,再到正在興起中的Web Service;從單機調用,到基於內部網的分布式調用,到現在基於Internet的分布式計算。現在的應用都是基於組件的n層結構,最明顯的就是COM和JavaBean。
這些東西體現了軟體架構的發展,以前是基於單機的應用,然後是C/S結構,到現在的B/S結構。我記得李維曾經說過,程序員一定要注意軟體技術的發展趨勢,只有這樣,才不至於被淹沒在技術的洪流中。我想,作為Web程序員,一定要明白COM的原理,如何實現這種調用、如何進行分布式調用。說實話,我覺得COM還是比較復雜的,否則微軟為什麼要提供ATL和VB呢,要搞明白,應該學學C++,因為VC中提供的ATL庫可以很明顯的說明COM的內部運行機制。
4. 網路技術
這可以說是Web程序員最應該懂得東西。起碼,應該知道Web伺服器的機制,要明白Http協議。就拿IIS來說,要懂得web應用程序運行的進程安全和IIS的關系,懂得ISApi的作用。
如果有時間,就看看TCP/IP,看看winsock,這些都是底層的網路的東西。
我所說的這些都是基於微軟技術下的東西,其他的像Java方面的東西都可以對照參考,就不多說了,這也是我這幾年來的一些心得。總之,學海無涯,每當接觸一些新的東西,就會發現自己的不足,同時也就覺得基礎知識的重要。說實話,像我們做應用開發,用別人的東西,在現在這種情況下,新的技術層出不窮,稍不注意就會被甩開,這也是沒有辦法的事情。
⑵ 北大青鳥設計培訓:剛入行的程序員小白如何才能快速成長
每個大牛都是從小白成長過來的,對於剛剛步入職場的程序員來講,面對身份的轉變和還未熟悉的工作,都難免會有不適應,對自己未來的成長也會比較迷茫。
No.1大部分的程序員從小白到大牛都是要經歷一個循序漸進的過程,沒有一蹴而就的成功,程序員的成長也是分階段的,而每個階段的側重點又都不一樣。
很多人總想一口吃成胖子,可往往就是這種急躁的心理,反而使得自己更難靜下心來夯實基本功,適得其反。
要知道,成長從來就不是一件簡單的事情。
那麼對於IT小白來說,java課程http://www.kmbdqn.cn/介紹怎樣才能在更短的時間內成長為一名優秀的程序員呢?No.2首先,要制定詳細而明確的階段性目標。
工作時如果有一個目標,會幫助你找到努力的方向,對自己的事業發展也很有幫助。
而越詳細、越明確的目標,其可實施性就越高,這也能使你找到短期奮斗的動力。
其次,要利用空閑時間多學習。
技術實力始終是一個程序員能否往前走的關鍵,沒事的時候多看代碼,保持對代碼的敏感度。
只有看的多了,琢磨的多了,才能培養出好的代碼審美感。
除了要保持對代碼的敏感度以外,還要讓這種敏感度成為你寫代碼中的利器。
因此,你需要勤寫代碼,多做總結,不斷優化自己寫的代碼。
最重要的是,要注重在項目中去鍛煉自己。
項目開發是幫助程序員快速成長的一個有效途徑。
實踐出真知,只有多實踐,才能發現自己在實際的項目開發中存在的缺點和不足,找出來並及時改正,將為自己積累下十分寶貴的經驗。
No.3不知道大家有沒有聽說過「空杯心態」?「空杯心態」簡單來說就是:如果你的杯子是空的,新東西就比較容易進去;反之,如果你的杯子已經滿了,新東西就進不去。
舉例來說,可能會有一小部分自以為是的同學,他們在剛從學校出來時思維較為固化,自己的東西太多,頑固又不肯放棄,新東西自然難以學進去,成長自然就慢。
而具有空杯心態的同學,他們會適時清空自己,甚至有意識清除腦中頑固區域,虛心主動學習,渴望更多知識,學到的自然就會多。
⑶ JAVA程序員怎麼成為大牛,有哪些可以深耕的領域
1、成為大牛,基礎要很扎實很扎實。不能小看基礎,很多流行的框架什麼的,其實都是從基礎起來的,你理解了基礎,很多東西都可以理解的。
2、多讀源代碼,官方的。有問題,直接找官方,最快最佳最直接。
3、有一定的條理,做事情,就是要有條理性,會分解,把復雜的問題簡單化。簡單化,就是0和1一樣的簡單的那種。
可以深耕的領域,其實,這個看你目前所在的行業,做自己熟悉的最好,java目前比較適合的是後台、金融、互聯網方面。
⑷ 如何成為一個程序員
如果想做一個程序員,在沒有基礎的情況下,買書自學是一個辦法。但是大多數人會因為沒有相關的基礎知識,導致看書看得一知半解,因為有不同的語言,不同的開發環境,在你不了解的時候,買的書不一定合適。
比較速成的辦法還是去報名一個培訓班,系統的學習一下基礎知識,然後選擇一個發展方向,再具體的針對性的買點書籍來學習。
程序員是一個不停學習的崗位,你需要每天除了工作以外,花一定的時間了解新的技術或正在使用的技術的原理,這樣才能一直提高,不然,可能會被淘汰。在你了解代碼以後,你還需要了解邏輯,就等於你要熟悉你所從事的這個領域及行業。
注意事項:
不管任何行業和任何工作,概念的理解都是成功的關鍵。除非你有強大的概念基礎,否則就不可能成為一名優秀的程序員。
核心概念的理解有助於你用最佳的方式設計和實施解決方案。如果你覺得你現在還沒有好好掌握關於核心計算機科學和編程語言的特定概念,那麼現在回過頭去重新學習這些基礎知識猶未晚矣。
⑸ 北大青鳥java培訓:初級程序員成為高級程序員都有哪些方法
我們在前文中給大家指出了新手程序員在向技術高手蛻變的時候都會產生哪些思維上的誤區。
而今天我們就給大家帶來了這些誤區的解決方法。
河北電腦培訓http://www.kmbdqn.cn/希望大家能夠通過對本文的閱讀,真正理解和成為高級程序員。
1、熟悉更多業務,不管是不是你負責的;熟悉更多代碼,不管是不是你寫的這樣做有很多好處,舉幾個簡單的例子:需求分析的時候更加准確,能夠在需求階段就識別風險、影響、難點問題處理的時候更加快速,因為相關的業務和代碼都熟悉,能夠快速的判斷問題可能的原因並進行排查處理方案設計的時候考慮更加周全,由於有對全局業務的理解,能夠設計出更好的方案2、熟悉端到端比如說你負責web後台開發,但實際上用戶發起一個http請求,要經過很多中間步驟才到你的伺服器(例如瀏覽器緩存、DNS、nginx等),伺服器一般又會經過很多處理才到你寫的那部分代碼(路由、許可權等)這整個流程中的很多系統或者步驟,絕大部分人是不可能去參與寫代碼的,但掌握了這些知識對你的綜合水平有很大作用,例如方案設計、線上故障處理這些更加有含金量的技術工作都需要綜合技術水平。
「系統性」、「全局性」、「綜合性」這些字眼看起來比較虛,但其實都是技術大牛的必備的素質,要達到這樣的境界,必須去熟悉更多系統、業務、代碼。
3、自學一般在比較成熟的團隊,由於框架或者組件已經進行了大量的封裝,寫業務代碼所用到的技術確實也比較少,但我們要明白「唯一不變的只有變化」,框架有可能要改進,組件可能要替換,現有技術可能已經無法滿足業務需求,或者你換了一家公司,新公司既沒有組件也沒有框架,要你從頭開始來做。
這些都是機會,也是挑戰,而機會和挑戰只會分配給有準備的人,所以這種情況下我們更加需要自學更多東西,因為真正等到要用的時候再來學已經沒有時間了。
⑹ 做一名優秀的程序員需要什麼條件
(1).要喜歡上寫程序,如果沒有喜歡上,那就要學會去培養。程序員需要整天趴在電腦前,經常沒日沒夜的,非常辛苦,而且工作來不得半點虛假,少寫一個標點符號都不行。喜歡的人,日子過得非常開心,每寫一行代碼,都會有新的成就,尤其當自己的作品被廣泛應用的時候,那種自豪感油然而起。不喜歡的人,坐在電腦前極端無聊,被進度壓得喘不過氣來,天天為找bug改bug生氣。個人深有體會!這個「喜歡」就要大家在學習的過程中去體會。
(1).程序員應該是有感情的,程序員的程序最終是由用戶來評價的,而不是老師,或者我們的BOSS。設計程序時,要講究貼心,境界:我們也是Composer!
(2).程序員應該講究團隊協作,分配給團隊的大項目,不是一人之力能夠應付的,請尊重別人的代碼,以及設計,彼此需要全心全力配合
(3).有堅韌不拔的精神,我們編的不是程,是寂寞。愛上程序設計,靠編程潛移默化性格,大多數成功的程序員都是相信自己的人,所以,多多鼓勵自己一定是最好的。
一、優秀程序員的標准
1. 能夠准確地評估你的工作。
2. 第一時間提交有質量的工作成果。
3. 建立快速的反饋循環。
4. 確保代碼的准確性與後續跟進的協調性。
二、態度生活方面
1.踏實的工作態度;認真負責,少犯錯誤。
2.充滿熱情,努力工作;有團隊合作精神,能善於和別人相處。
3.有預見性,預先感測未知因素預估風險或後果。
⑺ 北大青鳥java培訓:程序員是怎樣突破瓶頸成為大神的
程序員界的大牛,概括來說分兩種:一種是天生有天賦,對程序的思維想法,就是比一般人精準敏銳;一種是沒有天賦,但十分努力刻苦,日復一日年復一年,最終成為對技術非常嫻熟的人。
第一種就不用說了,先天資本。
那對於第二種情況,海南計算機學校http://www.kmbdqn.cn/介紹要怎樣少走彎路,成為一名「受人敬仰」的大神呢?很多剛踏入程序世界的新人都會有這種困惑:「每天的工作就是在框架的基礎上把需求轉換為代碼,一沒有學到業務,二沒有學到技術!那是非常的抑鬱!」這很普遍,畢竟公司是要得到最大的效益,而不是專門給你機會觀摩學習。
一般的公司都會將分工細化,做到缺少了誰都可以。
做到提高開發效率,降低開發成本。
可是作為程序員來講,這樣對個人的成長非常的不利。
但剛接觸的新人,又怎樣去提升自己,最後走上晉升大神的的路呢?當然,前提是,你已經是名程序員了。
1、帶著自己的腦子寫代碼書寫代碼的過程中,必然會涉及到很多的老代碼的維護。
很多人可能就在原有的基礎上,修修剪剪。
卻不去考慮改變其包結構,抽象公用方法。
或者重構代碼。
就像一個盆景,長出了雜亂無章的枝丫,你只想著修剪掉不屬於它的那部分,卻不想自己動手去修改,長成自己想要的模樣。
思考是必須的,只有在思考的過程中人才會成長起來。
想辦法去奉獻智慧,人才可能慢慢的成長!不思考,就跟猴子掰玉米一樣,掰一個扔一個,沒有積累,體驗是過程給予的,而經驗是需要思考才能得出的。
在簡單的事情中總結出一些規律和方法,最後形成自己的方法論。
多思考,慢慢你的思維和看事情的方式都會變了,看問題也不會只停留在表面,經驗也就長在了你的身體裡面。
2、拓寬知識層這種擴寬可以從兩方面進行。
一種是從書籍中汲取。
看些自己現有知識以外的書籍,從中獲取靈感。
也可以看看最新行業動態,語言軟體又發生了哪些變化。
另一種是學習別人的成果。
在平時工作中,不同的框架,花上一天的時間看看架構圖並且理解其中關鍵環節的配置調用就可以了。
但是如果想提高自己的架構水平,還是不斷的看別人的源代碼,吸取別人思想的精華部分,然後自己在工作中去發揮智慧。
3、有沒有和高手過招其實網上很多技術blog寫的都很好,尤其那些持續更新的架構和技術的程序員們更是值得學習。
找到他們,和他們討論一個方面的技術。
真正的高手都是謙虛的,討教一些他們知道的東西。
這幾乎是最快的進階方法。
就像老司機聽聲音就能知道車哪裡出毛病一樣,新手得費半天勁還花冤枉錢。
找一個行業內的人帶著學習,等於是站著巨人的肩膀上,獲得經驗的效率自然提高了。
自己一個人摸爬滾打,很容易撞的頭破血流,想想如果有人能在旁邊指點一下,會不會成長的更快?找個有經驗的人來帶你,未必要多有名氣,但是要經驗豐富,願意分享。
⑻ 如何成為一個優秀的程序員
講幾個小的方面吧。
批評還是啟發?
代碼審查是一個不錯但很少用的想法。在一個團隊里,優秀的程序員另一個任務就是要指導經驗比你少的程序員,但是主要以指導和啟發為主,不是貶低和公開批評,因為消極的態度不利於接下來團隊合作的開展。
學會分享
搞編程的沒有去逛一些論壇都不好意思說自己是干編程這個行業的。優秀的程序員往往會在這些論壇幫助別人,而實質上,輸出就是最好的學習。在一個團隊中也是一樣,幫助他人解決問題收獲更多,你也將不斷地得到成長。
勞逸結合
每天工作 24 小時不會讓你更有效率!不少程序員年紀輕輕就有腰椎盤突出、頸椎病、肩周炎、腰肌勞損、圓肩駝背等職業病。程序員們需要加強鍛煉,運動不僅僅可以加強肌肉的力量和耐力,而且也能夠活動身體的各個關節,有效緩解長時間保持一個動作導致局部肌肉過勞。
另外,編程是一項艱苦的腦力勞動活;有時你的大腦確實需要休息一下,休息是為了更好的工作。否則,你的工作質量將大打折扣。業余時間養成一項自己的個人愛好,確保自己可以放鬆並沉浸其中。如果是球類運動,效果更好,它將讓你保持旺盛的精力和活力。
不要閉門造車
留意網路各種平台,學習新語言和框架、參與討論以及看看同行在干什麼。多關注業界在干什麼,這將讓你的視野更加廣闊,不致於為了編程而編程。
⑼ 如何成為優秀的程序員
保持健康
編程之外的愛好
持續學習
正確應對犯錯
不要囿於角色
展示你的創意
刻意練習手速
首先要說的當然是健康,脫離了這個本錢,一切都無從談起。
久坐、不運動、睡眠不足、不注意及時補充水分、長期的伏案工作等都會對健康造成很大的影響。
研究表明,長期保持同一姿勢(不論坐著還是站著)對身體都有不同程度的害處。這幾年很流行的「站立式辦公」也是一樣,如果你白天站立時間過久,會對膝關節造成較大的壓力,同樣會損害健康。比較推薦的方式是,寫30-40分鍾代碼就起來走一走,喝杯水,遠眺一會,跟同事聊聊天。
我知道,作為程序員我也常遇到那種寫代碼寫High了連廁所也不想去的時候。不過為了長遠的健康,還是要養成良好的習慣。
戒除不良習慣
除了長時間保持同一姿勢之外,許多程序員還有各種不良習慣。比如:
吸煙
喝酒
嗜糖(碳酸飲料,其他高糖飲料)
一些建議
有規律的做一些運動可以緩解頸椎、腰椎的不適,可以加快新陳代謝的速度,消耗多餘的、會沉積下來的能量。比如比較容易接觸到、也容易上手的運動:
瑜伽/普拉提
乒乓球
跳繩
培養一個編程之外的愛好
如果讓不同的人對程序員打標簽並排序,宅一定會排在前三。在任何的聚會上,程序員總是很容易被識別出來的:聰明、戴眼鏡、話不多、略顯悶騷、聊天容易冷場等等。也難怪,長期鑽研技術,沉浸在非黑即白的二進制世界,愛刨根問底,這樣很容易把天聊死。
我建議新手程序員可以找一個編程之外的愛好,一來可以拓展自己的社交圈,周末可以有個不一樣的過法(而不是宅在家裡寫代碼);二來可以幫助你成為更好的程序員。
一些建議
學習一項與編程無關的技能,比如:
樂器(如吉他,架子鼓)
繪畫(素描,水粉,水彩等)或者書法
製作美食
某一項武術(拳擊,泰拳,空手道等)
這些看似毫不相乾的愛好可以幫助大腦休息。另外需要注意的是,你無需真正成為某一項愛好的專家,不要有額外的壓力:擔心演奏不好、沒有繪畫天賦等等。沒關系,它只是一個愛好而已。
持續學習
軟體開發是一個需要終身學習的行業(其實如果你不想做那種混吃等死的人的話,基本上每個行業都是這樣)。
程序員被裹挾在技術演進的洪流中,不能自已。作為程序員,你不但要非常扎實的掌握基礎知識(操作系統原理,計算機網路,數據結構,演算法等),還需要有非常強的快速學習能力,以及願意不斷去學習的態度,而後者可能更重要。
讀書
通過視頻/文本教程等學習新技術
建議新手每天抽出一個小時來讀書,周末可以多讀一些。ThoughtWorks有個讀書雷達,是一個很不錯的書單,包括了很多的經典書籍。讀書之外,還可以在線學習一些教程,比如Tutorialplus和Egghead等,都非常值得經常去看看,如果有比較新鮮有趣的技術,不妨自己親自動手試一試。
正確應對犯錯
斯坦福大學的Carol Dweck教授通過一些實驗和後續的研究提出了很有名的心智模型(Mindset)理論,簡而言之,她發現不同的人們對待失敗這件事有著完全不同的態度:有一類人害怕失敗,失敗後會變得不能接受,而且容易否定自身並影響進一步的嘗試,Dweck教授稱這類人為固定型思維模式(Fixed Mindset);而另一類人則「喜歡」失敗,視失敗/犯錯為學習的一種方式,他們更關注過程而不是結果,Dweck教授稱其為成長型思維模式(Growth Mindset)。
Dweck在演講中提到,通過向成長型思維模式的轉變,關注從失敗/犯錯中學習,人們的潛力可以得到很好的發揮,也更容易獲得理想的結果。
很多新人不敢嘗試,又不願意讓同事知道自己的不足,這樣的態度會導致他更傾向於選擇更容易的工作,這樣就可以避免暴露自己的不足,久而久之就會形成惡性循環。其實企業對於新人的期望一般都不會很高,對於新人犯錯也是有容忍度的,新人要勇於承認自己的不足,勇於嘗試新的事物,勇於犯錯並從中學習。
承認自己的不足在剛開始是一件很困難的事情,不過在嘗試過幾次之後,你就會發現其實也沒有那麼恐怖。你慢慢會喜歡那種不帶任何包袱的、全身心聚焦在學習本身上的快樂。
不要被角色限制
作為程序員,既可以往上游去探索需求的梳理,用戶痛點的分析,業務價值的挖掘,又可以向下游如測試的編寫,產品的發布,運維監控。視野開拓了,才有可能對產品有整體的了解,也更容易在程序員這個角色上做的更好。
作為新人,能在自己擅長的方面發揮長處當然很好,但是如果僅僅局限在自己擅長的方面則未免太過單薄。如果你在前端非常有經驗,那麼除了將這些經驗和知識分享給別人之外,你還可以向別的角色學習他們擅長的技能,比如向測試學習自動化、SBE等;向後端學習高性能,高可用伺服器的技術、資料庫設計及優化、API設計等;向DevOps學習運維技能,自動化provision技能等等。
這些不同的技術不但可以讓你的視野更加開闊,也可以為自己以後嘗試不同的角色和機會打好基礎。
展示你的創意
將一個創意、復雜概念或者想法簡潔而准確的描述出來是一個非常重要的能力。我見過太多的程序員都是沉默寡言,講東西聲音又小,又緊張,即使有很好的想法也難以完整的表述出來。
不過這個能力是可以鍛煉的,只需要藉助原型的製作就可以了:
畫圖
靜態原型
紙上原型
俗話說,一圖勝千言。你只需要學習一些簡單的繪畫技巧就可以大大提高自己的表述能力。
通過用靜態頁面(HTML/CSS/JS),mock數據等方式,快速的將創意表達出來是程序員的一個優勢,你可以用靜態數據、數據文件等方式,通過一些簡單的代碼快速的作出可以做交互的原型,然後通過和用戶不斷確認的方式來漸進增強,這種做法可以避免太大的浪費,盡早的將客戶價值交付。
原型並不局限在草圖,可以工作的靜態頁面,還可以是一個清晰簡潔的演講。基於PPT的原型還可以用來分析目前產品痛點、對比方案的優劣、展示自己的看法等等。
手速
關於程序員是否要求很快的手速是一個頗具爭議的話題。支持者認為這屬於基本功,每個程序員都應該打字都很快;反對者則認為程序員的價值在於思考並解決問題,追求速度快,那還不如招個打字員。我個人的觀點是,好的程序員應該有很快的手速(包括打字的速度,但不局限於此)。
對同一個頁面的不斷練習聽起來是在做重復工作,其實可以聯繫到很多的內容:
命令行的熟悉程度
快捷鍵的使用
搜索引擎的使用
Stackoverflow的使用
當你真的可以熟極而流的時候,你才有時間來考慮如何優化,比如如何抽取模板工程(這樣下次做同樣的事情就會快很多),如何精簡DOM結構,如何用命令行工具來幫助自己提速等。手速是大前提,沒有速度,一切優化都是腦海中的意淫,無法真實落地。
總結
要成為一個厲害的程序員,首先當然是要有一個好的身體。此外需要培養一個編程之外的愛好,這樣可以讓你活的像一個正常人(而不是傳統的工科書獃子)。程序員是一個需要不斷學習,不斷充實的職業,在學習的過程中,英文能力可以幫助你學的更快,更有效,另外正確的應對學習過程中必然會犯的錯誤,並將每次錯誤都當成學習的機會。
⑽ 如何成為一個牛逼的程序員
如果要想成為一個厲害的程序員,涉及到的方面比較多。
首先要了解計算機的組成原理、結構體系,還要熟練掌握多種編程語言,以及常見的演算法。
還需要熟悉各種軟體知識:網路、圖形圖像、數據結構、編譯原理等
同時熟悉相關的專業知識,這個得看所在行業了。如在電力行業的軟體需要對電力調度、保護設備等了如指掌。
這些,需要投入大量的時間進行學習。需要毅力才可以實現,不是說說就行的。