2016年8月11日 星期四

[筆記]Nlog Elmah 大合體步驟

Step1. 到NuGet安裝Elmah及用到的3個套件
(下圖右側打勾的項目)

Step2. 裝好Elmah的3個套件後會看到一個SQL檔(Elmah.SqlServer.sql),執行它把Table建起來

Step3. 在專案的web.config檔中找到安裝Elmah套件時所產生的項目(elmah-sqlserver),然後填入connectionString

Step4. 一樣在web.config檔中找到errorLog並在這個tag中加入一個屬性applicationName="你想填入的名稱"
補充題外話:這個步驟原本沒做,結果測試的時候發現DB中有寫入NLog的錯誤資料但是頁面上卻沒有顯示...

Step5. 如果設定成對外連的到怕別人猜到路徑可以根據喜好修改名稱,不過要改3個項目都要改


Step6. 寫一段會出錯的程式來測試一下結果

Step7. 執行該頁面後到DB查看是否有紀錄

Step8. 接著開啟Elmah的紀錄頁
(網址: [你的Domain]/[你在Step5修改的名稱].axd)

Step9. 點選畫面列表中的Detail可以看到完整的錯誤訊息

Step10. 到NuGet安裝NLog套件及另外兩個
NLog Configuration、NLog Schema 
for Intellisense


Step11. 到NuGet安裝NLog.Elmah


Step12. 開啟NLog.Config加入extensions、targetlogger 
 如下圖所示加入
<extensions>                                 
<add assembly="NLog.Elmah">
</extensions>                                
如下圖所示加入
<target xsi:type="Elmah" name="elmah"  layout="${longdate} ${uppercase:${level}} ${message}" LogLevelAsType="true"/>
如下圖所示加入
<logger name="*" minlevel="Trace" writeTo="elmah" />

Step13. 到Controller中加入測試的Code後建置然後開啟頁面

Step14. 到DB及Elmah的紀錄頁中看結果


The End

2016年6月29日 星期三

[筆記].net MVC 安裝Web Essentials 並 使用bundle功能將多個CSS or JS檔打包彙整成一個檔案

首先第一步 安裝:Web Essentials
https://visualstudiogallery.msdn.microsoft.com/56633663-6799-41d7-9df7-0f2a504ca361 

第二步 裝好之後 到下面這個網址
http://vswebessentials.com/features/bundling

第三步 複製畫面中的XML



第四步 在專案中加入bundle檔
例如:main.css.bundle

第五步 將剛剛複製的XML貼到bundle檔中,然後修改或加入你要匯入的檔案及路徑後存檔


第六步 在Visual Studio中先確定檔案已加入專案後點選Update All Bundles

完成了! 此時你會看到多了2隻CSS檔
依本範例為例會多出
main.css及main.min.css













2016年6月23日 星期四

[筆記]CSS3 filter blur 濾鏡特效

常常在一些網站上看到滑鼠移入時會出現圖片霧化個幾秒鐘
且同時底下的字或是小icon會移動或是變色

好奇看了一下之後做了一個類似的感覺還不賴

主要是靠CSS中的 @keyframes關鍵影格
以及CSS的一些事件來完成
搜尋關鍵字"css event another"也可以找到一些相關的文章

以下是我的小範例

See the Pen JKbPEg by AllenYu (@allenyjs) on CodePen.

2016年6月16日 星期四

[筆記]網頁schema結構化標記

