banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận việc định hướng [Hỏi] Học thêm về System design?  XML
  [Question]   [Hỏi] Học thêm về System design? 28/02/2008 13:25:48 (+0700) | #1 | 117061
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]
Chẳng là dạo này tự dưng thấy ham học hẳn nên muốn củng cố thêm kiến thức về System design, đặc biệt là rất thích học và áp dụng các design pattern, do cái này kinh nghiệm của mình còn ít quá, vậy mình muốn hỏi các bác là có trung tâm nào dạy về lĩnh vực này không? Có thể cho em vài nhận xét nhé, cám ơn các bác nhiều.
À quên, không nhất thiết là chỉ riêng về System design, mà về kỹ năng lập trình nói chung cũng được, chẳng hạn như OOP, Automata,... (nghĩ lại thấy hồi xưa bỏ học thiệt là sai lầm quá smilie ).
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 28/02/2008 15:31:27 (+0700) | #2 | 117078
aguest
Member

[Minus]    0    [Plus]
Joined: 07/09/2006 23:48:15
Messages: 90
Offline
[Profile] [PM]
Hồi đó học System Design lớp, tui thấy đa số trong sách dạy lý thuyết không ah. Muốn học lớp này hay phải làm nhiều group projects thì mới khá được. Các design pattern thì mua sách về học thêm cho biết được rồi. Khi nào đi làm cty có thật sự áp dụng các pattern này thì tự nhiên sẽ hiểu và sử dụng được thôi. Học mà không sử dụng cũng quên ráo hết ah. Kiếm sách trên Amazon thì tìm từ khóa System Design hay Software Engineer cũng được.

Còn về OOP cũng tương tự vậy thôi. Học trong trường để biết các khái niệm, rồi đi làm sẽ học theo cái framework của cty có sẵn. Ít khi nào mình phải ngồi ra viết mấy cái class implementation lắm, đa số trường hợp chỉ sử dụng là nhiều.

Automata (Finite State Machine, Turing Machine, ...) chỉ là những khái niệm cao siêu, học ra không biết phải ứng dụng ra sao? Có lẽ có giúp cho lập trình hệ thống như viết trình biên dịch, chứ lập trình ứng dụng thì không thấy áp dụng chỗ nào hết.

Xưa bỏ học thì nay vào học lại, có gì đâu mà than nhiều vây? smilie
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 28/02/2008 23:21:37 (+0700) | #3 | 117105
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]
Hix, tất nhiên làm nhiều sẽ có kinh nghiệm, nhưng đôi khi kinh nghiệm có thể bị "lệch", vì vậy mình muốn đi học để biết cách họ làm chính quy như thế nào.
Còn về OOP cũng tương tự vậy thôi. Học trong trường để biết các khái niệm, rồi đi làm sẽ học theo cái framework của cty có sẵn. Ít khi nào mình phải ngồi ra viết mấy cái class implementation lắm, đa số trường hợp chỉ sử dụng là nhiều.  

