Time of Update: 2018-12-06
依賴倒置原則(Dependence Inversion Principle),簡稱DIP定義High level modules should depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon
Time of Update: 2018-12-06
每次做web開發時免不了出現各種錯誤,有時狀態代碼也可以為我們提示錯誤原因,之前遇到的都是404、500之類的錯誤,但最近卻遇到很多稀奇古怪的狀態代碼,索性找出了大部分的狀態代碼表,方便查詢當伺服器對客戶請求進行響應時,首先要發送的是狀態行,然後發送HTTP頭和資訊體,也就是說,狀態行是響應的首行。狀態行包含3位元字的狀態代碼和對狀態嗎的描述,下面是5中狀態代碼的基本含義1xx(1開頭的3位元):主要是實驗性質的2xx:表明請求成功。如狀態代碼200可以表明已經成功取得了請求的頁面3xx:表明在
Time of Update: 2018-12-06
開發應用程式的時候,如果一個應用的介面太醜,給使用者的第一感覺就是這個產品很垃圾,即使功能很強悍。大公司的碼農當然就不用擔心了,因為有很多藝術天賦的美工美眉來處理這個方面,但是如果是小公司的話,或者說你想自己開發應用的話,沒有一個迷人的介面是不會得到使用者關注的。自己開發的應用如果看著很喜愛,那當然再好不過了 廢話有些多,瞭解.9.png圖片已經一段時間了,索性將其記載下來,以防以後忘記。雖然網上有很多,但是很亂,看著心煩,而且不符合自己的需求,所以還是自己動手豐衣足食。 .9.png圖
Time of Update: 2018-12-06
首先看看介面隔離原則的定義,有兩種定義第一種:Clients should not be forced to depend upon interfaces that they don't use.(用戶端不應該強行以來它不需要的介面)第二種:The dependency of one class to another one should depend on the smallest possible
Time of Update: 2018-12-06
開閉原則(Open Closed
Time of Update: 2018-12-06
昨天安裝配置outlook的時候,由於公司要求要使用修改過的outlook才能使用,在官網下載安裝認證後,總是不成功,各種錯誤不斷,總是出現”該認證已被簽發機構吊銷“的錯誤,但是明明認證沒有到期。下班時也被這個事情搞的心情很不爽,走的急把鑰匙落到公司了,到家後果斷進不了門,SB房東說沒有備份鑰匙,叫我找開鎖公司,開鎖公司竟然要100開我這個爛門,所以直接去網吧過了一宿,今早上班竟然又下雨了,我擦,黴運不斷。仔細又查了下,需要我把之前已經安裝的認證卸載掉從新安裝就可以了解放辦法:Internet選
Time of Update: 2018-12-06
1.storage/posixtype storage/posix storage/posix的作用是指定一個本地目錄給GlusterFS內的一個卷使用。 配置例子: volume posix-example type storage/posix option directory /sda4 end-volume 2. protocol/server (伺服器)type protocol/server
Time of Update: 2018-12-06
迪米特法則(Law of emeter)定義:一個對象應該對其他對象瞭解最少迪米特法則的核心觀念就是類間解耦,弱耦合,只有弱耦合了以後,類的複用性才可以提高。 形象一點的比喻類似於:監獄內的犯人是不應該跟外面的人接觸的,當然或許會有探親的。這裡的監獄就是類,裡面的犯人就是類內部的資訊,而監獄裡的獄警就相當於迪米特法則的執行者舉個例子家人探望犯人家人:家人只與犯人是親人,但是不認識他的獄友package com.loulijun.chapter5;public class Family
Time of Update: 2018-12-06
單例模式(Singleton Pattern)定義:Ensure a class has only one instance, and provide a global point of access to
Time of Update: 2018-12-06
單一職責原則(Single Responsibility Principle),簡稱SRP。定義:There should never be more than one reason for a class to
Time of Update: 2018-12-06
使用者空間檔案系統(Filesystem in Userspace,簡稱FUSE)是作業系統中的概念,指完全在使用者態實現的檔案系統。目前Linux通過核心模組對此進行支援。一些檔案系統如ZFS,glusterfs和moosefs使用FUSE實現。 Linux用於支援使用者空間檔案系統的核心模組名叫FUSE,FUSE一詞有時特指Linux下的使用者空間檔案系統。檔案系統是一個通用作業系統重要的組成部分。傳統上作業系統在核心層面上對檔案系統提供支援。而通常核心態的代碼難以調試,
Time of Update: 2018-12-06
pycurl — A Python interface to the cURL library Pycurl包是一個libcurl的Python介面。libcurl 是一個支援FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 和 LDAP的用戶端URL傳輸庫。libcurl也支援HTTPS認證,HTTP POST,HTTP PUT,FTP上傳,代理,Cookies,基本驗證,FTP檔案斷點繼傳,HTTP代理通道等等。
Time of Update: 2018-12-06
# -*- utf-8 -*-import urlparseimport datetimeimport osfrom multiprocessing import Process,Queue,Array,RLock"""多進程分塊讀取檔案"""WORKERS = 4BLOCKSIZE = 100000000FILE_SIZE = 0def getFilesize(file): """ 擷取要讀取檔案的大小 """ global FILE_SIZE
Time of Update: 2018-12-06
cherrypy 2.0版的時候要upload檔案時是使用streamfilter,有些麻煩。如今cherrypy 2.1及之後版本已經把file
Time of Update: 2018-12-06
聲明:下面列出的物件導向程式設計原則並非我個人總結,而是最近學習設計模式的筆記。目前只是列出剛看過的幾條,以後學到再繼續添加。1. 單一職責原則(SRP) 單一職責原則,就是,就一個類而言,應該僅有一個引起它變化的原因。 也就是說,一個類應該只實現一個單一的功能。為什麼呢?因為,如果一個類承擔的職責過多,就等於把這些職責耦合在一起,一個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭到意想不到的破壞。比如我們寫一個表單應用程式,
Time of Update: 2018-12-06
1.UnboundLocalError: local variable 'sresult' referenced before assignment* 錯誤描述:變數sresult未定義就使用* 查看此處源碼: try: worker.t.csend(sfunc) worker.t.send(sargs) sresult = worker.t.receive() except:
Time of Update: 2018-12-06
找其他開發人員合作開發。我們正處在科技曆史上第一個絕好的時代,你幾乎不用在意在哪工作、為誰工作。只要你 有一個還過得去的網路,你就可以和另外一個在世界任何角落裡的人一起來完成某段程式。我知道,越來越多的有經驗的開發人員開始把他們的一部分時間投入到這 種知識共用裡。閱讀經典著作:《代碼大全(第二版)》, 《程式員修鍊之道》, 《程式設計實踐》, 《設計模式》
Time of Update: 2018-12-06
PyCurl上傳檔案#!/usr/bin/env python#-*- coding: utf-8 -*-import pycurlimport StringIOc = pycurl.Curl() #建立一個同libcurl中的CURL處理器相對應的Curl對象fp = StringIO.StringIO()c.setopt(pycurl.WRITEFUNCTION, fp.write)c.setopt(pycurl.FOLLOWLOCATION,
Time of Update: 2018-12-06
GlusterFS檔案系統叢集和配置情況,見:GlusterFS實踐 6個Server 一、單用戶端測試測試1:複製大約2.0G的檔案至Glusterfs中(都是小檔案,平均1M) 測試結果: glusterfs: 1.8M/s,6台伺服器的吞吐為:3.6M/s 測試2:從GlusterFS讀取測試1的檔案 測試結果: glusterfs: 10.8M/s 本地硬碟: 25.6M/s 測試3:
Time of Update: 2018-12-06
引用地址:http://tools.cherrypy.org/wiki/DirectToDiskFileUpload和上篇檔案中介紹的CherryPy檔案上傳的主要區別在於:過濾器由一個工具取代,禁用CherryPy的請求體處理更改預設逾時改變預設請求body大小的限制臨時檔案由cgi.FieldStorage改為tempfile.NamedTemporaryFile,以避免HTTP上傳後的檔案的拷貝,這在考慮處理大檔案的速度和空間效率時,是非常重要的。範例程式碼:#!/usr/bin/pyth