Fran

一隻野生的前端工程師。相信每一行程式碼都是改變世界的力量。

善用 Rebase 的 Git 工作流程

簡單介紹了 Merge 和 Rebase 的差異,並且以合併後的結果線圖來作比較。
在多人協作的專案場景,能好好善用 Rebase 的話,絕對能省去不少麻煩事!

資工系學士畢業新鮮人的自白

當初應屆推本校資工所都沒上
我很煩惱是不是該繼續往資工這條路走 -- by young60509

上週在批踢踢軟體版看到網友 young60509 發表的文章,[請益] 該不該往資工走下去... 作為同屆畢業生我看了也難免有感而發。

本文並不會告訴大家,我在資工系修過什麼課、做了什麼事、遇到什麼人、學到什麼樣的東西,主要是想說說就讀資工系的我,甫畢業之初的一些看法。

我在社群網路公司實習的日子

今年四月,我投遞出人生的第一份履歷。

我使用該公司的社群網路服務已有近七年之久,於是當他們釋出前端工程師的實習職位,考慮不過半天、回過神來我已將履歷投至對方信箱——也很幸運地,在經過篩選與面試後,我獲得了暑期實習的合作機會。

經過一段時間沈澱之後,我想我是該好好寫篇文章,分享我在短短兩個月的實習過程之中的所見所學。

什麼是 SSH?設定 Sublime 同步遠端檔案

在開始介紹 SFTP 以前,我們要先聊聊 SSH (Secure Shell) 協定。沒聽過 SSH 嗎?

那你或許有聽過 Telnet,沒錯!就是廣大鄉民們平常用來上 PTT 的連線協定。
Telnet 易用,速度又快,只要執行 Telnet 程式來連線到遠端伺服器,使用者輸入帳密後便可以遠端控制主機。

但是由於 Telnet 傳輸的資料並未加密,所以容易遭到竊取,後來 SSH 橫空出世,SSH 預設是以金鑰為基礎來驗證及加密傳輸,也可以省去輸入帳號密碼的步驟,大家也就多改用較為安全的 SSH。

淺談 Polling, Comet, Websocket

現在需要做即時回應與更新的網站已是愈來愈多,大至 Facebook、Twitter,小至即時聊天室的實作等等,在以前使用者只能靠著重新載入網頁才能獲得最新的資訊,但是這樣不但很浪費時間,也會佔用很多不必要的網路資源,並不是一個好的方式。

現在要實作這樣的功能,當然不能不知道一些網路推播技術 Internet Push technology——對這個名詞很陌生嗎?讓我們來看看維基百科的說明:

推播技術,是一種基於 Internet 通訊方式的伺服器推播,其中要求通訊的請求是由發布者或中央伺服器發起。與 pull/get 形成對比,資訊傳輸的相應一般由接收者或用戶端發起。
推動服務通常是基於提前的資訊預設定上。也就是所謂的 publish/subscribe 模型,客戶通過訂閱由伺服器提供各種資訊的頻道,不論何時都可以在其中一個頻道得到新的內容,同樣伺服器通過推播把資訊傳遞給相應的用戶端。

HTML5 的資料屬性 (data-* attribute)

常常在 html 之中看到形如 data-* attribute 的資料屬性,以下面這段程式碼為例:

<div class="controls"  data-uid="${session_user.id}">
<span id="like_post" class="s_${post.favorite}">
<a void class="do pif-like" data-function="like">${_("like")}</a>
<a void class="undo pif-like" data-function="unlike">${_("unlike")}</a>
</span>
</div>

這段程式碼之中,有的元素被賦予了 data-uid 的屬性,有的則是被賦予了 data-function 的屬性。

然而如果你直接 google data-uid 或是 data-function 卻也查不太到這個屬性,這到底是什麼?又有什麼意義或用途呢?

Gulp 建立自己的自動化程序

在進行網頁開發的時候,過程中可能有許多問題需要處理,以我的開發習慣來舉例:

  • 編譯 SASS, Pug
  • 壓縮 .css, .js 或圖檔
  • 修改完成之後要不斷 F5 重整頁面
  • 諸如此類…

雖然很多工具都可以完成各別的功能,但這樣在開發的過程中反而顯得相當沒效率,這時候我們就可以利用 Gulp 來協助我們建立自己的自動化程序。

JSON & AJAX 基本觀念與實作

之前在學校課程中實作資料庫內容的呈現時,是利用 PHP + MySQL 做資料的傳遞,然而在前後端分離的工作模式之中,只要前端從後端 API 那裡接到產出的資料,就可以直接執行頁面上的資料呈現與處理。

本文所要實作的內容如下:

  • 建構 JSON data file 存放預設資料
  • 透過 jQuery 語法 ( Ajax ) 讀取資料

也就是說著重在前端接取資料並呈現的部分,不包含後端產生 JSON data file 的工作。