導航:首頁 > 異常信息 > 程序員是怎樣連接網路的

程序員是怎樣連接網路的

發布時間:2022-02-13 23:36:58

1. Java編程連接網路需要什麼類

應該說需要一個包:java.net.*包
對於TCP,用到
java.net.Socket作為客戶端套接字包裝類,用java.net.ServerSocket服務端套接字包裝類
UDP用到
java.net.DatagramPacket吧貌似忘記了

不過這些都是同步套接字,一步套接字的話就要涉及到java.nio包了,稍微找個教程看看就差不多了,java在這方麵包裝的比較好,程序員學習起來比較簡單

2. 程序員 如何通過網路自學編程

首要之首:不要急於選擇一種語言 新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言最好。 我們應該理解:說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要急於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。 根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從網站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。 桌面腳本想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey (Windows) 或 Automator (蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是真正的編程語言。 也許他們說的是對的技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口而且你會吃驚於它們豐富的功能。 例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導: how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載 Texter源代碼 看看這個功能齊全的使用AHK開發的Windows應用程序的內部結構)。 HTML 和 CSS:開發網站,你第一件要知道的事情就是HTML(網頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言它們只是頁面的結構和樣式信息。 然而,在開始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個 HTML 指導 是你入手的好地方。 JavaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關於因素。 學習JavaScript從這里開。 伺服器端腳本:一旦你學會了網頁里的知識,你就要開始對它添加一些動態伺服器操作為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, Python, Perl, 或 Ruby。 舉個例子,如果想要製作一個網頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的網站,這樣的語言正是你需要的。 Webmonkey 是一個優秀的web開發資源網站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的 PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟資料庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 (我很喜歡PHP,但還有很多其他種伺服器端的腳本語言你們都可以選擇。) Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新網站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是 他的如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的web開發框架包括 CakePHP (針對 PHP 編程者), Django (針對 Python 編程中), 以及 jQuery (針對 JavaScript). Web APIs: API (應用層序編程介面) 是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的網站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。 The Google Maps API 可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是 Twitter的)。 瘋狂吧。 命令行腳本如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。 很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Peal太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。 如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器: Todo.txt CLI。 插件(Add-ons) 如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說But if only it could do THIS 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。 更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來 how to build a Firefox extension, 這是我在笨手笨腳的研究網上的一些學習資料後獲得的成果。 很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是 如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個 一個下午時間的快速入門指導開始的。 開發桌面上的Web應用程序 學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如, Adobe AIR 是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的 10個讓你值得去安裝AIR的應用程序。 移動應用開發 能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個 簡單的iPhone應用開發例子 可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個 簡單的視頻教程教你如何開發第一個Hello Android程序(註:可能需要代理才能看這個視頻)。 耐心,刻苦,嘗試,失敗 好的程序員都有一個不達目的誓不罷休的品質,他們會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的。 如果有可能,最好找個伴一起陪你做這件事。 想精通編程,這和其他事情一樣,需要堅持,反復嘗試,獲得更多的經驗。

3. 網路程序員

[經驗之談]30歲,我的程序,我的夢!
程序人生 : 30歲,我的程序員夢想
作 者: redbridge (雪燃)

30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業余的程序員,一個水平不高的程序員,一個半道出家的程序員......
我的經歷到這里就告一段落了,五年裡跳了五次槽,不知道和大家比算不算多J,沒有什麼太多起伏,但我想很多朋友可能會和我有類似的經歷,不知道能不能引起你們的共鳴。我想對我上面所說的話給一個總結:

