diff --git "a/2023/11/05/\345\260\210\350\201\267\344\271\213\350\267\257\357\274\214\346\234\211\344\275\240\346\234\211\346\210\221\357\274\201\357\274\201\357\274\201/index.html" "b/2023/11/05/\345\260\210\350\201\267\344\271\213\350\267\257\357\274\214\346\234\211\344\275\240\346\234\211\346\210\221\357\274\201\357\274\201\357\274\201/index.html" index 400d85c..63affc0 100644 --- "a/2023/11/05/\345\260\210\350\201\267\344\271\213\350\267\257\357\274\214\346\234\211\344\275\240\346\234\211\346\210\221\357\274\201\357\274\201\357\274\201/index.html" +++ "b/2023/11/05/\345\260\210\350\201\267\344\271\213\350\267\257\357\274\214\346\234\211\344\275\240\346\234\211\346\210\221\357\274\201\357\274\201\357\274\201/index.html" @@ -280,7 +280,7 @@

ASTRO Camp 全端工程師實戰訓練營會是你轉職之路的好夥伴 。

或是你對於轉職為工程師有點嚮往,但是還是有疑問或迷惘,提供我的聯絡方式,歡迎你跟我聊聊

-

信箱:woodming9889@gmail.com

+

信箱:woodming9889@gmail.com


diff --git a/atom.xml b/atom.xml index 33e524e..922d7fe 100644 --- a/atom.xml +++ b/atom.xml @@ -23,7 +23,7 @@ 2023-11-05T06:53:28.000Z 2023-11-05T09:09:57.417Z - Make it happen !!! 轉職之路,有你有我。

By Cheng Ting
2023/03/30

文章圖片001

原本是在電信門市的小專員,舒適圈裡的小蝦米

我原本是在電信門市服務的專員,工作內容基本就是門市營業時間一到,鐵門拉起後,開始清亮的叫號:「您好,歡迎光臨~請問今天有什麼可以為您服務?」,協助客戶辦理完成客戶需求的業務後「謝謝您,請慢走。」

我的個性是喜歡與人互動交談,當初選擇從事這份工作也是覺得滿符合自己的個性,但就在日復一日重複性的工作模式及內容、每天被 KPI 追著跑的循環下,從滿懷熱情與衝勁的初生之犢,漸漸變成一顆彈性疲乏的橡皮球,隨著年紀漸漸奔三,心裡有個聲音不斷告訴自己:「我的未來要有所改變!!!

此時,轉職的念頭已然萌芽,我問自己:「假如你今天不做出選擇及改變,3 年後或是 5 年後的你會不會後悔?」

我的答案是,「會!」不想讓未來的自己有遺憾,如果真的轉職成功,當然是我期望的。如果沒有成功,我也不會留有後悔及遺憾,至少我努力過、嘗試過。

轉職的選擇?要如何達成轉職目標?

非常確定我想要改變現在的生活及工作內容,轉職已是必然,但是要朝什麼樣的方向選擇,及如何準備可提高轉職的成功率,和身邊親朋好友討論及自己上網蒐集相關資料,經過分析及衡量,主要影響我選擇轉職方向的是我的高中好友,他是本科系畢業,目前擔任 APP 開發工程師 (屬於軟體工程師),且累積工作年資和我一樣,但是他的薪資每年調整且成長幅度滿高,已經是所謂的年薪百萬俱樂部,他的工作型態及薪資讓我非常憧憬。以高中好友為例子,我確定「軟體工程師」這個職位包含:

1
2
薪資水平提升的垂直發展性。
專業能力廣度的橫向發展性。

這兩個特性確實符合我所期望的工作條件,「軟體工程師」就決定是你了!

已經確定好轉職的方向,剩下要考慮的就是如何達成,從零基礎到具備專業能力與知識,勢必需從頭學起,網路上很容易搜尋到各種豐富的學習資源,依照你的需求,選擇適合自己學習的資源及方式來進修。我非常確定自己不適合透過線上教學影片這類型的「自學」方法,顯而易見,適合我的就是實體授課的學習資源。

選擇 ASTRO Camp 作為改變的起點

文章圖片002
開始上網尋找是否有符合我個人的實體學習資源,再找尋的過程中,五倍學院 ASTRO Camp 全端工程師實戰訓練營 的字樣出現在了瀏覽器的頁面上,基於好奇點開連結,瀏覽五倍學院的網站課程規劃及說明,我注意到了在 YouTube 上歷屆學員的「Demo Day」成果發表影片,看到這麼多的學員在參加 ASTRO Camp 後竟然可以在3個月的時間內,從一個完全沒有程式基礎的素人,經過技能學習並實際進行團隊協作專案,最終完成屬於自己的作品。

我非常驚豔 ASTRO Camp 的黑魔法為什麼可以在短時間培育出全端工程師,這讓我非常好奇也嚮往,是否我加入 ASTRO Camp 之後,也能跟那些學員一樣成功翻轉職涯?
於是我報名參加實體說明會,更加深入了解 ASTRO Camp 的規劃及目標後,決定為自己踏出那一步,我的轉職之路正式開始。

如果可以用最短的時間成本達成學習目標,爲什麼要花更久的時間?

評估自身各方面因素,全職投入學習到完成轉職,我給自己設立的轉職期限是半年,參加實體說明會,深入了解「ASTRO Camp」確實可做到 3 個月培養我具備全端網頁工程師的能力,於是說明會結束後,我馬上就報名 ASTRO Camp。

轉職成功的關鍵,掌握面面俱到的「軟」、「硬」實力

ASTRO Camp 有非常扎實的專業技能課程規劃,線上先修預習課程、實體課程。線上線下虛實整合的學習資源,著實提升學習效率。

在 ASTRO Camp,講師希望學員們要做的第一件事情,就是改變學習方式,只要在課堂上有不會的、不懂的就舉手發問,不要把問題帶回家。目的就是要培養我們「如何問問題」。問對問題,是非常重要的一件事,甚至說是一項能力,因為工程師往往要找答案時,要先知道問題是什麼。

