建立自己的Library - 使用Nuget Package Explorer (GUI) 建立nuget package (下篇) 建立第一個package

在上一篇建立自己的Library - 使用Nuget Package Explorer (GUI) 建立nuget package (上篇) 介紹package結構介紹了package的結構之後,在這篇我們將來用上篇所了解的結構,來建立一個簡單的package。

首先會建立一個簡單的library project,這個project會建立出等一下建立的package內容。

建立出package之後,接下來會介紹如何在本地測試這個package。

最後,當正式要把package發佈出去,讓外面的人使用,有什麼地方有提供host這些package。

...繼續閱讀 »

建立自己的Library - 使用Nuget Package Explorer (GUI) 建立nuget package (上篇) 介紹package結構

在上一篇 (何為nuget,該如何使用,和2.7版本之後建議的回覆nuget package(套件)的方式) 介紹如何使用nuget後,應該會發現要在專案裡面使用某個Library實在是很方便,同個Library在不同專案使用只要透過nuget安裝就搞定。

作為開發者,相信大家都有一些小工具或者一些方法是常常被使用到的,而每次不同專案要使用,都需要copy整個程式碼實在很不方便,更別說如果哪天發現有bug ,要更新所有有用到的專案就更加困難和浪費時間。

...繼續閱讀 »

何為nuget,該如何使用,和2.7版本之後建議的回覆nuget package(套件)的方式

第一次接觸.Net開發的人常常會聽到一個名詞,那就是nuget。而習慣nuget的開發者通常也會常說,「你就用nuget去裝xxx套件就好了」。

可是,常常會忽略掉非.Net開發者其實聽不太懂這個術語。在這篇,我希望能夠可以給新進的.net開發者,能夠瞭解什麼是nuget,為什麼要用nuget,nuget產生的什麼 東西應該進入版控,和最重要的建議回覆nuget package的方式(網路上面很多教學都是舊版本的做法)

...繼續閱讀 »

[問題] 建制專案(Build Solution)沒有問題,但是發佈(Publish)卻出現"Could not load file or assembly)

在開發一個專案的時候,需要使用一個第三方透過email寄給我的dll。加入這個Dll到專案裡面都沒有問題,但是當我想要publish的時候卻出現了下面的錯誤訊息:

"Could not load file or assembly '{dll 名稱}' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)"

有嘗試用Administrator來啟動Visual Studio然後在publish,但是沒有用。因為Build專案這個dll是沒有出現問題,不知道為什麼publish才出現找不到。

...繼續閱讀 »

[軟體介紹] ZoomIt 簡報/教學好用的工具 - 螢幕打字、畫圈、箭頭和螢幕放大功能

當我們在做簡報或者錄製教學影片的時候,我們常常會需要有螢幕放大(zoom)的需求。因此我們可以用Windows內建的放大鏡軟體(可以透過Win + = 來啟動)。

不過有時候我們還需要能夠對畫面畫線、或者圈起來,讓聽的人能夠看到重點的部份。這個時候Windows的內建放大鏡軟體就不夠看了。

Sysinternals 所出版的ZoomIt是一個可以完全取代Windows內建的放大鏡軟體,它除了能夠做到放大鏡的效果,還能夠讓我們在螢幕上面直接畫圈、畫方、畫直線、畫箭頭線、打字(不過 只能夠是英文)和把螢幕內容儲存成為圖片。

...繼續閱讀 »

[Azure] 如何設定VM內部IP? - 從動態IP改成靜態IP

當我們啟動一個Azure VM的時候,他的內部IP(Internal IP)是動態給予的(Dynamic Assigned)。這個意思是VM所會被給予的IP是依照目前第一個閒置的IP。舉例來說,如果VM的網段是10.0.0.0/23,那麼第一台啟動的VM IP將會是10.0.0.5(前4個被Azure用去)。

但是,如果假設我們VM啟動的時候希望給予他一個特定的IP(例如10.0.0.15),那該如何做呢?

...繼續閱讀 »

[Typescript] 如果Javascript是屬於組合語言(Assembly Language),那麼Typescript就是高級語言 - 概念

