研究生專業是學生物的,老闆讓我寫一個web server來調用我們自己的資料庫,怎麼開始動手最合適?


Boss 之前讓我教一個零基礎的醫學生做web server。告訴他一些基礎技術和要學習的內容。下面是我回復的部分郵件內容,你如果沒什麼基礎,下面的步驟應該比較適合你,希望對你有幫助。


————————————————————————————


簡要介紹
學習構建web sever需要你根據自己的平台來確定使用什麼語言和什麼資料庫,一般有這麼幾種搭配Linux(windows) + PHP + MySQL +Apache(IIS);
windows + http://ASP.net + SQL Server + IIS; Unix + JSP + Oracel + WebLogic.
現在還有一些其他的語言Ruby on Rails 以及Nodejs都可以做網站資料庫,這幾種
語言都可以和主流的資料庫鏈接的。

Boss說你沒有什麼基礎,那我就按我自己使用的Linux + Apache + MySQL + PHP(LAMP)給你介紹。

學習內容
1. 首先是Linux,因為是做網站伺服器,所以你不僅僅只是知道Linux基本命令像ls cp rm等,你還需要知道怎麼配置ip 和路由等網路配置問題
也就是說如果上面一整套要你自己去搭建起來,需要你成為一個好的linux manager.一般學這種技術內容分為三個階段學習,入門可以使用
《鳥哥的Linux私房菜》鳥哥 著;王世江[改編] 編;高級可以看清華大學王剛編寫《Linux》; 專業的就是有一份Manual book,有什麼問題直接看
手冊。其實這些書上的內容都可以在網上查到,而且比書上通俗異懂,但還是推薦你先看看書,這樣可以形成一個良好在知識框架。

2. 可以不用等Linux完全學會才做接下來的事情,因為Linux細節超級多,很多也用不到,而且沒有足夠多的錯誤次數,是很難成為專業的。有了基本
的linux網路配置知識之後就可以開始使用Apache了,Apache是一個網站伺服器軟體,用來管理站點和後台程序的運行的,你需要對Apache進行配置,這個
你可以不用花很長時間,你只需要在網上找到怎麼配置apache 和php以及mysql,將他們連接起來就可以了。配置會失敗很多次,因為有很多小問題,
失敗了重新安裝再配置,多試幾次就可以了。

3. MySQL,這個SQLCourse - Interactive Online SQL Training for Beginners 網站是學習sql語句的,除了MySQL還有Orcel, DB2等商業資料庫。你只需要學習基本的sql 語句就可以了。
這個可以不用特別的深入,因為查詢組合有很多種, 你不可能窮舉每種查詢組合進行測試,在使用的過程中遇到問題google就可以了。

4. Linux Apache MySQL這三個是基本的框架,PHP是一種腳本語言,腳本語言可以不一定使用PHP,可以使用Ruby,也可以使用python。因為php+Apache使用
的比較廣,而且有很多現在流行的MVC框架。php是一種腳本語言,你也可以認為是編程語言,比C++簡單很多,php是你網站後台的邏輯基礎,所以這個需要學習的
相對深入,當然不需要深入到php 解釋器。基本變數以及函數編程等等需要很理解;然後是類對象,類和對象可能自己本會去寫,但是一般 的MVC框架都用到類,
所以理解類與對象之後,能夠很容易的使用php框架。當然,除了php邏輯語言以外,它還有資料庫連接內容,你學習的過程中會看到怎麼使用的。你能夠使用php編寫小遊戲了之後,可以學習使用MVC框架【CodeIgniter(CodeIgniter Web Framework)或者laravel(Laravel - The PHP Framework For Web Artisans)】。

上面說了這麼多東西,他們並不是分開來學習的,是在使用的過程中學習的,你可以先使用WAMP(WampServer, the web development platform on Windows)在自己電腦上安裝一個集成的不需要自己配置的運行環境,然後編個小網頁試一下,這樣會有一個比較直觀的體驗。

