原创 基於FiddlerCore的.Net二次開發

一、FiddlerCore是什麼 Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊。Fiddler 是用C#寫出來的,它包含一個簡單卻功能強大的基於JScript .NET 事件腳本子

原创 使用Pymongo 管理MongoDB

使用Pymongo 管理MongoDB 一、PyMongo簡介 PyMongo是Mongodb的Python接口開發包,是使用Python和Mongodb的推薦方式。本文將對PyMongo的使用進行介紹。 二、安裝 PyMongo包含在P

原创 利用Fiddler模擬惡劣網絡環境

  在解決日常的支持需求中,經常會遇到一些用戶反饋一些無法簡單復現的bug,有很大一部分的bug是由於用戶自身的網絡環境波動,或者是本身網絡環境就較爲惡劣,而服務在面對這種惡劣的網絡環境的健壯性不夠,導致會出現一些意想不到的bug。而在正

原创 談談Web圖標

前段時間意圖模仿百度開放雲的UE風格時,想把標誌不同狀態的圓點摳出來作爲<img>放到自己項目中,結果一查發現他們不是<img>,而是@font-face方式實現,頓感自己的無知,因此有了這篇小結式的文章。 0x00 序 隨着前端技術的不

原创 Redis內部數據結構實現解析

Redis目前在Key-Value存儲以及緩存系統中有着非常廣泛的應用,且以高效快速著稱。不同於其他Key-Value數據庫,Redis提供了豐富的數據結構類型,value可以是字符串、列表、哈希和有序集等,爲用戶操作帶來了極大的便利。

原创 悲觀鎖和樂觀鎖的比較和使用

悲觀鎖(Pessimistic Lock) 顧名思義,就是很悲觀,每次去拿數據的時候都認爲別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。傳統的關係型數據庫裏邊就用到了很多這種鎖機制,比如行鎖,

原创 利用Dummynet模擬惡劣網絡環境

利用Dummynet模擬惡劣網絡環境 在之前的文章中提到了三種模擬惡劣網絡環境調試代碼的手段: 應用層或者傳輸層的代理服務器 傳輸層或者網絡層控制數據包的驅動 網絡層控制數據包的網關 同時在之前的文章中介紹了第一種手段,即利用應用層的

原创 利用Haproxy作反向代理繞過上海電信海外訪問受限瓶頸

最近上海電信限制用戶海外訪問的事件也是在微博上受到了很多人的關注,一衆上海電信的用戶紛紛表示要出走聯通和移動,原因就是因爲上海電信訪問國外網站的速度變得非常慢,丟包率極高,網絡不穩定,無論是正常的國外網站的服務使用、外資企業的正常業務,到

原创 索引失效&子查詢-慢查詢的起因

目前,Mysql作爲常用的數據庫,在各類業務中被廣泛運用。但是其設計並非是十全十美,一些我們認爲“高效“的語句,在執行時會花費大量的時間,導致頁面出現超時錯誤。 這裏舉一些簡單的bad case,希望大家以後處理慢sql時能有所參考。(不

原创 PHP中的子進程和消息隊列

本文將介紹PHP子進程的使用,使用linux消息隊列機制來達成進程間的協作,最後用一個簡單的例子來類比具體應用方案。 1. 子進程 1.1 創建子進程 int pcntl_fork ( void ) 按照php官方的說明,pcntl

原创 異常處理的最佳實踐(下)

前文對異常處理的策略作了大體的介紹,本文將側重於一些細節,有助於幫我們更好地在異常發生時定位問題。 異常處理模式 前文所述的異常處理策略主要側重於系統的頂層,包括服務端請求處理和用戶操作處理,也即最後一層屏障。對於代碼結構較爲簡單的小型的

原创 【js模塊化+promise】讓彈窗們彈起來

彈窗或者浮層是頁面上看起來微不足道,卻又常常起到重要作用的“零件”。比如最近做的項目中,一個頁面上涉及了6個以上的彈窗及其對應的邏輯處理,可以說頁面幾乎是由彈窗邏輯構成的。因此,如何讓這些彈窗優雅地彈起來(別人能夠很快地對這些代碼進行維護