跳到主要內容

[推薦] JavaScript 前後端學習書籍

JS 道現在已經變成一種顯學,從以前不太重要的瀏覽器端,到現在從瀏覽器(瀏覽器也只能夠使用 JavaScript 執行),到後端程式語言 Node.js ,甚至是 mobile 上都可以使用 JS 進行程式開發,因此這個語言變得越來越重要,也越來越為更多人重視。

身為網站開發者,是需要好好學習一下這個語言的奧祕,

首先從瀏覽器端,一開始對於我自己所困擾的是什麼是 AJAX,翻遍許多書籍之後,終於找到一本比較能讓自己所了解的,

前端部分:

[IMG]http://i.imgur.com/RobJpDt.jpg[/IMG]
Bulletproof Ajax

這本書裡面講解 AJAX 如何與伺服器互動,同時講解瀏覽器到底 DOM 是什麼東西, DOM 如何運作,到最後面漸增強的部份都有做簡單的講解,十分適合初學者入門學習。

當然這本只是概念,如果需要更深的層次,每個名次都有一本專門的書可以提供參考,會推薦 Bulletproof Ajax 給初學者,也是因為他的輕薄,試著從這種簡單的書,開始進入 AJAX 的世界。

[IMG]http://i.imgur.com/gXSJOfC.jpg[/IMG]
JavaScript for web developers

當開始對於瀏覽器,DOM,ajax 有了基本概念之後,接著可以試著看這本 JavaScript for web developers ,這本書相對前一本就厚重許多,裡面從 JS 的每個屬性開始講解,到 funciton, closuure, timer 等一一解釋,甚至於瀏覽器中的事件(Evetn) 都有相當詳細的說明,裡面解釋了許多 JavaScript 在瀏覽器執行時,可能會發生的問題以及避免方式。

當真正深入開發產品的時候,可以從這本書籍裡面,避免掉許多細節問題。

[IMG]http://i.imgur.com/dPVTj1R.jpg[/IMG]
JavaScript good parts

這本書籍並不分前後端,只要是寫 JavaScript 的人,過一段時間都可以重新回味一下 JavaScript Good Parts,裡面提供了對於 JS 的見解,對於自己開發的 naming, conviention, logic 這些問題處理上,偶而重新翻一下此書籍,都會有新的體認。

JavaScript good parts 這本書,推薦給已經開發 JS 一段時間的朋友,可以當閒來無事的時候,或者睡前的床頭書籍(至少我是如此)

後端部分:

因為後端程式相關書籍還是比較少,因此推薦幾本給大家,

[IMG]http://i.imgur.com/k3gzCjW.jpg[/IMG]
Learning Node

這本書是目前覺得少數幾本寫 Node.js 最扎實的教學書籍, Learngin NODE 當然一開始從安裝開始說起,之後提到 REPL 的觀念,甚至後面的 module, flow control, testable 都講解的十分恰當,如果你已經是開發過前端 web 的朋友,想要試試看不同挑戰,這本 Learning Book 推薦給大家。

[IMG]http://i.imgur.com/bkOENxe.png[/IMG]
Node.js 台灣社群協作電子書

這本書籍,由 Node.js Taiwan 社群的朋友一起彙編,裡面從基礎安裝,到個別模組教學,更至於是範例程式都有詳細的說明,這本書推薦給想要學習 Node.js 的朋友,可以透過此書,學習怎麼進入 Node.js 的程式開發,特別是透過範例,進行簡單的修改,就可以完成自己的第一個 Node.js 網站開發。

更特別的部分是,這本書籍完全免費,希望聽到大家的回饋,讓學習 Node.js 變得更為簡單,讓技術變成 0 門檻,如果有興趣,歡迎到這個網站,瀏覽此書籍。

http://book.nodejs.tw/

後記:

以上書籍,是自己的學習歷程,也是從眾多書籍中歸納出來,覺得適合分享給初學者,進入網站開發的 js 入門書籍,如果各位有更好的書籍,歡迎一起來分享



