[TFS] Đổi, thêm cổng cho Team Foundation Server. Change Port default 8080



thuvienwinform - Đây là vấn đế được rất nhiều bạ sau khi cài TFS quan tâm. Việc đổi cổng cho server TFS rất đơn giản, bạn chỉ cẩn chỉnh lại cổng của của TFS trong IIS là xong! Sau đây mình xin hướng dẫn việc đổi cổng này!

B1: Mở IIS lên



B2: Chọn Team Foundation Server trong Sites và ấn Bidings...



B3: Nếu muốn thêm ấn nút Add, còn muốn sửa thì ẩn nút Edit (chỉ sửa mục phần port còn các mục khác để nguyên)



Ok.


[TFS] Notifiocation URL, Server URL. Đưa TFS thành online



thuvienwinform - 2 URL có mục đích khác nhau. Mình sẽ giới thiệu đến các bạn các để 2 URL này cho đúng và các đưa TFS thành online!


Yêu cầu: có 1 IP tĩnh, đã được cấu hình vào được mạng

- Notification URL: để dạng [IP tĩnh]:[cổng]/tfs
+ Ví dụ IP tĩnh là 192.168.233.10; cổng 8080: 192.168.233.10:8080/tfs
+ Tác dụng của nó là chèn đường dẫn vào Email thông báo (sẽ nói ở bài sau) -> với url này chỉ cẩn ấn vào sẽ đến đúng địa chỉ luôn

- Server URL: để localhost:[cổng]/tfs hoặc ip tĩnh:[cổng]
+ Ví dụ: 192.168.233.10:8080/tfs hoặc localhost:8080. 
+ Vì ta đã có IP tĩnh nên khi truy cập vào địa chỉ của IP tĩnh chính là localhost trên máy này -> ở đâu cũng truy cập được TFS -> thành online :D
+ Sau khi chỉnh xong ấn test để đăng nhập
- Ngoài cách này, nếu bạn không có IP tĩnh thì có thể sử dụng Visual Stdio online http://go.microsoft.com/fwlink/?LinkId=307137&clcid=0x409 để tạo project online

[TFS] Đổi ngôn ngữ trên web

thuvienwinform - Nhiều bạn hỏi mình là đổi ngôn ngũ ở chỗ nào? Nó toàn hiển thị tiếng Pháp. Đổi ngôn ngữ trong 2 nốt nhạc nhé:




Ngoài ra đổi tên hiển thị cũng ở đây!

[TFS] Cài đặt Team Foundation Server (Step by Step)

Team Foundation Server Administration Console


Giao diện web của Team Foundation Server

thuvienwinform - Hôm nay minh xin được hướng dẫn các bước cài đặt TFS để tạo môi trường làm việc nhóm cho các team phát triến ứng dụng.

Trong quá trình cài đặt, nếu gặp vường mắc gì có thể liên hệ mình hoặc để lại cmt. Có thể mình sẽ giúp được
- Skype: ngochoaitn
- Gmail: ngochoaitn
- Facebook: ngochoaitn

A. Chuẩn bị:

1. Cấu hình máy cài TFS
  • Cấu hình tối thiểu: Win7 trở lên, hoặc winServer 2008 (64bit) SP1 trở lên, RAM 1GB, 2.2GHz, Có SQL Server
  • Cấu hình đề nghị : WinServer 2012 64bit, RAM > 4GB, i3 trở lên, IP tĩnh, SQL Server
2. Bản cài TFS và nâng cấp SP1 cho WinServer 2008 R2 (nếu cần):
OK. Sau khi đã đủ nguyên vật liệu ra bắt đầu tiến hành cài đặt!
(Dưới đây mình sẽ ví dụ cài trên máy chạy WinServer 2008 R2 Sp1 với tất cả cài đặt là mặc định. Nếu bạn muốn chút tùy chọn như chọn CSDL,.. có thể tham khảo tại link này)