Cái này mình không đồng ý, OOP được sử dụng rất thường xuyên, không biết bạn làm bên mảng nào chứ quá trình develop 1 software chắc chắn sẽ phải có bước design & implement classes.
Automata thì theo mình là 1 môn rất hay (mình rất thích môn này khi còn đi học, có lẽ 1 phần vì ông thầy dạy môn này rất khá), mình nghĩ nó áp dụng được nhiều lắm chứ, chẳng hạn bạn cần viết 1 scanner (rất thường xuyên phải không nào, chẳng hạn bạn gửi/nhận request đến/từ server, bạn cần parse các request đó), hay workflow của bạn thường xuyên rẽ nhánh, không lẽ bạn cứ if/else, thay vì vậy bạn có thể chuyển nó thành 1 DFA và chuyển các action thành tập transition, lúc đó chương trình của bạn sẽ rõ ràng, mạch lạc hơn nhiều smilie
Mình muốn được đi học lại lắm chứ, nhưng nếu bạn học ở BK HCM thì bạn sẽ hiểu smilie( (khoa mình lại không có hệ tại chức, đành phải tìm trung tâm nào đó ở ngoài có dạy mấy môn này).
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 29/02/2008 15:01:54 (+0700) | #4 | 117255
aguest
Member

[Minus]    0    [Plus]
Joined: 07/09/2006 23:48:15
Messages: 90
Offline
[Profile] [PM]
Ah, có lẽ mình nói về OOP không rõ ý, xin nói lại nghen. OOP đúng là dược sử dụng rất thường xuyên, nhưng mà khi học trong trường, bạn khó có thể có cơ hội để design 1 cái interface --> Class --> Implementation cho ra hồn (và có tính ứng dụng) vì thời gian không cho phép do muốn design 1 cái như vậy mất rất nhiều thời gian .Do đó bạn cũng chỉ sẽ được lướt qua các khái niệm là chủ yếu.

Phần Automata thì mình cũng đã nói ở trên: Nó đươc sử dụng nhiều trong lập trình hệ thống, hơn là lập trình ứng dụng. Theo như mình thấy thì công việc về lập trình ứng dụng thì có nhiều hơn, và có lẽ đỡ "nhức đầu" hơn, so với các công việc về hệ thống.

System Design nói chung rất là rộng, bao gồm nhiều thứ như Requirements gathering, Resources planing, Work Flow Design, Prototypes, Database Design,... những cái này trong sách chỉ là lý thuyết, bạn có học cũng biết vậy thôi, khi nào đi làm thì mới có cơ hội ứng dụng.
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 29/02/2008 21:42:46 (+0700) | #5 | 117263
Reversing...
Member

[Minus]    0    [Plus]
Joined: 31/12/2007 06:28:04
Messages: 117
Location: -1.-1.-1.-1
Offline
[Profile] [PM] [Yahoo!]
Design Pattern đã có những khuôn mẫu sẵn cho những trường hợp cụ thể. Tớ thấy OOP cũng đồng nghĩa với design pattern. Nói chung khi có càng nhiều kinh nghiệm thì tự mình sẽ có khả năng tạo thêm một pattern mới. Có một cuốn sách của tập thể lập trình viên Mỹ đã miêu tả được mới 23 pattern. Điều đó có nghĩa là pattern không phải nhiều, nhưng sử dụng thì khó, phải linh động nhiều.
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 29/02/2008 22:56:58 (+0700) | #6 | 117272
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]
System Design nói chung rất là rộng, bao gồm nhiều thứ như Requirements gathering, Resources planing, Work Flow Design, Prototypes, Database Design,... những cái này trong sách chỉ là lý thuyết, bạn có học cũng biết vậy thôi, khi nào đi làm thì mới có cơ hội ứng dụng. 

Đúng đúng, tui muốn học về những mảng đó đó, học thêm để biết cách "họ làm điều đó như thế nào", chứ còn tự mình áp dụng lý thuyết thì sợ là không đúng cách.
Hix, nói vậy là không có chỗ nào dạy thêm về cái này sao?
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 01/03/2008 04:23:20 (+0700) | #7 | 117326
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]
Những cái thuộc về kỹ thuật và kỹ năng lập trình (OOP, Design Patterns, Best Practices...) thì kiếm cuốn sách hoặc ebook về đọc và nghiền ngẫm mấy cái ví dụ của nó. Khỏi cần đi học cũng được vì mấy cái này lý thuyết nó đã rõ ràng quá rồi, chỉ cần chịu khó đọc + siêng thực hành là được. Và tốt hơn hết là đọc tài liệu nguyên gốc tiếng Anh smilie

Mấy món nặng đô hơn như software architect, system architect...thì rất tiếc là ở VN hiện tại chỉ có thể kiếm sách về đọc để tiếp thu được chút gì thì tiếp thu chứ còn đi học thì e rằng ở VN hiện tại không có nơi nào đủ sức dạy cho đúng nghĩa.
Một hệ thống "nặng đô" nhiều khi phải sống được 5, 10, 20 năm hoặc thậm chí hơn. Phải có tính mở rộng và scale được về nhiều mặt. Nền công nghiệp phần mềm ở VN đã đủ bề dày lịch sử bao nhiêu năm đó chưa để có thể kinh qua hết những cái ở mức enterprise level?
Bạn viết 1 hệ thống chạy được, người ta cũng viết hệ thống chạy được. Nhưng của người ta bự, phức tạp và có vẻ cồng kềnh hơn của bạn gấp mấy lần
--> trường hợp đầu là bạn có thể chê là sao người ta làm phức tạp hóa vấn đề quá
--> trường hợp thứ 2 là có thể bạn không hiểu được là tại sao người ta lại phải làm cồng kềnh phức tạp như thế.
Phải đến 1 thời gian sau mới thấy rõ được sự khác biệt giữa bạn và người ta smilie
Có khi bạn chặt lưỡi: ôi dào, 5-10 năm sau thì dư thời gian để viết tiếp cái system khác hoặc cài tiến cái system hiện tại cho tốt hơn. Ờ, cứ cho là thế đi, nhưng xét về khía cạnh người ta "20 năm vẫn chạy tốt", còn bạn "vài năm phải thay mới 1 lần" thì đủ thấy ai hơn ai rồi.
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 01/03/2008 08:59:36 (+0700) | #8 | 117355
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]
Chính xác là thế, mình luôn cố gắng áp dụng từ các project nhỏ nhất để system của mình đạt được mức scalable, maintainable cao nhất. Nhiều thằng bạn cũng nói là sao mày cứ phải phức tạp hoá vấn đề, nhưng không tập từ cái nhỏ thì làm sao làm những cái lớn. Thế nhưng do chưa có kinh nghiệm trong việc áp dụng design pattern nên mình rất lúng túng, có khi lại áp dụng 1 cách lệch lạc.
Nói vậy là chỉ còn nước đọc sách + thực hành thôi sao smilie
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 01/03/2008 09:10:44 (+0700) | #9 | 117358
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]
Đọc sách = học
Thực tập = hành

