ASP.NET

Tuesday, July 25, 2017

เชื่อม SQL Server บน VMWare ผ่าน SQL Server Management Studio ที่เครื่อง Client

หากติดตั้ง SQL Server ต่างเครื่องคอมพิวเตอร์ที่เราต้องการ Develop
จะต้อง Set ค่าเพิ่มเติมผ่าน SQL Server Configuration Server ด้วย
เพราะไม่เช่นนั้นก็จะไม่สามารถเชื่อมต่อได้เลย

1. เปิด SQL Server Configuration Server
2. เลือก SQL Server Services
3. เลือก SQL Server(ชื่อ Instance ที่ได้สร้างไว้) และเลือก Properties
4. เช็คว่า Log on as : Built-in account: Network Service

Sunday, July 16, 2017

ฺBoxing vs Unboxing ต่างกันตรงไหน


Boxing คือการแปลง value type ให้เป็น reference type เช่น
     int i = 123;
     Object o = (Object)i;

Unboxing คือการแปลง reference type เป็น value type เช่น
     int d;
     d = DateTime.Now.Day;

Overloading vs Overriding ต่างกันตรงไหน

Overriding Overloading
มาพร้อมกับการสืบทอด(Inheritance) เพราะว่า Override นั้นคือการ implement method ใหม่ การทำงานมันเหมือนกันแต่ว่าต่างกันที่ parameter

Abstract vs Interface ต่างกันตรงไหน

เปรียบเทียบผ่านตารางละกัน

Abstract Interface
เป็น Class ไม่ใช่ Class
ถูกนำมาใช้กับ Class ที่สามารถให้ Method กับ Class ลูกใช้งานได้ทันที และให้ Class ลูกไปเขียนขั้นตอนการทำงานเอง เช่นสัตว์ประเภทต่างๆ ที่มีการทำงานที่เหมือนกัน ถูกนำมาใช้กรณีออกแบบ Class ที่อยู่ในกลุ่มเดียวกัน แต่มีการทำงานที่ไม่เหมือนกัน เช่น นกกับเครื่องบิน สามารถบินได้เหมือนกัน แต่บินด้วยวิธีที่ไม่เหมือนกัน
มีแค่กรอบการทำงาน หรือมี Logic เพิ่มเติมได้ มีแค่กรอบการทำงาน
Method 2 แบบ
- Method ที่สามารถเรียกใช้งานได้ทันที
- Method ที่มีเพียงแค่ชื่อ แต่ไม่มีในส่วนของหน้าที่การทำงาน
Method ที่มีเพียงแค่ชื่อ แต่ไม่มีในส่วนของหน้าที่การทำงาน
Method ต้องประกาศ Abstract  Method ไม่ต้องประกาศ Abstract
มี abstract method อย่างน้อย 1 method และส่วนใหญ่จะมี concrete method (เมธอดที่มีส่วนimplementation แล้ว) ทุกๆ Method ของ Interface จะเป็น abstract 
Class ลูก ที่ extends ไม่จําเป็นต้องระบุ Method ที
มีอยูใน Abstract Class ครบทุก Method
Class ลูก ที่ Implement จะต้องระบุ
Method ที่มีอยูใน Interface ให้ครบทุก
Method
Class ลูกจะต้อง override เฉพาะ Method ที่เป็น abstract เท่านั้น Class ลูกจะต้อง override ทุก method ใน Class ลูก เพราะเป็น abstract ทั้งหมด
Class ลูก สามารถ extends ได้เพียง 1 Class Class ลูกสามารถ Implements ได้มากกว่า 1 Class

Thursday, July 13, 2017

Agile แนวการทำงานเพื่อรองรับ Requirement ที่ไม่นิ่ง

Agile นั้นเกิดขึ้นมาจากบริษัทที่ทำในเชิง Software Development เป็นหลัก เพราะปัญหาของระบบเดิมที่บรรดาบริษัท Software เจอก็คือ
  • ความยากในการวางแผน 
  • งบประมาณที่อาจจะบานปลาย
  • ระบบแบบ Waterfall กระบวนการ Test จะต้องให้ Design และ Develop เกือบเสร็จ หากเจอความผิดพลาดด้วยการเข้าใจ Requirement ผิดพลาดหรือมีการเปลี่ยนแปลงก็ตามแต่ การแก้ไขก็จะทำได้ยาก

Monday, July 10, 2017

การเพิ่ม Search Method และ Search View

จากหน้าจอ Index ที่ List รายชื่อ Movie หากต้องการทำส่วนค้นหาข้อมูล เช่น Title , Genre จะทำอย่างไร

ตัวอย่าง

จากไฟล์ Views/Movies/Index.cshtml เพิ่ม Code ด้านล่าง
 @model IEnumerable<MvcMovie.Models.Movie>  
 @{  
   ViewBag.Title = "Index";  
 }  
 <h2>Index</h2>  
 <p>  
   @Html.ActionLink("Create New", "Create")  
   @using (Html.BeginForm("Index", "Movies", FormMethod.Get))  
   {  
   <p>  
     Title: @Html.TextBox("SearchString")  
     Genre: @Html.DropDownList("movieGenre", "All")  
     <input type="submit" value="Filter" />  
   </p>  
   }  
 </p>  
 <table class="table">  

Focus การทำงานที่ Mode Edit

Post นี้จะมา Focus การทำงานที่ Mode Edit

ตัวอย่าง
หากต้องการแก้ไข Display Name สามารถกำหนดผ่านไฟล์ Models/Movie.cs

เช่น

 using System;  
 using System.ComponentModel.DataAnnotations;  
 using System.Data.Entity;  
 namespace MvcMovie.Models  
 {  
   public class Movie  
   {  
     public int ID { get; set; }  
     public string Title { get; set; }  
     [Display(Name = "Release Date")]  
      public string Genre { get; set; }  
     public decimal Price { get; set; }  
   }  
   public class MovieDBContext : DbContext  
   {  
     public DbSet<Movie> Movies { get; set; }  
   }  
 }  

เชื่อม SQL Server บน VMWare ผ่าน SQL Server Management Studio ที่เครื่อง Client

หากติดตั้ง SQL Server ต่างเครื่องคอมพิวเตอร์ที่เราต้องการ Develop จะต้อง Set ค่าเพิ่มเติมผ่าน SQL Server Configuration Server ด้วย เพราะไม...