密集實體課程 & 助教制度

講師們都是現役業界中的一時之選,透過密集實體課程深入淺出的解釋技術原理及觀念,外加實作練習,課堂上透過分析近期的實例分享,幫你打好基底。

在學習的過程中,現役工程師作為我們的助教,每天的課程結束後,會有助教時間,可以讓我們詢問,助教們也會以引導的方式,把我們思考的方向調整到正確的思路,靠自己去思考找出答案,這也是講師與助教們的心法傳授「授人以魚不如授人以漁」,培養工程師應具備的獨自分析問題有效率且有系統性的找出解決方法學習新技術更快掌握且能實際應用輸出的能力。每天不斷累積扎實的基礎觀念與技能,而在這過程中,我發現面對單一功能或是網頁畫面切版的需求,竟然可以用不同方法將其實踐出來,我想能夠寫出最有效率的程式,就是工程師的專業和價值所在。

個人履歷製作 & 快速面試

ASTRO Camp 更顧及到學員結訓後未來轉職的第一個關卡「企業面試」所需的軟實力。提供製作個人履歷課程之外,老師親自幫每位學員履歷健檢,也提供模擬面試,幫助我在結訓後的求職階段,不用感到擔心或徬徨,有一份完整的個人履歷,可以把自己的學習成果及亮點完美展現,提升錄取的成功率。

ASTRO Camp 也在課程的尾聲,安排學員們與廠商進行快速面試,等於是結訓後,大大提升可以馬上有被各間國內外廠商看見,進而拿到 offer 的機會,減少自己到求職網站投遞履歷的時間成本,這也是五倍學院讓我覺得貼心的地方。

團隊專案 & 成果發表

ASTRO Camp 最重要的一個環節就是在訓練的最後階段,1個月左右時間,實際參與團隊的專案製作與最後結訓前的成果發表「Demo Day」。

當初我會選擇報名 ASTRO Camp 也是因為看到網頁上介紹課程的規劃,包含團隊專案這個部分,因為我清楚知道想要提升轉職成功率,就需要有所謂的作品在面試時可以展現出來個人的學習歷程,這也是學習成果與技術能力最實際也是最直觀的展示方式。

實際開始進行團隊專案開發時,該如何起頭、專案主題的決定,組員們就有彼此間諸多的意見碰撞與討論,從這樣的經驗就可以了解實際職場上團隊開發是更複雜且更需要良好的跨團隊溝通,以確保專案的進程可以如期地推進。

過程中也有遇到各種突發狀況,原本是 5 人團隊,其中一位隊友因個人家裡因素中途退出 ASTRO Camp,後續由包含我在內共 4 位成員們一起努力完成專案。

當隨著時間越來越接近 Demo Day,就在 Demo Day 的前兩週我確診需隔離,一面擔心不能出席 Demo Day,一面努力吃藥休息,希望可以盡快康復回歸團隊,在確診的前3天基本上,真的是滿不舒服的,身體非常疲累,沒辦法好好專心完成我負責的功能,感謝隊友們的體諒、支援與配合,這時候 Discord、Google Meet 等便利的通訊軟體,我與組員們依然可透過線上會議或是訊息往返的方式,對焦每天的 Standup Meeting,順利交接我的任務給組員僅恩,請他協助完成剩下的部分,讓我負責的功能得以順利部署上線,最終我們順利的完成專案,且終於隔離後的第 10 天我也順利出席 Demo Day。

文章圖片003

前面99個台階已經走完,只剩最後1個台階,你可以的!

Demo Day 結束後,緊接著就是前面提到的快速面試,我有幸在快速面試中獲得其中一間廠商給予第2次面試機會,雖然最後我沒有進入第3階段,但因有了這次快速面試的經驗,我知道後續可以如何調整及加強裝備自己,在各個求職平台投遞履歷及準備面試時可以更好的展現,提升拿到 offer 的機率。

ASTRO Camp 結訓後,便開始修改自己的履歷及針對想要應徵的職缺投遞履歷,了解該間公司且研究該職缺的工作內容須具備哪些能力,專業能力部分如有尚未具備的,便開始自我學習加強,以期如有獲得後續面試機會可以展現這期間所做的準備。

不斷地調整面試準備方法,增加獲得 offer 的機率

在主動投遞履歷且參加面試,但收到 2 次感謝信後,我檢討整個面試的環節中是否有可以提升的地方,我開始調整準備面試的方式,如何自我介紹、如何提高履歷在投遞後被看見的「能見度」,於是我開始針對應徵的職缺撰寫「自我推薦信」,而不是套用求職平台的公版格式,調整後,我個人而言認為是有效的,我發現自從有撰寫自我推薦信,公司回覆我的機率變高,獲得面試邀請的次數變多。

前後修改了 10 次履歷,也不斷地進行想像練習,不斷練習自我介紹,練到不會講話卡卡的,相信在接下來的面試可以很流暢的表現,順利完成面試過程。

入場券到手,給自己一個掌聲

終於,我在結訓後的 2 個月拿到了軟體工程師的 offer 轉職成功。謝謝自己當初願意踏出那一步,先給自己掌聲,你做到了!

當然過程中,一定會遇到挫與自我懷疑,我真的可以嗎?我真的適合工程師嗎?
真的非常感謝五倍學院的講師、助教、課務組們的陪伴與支援,還有 ASTRO Camp 一起想轉職成為工程師的同學們,在同一個環境底下,我不會感到孤單,我知道有同伴跟我一起奮鬥前進。轉職這條路不輕鬆,但請記得「莫忘初衷」,記得當初勇敢選擇改變的自己

改變,就在踏出那一步,沒有實際開始第一步,改變也就是一個念想,你依然是原來的你。

假如你跟我一樣,對於未來的職涯及人生有想要看到不一樣的景色、更加地飽滿,或許可以問問自己:「如果我今天沒有踏出這一步,3 年或 5 年後的自己會不會後悔?」

