Tag Archives: Best Practices

Windows Host File Location – Host 檔案路徑

和朋友嘗試建立一個比較完整的Development Environment
我們使用了Vagrant 來做我們的Server, 所有程式碼都會在裡面執行
這可以排除程式只在local version 可以成功執行的問題
為了環境一致

我們還建立了一個developmenthost name
朋友叫我在電腦上的 host file加入以下的句子

192.168.56.101    sharechiwai.dev

之後在browser上輸入sharechiwai.dev 便會自動map 到 這個IP 上
192.168.56.101

192.168.56.101 是vagrant的 default IP

如果想在同一IP address上 map 到不同的 host/domain 我們需要把所有的 hostname/domain 加在同一行
以空間分開

e.g.

192.168.56.101    sharechiwai.dev chi.dev

Host File Content
那麼在Windows 上的 Host file 儲存在那裡呢?
他是存在以下路徑的

C:\Windows\System32\drivers\etc

Windows Host file path
Hope you find it useful

SQL Server TSQL how to View Index Fragmentation – 如何查詢資料庫的索引碎片 資料

今天在研究 Database Performance / 資料庫效能時發現..
原來Database 會像我們的硬碟一樣..會出現 Fragmentation/碎片 的
如果Fragmentation 越大..
Database的效能便會越差..
當然每天的Database Maintenance plan 應該是可以解決這些問題的

今天想和大家分享一個SQL Query 用來 查詢 Database Index 的 Fragmentation資料庫的索引碎片

首先我們要選擇想查詢的 database
之後執行以下的SQL Query

SELECT OBJECT_NAME(st.object_id) AS TableName, 
i.name AS IndexName, 
st.index_type_desc,
st.avg_fragmentation_in_percent, 
st.fragment_count, 
st.avg_fragment_size_in_pages, 
st.page_count, 
st.avg_page_space_used_in_percent, 
st.record_count,
 st.index_depth, st.index_level,st.partition_number, 
st.ghost_record_count, 
st.min_record_size_in_bytes, st.max_record_size_in_bytes, st.avg_record_size_in_bytes
FROM  sys.dm_db_index_physical_stats(DB_ID(DB_Name()), NULL, NULL, NULL , 'SAMPLED') as st
JOIN sys.indexes i 
ON st.object_id = i.object_id AND st.index_id = i.index_id
WHERE index_type_desc <> 'HEAP'

Database Fragmentation

之後他便出輸出很多有用的資訊
我對下面的幾個資訊比較有興趣
avg_fragmentation_in_percent – IN_ROW_DATA 配置單位中,索引的邏輯片段或是堆積的範圍片段。其值以百分比表示,而且會考量多個檔案

fragment_count – IN_ROW_DATA 配置單位分葉層級中的片段數目

avg_page_space_used_in_percent
– 所有頁面所用之可用資料儲存空間的平均百分比。 如果是索引,則為 IN_ROW_DATA 配置單位中 B 型樹狀目錄目前層級的平均數。 如果是堆積,則為 IN_ROW_DATA 配置單位中所有資料頁的平均數。

record_count-總記錄數。

有關Database Index 的 Physical statiic 的資料.可以參考以下網頁
https://msdn.microsoft.com/en-us/library/ms188917.aspx

Index Info

Hope you find it useful

Set up Composer with XAMPP – 如何在Windows XAMPP 上安裝 Composer – PHP Package Mangement Tool

朋友常常介紹我使用Composer 一個 PHP 的 Package Management Tool
Composer – Dependency Manager for PHP

十分有用..就像 Visual StudioNugetNodeJsnpm
有興趣既朋友可以參考以下網頁
https://getcomposer.org/

Composer - Dependency Manager for PHP

今天想和大家分享怎樣在Windows 使用 XAMPP 的環境下安裝 Composer

安裝程序很簡單..但是我也曾經遇過些少問題..
所以還是在這裡寫下些筆記吧.

首先大家需要到Composer 的網站 找Windows InstallerSection 下載Composer_Setup.exe
https://getcomposer.org/download/

之後開啟這檔案便可以開始安裝了 按”Next / 下一步
Composer Setup

選擇安裝那些Components..我選擇了預設的選項
Composer Setup - Select Components

按”Next / 下一步” 之後需要選擇電腦上的 PHP.exe 的儲存位置[因為Composer需要使用PHP的]
我是使用 XAMPP 的..所以我的PHP 是儲存在 D:\xampp\php\php.exe
Composer select php.exe path

按”Next / 下一步“之後便會出現一個安裝前的總結..
如果看了覺得設定沒有問題的話便可以按”Install / 安裝
Composer Setup Summary

安裝完成
Completing Composer Setup

登出再登入電腦之後便可以在Command prompt 上執行 Composer
Composer install successfully

Hope you find it useful

.Net Shorthand for coding – .Net 如何寫更簡潔的程式碼

在寫新的Module時候感到自己之前寫的 程式碼比較長..
太多變數..所以有時會令到可讀性減低
所以便決定用一個更簡潔的方法去寫我的程式碼..

今日想和大家分享的是如果用ShortHand的方法寫一些
+-*/既 operator

我們可用
variable [Operator e.g. +-*/] = 另一個 variable

E.G.

using System;

public class Program
{
	public static void Main()
	{
		// Declare Variable i
		int i = 100;
		
		// Assign  variable
		i = i + 1;
		Console.WriteLine(i.ToString());
		
		// shorthand apply +-*/ to variable
		i -= 10;
		Console.WriteLine(i.ToString());
		
		// Assign variable to -10
		i =-10;
		Console.WriteLine(i.ToString());
	}
}

.Net ShortHand Operator
Hope you find it useful

PHP-cs-fixer – PHP Coding Standards Fixer

自從用了 Visual StudioStyleCop / Resharper
之後便開始愛上Coding Standard / Best Practice..
因為這些Coding Standard 的工具可以幫助我們寫一些更有效率的程式碼
還有..如果所有Developer 都跟隨著這些Coding Standard..
便其他人便可以很容易便明白程式是怎樣 layout的

最近開始寫多了PHP 相關的網站..
如果有一些免費的工具..像StyleCop
朋友便介紹..我可以使用PHP-CS-FIXER 來做差不多的東西..
你可以使用PHP Command 來執行PHP-CS-FIXER

首先我們先要以下網址去下載php-cs-fixer.phar
https://github.com/FriendsOfPHP/PHP-CS-Fixer

Download PHP-CS-FIXER
之後把他儲存在 一個容易找到的位置..因為我們要用這個路徑來執行php-cs-fixer
我便把他儲存在”d:\xampp\php\extras\php-cs-fixer.phar
PHP-CS-Fixer.phar Location

所有東西都準備好之後我們便可以嘗試執行 php-cs-fixer
執行方法 是這樣的

php [Full file path for php-cs-fixer.phar e.g. d:\xampp\php\extras\php-cs-fixer.phar] fix [PHP code folder path e.g. d:\xampp\htdocs\sharechiwai\applicat
ion\controllers] –fixers=[settings e.g. -indentation]

php php-cs-fixer.phar fix D:\xampp\htdocs\BlogBackup\wp-content --fixers=-indentation

結果像這樣
PHP-CS-Fixer Result
完成後會總結那些檔案更新了..和那些檔案有問題..
PHP-CS-Fixer Summary

更多怎樣使用 php-cs-fixer 指令和變數的 詳情可以參考下以網址
http://cs.sensiolabs.org/
PHP-CS-Fixer Variable / Parameters

Hope you find it useful