① 程序員是什麼職業什麼職務
程序員(英文Programmer)是從事程序開發、程序維護的專業人員。
一般將程序員分為程序設計人員和程序編碼人員。
軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
職務:
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
程序員職業要求:
1、熟練開發工具
作為程序員,掌握至少兩個或三個開發工具是程序員的基礎。其中,C/C++和Java是最推薦的開發工具。C/C++已經成為開發工具高效、靈活的銳利工具。
許多系統級軟體都是用C/C++編寫的。Java的跨平台與Web的良好結合是Java的優勢,Java相關技術JavaOne很可能成為未來主流的開發工具之一。
其次,最好掌握一個簡單的可視化開發工具,如vb、powerbuilder、delphi、cbuilder,這樣可以降低開發難度,強化程序員對象模型的概念。另外,您需要掌握基本的腳本語言,如shell、perl等,至少能理解腳本代碼。
2、熟知資料庫
很多應用都是以數據為中心的資料庫,有很多資料庫產品,其中關系資料庫仍然是主流形式,所以程序員至少要精通一兩個資料庫,非常清楚關系資料庫的關鍵元素,熟練掌握在SQL的基本語法中。
雖然許多資料庫產品提供可視化的資料庫管理工具,SQL是資料庫操作的基礎和常用方法。如果您沒有訪問商業資料庫系統的許可權,那麼最好使用免費的資料庫產品,如mysql、postgres等。
3、了解操作系統
目前,主流操作系統是windows、linux/unix,熟練使用這些操作系統是必要的,但只有這些還遠遠不夠。
作為一個真正的編程大師,我們需要對操作系統及其內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等有深入的了解。
Linux作為開發源代碼的操作系統,是一個很好的學習平台。Linux幾乎具有現代操作系統的所有特徵。雖然關於Windows系統內核實現機制的信息很少,但是通過Internet仍然可以獲得很多信息。了解網路協議TCP/IP。
② 程序員哪些技能是必須要掌握的呢
一名合格的程序員需要掌握哪些技能呢?
熟練掌握開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系敏手悶統級的軟體還是用C/C編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些薯悉腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作橋彎方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
對操作系統有一定的了解
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
懂得網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices(網路伺服器),再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,雲南IT培訓http://www.kmbdqn.cn/認為你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
③ 當使用tcp協議編程時,哪些問題是程序員考慮和處理的
發送數據的格式和應用協議。
一旦雙方建立了TCP連接,連接中的任何一方都能向對方發送數據並接收對方發來的數據。
發送數據時,程序員可以編寫程序不斷地將數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據,將其組成TCP報文段逐個發送給IP層,再通過IP層發送出去。
接收端從IP層收到TCP報文段後,將其暫時保存在接收緩沖區中,這時程序員就可以編寫程序依次讀取接收緩沖區中的數據,從而達到通信的目的。
(3)tcp與程序員擴展閱讀
利用TcpClient和TcpListener在同步方式下接收、發送數據及監聽客戶端連接時,在操作沒有完成之前一直處於阻塞狀態,這在接收、發送數據量不大或者操作用時較短的情況下是比較方便的。
但是,對於那些完成時間可能較長(如傳送大文件)的任務時,使用同步操作可能就會造成系統假死,這種情況下,最好的辦法是使用非同步操作。
④ 當使用tcp協議編程時,哪些問題是程序員考慮和處理的
發送數據的格式和應用協議。
一旦雙方建立了TCP連接,連接中的任何一方都能向對方發送數據並接收對方發來的數據。
發送數據時,程序員可以編寫程序不斷地將數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據流寫入TCP的發送緩沖區中,然後TCP自動從發送緩沖區中取出一定量的數據,將其組成TCP報文段逐個發送給IP層,再通過IP層發送出去。
接收端從IP層收到TCP報文段後,將其暫時保存在接收緩沖區中,這時程序員就可以編寫程序依次讀取接收緩沖區中的數據,從而達到通信的目的。
(4)tcp與程序員擴展閱讀
利用TcpClient和TcpListener在同步方式下接收、發送數據及監聽客戶端連接時,在操作沒有完成之前一直處於阻塞狀態,這在接收、發送數據量不大或者操作用時較短的情況下是比較方便的。
但是,對於那些完成時間可能較長(如傳送大文件)的任務時,使用同步操作可能就會造成系統假死,這種情況下,最好的辦法是使用非同步操作。