Re: [請益] 如何模仿專案

看板Soft_Job作者 (阿ㄆㄧㄚˇ)時間6年前 (2019/02/22 19:53), 編輯推噓1(102)
留言3則, 2人參與, 6年前最新討論串2/5 (看更多)
※ 引述《paranoia5201 (社會黑暗、行路難)》之銘言: : 自學程式語言一些時間,許多網友都說要趕快做個小專案展現基本能力,有利於求職。 : 「不知道怎麼做?就模仿別人的作品啊!」對於一個新手而言,該如何模仿? : 例如我看到一個很酷的網站或app,想要仿造,沒有它的原始碼,是要怎麼模仿? 這個是有點大哉問,我先假設你沒有要做一些很離奇或特別的功能,我覺得你可以先試 著切割功能。 舉個很蠢的例子,假設你要模仿的是一個購物網站,你按下add to cart── 1. 你會做了。 → 恭喜你,那就去做 2. 你不會做。 → 恭喜你,又有學習的機會。 當這個功能你不了解怎麼實作時,最好的辦法是觀察它。 你把cookie刪除了,購物車就空了,你就知道購物車跟你的cookie絕對有關 你登入會員,就算把cookie刪除了購物車還是在,你就知道這個資訊是跟你的帳戶連結 add to cart的按鈕連結是不是有一定的規則?如果沒有,是不是javascript運作的? 這時你已經獲得許多關鍵字,即使該網站真正的作法可能不是這樣(例如他們作了優化 或cache機制),但是你還是朝完成實作邁進了一步。你有了關鍵字,就有搜尋的對象 可能你已經知道商品目錄是從資料庫產生的,那麼剩下的問題就是列出有哪些功能實 作是你已知還是未知的,像CRUD怎麼達成?如何維持會員登錄狀態?如何作social login 當你已知的做完了,未知的學會也做出來了,那就幾乎是模仿完成了 當然,這些都是比較普通的業務邏輯,我猜想你所說的"很酷的網站"可能有兩種 1. 介面特效很酷 2. 功能很酷 介面特效有些是美術負責的,當然工程師也可以透過procedural的形式產生(例如粒子) 但不管如何你都必須要了解該功能的執行平台到底是在哪,如果是在伺服器那你大概沒 機會,如果是執行檔你還是能看出蛛絲馬跡,例如這個app用到哪些lib、這個exe執行的 時候需要哪些dynamic library,這些都是有機會查到的,重點是你對執行環境熟不熟 你要研究網頁很好,chrome熟不熟?會不會使用console輔助你調查? 你要研究android app很好,apk會不會拆?有沒有對應的開發環境? 有linux或java的背景知識嗎? 你要做遊戲很好,你知道你要模仿的對象是用unreal還是unity嗎? 你知道繪圖原理、聲音如何撥放嗎? 在該作業系統或開發環境下,有哪些系統、工具或library可以運用,也是你可以調查的 所以說,有的時候能不能推測/猜出對方的實作方法,在於你的背景知識足不足夠 如果你說的很酷的app是有一些獨到的功能,那就是屬於學術的範疇,可能要翻論文 - 其實你英文好去stackoverflow發問「這功能是怎麼做出來的」也是可以問到XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.103.20 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1550836398.A.5B6.html

02/22 19:59, 6年前 , 1F
推這篇 我猜原po應該是覺得css酷
02/22 19:59, 1F

02/23 15:27, 6年前 , 2F
請不要建議新人直接去S.O問每個功能、網站怎麼做...
02/23 15:27, 2F

02/23 15:29, 6年前 , 3F
會被down vote加鎖文,打擊新人的信心
02/23 15:29, 3F
文章代碼(AID): #1SR-AkMs (Soft_Job)
文章代碼(AID): #1SR-AkMs (Soft_Job)