原创 JavaScript Set 和weakset

在ES6, 增加了Set和WeakSet兩個集合,簡單總結一下使用方法以及他們的區別 1.Set是一個新的數據結構,類似於數組,不過裏面的數值是不能重複的 Set 實例的方法分爲兩大類:操作方法(用於操作數據)和遍歷方法(用於遍歷成員)。

原创 NodeJS - Redis

redis是一種內存數據庫, 以key-value的方式存儲。同時把數據進行服務本地存儲,key 一般都是字符串,當然也可以有其他個數,比如數字,value的形式有很多。比如list, hash, string等。具體可以參考指南。 本文

原创 Nodejs-Cookie的設置

在web開發的過程中 cookie 肯定需要接觸的,一個典型的應用是關於用戶登錄的,如果用戶登錄之後,再關閉,下次打開該網頁已經自動登錄,這樣就可以利用服務器端發送cookie到客戶端,再客戶端存下來就可以了,當然也可以客戶端自己存儲登錄

原创 WebSocket 前端後端(nodejs)

WebSocket是區別於HTTP/HTTPS的另外一種協議,目的是實現後端主動向前端發送數據,是一種TCP的連接。 1. WebSocket的前後端握手 WebSocket協議在握手連接的時候,走的是HTTP/HTTPS協議的upgra

原创 Windbg 的選取

windbg作爲調試器的一種,是非常方便的,可以在沒有visual studio 等開發工具的情況下調試並進行問題追蹤,並且利用該工具可以進行dump file的抓取。一般情況下客戶在運行我們開發的應用程序的時候,機器上是沒有安裝visu

原创 在Java程序中加載Native/Dynamic DLL

雖然很少或者說Java本身也不推薦用Java去調用Native/Dynamic DLL,但是Java還是提供了該功能,以方便開發人員可以利用Navtive code去更好的實現Java不能實現的功能(比如效率原因或者很多老的代碼)。 有好

原创 WPF drag過程中顯示ToolTip.

在drag/drop過程中,我們在判斷出over的元素上是否可以接受drag的東西之後,通常是通過鼠標的樣式簡單告訴用戶這個元素不接受現在drag的內容,但是用戶通常不知道具體的原因,有時候爲了增強客戶體驗,會在over的過程中顯示too

原创 Windbg 調試 managed code 常用命令

本文主要記錄一些我們在debug 託管代碼dumpfile的時候常用命令。1. lm 命令在windbg打開dumpfile之後,我們可以利用lm命令去列出當前加載的dll,如果想詳細查看某個dll的信息,比如aaa.dll,那麼可以利用

原创 軟件架構MVC, MVP, MVVM

複雜的軟件必須有清晰合理的架構,否則無法開發和維護。 MVC(Model-View-Controller)是最常見的軟件架構之一,業界有着廣泛的應用。它本身很容易理解,但是要講清楚,它與衍生的MVP和MVVM架構的區別就不容易了,但是通過

原创 Windbg調試SOS.DLL和CLR 不匹配問題

我們在用windbg調試客戶發來的dump文件的時候,如果不是相同的環境的話,很容易出現這個現象,簡單的說就是程序運行機器上的CLR與當前開發調試人員機器上的CLR是不同的版本,從而導致開發人員機器上的SOS.dll與dump file中

原创 C# async await task 的學習

async await 是 .net framework 4.5新加的,主要是爲了解決異步執行的問題,他們是兩個關鍵字,使用 async 修飾符可將方法、lambda 表達式或匿名方法指定爲異步,在用async修飾符的表達式/方法的返回值

原创 COM組件調試

COM技術雖然已經不被Microsoft推薦,我還是簡單記錄一下怎樣調試COM組件。跟調試普通的dll差不多,有一點區別。1. 創建COM組件現在利用VS去創建COM組件是很容易的,可以利用C++/VC++ 或者C#,淡然C#去編寫COM

原创 利用Eclipse發佈Java程序

Eclipse作爲重要的Java編譯器,利用其發佈程序是其中必要的一環。 在Eclipse中新建Java project,然後增加類,並含有main函數,作爲啓動類。在main函數中簡單增加如下代碼 利用Eclipse調試程序,在Con

原创 利用Eclipse 引用 jar包的幾種方法

在學習Java的時候,我們都需要編譯器,而Eclipse是其中廣泛應用的編譯器,下面是個人在學習Java的過程中利用Eclipse去引用其他的lib的一點經驗。 啓動Eclipse,新建Java project,添加新類 MyTest.j

原创 Java 調用Native Method 和Library

Java 調用Native Method和Libary,就會丟失Java自己的一些屬性,比如誇平臺運行,除非你確認必須調用Native Method 和Library,否則儘量別用,我們通常這樣用的原因是之前我們寫了很多代碼,希望重用,或