今天再研究網頁結構化標記  參考了一些資料
在看google的說明時發現了schema.org
說明中有提到schema.org 是由 Google、Microsoft 與 Yahoo! 聯手打造的計劃, 用來幫助解讀網頁中的相關資訊
 (詳細內容參考: https://support.google.com/webmasters/answer/3069489?topic=3070267&hl=zh-Hant&rd=1 )  

 為了怕之後自己忘記做一下簡易說明筆記
說明如下:(詳細版請參考 https://schema.org/CreativeWork )
1. 在 html Tag 中加入 itemscope itemtype=”http://schema.org/WebSite” 
範例:  
<html itemscope itemtype="http://schema.org/WebSite"></html> 

2. 在 head Tag 中加入以下 meta
範例:
<meta itemprop="name" property="og:title" content="結構化範例網頁" /> 
<meta itemprop="keywords" name="keywords" content="關鍵字 1,關鍵字 2,關鍵字 3" /> 
<meta itemprop="description" property="og:description" name="description" content="我的網站超炫超厲害......" /> 
<meta itemprop="url" property="og:url" content="http://allenyjs.blogspot.tw/" /> 
<meta itemprop="image" property="og:image" content="image/sample-logo.png" /> 
<meta itemprop="author" property="og:site_name" name="author" content="資深初心者的部落格">  

3. 在 body Tag 中加入 itemscope="" itemtype=http://schema.org/WebPage
範例:
<body itemscope="" itemtype="http://schema.org/WebPage">  

4. 在<body></body>內層加入一個標題並在此標題的 Tag 中加入 itemprop="name"
範例:
<h1 itemprop="name">結構化範例網頁</h1>

5. 在版權聲明的 Tag 上加入 itemprop="copyrightHolder"
範例:
<footer> 
  <p itemprop="copyrightHolder">某某公司 版權所有 © 2016 All Rights Reserved. </p>
</footer>  

可以利用以下工具協助標記及檢查

結構化資料標記協助工具:
https://www.google.com/webmasters/markup-helper/u/0/

結構化資料測試工具:
https://search.google.com/structured-data/testing-tool/u/0/

當然這只是簡單的標記而已因為太多種了
詳細的說明還是要看https://schema.org/CreativeWork

在Google測試工具中測試的結果大概會長成這樣


最後我的範例請參考:
See the Pen 結構化範例網頁 by AllenYu (@allenyjs) on CodePen.


2016年5月31日 星期二

[我的前端筆記] jQuery 綁定小範例

利用陣列(array)跟物件(object) 組成一個Model

接著再用keyup或是change...等監聽事件

當前端UI的資料有異動時事件被觸發時將Element上的值覆蓋回Model

在此範例中假設有接收到後端資料資料時去Call renderForm();

就會把Model 資料填到UI上 達到綁定的效果

See the Pen jQuery 綁定資料 by AllenYu (@allenyjs) on CodePen.


2016年5月23日 星期一

網址後面出現奇怪的url encode 字串"%E2%80%8B"

今天遇到了一個有點詭異的問題

在網頁上點連接時應該要連到下面這個網址
http://[某某網址]/index.html

結果連過去後卻發現異常無法顯示
實在是有點奇怪
難道是連結網址貼錯嗎???
立馬複製瀏覽器上的網址貼到記事本一看
http://[某某網址]/index.html%E2%80%8B

怎麼會多出了一段%E2%80%8B
於是又馬上去檢查檔案
<a herf="http://[某某網址]/index.html">

沒錯啊!!!~~~~~

那我看到的那段UrlEncode "%E2%80%8B" 又是怎麼一回事呢?

在google大神的大力相助一下
我找到了一些答案

應該是因為現在大家習慣Ctrl+C Ctrl+V

網址有可能來源是word 有時候存在記事本
也有可能是sublime Dreamweaver notepad++ ...等

大家複製來複製去的過程中不知道在哪個編輯器上順手就帶上了"%E2%80%8B"

我找到的答案應該是這樣 還望高人指點...

補充一下這兩篇也有提到這個問題 底下回覆有人是因為從MS word複製網址後出現"%E2%80%8B"

https://premium.wpmudev.org/forums/topic/something-is-breaking-my-links-with-

https://forums.digitalpoint.com/threads/why-are-some-of-my-urls-getting-appended-with-e2-80-8e.2716588/

如果是C#的話可以用以下方式解決這個麻煩
MailItem.Body.Replace("\u200B", "");
參考這篇:
http://stackoverflow.com/questions/24942167/simplest-way-to-get-rid-of-zero-width-space-in-c-sharp-string

如果是Javascript的話可以用正規式的方式處理
參考這篇:
http://zhi-yuan-chenge.blogspot.tw/2015/10/jsie-buge2808e.html

2016年3月10日 星期四

[筆記] 使用Compass Sprite x 自動合併圖片 x 自動產生background-position

1.開啟「命令提示字元」,建立compress專案


2.開啟compress設定檔,檢查設定

3.根據設定建立對應的images及icons資料夾

4.再資料夾中放入要合併的素材圖片
5.建立一個新的scss檔

6.在scss檔中寫入內容,完成後記得儲存檔案

7.儲存檔案後,在「命令提示字元」輸入指令compile 本範例輸入"compass compile test1"

8.完成後會自動在剛剛config.rb設定的相對路徑中generate相對應的css檔,預設是stylesheets資料夾

9.這個時候開啟sprite.css及images資料夾可以看到已經自動generate了css及合併後的圖檔