2018年5月31日 星期四

HTML中id、name、class 區別

HTML中id、name、class 區別

https://read01.com/zh-tw/oEkO4.html#.WxCLtEiFNPY

原文網址:https://read01.com/oEkO4.html

name的用途
1)主要是用於獲取提交表單的某表單域信息, 作為可與伺服器交互數據的HTML元素的伺服器端的標示,比如input、select、textarea、框架元素(iframe、frame、 window的名字,用於在其他frame或window指定target )和button等,這些元素都與表單(框架元素作用於form的target)提交有關,瀏覽器會根據name來設定發送到伺服器的request, 在表單的接收頁面只接收有name的元素, 所以賦ID的元素通過表單是接收不到值的。 我們可以在伺服器端根據其Name通過Request.Params取得元素提交的值。在form裡面,如果不指定name,就不會發送到伺服器端。

2)HTML元素Input type='radio'分組,我們知道radio button控制項在同一個分組類,check操作是mutex的,同一時間只能選中一個radio,這個分組就是根據相同的name屬性來實現的。

3)建立頁面中的錨點,我們知道<a href="URL">link</a>是獲得一個頁面超級連結,如果不用href屬性,而改用name,如:<a name="PageBottom"></a>,我們就獲得了一個頁面錨點,如<strong><aname="1" id="1"></a>Experience (XP)</strong>,詳見 示例

4)作為對象的Identity,如Applet、Object、Embed等元素。比如在Applet對象實例中,我們將使用其name來引用該對象。

5)在IMG元素和MAP元素之間關聯的時候,如果要定義IMG的熱點區域,需要使用其屬性usemap,使usemap="#name"(被關聯的MAP元素的Name)。

6)某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">。

當然HTML元素的name屬性在頁面中也可以起那麼一點ID的作用,因為在DHTML對象樹中,我們可以使用document.getElementsByName來獲取一個包含頁面中所有指定Name元素的對象數組。Name屬性還有一個問題,當我們動態創建可包含Name屬性的元素時,不能簡單的使用賦值element.name = "..."來添加其Name,而必須在創建Element時,使用document.createElement('<element name = "myName"></element>')為元素添加Name屬性。這是什麼意思啊?看下面的例子就明白了。
https://read01.com/zh-tw/oEkO4.html#.WxCLtEiFNPY



2018年5月29日 星期二

[C#][筆記] 關於列舉 (enum) 型別特性的整理

http://xingulin.tumblr.com/post/48051832051/enum-features

C#中Enum用法小結

https://hk.saowen.com/a/c89f1d8009cd8f1424045a8becf76c6aaf5997413f3876a5c2b667dfc524b690


大家遺忘的enum

https://ithelp.ithome.com.tw/articles/10184794

SQL從入門到精通Video

https://www.youtube.com/watch?v=wuAeMNcPj8c&list=PLXstZ12GxF9zcAQfy3KXpeS7Nb4mvxCKa&index=3

07A_EntityFramework Foundation

https://ithandyguytutorial.blogspot.com/p/entityframework-foundation.html

GOOGLE帳號管理

GOOGLE管理




降級回舊版 (免費版)


2018年5月23日 星期三

華碩筆電螢幕顏色變黃了

只要按Fn+C就可以調整回來了~ 

ref 與 out 修飾詞的比較

課程==>很清楚 ref 與 out 與 params

https://hiskio.com/courses/182/lectures/7099


Method中的參數種類:
1.)valued types
僅複製指定的參數值到method中,Method中的任何動作,皆不影響原始傳入的變數
Ex:
int i = 0;
Program.ValuedTypesParameter(i);

2.)Ref keyword
複製指定的參數的"位置"到method中,Method中的動作會直接更改該位置的數值
Ex:
int i2 = 0;
Program.Refkeyword(ref i2);

3.)Out keyword
先建立出變數,定義傳入method中的變數前面加上"out"關鍵字,Method執行時須對該變數有存取,執行完以後會自動把數值回傳
Ex:
int outSum = 0;
double outAvg = 0;
Program.Outkeyword(2, 3, out outSum, out outAvg);