如果你想轉職軟體工程師,但是還沒找到一個強大給力的學習資源 Support你, ASTRO Camp 全端工程師實戰訓練營會是你轉職之路的好夥伴

或是你對於轉職為工程師有點嚮往,但是還是有疑問或迷惘,提供我的聯絡方式,歡迎你跟我聊聊

信箱:woodming9889@gmail.com


👩‍🏫 課務小幫手:
✨ 想要再自我精進技能嗎? 五倍學院開設眾多實體課程與線上課程
✨ 想要三個月轉職網站工程師嗎? 五倍學院有 ASTRO Camp 全端工程師實戰訓練營

]]> + Make it happen !!! 轉職之路,有你有我。

By Cheng Ting
2023/03/30

文章圖片001

原本是在電信門市的小專員,舒適圈裡的小蝦米

我原本是在電信門市服務的專員,工作內容基本就是門市營業時間一到,鐵門拉起後,開始清亮的叫號:「您好,歡迎光臨~請問今天有什麼可以為您服務?」,協助客戶辦理完成客戶需求的業務後「謝謝您,請慢走。」

我的個性是喜歡與人互動交談,當初選擇從事這份工作也是覺得滿符合自己的個性,但就在日復一日重複性的工作模式及內容、每天被 KPI 追著跑的循環下,從滿懷熱情與衝勁的初生之犢,漸漸變成一顆彈性疲乏的橡皮球,隨著年紀漸漸奔三,心裡有個聲音不斷告訴自己:「我的未來要有所改變!!!

此時,轉職的念頭已然萌芽,我問自己:「假如你今天不做出選擇及改變,3 年後或是 5 年後的你會不會後悔?」

我的答案是,「會!」不想讓未來的自己有遺憾,如果真的轉職成功,當然是我期望的。如果沒有成功,我也不會留有後悔及遺憾,至少我努力過、嘗試過。

轉職的選擇?要如何達成轉職目標?

非常確定我想要改變現在的生活及工作內容,轉職已是必然,但是要朝什麼樣的方向選擇,及如何準備可提高轉職的成功率,和身邊親朋好友討論及自己上網蒐集相關資料,經過分析及衡量,主要影響我選擇轉職方向的是我的高中好友,他是本科系畢業,目前擔任 APP 開發工程師 (屬於軟體工程師),且累積工作年資和我一樣,但是他的薪資每年調整且成長幅度滿高,已經是所謂的年薪百萬俱樂部,他的工作型態及薪資讓我非常憧憬。以高中好友為例子,我確定「軟體工程師」這個職位包含:

1
2
薪資水平提升的垂直發展性。
專業能力廣度的橫向發展性。

這兩個特性確實符合我所期望的工作條件,「軟體工程師」就決定是你了!

已經確定好轉職的方向,剩下要考慮的就是如何達成,從零基礎到具備專業能力與知識,勢必需從頭學起,網路上很容易搜尋到各種豐富的學習資源,依照你的需求,選擇適合自己學習的資源及方式來進修。我非常確定自己不適合透過線上教學影片這類型的「自學」方法,顯而易見,適合我的就是實體授課的學習資源。

選擇 ASTRO Camp 作為改變的起點

文章圖片002
開始上網尋找是否有符合我個人的實體學習資源,再找尋的過程中,五倍學院 ASTRO Camp 全端工程師實戰訓練營 的字樣出現在了瀏覽器的頁面上,基於好奇點開連結,瀏覽五倍學院的網站課程規劃及說明,我注意到了在 YouTube 上歷屆學員的「Demo Day」成果發表影片,看到這麼多的學員在參加 ASTRO Camp 後竟然可以在3個月的時間內,從一個完全沒有程式基礎的素人,經過技能學習並實際進行團隊協作專案,最終完成屬於自己的作品。

我非常驚豔 ASTRO Camp 的黑魔法為什麼可以在短時間培育出全端工程師,這讓我非常好奇也嚮往,是否我加入 ASTRO Camp 之後,也能跟那些學員一樣成功翻轉職涯?
於是我報名參加實體說明會,更加深入了解 ASTRO Camp 的規劃及目標後,決定為自己踏出那一步,我的轉職之路正式開始。

如果可以用最短的時間成本達成學習目標,爲什麼要花更久的時間?

評估自身各方面因素,全職投入學習到完成轉職,我給自己設立的轉職期限是半年,參加實體說明會,深入了解「ASTRO Camp」確實可做到 3 個月培養我具備全端網頁工程師的能力,於是說明會結束後,我馬上就報名 ASTRO Camp。

轉職成功的關鍵,掌握面面俱到的「軟」、「硬」實力

ASTRO Camp 有非常扎實的專業技能課程規劃,線上先修預習課程、實體課程。線上線下虛實整合的學習資源,著實提升學習效率。

在 ASTRO Camp,講師希望學員們要做的第一件事情,就是改變學習方式,只要在課堂上有不會的、不懂的就舉手發問,不要把問題帶回家。目的就是要培養我們「如何問問題」。問對問題,是非常重要的一件事,甚至說是一項能力,因為工程師往往要找答案時,要先知道問題是什麼。

密集實體課程 & 助教制度

講師們都是現役業界中的一時之選,透過密集實體課程深入淺出的解釋技術原理及觀念,外加實作練習,課堂上透過分析近期的實例分享,幫你打好基底。

在學習的過程中,現役工程師作為我們的助教,每天的課程結束後,會有助教時間,可以讓我們詢問,助教們也會以引導的方式,把我們思考的方向調整到正確的思路,靠自己去思考找出答案,這也是講師與助教們的心法傳授「授人以魚不如授人以漁」,培養工程師應具備的獨自分析問題有效率且有系統性的找出解決方法學習新技術更快掌握且能實際應用輸出的能力。每天不斷累積扎實的基礎觀念與技能,而在這過程中,我發現面對單一功能或是網頁畫面切版的需求,竟然可以用不同方法將其實踐出來,我想能夠寫出最有效率的程式,就是工程師的專業和價值所在。