1. 如果你覺得自己應該追求什麼,不管遇到什麼困難千萬不要放棄,一定要堅持下去。
2. 不要因為自己年輕就找理由揮霍時間,少玩一點SC、CS、魔獸3、傳奇、魔力或者…….,多看點書,多練練題。
3. 如果你還是在校的學生,英語很差,專業課也很差。沒關系,想怎麼學計算機就怎麼學計算機吧。其它地只要能混到畢業證就行了。除非你對自己的未來沒有信心。(當然,如果你的理想不僅僅是要做一個程序員,那你別丟掉英語。)
4. 如果你不是科班出身,想要轉行而不知該怎麼開始的話,建議你先看兩類書:(1)計算機原理;(2)數據結構和演算法。(看數據結構之前先看C語言)。
5. 什麼時候努力都不晚,關鍵是你明白要努力了,大器晚成總比一事無成要好的多。
6. Java、.net、C++、PB、VB、Delphi、匯編到底應該學哪個?我的經驗,哪個最簡單就先學哪個、公司用哪個你就學哪個、哪個和你有緣(比如剛好你認識一個願意幫助你的Delphi高手)你就學哪個,如果你都學,或者三天兩頭的換,我可以告訴你結果肯定是什麼都不會,不要心浮氣燥,他們都只是工具,學精一門其它的就相通了,重要的是掌握編程的思想。如果你問我面向對象(好像現在已經是面向需求了)、UML、WebLogic、WebService、軟體工程、XML…….應該怎麼學呀,對不起,這些我也確實不是都會,但請相信,你先實實在在的寫上十萬行以上的代碼以後,那些東西你自然就慢慢會了。
7. 不要以為程序員的工資都很高,程序員之間的水平差異也大。公司衡量一個人的待遇標準是他能給公司帶來多大的效益。如果你體現了自己的價值,公司會主動給你加薪的,當然你也可以自己主動提,但一定要在你表現出了自己的價值之後。
8. 輕易不要跳槽,如果非要跳,也要保持工作經驗上的延續,而不是從新開始,不然就會象我一樣走很多彎路。
9. 如果你以為程序員都是熬夜熬出來的,那麼你錯了,因為它的代價就是縮短你的青春!大家不要象我一樣,真的,熬夜一點也不好!記住老毛的話:如有恆,何須三更起,半夜眠;最怕莫,三天打魚兩天曬網,竹籃打水一場空!
10. 這一點是我覺得最精華的一點:「君子性非異也,善假於物也。」這句話的本意是一個水平很高的人本身並不一定很高明,關鍵是他善於利用別人的高明!我在這里做個借鑒,就是要充分利用自己身邊的資源,不放過任何一個可以提高自己的機會。大家不要誤會,這里的假於物可不是指抄襲別人的源代碼,而是指通過學習別人的源代碼把他的思想擴展到自己的思想里去。
註:上面的十大「精華」純屬我個人的「謬論」,您自己看著消化,有用的收下,沒用的請拖入「回收站」。如果你覺得這些總結不過是一些浮華之詞,那請你先問問自己:「是不是在行動上都真正做到了。」
這就是我,一個不算優秀,不算勤奮;玩能玩通宵,學也學能學通宵;對夢想的追求很執著;到了30才開始真正寫程序;一個很平凡但又不甘於平凡的人……我的經歷相信很多朋友都有過的,我現在也不能算是一個成功人士,但我相信我的經歷卻是值得大家借鑒的,因為我終究代表了一類人。
最後我還想說一點:現在很多朋友都抱怨中國的軟體業環境太差,前途渺茫。確實是這樣,我有同感。不過我想軟體業不過是千萬個行業中的一種,每一個行業總是會有起落的,中國的軟體業環境差有她的歷史原因,我們不要總是簡單地和印度相比。抱怨沒有意義,已經這樣了,抱怨不能使她變好,希望我們每一個人多貢獻一份自己的力量,總有一天她會變的比印度還好,甚至比美國還好。
最後:希望所有的程序員和擁有成為程序員夢想的朋友們在新的一年裡心想事成,萬事如意。請相信我:明天不一定更美好,但美好的一天一定會來!

4. 什麼是網路程序員呀

