dedecms排序,程序員是怎么記住許許多多的語法的?
首先介紹一下,我是一名計(jì)算機(jī)非相關(guān)專業(yè)的大學(xué)畢業(yè)生,在畢業(yè)之后通過培訓(xùn)機(jī)構(gòu)進(jìn)入了程序員這條道路。
在剛進(jìn)入工作的時(shí)候,由于相關(guān)知識(shí)的匱乏,基礎(chǔ)也不扎實(shí),導(dǎo)致面試屢屢碰壁,后來進(jìn)入了一家做網(wǎng)站的公司,依稀記得當(dāng)時(shí)一個(gè)月的薪資是1800元。工作當(dāng)中主要是通過織夢(mèng)去做企業(yè)站,面對(duì)各種各樣的標(biāo)簽,不僅理解不了,更是記不住,這時(shí)我就將常用的標(biāo)簽記到記事本上,正所謂好記性不如爛筆頭,日子久了,用的多了,就知道這個(gè)標(biāo)簽是表達(dá)什么作用了。
客戶會(huì)提出不同的頁面需求,實(shí)現(xiàn)不同的交互效果,這部分是要用到j(luò)query,我們當(dāng)時(shí)學(xué)習(xí)的時(shí)候也就一個(gè)周的時(shí)候,其實(shí)也就聽了個(gè)稀里糊涂,那要怎么辦呢?我就每天在工作之余跑到百度知道,去提問各種自己遇到的問題,等待大家的解答,更重要的是,我去搜索相關(guān)的問題去給別人解答,我不會(huì)的我就去百度查資料,時(shí)間一長,我收到了別人幫助我的知識(shí),同時(shí)我也幫助到了別人,對(duì)我自身技術(shù)的提升是個(gè)很重要的過程。
本身我是做php的,自己寫后臺(tái),自己寫接口,自己對(duì)接口,還要調(diào)試各種前端問題,梳理效果圖。要面對(duì)各種各樣的功能點(diǎn),我習(xí)慣在處理完一個(gè)問題之后,整理成相關(guān)的demo,這樣我在下次使用的時(shí)候可以提升工作效率,比如微信、支付寶三方登錄,又或者如何實(shí)現(xiàn)無頁面刷新上傳圖片等等常見功能。
常用到的數(shù)據(jù)是mysql,從配置數(shù)據(jù)庫到數(shù)據(jù)庫的增刪改查,優(yōu)化數(shù)據(jù)格式,縮短查詢時(shí)間,處理數(shù)據(jù)高并發(fā),每次都是在失敗中總結(jié)經(jīng)驗(yàn),遇到問題很正常,重要的是掌握處理問題的方法。
對(duì)于我們程序員來說,處于互聯(lián)網(wǎng)這個(gè)日新月異的時(shí)代,每天都在面對(duì)不同的技術(shù),之前是PC的時(shí)代,現(xiàn)在已經(jīng)成為移動(dòng)端的天下。
前后端分離、VUE、ANGULAR、小程序、響應(yīng)式、APP開發(fā)、H5頁面等等這些移動(dòng)端的前端知識(shí),我們需要去了解需要去掌握,對(duì)于后臺(tái)來說,僅僅邏輯上的算法功能的實(shí)現(xiàn)就已經(jīng)讓人頭大,還要時(shí)刻保持學(xué)習(xí)的頭腦,總的來說是非常辛苦的。
都說興趣是學(xué)習(xí)最好的老師,我是把寫代碼當(dāng)成去解一道數(shù)學(xué)方程式,在出結(jié)果的那一刻,心里就是滿滿的收獲感。曾經(jīng)我寫一個(gè)抽獎(jiǎng)功能,大致功能就是在52張牌抽三張,看是同花、是順子、是豹子的概率,并且可以手動(dòng)指定中哪一張牌,我寫了一天,應(yīng)該有上千行代碼,最終實(shí)現(xiàn)了這個(gè)功能,那時(shí)一天的疲憊感都沒有了。
總結(jié)一下,記住語法的幾點(diǎn):
記到記事本,這里我也給大家推薦我正在用的一款筆記叫做"有道云筆記"。只有理論知識(shí),光說不練假把式,只有在項(xiàng)目當(dāng)中常常用到的語法,這種你才會(huì)記得更牢,將常用的語法記下來,時(shí)不時(shí)的去復(fù)習(xí)復(fù)習(xí),正所謂好記性不如爛筆頭。去看別人的代碼,有些語法在你的項(xiàng)目當(dāng)中可能用不到,那么你也就不清楚這個(gè)函數(shù)的語法使用,讀別人的代碼對(duì)自己能力的提升有很大的幫助,因?yàn)槊總€(gè)人的邏輯思維不一樣,代碼格式也不一樣,如果你能沒有困擾的明白別人的意思,那么恭喜你,你的能力有提高一級(jí)。這玩意有誰開發(fā)過實(shí)戰(zhàn)項(xiàng)目嗎?
響應(yīng)WEB概念在移動(dòng)互聯(lián)網(wǎng)興起的初期,的確很火,它主要解決原PC網(wǎng)站樣式向移動(dòng)端過渡的問題,以一套前端代碼適配PC、手機(jī)和其他顯示設(shè)備,以較小的代價(jià)實(shí)現(xiàn)網(wǎng)站產(chǎn)品的多維呈現(xiàn)。
我個(gè)人作為勉強(qiáng)的全棧,曾經(jīng)選用過最熱的Bootstrap前端框架,開發(fā)過一些web應(yīng)用。雖然后來,隨著移動(dòng)端越來越成為重點(diǎn)實(shí)現(xiàn)方向,感到響應(yīng)式網(wǎng)站設(shè)計(jì),并不能為移動(dòng)網(wǎng)站帶來優(yōu)良的體驗(yàn)和高開發(fā)效率,至少在我近幾年的項(xiàng)目中,面向移動(dòng)端,已經(jīng)完全放棄了響應(yīng)式開發(fā)方法,采用了更純粹的移動(dòng)前端框架,以適應(yīng)不僅是web,還有APP、小程序的前端需求。
但是,并不能說響應(yīng)式web設(shè)計(jì)落伍了,沒用了。根據(jù)項(xiàng)目特點(diǎn),人員技術(shù)力量,選用最適合的方法,做最優(yōu)秀的實(shí)現(xiàn),是開發(fā)的實(shí)踐準(zhǔn)則。
下面,圍繞實(shí)戰(zhàn)開發(fā)響應(yīng)web的大致方法、流行的框架工具介紹、響應(yīng)式的優(yōu)缺點(diǎn)總結(jié),展開一些敘述和討論。
什么是響應(yīng)式網(wǎng)站設(shè)計(jì)?響應(yīng)式網(wǎng)頁設(shè)計(jì) Responsive Web Design,從開發(fā)角度上講,就是使網(wǎng)頁能通過識(shí)別屏幕寬度、做出相應(yīng)調(diào)整的網(wǎng)頁設(shè)計(jì),它面向的設(shè)備是超寬屏幕、pc顯示器、平板電腦、手機(jī)。這里面大家很容易忽視超寬屏幕的設(shè)計(jì),因?yàn)楹芏嚅_發(fā)者為了簡化設(shè)計(jì),往往在針對(duì)超寬屏幕只做居中處理。
實(shí)現(xiàn)原理
通過css樣式語言,有時(shí)候也會(huì)結(jié)合一些javascript,考量屏幕寬度,自動(dòng)調(diào)整網(wǎng)頁顯示和布局,以適應(yīng)不同尺寸屏幕的瀏覽優(yōu)化體驗(yàn)。
實(shí)現(xiàn)目標(biāo)
最好的響應(yīng)式設(shè)計(jì),就是設(shè)計(jì)者開發(fā)出一套全端網(wǎng)頁,為電腦、手機(jī)、平板等不同終端的用戶提供更加舒適的界面和更好的交互體驗(yàn),比如手機(jī)端的觸摸和PC端鼠標(biāo)操作效果。而且隨著目前大屏幕移動(dòng)設(shè)備的普及,響應(yīng)式開發(fā)方法還是有自己獨(dú)特的優(yōu)勢。
響應(yīng)式網(wǎng)站開發(fā)方法布局
在構(gòu)建響應(yīng)式網(wǎng)站或改造舊網(wǎng)站成為響應(yīng)式結(jié)構(gòu)時(shí),首先要考慮的就是布局。
主要是兩部分頁面元素:
延展全屏寬的元素,比如我們?cè)赑C貫穿全屏寬的元素,css: width:100%;
主內(nèi)容塊的最大寬度定義,以下定義了4種常見分辨率的容器最大寬度;
@media (min-width: 576px) {
.container { max-width: 540px; }
}
@media (min-width: 768px) {
.container { max-width: 720px; }
}
@media (min-width: 992px) {
.container { max-width: 960px; }
}
@media (min-width: 1200px) {
.container { max-width: 1140px; }
}
媒體元素寬度定義
下面的CSS代碼將確保圖片永遠(yuǎn)不會(huì)比其父容器大:
img { max-width: 100%; height: auto; }
或者根據(jù)設(shè)備的分辨率不同,需要顯示不同size的圖片:
<img src=" image.jpg" alt="" data-src-600px=" image-600px.jpg" data-src-800px =" image-800px.jpg" />
這種彈性顯示媒體的方式,需要借助CSS或JS的方式實(shí)現(xiàn)。
版式(Typography)定義
這是響應(yīng)式設(shè)計(jì)中最重要的部分,有很多響應(yīng)式設(shè)計(jì)的排版方式需要注意,比如:
CSS3規(guī)范中包含了一個(gè)定義尺寸的元素rem。它的工作原理與em幾乎相同,但是rem的大小相對(duì)于html元素而言,這使得rem比em更容易使用。
html { font-size:100%; }
通過以下CSS代碼可以定義不同分辨率下的相對(duì)字體大小。
@media (min-width: 640px) { body {font-size:1rem;} }
@media (min-width:960px) { body {font-size:1.2rem;} }
@media (min-width:1100px) { body {font-size:1.5rem;} }
最流行的響應(yīng)式框架使用前端框架可以提高前端開發(fā)的效率。通常框架已經(jīng)為開發(fā)者搭好了腳手架,只需要在上面累加我們的特殊需求就可以了,這幫助碼農(nóng)減少編碼工作量,并節(jié)省了寶貴的時(shí)間。
當(dāng)前有各種各樣的響應(yīng)框架可用,并且新仍在不停的進(jìn)化更新。在眾多選擇中,選擇適合的框架是很困難的。下面列舉了幾個(gè)最流行的響應(yīng)框架。
Bootstrap
Bootstrap是國內(nèi)最流行、最快速、最友好的框架。這個(gè)框架是2011年由Twitter的開發(fā)者創(chuàng)建的。目前,整個(gè)網(wǎng)絡(luò)上有數(shù)百萬的網(wǎng)站都在運(yùn)行這個(gè)神奇的框架。在GitHub他的追捧數(shù)量已經(jīng)超過了100多K。
Bootstrap包括了HTML、CSS和JavaScript。你可以輕松地開發(fā)各種規(guī)模和復(fù)雜度的響應(yīng)式網(wǎng)站。
Foundation
Foundation是一個(gè)企業(yè)級(jí)的前端框架。FaceBook、eBay、Mozilla、Adobe、HP、思科、迪士尼等都在他們的網(wǎng)站上使用這個(gè)框架。
它相當(dāng)復(fù)雜,不適合新手使用。Foundation具有可讀性、靈活性、語義性和完全可定制性。Foundation自帶GPU加速功能,可實(shí)現(xiàn)閃電般的快速和流暢的動(dòng)畫效果。它提供了Fastclick.js,可在移動(dòng)設(shè)備上快速渲染。
Pure
非常輕的一個(gè)框架。該框架包含響應(yīng)式CSS模塊,是為迎合移動(dòng)市場而開發(fā)的。開發(fā)人員可以使用各種樣式、CSS模塊以及組件和可定制的工具來開發(fā)網(wǎng)站。
Semantic UI
SemanticUI是相對(duì)較新的框架,但它在很多方面都很突出。它已經(jīng)成為非常流行的前端框架之一。它使用的是自然語言。
Semantic的性能記錄功能讓你可以追蹤到代碼的瓶頸,而無需深挖堆棧痕跡。使用Semantic,直觀的底層之上可以配備一個(gè)高級(jí)主題變量,讓您有充分的設(shè)計(jì)自由度。
Semantic UI集成了大量的第三方庫。因此整個(gè)開發(fā)過程會(huì)更容易一些。
響應(yīng)設(shè)計(jì)的優(yōu)點(diǎn)響應(yīng)式方式可以在臺(tái)式機(jī),平板電腦或智能手機(jī)上構(gòu)建流暢運(yùn)行的web樣式設(shè)計(jì) 。它的實(shí)質(zhì)是一種適配性的編碼設(shè)計(jì),它具備很多優(yōu)點(diǎn):
開發(fā)維護(hù)一套前端響應(yīng)式代碼,可以適配多種顯示設(shè)備。只需要擁有一個(gè)入口網(wǎng)址,無須通過腳本,判斷瀏覽設(shè)備而重定向訪問,更不需要配置二級(jí)域名。簡化SEO(搜索引擎優(yōu)化),響應(yīng)式設(shè)計(jì),無需為移動(dòng)版本創(chuàng)建特定的內(nèi)容,這對(duì)SEO友好的。搜索引擎收錄的只是內(nèi)容,而對(duì)網(wǎng)頁語言代碼毫無興趣。因此,谷歌百度在一段時(shí)期還建議優(yōu)先考慮響應(yīng)式設(shè)計(jì)。有可能會(huì)節(jié)約開發(fā)成本?這一點(diǎn)我自己也很有疑惑,我個(gè)人認(rèn)為如果是僅僅適配顯示的話,響應(yīng)式設(shè)計(jì)的確可以節(jié)約成本,但精致的移動(dòng)端交互設(shè)計(jì),還是純移動(dòng)框架最受用。簡化網(wǎng)站推廣數(shù)據(jù)分析,無論來自什么入口,都一網(wǎng)打盡所有訪問數(shù)據(jù)。響應(yīng)設(shè)計(jì)的缺點(diǎn)盡管響應(yīng)式設(shè)計(jì)有很多優(yōu)點(diǎn),那么缺點(diǎn)應(yīng)該被忽略嗎?事實(shí)并非如此。響應(yīng)式網(wǎng)頁設(shè)計(jì)有一些需要注意的缺點(diǎn)。為了在一套體系框架下,去做各分辨率下的大小顯示適配、內(nèi)容取舍,那種煎熬你體驗(yàn)過嗎?
某些響應(yīng)式網(wǎng)站的加載時(shí)間會(huì)更長。因?yàn)閷⒓虞d一些不必要的HTML / CSS。例如,很多響應(yīng)站點(diǎn)上的圖像只是在視覺上按比例縮小,而沒有采用媒體內(nèi)容的彈性加載策略。
耗時(shí)的開發(fā)。對(duì)于響應(yīng)式網(wǎng)站而言,這是一項(xiàng)耗時(shí)的任務(wù)。如果您打算將現(xiàn)有網(wǎng)站轉(zhuǎn)換為響應(yīng)式網(wǎng)站,則可能需要更多時(shí)間。
響應(yīng)式Web設(shè)計(jì)的流體布局,使設(shè)計(jì)人員難以很好地控制設(shè)計(jì)風(fēng)格。設(shè)計(jì)人員正在嘗試分別針對(duì)移動(dòng)和桌面布局顯示線框和設(shè)計(jì)原型。只有改進(jìn)了這兩種布局,才能真正實(shí)現(xiàn)響應(yīng)式Web設(shè)計(jì)策略。
UX(用戶體驗(yàn))不佳。通過響應(yīng)設(shè)計(jì),您想要同時(shí)滿足臺(tái)式機(jī)和移動(dòng)用戶的需求。但是,移動(dòng)設(shè)備和臺(tái)式機(jī)畢竟是完全不同的用戶體驗(yàn)。因此,有很大風(fēng)險(xiǎn)可能同時(shí)失去兩類用戶。需要承受內(nèi)容的取舍。排版的需要、推廣策略的不同、體驗(yàn)的差異,造成移動(dòng)版本的內(nèi)容很可能與桌面版本的內(nèi)容不一致。因此,采用響應(yīng)式設(shè)計(jì)不可能使您的內(nèi)容適應(yīng)這些設(shè)備中的每一個(gè),那么在一個(gè)頁面里用技術(shù)實(shí)現(xiàn)這種取舍,是很痛苦的。寫在最后選擇了開發(fā),終會(huì)有學(xué)不動(dòng)的那天,對(duì)于前端、后端、運(yùn)維、全棧,都是一樣。某項(xiàng)技術(shù)熟練了,我們總希望它的生命周期長一點(diǎn)。如果有一天,對(duì)新技術(shù)的那種興奮感不再有的時(shí)候,做一個(gè)方向的了解者規(guī)劃者也是不錯(cuò)的。
希望所有Coder身體健康,永遠(yuǎn)快樂。