個人履歷製作 & 快速面試

ASTRO Camp 更顧及到學員結訓後未來轉職的第一個關卡「企業面試」所需的軟實力。提供製作個人履歷課程之外,老師親自幫每位學員履歷健檢,也提供模擬面試,幫助我在結訓後的求職階段,不用感到擔心或徬徨,有一份完整的個人履歷,可以把自己的學習成果及亮點完美展現,提升錄取的成功率。

ASTRO Camp 也在課程的尾聲,安排學員們與廠商進行快速面試,等於是結訓後,大大提升可以馬上有被各間國內外廠商看見,進而拿到 offer 的機會,減少自己到求職網站投遞履歷的時間成本,這也是五倍學院讓我覺得貼心的地方。

團隊專案 & 成果發表

ASTRO Camp 最重要的一個環節就是在訓練的最後階段,1個月左右時間,實際參與團隊的專案製作與最後結訓前的成果發表「Demo Day」。

當初我會選擇報名 ASTRO Camp 也是因為看到網頁上介紹課程的規劃,包含團隊專案這個部分,因為我清楚知道想要提升轉職成功率,就需要有所謂的作品在面試時可以展現出來個人的學習歷程,這也是學習成果與技術能力最實際也是最直觀的展示方式。

實際開始進行團隊專案開發時,該如何起頭、專案主題的決定,組員們就有彼此間諸多的意見碰撞與討論,從這樣的經驗就可以了解實際職場上團隊開發是更複雜且更需要良好的跨團隊溝通,以確保專案的進程可以如期地推進。

過程中也有遇到各種突發狀況,原本是 5 人團隊,其中一位隊友因個人家裡因素中途退出 ASTRO Camp,後續由包含我在內共 4 位成員們一起努力完成專案。

當隨著時間越來越接近 Demo Day,就在 Demo Day 的前兩週我確診需隔離,一面擔心不能出席 Demo Day,一面努力吃藥休息,希望可以盡快康復回歸團隊,在確診的前3天基本上,真的是滿不舒服的,身體非常疲累,沒辦法好好專心完成我負責的功能,感謝隊友們的體諒、支援與配合,這時候 Discord、Google Meet 等便利的通訊軟體,我與組員們依然可透過線上會議或是訊息往返的方式,對焦每天的 Standup Meeting,順利交接我的任務給組員僅恩,請他協助完成剩下的部分,讓我負責的功能得以順利部署上線,最終我們順利的完成專案,且終於隔離後的第 10 天我也順利出席 Demo Day。

文章圖片003

前面99個台階已經走完,只剩最後1個台階,你可以的!

Demo Day 結束後,緊接著就是前面提到的快速面試,我有幸在快速面試中獲得其中一間廠商給予第2次面試機會,雖然最後我沒有進入第3階段,但因有了這次快速面試的經驗,我知道後續可以如何調整及加強裝備自己,在各個求職平台投遞履歷及準備面試時可以更好的展現,提升拿到 offer 的機率。

ASTRO Camp 結訓後,便開始修改自己的履歷及針對想要應徵的職缺投遞履歷,了解該間公司且研究該職缺的工作內容須具備哪些能力,專業能力部分如有尚未具備的,便開始自我學習加強,以期如有獲得後續面試機會可以展現這期間所做的準備。

不斷地調整面試準備方法,增加獲得 offer 的機率

在主動投遞履歷且參加面試,但收到 2 次感謝信後,我檢討整個面試的環節中是否有可以提升的地方,我開始調整準備面試的方式,如何自我介紹、如何提高履歷在投遞後被看見的「能見度」,於是我開始針對應徵的職缺撰寫「自我推薦信」,而不是套用求職平台的公版格式,調整後,我個人而言認為是有效的,我發現自從有撰寫自我推薦信,公司回覆我的機率變高,獲得面試邀請的次數變多。

前後修改了 10 次履歷,也不斷地進行想像練習,不斷練習自我介紹,練到不會講話卡卡的,相信在接下來的面試可以很流暢的表現,順利完成面試過程。

入場券到手,給自己一個掌聲

終於,我在結訓後的 2 個月拿到了軟體工程師的 offer 轉職成功。謝謝自己當初願意踏出那一步,先給自己掌聲,你做到了!

當然過程中,一定會遇到挫與自我懷疑,我真的可以嗎?我真的適合工程師嗎?
真的非常感謝五倍學院的講師、助教、課務組們的陪伴與支援,還有 ASTRO Camp 一起想轉職成為工程師的同學們,在同一個環境底下,我不會感到孤單,我知道有同伴跟我一起奮鬥前進。轉職這條路不輕鬆,但請記得「莫忘初衷」,記得當初勇敢選擇改變的自己

改變,就在踏出那一步,沒有實際開始第一步,改變也就是一個念想,你依然是原來的你。

假如你跟我一樣,對於未來的職涯及人生有想要看到不一樣的景色、更加地飽滿,或許可以問問自己:「如果我今天沒有踏出這一步,3 年或 5 年後的自己會不會後悔?」

如果你想轉職軟體工程師,但是還沒找到一個強大給力的學習資源 Support你, ASTRO Camp 全端工程師實戰訓練營會是你轉職之路的好夥伴

或是你對於轉職為工程師有點嚮往,但是還是有疑問或迷惘,提供我的聯絡方式,歡迎你跟我聊聊

信箱:woodming9889@gmail.com


