原创 在Ubuntu(linux系統)上安裝Firefox瀏覽器和geckodriver(無桌面)

1、下載並進入ubuntu鏡像  docker pull ubuntu docker run -it --name py-selenium-firefox ubuntu bash apt-get update 2、安裝火狐瀏覽器 ap

原创 SQL ID自增列從1開始重新排序(使用存儲過程)

1、適用於與id連續的情況,有級聯更新外鍵情況: update table set id = id - C; 如果是id = id + C,則先需要去掉主鍵,等設置新主鍵後再重新設置主鍵 處理400萬條無外鍵的數據大概需要1分鐘 2、使用

原创 各種語言split函數的運行時間(java,python,matlab)

隨機生成字符串的代碼:  from random import choice import string def GenString(length=100000, chars=string.ascii_letters + string

原创 Matlab空對象模式(Null Object)

在空對象模式(Null Object Pattern)中,一個空對象取代 NULL 對象實例的檢查。Null 對象不是檢查空值,而是反應一個不做任何動作的關係。這樣的 Null 對象也可以在數據不可用的時候提供默認的行爲。 Abstrac

原创 Matlab混入模式(Mixin)

Mixin是一種類,這種類包含了其他類要使用的方法,但不必充當其他類的父類。Matlab無疑是支持多繼承的。我們可以利用 Matlab 的這種特性,實現一種叫做 Mixin 的類。MixIn的目的就是給一個類增加多個功能,這樣,在設計類的

原创 Matlab訪問者模式(Visitor)

訪問者(Visitor)模式的定義:將作用於某種數據結構中的各元素的操作分離出來封裝成獨立的類,使其在不改變數據結構的前提下可以添加作用於這些元素的新的操作,爲數據結構中的每個元素提供多種訪問方式。它將對數據的操作與數據結構(Elemen

原创 Matlab備忘錄模式(Memento)

備忘錄模式(Memento)用於保存一個對象的某個狀態,以便在適當的時候恢復對象。備忘錄模式屬於行爲型模式,主要包括源發器,備忘錄以及負責人。 源發器:普通類,可以創建備忘錄,也可以使用備忘錄恢復狀態。 備忘錄:儲存原發器內部狀態,處理原

原创 Matlab原型模式(Prototype)

原型(Prototype)模式的定義如下:用一個已經創建的實例作爲原型,通過複製該原型對象來創建一個和原型相同或相似的新對象。Matlab面向對象編程有兩種類,一種是Value Class,一種是Handle Class,Value對象深

原创 Matlab組合模式(Composite)

組合模式(Composite),將對象組合成樹形結構以表示“部分-整體”的層次結構,組合模式使得用戶對單個對象和組合對象的使用具有一致性。組合模式的目的是讓客戶端不再區分操作的是組合對象(Composite)還是葉子對象(Leaf),而是

原创 Matlab代理模式(Proxy)

  代理模式(Proxy)就是給一個對象提供一個代理對象,並有代理對象來控制對原有對象的引用。代理模式和裝飾模式非常類似,但最主要的區別是代理模式中,代理類對被代理的對象有控制權,決定其執行或者不執行。本文根據https://www.cn

原创 Matlab迭代器模式(Iterator)

迭代器(Iterator)模式,又叫做遊標(Cursor)模式。提供一種方法訪問一個容器(container)或者聚集(Aggregator)對象中各個元素,而又不需暴露該對象的內部細節。在採用不同的方式迭代時,只需要替換相應Iterat

原创 Matlab享元模式(Flyweight)

享元模式(Flyweight)通過共享技術實現相同或相似對象的重用,可以減少創建對象的數量,以減少內存佔用和提高性能。Java String的常量池,python logging,線程池,數據庫連接池都用到了享元模式。享元模式與單例模式類

原创 Spring Boot使用EventSource和觀察者模式實現服務端推送

服務端: Controller: package com.example.demo; import java.io.IOException; import javax.annotation.Resource; import java

原创 tornado開發調試禁用靜態文件瀏覽器緩存(ETag,304)

在使用tornado開發過程中總是遇到多次刷新頁面而頁面不更新的情況,目前可以採取的方法有: 1、重啓後端tornado服務 2、ctrl+F5強制刷新 3、按F12進入調試模式,在Network裏面選擇Disable cache,再刷新

原创 Matlab中介者模式(Mediator)

中介者模式(Mediator Pattern)是用來降低多個對象和類之間的通信複雜性。這種模式提供了一箇中介類,該類通常處理不同類之間的通信,並支持鬆耦合,使代碼易於維護。想象一個亂糟糟的開發小組的工作狀態,組員之間雖然在一起協同工作,但