转服务器开发学什么
❶ 杞浠跺伐绋嫔笀瀛︿範璺绾
杞浠跺伐绋嫔笀瀛︿範璺绾垮备笅锛
1銆佸熀纭鐭ヨ瘑锛氶夋嫨涓闂ㄥ父鐢ㄧ殑缂栫▼璇瑷锛屽侾ython銆丣ava銆丆++绛夛纴骞舵帉鎻″熀链镄勮娉曘佹暟鎹缁撴瀯鍜岀畻娉曘傝$畻链虹戝﹀熀纭锛屽︿範璁$畻链虹戝︾殑锘烘湰姒傚康锛屽寘𨰾璁$畻链轰綋绯荤粨鏋勚佹搷浣灭郴缁熴佹暟鎹搴撱佺绣缁灭瓑銆
2銆佹暟鎹缁撴瀯鍜岀畻娉曪细娣卞叆瀛︿範钖勭嶅父瑙佺殑鏁版嵁缁撴瀯鍜岀畻娉曪纴骞朵简瑙e畠浠镄勫簲鐢ㄥ満鏅鍜屽嶆潅搴﹀垎鏋愩傜悊瑙h蒋浠跺紑鍙戞祦绋嬶纴瀛︿範杞浠跺伐绋嬬殑铡熷垯鍜屾柟娉曪纴浜呜В杞浠剁敓锻藉懆链熷拰涓嶅悓镄勫紑鍙戞柟娉曡猴纸濡傛晱鎹峰紑鍙戙佺戝竷妯″瀷绛夛级銆
3銆佸垱阃犳у拰鍒涙柊锛氲蒋浠跺伐绋嫔笀鍦ㄨ蒋浠跺紑鍙戣繃绋嬩腑链夊緢澶х殑镊鐢卞害锛屽彲浠ュ彂鎸ュ垱阃犲姏鍜屽垱鏂扮簿绁炪备綘鍙浠ヨ捐″拰鏋勫缓鏂扮殑杞浠剁郴缁燂纴瑙e喅瀹为檯闂棰桡纴钖屾椂杩樿兘澶熶笉鏂鏀硅繘鍜屼紭鍖栫幇链夌殑杞浠躲
4銆佽亴涓氩彂灞曞拰鎴愰暱锛氲蒋浠跺伐绋嫔笀镄勬妧鑳藉拰鐭ヨ瘑闇姹傚嬬粓鍦ㄤ笉鏂鍙戝𪾢銆备綘灏嗛溃涓存柊镄勬妧链鎸戞垬锛岄渶瑕佸︿範鏂扮殑缂栫▼璇瑷銆佹嗘灦鍜屽伐鍏枫傝繖浣垮缑杞浠跺伐绋嫔笀鑳藉熶笉鏂瀛︿範鍜屾垚闀匡纴骞朵缭鎸佸湪鎶链棰嗗烟镄勭珵浜夊姏銆
❷ app服务器开发需要学习哪些知识
这个问题有些笼统,一个完整的app有简单有复杂,不同的app应用功能的差异也导致不同的技术实现或者算法模型。大体来说,一个app从设计到最终实现需要懂得以下几个必要方面:
1、前期需求规划与信息、交互设计——需要制定出一个完整的需求文档,功能文档,流程图,时序图。
2、交互设计、UI设计——设计出基本且完善的原型图和app基础的交互设计效果,之后再根据这些设计出完整的UI界面并学会切图,一些需要做自适应的素材图片需要做点9patch。 这里还需要懂得px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便app能完美适应不同分辨率设备。其中交互设计需要懂得很多人机操作的技巧经验,掌握Axure等交互工具的使用,UI设计需要掌握Photoshop和Illustrator等操作。
3、使用ADT之类的开发环境进行app开发,最基本的也得掌握java语言,熟悉android环境和机制,这里面涉及面广,请根据项目自行学习相关知识。
4、如果不是单机版的app,需要用到服务器,那还得掌握WebService相关知识和开发语言,常用的有ASP.Net,PHP,JSP等。
5、熟悉并能开发数据库。
6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。
7、熟悉API接口开发,这里包括自行开发API的能力以及调用第三方API的经验。
8、熟悉TCP/IP,socket等网络协议和相关知识。
9、熟练掌握App发布的流程,真机调试技巧,证书,打包,上架。
App开发其实不一定适合一个人搞,太费劲,除非是一个单机版的小应用,或者利用现成的api开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。
❸ 对于服务器开发需要学习什么
服务器所用到的知识:
TCP/UDP,最基本的
并发——你可以选择使用select、poll,或者是多线程、多进程
如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,
如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题
你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题
你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性
还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解
推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。