最近心血來潮,搭建了個人網站,一方面想學習下新的知識,另一方面也想有個作品,在這分享下自己的體會,先不說知識點。
建站容易嗎,因人而異,而我在完成這個最最簡單的工作時起碼經歷了3個階段不同的心理變化,我也很意外。
第一階段 - 信心滿滿:
前端不就是Html,CSS和JS三劍客嗎,配個Java後端實在是太簡單了,況且還有bootstrap和Spring框架,5分鐘不用就能打好。由於公司用eclipse而到處都誇idea,所以我打算用新的編輯器去做,而就這個簡單的決定卻花費了不少時間,開始打擊我的信心。
什麼問題?就是熱部署,在eclipse中專案啟動後若是更改了檔案儲存,如果勾選了自動build就會自動編譯,改變的程式碼立刻會被使用。而idea則不是,於是乎面向百度程式設計,在經過幾個方案的設定後會發現自動編譯是可以了,但是如果這樣設定debug模式不可用(蛋疼),然後繼續查詢資訊,終於翻到了一篇資訊解釋了這個問題,最後綜合考慮還是選擇手動編譯來進行執行時的部署。
問題1牽扯出問題2並且很可能會有問題3、4...,最關鍵的是當問題一連串的拉出來時,越末尾的問題越難查。已經不是百度第一頁,百度前幾條就能解決的,而且很多時候並沒有100%針對你提問的,很可能這篇文章只有50%,另一篇30%,要將幾篇文章結合起來,才能對目前的困難有個初步的解決方案。在這過程的難免會碰到路走不通的情況(沒人為你這問題提供回答),或者是路途崎嶇(改個BUG還得刮骨療毒),這時取捨權就在自己手中,這跟工作是不一樣的,自己建站是沒人幫助的,沒有上司拍板,沒有明確的目標要求(一句話,靠自己)。
第二階段 - 死磕到底:
為什麼要做網站,還不是想有點追求。
那做的途中就會碰到很多阻擋你追求腳步的障礙,例如bootstrap的模態窗(就是個彈窗),在我使用時會發現,瀏覽器頁面如果有滾動條再配合固定的頂部導航欄,那麼彈窗彈出時會將滾動條弄消失,然後頁面元素會撐滿,關掉彈窗會讓頁面恢復之前的樣子,有種鬼畜的樣子:
開啟模態框前:
開啟模態框後:
是不是很不爽,我才剛用bootstrap來建立帝國,結果弄個彈窗就告訴我大清亡了?
於是又百度沒準是我使用姿勢不對,就是這次經歷讓我深有體會,框架什麼的使用方法,其實真的不會很具體的教你什麼,運氣好你按教程做了,完美出效果。但更多情況會有各種問題,甚至連教程都看得一臉懵逼(怎麼這麼不詳細啊擦),結果操作正確,bootstrap的確存在這個問題....
又到了老套路解決問題的時候,結果因問題偏回答的不多,並且一些答案單看是不知道對不對的,還得嘗試,可能解決了當下這個問題卻對其他正常功能造成影響。最後是在不起眼的角落裡最優解。
這個只是建站中的一個小插曲,還有許許多多意向不到的問題,例如雲伺服器資料庫被入侵,伺服器Tomcat部署各種報錯等等。
第二階段 - 敬畏並充滿希望:
初生牛犢不怕虎,工作中很多外在的框架,環境部署等等外部條件都是別人搭建好的。往往只要寫業務邏輯即可,當自己動手後發現外面的世界很大很大,自己腦海裡蹦出的小要求,簡單的效果,網上一搜都是值得深挖的東西(例如各種驗證碼,現在都涉及到大資料分析使用者行為來判斷是人還是機器,而不是簡單的驗證)。一些以前自認為懂得知識點竟然還有很多小細節(用了這麼久的JS,你參透原型鏈了嗎,並以此為原理來解釋下你的JS繼承為什麼要這麼寫嗎)。
書到用時方恨少,不只是功能,更有效能(快取的使用等),安全(CSRF等)其他平時很少注意的問題(都是大佬們寫好了)。一些技術的使用後再瞭解下背後的實現,設計思想也是十分有意思的(例如Springboot,Spring這些,用起來很方便,很強大,可是為什麼呢,其實沒有魔法沒有duang,都是程式設計師一行行程式碼堆出來的)。
現在底子已經勉強建好了,各種知識點都可以在裡面嘗試,有趣的或者很坑的我會記錄下來和大家分享~