B. Cài đặt
Chú ý: 
- Nên cài SQL Server trước (hạn chế lỗi của SQL Express). Nhưng trong những bước dưới đây mình hướng dẫn trên máy chưa cài SQL Server
- Trong quá trình cài mà nó yêu cầu tài khoản, mật khẩu thì đó chính là tài khoản, mật khẩu Admin trên máy
- Trong quá trình cài mà gặp lỗi thì xem trong phần C để khắc phục
Bắt đầu nào!

Mở file cài đặt

Install Now

Tiến trình cài đặt

Cơ bản cài đặt xong

Nhập key

Thiết lập server

Next

Chọn cái đầu tiên (nếu chưa cài SQL Server)


Configure
(p/s: vì mình chạy máy ảo Ram 1GB nên nó hiện cái thông báo TF255456)

ok

Đến đây đã cài xong. Bạn có thể vào địa chỉ hiển thị trên trang cài để kiểm tra. Nếu nó yêu cầu tài khoản mật khẩu thì đó chính là tài khoản, mật khẩu admin trên máy





* Cài Build (nên cài luôn)




Gõ xong ấn Test xem có nhập đúng không



ok Xong


C. Những lỗi có thể gặp trong khi cài TFS:

1. "TF400157: Service Pack 1 or higher os required for this version of windows."

- Lý do: Chưa cài bản SP1 (với winserver2008R2)
- Khắc phục: cài bản SP1 (mình đã đưa link ở trên)


2. TF255466....System Verifications error

- Khắc phục: khởi động lại máy -> mở Team Foundation Administration Consolue lên và cài tiếp




3. Lỗi database (do SQL Express rất hay găp lỗi này)
- Khắc phục: cài sqlServer sau đó mở Team Foundation Adminstration Console để tiếp tục cài

[TFS] Giới thiệu về Team Foudation Server

Các thành phần trong giải pháp ALM của Microsoft

thuvienwinform - Với các nhóm lập trình, dù ít hay nhiều thành viên thì công cụ để làm việc nhóm là hết sức quan trọng, với nhóm code đơn thuần thì có thể sử dụng SVN Server là đủ rùi nhưng với nhóm đầy đủ gồm đội phân tích thiết kế, code, test,...thì SVN sẽ không đáp ứng được yêu cầu mà cần cộng cụ nhiều chức năng hơn! Và Team Foundation Server (TFS) là lựa chọn tối ưu trong trường hợp này. Chức năng chính của nó là quản lí, tạo môi trường làm việc phát triển phần mềm theo nhóm dựa trên khung làm việc Scrum. Trong thời gian tới thuvienwinform xin được giới thiệu đến bạn đọc việc cấu hình, cài đặt cũng như sử dụng TFS. Triển khai nó lên máy server để các thành viên trong nhóm đều có thể làm việc cùng nhau online luôn.

Dù mới chỉ 2 tuần sử dụng nhưng mình rất nóng lòng muốn gửi đến các bạn công nghệ TFS này. Các bài viết chắc chắn không tránh khỏi thiếu sót, rất mong nhận được sự đóng ghóp, chia sẻ!

- Một số bài viết yêu cầu tìm hiểu:
+ Scrum là gì?  http://hanoiscrum.net/hnscrum/gioi-thieu/scrum-lagi
+ Giới thiệu về Scrum với TFS: http://www.slideshare.net/duongtrongtan/scrumday-vietnam-2012-scrum-with-team-foundation-server-quang


Các công cụ của Scrum bao gồm các Product Backlog chứa các Sprint Backlock. Mỗi Sprint đều có các công việc và thời gian cụ thể. Các cuộc họp cho sprint được thực hiện thường xuyên (4 cuộc họp) lặp đi lặp lại giúp cho công việc luôn được kiểm soát, đưa ra giải pháp tối ưu nhất! 

TFS tạo môi trường làm việc có sự gắn kết cao giữa các đội! Với đội code có thể xem công việc (work items), quản lí code, chạy test, xem bug của đội test hoặc mời người khác xem code,...chống conflict khi nhiều coder submit cùng một lúc, và đặc biệt là tất cả được thực hiện ngay trong visual studio. Với đội test thì khu thực hiện test code thể gửi đến từng người trong đội code để yêu cầu sửa băng các bug, work items,...Công việc hết sức linh hoạt và nhanh chóng, tạo ra sự chuyên nghiệp trong việc phát triển phần mềm! Còn Product Owner thì có thể kiểm soát, giao việc,... ngay trên môi trường web.