網路程序員就在編輯網路程序的`~網路需要一些程序所以就需要一些這樣的人``並非是網路管理員~兩方面不同的

5. 如何讓所有程序都使用IE的代理設置來連接網路

你下載個E2GAME代理軟體就可以了G,想讓什麼程序通過代理訪問就把進程添加到E2GAME里就OK了!

6. 如何學習電腦編程和網路連接謝謝

如果真心想做程序員,我給你建議六個階段:
第一階段

此階段主要是能熟練地使用某種語言。這就相當於練武中的套路和架式這些表面的東西。

第二階段

此階段能精通基於某種平台的介面(例如我們現在常用的Win 32的API函數)以及所對應語言的自身的庫函數。到達這個階段後,也就相當於可以進行真實散打對練了,可以真正地在實踐中做些應用。

第三階段

此階段能深入地了解某個平台系統的底層,已經具有了初級的內功的能力,也就是「手中有劍,心中無劍」。

第四階級

此階段能直接在平台上進行比較深層次的開發。基本上,能達到這個層次就可以說是進入了高層次。這時進入了高級內功的修煉。比如能進行VxD或操作系統的內核的修改。

這時已經不再有語言的束縛,語言只是一種工具,即使要用自己不會的語言進行開發,也只是簡單地熟悉一下,就手到擒來,完全不像是第一階段的時候學習語言的那種情況。一般來說,從第三階段過渡到第四階段是比較困難的。為什麼會難呢?這就是因為很多人的思想變不過來。

第五階級

此階段就已經不再局限於簡單的技術上的問題了,而是能從全局上把握和設計一個比較大的系統體系結構,從內核到外層界面。可以說是「手中無劍,心中有劍」。到了這個階段以後,能對市面上的任何軟體進行剖析,並能按自己的要求進行設計,就算是MS Word這樣的大型軟體,只要有充足的時間,也一定會設計出來。

第六階級

此階段也是最高的境界,達到「無招勝有招」。這時候,任何問題就純粹變成了一個思路的問題,不是用什麼代碼就能表示的。也就是「手中無劍,心中也無劍」。

此時,對於練功的人來說,他已不用再去學什麼少林拳,只是在旁看一下少林拳的對戰,就能把此拳拿來就用。這就是真正的大師級的人物。這時,Win 32或Linux在你眼裡是沒有什麼差別的。

每一個階段再向上發展時都要按一定的方法。第一、第二個階段通過自學就可以完成,只要多用心去研究,耐心地去學習。

要想從第二個階段過渡到第三個階段,就要有一個好的學習環境。例如有一個高手帶領或公司里有一個好的練手環境。經過二、三年的積累就能達到第三個階段。但是,有些人到達第三個階段後,常常就很難有境界上的突破了。他們這時會產生一種觀念,認為軟體無非如此,認為自己已無所不能。其實,這時如果遇到大的或難些的軟體,他們往往還是無從下手。

至於學編程先學什麼?我覺得對於廣大編程初學者來說,存在著這樣普通的認識:學習程序設計選擇編程語言很重要,開口閉口就是Visual Basic Visual C++ Delphi Power Builder等一些現在比較流行的開發工具。經常看見有初學者問:我學C/C++,究竟是學Visual C++好,還是學Borland c++ Bulider好呢?或者就是要求在Visual Basic 和Dephi 之間作出選擇。學習程序設計和學習程序語言究竟是怎麼取捨呢?就此我打個簡單的比方;

學習程序設計就好比學習射擊,而程序設計就對應射擊中的氣槍、手槍、步槍等各種槍械。學習射擊必須學好射擊,再學好其他的,自然事半功倍。學習程序設計也是一樣,必然要從學習一門語言本身,還要學會編程的思想,這是所有程序設計語言的基礎。程序設計語言,是「一法通,萬法皆通」的。

我個人認為:學習程序設計不必苛求一定要從某一種語言入手,可以在 Visual Basic Dephi Borland C++ Builder 或者DOS下的Pascal 、Turbo c中間選擇自已比較容易接受一種進行學習。從中主要學習的是編程本身的思想,學習的用程序設計的眼光來看待問題。或許,學習的效果不能馬上看,但是可以學到扎實的基本功,而這對於將來的進一步發展是有很大好處的。

網上鄰居里建ADSL連接查看網路連接,當本地連接正常的時候,創建一個新連接,連接到INTERNET手動設置到你的電腦就可以了

7. 計算機編程如何學習(軟體、網路)

給軟體開發初學者

在論壇上呆久了,發現很大一部分有關開發的帖子都是有關心懷夢想,立志成為一個軟體英雄或者響當當的黑客人物;或者是狂熱的游戲玩家,突然想邁入游戲開發的殿堂,自己打造一個完美的游戲;或者被以前IT行業的「錢」途無量所吸引,為了經濟因素希望成為一個程序員的,而尋求進入軟體開發領域之門的求助帖子。
這些諸如「你好,我想做程序員,應該怎麼做?」,「初學C++,請問看什麼書好」,「請高手幫我看看這個程序」,「我想轉行,請高手指點」……的帖子佔了各大軟體開發論壇帖子總量的很大一部分,而且內容是長年不變,重復來重復去 :P
自從做了epubcn的C++板塊的版主,經常收到不相識網友的消息或Email,基本上還是問這些問題。看到這些帖子和Email,不禁想起自己剛剛邁入軟體開發的領域,茫茫然不知何去何從,興奮而又彷徨不安的過去,這樣的經歷一次又一次,在不同的地點、不同的時間仍然在不斷的重復。今天終於坐下來,寫下一點文字,希望能夠對彷徨的朋友們有點幫助。
確認你真的要邁入軟體開發領域
軟體開發是一項純智力活動(現在人們都意識到長時間超負荷的連續寫程序並不會提高軟體生產率,反而會對軟體品質造成很大負面影響,所以盡管很多程序員仍然長時間加班,但這種現象正在逐步減少並最終會消失,所以體力要求並不會比其他行業高),如果你不是一個智力高於平均水平的人,說實話,軟體開發並不適合你,你基本不可能在軟體開發領域取得很高的成就和地位,而且不久就會因為年齡的增長而被淘汰。
如果你以那些開發出共享軟體的軟體英雄和著名黑客為榜樣,立志也要成為他們的一員,像武俠小說中的大俠一樣仗劍江湖。我要先給你潑上大大一盆冷水,把你從幻想拉到現實中來。首先,現在的軟體其復雜度和規模都遠遠超過以前,想一個人獨力完成一個規模稍大的軟體,基本沒有可能(雖然還是有些特例, but trust me,那些僅僅是特例,請不要把自己想像成獨一無二的超人、幸運兒);其次,無論是軟體英雄還是仗劍江湖的頂尖黑客,他們的軟體開發功底和智力都遠遠超過軟體行業從業者的平均水平,沒有多年的積累和堅韌超常人的毅力,是不可能,換句話說,想成為他們的一員,可以,但請首先成為一個合格的軟體開發人員。
如果你是因為傳說中程序員的所謂「高薪」,對自己現在從事的工作不滿意,而萌生轉行的念頭,我勸你還是再慎重考慮一下。程序員的待遇一般來說,是要比平均水平高一些,但遠遠談不上高薪,而且以現在程序員的工作量來算,其實同樣的付出,程序員所得到的能和平均水平看齊就不錯了,程序員的競爭和淘汰也是異常殘酷的。技術的更新速度更是其他行業所罕見,每個程序員都要不停的跑步跟上,不使自己落伍,所以在這個層面上來說,沒有誰可以停下來休息,唯一能夠積累下來的就是你的經驗,但經驗中能夠為你的競爭力增添籌碼的並不多。
說了這么多,並不是我故意貶低,而是希望告訴你我所知道的軟體開發行業的真實情況,基於此請再慎重考慮你是不是真的要邁入軟體開發領域。
檢驗一下你是否適合當個程序員
在我看來,要做一個合格的程序員,你需要具備下面幾個條件:
1. 強烈的好奇心和求知慾
2. 追求完美的精神
3. 良好的邏輯分析能力
其他方面的條件幾乎所有類似的帖子都有提及:如果你不是准備單打獨斗,那麼團隊合作能力必不可少;英語我就懶得說了,沒有基本的閱讀英文資料的能力,我勸你還是打消做個程序員的想法,沒有為什麼;數學能力也是必不可少的,如果不是做演算法,高中水平的數學能力就足夠了,但一定要成績很好才行。
那麼為什麼我要強調上面列的三點呢?
具有強烈的好奇心和求知慾,能夠讓你跟上技術發展的步伐,僅僅靠危機感和責任感,你對技術的學習會有很強的功利性質,導致你的技術體系不能構成一個完整自包容的整體,而且很難對技術有高層次的認識和掌握。
我認識的一個資深系統設計師跟我說過:做軟體,「做出來」和「做的好」完全是兩個概念,所要求的投入和技術水平是天壤之別。現在國內很多程序員僅僅把軟體開發當作養家糊口的謀生手段,國內計劃經濟時代湊合、馬馬虎虎幹活的思想也滲透到了軟體業,很多程序員僅僅是把功能做出來,根本不會去考慮提高重用性、可維護性,也不會去考慮提高穩定性、運行速度,甚至連代碼也是亂七八糟,基本的編碼規范都不遵守(在我看來,這樣的人不配「程序員」這個稱號),在我們大聲譴責國內軟體業環境不好,拉項目靠關系,沒有質量保證體系,老闆不重視程序員,瘋狂剝削程序員的時候,我們是不是該問問自己,你是不是只把眼睛盯著別人?
現在各種軟體開發包應有盡有,包羅萬象,編程工具也異常強大方便,對於國內佔主流的MIS系統來說,要完成一個功能實在不是很難的事情,但是如果把系統做為一個整體,則大多數都是運行緩慢、佔用資源過大、兼容性差、可維護性差、不穩定的系統,你可曾嘗試過開發一個優秀的系統,如果有,你就會發現開發優秀軟體是多麼困難,對技術的要求是多麼高,而你在努力做到完美的過程中水平的提升是多麼快。沒有追求完美的精神,無論外部環境如何好,你也是不會開發出優秀軟體的,等待你的是無休止的修改和維護~,你的技術水平也永遠停留在簡單的編碼階段,最終只有被迫轉行。
好了,我真的適合當個程序員,那我該如何開始?
首先選擇一門編程語言和操作系統平台。
操作系統平台國內比較流行的基本有Windows、Linux(Unix)、Mac OS。一般來說大家都選擇的是Windows平台,因為此平台是國內處於壟斷地位的操作系統,而且有很多優秀的開發工具可供選擇,缺點就是Windows 平台的開放性不高,往底層探究比較困難(但我對於言必稱底層的觀點比較反感,不是所有搞開發的都要對底層非常了解,做出用戶滿意的系統才是我們追求的根本,玩些底層的trick只是一種自我滿足罷了。當然我們需要有一些掌握底層技術的高手,但這個是個人選擇的問題),而且用慣Windows的程序員在配置、腳本等方面比較弱。Linux是開源平台,當然從理論上你可以操縱Linux的一切,但是有幾個人能夠達到這一水平?剛剛開始學習開發的程序員,在 Linux上也僅僅能夠開發一些應用軟體罷了。Linux下的開發工具不夠人性化,但這種情況正在逐步得到緩解,Eclipse就是非常出色的開發平台。在Linux下開發,你可以得到大量優秀的源代碼,並且一切都是透明的(只要你想),但你必須學習很多命令行指令,掌握各種系統和參數配置以及腳本方面的知識。
編程語言的選擇更是令人頭痛,我涉獵不多,對於有些語言,我無法給出任何建議,只好等這方面的高手來給大家補充了。我僅僅對C++和Java進行一些說明,當然這個也僅僅是基於個人體會,絕對不是權威觀點 :P
C++仍然是目前佔主流的開發語言(詳細的可以閱讀TCPL中的相關論述),而且一種語言的發展或消亡都是一個漸進的過程,在可以預見的將來,C ++仍然是一門舉足輕重的開發語言,但其所針對的領域和方向可能會有所調整,我認為最主要的變化是C++會逐步從商業MIS系統市場上退出。選擇C++的理由是關於C++的優秀開發書籍和開發工具最多,相關的資源也異常豐富,待對於一般應用程序的開發掌握之後,無需過渡,就可以深入學習各種技術,因為現階段講述系統底層奧秘和高級技術的書籍,基本都是選用C\C++做為示例語言。加上微軟精心打造的開發平台Visual Studio或Borland的C++ Builder系列,學習起來更是如虎添翼。但C++現在的缺點也是比較明顯的,我最深的感觸就是對於XP和Agile Development的支持不好。
Java簡化了C++的語法,學習起來比較容易(但隨著Java的日益普及和發展,是否能夠繼續保持這一優勢,我不敢斷言),Eclipse 是非常優秀的Java開發平台,支持XP的整個過程:設計、測試、編碼、重構……現階段敏捷軟體開發的主要語言就是Java。而且Java的跨平台特性更是非常大的優勢。
實際上,選擇哪門語言都沒有關系,根據你的發展規劃和目前身邊的環境選擇就可以,沒有必要跟風,其後的堅持才是難點。
好,假設你選擇了C++做為開發語言,在Windows平台上開發,那麼我給你如下的學習建議(其他的選擇請各位積極補充……):
C++語言的學習當然是基礎,這個階段由於沒有任何在特定平台上的開發經驗,我們只能按照書中的例子一個一個輸入運行,暫時告別熟悉的圖形界面,回到古老的DOS了。參考書的選擇是這個階段很多朋友關心的,Stan Lippman的《Essential C++》和《C++ Primer》是我優先推薦的,而《Essential C++》因為篇幅較小,講解內容適當,而且對C++ STL的運用有不少描述,顯得相當實用,我認為最適合初學者使用。無論選擇了那本書做為入門教材,都應該逐個例子逐個例子的消化,不要貪快,但同時要對重點內容有所側重。我們學習任何東西都是為了解決實際問題,所以請把重點放在我們實際中最常用的部分,而不要過多的追究一些細節和艱深晦澀的不常用技術。
此刻我們會碰到很多過後看來非常簡單幼稚的問題,比如為什麼編譯出錯,為什麼按照書中的例子輸進去卻無法通過編譯,找不到頭文件等等,大體上這是因為剛剛接觸程序開發,對程序理解還很初級,以及對於所使用的開發環境不夠了解,特定編譯器對標准C++的支持程度不一導致。請多閱讀關於所使用開發環境的各種文檔,以及查閱幫助文檔。以我最經常使用的Visual C++配合MSDN來說,當出現一個我不能理解的編譯錯誤時,按F4鍵編輯器就會自動跳到當前錯誤地點,下面的輸出窗口也會給出錯誤代碼(比如C××× ×),把錯誤代碼記下,打開MSDN,在索引一欄輸入錯誤代碼,就能夠查到詳細的關於此錯誤的說明,當然,是英文的(不要問你不會英文怎麼辦,這是基本要求)。現在的開發工具查錯排錯非常方便。當然,有時很多錯誤原因並不是編譯器所提示的地方,而是往前或往後一些地方,長期的編程經驗可以提高查錯速度。此時也請多練習練習Debug技術。
此階段只要能夠掌握C++的基本語言要素,對結構化程序設計和基於對象的設計有一定理解,能夠完成一些簡單的小程序就可以結束了,畢竟DOS 程序現在很難勾起我們學習的慾望了 :P 在此之後可以視自己的情況決定是否學習數據結構,數據結構是程序員的必修課,不可或缺,地位非常重要,即使你現在希望馬上進入圖形界面程序開發的世界,這一課我也提醒你記著早點補上。
終於可以邁入圖形世界,我們要從SDK編程開始,不要擔心,這不會花費你太長時間,但卻是對Windows程序運行機制進行深入了解的好時機,在此的努力都不會白費(trust me),此時的參考書沒有什麼好考慮的,基礎的有Charles Petzold的《Windows程序設計》,進階的有《Windows核心編程》。請從《Windows程序設計》開始,Charles Petzold的書通俗易懂,學習起來非常輕松,而且對你的語言要求不高,只要懂C就可以了。
此時容易碰到的問題大多與項目設置有關,如果使用Visual C++,請按Alt+F7調出項目設置對話框仔細檢查,並閱讀相關文檔,熟悉各項配置的意義。
此階段請重點掌握Windows SDK程序的編寫方法,Windows程序的運行機制和Windows消息機制,和常用的Windows API。我們還可以更進一步:嘗試用前一階段學到的C++知識對過程化的SDK程序進行初步的改造,將我們敲入計算機的程序變得可重用,按照自己對基於對象思想和面向對象思想的理解來重新編寫例子程序。
OK,現在你已經初步入門了,掌握了C++的基本用法,對面向對象有了一點模糊而自以為是的認識,也能夠寫出Windows程序了,雖然還有點簡單,還有點醜陋,不過,總歸是圖形界面啊。開始有點感覺了,是嗎? :P 別急著往前沖,停一停,將C++和Windows SDK的基礎打牢,貪多嚼不爛嗎。此時有很多經典書籍等待你去掌握,也有幾乎無限的題材供你練習,請盡量多閱讀接觸下面的資源:
《C++ Primer》
《Windows核心編程》
《應用程序調試技術》
面向對象開發設計方面的書籍
MSDN的Platform SDK部分,Periodicals部分(包含了大量有價值C++、SDK方面的技術文章)
CodeProject里相關的源代碼是很好的補充學習資料
現在繼續往前走吧,利用SDK開發畢竟有時太過於費時費力,還是使用更高級的應用程序開發框架的好,主要的有MFC和VCL,關於這些框架誰好誰壞的爭論我已經聽煩了,一句話,能幫助我們完成任務就行,它們無非都是工具,你自己隨便選擇吧。不過選擇好之後,你應該明白,對於你的工具,了解越深,越能發揮它的威力。如果你選擇了MFC,我建議學習下面的書籍:
《深入淺出MFC》:關於此書毋庸多說,盡管有人不停的貶低,但它的地位是無可置疑的,而且也是對我最有幫助的書籍之一。
《MFC程序設計》
《Visual C++技術內幕》
然後就停止找書吧,網上開發站點的數不勝數的源代碼就是最好的老師了……
學習過程中碰到問題我該怎麼辦?
我始終認為學習軟體開發過程中遇到的問題只有自己盡最大的努力去解決,才能收到最大的成效,對於那些動不動就把問題發到網上指望高手幫你解決的做法我非常不贊同,因為這樣你並不能從中學到多少。我建議的做法是,首先嘗試自己獨力解決問題,花幾個小時解決一個問題,是很正常的,不要幾分鍾解決不了就放棄了;實在無法解決的時候,請嘗試盡量減小涉及范圍,將問題歸結一下,初步形成自己的結論;然後利用搜索引擎或者開發論壇中的搜索功能來搜索是否有對於自己問題的解答;實在沒有的時候,再發帖子求助。請了解一點:你遇到的問題都是別人遇到過的,網上肯定有現成的解決方法(因為你還沒有到開發研究前所未有的問題的水平:P),只看你找不找得到了,請盡力去利用現有的資源而不是麻煩別人。
CSDN的論壇、MSDN在線文檔都是非常好的資源,基本上我們遇到的問題在這里都能找到解答。
(寫的有點亂,大家湊合看吧B))
註:上面的內容還不夠全面,非常歡迎各位充實。有什麼不對之處,也歡迎大家指出討論。

8. 如何學習網路編程

具體到編程,用java來實現網路編程是很容易的,可以作為網路編程的入門。使用C++和winsock相對復雜一些。

總之看實際需要了。
你好初學網路編程者可以從以下幾個步驟開展:
1)下載一個可以互動的學習工具,通過這個與這個工具互動,我們可以及時的學到每個api的結果如果。
對於有c/c++或java基礎的朋友通過一兩個禮拜的時間就可以上手了,另外個人建議初學者可以學習dive into python。
2)掌握網路編程中會用到的幾個基本概念和內涵,比如IP地址,port號,socket等
3)記住和消化網路編程C/S模型,把server和client端編程的常用模式理解和消化
4)花幾天時間學習socket api集,api集可以分為下面幾大類:創建 socket bind listen accept收發 read/recv/recvfrom write/send/sendto關閉 close shutdown參數 getsockopt/setsockopt地址 gethostbyaddr getaddrbyhost,...在學習這些api時候,可以先關注在函數功能,參數意義上
5)結合python互動平台,實踐socket api的用法,比如socket函數怎麼使用,bind怎麼使用等等。在互動過程中,我們可以變換參數,看看調用結果如何。比如,創建一個tcp socket的語法如下:socket(AF_INET,SOCK_STREAM)創建一個udp socket的語法如下:socket(AF_INET,SOCK_DGRAM)
6)學習socket server端編程實現簡單規約比如echo,time等,然後通過cmd中的telnet來測試。
7)學習I/O模型,比如阻塞、非阻塞和反應式(select,poll,WaitForMultipleObject)等
8)學習Richard Stevens的《Unix網路編程》,深入學習其中的api原理以及服務端設計原理,並通過代碼編寫。
9)下載高性能網路編程框架twisted,筆者強烈推薦,它將使你的網路編程效率提高10倍以上。
10)學習設計模式、操作系統知識比如線程、進程、同步等。

要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。打好基礎學編程要具備一定的基礎,總結之有以下幾方面:
(1)數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。

有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。

9. PLC編程網路是怎麼連接在一起的

可通過不同方式連接在一塊,例如:485、乙太網或其它類型的現場匯流排

10. 網路程序員 主要工作是什麼

閱讀全文

與程序員是怎樣連接網路的相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:493
電腦無法檢測到網路代理 瀏覽:1350
筆記本電腦一天會用多少流量 瀏覽:476
蘋果電腦整機轉移新機 瀏覽:1349
突然無法連接工作網路 瀏覽:962
聯通網路怎麼設置才好 瀏覽:1191
小區網路電腦怎麼連接路由器 瀏覽:933
p1108列印機網路共享 瀏覽:1187
怎麼調節台式電腦護眼 瀏覽:603
深圳天虹蘋果電腦 瀏覽:841
網路總是異常斷開 瀏覽:584
中級配置台式電腦 瀏覽:895
中國網路安全的戰士 瀏覽:605
同志網站在哪裡 瀏覽:1380
版觀看完整完結免費手機在線 瀏覽:1432
怎樣切換默認數據網路設置 瀏覽:1080
肯德基無線網無法訪問網路 瀏覽:1254
光纖貓怎麼連接不上網路 瀏覽:1377
神武3手游網路連接 瀏覽:938
局網列印機網路共享 瀏覽:975