CMS系統模板引擎設計(6):Field的類的設計

Field的意思是欄位,我們在展示一條資料的時候總是要展示具體的某些欄位,有時候是一條資料,有時候是個迴圈。一條資料的時候很好處理,我們把資料準備好,然後替換相關的[field]標籤就行了。當迴圈輸出的時候,其實只需要調用顯示一條資料的方法就行了。Field的標籤格式大概是這樣:[field:PostTime length=10 dateFormat="yyyy-MM-dd HH:mm"/]

帶你走進緩衝世界(2):緩衝入門

昨天在群裡有個朋友問,如何使用資料庫的暫存資料表。問其原因,原來是他想把查詢的結果匯出excel,但是苦於查詢結果是100個裡面隨機挑出50個,所以他想把查詢結果放在暫存資料表裡,匯出的時候查詢暫存資料表。這個方法不是不可取,其實更好的辦法就是把查詢的結果DataTable,放到緩衝裡,匯出的時候直接使用就行了。然後群裡的同學們都紛紛表明如何使用緩衝。本次我們就講下.Net

本機快取類(LRU Cache),喜歡的朋友拿去用

這是一個固定長度的雙向鏈表,沒有閉合,當然是起初沒寫成閉合的。怎麼緩衝的呢? 就是比如 長度是3000,你緩衝一篇文章 就放進去一個, 如果你從裡面擷取一個A,則A被提到鏈表的頭部,再放入一個B,則B在頭部, 其他的就會靠後排。如果緩衝的數量超過的3000,再緩衝新的時候會踢掉尾部的那個。因為那個用的次數很少。public class CacheList<T> where T : class { public class Item { public

HTML5 Canvas編寫五彩連珠(4):動畫

上一節中,我們留下了一個flyin的方法沒有介紹,這裡想單獨寫一篇html5的動畫實現。在第二節中我們實現了畫一個泡泡,並且成功的擦除了泡泡,但當時也說了別把棋盤的線給擦掉了,所以做了位移量。所以說html5 Canvas還是低級, 沒有圖層的概念,擦掉再想補回來,怎麼補?  答案就是重繪。

帶你走進緩衝世界(3):緩衝原理

        上次我們瞭解了緩衝的基本使用技能,也知道為什麼要用緩衝,但只是單單談到了緩衝的優勢的一點:就是緩衝避免的重複性的耗時操作,提高系統效能。其實,如果緩衝使用不當,會適得其反。為了避免這種情況的發生,我們更適合瞭解下緩衝的原理。雖然緩衝不僅僅是指緩衝在記憶體裡的資料,但本節還是以記憶體為主。        假如說A市有1000萬人口,我們要根據某個社會安全號碼碼,查出這個人的資料,該如何做呢?        有兩種做法:        1、把這些資料錄入資料庫,然後給 身份證

帶你走進緩衝世界

  我們搞程式的多多少少都瞭解點演算法。總體來講,演算法是什嗎?演算法就是“時間”和“空間”的互換策略。我們常常考究一個演算法的時間複雜度或空間複雜度,如果我們有絕對足夠的時間或空間,那麼演算法就不需要了,可惜這種條件是不存在的,只是在某些情況下相對來說我們不用去考慮其中一個。今天我們討論的“緩衝”,自然就是“用空間換時間”的演算法。緩衝就是把一些資料暫時存放於某些地方,可能是記憶體,也有可能硬碟。總之,目的就是為了避免某些耗時的操作。我們常見的耗時的操作,比如資料庫的查詢、一些資料的計算結果,

HTML5 Canvas編寫五彩連珠(5):尋路

上節主要做了動畫的實現,感覺還是比較有意思的。遊戲的效能好不好,重繪應該比較重要吧,菜鳥瞎想了下 呵呵。本節就要做對泡泡的操作,上節後面提到了點擊泡泡後泡泡要做出閃動響應,那我們我們如何獲得被點擊了哪個泡泡呢?其實Canvas也是html的一個元素而已,所以我們可以給Canvas加click事件。來查看click時滑鼠的座標,這樣就等得出點擊了map的哪個位置。我們給game增加一個click方法,當Canvas點擊時調用此方法。要實現的效果是:

帶你走進緩衝世界(4):緩衝之緩

        緩衝二字,從字面上分為兩塊:“緩”與“存”。上節我們提到的緩衝原理,其實是在講的一個“存”字,如何存取。大致回顧下是key對應的hashcode,根據hashcode作為數組下標來存取,因為存在hash衝突,速度雖達不到O(1),但也是非常之快。今天就說下“緩”的策略。  緩,便意味著“暫時”的意思,過一段時間就不再存在或被替換掉了,所以我們要說的其實是緩衝的到期策略。在緩衝入門篇中,主要提到了Cache類的Insert的方法,其中的幾個變化的參數寓意著各種緩衝策略,

HTML5 Canvas編寫五彩連珠(6):試玩

  上節中講了如何尋路,在和朋友們討論時都反應有時走的不太對,繞遠路了,其實代碼主要是大方向的判斷  比如目標在右上,那應該是先右還是先上 這個並沒有做處理,如果這個做了處理,效果會更好一些,但也難免會走彎路。  貪心就是這樣,不是最優,接近最優。也希望其他的同學有意見的可以討論下。我這也只是個人想法。  既然可以走動了,那就可以判斷是否可以消除同樣顏色的行、列或斜線了。只要>=5個同樣的色球,就清除他們,並且可以繼續移動。如果不可以清除,那就再增加3個球。 

你真的瞭解過去的自己嗎?

    你真的瞭解過去的自己嗎?別急著回答,先看看我的故事:   

帶你走進緩衝世界(5):一顯身手

       

帶你走進緩衝世界(6):共用快取

回顧之前的章節,我們大致講了下緩衝的基本概念、原理、策略和常用方法。可能會有朋友會說,訪問量小根本不需要緩衝,徒增開發的複雜度,訪問量大的話本機快取也沒意義。其實這話說的也不無道理,當然我們不能把這句話看成絕對的話,不然什麼話都成廢話了:),其實我們研究學習的任何技術都不會白學的,每種技術都有他的使用範疇,只是當我們面對新的層次時,需要改變,需要重新學習。我們之前講的每篇都非常有用,本機快取也非常有用。不過當我們面臨大的資料量和訪問量的考研時,就需要使用新的解決方案。今天就講講共用快取那些事。到

.NET 4.0的dynamic特性和協變特性應用一例

今天遇到了一個編碼問題,很有意思如果T1,T2,T3 都有相同的屬性,而且處理這些屬性的邏輯都一樣,但他們之間沒有關系,該怎麼辦?答案如下:namespace ConsoleApplication2 { public class T1 { public string Name { get; set; } public int Count { get; set; } } public class T2 { public string Name { get; set; }

面試題:4億裡有多少個1(11算2個)。

乍看這題真夠唬人的,群裡看到這個題目後爭先恐後的說看法。最簡單的辦法不外乎就是遍曆每個數,然後toString() 看看裡面有多少個1,最後全部加起來,這是我們得到標準答案的辦法。群裡算上我3個人寫了3個笨方法都跑出來了,3個笨方法,呵呵 有意思,笨方法也不一樣。 程式的實現真是變幻莫測。var re = /1{1}/g;var max = 4 * 10000 * 10000;getTotal(f);getTotal(f1);getTotal(f2);function

讀書筆記:DBMS資料庫管理系統預覽

查詢編譯器 (Query compiler)查詢編譯器對查詢進行 分析 和 最佳化。他將查詢翻譯成“查詢計劃(query plan)”,查詢計劃主要是在 資料上執行一系列的操作。主要分為三個部分:1、查詢分析器(query parser):將SQL分析為一顆樹結構。2、查詢前置處理器(query preprocessor):對查詢進行語義檢查,並進行某些樹結構的轉換,將分析樹轉換為表示最初查詢計劃的代數操作樹3、查詢最佳化工具(query

HTML5 Canvas編寫五彩連珠(1):預覽

HTML5推出也有很長一段時間了,一直沒有學習過,閑來無事學習開發個遊戲吧。  用javascript+canvas編寫一個 五彩連珠的遊戲。Canvas 畫布 標籤<canvas id="canvas" ></canvas>,很簡單和普通的tag沒區別。 關鍵在於js對他的操作。先看個範例程式碼:<canvas id="canvas" height="100" width="100"></canvas><script>var

堆排序練習題

#include <vector>using namespace std;class HeapSort{private:int len;vector<int> list;void SwapNode(int i,int heapSize);public:void Sort();void Print();HeapSort(void);~HeapSort(void);};#include <iostream>#include "HeapSort.h"using

HTML5 Canvas編寫五彩連珠(2):畫圖

好吧,新的一天來了,我才開始動筆,真夠懶得:)昨天說了今天我們要畫一個球,在canvas上。好吧,這是遊戲的入門的第一步,只是昨天沒寫完,所以。。。<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title></head><body> <canvas id="canvas" height="400

帶你走進緩衝世界(1):漫談緩衝

       

HTML5 Canvas編寫五彩連珠(3):設計

  在看了幾篇Canvas相關的文章後,發現前兩節的代碼實現還是有問題,因為知道的少,所以只能在自己已知的知識上做實現。不過還好,這是一個發現的過程,也是一個錯誤修正和完善的過程。我第一次嘗試一邊學習一遍寫部落格,我想這也有助我的學習,可以把知識掌握的牢固些,起碼忘的慢一些吧:)。  前兩節學習了幾個基本繪製的方法,lineTo moveTo和arc,也瞭解座標的情況,但寫的比較傻,只是單純的實現。

總頁數: 61357 1 .... 4943 4944 4945 4946 4947 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.