👩‍🏫 課務小幫手:
✨ 想要再自我精進技能嗎? 五倍學院開設眾多實體課程與線上課程
✨ 想要三個月轉職網站工程師嗎? 五倍學院有 ASTRO Camp 全端工程師實戰訓練營

]]>
<h1 id="Make-it-happen-轉職之路,有你有我。"><a href="#Make-it-happen-轉職之路,有你有我。" class="headerlink" title="Make it happen !!! 轉職之路,有你有我。"></a><font color=#FFA344>Make it happen !!! 轉職之路,有你有我。</font></h1><p>By Cheng Ting<br>2023&#x2F;03&#x2F;30</p> diff --git a/css/main.css b/css/main.css index 775309e..dd940b3 100644 --- a/css/main.css +++ b/css/main.css @@ -1197,7 +1197,7 @@ pre .javascript .function { } .links-of-author a::before, .links-of-author span.exturl::before { - background: #c3ffff; + background: #9e7f63; border-radius: 50%; content: ' '; display: inline-block; diff --git a/search.xml b/search.xml index 1d8ef9c..b1f54c2 100644 --- a/search.xml +++ b/search.xml @@ -1,85 +1,5 @@ - - Ruby on Rails 網站開發 練習 - 001 (如何建立新 Rails 專案 - 投票系統) - /2023/01/14/Ruby%20on%20Rails%20%E7%B6%B2%E7%AB%99%E9%96%8B%E7%99%BC%20%E7%B7%B4%E7%BF%92-001-%E5%A6%82%E4%BD%95%E5%BB%BA%E7%AB%8B%E6%96%B0-Rails-%E5%B0%88%E6%A1%88/ - 不使用 scaffold 目的?
    -
  1. scaffold 到底幫我們做了什麼事情?
  2. -
  3. MVC 架構的運作原理
  4. -
-
    -
  • 透過 rails 建立一個投票系統來了解上述1、2項目
  • -
-
-

投票系統

    -
  • 新增、修改、刪除、投票是一個怎樣的感覺
  • -
-
-

new 一個新的專案

在想要新增專案的目錄輸入指令

-
rails _6.1.7_ new 專案名稱 // 指定使用 6.1.7版本的 Rails
-

接著在輸入指令進入新增的專案目錄中

-
cd 專案名稱
code . // 使用 VScode 開啟專案目錄
-

因為現在 Rails 會自動先幫你執行 git 初始化 ➤ git init
所以我們打開 VScode 第一件做的事情就是打開 Terminal 輸入

-
git add .
git commit -m "init commit" // 這裡的描述不一定要使用 init
-

接下來確認環境有建立正確,故輸入

-
rails s or rails server  // 兩種方式都一樣
-

打開瀏覽器輸入https://localhost:3000

-

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

-]]>
- - ASTRO CAMP 線上課程學習筆記 - - - Ruby on Rails - -
- - Ruby on Rails 網站開發 練習 - 003 (新增一個候選人model) - /2023/01/14/Ruby%20on%20Rails%20%E7%B6%B2%E7%AB%99%E9%96%8B%E7%99%BC%20%E7%B7%B4%E7%BF%92-003-%E6%96%B0%E5%A2%9E%E4%B8%80%E5%80%8B%E5%80%99%E9%81%B8%E4%BA%BAmodel/ - 練習 - 003 (新增一個候選人model) -

-
-

產生 model 的過程會順便建立一個資料表(table)

model 是一個抽象的概念,不是實體存在的

使用終端機輸入指令的方式,來建立 model 和 migration

-
rails g model Candidate name party age:integer politics:text votes:integer
-

-


可以發現 model 檔案名稱是 “單數”
對應的db資料夾內migration中的 class 名稱開頭 大寫”複數”且駝峰式
然後當中對應的 table 是 小寫”複數”

-
-

另外想要讓所有候選人的票數一開始都是 0 票,所以我們先在migration裡面的table 中,votes欄位先增加一行default: 0。給預設值的概念。

-
-

這時候我們再執行rails db:migrate,且重新打開瀏覽器

-
-

接下來要製作一個簡單的表單

    -
  • 要先製作表單前,要先找門口阿姨(Route),請route告訴我們路徑該怎麼走
    終端機中輸入rails routes ,會顯示出對應的路徑/candidates/new(.:format)

    進到index.html.erb新增一個超連結<a href="/candidates/new">Add Candidate</a>
    打開瀏覽器畫面,就可以看到剛剛新增的超連結

    因為 Routes 告訴我們,如果點擊超連結,會帶我們找到candidates#new這個方法,點下去,登愣!!

    找不到 new 這個 action。那我們就做給它。
  • -
-
-

回到candidates_controller,定義一個叫做 new 的 action(方法),存檔。

再次打開終端機,登愣!!!出現新的錯誤訊息。

跟前面建立 index 時候一樣,少了 new 的樣板,所以我們進到 view/candidates 資料夾裡面,新增檔案new.html.erb,存檔。

重新整理瀏覽器,可以看到畫面了。

有畫面了,那我們就可以開始製作表單囉

-
-
    -
  • action 表示要往哪個地方送
  • -
  • method 表示要用什麼方法送
    我們需要請routes告訴我們往哪裡送。按下超連結後,我們要去candidates#create

    所以action=後面要接的是/candidates ==>form action="/candidates"
    先幫我們的表單加上一個輸入匡

  • -
-
-

點下去”送出”按鈕後,會看到錯誤訊息(看到是正確的)

前面已經有經歷過 index、new 兩個 action 的步驟,所以這次當然也是一樣囉,找不到 create action ? 那就做一個給你。

-
-

回到camdidates_controller,定義一個create action

存檔,重新整理瀏覽器,應該就可以順利了。咦?怎麼跳出一個沒看過的錯誤訊息。

為什麼會出現這個錯誤訊息,由下一堂課來講解。

-
-
-

model 是.rb 檔案類型

ex: candidate.rb

-
-

model 是一個資料表

-
-

對應的是 db 裡面的檔案,名稱開頭是大寫,且資料表名稱英文複數型

ex: class Candidates < ActiveRecord::Migration

-
-

這就是 Rails 慣例

慣例優於設定

-

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

-]]>
- - ASTRO CAMP 線上課程學習筆記 - - - Ruby on Rails - -
Ruby on Rails 小試身手 (初識 Rails) /2022/12/13/Ruby%20on%20Rails%20%E5%B0%8F%E8%A9%A6%E8%BA%AB%E6%89%8B-%E5%88%9D%E8%AD%98-Rails/ @@ -150,6 +70,39 @@

或許有些觀念是沒有理解清楚,可以幫忙給予糾正。

期許自己透過分享學習筆記的過程,課程中較模糊或沒有完全理解的觀念可以慢慢的整理清楚。

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

+]]> + + ASTRO CAMP 線上課程學習筆記 + + + Ruby on Rails + +
+ + Ruby on Rails 網站開發 練習 - 001 (如何建立新 Rails 專案 - 投票系統) + /2023/01/14/Ruby%20on%20Rails%20%E7%B6%B2%E7%AB%99%E9%96%8B%E7%99%BC%20%E7%B7%B4%E7%BF%92-001-%E5%A6%82%E4%BD%95%E5%BB%BA%E7%AB%8B%E6%96%B0-Rails-%E5%B0%88%E6%A1%88/ + 不使用 scaffold 目的?
    +
  1. scaffold 到底幫我們做了什麼事情?
  2. +
  3. MVC 架構的運作原理
  4. +
+
    +
  • 透過 rails 建立一個投票系統來了解上述1、2項目
  • +
+
+

投票系統

    +
  • 新增、修改、刪除、投票是一個怎樣的感覺
  • +
+
+

new 一個新的專案

在想要新增專案的目錄輸入指令

+
rails _6.1.7_ new 專案名稱 // 指定使用 6.1.7版本的 Rails
+

接著在輸入指令進入新增的專案目錄中

+
cd 專案名稱
code . // 使用 VScode 開啟專案目錄
+

因為現在 Rails 會自動先幫你執行 git 初始化 ➤ git init
所以我們打開 VScode 第一件做的事情就是打開 Terminal 輸入

+
git add .
git commit -m "init commit" // 這裡的描述不一定要使用 init
+

接下來確認環境有建立正確,故輸入

+
rails s or rails server  // 兩種方式都一樣
+

打開瀏覽器輸入https://localhost:3000

+

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

]]>
ASTRO CAMP 線上課程學習筆記 @@ -201,6 +154,53 @@

到這邊就算建立完成一個index,下一堂課程就要開始來新增Candidate

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

+]]> + + ASTRO CAMP 線上課程學習筆記 + + + Ruby on Rails + +
+ + Ruby on Rails 網站開發 練習 - 003 (新增一個候選人model) + /2023/01/14/Ruby%20on%20Rails%20%E7%B6%B2%E7%AB%99%E9%96%8B%E7%99%BC%20%E7%B7%B4%E7%BF%92-003-%E6%96%B0%E5%A2%9E%E4%B8%80%E5%80%8B%E5%80%99%E9%81%B8%E4%BA%BAmodel/ + 練習 - 003 (新增一個候選人model) +

+
+

產生 model 的過程會順便建立一個資料表(table)

model 是一個抽象的概念,不是實體存在的

使用終端機輸入指令的方式,來建立 model 和 migration

+
rails g model Candidate name party age:integer politics:text votes:integer
+

+


可以發現 model 檔案名稱是 “單數”
對應的db資料夾內migration中的 class 名稱開頭 大寫”複數”且駝峰式
然後當中對應的 table 是 小寫”複數”

+
+

另外想要讓所有候選人的票數一開始都是 0 票,所以我們先在migration裡面的table 中,votes欄位先增加一行default: 0。給預設值的概念。

+
+

這時候我們再執行rails db:migrate,且重新打開瀏覽器

+
+

接下來要製作一個簡單的表單

    +
  • 要先製作表單前,要先找門口阿姨(Route),請route告訴我們路徑該怎麼走
    終端機中輸入rails routes ,會顯示出對應的路徑/candidates/new(.:format)

    進到index.html.erb新增一個超連結<a href="/candidates/new">Add Candidate</a>
    打開瀏覽器畫面,就可以看到剛剛新增的超連結

    因為 Routes 告訴我們,如果點擊超連結,會帶我們找到candidates#new這個方法,點下去,登愣!!

    找不到 new 這個 action。那我們就做給它。
  • +
+
+

回到candidates_controller,定義一個叫做 new 的 action(方法),存檔。

再次打開終端機,登愣!!!出現新的錯誤訊息。

跟前面建立 index 時候一樣,少了 new 的樣板,所以我們進到 view/candidates 資料夾裡面,新增檔案new.html.erb,存檔。

重新整理瀏覽器,可以看到畫面了。

有畫面了,那我們就可以開始製作表單囉

+
+
    +
  • action 表示要往哪個地方送
  • +
  • method 表示要用什麼方法送
    我們需要請routes告訴我們往哪裡送。按下超連結後,我們要去candidates#create

    所以action=後面要接的是/candidates ==>form action="/candidates"
    先幫我們的表單加上一個輸入匡

  • +
+
+

點下去”送出”按鈕後,會看到錯誤訊息(看到是正確的)

前面已經有經歷過 index、new 兩個 action 的步驟,所以這次當然也是一樣囉,找不到 create action ? 那就做一個給你。

+
+

回到camdidates_controller,定義一個create action

存檔,重新整理瀏覽器,應該就可以順利了。咦?怎麼跳出一個沒看過的錯誤訊息。

為什麼會出現這個錯誤訊息,由下一堂課來講解。

+
+
+

model 是.rb 檔案類型

ex: candidate.rb

+
+

model 是一個資料表

+
+

對應的是 db 裡面的檔案,名稱開頭是大寫,且資料表名稱英文複數型

ex: class Candidates < ActiveRecord::Migration

+
+

這就是 Rails 慣例

慣例優於設定

+

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

]]>
ASTRO CAMP 線上課程學習筆記 @@ -347,49 +347,6 @@

下一堂課程,將學習,如果存檔失敗,要如何執行。

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

