原创 在nginx中採用lua對請求的url進行hash取模

    目前有一個需求,是需要將nginx反向代理的後端響應的內容進行緩存,並且要平均的分配到10個自定義的目錄中。一說到,自動分配的需求,採用hash取模是最常用也是最簡單的方案,其中選擇hash的字段(內容)必須是變化最多的。比如請求

原创 linux下采用ps、jstack命令排查命中java應用中佔用CPU高的代碼

  一般情況下,是因爲系統出現瓶頸了,纔會去進行調優,而調優則要先找出項目代碼中的問題,這次針對java應用佔用CPU高的代碼進行排查。     假設,目前有一個應用在運行過程中會導致CPU居高不下,而無法知道是哪段代碼引起的,這個時候,

原创 jstack直接dump出jvm的thread statck解決系統運行過程中停止響應的問題

我之前就說過,如果沒有能力解決錯誤就不要加工你的錯誤,最近又被線上的一個系統給坑到了~該坑出現的莫名其妙的,該系統使用人數不多,就公司內部的幾百個人(用於提單之類的),突然該系統停止了響應(任何操作都很慢)。 按照這種情況,我們一般情況下

原创 使用java自定義jmeter的壓力測試用例

    之前已經分享過如何用java進行壓力測試,然而,那種直接用代碼壓測的缺乏圖形化GUI的直觀。同時,只能夠單機進行壓測,有些情況下,比如webservice的壓測需要大量的序列化反序列化xml,這些很消耗CPU之類的資源的壓力測試,

原创 webservice soap脫離客戶端代碼單獨http調試

    webservice soap的實現序列化方式默認也是最通用的是採用xml進行序列化以及http協議進行傳輸的,也就是文本協議傳輸調用,這樣給了我們脫離客戶端代碼用工具進行調試或者用HttpClient的代碼進行各種測試的方便。

原创 利用樹莓派搭建家庭NAS簡要

利用樹莓派搭建家庭NAS簡要 家庭NAS是用OMV來實現的,目前有兩種裝法,一種是直接刷ovm4Pi 系統,一種是先安裝raspbian(樹莓派的debian系統),再安裝omv 。本文記錄的是用第二種方式安裝。 1、利用內存卡安裝ra

原创 關於nginx的ngx_http_image_filter_module裁剪圖片後方向改變的解決方案

    使用nginx的ngx_http_image_filter_module進行圖片裁剪的方案是圖片裁剪一個非常常見的方案,最近提供給app端的圖片,需要在部分進行展示的地方進行圖片裁剪再加載,以減少圖片的加載流量(原圖的尺寸非常大)

原创 windows下采用eclipse與cygwin構建調試nginx插件

    nginx在windows下用vc或者是mingw會存在或多或少的問題,它天然適合在linux下開發使用,但是想在windows進行開發使用的話,最好的方式就是採用cygwin進行linux環境的模擬,開發工具的話,可以選用ecl

原创 裝飾器模式以及繼承的應用場景

    最近,看到有朋友在吐槽,說在用中間件的連接池的時候,得到的連接的實例,調用close方法之後,不能回到池裏面,而是真的關閉了連接。爲什麼大家會覺得調用close方法是回到連接池而不是關閉連接呢?這個還要從最常見的JDBC的連接池說

原创 IE瀏覽器在地址欄針對param直接輸入中文導致亂碼的解決方案

    這篇文章算是對我前幾年在做搜索引擎項目時候無法解決的一個問題畫一個句號吧,用處不大,不過可以彌補下自己的一個遺憾。     當時的場景是這樣子的,本來正常人的習慣總是在搜索框輸入正常搜索詞然後進行搜索,但是總有一些用戶會自認爲聰明

原创 2016年總結以及2017年展望(工作技術篇)

    到2016年年底爲止,在目前的公司已經差不多一年半的時間了,在現在的公司,作爲開發人員,從最開始的親手編碼,到後來的包括現在的需求分析和任務進度管理,感覺慢慢的消耗着自己的一些熱情吧,也可以說收穫和失望並存着。     項目,作爲

原创 String的連接方式

總是忘記,做做筆記本。 String c = a+"."+b; 會轉化爲String c = new StringBuilder(a).append(".").append(b).toString(); --------------

原创 nginx_lua案例分析:動態路由實現

    這裏的路由指的是在web開發中,訪問路徑以及具體實現內容的映射。比如,/a映射到某個具體的頁面,這個就稱之爲一個路由。而動態路由,顧名思義就是動態添加這種路由映射關係。     在nginx中,通過rewrite和proxy_pa

原创 java String類型的格式化

    String類提供了靜態方法String.format(String formatContent,Object ... value);     在使用上必須使用%d、%f、%s...等等具體制定類型的格式佔位符,比如String

原创 nginx嵌入lua腳本操作redis

    此前稍微提過,用nginx裏面執行lua腳本,可以執行一些原有無法實現的必須到後端去控制。目前有個需求,是根據不同的傳入id,判斷其類型,反向代理到不同的項目後端,如果是採用後端來做的話,基本上很難去實現,然而我們在前端用lua去