繼三個月前的Leetcode刷題後,給了自己階段性的新任務,希望能在開發第二個專案 – 小型電商團購網站。
起因也是因為一個朋友在做團購,雖然電商平台如雨後春筍,但我想這部分的技術會是對新手有難度,但又是對就業很基礎的練習,朋友也有提出需求,因此就著手研究開發。
python自學經歷
- 跌跌撞撞、斷斷續續的自學來到第八個月
- 50題leetcode,一半easy、一半medium
- 非全職學習者,沒有上任何系統性課程
著手開發電商的準備
步驟一:找到看得下去的網路課程
確認使用語言以及功能有60%符合自己的需求,像我希望繼續使用Django開發網站,磨練自己對同一個框架的熟練度,畢竟說真正第一個專案真的是似懂非懂做出來的,需要自己再多摸索,才會知道每串code的始末。
步驟二:看別人的code + 看教學影片
(這時候還不用急著寫code)我找了之前熟悉的免費課程,但因為是兩年前的教學,並且教學也不夠完整,有學習上的困難,不過我沒有立刻找新的課程,因為認為效益不高,我決定用最快的速度看完影片,大概對電商需要的套件有個熟悉度,然後也同時直接到github看教學者寫的code,看自己是否能完全理解。
結果我最不懂的就是我沒學習的地方,前端cookie的邏輯以及ajax的基礎技術。因為這部分對電商來說很重要,因此一開始光是了解cookie、session就花了很多時間,了解基礎概念後,我就開始專案了。
步驟三:模仿!研究既有電商後,寫下自己想要的功能
大概用wireframe把網站架構抓出來後,就能知道每個地方自己想要有什麼功能,寫的時候會越寫越覺得無力,看起來80%都是我不會的技能,上一個網站基本上是把資料庫建起來,再乖乖的把資料庫吐出來,大概是CRUD的過程,但是電商可能會有很多新增的功能,像是優惠券使用、物流選擇、寄送購物的資料給消費者等等,每一頁的邏輯跟數字上的正確性都很重要。
步驟四:著手開發,但一個一個來
我的開發步驟大概分幾個:
- 先把基礎html拉出來、簡單的css或是拿bootstrap去改
- 把最基礎的每個分頁都寫出來,就寫view、url來對應
- 資料庫要建立什麼,創建需要的資料庫,這邊其實還滿需要時間規劃
- 製作前後端串接的功能,cookie、token等基礎設定,跟前面的資料庫串起來
- 訂購商品、數量、訂單的表單結構,資料庫架構思考
- 表單屬性設定
- email自動寄出邏輯
- 離開網站 清理session, cookie
- 運算購物車金額
- 製作coupon券後台以及驗證方式
- 製作物流選擇系統
- 滿千免運等金額自動計算、提示文字
階段心得:會慢慢進步
現在已經可以自己在編輯器裡面因應CRUD的寫法,可以在不參考別人資料的情況下,製作出基本的前後端資料與表單的設計。在遇到bug的情況下,其實也是很常遇到,但好像會比較知道要怎麼去找到答案,或是會在看完別人的code(就算是不同的需求),能找出可以嘗試的方法。
更會操作if, else以及執行的先後順序會心理有數。也會比較明白之前的教學影片到底在教什麼,不會一頭霧水的看影片寫程式。覺得大腦算是有稍稍進步,我認為這些進步也跟前陣子練習leetcode有關,至少在看別人的code時,比較不會那麼恐慌。
還有一個滿關鍵的進步,開始會知道多個function要怎麼互相協助使用,不一定要一個finction用到底。
目前的進度大概是這樣,找機會再來記錄卡關的地方吧!太多了寫不完啊!
想到後面又要面對一次部署,頭好痛,但沒辦法heroku要結束營業了,這次想試試看digital ocean希望能成功
待續…
2 留言
加油~~你可以的
謝謝你!!