4.)params keyword
僅可用於陣列,定義傳入method中的變數前面加上param時
使用時,輸入變數可以為null、一指定陣列、或指定的新數值(會自動將所有的數值組合成陣列並輸入於Method中)
Ex:
int[] paramsKeywordArr = {1, 2, 3};
ParamsKeyword();
ParamsKeyword(paramsKeywordArr);
ParamsKeyword(10, 9, 8);



ref 與 out 修飾詞的比較

1.方法參數宣告為ref與out時,在編譯時視為相同。
(同樣的方法,用ref ,另外一個用out並不會被視為多型)


2.ref與out,都是將參數以ByRef方式傳遞。

3.ref參數傳入方法之前,要先初始化完畢

4.out參數在方法結束之要先初始化完畢
(當呼叫宣告為out參數的方法時,不管變數有沒有初始化,都可以傳入方法中執行,
只要在方法結束前,方法內參數有初始化,就不會出現編譯錯誤。)

5.ref 不會強制要求函式內的程式,一定要修改傳入的參數,但 out

Get & Set 存取器

https://www.youtube.com/watch?v=6PksSUFebeE

2018年5月22日 星期二

2018年5月18日 星期五

.NET線上課程

ASP.NET MVC Fundamentals


https://www.youtube.com/watch?v=sLNqMtBQCQY&list=PLvZkOAgBYrsRQryUJafxeeIOrffHspjrg



Step-by-step ASP.NET MVC Tutorial for Beginners


https://www.youtube.com/watch?v=E7Voso411Vs

MongoDB In 30 Minutes


https://www.youtube.com/watch?v=pWbMrx5rVBE&t=16s

Restful Service wih C# Web Api


https://www.youtube.com/watch?v=H9vBxAH4f5E

ASP.NET Web API and RESTful Services - Part 1


https://www.youtube.com/watch?v=0iT1q7U-XeA

Introduction to ASP.NET Web API with C# and Visual Studio 2015


https://www.youtube.com/watch?v=qNziU_Mr59A

Step-by-step ASP.NET MVC Tutorial for Beginners


https://www.youtube.com/watch?v=E7Voso411Vs

ASP.NET MVC 基本教學


https://www.youtube.com/watch?v=2arFG-u30kQ


2018年5月14日 星期一

學ASP.NET MVC

[ASP.NET] 學ASP.NET MVC 動手做 #1


https://www.youtube.com/watch?v=nLkXhataxsI

Step-by-step ASP.NET MVC Tutorial for Beginners


https://www.youtube.com/watch?v=E7Voso411Vs

Getting Started with ASP.NET MVC 5


https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started

ASP.NET MVC 5 Step by Step: Part 1 MVC 5 First Web Application


https://www.youtube.com/watch?v=z9sjZWDtzOw&list=PLJUoF2h8Z-bpyD7uKkETllHDtSIiW6Eeh

【Postman - 測試Web Service的工具】

【Postman - 測試Web Service的工具】

https://medium.com/@mikru168/postman-%E6%B8%AC%E8%A9%A6web-service%E7%9A%84%E5%B7%A5%E5%85%B7-c7726997868a

建立 Web API 專案

[Web API] 進擊的 Web API : 建立 Web API 專案


https://dotblogs.com.tw/joysdw12/2013/05/24/webapi002


ASP.NET Web API 入門常用技巧

https://www.huanlintalk.com/2013/01/aspnet-web-api-and-json.html

(三)ASP.NET Web API 2 - Web API與Routing的互動 - 1


https://dotblogs.com.tw/jovepaterlab/2017/06/02/004728


2018年5月12日 星期六

ASP.NET單鍵發行_問題除錯



ASP.NET單鍵發行_問題除錯