Code kiểm tra dữ liệu vừa thay đôi trong CSDL


thuvienwinform - Để xem dữ liệu vừa thay đổi (thêm, sửa, xóa) trong CSDL ta sử dụng code sau:
(sử dụng LINQ)
     
        public static bool ChangeData(QLDTDataContext db)
        {
            int insert = db.GetChangeSet().Inserts.Count;
            int update = db.GetChangeSet().Updates.Count;
            int delete = db.GetChangeSet().Deletes.Count;
            if (insert + update + delete == 0)
            {
                return false;
            }
            return true;
        }
Với QLDTDataContext là lớp tạo bởi item LinqToSql: http://thuvienwinform.blogspot.com/2014/03/code-kiem-tra-du-lieu-vua-thay-oi-trong-csdl.html
Kết quả trả vể true nếu có thay đổi và ngược lại
3/15/2014
Đăng bởi :

Hàm set và get trong C#


thuvienwinform - Chắc hẳn trong quá trình học cũng như tìm kiếm trên mạng thì hai hàm này không còn xa lạ đối với các bạn nữa. Nhưng chắc hẳn câu hỏi đầu tiên đặt ra là tại sao lại phải xây dựng các biến theo set và get mà không gán bình thường? Hãy xem nó có những nổi trội gì nhé!

Ví dụ 2 code sử dụng set get:

Code 1:

int _tuoi = 0;
public int Tuoi
{
    set 
    { 
        _tuoi = value;
        if (_tuoi < 0)
            _tuoi = 0;//Không có tuổi nhỏ hơn 0
    }
    get
    {
        return _tuoi;
    }
}    
this.Tuoi = -8;//Thực hiện set => _tuoi = 0;
int layTuoi = this.Tuoi;//thực hiện get => trả về giá trị _tuoi (0)



Code 2:
   
private string _hoTen;
public string HoTen
{
    set { _hoTen = value; }
    get { return _hoTen; }
}
//Tương đương với code sau:
public string HoTen
{
    set;
    get;
}

- Như ở đoạn code 1: khi bạn nhập vào Tuoi = -1 thì nó sẽ trả về 0, chứ bình thường ra phải code một đoạn nữa để xử lí trường hợp nhập sai tuổi! Rất hữu ích đúng không nào
- Còn với đoạn code 2 thì ở đây chỉ nhập vào và xuất ra luôn (chưa có ràng buộc) thì có thể thu gọn về chỉ còn set; get; thôi (vẫn nên sử dụng vì sau này có thêm ràng buôc gì cho biến này thì sẽ thêm vào một cách dễ dàng hơn!).

Có set get mới là thuộc tính, mỗi thuộc tính có các tính chất của nó, ví dụ 0 < Cân nặng < 1000, năm sinh < năm hiện tại, ... set, get để thực hiện các ràng buộc đó.

_tuoi là biến bình thường, còn Tuoi là thuộc tính (có cái cờ lê :v)
3/09/2014
Đăng bởi :
Nhãn :

Breakpoint giúp kiểm soát code, giá trị của các biến trong khi chạy thử

Di chuột để xem các giá trị của mảng hAdress

thuvienwinform - Trong quá trình code và chạy thử thì việc kiểm soát giá trị của các biến là hết sức khó khăn. Thường thì dùng các MessageBox hoặc một textBox, label để hiển thị...Công việc này mất nhiều thời gian. Tại sao không dùng chức năng breakpoint có sẵn trong visual để xem giá trị của chúng! Hôm nay mình xin giới thiệu với các bạn cách sử dụng Breakpoint này (chỉ với 1 click chuột)!