-]]> - - ASTRO CAMP 線上課程學習筆記 - - - Ruby on Rails - -
- - Ruby on Rails 網站開發 練習 - 008 (候選人列表頁面,產生候選人列表) - /2023/01/19/Ruby%20on%20Rails%20%E7%B6%B2%E7%AB%99%E9%96%8B%E7%99%BC%20%E7%B7%B4%E7%BF%92-008-%E5%80%99%E9%81%B8%E4%BA%BA%E5%88%97%E8%A1%A8%E9%A0%81%E9%9D%A2%EF%BC%8C%E7%94%A2%E7%94%9F%E5%80%99%E9%81%B8%E4%BA%BA%E5%88%97%E8%A1%A8/ - 要將資料庫的的資料呈現到畫面,首先我們不需要自己寫SQL語法去撈資料

我們只要透過Model就可以幫我們去把資料拿出來。

進到CandidatesController,接著要來寫index action。這樣才能知道,我們要把什麼東西放到view//index.html.erb裡面讓使用者看到。

- -

index action 裡面我們增加@candidates = Candidate.all。這裡我們把candidate.rb這個 Model 裡面的所有候選人都拿出來,放到實體變數@candidates。

為何將變數取名為複數型態,是因為因為如果知道我們現在拿到的資料看起來是一個集合、一個群體,會用複數的變數名稱來取名。

-
-

接著進入到view/index.html.erb,我們要來讓從 Model 拿出來的候選人資料,可以在頁面上印出來。
★小撇步:這邊可以先在VScode上設定,把檔案的格式改為HTML
在頁面上,先新增一個<五個欄位的table>
<table>
<tr>
<td>Name</td> #名稱
<td>Party</td> #政黨
<td>Age</td> #年齡
<td>Politics</td> #政見
<td>Action</td> #動作:可能是 新增 or 刪除
</tr>
</table>

那我們要如何把資料印出來,我們可以透過「迴圈」的方式。一筆一筆的把資料印出來。
<% @candidates.each do |candidate| %>
<% end %>

接著把剛剛建立的 table 複製一份放到迴圈裡面,同時將原本的欄位內容替換
<% @candidates.each do |candidate| %>
<tr>
<td><%= candidate.name %></td>
<td><%= candidate.party %></td>
<td><%= candidate.age %></td>
<td><%= candidate.politics %></td>
<td>Action</td>
</tr>
<% end %>

最後寫成

接著打開瀏覽器看看畫面,有成功顯示前面我們增加的兩筆候選人資料

這時候我們來新增一筆候選人叫kk的資料。按下送出按鈕,看看結果會發生什麼?

-
-

哇!有成功新增資料,畫面也有出現提示

這邊就要再思考另外一件事情,候選人頁面顯示的欄位有包含政見(politics)。如果候選人的政見,字數非常多,那畫面會很擁擠不好看。
一般使用者想要是click候選人名稱後,會跳到新的頁面,這個頁面只會顯示此候選人的個人資料,包含政見。我們就開始來修該一下吧。

-
-
    -
  1. 拿掉view/index.html.erbpolitics欄位。
  2. -
  3. Name欄位加上超連結功能,要超連結的網址先暫時以#代替,因為要知道要去的路徑,需要請門口阿姨(Routes)告訴我們。
  4. -
  5. 打開終端機輸入rails routes,我們要找的路徑需要跟id有相關。可以看到路徑candidates/:id(.:format),有一個對應的controller#action。(candidates#show)

    所以這時候回到view/index.html.erb我們來補上超連結的路徑。

    打開瀏覽器,直接來測試看看,點擊超連結會發生什麼事?
    竟然出現錯誤訊息。
  6. -
-
-

在把錯誤訊息處理前,我們先來看看剛剛的超連結寫法,其實不是很好看,意思也不明確,這時候又可以請出一個小幫手<%= link_to '要顯示的字樣', 要去的位址 %>
先來修改一下<a href="/candidates/new">Add Candidate</a>
換成<%= link_to 'Add Candidate', '/candidates/new' %>

我們打開瀏覽器,右鍵 > 檢查頁面原始碼,這時候你會發現兩個長一樣。

-
-

這時候我們可以使用終端機打開rails routes看一下Prefix Verb這邊的new_candidate我們手動幫它後面加上_path 它就會幫我們做出/candidates/new出來。
所以回到view/index.html.erb ,我們把剛剛的<%= link_to 'Add Candidate', '/candidates/new' %>後面的/candidates/new 換成new_candidate_path

打開瀏覽器檢視網頁原始碼,發現其實兩個都是超連結到同一個網址。

其實第二個超連結等於是Routes幫我們產生的。這樣的好處就是,如果以後有需要維護專案或是更改超連結的網頁,我們只要到進到config/routes.rb這個檔案去修改路徑,整個網站就修改好了。

-
-
    -
  • 好處就是,如果在連結的地方少打字或者打錯字,瀏覽器會噴訊息提醒你。
  • -
  • 因為 link_to 是一個方法,所以只要有打錯字,就會噴訊息出來。
  • -
-
-
    -
  • 另外如果發現rails routtes有些Prefix Verb是空的就同上面的Prefix Verb
  • -
-
-

接著修改候選人名稱的超連結,改用 link_to 的寫法。

但是這邊我們是要連到某個id的候選人頁面,所以candidate_path要給它一個id,他才能正確連結到對的候選人。

按下送出按鈕,網址後面就會有id,但是畫面上噴出訊息the action 'show' could not be found

-
-
-

接下來,下一堂課程,我們要建立一個 “show action” 給它,當然同時也要給它一個 “show” 的 view。

-

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

]]>
ASTRO CAMP 線上課程學習筆記 @@ -436,6 +393,49 @@

下一堂課程,我們就使用CSS來製作一些醒目的提示

class CandidatesController < ApplicationController

def index
end

def new
@candidate = Candidate.new
end

def create

@candidate = Candidate.new(candidate_params)
if @candidate.save
flash[:notice] = "Candidate created!!!"
redirect_to '/candidates'
else
#NG
render :new
end
end

private
def candidate_params
params.require(:candidate).permit(:name, :party, :age, :politics)
end

end
+

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

