專案開發心得-Simple Twitter

閱讀時間約 4 分鐘

隨著JavaScript課程的學習的最後階段, Twitter專案不只考驗平時課程所學的技能,也讓我們提前預習在職場上與人合作完成專案的經驗。

完全沒有和人一起完成關於寫程式經驗的我,很幸運得到兩位神隊友﹘Rossi和雅婷。她們對於寫程式的能力還是比我優秀很多。

在這次專案中,我負責從所有人的空閒時間,找出可以共同開會的時間和做最後檢查的時間。任務分配上,我被分配到使用者個人頁面的所有功能。關於整個專案過程的貢獻度,我可以說是只有1%。也就是記得交sprint 1 ~ 3的作業。一開始在clone專案時我就開始錯誤連連,我過去習慣用Download ZIP的方式來clone專案,沒想到這次要用複製網址的方式在終端機上用git clone方式下載專案,遠端如果有更新我才能接受到訊息。過去不需要和人協作,也沒有注意到這個細節。幸好隊友Rossi和雅婷熱心的幫我解決第一個難關我才能繼續往下走。當我很開心地要開始寫第一個功能時,我又碰上另一個難關﹘使用者點擊個人網頁時,畫面要跳出使用者可以看見自己所有貼文的頁面。剛開始我設計的路由「router.get('/users/:id/tweets', authenticated, userController.getUser)」,是連接不到使用者個人頁面的畫面。路由反而設成「router.get('/users/:id', authenticated, userController.getUser)」,是可以連接到使用者個人頁面的畫面。

