原创 關於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