留言

這個網誌中的熱門文章

npm 還可以看影片,沒想到真的有人這麼做

 還真的有人做這件事情, 庆余年2剛上線,有一位小哥竟然利用 npm 包的機制,將整套高清視頻都搬上來了。 https://x.com/fengmk2/status/1791498406923215020 圖片來源, https://x.com/fengmk2/status/1791498406923215020/photo/1 此 Package 出處 https://www.npmjs.com/package/lyq2?activeTab=versions 截圖留念, 機制說明 NPM(Node Package Manager)是一個流行的 JavaScript 軟件包管理器,用於管理和分發 Node.js 應用的依賴。它允許開發者將自己的代碼打包成「包」,並上傳到 NPM 的公共註冊表,供其他開發者下載和使用。這個過程通常包括以下步驟: 創建 NPM 包 :開發者將自己的代碼和相關文件打包成一個 NPM 包。 上傳到註冊表 :將包上傳到 NPM 的公共註冊表。 下載和使用 :其他開發者可以通過 NPM 命令行工具下載並安裝這些包。 這位小哥利用這一機制,可能是通過將整套高清視頻文件打包成 NPM 包並上傳到公共註冊表。其他人只需通過簡單的 NPM 命令即可下載這些視頻文件。 影響 版權問題 :這種行為涉及明顯的版權侵犯。高清視頻通常受到版權保護,未經授權的分發和下載都是非法的。 NPM 註冊表的可靠性 :這類內容的出現可能會損害 NPM 註冊表的可靠性和聲譽。NPM 註冊表是開發者分享和使用代碼的重要平台,如果充斥著這些不合法的內容,會影響其公信力。 潛在的安全風險 :將視頻文件偽裝成 NPM 包可能會帶來潛在的安全風險。下載這些包的用戶可能會無意中下載到惡意軟件或其他有害內容。 技術濫用 :這一行為展示了技術的濫用,原本為了方便開發者分享和使用代碼的機制,被用來分發非法內容,會對整個開發者社區造成負面影響。 歡迎留言給我,讓我們得到更多討論,一起回饋更多可能。 如果對於技術架構或者技術開發有相關需要顧問教育訓練服務或專案開發,聯絡方式如下,或者是與皇漢科技 EXMA-Square 進行聯繫。 FB: https://www.facebook.com/clonncd/ Twitter: https://twitter.com/clonncd 熱血漢誌: htt

面試者如何挑戰大工程師時代來臨?

面試者如何挑戰大工程師時代來臨? 全世界都在倡導轉職成為工程師,似乎轉職成為工程師就成為職場的救贖,真的是如此嗎?讓老衲來杠給各位聽。 最近有位好久不見的小朋友,是 2000 年出生的小蔡,對於即將面臨到面對職場的挑戰開始關心起技術,他開始尋找比較適合自己的領域,同時也開始在思考到底為了接下來的就職小蔡該如何準備。 詢問我說是不是可以考慮軟體開發工程師這條路線 對於他的詢問,反而引起我的注意, 這讓我開始思考並映射於最近招募的經驗,軟體開發此領域是不是對於每個人都是可以擔任的職啀,這邊分享一些自己的看法希望對各位有所幫助。 全民工程師這件事情 在全球景氣低迷的狀況下,的確特別在這一年大家會很有感覺萬物齊漲,薪水不漲,薪資就是一直停滯不前。 很多時候,在不同的領域中,會發現整個薪資就算是擔任了管理職務主管你也會面臨到薪資的強大屏障在自己面前。 這個時候, 軟體工程師年薪百萬口號 似乎就成了一種救贖。 好像成為了工程師就可以達到年薪百萬,在家輕鬆工作,不用打卡也不用受到風吹雨淋,隨時想工作就可以工作,每個月又有固定薪水入帳,感受到類財富自由,人生的美好。 如果能夠爭取到跨國公司的職位,這份薪水有可能還可以上看每個月十多萬以上,甚至是往上也是極度有可能的事情,人生美好層次又再度提高了起來。 但這件事情是真的每個人都可以達到嗎? 還是這就是另外一種性存者偏差呢? 亦或者這些人其實是金字塔頂端的小眾? 每份履歷都像是同一種履歷 最近在最近幾年在面試工程師的時候特別會看到許多轉職者,一開始履歷裡面看到相關的作品一開始會覺得十分的驚艷, Wow, 現在的新手就可以做到如此精美的畫面,這些畫面是我當初用 Bootstrap 也做不出來的東西,許多的互動體驗好的一個不行,做出來的頁面配色和對齊也是極致。 但是隨著時間推移,多看了幾封履歷之後,就會發現在各大技術養成學院出來的學生履歷成果內容如出一轍,在面試的過程中也會詢問許多關於框架的底層概念,和比較技術觀念的時候,甚至是許多框架的核心概念,就很容易露出馬腳。 很多面試者會 一問三不知 ,透過許多引導,但殘酷的是連關鍵字是什麼都也無法推敲出來,更不用說在小組裡面到底怎麼樣合作,許多不同線上產品的比較,使用者流程,使用者後面的互動邏輯等,幾乎是風吹一片倒,只能