Vừa có học vừa có hành còn đòi gì nữa trời!
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 01/03/2008 09:20:20 (+0700) | #10 | 117361
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]
Hehe, đọc article, tutorial thì chắc còn được chứ đọc cả cuốn sách thì lười chết smilie
Với lại tự học dễ bị "tẩu hoả" lắm smilie
[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 15/03/2008 03:55:17 (+0700) | #11 | 119365
[Avatar]
haipt
Member

[Minus]    0    [Plus]
Joined: 20/08/2004 19:48:44
Messages: 165
Location: Hải phòng
Offline
[Profile] [PM] [WWW]

SuperChicken wrote:
Chính xác là thế, mình luôn cố gắng áp dụng từ các project nhỏ nhất để system của mình đạt được mức scalable, maintainable cao nhất. Nhiều thằng bạn cũng nói là sao mày cứ phải phức tạp hoá vấn đề, nhưng không tập từ cái nhỏ thì làm sao làm những cái lớn. Thế nhưng do chưa có kinh nghiệm trong việc áp dụng design pattern nên mình rất lúng túng, có khi lại áp dụng 1 cách lệch lạc.
Nói vậy là chỉ còn nước đọc sách + thực hành thôi sao smilie 

smilie Mình lại thấy mấy thằng bạn cậu nói đúng đó, quan trọng nhất là áp dụng phù hợp với từng mô hình, chắc bạn cũng biết câu nói khá nổi tiếng (XP) "KEEP IT SIMPLE ,STUPID --> làm đơn giản thôi,ngốc ạ". Mục đích cao nhất của mọi dự án phần mềm là phục vụ khách hàng để sinh lời mà kiếm đường tái đầu tư, nhồi thêm vào 1 đống thứ mà bạn nghĩ khách hàng sẽ cần trong 5 năm tới chỉ tổ làm phình to trương trình ,tăng độ phức tạp ko cần thiết của project ...
và hệ quá cuối thì.. ai cũng biết


[Up] [Print Copy]
  [Question]   Re: [Hỏi] Học thêm về System design? 17/03/2008 23:27:07 (+0700) | #12 | 119765
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]

PhamTienSinh wrote:
smilie Mình lại thấy mấy thằng bạn cậu nói đúng đó, quan trọng nhất là áp dụng phù hợp với từng mô hình, chắc bạn cũng biết câu nói khá nổi tiếng (XP) "KEEP IT SIMPLE ,STUPID --> làm đơn giản thôi,ngốc ạ". Mục đích cao nhất của mọi dự án phần mềm là phục vụ khách hàng để sinh lời mà kiếm đường tái đầu tư, nhồi thêm vào 1 đống thứ mà bạn nghĩ khách hàng sẽ cần trong 5 năm tới chỉ tổ làm phình to trương trình ,tăng độ phức tạp ko cần thiết của project ...
và hệ quá cuối thì.. ai cũng biết 

Đồng ý là nên áp dụng nguyên tắc KISS 1 cách triệt để, nhưng tớ muốn chương trình của tớ áp dụng các design pattern đâu có nghĩa là tớ muốn "phức tạp hóa" vấn đề, ngược lại, tớ đang muốn "đơn giản" nó bằng cách áp dụng "chuẩn" đấy chứ, áp dụng các pattern để sau này maintainance hay expand chương trình dễ dàng hơn, chứ tớ đâu có implement "1 đống thứ mà khách hàng sẽ cần trong 5 năm tới" smilie
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|