Time of Update: 2018-12-07
我打算把我的後端的架構定位為建站架構,本文是我的一些思路與初步實踐。如果園子裡有做過後端架構的高手(不限語言),也請指教一下。以下是大概的流程。後端的核心檔案mass.js包含大量建立與刪除檔案夾,MD5加密,類型識別與模組載入等功能。現在網站名與網站的路徑也還是混淆在裡面,以後會獨立到一個設定檔中。只要運行node mass.js這命令就立即從模板檔案中構建一個樣板網站出來。下面就是它建站的最主要代碼: //--------開始建立網站---------
Time of Update: 2018-12-07
node.js最近新增了虛擬機器模組,其實也不能說是新增的,只是把一些內部介面暴露出來罷了,從2.x就有了。我們可以從node / src / node.js看到這些代碼:var Script = process.binding('evals').NodeScript;var runInThisContext = Script.runInThisContext; NativeModule.wrap = function(script) { return
Time of Update: 2018-12-07
nginx現在正在以光的速度蔓延開來,他以其穩定性和高效能等眾多優點迅速擴大市場,大家都知道,nginx是以單線程為基礎的,那麼他怎麼能在並發性上取得優勢的呢?會不會因為網路阻塞而導致主線程阻塞呢?下面就相關問題作一些概念性的闡述。問題的根本在於人們對於電腦處理效能還沒有足夠的認識,以及普通的伺服器架構簡化的處理,做過大型的成熟伺服器的人可能都知道,解決一個系統瓶頸比最佳化
Time of Update: 2018-12-07
我在行動裝置上測試前面教程的圖表執行個體時發現,當手指點擊圖表出現ToolTip時,圖表容器的會出現一個半透明的高亮背景。裝置瀏覽器不一樣,顏色也不一樣,很是影響互動效果。試了一下用Javascript來移除,花了一天時間也沒弄出來,最後不得不Google了,又花了幾個小時,終於用CSS3搞定了。代碼如下:-webkit-tap-highlight-color: rgba(255, 255, 255, 0);-webkit-user-select: none;-moz-user-focus:
Time of Update: 2018-12-07
在IE6下,每個元素只能擁有一個類名,對應CSS如下:.aaa { background:red;}所謂雙類名或多類名,即如下方式:.aaa.bbb { background:red;}.aaa.bbb.ccc { background:green;}這些都在IE6下遭遇滑鐵盧,你可以讓一個類名的功能交由一個ID去分擔,或為其父元素定義一個類名,讓此類名去分擔此功能。#bbb.aaa.bbb { background:red;}.bbb .aaa {
Time of Update: 2018-12-07
Firefox 6 新特性:支援progress元素;增加window.machMedia()方法以匹配CSS3的媒體查詢;位元據API增強,包括XHR2和FileReader等;WebSockets迴歸;CSS text-decoration支援
Time of Update: 2018-12-07
隨著uibase模組的完成,許多共用功能都往上挪到其父類中去。tabs模組只專註於它專業功能與其他新功能就行。v2的新功能,除了可以選定頁面某一塊具有TABS結構的HTML片斷作為它的UI實體外,現在我還允許像EXT使用者那樣完全不出HTML,光用JS就可以拼湊出華麗的介面。當然越漂亮的介面就越要求有豐富的背景圖片。目前,我的UI還沒有用到圖片。待UI組件豐富起來再說。選定頁面結構,我們使用data_expr,意即資料來源的CSS運算式,第二種則用到data屬性,二選一。它們在代碼中的體現如下:
Time of Update: 2018-12-07
Firefox 5 新特性:支援CSS3動畫,比如transition和keyframes等,需要-moz-首碼;所有元素支援accessKey屬性,以及blur()、click()、focus()等方法;不再支援UTF-7和UTF-32字元集;android版支援WOFF字型;canvas大量改進: canvas 2D支援設定一個ImageData對象作為createImageData()方法的輸入;
Time of Update: 2018-12-07
文章目錄 一、說在前面的 二、FullScreen JavaScript API 具體使用三、解決方案四、總結五、引用文檔 註:提 HTML5 只是說明他是一項新的東西,至於瀏覽器的 JavaScript API 應不應是 HTML5 的一個配套?我們不糾結。不如看這個介面能給我帶來什麼,思考可以如何給網頁做個體驗上的增強應用吧。一、說在前面的其實只是一個新的 JavaScript API,讓 HTML
Time of Update: 2018-12-07
mass Framework拖放組件的第二彈,八大行為組件之一,droppable終於完成了。它是專門用於處理拖放塊與放置對象之間的關係。放置對象在我的架構有個更好的名字叫,靶場。一個拖放塊相當於飛彈,其活動範圍就是其射程,那麼放置對象就是它的靶場。在HTML5原生拖放API中,當一個元素成為靶場,它可以綁定以下四個事件:dragenter:當游標進入靶場時,執行此回調。dragover:當游標進入靶場後,執行此回調。dragleave:當游標進入靶場時,執行此回調。drop:當游標進入靶場後,
Time of Update: 2018-12-07
mass
Time of Update: 2018-12-07
距離 Firefox 11 正式版發布還不到6周,Mozilla又發布了Firefox 12正式版。此次 Firefox 12 正式版新增了一些功能,主要內容如下:Windows平台:Firefox升級變得更加簡單,系統將不再提示 Windows
Time of Update: 2018-12-07
本版本最大的改進就引入強大的調試機制。如果一個架構使用了模組載入後,迎來的最大問題莫過於調試。由於有了模組化,因此不需要擔憂體積的問題,因此大放手腳伸入前端各個領域去,JS檔案暴漲,也意味著API數量瀑漲,就像jQuery那一點兒API有的人都記不全,更別說像EXT,YUI,dojo這樣的巨無霸了。對於這個方法是在A模組還是B模組,我們在調用時還可以查一查,但出錯時,就未必出A模組或B模組內,A模組還可能依賴於C模組與D模組,D模組還有依賴,這樣一級級下去,我們很難追溯到出錯的源頭。特別是,如果
Time of Update: 2018-12-07
之前mass Framework擁有三種不同層級的處理字串拼接的模板函數:format,tag, ejs, 現在又增加一種新的,不過它只適應於後端node.js環境中(因為在瀏覽器環境中,操蛋的FF會把注釋全部去掉……)。它利用多行注釋來類比其他動態語言的here document。以下就是它的實現,其實是一個模組,內部依賴於lang模組的format方法。mass.define("here_document","lang",function(){ //只允許最前面出現一個 "\*"
Time of Update: 2018-12-07
在開發過程中,我們太需要Jetty那樣的熱部署機制,要不修改一點東西就要頻頻重啟伺服器,真是煩死人了。在node.js實現這種機制非常簡單,首先我們有watchFile,通過它用來監聽檔案的內容是否被修改,如果修改就讓子線程關閉當前線程,並讓它重新啟動新的線程來處理請求與發出響應。技術點:要監聽檔案的變動,那麼是監聽那些目錄下的檔案呢?何種尾碼名的檔案呢?子線程相應事件的綁定,線程的關閉,線程的建立。。。首先是監聽問題,為了防止硬編程,我們用一個專門的檔案來配置這些訊息,在javascript,
Time of Update: 2018-12-07
詳見這裡:Bug 651072 - Support HTML parsing in XMLHttpRequest per XMLHttpRequest Level 2假想代碼:function getDocument (aURL, aCallback) { var xhr = new XMLHttpRequest; xhr.open("GET", aURL, true); xhr.responseType = "document"; xhr.onreadystatechange =
Time of Update: 2018-12-07
在過去的一段時間內,我與幾個對AMD有興趣的人聊起匿名模組的實現。為什麼有匿名模組的需求?因為有些人是這樣想的,如果這個模組是放在a.js中,那麼這個模組就叫a模組,有一天這檔案改名為b.js,那麼它就是b.js。想法是很好的。不過,在javascript中是先有require再有define。這正好像,在黑色連成一片的小巷中,媽媽著急地呼叫:“小明,回家吃飯了。”這時,依照匿名模組的方式,這時誰回複誰就是小明。比如,那個是小沖,他惡作劇了呢。或者,媽媽本來是想叫小萌的(小明的妹妹,兄妹倆的名字
Time of Update: 2018-12-07
文章目錄 $.fn.draggable(settings) 這個外掛程式一再延期,花了我幾周的時間,參考了不少實現,終於實現得比jQuery
Time of Update: 2018-12-07
新版Firefox的最大改進是對記憶體的使用進行了大幅度的修改,提升了效能並增加了穩定性:大幅改進記憶體佔用增加後台渲染加速在 Windows 上的 Canvas 操作使用 Firefox Sync 將會立即同步書籤和密碼修改支援 text-overflow: ellipsis支援 Web Timing specification增加 opt-in system 用於發送效能資料到 Mozilla 用於為將來版本的改進提供資料依據,要啟用該功能可以:installing an
Time of Update: 2018-12-07
要瞭解某個網站是在行動裝置上開啟的還是在pc web瀏覽器中開啟的,我們可以有以下綜合的幾種方式來搞定:通過判斷Request.UserAgent中的具體資訊來分析判斷,因為UserAgent包含了很多的資訊,所以我們可以根據其中的某些資訊來進行判斷,具體的判斷方式如下:(1)string strUserAgent = Request.UserAgent.ToString().ToLower();if (strUserAgent != null){ if