隨著近幾年前端工程師越來越受到歡迎,HTML5、CSS和Javascript這個鐵三角也變成非常重要。尤其是作為操控behaviour的Javascript。

我們可以看到Javascript的蓬勃發展,不管是Javascript的MVC framework(例如Angularjs、backbonejs等),還是像nodejs這種以javascript來寫後端的framework。

也因為javascript越來越受到重視,需要用javascript來寫高度彈性和複雜的邏輯程式也變成非常之重要。因為Javascript設計的語言天性,使他不適合用於寫大型程式,有點像是 Assembly language不適合用來寫大型商業程式一樣。因此,就像我們用C#這一種高階語言一樣,Typescript可以把它想像成Javascript的高階語言。

這一篇我不會介紹到Typescript的語法或撰寫內容,而是以比較宏觀來介紹Typescript的基本概念和它的優缺點。

...繼續閱讀 »

IIS 架設Piwik

Piwik是一款開放原始碼的「網站流量分析」的系統。架設Piwik可以把它想像成自己架設一個像Google analytics服務的網站。這一篇我會介紹如何在IIS上面架設Piwik。

...繼續閱讀 »

80 通訊埠 被佔用(Port 80 required is already in use)解決辦法

port 80作為網站預設的port因此大部份的環境都不會檔80 port。這意味著有一些程式會因為這個便利因此使用80 port。 當在開發Java EE 網站的時候,我們通常會使用Tomcat作為Servlet的Container。最討厭的是,當你啟動Tomcat做測試的時候,出現了

Port 80 required by Tomcat v7.0 Server at localhost is already in use....
在這一篇裡面,我會介紹,當遇到這種問題的時候,有什麼解決辦法。

...繼續閱讀 »

[java] 中文亂碼處理步奏

我們在寫程式的時候,很長遇到的一個問題就是當我們從某個外部資源(可能是文字檔案,可能是DB等)讀取文字顯示出來的時候,中文變成亂碼。 或者是輸入的文字,讀進來變成亂碼。

基本上為什麼會是亂碼大家都有個基本概念,那就是encoding錯誤了,但是當我們遇到亂碼的時候,有時候很難一步一步去排除那邊有問題。

今天我在網路上看到了一篇對於排除亂碼問題寫的滿詳細的,看過以後對於解決亂碼的步奏會有一個更清晰的瞭解。

...繼續閱讀 »

[JQuery]選取所有checkbox和判斷是否全部checkbox已經被勾選

在做網頁的時候常常遇到的是列表清單。而通常列表必須提供checkbox來供使用者選取之後在做相對應的動作。因此,前端處理checkbox觸發變的很常用。

這一篇我會介紹兩個常用jquery的snippet來達到:

勾選/取消勾選 全部勾選checkbox的時候 勾選/取消勾選 所有對應的checkbox
當所有對應checkbox有別勾選的時候, 全部勾選checkbox 也要被勾選

...繼續閱讀 »

使用udl檔案測試DB連線是否成功

我之前遇到過一個問題。我們都知道正常來說網站本身和DB通常是不在同一台server上面。因此通常來說操作DB的軟件(例如SSMS)通常都是在DB 那一台上面。

問題來了,假設我們用DB 上面的SSMS連的上DB,但是網站執行的時候卻出現連不到DB的錯誤訊息,這個時候有些東西需要調整,例如:防火牆的port,還是DB 本身是否有開啟port等。

但是每次修改完認為可能造成問題的地方後,要在嘗試連DB的時候都要透過重新執行網站本身很麻煩也浪費時間。而且有可能問題不是DB設定而是網站本身的時候, 會浪費很多時間在追蹤沒有問題的部份。

...繼續閱讀 »

[Tag] 自定義方法


透過前面幾篇,相信對於如何自定義tag應該沒有什麼問題了。不過在JSTL裡面有個特殊的tag,專門用在EL裡面,因此我們稱之為function tag。

我們自己也可以自定義function tag,這樣在使用EL的時候就不會感覺到力不從心。這一篇我們來看看如何自定義function tag。

...繼續閱讀 »