原创 sqlmap基本使用方法

sqlmap是安全測試工具,通常用於對已知的http接口進行sql注入測試,一旦注入成功,可以獲取到後臺包括數據庫表、用戶信息、數據內容等多種敏感信息,對web漏洞防範有重要意義。   基本語法   1.先進行注入點探測,常規語法是: p

原创 ajax、跨域、session、filter

        在web開發中,標題列舉的這幾項內容都是很常見的,遇到問題也不難解決。但最近我在項目中卻遇到一個這幾項組合出的問題,卡了好幾個小時,值得記一下。         首先項目是前後端分離的結構。前端我用nodejs來調試,後端

原创 樸素貝葉斯分類算法

之前有次考試考的是手工計算樸素貝葉斯的分類。當時沒答對,後來搞明白了,不久又忘得差不多了。所以寫個例子在這兒記一下。 先推導一下貝葉斯公式: 假定我們觀察到兩個事件都發生了,記做P(A∙B),那麼我們既可

原创 java 8 新特性

1.介紹 毫無疑問,Java 8發行版是自Java 5(發行於2004,已經過了相當一段時間了)以來最具革命性的版本。Java 8 爲Java語言、編譯器、類庫、開發工具與JVM(Java虛擬機)帶來了大量新特性。在這篇教程中,我們將一

原创 安裝部署jasig cas server及相關實踐

jasig cas server是一個開源的單點登錄認證服務器。部署很簡單,下載後將war包放入tomcat後啓動。需要理解並解決的問題有: 一、使tomcat支持https https協議通過ssl和數

原创 java 9 新特性

▶ 進程操作改進(JEP 102: Process API Updates) 新增的 java.lang.ProcessHandle 類豐富了對進程的操作,同時原有的 java.lang.Process

原创 tf-idf(term frequency–inverse document frequency)含義

在文本挖掘和自然語言處理方面,tf-idf是非常重要也非常常用的算法。   tf:詞頻,是指某個詞在某篇文章中出現的頻率。比如,某篇文章共1000個詞彙,其中hello出現5次,那麼其tf=5/1000。tf最直觀的理解就是,當一個詞在本

原创 MySQL大表優化方案

當MySQL單表記錄數過大時,增刪改查性能都會急劇下降,可以參考以下步驟來優化: 單表優化 除非單表數據未來會一直不斷上漲,否則不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各種複雜度,一般以整型值爲主的表在千萬級以下,字符串爲主的

原创 java8的lambda表達式及方法引用(一)

當前很多公司的java開發環境都升級到jdk8以上了。lambda表達式是java8中最重要的更新,其目的是爲了配合隨着並行運算流行起來的所謂“函數式”編程改進而來的語法糖。既然是語法糖,那麼其實不用這些lambda表達式也是可以實現原有

原创 oracle聯合查詢並更新一個表字段的sql語句

更新某一個字段寫起來簡單,也容易理解: UPDATE tablea A SET A.name=(select name from tableb B where A.id=B.id) 更新多個字段就顯得比較冗長: UPDATE tablea

原创 java8的lambda表達式及方法引用(二)

本文和前面的lambda表達式是連貫的,但篇幅太長了,所以分開了。 前面說過lambda表達式的基本格式是()->{},{}裏的代碼就是函數式接口的實現部分,完全手寫自然沒有問題,但有時這個方法要實現的功能在其他代碼裏已經有了(即可以找到

原创 ubuntu啓動無桌面圖標?

遇到太多次了,每次都記不住,回回耽誤十分鐘至半小時解決這事,一定要記下來。 用virtualbox裝ubuntu或者克隆已有虛擬機,經常是裝完好好的,一重啓桌面啥都沒,據說是那個compiz進程搞的,不清楚。總之解決辦法就是:Ctrl+A

原创 java8 日期時間處理

之前有個項目頻繁用到年、月、周的數據庫統計。爲此專門寫了一個蠻複雜的工具類。最近了解了一下java8的新日期時間類庫,簡直方便到感人。重構了一下代碼,行數少了多一半,有些方法直接刪掉了,因爲已經自帶了。適用多種業務場景:展示、統計、設置有

原创 spark、hadoop動態增減節點

之前在搭建實驗環境的時候按部就班的配置好,然後就啓動了。後來再一琢磨,有點不對勁。分佈式系統的一個優勢就是動態可伸縮性,如果增刪節點需要重啓那肯定是不行的。後來研究了一下,發現的確是不需要重啓的。仍以spark和hadoop爲例: 對於s

原创 一個對含中文字符串在內的字符串排序簡便方法

public class StringSort { public static void main(String[] args){ String[] arr = {"1101", "1100", "1001", "1110","11