web server,上面給你介紹的都是後台搭建工作,網頁除了後台,還有前台內容,前台內容有html5+css3+JavaScript(jquery)+ ajax + json,
這些你自己看w3school 在線教程, 內容很多,如果沒有基礎一兩個月學會和應用所有東西應該是挺難的。

然後分享幾個前台框架Semantic UI, Kitchen sink, Bootstrap中文網
text editor Brackets - A modern, open source code editor that understands web design., PHP IDE :: JetBrains PhpStorm
還有一些我也一時想不起來,之後有什麼問題可以直接google就可以了.


揍你老師的時候,從頭開始動手最合適。


老闆一般做這種事的潛台詞是:這事找學生做不要錢。。。
如果是你自己想學,那麼這個技能確實值得學的。但老闆出頭讓你來當正經事做就不妥了。
1. 這玩意兒和你發paper、畢業之類關係不是太大。
2. 前端這東西說沒技術含量把,很需要經驗累積。你不太可能短期能做到和一般IT前端相比有足夠的競爭力,完全是事倍功半,以卵擊石。
3. 真正有價值的工作其實在後端,真正的分析這塊。我覺得暗地裡把精力放這塊才是真的。

遇上這種老闆,要留個心眼。


你需要:
1:設計一套資料庫結構,用資料庫引擎存儲你的數據。
2:設計一套前端腳本,腳本負責處理從網頁傳回的請求,查詢資料庫,按結果生成新的網頁。
3:設計一套網頁(模板),腳本生成出來的網頁需要是那個樣子。
這是一個不小的工程,不太推薦自己一個人干,感覺活挺多的。特別是你可能對開發了解甚少,完全從編程入門到搞定這些,起碼需要一兩年。


生物信息學工具的幾個Web UI就沒有遇到過好用的,不是選項過少,就是選項過多且缺乏說明文檔,去搜文章都搞不明白選項是幹嘛的,再就是沒有可擴展可定製的能力,操作過於繁瑣,等待時間過長……總之,就根本沒有用到過好用的。

題主看來又要做一個垃圾產品出來了,默哀……

————分割線—————
題主知道biomart嗎?作個這樣的就好了。


我認為,最簡單最可靠的辦法,就是找個現成的搭建起來就是了。
實在找不到,就找個類似的改一改也就行了。
比如,如果你用的是mysql,就下一個 phpmyadmin 裝上就好了,幾分鐘搞定,哈哈。


個人認為一個快速的方法是在Github上找一套源碼,閱讀並修改。


你可以自學一下python和html/css,我有個朋友做的和你的要求差不多,半年時間搞定。都是非計算機專業,都是過二級的水平


找人合作吧,計算機方向的,術業有專攻工程量還是挺大的,做好自己的方向,大家互利共贏。如果你做的多而不精,對你來說是個損失。


首先利用你的專業找一個最容易折磨人的方法,然後找准你的對象(老闆),最後別讓他發現是你好的,並且繼續裝作看起來很努力的樣子


先回答幾個問題
1.你們老闆的數據存在哪種資料庫里?SQLserver,mySQL,orcle,還是什麼?
2.伺服器語言你,有熟悉的?如果沒有,哪種伺服器語言的學習成本低?
3.處理數據傳輸到瀏覽器後,是否需要出圖,出表。
x.是不是你們老闆不知道怎麼整,甩手先讓你出個Demo?成敗與否關係不大?


看你的描述應該是實現簡單的伺服器,建議用第三方框架學習成本比較小
個人推薦web.py
python入門容易語言比較中性,大概20行就能實現簡單的增刪改查,web端的哦


推薦閱讀:

dota2和女朋友真的不可兼得嗎?
AI能否幫助移動醫療互聯網走出困境?
你回味哪些懷舊零食?
to B 的產品經理和 to C 的產品經理有什麼差別? to B 的產品經理的價值如何體現?
土雞蛋是否營養價值比洋雞蛋營養價值高?

TAG:互聯網 | 網頁設計 | 前端開發 | 生物信息學 |