為什麼回來了?
兩年前的四月份在AC開始轉職的第一步,結果努力不到兩個月就在學期二-一的最後一周因為沒跟上進度就放棄,過了將近兩年後,仔細思考未來的職涯方向與想要的生活方式,雖然深知在資訊安全這塊領域仍有許多不足,但漸漸發現於會計事務所提供資安服務終究不會是適合自己久待的地方,這次回來的學習目標很簡單也相當具有挑戰-成為後端工程師。
重新開始
這次大約花了大概三週的時間複習完2-1的課程,也把剩下沒寫完作業與技術驗收模組完成,這學期主要是學習Javascript(周年摸彩活動)、Bootstrap與RWD(重建履歷)、DOM事件(晴子的記分板、to-do list),其中如何找尋DOM節點並建立監聽器,讓我對平常使用網頁所觸發的事件與背後如何透過JS改變網頁的HTML與CSS變化更有感覺。此ALPHA camp學習體驗最特別的莫過於可以觀摩同學的作業,我每次繳交完作業也會隨機挑選三位同學的作業做學習,且每次看到助教非常熱心回答同學問題就會莫名有個動機想要完成作業(?)
為了可以在日後取得區塊鏈證書,我也在兩年多後完成技術驗收題組的三個題目。
- RGB to Hex Converter這是讓我花最多時間的一題,天真如我看完題目就馬上在找哪邊有像之前的作業,有提供Codepen的範例讓我們fork,第一次看完發現找不到,沒關係我再看一次題目;第二次看完,天呀真的沒有, 腦中只出現「seriously ?」;第三次看完還是沒有,心中不斷地崩潰,我竟然要從自己最不擅長的切版完成這個網頁。OK,fine, 為了讓我的信心不至於馬上被打倒, 果斷先做第二題
- 尋找最長單字 : 這個題目是要找出句子裡面最長的單字,因為之前有經過stanCode string manipulation的洗禮,已經有做過類似的題目,因此這此除了特別再複習JS裡面 slice與split的函數外,並沒有花太多時間,大概30分鐘左右就完成問題2
- Integer to Roman : 這題是要把十進位的數字換成羅馬數字,一開始看完題目也相當緊張,羅馬數字超過十就不知道了要怎麼寫個轉換器。後來直接打開維基百科,觀察1~100羅馬數字的規律,發現可以透過十的倍數找到背後的規律,因此我是建立四個陣列,分別儲存1~9、10的倍數、100的倍數與1000的倍數,接著判斷每千位數、百位數、十位數、與個位數分別對應的羅馬數字,再做字串的相加取的最終結果。
- RGB to Hex Converter : 最後還是無可避免地回到了色碼轉換器,這可以說就是不斷的複習教材與google,要如何抓取正確的dom節點、要如何選擇監聽器的事件、flexbox如何排版、padding與margin要選哪個等等太多要複習的觀念,實際完成後卻獲得滿滿的成就感,在拉slider的時候想到,原來這裡有個監聽器,監聽"mousemove”這個事件,同時觸發的函數會透過抓取節點,讓rgb數值等於slider上的value;將rgb值即時轉換為hex值;最後將背景顏色根據hex值做改變。從沒想過自己可以竟然可以慢慢思考網頁上一個按鈕、一個滑動背後程式的運作,真的是充滿驚喜與喜悅。此外自己也想到日後可以增加的功能:
- 如果輸入大於255或小於0的值,必須讓使用者重新輸入
- 有個按鈕可以提供rgb色碼的隨機數
- 改變slider的css格式(總覺得可以更漂亮)
- 如果輸入大於255或小於0的值,必須讓使用者重新輸入
- 在基本板可以從RGB轉換為HEX,也可以從HEX轉換為RGB
目前的規劃
這次複習2-1課程時,我總是三不五時會看看當時同學的profile,發現有許多兩年前的同期同學都已經轉職為軟體工程師,而自己又在繞了一圈回到這條路,未來將在7/18開始學期2-2的課程,目前是每天早上六點起來看書,隨著2-2課程難度的增加與工作上loading變重,知道要如期完成2-3的課程會非常具有挑戰性,如果沒辦法可能也只能再努力更早起床學習,盡量在星期1~5就完成當週課程學習,周末好好練習剩下一到兩個作業,並完成當週的ORID筆記,加油吧,學期2-2見!