原创 scrapy用item_loader加載item並處理

from AticleSpider.items import JobBoleAricleItem, ArticleItemLoader 如果不使用item_loader則需要 def parse_detail(self, res

原创 堆的插入刪除實現和優化

堆的插入的時候實在樹的最下面插入。例如 97 / \ 95 69 / \ / \

原创 插入排序與優化筆記

下面的方法中是屬於插入排序,但是因爲其調用的是交換函數,每次都進行交換就會耗費更高的資源 public static void sort(Comparable[] arr){ int n = arr.lengt

原创 java多線程之-----對象及變量的併發訪問1(synchronized同步方法)

方法內部的變量爲線程安全的 “非線程安全”問題存在於“實例變量中”如果是方法內部的私有變量,則不存在“非線程安全”的問題,所得的結果也就是“線程安全”的了 實例變量非線程安全 如果多個線程共同訪問一個對象中的實例變量,則有可能出

原创 Scrapy用Twisted異步操作Mysql

1首先在setting中配置好數據庫的信息,便於修改管理 MYSQL_HOST='192.168.0.2'#主機 MYSQL_DBNAME='dbname'#數據庫名稱 MYSQL_USER='root'#用戶名 MYSQL_PA

原创 python 函數式編程

python把函數作爲參數 在2.1小節中,我們講了高階函數的概念,並編寫了一個簡單的高階函數: def add(x, y, f): return f(x) + f(y) 如果傳入abs作爲參數f的值: add(-5, 9

原创 快速排序實現以及優化

SortTestHelper爲輔助類,在我插入排序那篇文章有 SOrtTestHelPer 快速排序原理: 假設我們現在對“6 1 2 7 9 3 4 5 10 8”這 10 個數進行排序。首先在這個序列中隨 便找一個數作爲基準

原创 Python 之dict和set

Python之訪問dict 我們已經能創建一個dict,用於表示名字和成績的對應關係: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 那麼,如何根據名字來查找對應的成

原创 Scrapy圖片自動下載配置

在setting.py中配置基本信息 IMAGES_URLS_FIELD = "front_image_url" # 獲取當前文件路徑 project_dir = os.path.abspath(os.path.dirname(_

原创 java多線程之-----停止線程

在java中有以下三種方式可以終止正在運行的線程: 使用退出標誌,使線程正常退出,也就是當run方法完成後線程終止。 使用stop方法強行終止線程,但是不推薦這個方法,因爲stop和suspend以及resume一樣,都是過期

原创 Android捕捉未捕捉的異常

個人筆記 /** * Created by jian on 2017/7/11. */ public class CrashHandler implements Thread.UncaughtExceptionHandler

原创 java多線程之-----靜態同步synchronized方法與synchronized(class) 代碼塊

這個也是我在面試中被問到的一個題目(synchronize修飾靜態方法和非靜態方法的區別),這個沒答出來 關鍵字synchronized還可以應用在static靜態方法上,如果這樣寫,那是對當前的*.java文件對應的C

原创 歸併排序

public class MergeSort{ // 我們的算法類不允許產生任何實例 private MergeSort(){} // 將arr[l...mid]和arr[mid+1...r]兩部分進行

原创 自定義View之粘性下拉刷新效果

PullView.java /** * Created by jian on 17-8-16. */ public class PullView extends View { //圓的畫筆 private P

原创 JAVA註解應用之合成數據庫查詢語句

自Java5.0版本引入註解之後,它就成爲了Java平臺中非常重要的一部分。開發過程中,我們也時常在應用代碼中會看到諸如@Override,@Deprecated這樣的註解。 在使用註解之前,程序源數據只是通過java註釋和ja