標籤:

面相項目學習編程

題圖是已經作古的Macromedia的也已經不復存在的Director 8.5啟動畫面

實際上我真正開始關心css是給中華腔鏡泌尿外科雜誌做電子版光碟的時候。在那以前,我就像現在我的很多學生一樣,覺得網頁只要用別人的模板就好,網站的設計不就是畫一個大圖然後用firework切切切么。

虧我大一大二還是網路部部長……,話說那個時候我想用flash,就是現在已經被w3c踢出去的flash實現網站,真的是太難了,後來只能出一個半成品。至於當時為什麼不用html,css,javascript?首先我不會,同時我也覺得還是flash這種WYSIWYG的軟體比較好用一些。

Flash上碰了釘子以後我直接就自甘墮落的用一張ps出來的大圖做背景,切圖都省了,上面直接用absolute position放若干div,div裡面再放文字。整個頁面文件當然是大的沒話說。

接過雜誌的光碟製作任務是在11年到12年間,那個時候這份雜誌還在用已經倒閉了的Macromedia出品的Director,好像是用版本9。當時做這個母版的人應該是廢了很多心血,裡面有很多設計也蠻精妙的。所以就算他跟我交代過怎麼做,我還是花了很大的功夫才能讀懂。更重要的是,每當光碟內容出現擴增和刪減的時候,Director裡面的調整實在太麻煩了。當然這還都不算什麼,最要命的是Director沒有Mac OS系統下的軟體,Adobe收購了Macromedia以後也覺得這貨不行,後續的CS系列裡就基本沒見過Director的身影。儘管如此,目前中華醫學會系列雜誌很多期刊的光碟還在用Director來做,實在是有趣的很。

當時就在想能不能換一個工具,畢竟每次都要為了做這個光碟開虛擬機實在是不划算。後來見到了腎移植的期刊使用的是在光碟導航軟體里嵌入網頁瀏覽器,直接觀看網頁的方式,我覺得這樣很好,所以也想學一下。當然直到現在我也不清楚怎麼樣把一個網頁瀏覽器作為一個組件嵌入光碟導航軟體里,目前我還是依靠autohotkey執行若干命令,使用光碟里的chrome打開index.html然後自動按F11全屏(後來加入了判定,如果用戶已經安裝過chrome就用硬碟上的,加快開啟速度),除了偶爾會被360報錯以外倒也沒有什麼別的問題。

別人做網頁是為了放到伺服器上,我做網頁倒是為了放在光碟里。不過不管為了什麼,我原先的ps做底,absolute positioning放div的方法肯定是不行了。倒不是擔心這樣子會增大頁面文件大小,主要是原先Director可以實現的很多互動操作,還是必須要用Javascript來完成,那個時候又完全不會JS,所以首先想到的就是找插件,當我找了首頁圖slider的插件,lightbox插件還有視頻播放插件以後,我發現如果不懂css和html的話根本沒法把這些插件用起來。

直到這個時侯我才開始覺得應該學一學html,css,javascript了。但是那個時候在臨床也比較忙,況且當時對Director已經掌握的很不錯了,用網頁只是為了簡化工作,如果花費太多時間只能是得不償失,所以最開始的時候都只是做到能用就行的程度。所以這個光碟上的網站,有3個css文件,6個javascript文件。那個時候我也不懂什麼內容和格式分離,MV分離,總之只要能用就行,代碼也寫得跟屎一樣。

雖然兩個月才更新一次,但是每次更新都要面對屎一樣的代碼,也是很鬱悶的。儘管如此,比起Director已經好了很多了(話說那個時候我還在用Dreamweaver修改網頁)。但是也不是沒有問題,比如網站有好幾個頁面,頁面頂端都共有一個導航欄,但是那個時候導航欄里的內容都是靜態HTML寫上去的,所以每次要一個一個改,經常會因為遺忘而出錯。比如右側的出版日期信息,有一個頁面因為某次忘了改,接下來大概有四五期搜索替換的時候都沒搜到(我只會搜上一期的日期,但是對於上上上期的就搜不到了),這個錯誤一直持續了半年……

後來覺得這樣不行啊,自己給自己添堵啊,於是開始把js用起來了。想說利用js把數據集中在一起,然後把現有網頁做成根據數據注入html的形式,這個過程來來回回做了幾個星期,中間對js的理解深了很多,但是還是有很多誤解。不過沒關係,網站重新做了一遍,接下來的更新工作輕鬆多了。

回想一下,雖然我03年左右的時候已經自己瞎寫博客」教」人做網頁,但是真正入門,應該是在8年以後我開始用HTML,Css,Javascript為了自己的利益開始建一個網站才開始的。所以如果想學編程,找一個身邊的問題,然後著手去解決才是比較好的辦法。

但是漂亮的話誰都會說,03年的時候我也想做一個個人網站,就是那種動態特效很炫的,真的很想做,高考完整個暑假除了玩遊戲就是琢磨這個了。剛好那個時候flash大行其道,我也跟著瞎搞了好幾年。現在入門的人當然不可能再去用flash了,Director這個遠古軟體更加是無人問津,時代在進步嘛。但是我覺得當時在Flash上花的時間不會白花,變數,流程式控制制,循環,函數,事件,這些在一個體系裡面實打實敲代碼敲出來的感性認識是一直在的。所以不用擔心你選的語言不好,不用糾結python 2還是3,只要開始寫代碼肯定會有收穫的。

總之,學習編程肯定要結合項目,如果找不到項目,那很多人推薦的網路開發:具備增刪查改基本功能的博客系統就是很好的入手點。然後在學習編程的路上沒什麼所謂的彎路,只要注意基礎,不要太過急於求成總能學到東西的。本身學習就是一個持續漸進的過程,就像我最近才剛剛知道,原來可以在嵌入pdf的時候,不是可以使用<object>來嵌入么?原來在data這個屬性裡面可以寫成data="a.pdf#2"來直接轉到第二頁的……可憐了我和我的前輩一直在手工分割pdf啊……明明直接用個#加頁數就能搞定的事情……

推薦閱讀:

c語言的發展歷史如何?
雲時代的編程模式將會走向何方?
沈向洋:You Are What You Write,大家都要看
一起寫一個解釋器(1)---一些廢話

TAG:編程 |