- Tạo Breakpoint
+ Tại đoạn code mà bạn muốn chương trình dừng lại để xem giá trị các biến bạn chuột phải -> Breakpoint -> Insert Breakpoint xong luôn.
+ Mình thường làm như này: tạo 1 button xong Insert Breakpoint vào sự kiện ấn cái button đó. Khi nào muốn dùng lại xem thì ấn button đó là xong! :D

Sau khi Insert Breakpoint xong sẽ có cái hình tròn có mũi tên ở trong xuất hiện tại chỗ mà chương trình sẽ dừng lại

- Xem giá trị các biến như nào?
+ Sau khi chương trình chạy đến đoán có Breakpoint thì chương trình sẽ dừng lại, bây giờ bạn hiển thị Visual Studio lên và di chuột vào biến nào cần xem giá trị là nó sẽ hiện ra cho bạn (Ví dụ như ảnh ở đầu bài này).

Ok vậy là đơn giản trong việc xem giá trị các biến trong khi chạy thử chương trình rồi :)

Cách để thêm nhanh: chuột phải vào biến -> Refactor -> Encapsulate Field... -> ok



3/07/2014
Đăng bởi :
Nhãn : ,

Code up ảnh lên CSDL (Sử dụng kiểu image trong SQL server)



thuvienwinform - Để đưa anh lên CSDL ta phải tạo 1 trường trong bảng với kiểu dữ liệu là image (khi up ảnh lên sẽ chứa trong trường này). Ý tưởng là sẽ convert ảnh cần up lên CSDL thành kiểu memorystream rồi mới up lên. Khi lấy về sẽ dịch ngược lại, từ memorystream thành image!

1. Tạo CSDL



2. Code up ảnh lên CSDL


        //ảnh -> byte[]
        public byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream ms = new MemoryStream();
            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            return ms.ToArray();
        }
        //byte[] -> ảnh
        public Image byteArrayToImage(byte[] byteArrayIn)
        {
            MemoryStream ms = new MemoryStream(byteArrayIn);
            Image returnImage = Image.FromStream(ms);
            return returnImage;
        }

OK! Như vậy là bạn đã có thể up ảnh lên CSDL đc rồi!

Ví dụ sử dụng 2 hàm trên cho 2 nút btChuyenMa và btDichMa (sủ dụng LINQ):
- DB.tbImage: bảng csdl để up ảnh lên, gồm 2 trường là ID và Data


        private void btChuyenMa_Click(object sender, EventArgs e)
        {
            DB.tbImage img = new DB.tbImage();
            img.Data = imageToByteArray(ptbAnh.Image);
            
            db.tbImages.InsertOnSubmit(img);
            db.SubmitChanges();
        }

        private void btDichMa_Click(object sender, EventArgs e)
        {
            var data = (from t in db.tbImages
                        where t.ID == 0
                        select t.Data.ToArray()
                       ).SingleOrDefault();
            b = data;
            ptbLayDL.Image = byteArrayToImage(b);
        }
3/06/2014
Đăng bởi :
Nhãn :

Cách comment (chú thích) cho code

Comment Code giúp dễ dàng sử dụng về sau

thuvienwinform - Khi viết chương trình, phần mềm theo nhóm, khi ta đọc đoạn code của người khác viết sẽ khá khó khăn trong việc sử dụng. Vì vậy để dễ dàng cho làm việc cùng nhau ta cần phải chú thích cho đoạn code của mình vừa đề người khác hiểu, vừa để đễ dàng cho sử dụng sau này cũng như viết tài liệu. Hiểu được vấn đề này, visual studio hỗ trợ việc comment cho code rất tuyệt vời, hôm nay mình xin được giới thiệu nó đến với các bạn!

- Để hiện được chú thích như hình ở đầu bài viết ta làm như sau: Gõ 3 dấu "/" trước hàm, thủ tục mà ta cần chú thích thì nó sẽ tự tạo cho ta 1 sumary để mô tả chức năng của hàm, các param để mô tả chức năng từng biến!



 Ok rất đơn giản phải không nào :)


3/04/2014
Đăng bởi :
Nhãn : ,

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -