優質開發工程師博客

專注於收集和發布優秀的開發者博客。

homepage svg

路徑設置:初次使用python之在notepad++中直接運行python代碼

使用Notepad++寫Python的代碼,每次運行都需要重開命令行,太過麻煩。Notepad++中提供了運行的快捷設置,其設置步驟如下: 運行菜單->運行(快捷鍵f5) 輸入運行程序名: 將其保存為想要的快捷鍵。 測試 在使用過程中,出現了錯誤。這樣一段代碼: 第一張圖讀入正確,而第二張圖卻顯示為Nonetype,十分詭異。反複測試之後,發現是路徑導致的錯誤。 cmd /k python “$(FULL_CURRENT_PATH)” ...

R語言如何解決線性混合模型中畸形擬合(Singular fit)的問題

原文鏈接:http://tecdat.cn/?p=14506 假設我們有一個模型 在這裏,我們觀察到奇異擬合,因為截距和x隨機效應之間的相關性是-1。處理該模型的一種方法是刪除高階隨機效應(例如X:ConditionB),並查看在測試奇異性時是否有區別另一種是使用貝葉斯方法,例如blme軟件包以避免奇異性。 我之所以這樣問,是因為使用第一個或第二個會導致不同的結果-在第一種情況下,我將刪除X:ConditionB隨機效應,並且無法估計X...

JSON-JavaScript對象表示法--學習筆記

JSON簡介: JSON:JavaScript對象表示法(JavaScript Object Notation)。JSON是存儲和交換文本信息的語法。 JOSN是輕量級的文本數據交換格式。 JSON獨立於語言和平台。 JSON具有自我描述性,更易理解。 JOSN與XML: JOSN類似XML,比XML更小、更快、更易簡析。 沒有結束標簽。 更短。 讀寫的速度更快。 使用數組。 不適用保留字。 能夠使用內建的JavaScript ecal...

iOS:WKWebView與UIWebView的區別

iOS8以後,蘋果推出了新框架Wekkit,提供了替換UIWebView的組件WKWebView。使用WKWebView,速度會更快,占用內存少。 WKWebView的特性: 在性能、穩定性、功能方面有很大提升,直觀體現是內存占用變少; 允許JavaScript的Nitro庫加載並使用(UIWebView中限制); 支持了更多的HTML5特性; 高達60fps的滾動刷新率以及內置手勢; 將UIWebViewDelegate與UIWebV...

全局安裝與本地安裝

全局安裝的軟件包可以在任何目錄下使用,一般情況下,用於安裝提供命令行工具的軟件包。全局安裝的軟件包不能使用require()方法導入到項目中。 例如,上面的命令全局安裝了一個http-server軟件包,該軟件包提供了一個http-server命令,可以在任意目錄下打開一個http服務器,並托管該目錄下的所有靜態資源。 軟件包會被安裝到項目的node_modules/目錄下。 安裝成開發階段的依賴 如果我們只是在開發階段需要某個軟件包,...

jquery核心

1.當我們想要創建一個對象,我們可能使用new方法去構建一個對象,那按道理jquery也是一個對象,應該也是用new jquery()來構建呀為什麼我們創建jquery對象不用new jquery()而是直接使用類似$(ele)的方式去構建出來一個jquery對象呢?其實內部還是使用了new來構建的,只是jquery內部幫我們構建了而已,請看下面代碼 直接這樣內部使用new來構建Jquery,很明顯是有問題的,這樣的話就形成了死循環。為...

Python_Flask_簡單博客系統開發:數據庫遷移——Migrate

使用Flask-Migrate完成數據庫更新升級,Flask-Migrate插件是基於Alembic,Alembic是由大名鼎鼎的SQLAlchemy作者開發數據遷移工具。 操作步驟: 安裝Flask-Migrate插件 修改Flask App部分的代碼,以增加Migrate相關的Command 初始化 創建遷移倉庫 首先還是需要安裝flask-migrate插件 然後,我們來看下如何完成初始化 在數據庫遷移可以維護之前,必須通過ini...

數據庫日期格式為datetime時,存儲日期的方法

