原创 爬蟲技術

python爬蟲其實並沒有什麼太高深的技術,耗費精力的地方在於對網站返回結果的解析,以及對一些反爬機制的研究。 爬蟲demo 下面這個例子可以爬取起點免費小說,直接看代碼(本例來源於參考資料1): # coding=utf-8

原创 網絡IO模型

網絡io模型包括幾種:BIO,NIO和AIO。本文將對這幾種模型分別進行介紹。 BIO BIO,也就是阻塞式io模型是最常見的網絡io模型,Java經典的io流即是這種模型。 單線程BIO 服務端: public clas

原创 Thrift基礎

Thrift是Facebook開源的一款rpc調用框架,提供給Apache之後叫做Apache Thrift。它是一種高效的、支持多種編程語言的遠程服務調用框架。 本文將以python和java爲例來介紹thrift的開發和使用。

原创 Spark基礎

安裝 Spark下載地址:http://spark.apache.org/downloads.html, 解壓後即可使用。 創建測試文件並輸出內容: 輸入val lines=sc.textFile("/home/lucy/he

原创 python之消息隊列

rabbitmq安裝 通過命令行直接安裝rabbitmq: sudo apt-get install rabbitmq-server 安裝完成後自動開啓服務,也可通過命令行進行服務開啓/關閉操作: service rabbitm

原创 python操作mongo

在python中,連接並操作mongo主要使用了pymongo庫。 mongo連接 先安裝mongo,並創建一個庫:mytest,collection爲Person,插入一條記錄:_id:1。連接並查詢: import pymong

原创 關於Pycharm中unresolved reference問題的解決方案

在使用pycharm時,通過from xx import xx方式引入第三方模塊(在__init__.py中暴露的模塊)時出現unresolved reference提示,雖然不影響運行,但無法通過鼠標點擊進入模塊聲明,非常鬱悶。在

原创 python的logging使用

先看一個簡單的demo: # -*- coding:utf-8 -*- import logging import sys logging.basicConfig(stream=sys.stdout, level=logging.IN

原创 Hive連接方式

環境準備 安裝 hadoop,參照:https://www.jianshu.com/p/9c8a0f7b98cf 安裝hive,參照:https://www.jianshu.com/p/ed4c2852754c 說明:本文測試環境爲

原创 關於Command "python setup.py egg_info" failed with error code問題的解決方案

通過pip安裝依賴包時報錯,根據錯誤提示搜索到的解決方案都是升級pip版本。如下所示: python -m pip install --upgrade –force pip pip install --upgrade setuptoo

原创 tornado之HTTP方法

從上一篇blog中瞭解到,對於tornado.web.RequestHandler對象,從HTTP請求中獲取信息的方式是:使用get_argument來獲得get或post請求的參數;寫HTTP響應的方式是:使用write方法。 下

原创 tornado之HelloWorld

tornado是python的一個輕量級的web框架,主要特點是非阻塞式的,處理速度快,而且是輕量級的,使用方便。反之Django則是一個重量級的大而全的框架,功能較多,生態較全。 HelloWorld 直接看最簡單的demo: i

原创 瀏覽器請求從發送到返回的完整過程

這是一道比較經典的面試題,主要考察的是對網絡方面的認識。 先通過一張圖對整個處理流程進行描述(出自參考資料1): 簡單地說:首先通過DNS域名解析出服務器IP,然後通過TCP/IP協議建立起客戶端到服務器的TCP連接。網絡連接建立

原创 對象相等比較

String的相等比較 對於String類型而言,一般用“==”或者equales做相等比較,前者比較字符串的引用,後者比較字符串的值。 字符串常量的值存儲於常量池中,只要值相同,那麼引用的就是同一個字符串常量,也就是說,==和equ

原创 緩存擊穿、緩存穿透與緩存雪崩

概念分析 緩存擊穿,既然能擊穿,說明是有緩存的,只是在某個時間點沒有從緩存中獲取到數據,例如緩存過期,此時需要到數據庫中查詢。如果併發量很小,那沒什麼問題。而如果併發量很大的情況下,例如對“熱點”數據的查詢,大量的請求同時涌入到數據庫