原创 關於golang的context淺析
首先來看一段關於谷歌官方的描述 Package context defines the Context type, which carries deadlines, cancellation signals, and other
原创 golang實現聊天服務器
學了一段時間的golang,不得不說go的內褲的設計和抽象層次很高,很漂亮,用來來很爽。 直接上代碼: chatServer: package main import ( "bufio" "fmt" "log" "ne
原创 golang的smtp發送實例
好久沒有更新博客了,來記錄一個smtp的實例。 package main import ( "bytes" "encoding/base64" "fmt" "io/ioutil" "net/smtp" "strin
原创 js加載xml(字符串或者文件)
1. 加載XML文件 使用ajax加載xml文件 var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XM
原创 js中Date對象的構造
我所遇到的情景如下: 我通過serve端向瀏覽器的request發送響應,響應中包含time字段,由於在服務端使用int64來存儲時間相對節約內存和方便,然後再在客戶端進行time_t 轉 Date. 以下記錄解決方案。 JS中的
原创 使用ajax和golang的Form實現bs異步交互
Ajax:Asynchronous Javascript And XML(異步 JavaScript 和 XML)。 Ajax 的核心是 js 對象:XMLHttpRequest。 XMLHttpRequest 對象提供了對 H
原创 FD_CLOEXEC用法及原因_轉
FD_CLOEXEC用法及原因_轉 </h1> <div class="clear"></div> <div class="postBody"> 轉自:使用FD_CLOEXE
原创 js的RegExp對象,正則向後引用
RegExp 靜態屬性 長名 短名 說明 input $_ 返回當前所作用的字符串,初始值爲空字符串"" index 當前模式匹配的開始位置,從 0 開始計數。初始值爲 -1,每次成功匹配時,i
原创 windows重疊IO和IOCP簡介
產生重疊IO的原因: 對於阻塞IO的讀寫操作都是需要阻塞等待IO完成的,大大的浪費用戶的進程的時間片,降低了程序的性能。所以系統開個後門,悄悄地給你開個後門,開個線程去幫你請求IO,等到IO操作完成之後再通知你,你就可一再接着處理
原创 關於如何實現textarea接受Tab鍵輸入
實現textarea接受Tab鍵的輸入 首先我們需要知道,在一般情況下網頁上按Tab鍵是切換控件焦點的。在textarea裏也是這樣,那麼當我們需要在文本框裏輸入Tab的時候,應該怎麼辦呢? 首先我們想到直接看一下 textare
原创 multipart/form-data的使用注意
問題描述 事情是這樣的,我在使用ajax+FormData對象提交數據的時候,使用request.setRequestHeader(“Content-Type”, “application/x-www-form-urlencod
原创 textarea 中的換行、空格; 如何處理
問題情景:在我做一個博客系統,使用textarea提交數據到後臺的時候,從brower提交到後臺的過程中的時候,數據經過url編碼。(當然也可以在B/S兩端建立編碼通道,默認是url編碼),當默認url編碼的時候,數據從text
原创 Finite-State Machine的golang簡單實現
FSM(Finite-State Machine) package main import ( "errors" "fmt" "reflect" ) type State interface { //get name
原创 關於線程池的設計和使用場景·淺析
線程池的設計 對於線程池可以有很對中設計,最常見的有master-slave模型,和通用線程池。 1. master-slave:一個主控線程和多個工作線程,線程池的調度由master線程來執行。 2. 通用線程池,如常見的半同步
原创 Nginx--array數據結構解析
ngx_array_t是nginx內置的一個數據結構。 核心數據結構: typedef struct { void *elts; //數組的第一個元素的地址 ngx_uint_t nel