對話 Jessica Hamrick:和 Django 的情緣是我前行的動力
本文出自 Your Django Story 系列,該系列主要突出那些貢獻 Django 的女性。點選檢視更多,本文系 OneAPM 工程師編譯整理。
Jess Hamrick 是加州大學伯克利分校心理學系研究生,其研究包括通過編寫程式模仿人類行為,以期瞭解人類如何認識世界的。從2008年起,Jess Hamrick 開始痴迷 Pythonista,並在其研究中重度使用。
你是如何走向程式設計之路的?
在我出生之前,我的父母都是程式設計師。儘管在我小時候他們就換了工作,但是家裡還是有電腦的。不知出於什麼原因,電腦一直吸引著我。兒時記憶中,曾坐在母親腿上使用一款名為 Corel Draw 的向量圖形程式。那時對於可以用它畫出不同的形狀和填充不同的模型非常著迷。
幾年後開始接觸遊戲,尤其喜歡 Game Boy,因為可以在上面玩新 Pokemon 遊戲。儘管父母不贊同我玩遊戲,不允許有自己 Game Boy 遊戲機,但是他們告訴我,如果我自己開發一個遊戲,就可以隨心所欲的玩了。當時這對我而言,真是動力十足。
現在我仍未開發出自己想玩的遊戲,但挑戰仍在繼續。在初中時代,我學會了 HTML 和 CSS,並與朋友一起建立了各種網站。在高中時,開始上程式設計課。最終在大學裡如願以償地專修電腦科學。
在成為一名程式設計師之前做過什麼?
我生活中的大部分時間都是以程式設計師的身份度過的,但絕非全部。孩提時代很長一段時間,也曾夢想過成為一名螞蟻科學家。
對於程式設計,你最喜歡的是?
我喜歡弄清楚如何將問題分割成其組成部分,對這些部分進行研究找到正確的方式再將它們重組回去。對我而言,程式設計是一種藝術:程式設計有很多方式,而且有的方式極盡優雅唯美。很多時候,當我解決一個問題時,總會想「難道沒有更好的解決辦法了嗎?」,有時候,也曾以自己的方式來解決一些問題,這種感覺非常好。比如「既然就是問題的解決方法,為什麼我會認為有其他方式呢?」弄明白如何從解決問題的第一種方案找到第二種解決方案是一個令人難以置信的挑戰,但是一旦成功,得到的回報也是異常豐富。
注:我從不認為程式碼可以永遠「正確」。通常在幾個月或者幾年後重讀以前認為「正確」的程式碼,看法都會發生變化。但對於我來說,這只是一瞬間的感覺,而非「正確」的客觀真理。
為什麼選擇 Django?
在我本科期間,曾住過 coop,每個學期都會有「工作周」或者「工作週末」,大家一起努力整理房間。在一次週末的工作中,我的任務是整理房間散落內數百本書。我們開始進行對它們進行分類整理,同是我意識到,如果整理後不能輕易搜尋目錄,整理就變的毫無意義。所以,我開發了一個 Django 應用,很容易地實現了新增新書和查詢現有書籍功能。Django 似乎是一個明智的選擇:(1)Python 曾是(現在仍然是)我使用的語言;(2)我知道程式需要在關聯式資料庫上進行編寫。我其實並不是很瞭解資料庫,所以對我來說這是一個很好的學習機會。
你目前或將來打算從事的比較「酷」的專案是?
自從本科畢業後,我越來越多的參與到 Scientific Python 社群中。特別是,我參與了 IPython 和 Jupyter 專案。Jupyter notebook 是一個執行在瀏覽器上的程式設計環境,能將程式碼、文字、影像整合一起,使其滿足互動程式碼或資料探索的需求。它尤為適合完成課堂作業,因為同一個檔案下可在文字指令和程式碼練習間自由切換。在過去的一年裡,我一直忙於 nbgrader 專案,該專案是 Jupyter notebook 中的分級工具。至今它僅被用在少數幾個課堂(包括我的),但是很高興看到大家逐漸接受它。
最讓你自豪的是?
在去年春季,當我還是計算機認知科學這門課助教的時候。我們在 Jupyter notebook 中開發了分配選項,並且將超過200個學生連入 notebook 內,併為班級建立了一個伺服器叢集。 這就使得學生們無需自行安裝 notebook,便可登入使用。這是一個浩大的工程,我需要去學習之前從未聽說過的 Docker 和 Ansible 等工具。不過最後還是成功了,並且其工作執行十分流暢。這是一個令人難以置信的專案,我認為它確實給我們的學生帶來了不一樣的體驗。
你對什麼感到好奇?
作為一個自認為既是科學家又是工程師的人,我好奇的東西太多太多了。科學方面:我想知道人類是如何思考和認識世界的。工程方面:我對建立科學家用於研究的工具具有很大興趣。
平時空閒喜歡做些什麼?愛好是?
作為一個研究生,我並沒有很多空閒時間。大部分空閒時間,都用於在 IPython 這類開源專案上了。我也喜歡遊戲(現實遊戲和電子遊戲兩者都喜歡),喜歡在海灣地區騎自行車。
對於程式設計初學者,有什麼建議或者小技巧嗎?
選擇一個真正感興趣的專案,並嘗試著去解決該問題。程式設計教程固然不錯,但是可能會僵化你的思維:想要真正成為一個程式設計師,需要一個問題驅動你前進,尋求解決的方法。如果不知道如何從所選的問題下手,建議把重點放在某一方面。一旦解決一方面的問題,就可以用更復雜的方法繼續工作下去。這就是大多數程式設計師實際解決問題的方法:找到問題最簡單的部分加以解決,並繼續深入。最為重要的是,不要放棄!
謝謝Jess! :)
原文連結:http://blog.djangogirls.org/post/129569804938/your-django-story-meet-jessica-hamrick
OneAPM 能夠幫你檢視 Python 應用程式的方方面面,不僅能夠監控終端的使用者體驗,還能監控伺服器監效能,同時還支援追蹤資料庫、第三方 API 和 Web 伺服器的各種問題。想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格。
相關文章
- 談談我和大資料的情緣及入門大資料
- 針對Sybase資料庫無法啟動的情況,我有話要說資料庫
- 我與訊息佇列的八年情緣佇列
- 難存的情緣
- 疫情下我對產業的判斷,不忘初心,砥礪前行產業
- 我和圖靈書的緣分圖靈
- 伴著圖靈夢想前行 -- 我和圖靈的故事圖靈
- 對話阿里雲佘俊泉:邊緣雲的持續突破和創新阿里
- 敏捷史話(三):篤定前行的勇者——Ken Schwaber敏捷
- 那些年,我爬過的北科(序)——我和爬蟲的緣分爬蟲
- 我最想對七年級的我說的幾句話
- 乾貨分享|網路情緣之TCP的握手和分手TCP
- 電話機器人是如何實現對話的?機器人
- 對話設計師專家:我們是如何招聘UX設計師的UX
- 對話腦屋科技王強:《互動派對》 的核心是互動,遊戲直播的機會在互動屬性的延展遊戲
- 論愛情婚姻對企業的破壞力TOP 10
- 難存的情緣&貨車運輸
- django和apache互動的wsgi分析DjangoApache
- Django 和 struts 對比Django
- 我對事件驅動的理解事件
- 我是怎樣和Linux系統結緣並通過紅帽RHCE認證的Linux
- 學習 Linux 是我們的愛情語言Linux
- 對話OpenAI聯合創始人:我們之所以成立盈利公司,是有原因的!OpenAI
- 寫部落格是為了和過去以及未來的自己對話
- 生活為什麼總是對我動手?
- 提升熱情讓CRM專案保持前進的動力
- 我是這樣理解DAO的,對嗎?
- 對話華為雲.雲遊戲:雲手遊是重心,鯤鵬雲服務是核心競爭力遊戲
- 我與圖靈書的緣分圖靈
- 智慧製造?對不起,我們需要的是智慧和“智造”
- 對於 Go 中的實用函式我有話說Go函式
- 我對部落格的理解和看法
- c#中的模態對話方塊和非模態對話方塊C#
- 我與編輯器的不解之緣
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- 對話《重生邊緣》製作人:為什麼要做3A遊戲遊戲
- 我對移動端架構的思考架構
- 鼓勵我不斷前行的老虎《Java In A Nutshell》, 5th EditionJava