【程式學習日記】六角學院:2023 Vue 作品實戰班

更新於 發佈於 閱讀時間約 9 分鐘

從 Vue 班畢業已經 1 個多月,最近也轉職成功,終於有機會把這段歷程記錄下來,當作一個里程碑。此次參加 Vue 班,心境上最大的不同,大概是知道自己即將在完課後,踏上求職道路。所以如果能在課堂期間 2 個月內完成求職作品,我就能提早出發。


▍學習狀況

雖然先前有稍微玩過 Vue,但也早已忘光,需要重頭學起。再加上我還提早開始準備履歷,花了些時間。導致在 Vue 班開課前,我都沒有事先預習,結果每天都緊張的在趕課。

從 pure JavaScript 轉換到 Vue 是個挑戰,雖然不用再綁定 DOM 很快樂,但也多了很多語法規則要記憶。六角的 Vue 教材是有學習手冊檔案,可以跟著影片填入程式碼的方式。我為了盡可能加深記憶,會採取以下步驟學習:

  1. 邊看影片,邊看手冊檔案
  2. 影片看到一個段落,停下來編寫檔案
  3. 如果遇到不會寫就回去重播影片
  4. 完整寫完後,到 codepen 重新復刻一次所有程式碼
  5. 尋找額外網路學習資源,重新整理程式碼寫成 notion 筆記,剛才寫的 codepen 範例也可以嵌入當實例。
notion 筆記,可嵌入 codepen 範例

notion 筆記,可嵌入 codepen 範例


雖然這麼做,學完一堂課的時間花費很久,但在未來回顧時,通常能很快讀懂自己寫的範例,直接做取用。也有同學是採用邊上課邊寫筆記的方式,手冊編寫遭遇困難時回去翻筆記,同學的想法是「如果現在看不懂筆記,以後也看不懂。」感覺也是不錯的方法。



社群參與

在 JavsScript 班結束後,我的 Side Project 組員 WA 介紹我一個由六角同學們自發組成的 Discord ──「我盯著你」,成員幾乎都是同期進入六角的學生們,所以我在 Vue 班的社群主要以「我盯著你」和「六角 Vue 頻道」為主。

社群真的是我在六角獲得最大的收穫,很開心因為在六角,才能認識這麼多貴人與夥伴。一起研究新知、一起講幹話,互相排解求職壓力、分享學習心得。有的同學是已經在職的工程師,為了學習進入六角,我從他們身上看到未來自己可能的模樣。有的同學入學比較晚,可能從寫功能開始,還不會切版,在我看來就像回顧自己。這是很有趣的體驗,或許有的人過陣子後決定下船放棄,或是堅持並成功轉職,也有純粹因為興趣學習的夥伴,從觀察人生來說也是很棒很棒的經歷。

「我盯著你」社群,我是求職分享會的主辦與分享者

「我盯著你」社群,我是求職分享會的主辦與分享者

最近很愛的梗圖,真的是當了工程師才體驗社群美好

最近很愛的梗圖,真的是當了工程師才體驗社群美好



技術文件撰寫

我在 Vue 班還沒畢業前,就已經先求職投遞履歷了。這也算是我正式開始經營技術 blog 的時候吧!我將先前在 JavaScript 直播班撰寫在六角 Discord 上的文章移植到 Vocus,寫了更完整的思路介紹與步驟圖。加上在 Vue 班時期,為了解答同學疑惑特別撰寫的技術文,目前已經累積 6 篇文章了。

最近在想著是不是要學 Hexo,把紀錄移植到 GitHub 上,未來也方便搬家。


專題 Side Project

這次因為幾乎是零基礎學 Vue,在進度沒有超前的狀態下,不太敢找人組隊做專題。一方面也是經歷切版和 JS 為期 5 個月的協作,真的也是有點累了。所以這次打算依照自己的步調來獨立製作。