嘗試反覆看課程的教案和作業,想找出有沒有相似的地方?有依照助教的指示確認看一下是不是符合 users/self這個模板的需求,但還是無解。後來我嘗試將nav-item的連結改成<a href="/users/{{user.id}.tweets}">,終於跑出畫面。當我要繼續設計畫面的時候,卻發現使用者頁面推文沒出來的問題。尋求助教的解答是要我檢查db是不是沒資料還是 query 有問題,但我檢查完之後改補的缺失也補了,還是沒用。當我回去查看教案之後嘗試將{{#each tweets}}改成{{#each user.Tweets}}之後,可以秀出推特文。接著我又有新的問題產生,沒有秀出使用者的名字和e-mil這個細節;於是我開始向隊友提出求救。起初隊友要我先檢查controller的地方是否有將tweet跟user用include方式做連結,並參考他做getTweets的部分,應該有類似的地方。但結果還是失敗,於是她提議往comment上一層user去找,改用../user.name 試試看,也就是將this.User.name改成../user.name,結果真的成功了。於是我上網查詢了「../user.name 」和 「this.user.name」的差別。

在模板中,`../user.name` 和 `this.user.name` 有不同的意義和用法。

「../user.name」:

 ※「../」 表示回到模板中上一層上下文(context)。

 ※ 這意味著你正在訪問父級上下文的屬性。

 ※ 在這個情況下,「../user.name」 表示你希望訪問父級上下文中的 「user.name」 屬性。

 

「this.user.name」:

 ※ 「this」 代表當前的上下文。

  ※ 這意味著你正在訪問當前上下文中的 `user.name` 屬性。

  ※ 通常,「this」 是可選的,你可以直接訪問 `user.name` 屬性,因為模板引擎已經處於 `user` 上下文中。

要選擇使用哪一種取決於你的需求和模板引擎的設置。通常,如果你需要訪問父級上下文中的變數或屬性,可以使用 「../」否則你可以直接使用 「this」 或省略它,以訪問當前上下文中的變數或屬性。

當問題解決之後又有新的問題產生,將程式碼更新到最新之後要進行合併發PR,出現合併異常發送PR需求給確認者,一直出現Alarm導致PR發送失敗。為了找出問題,我只能不斷地確認和合併Alarm訊息找原因。更慘的是,原本設計好的可以連接使用者個人頁面這個功能,不明原因又連結不到了。我反覆的察看程式碼並向助教請教。即使助教給了一些建議,比如說AC 教材有提到 的postman用這個可以打 request 到妳本地起的 service,這樣就能知道 API 有沒有錯誤?這個問題到現在還沒有解決,也影響了專案的結果被評斷是為 fail。

兩個星期的專案過程中碰到無數的難題,有的已經順利解決、有的還在努力找答案。對我來說即使專案的結果被評斷是為 fail,我還是會繼續努力學習下去把剩下的作業完成。

全端網頁開發專業知識分享
留言0
查看全部
發表第一個留言支持創作者!
Java Script自學經驗回顧
閱讀時間約 1 分鐘
認識程式與電腦
閱讀時間約 1 分鐘
老爸的私房錢的專案介紹
閱讀時間約 2 分鐘
你可能也想看
瓶裝雪 | 團隊專案開發的初期流程(中)這篇文章將會講述發散與構思具體行為的細節,包含文字、圖像、動畫,介紹彼此的優缺點與侷限性,最後逐個講述重點與核心。
Thumbnail
avatar
瓶裝雪
2023-08-21
[南海の貓] 流浪動物花園之植物園貓 TNR 專案 正式開始本文來自作者於隨意窩2009-07-13 (18:56)的備份,因具有當時書寫記錄的真實性,所以不再更改內容,皆以網站的截圖呈現。
Thumbnail
avatar
山夢嫻
2023-08-13
瓶裝雪 | 團隊專案開發的初期流程(上)這篇文章將會講遊戲專案開發初期時,所需要面臨的幾項流程。
Thumbnail
avatar
瓶裝雪
2023-08-04
從0-1開發自己的創業專案 | #AI工具分享➤ 前言: 如何從0-1發想自己的專案? 如何在短時間內,完成最小可行性產品 MVP ? 有什麼工具可以馬上實踐自己的想法? 對於許多人來說,從零開始構思並實現自己的專案可能會感到困惑和挑戰。 筆者將介紹 3 種工具,讓你能夠快速發想專案並在短時間內完成最小可行性產品(MVP)。 我們
Thumbnail
avatar
Dodson
2023-06-04
【W3展報WΞ Project Hub】喜樂羊改名 Alpha Sound 起聲,與歌手魏暉倪合作專案四月開跑2022年中成立的Alpha Sheep喜樂羊項目將改名為Alpha Sound起聲,團隊由一群擁有音樂與遊戲製作背景人仕組成,其宗旨是為許多沒有資源及表演舞台的音樂創作者,將傳統商業與新技術結合和運用,讓原本的商業模式及資源能夠重新整合,再造新的契機、價值。 貼近受眾需求而調整新架構,承諾團隊、初
Thumbnail
avatar
摳屁
2023-03-21
avatar
小樂的生存之道
2022-07-30
【端午企劃】簡易開發 NFT 專案的三步驟 | 智能合約開發計劃 #8開發 NFT 專案無非三個步驟:寫程式 → 編譯程式碼 → 發佈智能合約,除了這三個步驟以外,我們還將介紹如何使用 OpenZeppelin 做為專案開發的根基,想要打造車子不再需要從輪子開始造起了,大幅增加開發專案的效率。
Thumbnail
avatar
ITechNote 科技隨筆
2022-06-03
專案管理|02.不再踩雷!三點教你選好外包開發團隊本文同步刊載在敝人任職的 五倍紅寶石軟體開發 官網上。 只可惜夢想永遠豐腴,現實卻經常骨感。 統整這幾年客戶分享的,他們過去的慘痛踩雷經驗,大致可歸納為幾種: 1.開發品質低下 2.危機時找不到人解決 3.做完三不管,業主變孤兒 1.是否有確實評估 2.是否能跟你討論並給建議 3.相關作品
Thumbnail
avatar
Sho 的路上觀察手記
2022-02-10
EP05 – 在專輯開案之前 (關於品牌)聽完了群眾累積系統,也先不要急著挽起袖子來。 在動手之前,還有一些大家從來不在意,但是卻攸關成敗的幾個重要問題。 當沒有數據和資料可以參考的時候,你要如何知道自己的決定沒有違背過去設定的風格呢? 我們這集就來聊聊關於藝術家的品牌建立吧! 相關連結: Music Map|| https://www.m
Thumbnail
avatar
JASS YANG 楊威宇
2019-12-04