201811-15 神經網絡的基本工作原理 看過很多博客、文章,東一榔頭西一棒子的,總覺得沒有一個系列的文章把問題從頭到尾說清楚,找東西很困難。有的博客、文章的質量還不算很理想,似是而非,或者重點不明確,或者直接把別人的博客抄襲過來......種種不靠譜,讓小白們學習起來很困難,增加了學習曲線的陡峭程度。當然也有很多博主非常非常負責任,文章質量很高,只是連續度不夠,正看得過癮的時候,沒有后續章節了。從本文開始,我們試圖用一系列博客,講解現代神經... 繼續閱讀 >
201805-30 從Chrome源碼看WebSocket WebSocket是為了解決雙向通信的問題,因為一方面HTTP的設計是單向的,只能是一邊發另一邊收。而另一方面,HTTP等都是建立在TCP連接之上的,HTTP請求完就會把TCP給關了,而TCP連接本身就是一個長連接嗎,只要連接雙方不斷關閉連接它就會一直連接態,所以有必要再搞一個WebSocket的東西嗎?我們可以考慮一下,如果不搞WebSocket怎么實現長連接:(1)HTTP有一個keep-alive的字段,這個字段的作用是復用TCP連接,可以讓一... 繼續閱讀 >
201802-10 了解NodeJS看這一篇就夠了 摘要:這篇文章適合對Node一無所知或了解不多的初學者閱讀。全面但不深入地講了包括http模塊、express、mongodb和RESTfulAPI等知識點。如果你是前端開發工作者,那么對你來說,基于NodeJS編寫web程序已經不是什么新聞了。而不管是NodeJS還是web程序都非常依賴JavaScript這門語言。首先,我們要認識到一點:Node并不是銀彈。也就是說,它不是所有項目的最佳解決方案。任何人都可以基于Node創建一個服務器,但是這需要你... 繼續閱讀 >
201802-05 WebSocket協議深入探究 一、內容概覽WebSocket的出現,使得瀏覽器具備了實時雙向通信的能力。本文由淺入深,介紹了WebSocket如何建立連接、交換數據的細節,以及數據幀的格式。此外,還簡要介紹了針對WebSocket的安全攻擊,以及協議是如何抵御類似攻擊的。二、什么是WebSocketHTML5開始提供的一種瀏覽器與服務器進行全雙工通訊的網絡技術,屬于應用層協議。它基于TCP傳輸協議,并復用HTTP的握手通道。對大部分web開發者來說,上面這段... 繼續閱讀 >
201801-23 WebSocket 詳解 WebSocket出現前構建網絡應用的過程中,我們經常需要與服務器進行持續的通訊以保持雙方信息的同步。通常這種持久通訊在不刷新頁面的情況下進行,消耗一定的內存資源常駐后臺,并且對于用戶不可見。在WebSocket出現之前,我們有一下解決方案:傳統輪詢(TraditionalPolling)當前Web應用中較常見的一種持續通信方式,通常采取setInterval或者setTimeout實現。例如如果我們想要定時獲取并刷新頁面上的數據,可... 繼續閱讀 >
201801-16 關于真正理解Node.js事件循環你需要了解的一切 Node.js是一個基于事件的平臺。這意味著Node中發生的任何事情都是對于事件的響應。傳入Node的數據處理要經歷一層層嵌套的回調。這一流程相對于開發者被抽象出來,由一個叫做libuv的庫處理,就是libuv為我們提供了事件循環機制。事件循環也許是Node中最容易被誤解的概念。我為Dynatrace工作,這是一家性能監控服務商。在我們解決事件循環監控這一問題時,我們付出了很多努力去正確理解我們正在監測的部分。這篇文章... 繼續閱讀 >
201712-15 管理 Node.js 進程從未如此優雅 說到Node.js的進程模型,腦子里第一個閃現的可能是Cluster模塊,亦或是Master/Worker進程模型,在長期的使用過程中,我們逐漸發現,這樣在應用的開發早晚會有局限性,除了不夠優雅之外,每次增減進程或者自定義進程都會產生不可預知的問題。在一些特定的場景下,我們甚至在Master下面加入了一個Agent進程用來運行一些中間件SDK。在這些修修補補的過程中,傳統的進程間通信,數據交換都變的困難,甚至Wor... 繼續閱讀 >
201709-05 掌握 Node.js 中的 async/await 你會在本文中學到如何使用async函數(async/await)來簡化回調,以及基于Promise的Node.js應用。異步語言結構已經在其它語言中存在好一陣了,比如C#的async/await,Kotlin的協程(Coroutine)以及Go中的Goroutine。隨著Node.js8的發布,期待已久的異步函數功能終于來臨。在本教程結束的時候,你應該可以回答下面的問題:Node.js中的async/await是自發明面包切片以來最美好的事情嗎?Node中的... 繼續閱讀 >
201706-20 Node.js Color 模塊實現入門淺析 Node.js中有不少常用的Color模塊,例如chalk、colors.js、cli-color等,通過這些模塊我們輸出各種帶顏色、方面區分或者更酷的日志以及CLI工具提示。那么今天帶大家簡單了解一下Color模塊的實現。ANSIescapecode與前端上對元素內的文字加上了CSS修飾一樣。terminal中輸出的文字包含顏色也是因為文字的數據跟隨了顏色描述的數據。而要了解terminal上的顏色,首先需要了解ANSIescapecod... 繼續閱讀 >
201702-14 10個技巧,讓你在 2017 年成為更好的Node開發者 摘要:在2012年,我加入了Storify并開始使用Node作為我的主要語言。從那以后,我從未回首過去并覺得我錯過了Python,Ruby,Java以及PHP,這些在過去10年里,我在web開發過程中使用的語言。下面我將列出10條建議,這些建議可以幫助你在2017年成為一個更好的Node開發者。其中一些建議是我在日常實踐中所學到的,另一些是從那些寫了最流行的Node和npm模塊的人們身上學到的。下面是我們將要介紹的內容:在2012年,我加入... 繼續閱讀 >
201612-29 PHP開發不可忽略這3點 最近發現很多的PHP程序員,尤其是學習還不是很久的,都不知道PHP的精華所在。Perl當年如何在商界出名?其強大的正則表達式。而PHP呢?他是一門從Unix下發展起來的語言,當然也就繼承了Perl的很多特點,同時C的優點都有??焖?、簡潔、明了,尤其是C程序員,PHP是至愛。這里,我想來寫一篇PHP的變量、數組應用技巧和PHP的正則表達式、PHP的模板應用。1、變量、數組的應用技巧(1)很多人用得不多的數組函數。foreach、list、each。分... 繼續閱讀 >
201610-13 加速iOS開發的28個第三方庫 1: AFNetworking -網絡請求AFNetworkingisadelightfulnetworkinglibraryforiOSandMacOSX類似庫有 Alamofire2: AsyncDisplayKit -異步加載UISmoothasynchronoususerinterfacesforiOSapps類似庫有 Componentkit3: Aspects -RuntimeDelightful,simplelibraryforaspectorientedprogramming4: Charts -圖表繪制BeautifulchartsforiOS/tvOS/... 繼續閱讀 >
201610-11 Android開發套路收集整理與討論 以下做法純屬個人習慣,歡迎討論:DinitView()與updateView()通常,我會添加一個initView()方法來初始化所有的View對象,在這個方法的具體實現中,可能會有兩種不同的細微差別。第一種是僅僅做findViewById()就好了,也就是僅僅是去找到每一個View對象,而不去給它們設置屬性,比如setText()之類的。另一種則是在findViewById()后,順便給它們設置初始值。我更傾向于第一種做法,因為如果你在initView()方法中給View設置一些屬... 繼續閱讀 >
201610-11 Yii2.0實現微信公眾號后臺開發 本文內容較多,包括微信接入、獲取微信用戶信息、微信支付、JSSDK配置參數獲取等部分。如果讀者對微信開發沒有一個主觀上的認識,那么建議讀者先研讀微信公眾平臺開發者文檔,然后再閱讀本文,效果更佳!另外本文的分章節版本可以在八寶粥的博客找到。接入微信Yii2后臺配置1.在app/config/params.php中配置token參數return[//微信接入'wechat'=>['token'=>'yourtoken',... 繼續閱讀 >
201609-29 微信小程序開發:Flex布局 微信小程序頁面布局方式采用的是Flex布局。Flex布局,是W3c在2009年提出的一種新的方案,可以簡便,完整,響應式的實現各種頁面布局。Flex布局提供了元素在容器中的對齊,方向以及順序,甚至他們可以是動態的或者不確定的大小的。Flex布局的主要特征是能夠調整其子元素在不同的屏幕大小中能夠用最適合的方法填充合適的空間。flex布局Flex布局的特點:任意方向的伸縮,向左,向右,向下,向上在樣式層可以... 繼續閱讀 >
201609-29 不需內測賬號,帶你體驗微信小程序完整開發過程 微信小程序還沒正式發布就已經迅速成為大家討論的焦點,那么大家可能覺得只有收到內測邀請才能體驗小程序的開發流程,其實不然,大家都可以體驗,下面就帶大家一起了解。下載微信Web開發者工具首先,微信給我們提供了它自己的小程序集成開發工具,只需要到這個頁面下載即可:下載完成后,打開開發者工具,會有一個掃碼登錄界面。用你的微信掃碼就可以登錄進來了,然后開發者工具會幫我們創建一個默認工程,項目的文件結構... 繼續閱讀 >