4. 財務會計

背景介紹

剛畢業一兩年,在某間公司當財務會計,平日很忙,只有假日才有空學一些新東西,覺得寫程式好像不錯所以突然想學,但是不知道從何開始。

疑問

前端工程師與後端工程師差別

前端就是你看得到的那些畫面,後端就是你看不到的、背後的商業邏輯。
舉例來說,你去Google看到的搜尋畫面,就是前端工程師的範疇,當你點下「搜尋」以後,要怎麼做到「搜尋」這件事情,就是後端工程師要去思考的了。

自學coding如何開始?該如何找資源?

他說他有用過codecademy,我也推薦這個網站與其他的教學網站,接著帶他看了一遍這上面的課程,稍微解釋每一個類別是什麼:

  1. html, css, javascript
    這些都是拿來寫網頁的(我們先忽略javascript與node.js,避免一次吸收太多會混亂),html就是網站的「內容、骨架」,css就是網頁的「外觀、衣服」,所以一個網站的美觀與否通常都是由css決定的,只要換css就可以幫網頁換一件衣服,會有不同的風格。 javascript是在網頁上面寫程式碼,例如說你要跳一個視窗、做一個跑馬燈效果,就是他來負責。

  2. jQuery
    一個js的library,函式庫,就是假如你原本用js寫要十行的程式碼,jQuery幫你包裝好以後,現在只樣兩行就能達成同樣功能。

  3. php
    後端的程式語言,處理一些商業邏輯之類的行為。
    假設妳現在有一個「商品介紹」的頁面,那就是html可以搞定的,但是你今天若是要加上「購物車」的功能,就必須有後端伺服器。

  4. python, ruby
    這邊我不太知道怎麼介紹腳本語言,所以我簡單帶過,然後講一下ruby搭配rails可以快速開發網站。

  5. rails
    就是ruby的一套framework,這邊我也不太知道怎麼描述「框架」這個概念,所以我說:「框架跟程式庫有點像,一樣是事先幫你包裝好許多東西,你只要照著規則走,就可以事半功倍,因為很多事情框架都幫你做好了」

  6. API
    簡單來說就是提供給別人的程式接口,像是現在許多網站可以用臉書登入,你可以想成是臉書提供了一個「API」,一個可以讓其他工程師使用的接口,工程師把自己的網站接上這個接口之後,就可以跟臉書所提供的登入功能互通,於是就可以用臉書登入了。

  7. angular
    js的framework,跟前端有關的。這邊我簡單帶過而已。

  8. command line
    在 windows 底下叫做「命令提示字元」,mac 底下叫做「終端機」,可以用指令完成許多操作,例如說簡單的讀寫檔案、新建資料夾都可以,工程師必備的技能之一。

  9. sql
    這跟資料庫有關,有後端的網站一定需要資料庫來儲存資料,那要怎麼查詢裡面的資料呢?這個時候就有一套已經規定好的語法格式,會有一些指令可以使用,例如說「我要帳號是aaa的會員的姓名、信箱」,翻成指令可能就是select name, email from members where username='aaa'

  10. java
    這邊我也簡單帶過,就說Java可以寫桌面應用、Android跟web後端

  11. git
    版本控制的軟體,程式開發的時候版本控制很重要,或是可以先簡單想成「備份檔案」。
    假設今天一個網站要改版,但是要怕改版之後會爛掉,那當然要先備份起來,以往的作法可能是複製一份放在其他地方然後改檔名,但是自從git出現以後,它提供了更方便的指令來做版本控管這件事情。

如果想要有自己的作品,該使用哪個平臺?

github,大家都把自己的作品放在上面給大家看

如何想轉職,怎麼選擇好的軟體公司?

  1. 看工作內容
  2. 看公司福利
  3. 看面試時候的公司環境
  4. 上網查詢公司相關資訊

程式跟數學的關係?

有些程式不需要數學,例如說今天你要寫一個很簡單的購物車,你需要會數學嗎?不用!
但是今天如果你想加一個「推薦系統」,就像是「你可能也會喜歡、其他人也瀏覽過...」的這種功能,你就需要數學了。因為背後都是一些數學模式在做這些事情。

或是講聲音辨識跟影像辨識好了,背後就是一堆數學模型跟公式,你要怎麼把聲音轉化成數字?要怎麼把背景雜訊去掉(降噪)?要怎麼從一段音檔裡面提取出一段特徵值?要怎麼跟其他的音檔做比較?這背後都是一堆數學。

相關資源

  1. codecademy
  2. codes school
  3. tut+
  4. Learn to Code HTML & CSS
  5. 高雄前端社群 -前端資源懶人包
  6. 學習html與css