作為一名新手,每次做項目,遇到保存日期的時候,總要上網搜一下解決方法。故記錄一下,方便以後查閱。 當數據庫日期格式為datetime時,試過兩種可行方案: 方案一: bean類型為Timestamp,使用如下代碼獲得日期。 方案二: bean類型為java.util.Date,使用如下代碼獲得日期。 注意: 在數據庫映射文件中,當指定成date類型時,會出現時間為00:00:00的問題。...

工作筆記(零碎知識點)

獲取數據庫一個字段的一個值 find返回一維數組。 select返回二維數組。 2.js判斷對象是否為空 3.在遇到點擊頁面上的按鈕無效時 仔細排查 可能是層次遮蓋問題 看瀏覽器提示錯誤,一步一步來 別害怕錯誤,問題一般都很好解決 4.執行數據庫操作 仔細排查錯誤 操作數據庫時考慮是否有表前綴,多看瀏覽器提示錯誤。 5.數據庫提示1054錯誤 $sql=”select * from fanwe_user where (user_name...

thinkphp問題記錄phpQuery使用錯誤

2014-05-09  使用phpQuery時找不到類,困擾很久 自從有了命名空間之後,會有很多問題,主要是對於非thinkphp規範的第三方包的引用 首先不想把第三方包放到 thinkphp的vendor目錄下 基於thinkphp3.2.2. 我習慣將庫放到  Common模塊,然後將主文件添加 class.php後綴 這樣在應用中就可以  import('Common.Util.Libname.Main');這樣導入 如果第三方庫...

linux安裝redis啟動警告

第一步 :安裝redis 今天在服務器上安裝了一個redis,進入到linux環境需要安裝redis的目錄,我放到/www/server/redis,可以使用wegt命令,安裝4.0.11版 使用tar命令解壓到/www/server/redis/目錄下 在解壓目錄中執行make命令,測試是否安裝成功,執行一下命令: 如果看到經典啟動圖標,說明正常運行,但是我這裏也顯示了些警告信息 我根據提示,解決過程如下: 解決方法: vi /etc...

PHP開發錯誤錦集(持續更新)

1、trait 命名問題。 問題:trait 裏定義的方法找不到 解決: 2、你的 opcache 真的關了嗎? 在開發過程中,當你修改了代碼,可實際上卻輸出的是改之前的內容。 最近在用 laradock 這個 docker 環境,我在配置裏改了 PHP_FPM_INSTALL_OPCACHE=false,並且也注釋了 ./php-fpm/opcache.ini 裏的所有東西,又重新編譯了容器。但結果就是沒關掉 opcache! 最後我...

MySQL刪除數據Delete與Truncate語句使用比較

空mysqll表內容常見的有兩種方法:一種delete,一種是truncate 。 不帶where參數的delete語句可以刪除mysql表中所有內容,使用truncate table也可以清空mysql表中所有內容。效率上truncate比delete快,但truncate刪除後不記錄mysql日志,不可以恢複數據。 其語法結構為: 這裏簡單的給出個示例, 我想刪除 friends 表中所有的記錄,可以使用如下語句: delete的效...

#深入解析# #Git# git 命令出現 warning: LF will be replaced by CRLF in 的原因及解決辦法

在使用 git add 或 git commit 命令推送項目文件時,有時會出現如下警告: 原因是推送的文件中存在LF換行符。 CRLF和LF是兩種換行符,git工作區默認使用CRLF換行符,當我們項目文件裏有用存在LF換行符時,push到遠程倉庫時git會統一將LF換行符轉化為CRLF換行符。但是git只修改暫存區文件,而不會修改工作區的文件,因此每次使用git add 或git commit命令時都會彈出上述警告。 1. 禁止git...

Android 怎麼樣使用shape

大家都應該明白的,在Android中常常會使用shape來定義控件的一些顯示屬性,那麼怎麼來用那,今天我們就來看一些shape的使用,大家看完這 篇以後就會對shape有了大體的了解,下面的是稍作總結請大家仔細的觀看: solid:實心,就是填充的意思 android:color指定填充的顏色 gradient:漸變 android:startColor和android:endColor分別為起始和結束顏色,ndroid:angle是漸...

jquery autocomplete 實現(自動填充及連選)

最近在項目中使用jquery autocomplete,感覺使用起來蠻方便。主要能解決快速自動填充,還能解決連選問題。例如要選擇國家,然後定位選擇區域類似這樣的問題。 首先要有jquery 和 autocomplete 包。附件中附帶有。 頁面如下: search.flt 注意在input 中有autocomplete="on" 屬性。這個屬性很重要。當你需要帶兩個參數進行查詢得時候,就需要往autocomplete中傳參數,它表示允許...

以編程方式執行Spark SQL查詢

初始化spark,你只需傳遞兩個參數: 集群 URL:告訴 Spark 如何連接到集群上。在這幾個例子中我們使用的是 local,這個 特殊值可以讓 Spark 運行在單機單線程上而無需連接到集群。 應用名:在例子中我們使用的是 My App。當連接到一個集群時,這個值可以幫助你在集群管理器的用戶界面中找到你的應用。 數據源: 將數據寫入mysql數據庫:...

標簽禁用之readonly和disabled

區別: disabled:使用它之後,輸入框就會變成灰色,以及裏面的文字,此時的滾動條也就會自動消失,滾動條也就沒有了,所以如果裏面的文字很少,不需要滾動條的時候,那麼用disabled 和 readonly 都可以! readonly:這個相對來說比較好,用了之後滾動條和文字不變,唯一的就是裏面的文字不能編輯了,其實我們要的就是這個效果,不管文字再多,滾動條還是照樣可以使用的,所以我認為一般用readonly比較好!...

比較完整的原始ajax寫法

剛開始學習Ajax,當然是先把原理性的東西弄懂了,在去用什麼js框架,那樣才能得心應手: 以下是我收集的資料,寫的注釋比較多,適合快速理解和上手使用,因為大部分是js代碼,就沒有專門寫成js文件。 originalityAjax.html代碼如下: Html代碼 和servlet交互的,OriginalityAjaxAction.java代碼如下: Java代碼 web.xml的servlet配置如下: Xml代碼 以上簡單的頁面和se...

php面向對象編程(三)

“__clone()”方法可以沒有參數,它自 動包含$this和$that兩個指針,$this指向複本,而$that指向原本; 上例輸出: 我的名子叫:張三 性別:男 我的年龄是:20 我的名子叫:我是假的張三 性別:男 我的年龄是:30 如果一個項目,我們要對一個一模一樣的類進行引用,我們可以用__clone()然後,然後對其進行賦值就可以了 省去繁瑣的操作 注意被克隆的物體一定是個被實例化過的對象 當我們調用了一個不存在的方法時程序...

SQL Profiler 無法連接 P6SPY 問題

雖然我按照步驟如下安裝了SQLProfiler,但在啟動SQLProfiler再啟動服務後仍然顯示Not connected to P6SPY。 使用步驟 首先,你的應用系統同樣也應當是基於數據庫的,然後你需要去獲取 SQL Profiler 相關的文件(在 參考資源 中可以找到下載鏈接,您可以直接下載軟件包)。下面介紹 SQL Profiler 的安裝與使用的詳細操作過程: 下載 SQL Profiler 的文件包進行安裝; 把 p6...

Link Develop 學習筆記一:設備接入

注意, 在進行MQTT CONNECT協議設置的時候 Connect指令中的KeepAlive有效範圍[60秒,300秒],否則會拒絕連接。 如果同一個設備多個連接可能會導致客戶端互相上下線,MQTT默認開源SDK會自動重連,您可以通過日志服務看到設備行為。 MQTT 連接域名: 實例 設備端直接通過上發自定義二進制數據, 雲端對上傳上來的二進制數據直接進行解析(通過雲端轉換腳本, 需自行開發), 並轉換為標准Alink協議數據的格式。...

Access denied for user 'homestead'@'localhost'

這幾天學習Laravel框架遇到了數據庫方面的問題。 出現問題解決方法如下 1.確認database.php文件配置正確。 首先檢查database.PHP中自己填寫的信息是正確的。 2.檢查.env文件 這是默認的.env文件 取對應的數據庫部分 我用的是MySQL數據庫 3.修改.env文件 將上述的部分做如下修改 修改後保存 4.重啟服務 一開始改動的時候就是不成功,花了很長時間發現沒有清理緩存。。。 清理緩存重啟服務 在命令行中...

[Doctrine Migrations] 數據庫遷移組件的深入解析三:自定義數據字段類型

根據 ,新建TinyIntType類,集成Type,並重寫getName,getSqlDeclaration,convertToPHPValue,getBindingType等方法。 TinyIntType.php完整代碼: 其中getSqlDeclaration方法是用於生成sql語句,需要根據傳入的參數處理sql拼接。 這樣,你在編寫遷移類代碼的時候就可以使用tinyint了,例如: 遷移組件不支持enum類型,也無法自定義該類型。...

單例模式——activity的管理

在開發中很多時候會碰到從A activity跳轉到B activity,當用戶提交完數據後,要關閉B activity,同時也要關閉A activity,其實要實現該功能有很多種方式:使用EventBus、使用廣播、activity啟動模式等,這裏的話是從用單例管理activity方式,剛好在整個應用中也需要對開啟和finish的activity進行管理; 就是一個這樣的單例類,裏面采用的是靜態內部類的方式,關於單例模式可以看單例模式;...

linux間文件拷貝

一 scp scp就是secure copy,是用來進行遠程文件拷貝的.數據傳輸使用ssh1,並且和ssh1使用相同的認證方式,提供相同的安全保證. scp的基本用法可分為兩種 : 1、從本機給遠程計算機拷貝文件 命令格式為:  scp [要拷貝的文件路徑及文件名] [遠程計算機用戶名]@[遠程計算機的ip地址]:[遠程計算機存放該文件的路徑] 2、從遠程計算機拷貝文件到本機: 命令格式:    scp [遠程計算機用戶名]@[遠程計算...

shell複習筆記----查找與替換

查找文檔 以grep 程序查找文本(匹配文本 matching text)相當方便.傳統上有三種程序可以用來查找整個文本文件. grep 最早的文本匹配程序.其最簡單的方式就是使用固定字符串 事實上,只要匹配的模式裏未含有正則表達式的 meta 字符(metacharacter),則 grep 默認行為模式就等同於使用了-F. egrep 擴展式 grep.這個程序使用擴展正則表達式--這是一套功能更強大的正則表達式,使用它的代價是好屌...

laradock環境doker-compose操作

以下所有明命令需要在命令行模式下laradock文件夾下運行 構建nginx 不使用緩存構建nginx 開啟nginx 停止nginx 停止所有正在運行的容器,但不刪除容器 停止,並刪除正在運行的容器 查看已存在或者正在運行的容器 進入nginx中,並到達bash命令交互界面 查看nginx的日志 持續查看nginx日志,有日志就輸出,沒日志就等著 刪除所有容器 刪除所有鏡像 刪除docker-compose認為所有不使用的鏡像 刪除所...

Spring Cloud Gateway 微服務網關

給公司做的微服務架構中,我們用了gateway作為所有微服務的前端入口,對後端微服務進行路由。gateway使用了webflux的純異步IO方式開發。實現了更高效的網關服務。 使用很簡單,這裏簡單說一下,我們使用的是gradle作為構建工具 然後啟動類配置 啟動gateway。這時候gateway已經可以使用了。 在gateway中有兩種配置方式,一種是通過注入@bean注入路由;一種是通過配置文件yml實現。一般情況下我們不需要自定義...

SpringMVC REST 風格靜態資源訪問配置

近來學習springmvc,使用REST風格,發現會遇到靜態資源的訪問亦被攔截的問題,現將解決方法記錄如下: 1 在web.xml中使用默認servlet處理靜態資源,缺點是如果靜態資源過多,則配置量會比較大,一旦有遺漏,則會造成資源無法正常顯示或404錯誤。 2 在springmvc配置文件中配置 我的所有靜態資源都在WebContent/static/之下,下有如下目錄WebContent/static/img,WebContent...

檢測 TextView 是否因為設置 ellipsize 屬性而顯示省略號

對於 TextView,在實際開發中,由於內容的不確定性,有時候文本內容會很長,這時我們會使用 ellipsize 屬性進行省略號設置,ellipsize 有5個取值end,middle,marquee,none,start ,使用比較多的是end,這樣只要設置 TextView 的 maxLines 屬性後,當文本長度超出最長限制後,就會在結尾顯示省略號,如果你想讓省略號顯示在最中間,就需要設置middle。 但是一些情況下,你需要在...

python合並矩陣報錯all the input arrays must have same....和vstack() takes 1 positional arrays....

python中使用numpy合並矩陣a,b 報錯 密集(dense)矩陣的合並不報錯,然而稀疏矩陣(sparse)報錯了,即在矩陣中,多數的元素為0。 ValueError: all the input arrays must have same number of dimensions 解決辦法 縱向合並函數np.vstack((a,b))使用下面函數代替 橫向合並函數np.hstack((a,b))使用下面函數代替 報錯 TypeE...

局域網Ubuntu與Ubuntu之間SSH傳文件

Ubuntu上配置FTP服務器比較麻煩,本文采用ssh的方法傳輸文件 ubuntu 文件夾打開以後,可以輸入遠程ip地址,這樣使用有圖形化界面,非常方便,格式如下: 使用ubuntu的文件共享功能 然後就可以右鍵共享該文件夾 本地文件傳到遠程服務器(無需登錄): 其中-option 參考下面: -v : 顯示進度,可以用來查看連接、認證或是配置錯誤 -r : 賦值目錄 -C :使能壓縮選項 -P :選擇端口 -4 : 強行使用 IPV4...

安裝下滑式命令行插件

使用ubuntu的時候,很習慣使用快捷鍵來打開命令行,這次重裝完kali,發現命令行死活無法方便的切出去,貌似是快捷鍵衝突了。等有時間慢慢調。這裏先提供一個過渡的解決方案,下滑式的命令行。 Drop DownTerminal 是一個Gnome的插件,我也是無意中發現的,真是個神器。 Screenshot from 2015-11-03 23:00:09.png 它可以通過設定的快捷鍵(默認為tab鍵上面的鍵),隨時呼出命令行。 安裝必要...

PHP項目部署-開啟rewrite(偽靜態)

1、httpd.conf配置。 TIPS:開啟mod_rewrite即可實現Apache的偽靜態功能。 2、httpd.vhosts.conf配置。 一定要配置為:AllowOverride All 此時,我的PHP項目已經開啟了rewrite模塊,可以使用PHP框架路由模式來進行其指定的路由訪問。 3、隱藏index.php入口文件: 在項目入口文件index.php的同級目錄配置.htaccess。內容如下: 此時已完成PHP項目部...

第二十四條:消除非受檢的警告

原因:有時候由於某種原因,需要將代碼設置為非受監測的類型,所以需要消除警告,保證代碼安全性。 消除警告的條件? ①、能夠在邏輯上保證代碼的安全性。 ②、消除警告不要在整個類中使用,要在出現問題的代碼片段上使用。(縮小範圍) 舉例:(複制) 該方法中,能夠保證強制轉型之後的類型安全,所以能夠消除警告。 但是消除警告的範圍太大了,應該是這樣使用的 注:使用消除警告的時候,必須在旁邊寫注釋,為什麼要消除警告...

Mybatis(2) 自定義持久層框架 —— 設計思路

自定義持久層框架設計思路: 使用端: 提供兩部分配置信息:數據庫配置信息、sql配置信息 (sql語句、 參數類型、返回值類型) 使用配置文件來提供這兩部分配置信息: sqlMapConfig.xml :存放數據庫配置信息,存放mapper.xml的全路徑 mapper.xml :存放sql配置信息 自定義持久層框架本身: 本質就是對JDBC代碼進行了封裝 加載配置文件:根據配置文件的路徑,加載配置文件成字節輸入流,存儲在內存中 創建R...

Golang變量(來自菜鳥教程,go語言學習筆記)

Go 語言變量名由字母、數字、下劃線組成,其中首個字母不能為數字。 聲明變量的一般形式是使用 var 關鍵字: 變量聲明 第一種,指定變量類型,聲明後若不賦值,使用默認值。 第二種,根據值自行判定變量類型。 第三種,省略var, 注意 :=左側的變量不應該是已經聲明過的,否則會導致編譯錯誤。 實例如下: 以上實例執行結果為: 多變量聲明 實例如下: 以上實例執行結果為: 我們知道可以在變量的初始化時省略變量的類型而由系統自動推斷,聲明語...

linux查看進程狀態命令ps的詳解

名稱:ps 使用權限:所有使用者 使用方式:ps [options] [--help] 說明:顯示瞬間行程 (process) 的動態 參數:ps的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義 -A 列出所有的進程 -w 顯示加寬可以顯示較多的資訊 -au 顯示較詳細的資訊 -aux 顯示所有包含其他使用者的行程 常用參數: -A 顯示所有進程(等價於-e)(utility) -a 顯示一個終端的所有進程,除了會話引線 -N 忽...

git初學(windows)

從這個鏈接下載git for windows git for window,官方的下不下來。 然後使用命令行進入設置,在命令行輸入: 進入某個目錄創建一個常用用的文件夾 通過git init命令把這個目錄變成Git可以管理的倉庫 Git就把倉庫建好了,接著建一個測試用的文件readme.txt,隨便寫入一些內容,比如: 保存到剛剛建好的learngit目錄,用命令git add告訴Git,把文件添加到倉庫: 第二步,用命令git com...

PHP正則表達式——匹配多行

像這種的文本,用PHP的正則表達式怎麼匹配?? 我最初的想法: pattern:“/<tr>[. ]*?<\/tr>”  (這個是錯誤的) 想法思路:"."能匹配任意非換行字符,使用"[. ]"組合,使其能夠匹配所有的字符(包括換行符),但天有不測風雲啊——悲劇了,結果什麼都沒有! 經過一番啃骨之後寫了另一個 pattern:“/<tr>(.| )*?<\/tr>”  (這個是可以) 將“[]”換成"()",使用“|”做一個或選擇,這樣...

Ansible開發簡明教程

開發方式 python API modules plugins 詳細資料 Ansible使用的是Python語言,代碼質量還是蠻高的,因此使用Python對其進行二次開發是最方便的,它自己提供的模塊和功能基本能覆蓋所有日常使用場景,但是如果出現比較複雜同時又緊貼業務的情況,想要對這種複雜功能進行封裝,進一步提高效率,就需要對Ansible進行二次開發,來滿足這些定制化的需求 Ansible其實被封...

解決Springboot使用Redis反序列化遇到的類型轉換異常

今天在springboot項目中用到了redis的反序列化: 然後項目啟動訪問的時候就報錯了,異常信息如下: 改了很長時間,不知道怎麼回事,最後終於找到了異常出現的原因: 就是這個熱部署的原因,當使用SpringBoot 的 DevTools時,其實該工具是具有緩存效果的 當對象被序列化到緩存裏時,當前應用的類加載器是C1,當你改變了一些代碼或者配置文件的時候,DevTools 工具將會自動重新啟...

php防止sql注入示例分析和幾種常見攻擊正則表達式

注入漏洞代碼和分析 分析 如果使用這個函數的話,這個函數會繞開PHP的標准出錯處理,所以說得自己定義報錯處理程序(die())。 其次,如果代碼執行前就發生了錯誤,那個時候用戶自定義的程序還沒有執行,所以就不會用到用戶自己寫的報錯處理程序。 那麼,PHP裏有一套錯誤處理機制,可以使用set_error_handler()接管PHP錯誤處理,也可以使用trigger_error()函數主動拋出一個錯...

C# 獲取枚舉 Enum 變量值的 Description 屬性

有些時候,某個方法的返回值是個枚舉類型,比如描述登錄結果: 當前段UI獲取到登陸方法的返回結果時,就需要告訴用戶登錄是否成功、什麼原因失敗的。如果直接使用 ToString() 方式直接返回枚舉變量的名稱,顯然不合適。通常的做法是使用各 switch 來轉換,弊端是要寫過多的代碼;或者構造一個 string[] msg ,再根據 LoginResult 的 int 值來相應的取,弊端是類型的int...

Linux Shell腳本系列教程(五):數學運算

在任何一種編程語言中,算術運算都是必不可少的,shell也不例外。 一、 使用let、(())和[]進行算術運算 可以使用普通變量賦值方法定義數值,這是,它會被保存為字符串。我們可以通過使用let、(())、[]等操作符,使得這些變量進行算術運算。例如: 三、使用expr進行算術運算 注意:1.5.1和1.5.2中的方法都只能對整數進行計算,無法進行浮點數計算。 三、使用bc進行算術運算 bc是一...

全面解析sizeof(下)

以下代碼使用平台是Windows7 64bits+VS2012。 sizeof作用於基本數據類型,在特定的平台和特定的編譯中,結果是確定的,如果使用sizeof計算構造類型:結構體、聯合體和類的大小時,情況稍微複雜一下。 考察如下代碼: sizeof(S1)結果是8,並不是想象中的sizeof(char)+sizeof(int)=5。這是因為結構體或者類成員變量具有不同類型時,需要進程成員變量的對...

行為型設計模式之解釋器模式(Interpreter)

設計模式之解釋器模式 解釋器模式主要用於編譯器,解釋一門語言,下面我們來演示一下四則運算,逐步將解釋器模式應用到運算中,先來看一段沒有使用設計模式的四則運算的代碼(遞歸處理子表達式): 運行結果: 請輸入表達式:a+b+c-d b=3 c=4 d=1 運算結果(a+b+c-d)=8 以上是最簡單的設計,沒有依賴任何的類,就完成了四則運算。這樣的設計只能解決一時問題,如果希望能夠支持後續進行優雅的擴...

正則表達式之瑞士軍刀

瞎乎 出品 瞎乎第二期:正則表達式之瑞士軍刀 正則表達式(Regular Expression),這是一塊硬骨頭,很難啃,但是啃著又很香。 正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串。很多地方我們都需要使用正則,所以今天就將一些優秀的教程,工具總結起來。 https://en.wikipedia.org/wiki/Regular_expression 了解一樣東西,當然先從...

(學習到實踐)一、環境搭建准備

[注:測試主機已設置好軟件源,虛擬主機默認是root用戶登錄] (mysql選擇的是debian、x64、server版) [這裏是後期的注釋]沒用到,文章是一邊寫一邊發的。 之前編譯安裝時的參數: 環境搭建使用docker,參考相應官網:《Debian安裝Docker》、《使用清華源安裝docker》。准備安裝腳本: 第一步准備完成。 目標是對官方安裝自定義插件,參考官方:《alpine安裝ph...

php頁面防重複提交方法總結

1、提交按鈕置disabled 當用戶提交後,立即把按鈕置為不可用狀態。這種用js來實現。 提交前 執行後,把按鈕置為原來狀態 2、過期時間法 思路:當用戶提交按鈕後生成一個token(每次業務提交token 為唯一值)存入session,並設置過期時間。當用戶再此提交時,檢測token是否一致且是否過期,若一致且沒有過期,則認為提交了二次。當程序執行出錯的時候,則需要清除存入session的值。...

mybatis批量更新時sql語句沒問題但報bad SQL grammar []錯誤

網上對於mybaitis批量更新的實現提供了大概兩種方法。一種是使用sql的case語法。另一種是每次只更新一條但是用foreach語句拼裝起來。我使用的就是第二種。mybatis的語句大致如下: 一次更新多條sql語句,每一條以分號隔開。以上mybatis翻譯成sql大致如下: 但是在進行測試的時候,每次更新數據庫時就會出現類似的如下錯誤: 但是我將sql語句單獨放在navicat中是可以成功執...

PHP面試題型彙總【一】(附答案)

1、冒泡排序,面試前一定要記住哦! 2、快速排序,面試前一定要記住哦! 3、請說明 PHP 中傳值與傳引用的區別,什麼時候傳值什麼時候傳引用? 按值傳遞:函數範圍內對值的任何改變在函數外部都會被忽略 按引用傳遞:函數範圍內對值的任何改變在函數外部也能反映出這些修改 優缺點:按值傳遞時,php必須複制值。特別是對於大型的字符串和對象來說,這將會是一個代價很大的操作。按引用傳遞則不需要複制值,對於性能...

使用PHP文件鎖寫一個多個請求同時並發寫入一個文件,要求不髒讀、數據不丟失...

使用PHP文件鎖寫一個多個請求同時並發寫入一個文件,要求不髒讀、數據不丟失. 此方法的要點是當用戶操作文件的時候必須獲取文件的獨占鎖,若文件已經被鎖定,則讓程序休眠若幹毫秒後重試,知道獲得鎖或者超時為止。 flock():輕便的咨詢文件鎖定 函數參數說明: handle - 文件系統指針,是典型地由 fopen() 創建的 resource(資源)。 operation - 可以是以下值之一: L...

Eclipse RCP開發中的路徑問題

在進行Eclipse RCP開發時,經常需要讀取文件系統中的文件,這就涉及到一個路徑的問題,如果使用絕對路徑的話,程序的編寫會非常不方便,所以在我們編寫程序時,使用最多的還是相對路徑,現將有關相對路徑的問題列舉如下: 1)        “.\\define\\extend\ av_blank.jpg”,此相對路徑相對的是RCP平台,如果是在Eclipse開發環境中,該路徑在Eclipse根目錄下...

Tomcat6 comet, IE瀏覽器不支持Streaming ajax的解決方法小記

IE只不支持Streaming的。 所以不能通過以下的代碼來拿到comet的數據。 但是我們可以通過iframe的方法,但是用iframe的話瀏覽器會顯示煩人的進度條。 我們可以通過以下的代碼來避免。 其次我們需要有自動連接的功能,當comet連接timeout時, 最後是Tomcat comet servlet。 我們往response中寫入javascript片段, 這段javascript會...

shell學習與使用,邊學邊用之一!

1.  使用wget和shell腳本下載一系列路路徑有規律的資源: 我想下載ubuntu社區雜志fullcircle但是不想一個一個的點擊進去然後在下載。 於是我想到用wget工具加上shell腳本來做。 其實我幾乎沒寫過shell腳本。所起沒寫一行代碼讀會先測試下。 最後得到的腳本如下: 2. 迭代 上面的for循環才terminal上測試如下,在加上另外兩中使用生成列表的方法: 3. 字符串的...

使用dom4j和jdom解析與生成字符串型XML的代碼示例

記錄一下使用dom4j和jdom這兩個API處理字符串型XML的方法,雖然網上也有很多這樣的文章,但我還是想再寫一遍,方便自己查找。 dom4j是1.6.1版本,jdom是1.1版,代碼沒什麼技術含量,就是API的使用而已,所以沒加注釋。 dom4j還可以配合xpath一起使用,一般來說用不上,不過xml比較複雜,而需求又比較特殊的時候就需要它來配合了,不過不用完全記住那些規則,可以去w3csch...

python使用codecs模塊進行文件操作-讀寫中英文字符

由於python中默認的編碼是ascii,如果直接使用open方法得到文件對象然後進行文件的讀寫,都將無法使用包含中文字符(以及其他非ascii碼字符),因此建議使用utf-8編碼。 下面的代碼讀取了文件,將每一行的內容組成了一個列表。 下面的代碼寫入了一行英文和一行中文到文件中。 最為常見的三種模式,見下表,其中模式就是指獲取文件對象時傳入的參數,最常用的是前三個。 |模式|描述| |r|僅讀,...

淺談Vue中的Prop

Prop 基本用法 Prop的基本用法很簡單,只需要在子組件的Vue實例中定義該屬性並把值設為目標屬性的數組即可 tips:由於HTML中的屬性是不區分大小寫的,所以當使用DOM中的模板(HTML中)時,駝峰寫法需要轉化為短橫線寫法。但是,如果使用字符串模板(JS中)時,不受限制,可以為所欲為。 Prop中的靜態和動態值 在正常情況下,一般在父組件中通過v-bind定義一個動態值,子組件通過Pro...

Mybatis重點解析

id 標簽:用於指定主鍵字段 result 標簽:用於指定非主鍵字段 column 屬性:用於指定數據庫列名 property 屬性:用於指定實體類屬性名稱 Sql 中可將重複的 sql 提取出來,使用時用 include 引用即可,最終達到 sql 重用的目的 延遲加載: 就是在需要用到數據時才進行加載,不需要用到數據時就不加載數據。延遲加載也稱懶加載. 好處:先從單表查詢,需要時再從關聯表去關...