挨踢部落坐診第十期:如何學(xué)習(xí)Python?方法很重要
原創(chuàng)【51CTO.com原創(chuàng)稿件】活動(dòng)說(shuō)明:挨踢部落是為核心開(kāi)發(fā)者提供深度技術(shù)交流,解決開(kāi)發(fā)需求,資源共享的服務(wù)社群。基于此社群,我們邀請(qǐng)了業(yè)界技術(shù)大咖對(duì)開(kāi)發(fā)需求進(jìn)行一對(duì)一突破,解除開(kāi)發(fā)過(guò)程中的絆腳石。以最專業(yè)、***效的答復(fù)為開(kāi)發(fā)者解決開(kāi)發(fā)難題。
話題關(guān)鍵詞:Python/Hadoop/Web/APP/服務(wù)器
部落陣容:51CTO社群智囊團(tuán)
面向?qū)ο?/strong>: Python開(kāi)發(fā)工程師、Java開(kāi)發(fā)工程師、.NET開(kāi)發(fā)工程師、PHP開(kāi)發(fā)工程師
參與方式:加入51CTO開(kāi)發(fā)者QQ交流群(627843829),有任何技術(shù)問(wèn)題,在群里提問(wèn),或發(fā)給群主小官。
活動(dòng)詳情:
Java-blank-蘭州:怎么去學(xué)習(xí)Python?之前都是從header first 開(kāi)始。
1>.Net_小林_成都:有編程基礎(chǔ)的話,可以直接擼文檔。
2>數(shù)據(jù)-unicorn-北京:個(gè)人建議盡供參考,如果零基礎(chǔ),建議先學(xué)Java面向?qū)ο笏枷?,看一下張孝祥的Java就業(yè)教程前4章,有面向?qū)ο笏枷氲仍賹W(xué)Python。Python入門(mén)簡(jiǎn)單,如果不具備編程思想,后期駕馭起來(lái)就比較難。推薦你這本書(shū),從python3.6開(kāi)始學(xué)就行了。
3>運(yùn)維-xwaqdyw-北京:看看基礎(chǔ)知識(shí),找個(gè)代碼,邊抄邊學(xué)。
Android-arige-北京:有搞Python的嗎?有2個(gè)問(wèn)題請(qǐng)教:
1、ImportError: numpy.core.multiarray failed to import
我導(dǎo)入了一個(gè)OpenCV庫(kù),跑的時(shí)候報(bào)這個(gè)錯(cuò)。我能跑Python的2.7,但是pip的時(shí)候說(shuō)沒(méi)有。我在OpenCV下都找到numpy了
Traceback (most recent call last):
File "/Users/songjunjun/Documents/MyTrainingDemo/renlian/test.py", line 2, in <module>
import cv2
ImportError: numpy.core.multiarray failed to import
C++/Python-taniey-北京:***個(gè)問(wèn)題,你沒(méi)有nompy 這個(gè)模塊?你就先裝pip 吧,裝完pip 再裝 numpy ,直接 pip install numpy 就能裝上,Python 自帶的,如果沒(méi)有pip 自己網(wǎng)上下一個(gè)Numpy 手動(dòng)安裝也行。
第二個(gè)問(wèn)題,你這應(yīng)該是opencv用的numpy 跟你安裝的numpy 版本不匹配, 要不你opencv 就重新用 numpy 編譯下吧,這個(gè)報(bào)的錯(cuò)就是你用的某個(gè)東西的版本不匹配了,還有一種可能是你的opencv 用的是py2 ,但你使用py3 運(yùn)行,或者反用。py2 跟py3 是不兼容的。
大數(shù)據(jù)-益達(dá)-廣州:對(duì)大數(shù)據(jù)來(lái)說(shuō),準(zhǔn)確應(yīng)該是對(duì)數(shù)據(jù)分析領(lǐng)域來(lái)說(shuō),各有千秋吧。R建模和Python用的都挺多的,不過(guò)Python相對(duì)來(lái)說(shuō)更廣泛一些吧,第三方庫(kù)數(shù)不勝數(shù),其實(shí)這個(gè)更看團(tuán)隊(duì)里面人用什么了吧,對(duì)我來(lái)說(shuō),Python用的多一點(diǎn),因?yàn)锳I框架Python也基本都支持了。
網(wǎng)工-sevenot-成都:Hadoop里面會(huì)用到Java么?需要具備怎樣的Java水平,才能達(dá)到Hadoop的要求?基本語(yǔ)法就OK了還是需要會(huì)用Java寫(xiě)各種數(shù)據(jù)結(jié)構(gòu)?我現(xiàn)在先看一下Hadoop的課程 ,然后根據(jù)自己的情況選擇一個(gè)方向,再來(lái)進(jìn)行語(yǔ)言學(xué)習(xí),這樣有針對(duì)性一點(diǎn)。hive引擎是個(gè)不錯(cuò)的選擇嗎?
大數(shù)據(jù)-益達(dá)-廣州:hadoop系統(tǒng)生態(tài)圈基本都是Java。hadoop必須用到Java。Hadoop是大數(shù)據(jù)架構(gòu)體系的基礎(chǔ)東西,幾乎生態(tài)圈大部分框架都依賴于Hadoop。hadoop最主要的兩個(gè)東西是mapreduce和hdfs。mapreduce肯定要是用Java寫(xiě)的,這個(gè)只會(huì)一點(diǎn)語(yǔ)法肯定不行啦,也不說(shuō)各種數(shù)據(jù)結(jié)構(gòu)了,對(duì)Java的一些集合什么實(shí)用了,基礎(chǔ)性的東西必須掌握。如果寫(xiě)hive的話,就只要會(huì)hsql就完全可以了,hive引擎就轉(zhuǎn)換SQL為后臺(tái)的mapreduce。hadoop的流式處理,主要是storm或者Flink或者spark streaming框架。hive是完全依賴hadoop之上的數(shù)據(jù)倉(cāng)庫(kù)。
所以首先要定位你的工作內(nèi)容咯。一種是開(kāi)發(fā),一種是數(shù)據(jù)分析(以hsql和腳本為主)。
PHP開(kāi)發(fā)-科-廣州:有同學(xué)知道APP和Web區(qū)別嗎?Web和app接口調(diào)用的問(wèn)題是怎么調(diào)用的呢?
1>學(xué)生-羽-運(yùn)城:Web和app分別是b/s架構(gòu)和c/s架構(gòu)。
2>Java-阿飛-南京:okhttp,httpclient,Retrofit ,socket,webservice.服務(wù)調(diào)用。
Java-Loren-上海:?jiǎn)栆粋€(gè)很基礎(chǔ)的東西:String x = "abc"在 String y = "abc"到底new了多少對(duì)象?這個(gè)有什么辦法驗(yàn)證一下么?因?yàn)槲以赟tring的源碼中沒(méi)有看到與String Pool的解釋與代碼。
Java+李賽+鄭州:1個(gè)。Java運(yùn)行時(shí)會(huì)維護(hù)一個(gè)String Pool(String池),JavaDoc翻譯很模糊“字符串緩沖區(qū)”。String池用來(lái)存放運(yùn)行時(shí)中產(chǎn)生的各種字符串,并且池中的字符串的內(nèi)容不重復(fù)。而一般對(duì)象不存在這個(gè)緩沖池,并且創(chuàng)建的對(duì)象僅僅存在于方法的堆棧區(qū)。
Java-小源-珠海:有個(gè)前端的問(wèn)題,可以在前端用JS訪問(wèn)FTP服務(wù)器嗎?那JS可以實(shí)現(xiàn)FTP客戶端協(xié)議?
1>后端接口開(kāi)發(fā)-劉聲杰-成都:不可以吧,除非你自己實(shí)現(xiàn)FTP客戶端協(xié)議,目前JavaScript應(yīng)該不可以,你看看node.js。
2>網(wǎng)絡(luò)-Kevin-河北:你要在前端實(shí)現(xiàn)JS訪問(wèn)FTP的需要和目的是什么?不一定非要糾結(jié)于JS吧。
3>PHP-小星星-廣州:如果時(shí)間有限,建議JS異步請(qǐng)求Server端腳本(由Server端去訪問(wèn))。如果自己PC本地訪問(wèn),可模擬SSH環(huán)境,用FTP指令去訪問(wèn)(就是程序執(zhí)行系統(tǒng)指令)。公司級(jí)別的話,弄個(gè)幾臺(tái)機(jī)的集群或者說(shuō)負(fù)載均衡是有必要的。手機(jī)APP去訪問(wèn)同理,實(shí)現(xiàn)FTP協(xié)議,or 異步提交請(qǐng)求到服務(wù)端處理FTP操作。
網(wǎng)工-sevenot-成都:做數(shù)據(jù)分析和開(kāi)發(fā)會(huì)完全分開(kāi)嗎?主要是我對(duì)Java是零基礎(chǔ),而且極其不想?yún)⑴c到開(kāi)發(fā)中,但是也想了解大數(shù)據(jù),還能搶救么?
1>大數(shù)據(jù)-張策-香港:那就用hive唄,就是SQL語(yǔ)句。
2>大數(shù)據(jù)-益達(dá)-廣州:看需求了。一般大數(shù)據(jù)肯定要學(xué)Java的。主要是開(kāi)發(fā)來(lái)說(shuō)。至于分析,的確像hive這種,hsql用的多一些。
PHP-史小軍-北京:?jiǎn)栆幌驴蛻舳诉B接發(fā)送消息我怎么在服務(wù)器查看有沒(méi)有發(fā)送成功,swoole擴(kuò)展。
這里怎么查看?服務(wù)端的端口我已經(jīng)啟動(dòng)了,我想測(cè)試即時(shí)通訊的客戶端,發(fā)消息和收到消息后服務(wù)器有沒(méi)有連接成功。
1>運(yùn)維-林子-北京:這個(gè)不是對(duì)端查看么。你試試程序拋出。
1:發(fā)消息后服務(wù)器有沒(méi)有連接成功
你連接語(yǔ)句應(yīng)該是寫(xiě)死的 你可以連接之后 把這個(gè)連接的socket 拋出 。
2: 收到信息
這個(gè)應(yīng)該分兩步測(cè)試 一個(gè)是 發(fā)送 另外一個(gè)是接受 你測(cè)試 發(fā)送能發(fā)出去不 再測(cè)試接收 。測(cè)試方法你可以考慮 在發(fā)送信息 后面加一條 printf 什么的。
2>大數(shù)據(jù)-益達(dá)-廣州:這個(gè)。。很簡(jiǎn)單咯,用TCP抓包就可以了。你搞個(gè)訪問(wèn)日志不就行了麼。把訪問(wèn)包括發(fā)送的消息全部寫(xiě)到日志里面,就可以看了。
系管-明亮-廣州:被多個(gè)反垃圾郵件組織將我們ip拉人黑名單了,好多外發(fā)郵件發(fā)不了。
如果郵件系統(tǒng)不做反向解析會(huì)被反垃圾郵件組織拉人黑名單么?QQ沒(méi)做單向解析,ptr記錄查不到。
1>xwaqdyw-運(yùn)維-天津:如果是ip的問(wèn)題,你們可以選擇用代理發(fā)郵件?。。。?o:p>
2>后端-劉聲杰-成都:應(yīng)該會(huì)的,要不然視你為垃圾郵件,別人就估計(jì)收不到郵件了。
從這個(gè)命令來(lái)看,是沒(méi)有哈。
云計(jì)算-菜鳥(niǎo)-蘇州:不會(huì)區(qū)分物理網(wǎng)卡和無(wú)線網(wǎng)卡虛擬網(wǎng)卡。我在設(shè)置虛擬機(jī)的網(wǎng)絡(luò)時(shí)候,需要選擇數(shù)據(jù)包從那個(gè)網(wǎng)卡進(jìn)行轉(zhuǎn)發(fā),有wifi的是無(wú)線網(wǎng)卡,有PCI的是有線網(wǎng)卡,其他事虛擬網(wǎng)卡,可以這么分嗎?是橋接模式嗎?虛擬機(jī)訪問(wèn)物理機(jī)是不是共享出來(lái)就可以了。
后端接口開(kāi)發(fā)-劉聲杰-成都:無(wú)線網(wǎng)卡和物理都是真實(shí)存在的。這里的意思就是一個(gè)是直接連接外網(wǎng)。nat和橋接都可以。關(guān)鍵看你的虛擬機(jī)是否要訪問(wèn)你的電腦。其實(shí)這些都可以解決,比如共享,ftp等,問(wèn)題不大。這個(gè)每次啟動(dòng)都可以修改的,都去試試就能夠深入明白了。
IT-晶晶-北京:我問(wèn)下電腦D盤(pán)可以模擬給C盤(pán)空間嗎?
.net-小林-重慶:裝個(gè)虛擬機(jī)。
網(wǎng)絡(luò)-Kevin-河北:是這個(gè)嗎?從官網(wǎng)可以下載。
您對(duì)這些解答方案是否仍有疑問(wèn)?歡迎加51CTO開(kāi)發(fā)者QQ交流群 627843829 討論。
下期活動(dòng)預(yù)告:11月17日
關(guān)鍵詞:
活動(dòng)回顧:
挨踢部落坐診第五期:數(shù)據(jù)采集與前端運(yùn)用
挨踢部落坐診第六期: 機(jī)器學(xué)習(xí)如何判斷突發(fā)情況?
挨踢部落坐診第七期:王者農(nóng)藥福利局究竟是用什么函數(shù)寫(xiě)出來(lái)的?
挨踢部落坐診第八期: 消滅掉這些常見(jiàn)的Android開(kāi)發(fā)難題
挨踢部落坐診第九期: Java、Python、PHP他們都說(shuō)很簡(jiǎn)單
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】