Ⅰ 如何學習網路編程
1.利用WinInet函數庫寫了幾個簡單的網路應用程序:簡易登錄、查詢新書RSS等;了解了HTTP協議的一些內容。
2.看孫鑫的VC視頻教程, ,雖然照著視頻能夠寫出實例代碼來,但是僅僅是會用,其中很多原理都不理解,比如說WSA開頭的非同步函數,Winsock2對socket的一些增強或者改進等。
3.一邊上《計算機網路》的課,一邊讀《C++網路編程》。通過計算機網路課我知道了所謂的協議分析是怎麼一回事情,通過wireshark抓包分析,「協議」就如同這個詞本身意思是一樣的,是通信過程中的一種約定,規定了數據包中的每個或每幾個位元組代表了什麼意思;
4.去看《計算機網路高級編程技術》,我初略的翻了翻,看到裡面的基礎、提高、綜合訓練篇、突然反應過來:socket和操作系統提供的系統調用,基本上都是C語言介面的,協議欄位的具體表現,不就是用結構體嗎?協議中的幾個位元組代表什麼與C語言基本數據類型就能對應了起來(-_-!這是缺少實踐造成的遲鈍啊)。
5.了解下Boost.asio,Java的MINA框架,這些都是非同步I/O前攝器模式的實現,當然還有ACE_Proactor
6.閱讀《深入理解MySQL核心技術》和Linux程序設計(第3版)》,從把整個知識體系都聯系起來,從socket到完整網路伺服器程序,網路編程才算正式進入了門道。
所以,正常的學習路徑應該是:C/C++語言 -->>計算機網路 -->>協議分析 -->>BSD Socket、OS API ( fork()、pthread_create()、select() ) -->>Reactor、Proactor模式
在這個過程我的體會是,最好是從Linux下或者Unix底下學習,比起Windows,Linux的編程介面設計更很簡潔,使用的基本上都是標準的數據類型,很多源代碼是開放的,而且我比較習慣於看小寫的英文單詞。。。我發現,如果最一開始能夠從整體上了解網路編程的全景,就會知道應該學習什麼,下一步該學什麼,循序漸進才是好的學習方法。
我所理解的「全景」:
--計算機網路種類有很多種:ATM、X.25、Internet(大大小小的區域網互聯而成,乙太網、令牌網等等)
---- Internet通信的協議也有很多種,其中最核心的是TCP/IP協議
---- 網路編程介面也有很多種,BSD UNIX提出了socket,是一種通信機制,是管道概念的擴展
-------- socket有三種屬性:域(或協議族)、類型、協議
-------- 最常用的協議族有AF_UNIX和AF_INET(對應現在的Internet),AF_INET的類型又有兩種:數據流(tcp)和數據報 (udp)
------------ 在<sys/types.h>和<sys/socket.h>定義了socket編程的系統調用:socket()、struct sockaddr、bind()、listen()、accept()、connect()、close()、sendto()、recvfrom()
------------ 其中bind()是用來給創建的socket命名的,如果是AF_UNIX會關聯到文件系統的一個路徑上,如果是AF_INET則會綁定到IP的埠號上;listen()用來保存未處理的客戶請求的隊列;accept()等待客戶端的連接,會創建新的socket用來處理客戶端連接。
------------ 由於歷史原因,不同的計算機使用不同的位元組序來表示整數,Intel和Motorola的處理器的位元組序就不一樣,所以要轉換為網路序(好像Unicode中的Little-Endian、Big-Endian也是這么個情況。。)
------------ 伺服器必然為多客戶服務的,為了提高運行效率,高效利用系統資源,就出現多進程、多線程的服務端程序,這就需要用到fork()和pthread_create()了,再往下就是select()、pull()等多路復用和非同步I/O機制了。
----------------為了簡化網路應用程序的開發,增加代碼的復用性、擴展性、可謂性;出現了Reacotr、Preactor等設計模式,出現了ACE、Boost.asio等框架、進一步簡化網路開發的難度,出現了WinInet、libcurl這樣的面向應用層的函數庫。
Ⅱ 我想用業余時間學點網路編程,有在線教的嗎
建議報一個培訓班,網路編程的前景很不錯的,隨著移動互聯網的普及與發展,手機應用不斷深入我們生活的方方面面,移動系統和軟體應用的開發領域,成為了未來很具有潛力的行業之一。
在未來5年內,合格軟體人才的需求將遠大於供給。其中,尤以JAVA、PHP、HTML5與CSS3開發、Asp.net開發人才最為缺乏。
Ⅲ 給孩子報個編程班,一般收費情況怎麼樣
一線城市:150元—400元/課時;二三線:100元—150元/課時;四線低於100元/課時。
兒童編程課程沒有固定的價格,但是有一個大致的范圍,影響價格的因素主要是環境,地區和老師,所以家長不需要擔心價格,確保核心課程是關鍵。兒童編程教學主要分為線上和線下兩種方式,線上的價格比線下便宜,所以更多的學生選擇了線上。
一般來說,網路課程的價格在100-300元左右,但各培訓機構的收費標准並不一致,有的按學年和學期收費。相比之下,根據父母和孩子的需要,線下收費更加靈活。如果一個孩子買了很多課程,他們可以得到一定的折扣。
學習編程的注意事項
1、線下兒童編程訓練模式是小班授課,6-8人一間教室,孩子們可以自由表達自己的想法,類似於學校有老師坐著上課,有良好的學習氛圍,隨時隨地解決孩子們的問題,確保孩子們有良好的學習體驗。
2、線上兒童編程培訓主要分為直播、錄音和一對一教學模式。根據不同的教學模式,價格會有偏差,而且模式是獨特的。兒童可以在任何時間、任何地點用手機或電腦學習,他們還可以通過發送彈幕互相交流。唯一的缺點是你必須等到直播結束後才能復習知識,而且很容易忘記知識。
錄音比直播多一道工序,那就是視頻編輯,詳細突出知識點,便於孩子記錄。同時孩子可以手動調整進度,之後可以記錄知識。
Ⅳ 如何學習手機編程
手機編程現在很熱門的是J2me,android和3G方面的編程,至於學的方式,一種是去參加一些培訓學校學習下,現在這樣的學校很多,另一種方式就是自己找一些視頻教程或是這方面的書籍看看,但最重要的是興趣問題,再加上C的基礎,學起來應該會很方便,不過要學的很實用和深入,要多操作、練習,做做一些小項目。
Ⅳ 手機網站編程怎麼學
手機編程現在很熱門的是J2me,android和3G方面的編程
至於學的方式:
一種是去參加一些培訓學校學習下,現在這樣的學校很多
另一種方式就是找一些視頻教程或是這方面的書籍看看,但最重要的是興趣問題,再加上C的基礎,學起來應該會很方便,不過要學的很實用和深入,要多操作、練習,做做一些小項目。
Ⅵ 我想學手機游戲編程
你好,手游開發現在是挺火的,主流的一般就是IOS和安卓平台。要想做這一塊,我覺得以下幾點你需要做到:
1、確定做哪個平台的游戲開發,上面說的IOS(蘋果)和安卓都是主流
2、針對該平台學習開發,舉個例子,安卓的基礎的就是Java,所以學安卓開發,需要去學習Java語言,學習分自學和培訓班兩種,這個就要看你自己了,你可以嘗試自學,如果覺得學起來不累,容易掌握,那麼沒問題;如果覺得學起來吃力,建議上培訓班。不知道你有沒有計算機編程基礎,沒有的話個人建議你去找一個培訓班。(哪個培訓班好,請你咨詢一下熟悉這方面的朋友)
3、關於英語和數學的問題
對於游戲開發 ,我自己做過一些,是vb上的開發,做的是rpg游戲,說實話,對數學是有一定的要求。不過你別擔心,主要是演算法上用,3D游戲用的就多了,你也不用刻意去學數學,用到時就有針對的去看,相信自己,在實際應用中學數學,一點也不累。
關於英語,計算機英語和普通英語還是有區別的,編程基本用不到什麼英語,都是一些固定單詞,熟了就好了。英語在編程上最大應用就是第一手技術資料一般都是英文的,所以你英語好會占很大便宜。
4、最後說一句,既然選擇了,就貴在堅持,不要放棄,否則一事無成,祝你好運!
有問題可以追問!
Ⅶ 編程網課哪個好
近幾年少兒編程課很火,那麼,要不要讓孩子去學?和大多數媽媽一樣,一開始我也有顧慮:
枯燥乏味的編程代碼,小孩子能感興趣嗎?
會不會太難,需要家長付出多少精力輔導?
會不會培養出一個愛玩游戲的寶寶?
價格怎麼樣,性價比高不高?
市面上的課不少,哪家好一點?
坐標南京,作為一個碼農媽媽,這篇會分享比較火的幾家編程課的信息,以及我們在小火箭編程的學習經歷,希望能給您一些參考。
我一直比較重視孩子邏輯思維方面的開發和培養。
同時,我家孩子屬於慢熱、冷靜,喜歡思考的寶寶,動手能力強,常常把家裡的玩具拆開來研究。
三歲半開始上積木搭建課,很感興趣。根據孩子的特點,結合當前的編程課熱潮,就想讓孩子也試試。
一、市面上的少兒編程課大同小異,又各有特點。
這些課程幾乎都採用了圖形化編程界面以及「錄播視頻上課+班主任答疑」的教學方式,大體很相似,但互相之間又有些不同。
下面從課程形式、課程難度、編程語言、界面設計等4個方面給大家對比一下核桃編程、小碼王、西瓜創客、編程貓、小火箭。
(1)課程難度:小火箭適合幼兒園階段的孩子,其他幾個課程更適合學齡兒童。
小火箭相對來講是簡單點,後面才進階到編程貓編程。個人看法,其他幾個課程的難度應該都差不多,西瓜創客好像是比較難一點,後期需要大人指導。
(2)課程形式:小碼王、核桃編程和小火箭趣味性更強。
編程貓是每課一個主題,每個主題之間沒有聯系,通過編程貓公仔和阿短這兩個卡通形象的對話來引導整個課程;而小碼王、核桃編程則設計了闖關模式,有連貫的主題,會感覺是在一個連續的游戲裡面,趣味性更強一些。
至於小火箭,也沒有連續的主題,但是課程視頻都挺有趣的——畢竟要吸引小孩子的注意力。
(3)編程語言:小火箭以及編程貓用的是自家開發的Kitten平台,其他幾個基本上都採用了Scratch編程器。如果參加比賽要注意。
前期孩子小的時候用來啟蒙,激發興趣,無所謂。但如果後期想要參加各種編程比賽,那還是需要學習使用Scratch或者其他編程語言。
(4)界面設計:各家有所區別,對孩子的要求也不同。
西瓜創客從基礎到後期是中文向英文過渡的,所以孩子要有一定的英文基礎,否則後期操作起來會有困難。
小碼王和核桃編程的界面是中文的,積木上面有中文,可以直觀地看到各個積木的功能,但是需要孩子會認字並且理解文字內容。
小火箭的積木上沒有文字,需要孩子記住每個積木有什麼作用。當然,他們的UI設計也很合理,每個積木的作用很容易就能看出來。有人說這樣更適合不會認字的小小孩,因為他們更善於記圖形。
對比下來,我家寶寶年齡小,才四歲多,識字也不多,其他幾個課程對他來說都有點太深了,所以選擇了小火箭編程。對這個課我們總體滿意,但它也有明顯的槽點,更適合家長有時間陪上課的孩子……
二、編程這件事真的沒那麼難。和其他少兒編程課一樣,小火箭編程也盡力在用易於小孩子理解的方式教學,孩子能學會,常常很有成就感。
身邊有不少媽媽都覺得編程這件事挺難的,擔心小孩子學不會。
但其實所謂的計算機編程,也就是把一些事物之間的關系、邏輯結構,用計算機語言表達出來,使計算機能夠讀懂這些語言來完成我們需要的效果,實現一個具體的事件……
所以,少兒編程課,只要用易於小孩子接受的方式教學,就真的不難。
回正題,下面具體說說小火箭編程怎麼樣。
(1)課程流程簡單,用孩子容易理解的方式教學,孩子能自己上課。
課程視頻大概20分鍾。從生活場景引入本期主題,比如第一課就是從「郊外烤肉」這個場景開始的;然後視頻講解如何實現程序內容,每個積木什麼作用,整個程序有幾步;最後提出作業要求,孩子自己在編程器中完成並提交。
有問題可以通過微信咨詢老師,老師會語音、視頻解答。
至於內容,這種圖形化編程實際上是將很多功能進行了高度「密封」,一塊小小的積木整合了幾行代碼才能實現的功能,孩子像堆積木一樣完成編程過程,就能讓角色動起來,跳躍、移動、放大/縮小、顯示/消失……
無論是哪家課程方,他們都必須做成孩子能夠接受的形式和難度,所以大家真的不用擔心太難。
我們家孩子剛開始需要大人陪他上課、做作業。到後來慢慢他就可以獨立完成基本作業,只是提高作業需要我來幫助。
(當然,孩子能夠自己上課沒錯兒,但家長陪一陪,效果應該會好一些,這一點我後面再說。)
(2)課程內容生動有趣,孩子動手又動腦,完成作品會讓他成就感十足。
由於針對的是幼兒園階段的寶寶,課程設計整體以卡通化為主,卡通人物「阿短」和「編程貓」之間的互動貫穿了全部內容。卡通的風格、動畫的形式,對孩子來說無疑是有趣的。
再者,上課過程就像帶領孩子拆解游戲一樣:先演示一個游戲效果,接著將游戲或事件分成幾個步驟,請孩子當設計師來完成編程過程。
比如大象愛洗澡這節課,設計包含以下步驟:
1.聲音介紹:「一隻大象吸了一鼻子水,他要幹嘛呢?」
2.大象轉頭
3.噴水洗澡
4.大象身上的落葉消失
孩子用積木一一完成這些步驟,就完成了一個編程過程。
在每節課裡面會重點提出一個與編程相關的知識點。學會了這些知識,運用到自己的作品中,完成一個小游戲或者小程序,對孩子來說是很有成就感的。
這樣的成就感也會進一步激發孩子的興趣。最近我們加了幼小銜接的課,變得忙起來,問孩子是否要停掉編程課,他拒絕了,說自己很喜歡這個課。
(3)資料豐富、實用,還考慮到了護眼的需求。
這個課會附帶編程知識的繪本,孩子非常喜歡,經常要求讀這幾本書,裡麵包含一些手工課、小實驗等,幫助孩子理解編程知識,還有對應的歌曲,我家孩子都會唱了。
Ⅷ 編程培訓學費多少
一般來說,網路班價格低一點,幾千到上萬;面授班一般一萬兩萬。具體費用看個人基礎。學習時間大概是四個月左右。面授班老師帶著學習,學起來更輕松,而且有實戰項目可以作為以後寫簡歷的工作經驗,這點比網路班要好一點。
Ⅸ 手機軟體開發培訓都需要學習哪些知識技術
Android的開發技術很多,在開始學習的時候不可能一次性全部學會,也沒有必要一開始都全部學會,但是有些技術是非常常用的,需要在開始時打好基礎,這些技術時:
1、Activity生命周期
雖然Android中有四大組件,但是不可否認Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實生命周期就是記住 Activity的那些方法在什麼時候被系統調用,這樣才可以把對應的邏輯代碼寫到合適的方法內部去。
至於服務和廣播組件可以稍微緩一下,到實際使用的時候再學習都可以。
2、界面開發技術
界面開發是一種基本的技術,幾乎所有的程序裡面都需要用到。在Android開發中界面開發分為3種:
1)使用xml文件布局
使用xml首先對於界面進行布局,然後在Activity裡面進行引用是最常見的應用軟體開發技術,這種方式使用的最大,需要學習的內容也最多。學習時需要熟悉:
a)五種Layout布局
深刻理解五種布局組織控制項的方式是一個基本的基礎,這樣你才可以在實際的界面中靈活的使用每種布局結構,構造出需要的界面。
b)常用控制項
控制項有很多,至少要知道每種控制項是做什麼的,至於裡面的特定參數和方法可以學要的時候再去查
c)界面美華
系統的控制項很多時候無法滿足要求,需要通過添加背景更換圖片等進行美化,要熟悉每種控制項如何去美華。
掌握了上面的內容,通過布局的嵌套就可以製作出各種界面,如果在熟悉include的使用就可以減少xml的重復,方便後期的修改和維護了。
2)使用代碼動態創建
有些時候需要動態的創建一些布局和控制項,這個就需要使用LayoutInflater去創建一些動態的界面了。
3)自己繪制界面
游戲中常用,繼承SurfaceView自己繪制。