初級工程師的迷霧:解析開發中常見的困擾與挑戰

在我和工程團隊的共事歷程中,我注意到初級工程師經常遇到的問題。這些問題,無論在面對簡單或複雜的挑戰時,都能體現出來。歸納起來會有常見以下幾個面向。 簡單的問題 發現許多初級工程師在面臨簡單或複雜的問題時,常有可能會遇到困難,時常會有一種繞圈圈的氛圍, 常見問題分別有, 問題本質 首先是對於問題本質上並沒有釐清完成的目標,以及問題本身是要解決什麼樣的商業問題,客戶問題,導致於因為總總原因,做了 scope 過大,或者,花了過多時間進行 over design 的問題發生。 過度依賴套件 發現在新手開發中,會發現為了解決單一問題,卻引用了一大包的 libary 或者引用了不適合此問題的套件。在求解的過程中,容易導致要解決套件的問題,而忘記了要解決的問題是什麼。 複雜的問題 我們在面對複雜的問題時,經常會因為缺乏策略與經驗而感到困惑,反而在處理看似簡單的問題時,卻可能因為過度依賴套件或缺乏組合技巧,而陷入泥淖。不論是複雜或是簡單的問題,我們都需要找到更有效的解決方式。 不論是經常過度依賴套件求解,又或者複雜的問題不知道如何拆解。因此導致新手可能會感到無所適從,不知道如何運用組合技巧。因此,他們往往在處理看似簡單的問題時,容易陷入困境,導致專案的時程延宕。 特別是各自工程師都有開發壓力時,身為新手開發者就更難與資深開發者進行討論,從中汲取前輩的經驗,轉化成自身的價值發生。 解決的方向 上述的問題,自己再開發的時候也或多或少會發生,當然在新入門者更是容易深陷其中,不知如何自拔。 除了參與社群,從傾聽到互動的過程中,從前輩的經驗進行思考及內化的過程。 在 AI Generated 時代,我們可以透過 LLM 透過適當的思考方式和問答過程,逐步的逼近答案,也許是一條可以進行的道路。 這裡,會以透過內部訓練的經驗,提出如何以 ChatGPT 這樣的工具為例,提升對於新手工程師的幫助。 透過 ChatGPT,我們可以解決許多類似的問題。例如,我們可以透過 ChatGPT 建立一個問答系統,進行問題分析,或是請 ChatGPT 提出最適合的工具和方法來解決問題,尤其是那些可以透過使用基礎 function 就能處理的簡單問題。這不僅能讓我們避免過度依賴套件,更能發掘並利用基礎工具的能力。 工商時間 7/3 (週