簡易NodeJS、PHP跨域代理[Restful請求]

最近測試一些東西,需要跨域訪問Restful接口,因為是測試,不可能改變接口形式,所以jsonp方案直接Pass。

本地測試時簡單寫了幾行NodeJS代碼,對特定路徑下的請求進行轉發后回傳,因為使用WebStorm開發,NodeJS不可以和WebStorm內置服務器使用相同端口,雖然可以通過配置本地服務器,完全將NodeJS作為服務器,但那樣需要解決靜態資源的輸出,寫東西過多,偏離初衷,這里不再贅述。

不過如果你是做前后端完全分離的項目,大可以找個開源的Web框架來用,比如express等,這里不多介紹。

總之但思路就這樣了,可能不太完善,代碼如下: 查看更多...

兩行代碼繞過基于referrer的防盜鏈

去年年底,微信公眾號對圖文消息內的圖片做了防盜鏈設置,但驗證發現業務域名下引用微信公眾號圖文還不受影響,以為做了白名單處理,不料近期發現所有自己網站的頁面都不能正常顯示圖片,而是顯示微信的防盜鏈提示。

由于業務需要,公司產品通過微信公眾平臺提供的接口創建、維護圖文,大概去年8月15號,圖文創建接口對非官方圖片鏈接做了過濾,無奈將所有素材上傳至微信,與此同時,我們自己也有頁面需要顯示對應圖文信息,面對微信的防盜鏈屏蔽,想過維護兩個圖片路徑,本地圖文顯示時替換為本地圖片URL,后面感覺這樣太影響效率,為了緊急修復圖片不能顯示的問題,遂通過簡單的代碼繞過了微信防盜鏈。

下面是核心代碼(PHP) 查看更多...

Java方法究竟是值傳遞還是引用傳遞?

一直以來,Java地址引用概念的影響,認為Java傳參分為值傳遞和引用傳遞,最近因為追究JavaScript的傳遞方式,遂翻出Java相關資料看了一下,發現原來這么久一直理解錯了。Java中只有按值傳遞,沒有按引用傳遞!

這里同樣涉及到堆與棧的概念,至于區別,這里就不再贅述了,和JavaScript的說法類似,可以參考前面的《JavaScript函數究竟是值傳遞還是引用傳遞?》。

對于這個問題,網上說法各異,《Core Java》的作者,以及JAVA的創造者James Gosling都認為當一個對象或引用類型變量被當作參數傳遞時,也是值傳遞,這個值就是對象的引用,因此JAVA中只有值傳遞,沒有引用傳遞。還有一種說法是引用可以看作是對象的別名,當對象被當作參數傳遞時,傳遞的是對象的引用,因此是引用傳遞。當然,也有《Thinking in Java》作者Bruce Eckel站在了中立的立場上。 查看更多...

JavaScript函數究竟是值傳遞還是引用傳遞?

很多人認為 JavaScript中函數進行參數傳遞有兩種方式:基礎類型值傳遞;對象類型按引用傳遞。很長一段時間我也這樣認為,其實都是一種值傳遞。

事情是在近期QQ群里偶爾聊到,JavaScript函數傳值到底是值傳遞還是引用傳遞,看到有人說都是值,原因即使是對象也是傳了對象的拷貝,即對象的值本身。本著對技術的刨根問底兒的精神,查了相關資料,得到結論:ECMAScript中所有函數的參數都是按值來傳遞的

下面是一些相關概念的解釋,整理自網絡:

眾所周知,在JavaScript中數據類型可以分為兩類:

原始數據類型值 primitive type,比如Undefined,Null,Boolean,Number,String。

引用類型值,也就是對象類型 Object type,比如Object,Array,Function,Date等。 查看更多...

Jersey2 模擬登陸網站及登陸后301重定向識別

周末群里有人希望幫他搞個程序采集某個網站數據,雖然說沒什么技術難點又不缺那點錢,但是好奇心還是比較重,沒事看了看,最基本的基于SESSION的認證,POST個用戶名密碼即可,用java寫的話我通常采用HttpClient,很強大,很通用,但是最近時不時有看過Jersey2的一些東西,貌似和我之前熟知的1.x差異挺大,就剛好拿來試試(不是接單幫搞數據,單純的玩技術,采集別人數據的事我可不做)。

實踐下來,發現Jersey2的API寫起來更清爽了,因為是用來采集,這里只用了Jersey-client相關功能,期間遇到一些小問題,就是登陸成功后目標網站是301重定向到新頁面的,而Jersey2的API調用后還保留在原始頁面,最終導致SESSION無效,不能進行下一步操作,Stackoverflow上搜了下,最終解決了,很簡單,如下 查看更多...

Virtualbox 安裝時發生嚴重錯誤[解決]

看到有人發了eclipse che的截圖,感覺挺清爽,就打算裝上看看,不料安裝Virtualbox的時候一直自動回滾,以為是曾經裝過Virtualbox卸載不徹底,無意間在網上看到一帖子說是DeviceInstall服務沒有開啟,打開服務一看,狀態果然是已停止,打開后重新安裝,順利成功,這里記錄一下,以便有遇到同樣問題的童鞋參考。

另外順便提一句,eclipse che看似不錯,不過配套要安裝Virtualbox、Git和Docker,略顯麻煩,目前還沒有玩轉,后面有機會分享下試用體驗。

網站限制指定地區、來路、時段訪問

做網站時,出于某種需要,我們可能需要限制某些地區或者某個時段對網站的訪問,下面是一段簡單的php腳本,記錄、分享下。
查看更多...

丙申猴年祝福

大年初三,在家無聊胡言亂語寫了篇總結,順便發個新年祝福。

新的一年里,祝大家:工作舒心,薪水合心,被窩暖心,朋友知心,愛人同心,一切都順心,永遠都開心,事事都稱心!

簡潔Metro風格jQuery下拉框插件分享

日常工作中經常需要對form表單元素進行美化,而常用元素中唯獨select下拉框最不易通過CSS重寫樣式,所以選擇使用自定義的樣式加列表模擬原生select。

此類插件網上也是很多,但很多插件功能是大而全的,而我需要的只不過是簡簡單單的風格樣式上的統一,于是,自己草草寫下了一款小插件,優點是可以通過以下三種方式生成:

1、在某個div上示例化組件,通過傳入數組生成
2、通過固定格式的dl dd自定義列表生成
3、通過原生select生成,同時,如果你不愿意改動事件綁定代碼來完成聯動,可以保持原有程序不變,取值也依然是不變的。
查看更多...

關于七牛云不得不吐槽的那些事

最近無聊折騰博客,又萌發了把圖片放到某個云存儲的念頭,這才想起之前注冊過的七牛云,待登錄了才發現,界面是這樣的。

關于七牛云1

回憶一下,才想起來,這是很久前的事了,翻了翻郵件,發現自己注冊七牛賬戶是在2013年的12月1日

關于七牛云2
查看更多...

黑龙江22选5开奖