主題
使用「單鍵發行」快速發行Web+資料庫
介紹
Visual Studio提供許多Web Application部署的方式,分別為Web Deploy、Web Deploy Package、FTP、File System等方式,本文章要介紹Web Deploy發行方式,使用Web Deploy可以大幅減少手動設定的步驟,這對Internet Information Services(簡稱IIS)不熟悉的新手將會是很大的幫助,而且也只會上傳有異動的程式檔案,這比FTP部署速度也比較快。

Web Deploy除了發佈檔案之外,也可以部署資料庫schema與資料、SQL script…等功能,再部署網站非常方便。
作者
姜志民
版本
1.0
產出日期
2017 / 05/ 30
1 目的
Visual Studio提供許多Web Application部署的方式,分別為Web Deploy、Web Deploy Package、FTP、File System等方式,本文章要介紹Web Deploy發行方式,使用Web Deploy可以大幅減少手動設定的步驟,這對Internet Information Services(簡稱IIS)不熟悉的新手將會是很大的幫助,而且也只會上傳有異動的程式檔案,這比FTP部署速度也比較快。

Web Deploy除了發佈檔案之外,也可以部署資料庫schema與資料、SQL script…等功能,再部署網站非常方便。
2 伺服器端-IIS
在有安裝IIS服務的Server上執行Microsoft Web Platform Installer,可至https://www.microsoft.com/web/downloads/platform.aspx下載。在右上角輸入「Web Deploy」,並安裝紅色框框相關的Web Deploy 3.6套件。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image1.png

進入「控制台」-->「程式和功能」,選擇「Microsoft Web Deploy 3.6」在按「變更」。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image2.png

將全部項目啟用。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image3.png

進入「控制台」-->「系統管理工具」-->「服務」,確認「服務」是否有啟動。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image4.png

在「開發人員端」進行發行可能會出現下圖錯誤,若帳號密碼正確,就有可能是「使用者帳戶控制(UAC)」造成的。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image5.png

解決方式:在登錄檔(regedit)的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System底下,檢查是否有「LocalAccountTokenFilterPolicy」這個項目。若沒有手動按右鍵新增一個「DWORD(32-位元)值」並命名為「LocalAccountTokenFilterPolicy」,其數值資料為1。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image6.png
3 開發人員端
在Visual Studio內開啟已存在專案,在專案名稱WebApplication1上按右鍵選擇「發行」。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image7.png

按「自訂」。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image8.png

Publish method選擇「Web Deploy」,再填入相關伺服器的IIS資料。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image9.png

將開發環境的資料庫schema與資料自動同步到目的地伺服器端。按下「設定資料庫更新」。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image10.png

「設定資料庫更新」內可以新增資料庫的SQL script。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image11.png


在最後一個步驟「預覽」,可以預覽資料庫的SQL script,也可以看到只針對有異動的檔案上傳到伺服器,在遠端傳輸時可以大幅減少傳輸時間。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image12.png

成功發行至伺服器可以在Visual Studio的輸出視窗看到下圖訊息。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image13.png

在瀏覽器輸入http://192.168.2.131/thinkpower/ ,檢查網頁是否有正常。
https://tpu.thinkpower.com.tw/tpu/File/html/201705/20170530144518/images/word/media/image14.png
4 結論
最常見的部署方式就是Ftp + 手動更新資料庫,這樣人工手動操作很容易出錯,尤其是資料庫schema最容易漏掉沒有更新到。若使用Web Deploy,可以免去資料庫schema與資料更新這些繁雜步驟,而且只針對有異動的檔案上傳到伺服器,在遠端傳輸時可以大幅減少傳輸時間。

2018年5月11日 星期五

安裝Elasticsearch教學

Elasticsearch 是以 Lucene 為基礎的搜尋引擎,無固定 schema、JSON 文件方式儲存資料
(與 Monog database 相似,No SQL Database),並以 HTTP 請求方式提供使用者操作。
本篇文章將簡單介紹:
  1. 如何在 windows 作業系統下,安裝 Elasticsearch 與註冊 windows 服務方法
  2. 在Windows作業系統下,使用 docker 啟動Elasticsearch