當初也是很緊張,因為每天都在趕學習進度,不知道自己能否在 Vue 班結業前完成專題。想不到 Vue 班進行 1 個月就差不多具備可以完成專題的程度了(感謝六角~),前面耐心打好基礎,之後開發真的順利很多。所以此次專題大約是花了 1 個月,從規劃、設計、切版與功能,獨立開發完成的。

Wanderer Land 首頁

Wanderer Land 首頁

專案說明

透過 Vue3 框架 + Pinia 狀態管理建構,個人獨立製作的電商平台作品,靈感源自我過去在藝術創業時使用過眾多電商開店平台,以銷售畫作、介紹藝術家、推廣藝文為目的。期待帶給買家與管理者流暢的使用體驗,前後台都有 RWD 響應,可以行動裝置操作。

選用技術

  • 使用 Vue 3 和 create-vue 構建開發環境
  • 選用 Bootstrap 5 搭配 Sass 進行網頁切版
  • 整合 ESLint Standard 以保持程式碼風格的一致性
  • 運用 Pinia.js 作為狀態管理工具,實現跨元件資料的傳遞
  • 使用 Axios 串接 RESTful API,並運用 async/await 實現非同步操作
  • 使用 Figma 設計 UIUX

技術項目

  • 前台收藏、購物、檢索排序商品功能。
  • 前台根據儲存於 localStorage 的用戶瀏覽紀錄推薦商品。
  • 後台登入驗證、視覺化圖表、管理商品、發布與置頂文章、建立優惠券功能。
  • UIUX 設計。

開發心得

  • 過去因為經營電商,玩了很多開店平台。本來想藉此次機會,在自己做的後台裡實現一些喜歡的功能,例如客製上架模板,或是做產品規格價錢組合、智慧推薦標籤。沒想到這些讓使用者喜愛又操作流暢的功能,實作起來其實非常不容易,還要另外考慮 edge case 的情況。最後礙於開發時程考量,只能先退而求其次做比較簡易的版本。
  • 我很喜歡下圖中元件和資料庫的設計,左圖是同一個元件的不同運用情境,右圖是實際元件拆解樣貌。藉由 slot 插槽和外部引入屬性控制元件形狀和功能按鈕,並搭配 Pinia store 實現跨元件間傳遞資料。
元件架構

元件架構

  • 這次使用的 API 是由六角開發的,比起 JS 班自己開發 API,用起來真的順暢超級多XD 但就是個體驗,不論是自己用 json server 開發,或是使用真正後端工程師造的 API,都是學習。我看這次有些同學的專題是自己的 API 和學院的 API 同時並行使用,真是太有勇氣了,很佩服他們。
  • 這是我第一次嘗試獨立開發,其實開發速度並不比協作慢,因為做任何決定都由自己評估和修改就可以了。但協作的好仍然在更大型且複雜專案的時候,有人可以一起討論,多一個腦袋設想不同狀況和解方。
  • 我延續先前專案的工作習慣,建立自己的待辦小卡。開發過程中難免有臨時發現的問題,也不一定能馬上處理,就可以先記錄起來。處理過程中的各版本 commit 與遭遇問題也都可以寫在小卡中。
工作待辦小卡

工作待辦小卡

優化測試

我參加其中一場面試中,面試官提醒可以做優化測試,我才嘗試著做優化。跑出來的效能分數不太好,尤其行動裝置很難看 XDD 但效能牽扯的層面真的太廣了,我試著把最大描繪像素的圖檔降低,但效能反而也跟著變低了。也試過把字體載下來從本機引入,但分數也沒有變高。

最後我決定先從比較好處理的部分著手,讓無障礙、最佳做法、SEO 的分數都先進入 90 分以上,再來慢慢想辦法 ><

報告建立時間:2024年4月17日 下午4:22:07

報告建立時間:2024年4月17日 下午4:22:07



▍發表會心得

