Blog

Recent Announcements

  • If you are my friend Nếu là bạn tôi, rất mong bạn đừng bao giờ động viên hay chúc tôi may mắn! Lý do ư? Tôi có 2: Tôi nghĩ: Lời động viên chỉ dành ...
    Posted Mar 6, 2012, 7:00 AM by Nguyễn Văn Cao Nguyên
  • Ức chế khi thiết kế Data Model Mấy bửa nay gặp 1 lỗi như thế này: {"Introducing FOREIGN KEY constraint 'GroupWall_Writer' on table 'GroupWall' may causecycles or multiple cascade paths. Specify ON DELETE NO ACTION ...
    Posted Feb 22, 2012, 5:53 AM by Nguyễn Văn Cao Nguyên
  • Gét toán...nhưng vẫn thích tin! Why!? Tôi dỡ toán, nhưng tôi thích lập trình - cụ thể là lập trình Web! Why?1. Toán có nhiều mức độ, nhiều ứng dụng cho nhiều lĩnh vực trong đồi ...
    Posted Feb 4, 2012, 6:52 PM by Nguyễn Văn Cao Nguyên
Showing posts 1 - 3 of 3. View more »




If you are my friend

posted Mar 6, 2012, 6:54 AM by Nguyễn Văn Cao Nguyên   [ updated Mar 6, 2012, 7:00 AM ]

Nếu là bạn tôi, rất mong bạn đừng bao giờ động viên hay chúc tôi may mắn!
Lý do ư? Tôi có 2:
  1. Tôi nghĩ:
    • Lời động viên chỉ dành cho những người đang nhụt chí.
    • Lời chúc chỉ dành cho những người thiếu sự tự tin.
  2. Tôi biết mình không bao giờ nhụt chí và luôn đầy sự tự tin.
Và tôi cũng sẽ không bao giờ động viên hay chúc bạn may mắn!!!

Ức chế khi thiết kế Data Model

posted Feb 22, 2012, 5:52 AM by Nguyễn Văn Cao Nguyên   [ updated Feb 22, 2012, 5:53 AM ]

Mấy bửa nay gặp 1 lỗi như thế này:
{"Introducing FOREIGN KEY constraint 'GroupWall_Writer' on table 'GroupWall' may cause
cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION,
or modify other FOREIGN KEY constraints.Could not create constraint.
See previous errors."
}
Tìm một hồi lâu trên Trên Google và website ưa thích (http://stackoverflow.com) thì
người ta đưa ra một nguyên nhân gọi là cascade delete 
Nguyên nhân sâu xa thì tìm đc vài cái:
 when a cascade path goes from column col1 in table A to table B and also from column col2 in table A to table B
Ví dụ:
public class Address
{
    public int AddressId { getset; }
    public string Street { getset; }
    public string City { getset; }
    public string PostalCode { getset; }   
}
public class User
{
    public int UserId { getset; }
    public string FirstName { getset; }
    public string LastName { getset; }        
    public int BillingAddressId { getset; }
    public int DeliveryAddressId { getset; }       
    
    [ForeignKey("BillingAddressId")]
    public Address BillingAddress { getset; }
    
    [ForeignKey("DeliveryAddressId")]
    public Address DeliveryAddress { getset; }
}
Một user có thể có 2 thuộc tính trỏ tới 1 bảng, vấn đề là khi trỏ tới, 1 User đáng lẻ phải trỏ tới 2 dòng bên bản Address nhưng cũng chỉ có thể trỏ tới 1 dòng (*), khi xóa User cascade delete sẽ xóa luôn Address, với trường hợp (*) sẽ gây trục trặc.
Trường hợp nữa là vầy: Ta có User, Group, Comment. 1 User sở hửu nhiều Comment, 1 User sở hửu nhiều Group, 1 Group sở hửu nhiều Comment. Khi Xóa , bởi tính năng cascade (dịch ra là thác, suối, hiểu nôm na là delete dây chuyền) Ta có: Xóa User->Group, User->Comment. Xóa Group->Comment. Như vậy khi xáo User nó xóa luôn Group (A), xóa luôn Comment. Nhưng khi thực hiện (A) xáo Group xáo luôn Comment. Như vậy giai đạon xóa Comment sẽ gây ra lỗi..
Giải pháp là tắt chức năng xoáy chuyền đi..., đúng là càng hiện đại thì càng hại điện.

Gét toán...nhưng vẫn thích tin! Why!?

posted Feb 4, 2012, 6:52 PM by Nguyễn Văn Cao Nguyên

Tôi dỡ toán, nhưng tôi thích lập trình - cụ thể là lập trình Web! Why?
1. Toán có nhiều mức độ, nhiều ứng dụng cho nhiều lĩnh vực trong đồi sống (Thiên vặn, Vật lý, tính tiền chợ...), và theo tôi mức độ toán dành cho lập trình Web chỉ cần lớp 9 của chươgn trình học tại Việt Nam (hồi lớp 9 điểm trung bình toán cảu tui cũng 8.x)
2. Không có toán thì không có tin học, nhưng hiện giờ tin học đã tách rất xa với toán (hồi xưa có nhiều nhà bác học vừa là toán, triết, lí, thiện đại tài...giờ không còn ai vì các ngành cũng ngày càng tách xa), xin nêu 1 vài điềm khác giữa môn toán và môn tin.
2a. Với tin học, trong khi làm kiểm tra hoặc bài tập về nhà, bạn luôn luôn biết mình sai hay đúng, không như trong toán, lâu lâu khi phát bài ra mới "...hởi ôi, quên mất dấu trừ..."
2b. Cách làm 1 bài toán và tin cũng khác. Xin nói rõ đây là nhận xét qua thế giới quan của tôi, nên có thể nó khác xa với các bạn! Hồi đó học cấp 3 thì làm toán như sau: A, học công thức. B, Học dạng bt và các bước giải. C, Trong các kỳ thi cỡ tốt nghiệp trờ xuống thì là thi tính tỉ mĩ nên bài toán giống hệt dạng, chỉ khác số, trong mấy kỳ thi như học sinh giỏi, đại học thì người ta giấu đi vài thứ, tìm cho ra các thứ bị ẩn đi rồi phần nào vẫn làm theo các bước đc dạy. Trình mình không siêu đẳng cho lắm, nên luôn luôn làm theo các bước đc dạy. *Nhưng* với tin học, sau khi đã học hết các thứ căn bản (các thứ căn bản của tin học thì ít lắm - cái này dám chắc chắn) rồi thầy ổng ra đề, cứ thế mà làm. Tất nhiên một số bài toán của tin học cũng có các bước giải, thê nhưng mỗi bước đó lại là một bài toán khác, khiến khó có thể copy mà không bị phát hiện bởi một người thầy tinh ý.
2c. Tin học là môn họi là..."high-level" (như đã nêu ở trên , tin đã khác xa với toán) tính ứng dụng vào trong đời sống của tin nhiều hơn toán. Với tin học tôi đã làm ra được sản phẩm giúp ít cho những người bình thường, kiếm được chút tiền, không biết nếu tôi yêu thích học toán thì bây giờ tôi đã kiếm được tiền từ toán chưa?

3. Yêu thích tin học nhiều, vì nhờ giáo viên truyền đạt! Hồi đi học cấp 2-3 thật tình giáo viên toán là người mà tôi sợ, rất sợ (toàn là mấy thầy dữ - thầy chủ nhiệm), còn các thầy dạy tin học lại rất vui tính nhất là hai thầy Do Dinh Doan và Chợ Phiên NQ. Với lại áp lực học của môn toán quá cao, làm tôi thêm chán ngán.

4. Tin học cũng là một ưu thế, thỉnh thoảng đi cài lại hệ điều hành, diệt virus giùm mấy bạn gái cũng thấy vui vui. Toán thì chỉ có thể chỉ bài cho người ta, mà toán thì mình dỡ ẹt!

5. Niềm vui khi tạo ra một sản phẩm, sử dũng sản phẩm đó, tự mình giải quyết một vấn đề hóc búa, hoặc phát hiện ra một lỗi ngu ngốc trước giờ chỉ có tin học đem lại cho mình.

1-3 of 3