用+號拼接javascript
import re a = "not 404 found 張三 99 深圳" L = a.split(" ") # ['not', '404', 'found', '張三', '99', '深圳'] res = re.findall("\d+|[a-zA-Z]+", a) # ['not', '404', 'found', '99'] tmp = [item for item in L if not item in res] # ['張三', '深圳'] print(" ".join(tmp)) html
def singleNumber(nums): d={} l=[] for i in nums: if i in d: d[i]+=1 else: d[i]=1 for k,v in d.items(): if v==1: l.append(k) return l前端
s=set(list),而後再list(s)java
淺拷貝:拷貝了最外圍的對象自己,內部的元素都只是拷貝了一個引用而已。也就是,把對象複製一遍,可是該對象中引用的其餘對象我不復制python
深拷貝:外圍和內部元素都進行了拷貝對象自己,而不是引用。也就是,把對象複製一遍,而且該對象中引用的其餘對象我也複製。mysql
is檢查兩個對象是不是同一個對象,而==檢查他們是否相等.linux
觀察者模式是說你有一個觀察者列表,這個列表中的函數或者某種功能都在觀察某個事件的發生,一旦發生,這些函數或者功能就會自動執行,nginx
多進程 數據共享複雜,須要用IPC;數據是分開的,同步簡單 佔用內存多,切換複雜,CPU利用率低 建立銷燬、切換複雜,速度慢 編程簡單,調試簡單 進程間不會互相影響 適應於多核、多機分佈式;若是一臺機器不夠,擴展到多臺機器比較簡單 多線程 由於共享進程數據,數據共享簡單,但也是由於這個緣由致使同步複雜 佔用內存少,切換簡單,CPU利用率高建立銷燬、切換簡單,速度很快 編程複雜,調試複雜 一個線程掛掉將致使整個進程掛掉 適應於多核分佈式程序員
1)須要頻繁建立銷燬的優先用線程 2)須要進行大量計算的優先使用線程 3)強相關的處理用線程,弱相關的處理用進程 4)可能要擴展到多機分佈的用進程,多核分佈的用線程 5)都知足需求的狀況下,用你最熟悉、最拿手的方式web
函數或方法被調用的時候,調用者是否獲得最終的結果。
直接獲得最終結果的結果,就是同步調用。(打飯模型,打飯不打好不走開,直到打飯給我後才離開)
不直接獲得的最終的結果,就是異步調用。(打飯,不會一直等着,會時不時的過來看看,打完了把飯拿走,異步不保證多長時間打完了飯)
Django
Django是一個開源的Web應用框架,由Python寫成,支持許多數據庫引擎,可讓Web開發變得迅速和可擴展,並會不斷的版本更新以匹配Python最新版本,若是是新手程序員,能夠從這個框架入手。 二、Flask
?Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱採用 Werkzeug ,模板引擎則使用 Jinja2 。Flask使用 BSD 受權。
?Flask也被稱爲 「microframework」 ,由於它使用簡單的核心,用 extension 增長其餘功能。Flask沒有默認使用的數據庫、窗體驗證工具。
?Flask 很輕,花不多的成本就可以開發一個簡單的網站。很是適合初學者學習。Flask 框架學會之後,能夠考慮學習插件的使用。例如使用 WTForm + Flask-WTForm 來驗證表單數據,用 SQLAlchemy + Flask-SQLAlchemy 來對你的數據庫進行控制。
三、Tornado
?Tornado是一種 Web 服務器軟件的開源版本。Tornado 和如今的主流 Web 服務器框架(包括大多數 Python 的框架)有着明顯的區別:它是非阻塞式服務器,並且速度至關快。
?得利於其 非阻塞的方式和對epoll的運用,Tornado 每秒能夠處理數以千計的鏈接,所以 Tornado 是實時 Web 服務的一個 理想框架。
11若是custname字符串的編碼格式爲utf-8,如何將custname的內容轉化爲gbk18030的字符串
r 只讀模式 r+ 讀寫,能夠寫,內容在文件最開頭 rb 讀取一些非文本形式,二進制形式文件用到 rb+ 二進制讀寫
在 jQuery 中,美圓符號($)僅僅是 jQuery 的別名,就表明了jQuery對象,例如,$("div") 和 jQuery("div")是等價的。 注意兩點: 一、即便不使用 $ 也能保證jQuery的全部功能性。 二、爲了不與其餘javascript庫的衝突,能夠釋放 jQuery 對 $ 變量的控制,同時爲 jQuery 變量規定新的自定義名稱。例如: 執行 var jq=$.noConflict(); 後,$ 將再也不控制當前的jQuery, 而是讓渡給了jq變量,此時jq("div") 和 jQuery("div")是等價的
''' 內鏈接、自鏈接、外鏈接(左、右、全)、交叉鏈接 內鏈接:只有兩個元素表相匹配的才能在結果集中顯示。 外鏈接: 左外鏈接:左邊爲驅動表,驅動表的數據所有顯示,匹配表的不匹配的不會顯示。 右外鏈接:右邊爲驅動表,驅動表的數據所有顯示,匹配表的不匹配的不會顯示。 全外鏈接:鏈接的表中不匹配的數據所有會顯示出來。 交叉鏈接: 笛卡爾效應,顯示的結果是連接表數的乘積。
'''
''' 1:表必需要有主鍵。 2:一個字段只表示一個含義。 3:老是包含兩個日期字段:gmt_create(建立日期),gmt_modified(修改日期),且這兩個字段不該該包含有額外的業務邏輯。 4:MySQL中,gmt_create、gmt_modified使用DATETIME類型。 5:禁止使用複雜數據類型(數組,自定義類型等)。 6: MySQL中,附屬表拆分後,附屬表id與主表id保持一致。不容許在附屬表新增主鍵字段。 7: MySQL中,存在過時概念的表,在其設計之初就必須有過時機制,且有明確的過時時間。過時數據必須遷移至歷史表中。 8: MySQL中,再也不使用的表,必須通知DBA予以改名歸檔。 9: MySQL中,線上表中如有再也不使用的字段,爲保證數據完整,禁止刪除。 10: MySQL中,禁止使用OCI驅動,所有使用THI驅動。 '''
'''
MongoDB: ---非關係型數據庫,屬於文檔型數據庫。由數據庫、集合、文檔對象三個層次組成。數據具有自述性,呈現分層的樹狀數據結構,數據結構由鍵值(key=>value)對組成! ---適合場景:事件的記錄,內容管理或者博客平臺等等。
MySQL: ---關係型數據庫。在不一樣的引擎上有不一樣 的存儲方式。查詢語句是使用傳統的sql語句,擁有較爲成熟的體系,成熟度很高。 ---適用場景:一、Web網站系統2:日誌記錄系統3:數據倉庫系統4:嵌入式系統
Redis: ---非關係型數據庫。Redis數據所有存在內存,按期寫入磁盤,當內存不夠時,能夠選擇指定的LRU算法刪除數據。 ---應用場景:偏重於進程順序寫入,雖然支持集羣,也僅限於主-從模式 1.配合關係型數據庫作高速緩存 2.緩存高頻次數據,下降數據庫io 3.分佈式架構,作session共享
Memcache: ---不能持久化存儲
,存儲數據有限制:1M 【大於1M,認爲就行分割】(內存碎片),mm存儲數據只能key-value,集羣數據沒有複製和同步機制 【崩潰不會影響程序,會從數據庫中取數據】,內存回收不能及時 ---應用場景:1.分佈式應該,2.數據庫前段緩存,3.服務器間數據共享。
'''
''' 硬件、系統配置、數據庫表結構、SQL及索引 優化成本:硬件>系統配置>數據庫表結構>SQL及索引
優化效果:硬件<系統配置<數據庫表結構<SQL及索引 https://www.jianshu.com/p/4af41b682e06
'''
''' 1.在查詢條件、排序條件、統計條件的字段上選擇建立索引,能夠顯著提升查詢效率。
2.用$or時把匹配最 多 結果的條件放在最前面,用$and時把匹配最 少 結果的條件放在最前面。
3.使用limit()限定返回結果集的大小,減小數據庫服務器的資源消耗,以及網絡傳輸的數據量。
4.儘可能少用$in,而是分解成一個一個的單一查詢。尤爲是在分片上,$in會讓你的查詢去每個分片上查一次,若是實在要用的話,先在每一個分片上建索引。
5.儘可能不用模糊匹配查詢,用其它精確匹配查詢代替,好比$in、$nin。
6.查詢量大、併發大的狀況,經過前端加緩存解決。
7.能不用安全模式的操做就不用安全模式,這樣客戶端不必等待數據庫返回查詢結果以及處理異常,快了一個數量級。
8.MongoDB的智能查詢優化,判斷粒度爲query條件,而skip和limit都不在其判斷之中,當分頁查詢最後幾頁時,先用order反向排序。
9.儘可能減小跨分片查詢,balance均衡次數少。
10.只查詢要使用的字段,而不查詢全部字段。
11.更新字段的值時,使用$inc比update效率高。
12.apped collections比普通collections的讀寫效率高。
13.server-side processing相似於SQL查詢的存儲過程,能夠減小網絡通信的開銷。
14.必要時使用hint()強制使用某個索引查詢。
15.若是有本身的主鍵列,則使用本身的主鍵列做爲id,這樣能夠節約空間,也不須要建立額外的因此。
16.使用explain,根據exlpain plan進行優化。
17.範圍查詢的時候儘可能用$in、$nin代替。
18.查看數據庫查詢日誌,具體分析的效率低的操做。
19.mongodb有一個數據庫優化工具database profiler,可以檢測數據庫操做的性能。能夠發現query或者write操做中執行效率低的,從而針對這些操做進行優化。
20.儘可能把更多的操做放在客戶端,固然這就是mongodb設計的理念之一。
'''
''' docker: http://www.javashuo.com/article/p-xmgchlxt-hg.html ---Docker是一個基於容器技術的系統,一個爲開發人員和系統管理員提供的分佈式應用程序的開放平臺 特色:開箱即用,快速部署,可移植性強,環境隔離 ---適用場景:1. 簡化配置2. 代碼流水線管理3. 提升開發效率4. 隔離應用5. 整合服務器6. 調試能力7. 多租戶環境8. 快速部署 '''
''' Kubernetes: http://www.javashuo.com/article/p-hdpvynmr-s.html ---是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,它的目標是讓部署容器化的應用簡單而且高效,Kubernetes提供了應用部署,規劃,更新,維護的一種機制 組件: ---Master組件: Node組件:主要負責提供容器的各類依賴環境,並接受Master管理 核心附件:由第三方提供的特定應用程序 '''
''' 一、只要配置nginx.conf的對應localhost裏面的這幾個參數就好 proxy_connect_timeout; proxy_read_timeout; proxy_send_timeout; 二、發心跳包,原理就是在有效地再讀時間內進行通信,從新刷新再讀時間(配置的位置爲localhost,給出簡略地址) http { server { location / { root html; index index.html index.htm; proxy_pass http://webscoket; proxy_http_version 1.1; proxy_connect_timeout 4s; #配置點1 proxy_read_timeout 60s; #配置點2,若是沒效,能夠考慮這個時間配置長一點 proxy_send_timeout 12s; #配置點3 proxy_set_header Upgrade $http_upgrade; #這是webSocket的配置 proxy_set_header Connection "Upgrade"; #這是webSocket的配置 } } }
'''
'''
'''
'''
'''
自我認知與職業發展
一、您是否有您本身的職業規劃,是否能夠簡單描述一下 二、您認爲您擅長作那些工做、不上場那些工做? 三、您但願在我司得到那些成長?當從我司離職的時候您但願成爲何樣的人?
求打印test和list_new的值。 test = [{'day':1,'no':101},{'day':2,'no':301}, {'day':3,'no':3}, {'day':1,'no':401},{'day':3,'no':201}] list_new = list(test)
for i in test: if i['no']<=300: i['type'] = 'FB' else: i['type'] = 'BK'
list_new1 = 7
list_new.pop()
print(test) print('--------------------------') print(list_new)
[{'day': 1, 'no': 101, 'type': 'FB'}, {'day': 7, 'no': 301, 'type': 'BK'}, {'day': 3, 'no': 3, 'type': 'FB'}, {'day': 1, 'no': 401, 'type': 'BK'}]
問題1】編寫shell腳本將/SB1DATA目錄下大雨10k的文件轉移到/SB1BAEOD1目錄下
#! /bin/bash cd /SB1DATA for i in ls -l |awk '{if($5>10240){print $9}}'
do mv $i/SB1BAEOD1 echo "done!" done guoch=date +%Y%m%d
mkdir ${guoch}
================================================