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