若有錯誤或任何建議,也煩請各位先進不吝指教。




Windows
Step 1.前置作業  - JRE安裝
並確認環境變數設定
name:JAVA_HOME
varable: your_jre_location (ex: C:\Program Files\Java\jre1.8.0_111)
Step 2.下載 elasticsearch 並解壓縮
Download elasticsearch then unzip


Step 3.開啟 bin 資料夾,你可以點選 elasticsearch.bat 直接啟動 elasticsearch
Open bin folder, you can click  elasticsearch.bat then start elasticsearch directly.
Step 4. 開啟瀏覽器,輸入 http://localhost:9200,可以看見elasticsearch相關資訊
Open browser then go to http://localhost:9200, you can see information of elasticsearch.
註冊Windows服務 (Register windows service)
Step 1.開啟命令提示字元到 elasticsearch-5.2.2\bin,輸入下列指令:
Open command line and change directory to elasticsearch\bin, enter command as below
    elasticsearch-service install Elasticsearch
Step 2.開啟服務,你可以看到 Elasticsearch 服務,請啟動他。
open "service",you can see Elasticsearch service, please turn it on.
Step 3.開啟瀏覽器,前往 http://localhost:9200
(新)elasticsearch6.0版本安裝head外掛程式
1.1 前言
  elasticsearch新版本變動都比較大。 elasticsearch6.0貌似已經不支持命令列安裝head外掛
程式了,因此,如果你還想安裝head,只能選擇手動下載安裝。(別再糾結於命令列安裝了)
1.2 下載head外掛程式
  下載地址:https://github.com/mobz/elasticsearch-head;點擊clone or download按鈕,
點擊download zip進行下載。下載完畢後解壓到任意路徑上,別放在elasticsearch安裝路徑上
1.3 安装node.js
   這個比較容易,下載後除路徑自己填寫外,其他直接next就OK了。
下載地址:https://nodejs.org/en/download/ 。
1.4 安裝grunt
  運行head需要借助grunt命令,因此需要安裝grunt,Windows+R,輸入cmd,
輸入命令 cd D:\nodejs(你安裝nodejs的路徑) 進入nodejs的根目錄下,
(注意:如果這條命令不能成功執行,那就先執行 D:,成功切換目錄後再執行 cd  D:\nodejs
(你安裝nodejs的路徑)。),然後執行指令 npm install -g grunt -cli 進行安裝grunt。
1.5 安裝pathomjs
  輸入命令 cd D:\head(你安裝head的路徑) 進入head的根目錄下,
然後執行命令:npm install 進行安裝pathomjs
(安裝時間較長,可以吃幾把雞先,你應該吃不到...)。
如果出現Error關鍵字,則有可能是網路不順暢,下載失敗,那就繼續下一段文字。如果成功
(我用公司網路試了三次都不行,祝你好運!),則跳過下一段文字。
1.6 運行head


  最後,什麼都別關,還沒結束呢,在剛剛的命令視窗執行運行命令 grunt server,
啟動head服務,如下所示則為啟動成功。
(可以到head根目錄下修改Gruntfile.js檔的啟動埠,默認是9100)
然後去修改elasticsearch的設定檔,elasticsearch安裝目錄/config/elasticsearch.yml,
打開檔後在末端另起一行分別頂格添加如下兩行紅色字體文本,保存後重啟elasticsearch.bat。
圖片是我的elasticsearch配置,提供給你參考下。
啟動我們的elasticsearch
9100連結9200,並且測試,查看集群的健康狀況
1.7 用head訪問elasticsearch
  流覽器訪問 http://localhost:9100 (head的服務埠),訪問成功後,好好享受吧!!!
參考

WPF聊天室应用(ASP.NET Core SignalR)

  WPF聊天室应用(ASP.NET Core SignalR) https://www.bilibili.com/video/BV1Q741187Si?p=2 https://www.bilibili.com/video/BV1UV411e75T?from=search&...