雖然這次我沒有報名六角專題分組,但個人製作還是可以一起參加發表會。我不想錯失曝光機會,而且同時也能訓練表達能力就參加了。

參加發表會總是很讓人驚艷,有些組別在視覺表現上特別搶眼,很讓人好奇這些特效是怎麼做的。有些組別的組員內本身就有後端工程師,這感覺是超級棒的合作體驗。也有的是報告口條歷練,風格各有特色,都能讓聽眾清楚了解專案內容。綜合層面上,我要學習的部分還有好多好多,知道自己仍有不足是很讓人開心的。

我的發表會簡報

我的發表會簡報

我在會後收到了來自卡斯伯老師發放的獎勵,這是沒有報名專題,還願意參加發表會的同學才會領到的禮物,可以從星巴克禮券和 Udemy 課程選擇其一。我當時正在因為準備面試而刷題,也不知道未來職場會走向何處,想說 JS 學好肯定沒錯,就選了 Udemy 的演算法課程,結果完全沒有打開學習的一天 XD

raw-image



▍總結

  • 體驗營:適合各個階段的學習者,每年都有不同主題。學習者可以自由選擇要從切版、JS,或是針對當年主題做研究。不到千元,真的很適合用來體驗學習程式的感覺。
  • 切版班:入門最容易,但每周主線作業耗費時間最久,精準切版和流暢 RWD 變化很需要經驗。
  • JS 班:入門稍有難度,因為前期會不知道自己學零件是為了什麼,但有耐心學好的話,後期寫功能會很有成就感。個人感覺 JS 每周主線作業是三班裡最簡單的。
  • Vue 班:課程最緊湊的一班,有很多新的框架語法要理解,應該也是最虐待學生的一班吧。跟 JS 班有完全不同的體驗,有框架除了速度快之外,要幫同學看問題也因為程式有固定格式,讀懂對方程式碼也相對容易許多。一段時間後回顧自己程式碼,也不那麼陌生XDD

從基礎切版、JavaScript、Vue,一路跟著六角直播班學習至今近一年,直至轉職成功。六角老師與助教「不怕你問」的授課方式,一直都讓我非常放心,不論是程式解題,或是職涯選擇煩惱,每每都感受六角對每位學生都是很真摯在回答。做 Side Project 時,也從教練引導中得到許多協作經驗和專案管理上的輔助。直播班學生間的社群關係也十分緊密,我們直到現在也仍然會互相分享新知。這些都是我很開心,也很慶幸當初選擇了六角、開始學習寫程式的原因。(好像又想回顧一次上面那張「猩猩,一起,強大」的梗圖了)



