㈠ 國企前端程序員都在干什麼
國企前端一般還是基本的工作項目,前端工程化:工程化,組件化,模塊化是一線大型互聯網公司的標准,這些一般都不需要。
國企前端程序員一般的工作內容
1.負責網站前端規劃、架構和設計; 2. 運用相關web前端技術,規劃產品和用戶需求設計頁面原型; 3. 熟練使用JavaScript進行代碼構建,完成產品設計的各種交互; 4. 保持高效的前端性能,優秀的代碼可維護性,良好的瀏覽器兼容性; 5. 同後台相關開發人員協作,獲取後端數據後進行效果展示。
㈡ 做前端開發主要學些什麼
要學前端開發,首先要熟悉幾種最基礎的程序語言。前端需要用到的是:HTML、CSS,JavaScript,在頁面的布局時, HTML將元素進行定義,CSS對展示的元素進行定位,再通過JavaScript實現相應的效果和交互。這些基礎語言,必須在熟練掌握之後,結合不同的開發工具,開發出高質量的頁面。
最開始用到的開發工具主要有如下幾個:
1,Dreamweaver:,集網頁製作和管理網站於一身的所見即所得網頁代碼編輯器。
2,Sublime,全稱Sublime Text ,是一個主要功能包括拼寫檢查,書簽,完整的 Python API , Goto 功能,即時項目切換,多選擇,多窗口的代碼編輯器
3,HBuilder:是DCloud,推出的一款支持HTML5的Web開發IDE。
當然,並不局限於這些工具,如果要開發出更好的作品,要用到的肯定是更廣泛的工具,工作中不同工具的靈活運用也是一種能力的體現,比如可以將圖標 web 字體放到自己的項目中的FontelloFontello、能夠自動實施安全相關的 header 規則的Secureheaders、針對於編寫現代 web 和雲應用的跨平台編輯器的Visual Studio CodeVisual Studio Code。
前端開發要學習的知識很廣泛,不過最重要的,就是要打好基礎,熟練掌握三種基礎技能,無論什麼網頁的製作都不在話下。
㈢ 學習web前端要注意什麼工作中最常用的技術是什麼怎樣著手學更快
都說前端入門低,想學好前端絕對不容易,可以說現在前端所需要掌握的技能超過後端和以往,新技術概念層出不窮,到底所謂的前端都應該幹些什麼都應該會寫什麼呢?
本人身邊有太多的人會切幾張圖, 會用jQuery做個特效, 會從bootstrap里復制粘貼, 會用html游戲框架寫個flappy bird, 會在Github里找各種模板自和庫拼拼湊湊, 就口口聲聲大言不慚的稱自己為前端工程師. 說什麼前端好簡單啊, 前端找工作好難啊, 沒有出路啊, 想轉行啊. 甚至有更多的人還不明白什麼是HTML, 就到處問(知乎里尤其多)怎麼開始學前端啊, 前端前景好不好啊. 依照本人的經驗, 什麼東西難不難, 什麼東西好不好, 可不是這樣問出來的. 我相信在這在這種網路信息資源及其豐富的年代, 花個半小時自行搜索一下你應該可以得到你想要的答案.
好了言歸正傳, 前端工程師真的是一個無關緊要的職位么? 我們先來看看前端工程師都要做些什麼, 看看那些稱自己是'所謂'的前端同學們都能走到哪一步.
這里直接跳過最基本的HTML+CSS+JS, 包括但不僅限於:
- HTML各種element怎麼用什麼時候用?
- Event? EventLitsener? HTML中觸發event以及JS中處理event?
- DOM tree? 添加? 修改? 刪除? 搜索? 遍歷? 選擇? children? parent? sibling?
- 什麼是window? 什麼是document?
- JS基本語法? function? loop&condition? scope&closure? array&object? this?
- CSS 什麼是box modal? position? float? 各種選擇器(*, >, ~, :nth-child)?
如果看到這里有任何一項完全沒聽說過沒用過, 或者查各種文檔後'大概'知道怎麼用的同學們, 很遺憾, 你們現在算不上是一個合格的前端工程師. 如果不是, 請繼續.
### 程序員的基本素質和知識
(有些人覺得前端不同於傳統意義上的程序員, 這點我十分不贊同. 或許把前端工程師叫做JS程序員更加貼切, HTML和CSS就好比其他語言中的UI庫)-
- 高數, 基本的概率統計 (連簡單的微分方程都不會解的朋友們就不要稱自己為前端人員了!)
- 基本數據結構 能用JS寫出linked list, stack, queue, (binary)tree, graph, hashtable么?
- 基本演算法 能用JS實現各種search(linear, binary..), 各種sort(bubble, insertion, merge, quick, selection), 以及樹的搜索(Breadth First/Depth First)和遍歷(3種順序)么?
- 設計模式 知道什麼是singleton, factory, strategy, decrator么?
- Git 不要只是停留在把Github當做一個網路儲存器的層面上, 知道branch, diff, merge么?
- 基本的英語能力(不要求聽說, 只用來讀/寫文檔資料)
- 基本的計算機知識 知道位運算, 溢出, thread, lock, concurrency, parallelism么?
- 熟悉unix的基本命令么? 知道ssh public/private key都是幹嘛的么?
- 知道正則么? 能夠熟練的使用么?
- 能寫出詳細的注釋/文檔, 讓閱讀你代碼的人知道你要幹嘛么? 能短時間內快速地讀懂來自你同事或者其他地方(github, blog)的代碼, 知道什麼東西應該寫在什麼地方, 以便迅速地參與其中么?
- 給你一個你從來沒有接觸過的庫/語言, 能能夠在較短的時間內在你的代碼里正確使用么?
- 有一個得心應手用的熟練地編輯器/IDE么? 不要求大家都是vim/emacs大神, 但也不要做什麼都是用滑鼠來點.
- 基本的檢索查詢能力(google, stackoverflow, MDN)
- 單獨思考解決問題的能力, 團隊合作, 與人相處
如果以上的內容都有所了解(這里不會強調精通), 恭喜你, 你擁有了成為前端工程師的基礎知識. 繼續.
### 前端專業知識
- 知道什麼是AMD, COMMONJS么? 知道call, apply, bind么? 知道JS中foreach, filter, some, every么? 知道怎麼實現functional JS(curry等)么?
- 知道各種所謂的高級HTML的API(File, Web Audio, WebSocket)么?
- 知道各種CSS Preprocessors么? 能講出他們各自的優點和缺點么? 熟悉並且會用其中的一種么?
- 知道各種CSS框架么? 能講出他們各自的優點和缺點么? 熟悉並且會用其中的一種么?
- 知道canvas, SVG么?
- 知道怎麼把你的東西做成responsive, cross-browser support么?
- 知道什麼是SEO並且怎麼優化么? 知道各種meta data的含義么?
- 知道什麼是Ajax, restful, get, post么? 知道怎麼和後台交互么?
- 知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout...)么? 能講出他們各自的優點和缺點么? 熟悉並且會用其中的一種或多種么?
- 知道什麼是webkit么? 知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
- 知道現在前端一般的工作流程(gulp, grunt, git, svn, npm)么?
- 知道怎麼測試代碼么? 知道BDD, TDD, Unit Test么? 知道怎麼測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
- 知道前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用么?
- 知道npm, V8, node, express, socket么? (這里補充一點, 現在越來越多的公司都採用: '前端網頁 -> 前端後台 -> 後台'這種構架來搭建東西, 也就是說, 前端工程師不僅要做傳統前端的網頁, 還要寫自己的後台, 來跟真正的後台進行交互, 至於前端的後台用什麼語言來寫, 一般是node/python/ruby, 不太會用到龐大的java, 所以這里我把node列為前端工程師必須要掌握的技能之一) 知道cache, authentication么?
- (如果要用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
- 另外, 前端這個行業跟傳統的c/c++/java程序員還是有一定的差別的. 由於是新興產業, 所以各種行業標准, 框架, 庫會隨時隨地的產生和更新 (作為一個c程序員, 十年前怎麼寫東西現在還是怎麼寫東西). 今天出了node和react, 明天又出了io和mean. 所以, 積極關注各種前端產品, 跟上變化的節奏, 也是身為一個前端程序員必備的技能之一. 知道ECMAScript 6里怎麼寫class么? 知道react, flux, reflux么? 知道polymer, dart么? 知道meteor么?
以上是摘自知乎某大牛的文章=====
感覺對新人挺打擊的,不過理清從大體上重新認識前端對學習理解也有一定幫助,只要自己想好了就堅持下去,學前端的最重要的隨時學習能力,應該前端領域知識面涵蓋太廣,很多技術也不成熟,正在發展中,只能不停學習各種新技術新知識。。能分辨哪些技術是必須掌握的,哪些是少數人創造用來提」升逼格「的概念,能把PS+HTML+CSS+js玩熟,會一兩個框架,懂點設計。就可以了
㈣ 前端程序員需要掌握哪些基本技術
web前端主要掌握詳情頁的交互效果,以及與後端伺服器暢通,完成業務邏輯,Web前端工程師是中間橋梁,需要各方面對接,需要掌握的技能比較多。
web簡介:
web的本意是蜘蛛網和網的意思,在網頁設計中我們稱為網頁的意思。現廣泛譯作網路、互聯網等技術領域。表現為三種形式,即超文本(hypertext)、超媒體(hypermedia)、超文本傳輸協議(HTTP)等。
最早的網路構想可以追溯到遙遠的1980年蒂姆·伯納斯·李構建的ENQUIRE項目。這是一個類似維基網路的超文本在線編輯資料庫。
盡管這與我們現在使用的萬維網大不相同,但是它們有許多相同的核心思想,甚至還包括一些伯納斯·李的萬維網之後的下一個項目語義網中的構想。
㈤ 前端開發需要學什麼啊
前端開發需要學習的內容包括PC網站布局、HTML5+CSS3基礎項目、webapp頁面布局等。
學習web前端開發,web開發工具有frontpage,可以使用word讓人輕松學習frontpage,另一個常見的是Dreamweaver,這兩個是最常用的HTML網頁製作工具。
HTML、CSS和JavaScript、Html是內容,CSS是性能,JavaScript是行為,與伺服器端語言的學習曲線相比,前端開發的學習曲線先快後慢。
Html最基本,先學習網頁的布局,然後CSS用於美化HTML頁面,並為頁面提供布局和格式,最後,學習JavaScript。
(5)前端程序員干貨擴展閱讀:
主要職能:
1、熟練使用DIV+CSS並結合JS負責產品的前端開發和頁面製作;
2、熟悉W3C標准和各主流瀏覽器在前端開發中的差異,能運用DIV+CSS解決瀏覽器的兼容性;
3、負責相關產品的需求以及前端程序的實現,提供合理的前端架構;
4、與產品、後台開發人員保持良好溝通,能快速理解、消化各方需求,並落實為具體的開發工作;
5、了解伺服器端的相關工作,在交互體驗、產品設計等方面有自己的見解。
參考資料來源:網路-前端開發
㈥ 前端程序員必須知道的 Web 漏洞,快來看看
隨著互聯網的發展,早已經不是僅限於簡單的網頁或是社交,電商購物、銀行轉賬、企業管理等等。上次看到一個新聞,後台程序員離職後,利用職位之便,每天還不斷的給自己轉賬,轉了好多次才被發現,想想這多可怕。或者會竊取重要的商業信息,所以 Web 安全也是非常值得注意的。
什麼是 Web 安全?
黑客利用網路操作系統的漏洞和 Web 伺服器的 SQL 注入漏洞等,得到 Web 伺服器的控制權,輕則篡改、刪除、添加數據,重則竊取重要的商業信息、轉賬等,更嚴重的就是在網頁中植入惡意代碼,使網站受到不可預期的侵害。
常見的攻擊可分為三類:XSS、CSRF、SQL注入。
Cross Site Scripting 跨站腳本攻擊,為了與 CSS 區分,所以簡寫為 XSS 。
惡意攻擊給 Web 頁面植入惡意的 Script 代碼,當用戶瀏覽該網頁的時候,嵌入 Web 裡面的 script 代碼會被執行,從而達到攻擊的效果。
講直白點,就是惡意攻擊者通過在輸入框處添加惡意 script 代碼,用戶瀏覽網頁的時候執行 script 代碼,從而達到惡意攻擊用戶的目的。
1.1、XSS 的危害
1.2、XSS 的攻擊類型
發出請求時,XSS代碼會出現在 url 中,作為輸入提交到伺服器端,伺服器再返回給瀏覽器,然後瀏覽器解析執行 XSS 代碼,這一過程像一次反射,所以稱之為反射型。
這種類型的攻擊,通常是把 XSS 攻擊代碼放入請求地址的 數據傳輸部分,如:
提交的 XSS 代碼會存儲在伺服器端,如資料庫、內存、文件系統內,下次請求目標頁面時不再提交 XSS 代碼。
文檔型的 XSS 攻擊不會經過伺服器,作為中間人的角色,在數據傳輸過程中劫持到網路數據包,然後修改裡面的 html 文檔。
1.3、XSS 的防禦措施
措施1:編碼。
對這些數據進行 html entity 編碼。客戶端和伺服器端都需要進行轉義編碼。
轉義後為:
放入上邊的代碼中,還是會自動解析為上邊的代碼,所以放到外邊。
措施2:過濾。
移除用戶上傳的 DOM 屬性,如上邊的 onerror。
移除用戶上傳的 style、script、iframe 節點。
措施3:利用 CSP
瀏覽器中的內容安全策略,就是決策瀏覽器載入哪些資源。
Cross site request forgery 跨站點請求偽造。
攻擊者誘導受害者進入第三方網站,向被攻擊網站發送跨站請求,利用被攻擊者在被攻擊網站已經獲取的注冊憑證,繞過後台的用戶驗證達到冒充用戶對攻擊網站進行的某種操作。
CSRF 攻擊特點:
2.1、CSRF 的危害
2.2、CSRF 的攻擊類型
使用非常簡單,只需要一個 http 請求。
比如頁面中的一個圖片添加鏈接,還有 iframe、script ,最容易完成 CSFR 攻擊,且不易被用戶發現,隱蔽性超強。
由於 get 介面是最常見的一種 CSRF 攻擊類型,所以很多重要的介面不適用 get 方式,使用 post 一定程度上可以防止 CSRF 攻擊。
這種類型的 SCRF 攻擊,通常使用的是一個自動提交的表單。簡單講就是偽造一個自動提交的表單,一旦訪問頁面時,表單就會自動提交。
如:
比起前兩個,這個類型的比較少見,鏈接類型的攻擊必須要用戶點擊鏈接,才能觸發。
通常在論壇中發布的圖片嵌入惡意的鏈接,或以廣告的形式誘導用戶點擊中招。所以我們在郵箱中看到亂七八糟的廣告,盡量別點擊,防止遇到三方攻擊。
偽造一種新型的攻擊方式,用戶誤以為是在網站正常登錄,實際上是使用賬戶和密碼登錄到了黑客網站,這樣黑客可以監聽到用戶的所有操作,甚至知道用戶的賬戶信息。
2.3、CSRF 的防禦措施
措施1:檢查 http 頭部的 referer 信息
referer 包含在請求頭內,表示請求介面的頁面來源。
服務端通過檢查 referer 信息,發現來源於外域時,就可以攔截請求,通過阻止不明外域的訪問,一定程度上可以減少攻擊。
措施2:使用一次性令牌
使用一次性令牌做身份識別,黑客是無法通過跨域拿到一次性令牌的,所以服務端可以通過判斷是否攜帶一次性令牌,就可以排除一部分的非法操作者。
措施3:使用驗證圖片
服務端生成一些文本和數字,在服務端保存這份信息,同時以圖片的形式在客戶端展現,讓用戶去合法填寫信息,當 CSRF 攻擊時,拿不到這個驗證碼的時候,無法向伺服器提供這個信息,導致匹配失敗,從而識別它是非法攻擊者。
這個應用非常常見,之前登錄的時候,需要填寫圖形驗證碼。
現在滑動圖片驗證也非常常見。
SQL 注入,一般發生在注冊、評論、添加等,只有有用戶輸入的地方,就有可能發生 SQL 注入。SQL 注入是一種常見的 Web 安全漏洞,攻擊者會利用這個漏洞,可以訪問或修改數據,利用潛在的資料庫漏洞進行攻擊。
所謂SQL注入,就是通過把SQL命令插入到Web 表單 提交或輸入域名或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意的)SQL命令注入到後台資料庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的資料庫,而不是按照設計者意圖去執行SQL語句。比如先前的很多影視網站泄露VIP會員密碼大多就是通過WEB表單遞交查詢字元暴出的,這類表單特別容易受到 SQL注入式攻擊 .
3.1、SQL 注入危害
任意的賬號都可以登錄,可以進行任意的操作,粗暴點講,就是隨便來。
3.2、 SQL注入分類
當輸入的參數為整數時,則有可能存在數字型漏洞。
當輸入參數為字元串時,則可能存在字元型注入漏洞。數字型與字元型注入最大的區別在於:數字型不需要單引號閉合,而字元型一般需要使用單引號來閉合。
字元型注入最關鍵的是如何閉合 SQL 語句以及注釋多餘的代碼。
其實我覺得 SQL 注入只有兩種類型:數字型與字元型。很多人可能會說還有如:Cookie 注入、POST 注入、延時注入等。
的確如此,但這些類型的注入歸根結底也是數字型和字元型注入的不同展現形式或者注入的位置不同罷了。
以下是一些常見的注入叫法:
3.3、SQL注入的防範措施
凡是用戶輸入的地方,我們都應該防止黑客攻擊,永遠不要相信用戶的輸入。所以對應的防禦措施分別有:
前後端分離之後,前端每天都會接觸到很多介面。發送網路請求的時候,有些介面就會使用 get 方法。最常見的傳參方式就是,直接在 url 地址後面加參數。
直接採用這種方式傳輸數據,如果數據被劫持或抓包工具偷走之後,就會直接被人盜取走,特別危險。若是採用介面加密,如下:
上邊那個看不懂的一長串符號,正是經過加密的數據。
介面加密就是將介面請求調用中傳遞的參數進行加密,目的就是為了保證介面請求中傳遞參數和返回的結果的安全性,一般比較敏感數據,如身份證、電話號碼、賬號、密碼等需要進行加密。
常見的加密方式:
加密方式較多,可以根據自己具體的需要和項目語言選擇其中一種。
加密之後的數據更安全,那我們能不能將介面所有的數據都進行加密呢?加密是非常消耗資源的,如果有大批量的數據都進行加密時,返回數據需要的時間就更長,會直接影響用戶體驗。所以我們進行加密時,只需要對敏感的重要的信息進行加密。
好了我今天的文章就到此結束了,本篇文章沒有介紹到的 web 安全,歡迎評論區交流!
㈦ web前端怎麼自學,有什麼好的網站,或者資料推薦嗎
隨著Web前端的風行於世,有許多小夥伴加入了前端開發行業,但是有很多小夥伴想學Web前端很久了
首先,Web工程師要入門必須要了解前端、後端、後台的基本概念,同時要了解基本的html、css和javascript語法,最後根據設計師的設計圖在不考慮兼容性的情況下把頁面做出來。
其次,你可以把html、css和javascript分成三個階段進行學習。
第一階段:HTML的學習
Html是超文本標記語言,英文全稱為HyperText Mark-up Language,這是一個網頁的骨架。靜態網頁還是動態網頁,最終返回到瀏覽器端的都是HTML代碼,瀏覽器將HTML代碼解釋渲染後呈現給用戶。
當然,學習html過程是比較枯燥乏味的,所以你需要更有效的學習策略。依w3cschool看來,你可以藉助Dreamweaver的「拆分」視圖輔助學習。在「設計」視圖中看效果,在「代碼」視圖中學本質,將各種視圖的優勢發揮到極致,想必會比單純記憶HTML標簽和屬性有趣、有用的多吧?
第二階段:CSS的學習
CSS是英文Cascading Style Sheets的縮寫,叫做層疊樣式表,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。
學習css建議可以看相關的一些書籍,如《CSS權威指南》(很詳細、很經典!)、《CSS揭秘》 《精通CSS:高級Web標准解決方案》,博客和專欄等也可以瀏覽。
第三階段:JavaScript的學習
JavaScript是一種在客戶端廣泛使用的腳步語言,在JavaScript當中為我們提供了一些內置函數、對象和DOM操作,進而實現客戶端的特效、驗證、交互等。
建議可以看《javascript語言精粹》,js是一門很混亂的語言,這本書能夠幫助你區分哪些是語言的精華,哪些是糟粕。如果是精華部分,我們在後續進階部分可以深入研究,而如果是糟粕部分,那麼只要大概看懂別人寫的渣代碼就可以,自己還是不要嘗試為妙。
通過這三個階段的學習,我們就可以往更高級的web前端工程師進階了!
這里給你推薦5個網站供你學習
博客園
一個面向開發者的知識分享社區,一個IT技術人員想為IT技術人員們提供一個純凈的技術交流空間,博客園很長時間只有一個不能再簡單的博客,近四年,博客園僅靠一個人幾年工作的積蓄在維持。
芯晴素材網-網頁特效代碼
是一個集各種網頁素材以及網頁源碼為一體的面向開發人員的一個網頁素材網站,如果你想要學習前端頁面開發,這里,將是一個很好的起點。
jquery中文網
前端所能涉及領域的干貨文章,包括:Jquery、腳本編程、資料庫、伺服器技術、操作系統、建站教程。
菜鳥教程
網站HTML、CSS、Javascript、PHP、C、Python等基礎編程教程,同一個知識點有多篇不同角度的文章可供參考學習,資源免費,會實時更新站內文章。
jquery插件庫
各種前端程序員能用到的插件,喜歡研究新東西的自學者可以在這個網站里挖掘各種小插件。
以上的回答希望對你有所幫助