原创 C# Selenium選擇器

1、多個元素迭代 List<IWebElement> els = WebDriver.FindElements(By.ClassName("dada-text-h3")).ToList(); foreach (IWebElement el

原创 php源碼探索一:搭建環境及php源碼目錄結構

探索以php7.4.1爲例: yum install -y wget && wget https://www.php.net/distributions/php-7.4.1.tar.xz tar xvf php-7.4.1.tar.xz

原创 php源碼探索二:gdb的用法

用gdb開啓php測試: gdb /usr/local/php7/bin/php 進入gdb模式。 gdb用法如下: 運行 run:簡記爲 r ,其作用是運行程序,當遇到斷點後,程序會在斷點處停止運行,等待用戶輸入下一步的命令。 cont

原创 mysql從庫延遲配置

relay_log_info_repository=FILE master_info_repository=FILE sync_binlog = 0 innodb_flush_log_at_trx_commit = 0 sync_mast

原创 composer上建立穩定版本及加上travis自動測試

1、gitbub上發佈 2、github上打tag(這點很重要,不然composer版本號會有問題)       git  tag  -a 1.0.1 -m "version 1.0.1"       git push  origin  

原创 mysql的回表和索引覆蓋

回表:索引裏的數據滿足不了返回的數據段,還要去主鍵索引裏取數 explian裏的extra:using index condition; 索引覆蓋:索引裏直接能返回滿足字段的數據 explian裏的extra:using index;

原创 git合併衝突解決辦法

直接上gitlab編輯或刪除衝突文件 或者進去目錄: git reset --hard git pull

原创 php源碼探索三:php源碼裏的常用斷點

gdb裏用b打斷點,關鍵字對應php的如下: ZEND_ECHO_SPEC_CV_HANDLER:echo

原创 php源碼探索四:php擴展源碼分析

1、最重要的entry:比如exif裏的:zend_module_entry exif_module_entry struct _zend_module_entry {       unsigned short size;       u

原创 mysql清理刪除數據後剩餘的碎片

先得出多少表有碎片: SELECT TABLE_SCHEMA ,TABLE_NAME ,ENGINE ,ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 /1024), 2) AS SIZ

原创 c#快捷鍵列表

添加region:Ctrl+K,Ctrl+S 生成get set:Ctrl+R,Ctrl+E 格式化:Ctrl+K,Ctrl+D

原创 Mongodb得出每個collection的大小

進入mongodb後: use log; var collNames = db.getCollectionNames();for (var i = 0; i < collNames.length; i++) {   var coll =

原创 PHPStorm 加上phpcs檢查

先安裝phpcs: 1、windows先安裝composer工具 2、然後在cmd執行:composer global require "squizlabs/php_codesniffer=*" 3、把安裝好的composer目錄下的ve

原创 Doctrine 核心function

EntityManager:entity的工廠類 ClassMetadataFactory:entity的metadata數據工廠類,function有:getAllMetadata getMetadataFor doLoadMetada

原创 docker安裝常用工具及用法

mysql8: docker pull mysql:latest 先寫/home/bullfrog-mysql-test/conf/my.cnf 再執行如下命令 docker run --name bullfrog-mysql-test