SQL Server Reset / Update user password – SQL Server 如何重設/更新使用者密碼?

今日為自己寫一個 SQL notes
去記下如何重設/更新 使用者密碼[你要有足夠的使用者權限才可以的]
(太久沒有用忘記了User密碼)
解決方法:

ALTER LOGIN [SQL User Name] WITH PASSWORD = '[New Password]';  

-- E.G.
ALTER LOGIN sqluser WITH PASSWORD = 'newP@ssW01D';  

hope you find it useful

The target principal name is incorrect. Cannot generate SSPI context

由於最近公司有Product go Live, 所以有很多時候有些urgent 的問題要解決

又不幸的。。。我的電腦剛剛安裝好。。還安裝了Visual Studio 2017.
當我嘗試執行公司的Project時。。出現了以下的錯誤信息。。
The target principal name is incorrect. Cannot generate SSPI context
The target principal name is incorrect. Cannot generate SSPI context

起初還以為是Visual StudioSQL Server版本問題。。
當我仔細看了這個Error message和 connection string 之後。。
便發現問題是來自 Connection string… 因為有了兩隻不同的Login方法
而我們的電腦在Server上沒有Login的Permission

原本的connection string

<add name="ShareChiWaiContext" providerName="System.Data.SqlClient" connectionString="Data Source=sharechiwai.com;Initial Catalog=Blog;User ID=testUser;Password=TestPassword;Integrated Security=True;MultipleActiveResultSets=True" />

只要移除integrated = true 便可以了
解決了的 Connection String
E.g

<add name="ShareChiWaiContext" providerName="System.Data.SqlClient" connectionString="Data Source=sharechiwai.com;Initial Catalog=Blog;User ID=testUser;Password=TestPassword;MultipleActiveResultSets=True" />

Hope you find it useful

What is two colons do in angular expression {{::}}? 在AngularJs上雙 :: 是什麼意思?

今日Code Review 時見到同事在 AngularJs的 project上 使用了

{::ctrl.title}

起初還以為是把打錯字
做了一會research之後發現
原來 {{::}}One-time Binding 的意思
就是說即使 在controller的 variable的內容有改變
這個 one-time binding的 value 也不會改變
詳情可以參考以下網頁
https://docs.angularjs.org/guide/expression#one-time-binding

Hope you find it useful

Shutdown / power off RaspberryPi – RaspberryPi 如何安全關機?

最近常常使用RaspberryPi
由于是用SSH 去連接…
通常都是unplug power cable來關機
所以不知道怎樣正確地關機

做了一會research後發現 解決方法十分簡單

解決方法

我們可以使用 linux 的關機 shutdown command 來關機
-h 是馬上關機
e.g.

sudo shutdown -h

Command to Power off RaspberryPi Immediately

之前我的做法是使用其他電腦去Ping 這個RaspberryPi
當他 timeout時便應該是已經關機了
Try to ping RaspberryPi

其實當RaspberryPi 的燈關沒有再閃
或 如果你是使用Powerbank
Raspberry Pi的燈關掉了
便證明你的RaspberryPi安全關機

powered off raspberry pi, without flash light

Hope you find it useful

RaspberryPi Auto connect Wifi – RaspberryPi 如何自動連接Wifi 網絡

之前和大家介紹過如何在RaspberryPi setup wifi

設定好之後再次開機…可惜又不能自動連接wifi

做了一會research之後發現解決方法十分簡單
我們只需要開啟 Interface的 settings
我們可以使用以下指令

sudo nano /etc/network/interfaces

在檔案較上方的位置加上

auto wlan0

和較底的位置 加上
allow-hotplug wlan0
iface wlan0 inet dhcp

去話比Pi知道用DHCP
config network interface to auto connect on wifi wlan0
之後執行 以下指令 去 ensure 是用dhcp

sudo dhclient wlan0

run sudo dhcpclient wlan0 to set wlan0 to use dhcp

這便可以了
Good Luck

Hope you find it useful

RaspberryPi setup wifi

終於解決了 SSH 的問題
現在 用 LAN 線是可以連接的
但是Raspberry Pi3 其中一個吸引之處是有built-in Wifi
如何設定wifi
解決方法
我們只需要在 wpa_supplicant.conf 加上Wifi setting便可以了

假設你已經知道 WifiSSID 和有password
你便可以在Raspberry pi console/terminal上轉入

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

去開啟wifi 設定.. 之後加入 Wifi 的設定
nano open wpa_supplicant.conf
SSID = Wifi 名
PSK =  Wifi Password
Enter Wifi detail onto wpa_supplicant.conf
E.G.

network={
    ssid="wifi name"
    psk="wifi password"
    id_string="optional"
}

如果是使用nano editor的話可以按 “CTRL” + “X” 之後按 “Y” 和 “Enter“便可以儲存了
run sudo wpa_cli reconfigure to refresh wifi / wpa settings
儲存後再執行以下指令去 reconfig 這個設定

sudo wpa_cli reconfigure

之後可以執行 ifconfig wlan0來看看能不能連接網絡

ifconfig wlan0

run ifconfig wlan0 to check wlan0 status
如果可以看到 inet addressIP 便可以了

hope you find it useful

C# check if String is null or empty – Learning from Code Review

最近的工作主要是做Backend API Library
今日有一個功能..
使用者的input需要輸入一些東西
不能是’ ‘ empty space
所以便要做一些validation 去檢查
以下是我的垃圾寫法

code review 後 同事建議了另一寫法給我
我覺得很好用的 簡單又容易明
Code Review
Silly way to check if string is not null and is not empty

string input = null;

if (input == null || input.Trim() == "")
{
	Console.WriteLine("Input is null or empty");
}
else
{
	Console.WriteLine("Input isvalid");
}
input = " ";
if (input == null || input.Trim() == "")
{
	Console.WriteLine("Input is null or empty");
}
else
{
	Console.WriteLine("Input isvalid");
}

input = " Yeah";
if (input == null || input.Trim() == "")
{
	Console.WriteLine("Input is null or empty");
}
else
{
	Console.WriteLine("Input isvalid");
}



Code Review 後的寫法
用了String.IsNullOrWhiteSpace 來檢查這個variable 有沒有字串

string input = null;

if (String.IsNullOrWhiteSpace(input))
{
	Console.WriteLine("Input is null or empty");
}
else
{
	Console.WriteLine("Input is valid");
}

input = " ";
if (String.IsNullOrWhiteSpace(input))
{
	Console.WriteLine("Input is null or empty");
}
else
{
	Console.WriteLine("Input is valid");
}

input = " Yeah";
if (String.IsNullOrWhiteSpace(input))
{
	Console.WriteLine("Input is null or empty");
}
else
{
	Console.WriteLine("Input is valid");
}



clearer way to check if string is not null and is not empty
Hope you find it useful