+]]> + + ASTRO CAMP 線上課程學習筆記 + + + Ruby on Rails + +
+ + Ruby on Rails 網站開發 練習 - 008 (候選人列表頁面,產生候選人列表) + /2023/01/19/Ruby%20on%20Rails%20%E7%B6%B2%E7%AB%99%E9%96%8B%E7%99%BC%20%E7%B7%B4%E7%BF%92-008-%E5%80%99%E9%81%B8%E4%BA%BA%E5%88%97%E8%A1%A8%E9%A0%81%E9%9D%A2%EF%BC%8C%E7%94%A2%E7%94%9F%E5%80%99%E9%81%B8%E4%BA%BA%E5%88%97%E8%A1%A8/ + 要將資料庫的的資料呈現到畫面,首先我們不需要自己寫SQL語法去撈資料

我們只要透過Model就可以幫我們去把資料拿出來。

進到CandidatesController,接著要來寫index action。這樣才能知道,我們要把什麼東西放到view//index.html.erb裡面讓使用者看到。

+ +

index action 裡面我們增加@candidates = Candidate.all。這裡我們把candidate.rb這個 Model 裡面的所有候選人都拿出來,放到實體變數@candidates。

為何將變數取名為複數型態,是因為因為如果知道我們現在拿到的資料看起來是一個集合、一個群體,會用複數的變數名稱來取名。

+
+

接著進入到view/index.html.erb,我們要來讓從 Model 拿出來的候選人資料,可以在頁面上印出來。
★小撇步:這邊可以先在VScode上設定,把檔案的格式改為HTML
在頁面上,先新增一個<五個欄位的table>
<table>
<tr>
<td>Name</td> #名稱
<td>Party</td> #政黨
<td>Age</td> #年齡
<td>Politics</td> #政見
<td>Action</td> #動作:可能是 新增 or 刪除
</tr>
</table>

那我們要如何把資料印出來,我們可以透過「迴圈」的方式。一筆一筆的把資料印出來。
<% @candidates.each do |candidate| %>
<% end %>

接著把剛剛建立的 table 複製一份放到迴圈裡面,同時將原本的欄位內容替換
<% @candidates.each do |candidate| %>
<tr>
<td><%= candidate.name %></td>
<td><%= candidate.party %></td>
<td><%= candidate.age %></td>
<td><%= candidate.politics %></td>
<td>Action</td>
</tr>
<% end %>

最後寫成

接著打開瀏覽器看看畫面,有成功顯示前面我們增加的兩筆候選人資料

這時候我們來新增一筆候選人叫kk的資料。按下送出按鈕,看看結果會發生什麼?

+
+

哇!有成功新增資料,畫面也有出現提示

這邊就要再思考另外一件事情,候選人頁面顯示的欄位有包含政見(politics)。如果候選人的政見,字數非常多,那畫面會很擁擠不好看。
一般使用者想要是click候選人名稱後,會跳到新的頁面,這個頁面只會顯示此候選人的個人資料,包含政見。我們就開始來修該一下吧。

+
+
    +
  1. 拿掉view/index.html.erbpolitics欄位。
  2. +
  3. Name欄位加上超連結功能,要超連結的網址先暫時以#代替,因為要知道要去的路徑,需要請門口阿姨(Routes)告訴我們。
  4. +
  5. 打開終端機輸入rails routes,我們要找的路徑需要跟id有相關。可以看到路徑candidates/:id(.:format),有一個對應的controller#action。(candidates#show)

    所以這時候回到view/index.html.erb我們來補上超連結的路徑。

    打開瀏覽器,直接來測試看看,點擊超連結會發生什麼事?
    竟然出現錯誤訊息。
  6. +
+
+

在把錯誤訊息處理前,我們先來看看剛剛的超連結寫法,其實不是很好看,意思也不明確,這時候又可以請出一個小幫手<%= link_to '要顯示的字樣', 要去的位址 %>
先來修改一下<a href="/candidates/new">Add Candidate</a>
換成<%= link_to 'Add Candidate', '/candidates/new' %>

我們打開瀏覽器,右鍵 > 檢查頁面原始碼,這時候你會發現兩個長一樣。

+
+

這時候我們可以使用終端機打開rails routes看一下Prefix Verb這邊的new_candidate我們手動幫它後面加上_path 它就會幫我們做出/candidates/new出來。
所以回到view/index.html.erb ,我們把剛剛的<%= link_to 'Add Candidate', '/candidates/new' %>後面的/candidates/new 換成new_candidate_path

打開瀏覽器檢視網頁原始碼,發現其實兩個都是超連結到同一個網址。

其實第二個超連結等於是Routes幫我們產生的。這樣的好處就是,如果以後有需要維護專案或是更改超連結的網頁,我們只要到進到config/routes.rb這個檔案去修改路徑,整個網站就修改好了。

+
+
    +
  • 好處就是,如果在連結的地方少打字或者打錯字,瀏覽器會噴訊息提醒你。
  • +
  • 因為 link_to 是一個方法,所以只要有打錯字,就會噴訊息出來。
  • +
+
+
    +
  • 另外如果發現rails routtes有些Prefix Verb是空的就同上面的Prefix Verb
  • +
+
+

接著修改候選人名稱的超連結,改用 link_to 的寫法。

但是這邊我們是要連到某個id的候選人頁面,所以candidate_path要給它一個id,他才能正確連結到對的候選人。

按下送出按鈕,網址後面就會有id,但是畫面上噴出訊息the action 'show' could not be found

+
+
+

接下來,下一堂課程,我們要建立一個 “show action” 給它,當然同時也要給它一個 “show” 的 view。

參考來源:為你自己學 Ruby on Rails (https://railsbook.tw/)

]]>
@@ -1161,7 +1161,7 @@

如果你想轉職軟體工程師,但是還沒找到一個強大給力的學習資源 Support你, ASTRO Camp 全端工程師實戰訓練營會是你轉職之路的好夥伴

或是你對於轉職為工程師有點嚮往,但是還是有疑問或迷惘,提供我的聯絡方式,歡迎你跟我聊聊

-

信箱:woodming9889@gmail.com

+

信箱:woodming9889@gmail.com