Ann Chou 喜愛電影和威士忌,既是前端工程師,也是藝術愛好者。喜歡書寫學習歷程和技術文件,掌握經驗與隨時提取的感覺很好。
avatar-img
16會員
24內容數
從藝術領域轉職到前端工程師,喜歡書寫學習歷程和技術文件,掌握經驗與隨時提取的感覺很好。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Ann Chou的沙龍 的其他內容
Swiper.js 是一個功能齊全的輪播套件,除了輪播外,也可以客製化導航按鈕和頁碼等細項。目前支持 JS、React、Vue。但是 Swiper.js Vue 版本主要由 Composition API 風格構成,此篇文章將介紹 Options API 的撰寫方式,以及如何做樣式客製化。
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Node 對我來說一直是很似懂非懂的概念,因為沒有實際可見的數字或字串實物可以觀察中間步驟,比起其他解題抽象許多。以下解題方法來自網友與 GPT 提供的答案,我想在本文中嘗試自己做視覺化圖解,說明 CodeWars - Can you get the loop ? 的解題思路。
JavaScript 套件,頁碼 Pagination.js 搭配 axios API 請求範例
分享這套功能齊全,視覺超級可愛還有響應式變化,教學文件又很容易閱讀的套件 Evo Calendar。 當初在製作 JS side project 時,想找一個與 VCalendar 視覺相近的套件,但多半都不合意。六角學院指派的 side project 教練也幫我找了另一個純 JS 的範例,也很
不喜歡 HTML 原生的時間選擇器外型嗎?試試看 flatpickr.js 吧! 以下是使用 flatpickr 做簡單的示例,以及 flatpickr 使用注意事項。
Swiper.js 是一個功能齊全的輪播套件,除了輪播外,也可以客製化導航按鈕和頁碼等細項。目前支持 JS、React、Vue。但是 Swiper.js Vue 版本主要由 Composition API 風格構成,此篇文章將介紹 Options API 的撰寫方式,以及如何做樣式客製化。
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Node 對我來說一直是很似懂非懂的概念,因為沒有實際可見的數字或字串實物可以觀察中間步驟,比起其他解題抽象許多。以下解題方法來自網友與 GPT 提供的答案,我想在本文中嘗試自己做視覺化圖解,說明 CodeWars - Can you get the loop ? 的解題思路。
JavaScript 套件,頁碼 Pagination.js 搭配 axios API 請求範例
分享這套功能齊全,視覺超級可愛還有響應式變化,教學文件又很容易閱讀的套件 Evo Calendar。 當初在製作 JS side project 時,想找一個與 VCalendar 視覺相近的套件,但多半都不合意。六角學院指派的 side project 教練也幫我找了另一個純 JS 的範例,也很
不喜歡 HTML 原生的時間選擇器外型嗎?試試看 flatpickr.js 吧! 以下是使用 flatpickr 做簡單的示例,以及 flatpickr 使用注意事項。
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本來想等確定新學年服務單位後再來回顧,但因為一些因素,拖到七月底還只能先底定。最後決定趁現在還能悠哉享受過渡期(?)趕緊把這一學年課務相關的心得好好整理面對。 這學年我的教職是從10月底退伍後才開始算起,到考季差不多半年,就算全職當考生,存款也能負擔這段時間,所以原本沒打算找兼課,直到快開學前接到
Thumbnail
平常我們在 html 上常看到的例如 v-for、v-model 等等... 也是VUE已經幫我們定義好的指令,而這次我們可以依這自己的需求來建立。 此功能屬於較進階的功能,因此實戰中會比較少見,市面上還是有不少完善的套件能達到同樣效果,建議可以先往這方面察找
Thumbnail
Vue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
由於去年我是直接從JS直播班出發的,想當然沒參加過體驗營這類的短期嘗鮮課程,就抱著試試看的心態來體驗看看了,也因為我本身有一些些基礎了,這次就果斷幫自己加碼擔任志工,多多少少能幫助到剛開始就卡住的同學,希望能借著多次的經驗累積來增加我的經歷。
Thumbnail
上完 2023冬季Vue作品實戰班 之後,在專題期間經過討論後,我們未使用學院提供給我們的 API ,我們選擇了使用 nodejs 並選擇 json-server 來當我們的資料庫,也就是這時開始接觸到平常我們身為使用者時看不到的世界。
Thumbnail
可能包含敏感內容
先說一下我的背景,非本科系從 2022/3 開始接觸到前端領域,在摸索過程中遇到六角學院,買了 HTML 和 CSS 課程從基礎學起。
Thumbnail
Vue Router 及 具名視圖,擺脫以往切換依賴 CSS display:none 跟 display:block 互相配合,有時還得搭配 z-index 來調整層級跟 opacity 透明度的麻煩,而 Vue Router 完美的解決了這棘手的問題,且能客製頁面想要呈現的擺飾。
Thumbnail
這是一篇從為甚麼會加入志工,到第一次擔任志工,並領取任務"直播證書任務"給大家看的小紀錄,同時也是閱歷自己的曾經,從反思自己、質疑自己、到面對自己,各階段的成長經歷。剛從新手村出發的曾經,你是否也跟我一樣,還依稀記得那時受人幫助、啟迪、鼓勵的悸動。
Thumbnail
關於一個剛接觸 JS 不久,又馬上跳入Vue框架毒打的艱辛歷程TT, 回來起來,那段時間還真是充實又有趣呢,各種矇、各種坑、各種雷!!! 你膽怯了嗎 . . .?想逃了嗎 . . .?沒關係,因為只要記得 - 心態沉穩自然雨過天晴 - 心得分享
Thumbnail
Vue 是尤雨溪所開發的一個前端框架,Vue 提供了響應式數據綁定和組件化的開發模式,能方便開發者構建出具有良好交互性的前端應用。而 Vite 則是一個前端構建工具,用途是提供更快的開發體驗。然後,本文將介紹如何使用 Vite 建立一個 Vue 專案的開發環境,這是你學習 Vue 的第一步。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本來想等確定新學年服務單位後再來回顧,但因為一些因素,拖到七月底還只能先底定。最後決定趁現在還能悠哉享受過渡期(?)趕緊把這一學年課務相關的心得好好整理面對。 這學年我的教職是從10月底退伍後才開始算起,到考季差不多半年,就算全職當考生,存款也能負擔這段時間,所以原本沒打算找兼課,直到快開學前接到
Thumbnail
平常我們在 html 上常看到的例如 v-for、v-model 等等... 也是VUE已經幫我們定義好的指令,而這次我們可以依這自己的需求來建立。 此功能屬於較進階的功能,因此實戰中會比較少見,市面上還是有不少完善的套件能達到同樣效果,建議可以先往這方面察找
Thumbnail
Vue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
由於去年我是直接從JS直播班出發的,想當然沒參加過體驗營這類的短期嘗鮮課程,就抱著試試看的心態來體驗看看了,也因為我本身有一些些基礎了,這次就果斷幫自己加碼擔任志工,多多少少能幫助到剛開始就卡住的同學,希望能借著多次的經驗累積來增加我的經歷。
Thumbnail
上完 2023冬季Vue作品實戰班 之後,在專題期間經過討論後,我們未使用學院提供給我們的 API ,我們選擇了使用 nodejs 並選擇 json-server 來當我們的資料庫,也就是這時開始接觸到平常我們身為使用者時看不到的世界。
Thumbnail
可能包含敏感內容
先說一下我的背景,非本科系從 2022/3 開始接觸到前端領域,在摸索過程中遇到六角學院,買了 HTML 和 CSS 課程從基礎學起。
Thumbnail
Vue Router 及 具名視圖,擺脫以往切換依賴 CSS display:none 跟 display:block 互相配合,有時還得搭配 z-index 來調整層級跟 opacity 透明度的麻煩,而 Vue Router 完美的解決了這棘手的問題,且能客製頁面想要呈現的擺飾。
Thumbnail
這是一篇從為甚麼會加入志工,到第一次擔任志工,並領取任務"直播證書任務"給大家看的小紀錄,同時也是閱歷自己的曾經,從反思自己、質疑自己、到面對自己,各階段的成長經歷。剛從新手村出發的曾經,你是否也跟我一樣,還依稀記得那時受人幫助、啟迪、鼓勵的悸動。
Thumbnail
關於一個剛接觸 JS 不久,又馬上跳入Vue框架毒打的艱辛歷程TT, 回來起來,那段時間還真是充實又有趣呢,各種矇、各種坑、各種雷!!! 你膽怯了嗎 . . .?想逃了嗎 . . .?沒關係,因為只要記得 - 心態沉穩自然雨過天晴 - 心得分享
Thumbnail
Vue 是尤雨溪所開發的一個前端框架,Vue 提供了響應式數據綁定和組件化的開發模式,能方便開發者構建出具有良好交互性的前端應用。而 Vite 則是一個前端構建工具,用途是提供更快的開發體驗。然後,本文將介紹如何使用 Vite 建立一個 Vue 專案的開發環境,這是你學習 Vue 的第一步。