Design Pattern - Những công thức vàng trong thiết kếNhật Nguyễn Khắc
Link video: https://www.youtube.com/watch?v=VbOJrq71lVA
Chúng ta đã bàn về Clean Code và SOLID, đã biết về các lợi ích của chúng. Câu hỏi quan trọng còn lại là:
Làm thế nào để có Clean Code và SOLID?
Câu trả lời sẽ liên quan đến nhiều yếu tố khác nhau, bao gồm cả văn hoá, thói quen, trình độ năng lực, các kỹ thuật và công cụ..., và trong đó một yếu tốt rất quan trọng là chúng ta cần sử dụng tốt Design Pattern.
Design Pattern là các giải pháp tổng quát có thể tái sử dụng cho các trường hợp thường gặp khi thiết kế kiến trúc phần mềm.
Một số lợi ích của Design Pattern có thể kể đến như:
- Đẩy nhanh tốc độ thiết kế và phát triển phần mềm
- Chất lượng của giải pháp đã được minh chứng
- Ngăn ngừa các vấn đề phát sinh nếu thiết kế không tốt
- Có thể áp dụng cho rất nhiều tình huống khác nhau
- Dễ dàng cộng tác, chia sẻ thiết kế và mã nguồn giữa các bên.
Trong phiên Livestream về chủ đề Design Pattern, chúng ta sẽ bàn kỹ hơn về khái niệm quan trọng này, các ý nghĩa của nó, điểm qua các Design Pattern được sử dụng phổ biến và đồng thời xem xét một số ứng dụng của Design Pattern trong các tình huống thực tế.
Đối với bất cứ việc gì, nếu có cách làm tốt thì hiệu quả sẽ cao, ngược lại thì sẽ rất vất vả. Việc học nói chung, và việc học lập trình nói riêng cũng vậy. Nếu không biết cách học, chúng ta sẽ rất vất vả, lâu đạt được thành quả, mất động lực, không hạnh phúc, không tự tin, hoang mang, nản lòng và thậm chí là bỏ cuộc.
Kỹ năng học là một kỹ năng cực kỳ quan trọng, rất tiếc, rất nhiều học sinh và sinh viên hiện tại không biết cách học. Học lập trình thì còn đòi hỏi thêm nhiều kỹ năng đặc thù khác nữa, nhưng hiện tại lại có rất ít sách vở hoặc các kênh khác đề cập đến chủ đề này một cách bài bản.
Live Stream lần này sẽ đề cập đến nhiều nội dung liên quan đến nguyên lí, phương pháp và hướng dẫn để các bạn đang học lập trình có thể áp dụng ngay và nâng cao hiệu quả học tập nhằm có được sự tiến bộ nhanh chóng. Một số nội dung bao gồm: Học kiến thức, Rèn luyện kỹ năng, Rèn luyện thái độ, Rèn luyện thói quen, và một số các cách làm hay để duy trì động lực học tập. Live Stream cũng sẽ dành một khoảng thời gian để các thành viên có thể trao đổi, chia sẻ và nhận được các lời khuyên hữu ích về cách xử lý các tình huống trong quá trình học tập, và đồng thời có các định hướng học tập và nghề nghiệp đối với các bạn trẻ đang chưa định hình được rõ ràng lộ trình của mình.
Code Refactoring (Tái cấu trúc mã nguồn) là những kỹ thuật sắp xếp lại mã nguồn để chúng trở nên tốt hơn mà không làm ảnh hưởng tới hành vi của hệ thống đối với bên ngoài. Có rất nhiều kỹ thuật refactoring khác nhau, mỗi kỹ thuật đôi khi chỉ làm thay đổi một chút nho nhỏ mã nguồn, nhưng những thay đổi nhỏ đó được tích luỹ dần theo thời gian thì tạo nên một ảnh hưởng rất lớn, giúp cho hệ thống của chúng ta trở nên tốt hơn.
“Tốt” hơn nghĩa là thế nào? Nghĩa là chúng sẽ “clean” hơn và “SOLID” hơn.
Refactoring là một trong các nhóm kỹ thuật có liên quan đến nhau và ảnh hưởng đến nhau, bao gồm kiểm thử tự động, TDD, clean code, design pattern… và đều tuân thủ các nguyên lý quan trọng về thiết kế phần mềm.
Chủ đề Live Stream lần này về Code Refactoring sẽ đề cập đến ý nghĩa của refactoring, các kỹ thuật refactoring thông dụng và ứng dụng của chúng trong thực tế. Phiên demo sẽ có các hướng dẫn về việc sử dụng các công cụ để thực hiện các kỹ thuật refactoring và giải thích cụ thể lợi ích của chúng. Nếu bạn đã nghe về Clean Code, SOLID, Design Pattern thì phiên Live Stream lần này là một dịp không thể bỏ qua để hoàn thiện hơn nhóm các kỹ thuật quan trọng này.
Design Pattern - Những công thức vàng trong thiết kếNhật Nguyễn Khắc
Link video: https://www.youtube.com/watch?v=VbOJrq71lVA
Chúng ta đã bàn về Clean Code và SOLID, đã biết về các lợi ích của chúng. Câu hỏi quan trọng còn lại là:
Làm thế nào để có Clean Code và SOLID?
Câu trả lời sẽ liên quan đến nhiều yếu tố khác nhau, bao gồm cả văn hoá, thói quen, trình độ năng lực, các kỹ thuật và công cụ..., và trong đó một yếu tốt rất quan trọng là chúng ta cần sử dụng tốt Design Pattern.
Design Pattern là các giải pháp tổng quát có thể tái sử dụng cho các trường hợp thường gặp khi thiết kế kiến trúc phần mềm.
Một số lợi ích của Design Pattern có thể kể đến như:
- Đẩy nhanh tốc độ thiết kế và phát triển phần mềm
- Chất lượng của giải pháp đã được minh chứng
- Ngăn ngừa các vấn đề phát sinh nếu thiết kế không tốt
- Có thể áp dụng cho rất nhiều tình huống khác nhau
- Dễ dàng cộng tác, chia sẻ thiết kế và mã nguồn giữa các bên.
Trong phiên Livestream về chủ đề Design Pattern, chúng ta sẽ bàn kỹ hơn về khái niệm quan trọng này, các ý nghĩa của nó, điểm qua các Design Pattern được sử dụng phổ biến và đồng thời xem xét một số ứng dụng của Design Pattern trong các tình huống thực tế.
Đối với bất cứ việc gì, nếu có cách làm tốt thì hiệu quả sẽ cao, ngược lại thì sẽ rất vất vả. Việc học nói chung, và việc học lập trình nói riêng cũng vậy. Nếu không biết cách học, chúng ta sẽ rất vất vả, lâu đạt được thành quả, mất động lực, không hạnh phúc, không tự tin, hoang mang, nản lòng và thậm chí là bỏ cuộc.
Kỹ năng học là một kỹ năng cực kỳ quan trọng, rất tiếc, rất nhiều học sinh và sinh viên hiện tại không biết cách học. Học lập trình thì còn đòi hỏi thêm nhiều kỹ năng đặc thù khác nữa, nhưng hiện tại lại có rất ít sách vở hoặc các kênh khác đề cập đến chủ đề này một cách bài bản.
Live Stream lần này sẽ đề cập đến nhiều nội dung liên quan đến nguyên lí, phương pháp và hướng dẫn để các bạn đang học lập trình có thể áp dụng ngay và nâng cao hiệu quả học tập nhằm có được sự tiến bộ nhanh chóng. Một số nội dung bao gồm: Học kiến thức, Rèn luyện kỹ năng, Rèn luyện thái độ, Rèn luyện thói quen, và một số các cách làm hay để duy trì động lực học tập. Live Stream cũng sẽ dành một khoảng thời gian để các thành viên có thể trao đổi, chia sẻ và nhận được các lời khuyên hữu ích về cách xử lý các tình huống trong quá trình học tập, và đồng thời có các định hướng học tập và nghề nghiệp đối với các bạn trẻ đang chưa định hình được rõ ràng lộ trình của mình.
Code Refactoring (Tái cấu trúc mã nguồn) là những kỹ thuật sắp xếp lại mã nguồn để chúng trở nên tốt hơn mà không làm ảnh hưởng tới hành vi của hệ thống đối với bên ngoài. Có rất nhiều kỹ thuật refactoring khác nhau, mỗi kỹ thuật đôi khi chỉ làm thay đổi một chút nho nhỏ mã nguồn, nhưng những thay đổi nhỏ đó được tích luỹ dần theo thời gian thì tạo nên một ảnh hưởng rất lớn, giúp cho hệ thống của chúng ta trở nên tốt hơn.
“Tốt” hơn nghĩa là thế nào? Nghĩa là chúng sẽ “clean” hơn và “SOLID” hơn.
Refactoring là một trong các nhóm kỹ thuật có liên quan đến nhau và ảnh hưởng đến nhau, bao gồm kiểm thử tự động, TDD, clean code, design pattern… và đều tuân thủ các nguyên lý quan trọng về thiết kế phần mềm.
Chủ đề Live Stream lần này về Code Refactoring sẽ đề cập đến ý nghĩa của refactoring, các kỹ thuật refactoring thông dụng và ứng dụng của chúng trong thực tế. Phiên demo sẽ có các hướng dẫn về việc sử dụng các công cụ để thực hiện các kỹ thuật refactoring và giải thích cụ thể lợi ích của chúng. Nếu bạn đã nghe về Clean Code, SOLID, Design Pattern thì phiên Live Stream lần này là một dịp không thể bỏ qua để hoàn thiện hơn nhóm các kỹ thuật quan trọng này.
Học lập trình là học gì? Đây là câu hỏi mà gần như ai quan tâm đến ngành nghề này đều đã từng đặt ra và cố công tìm kiếm câu trả lời ở đâu đó.
Nhưng không dễ để có được một câu trả lời đầy đủ và dễ hiểu nếu không có được góc nhìn từ nhiều khía cạnh, nhất là từ khía cạnh kỹ thuật, học thuật và học tập. Đối với những người mới bắt đầu tìm hiểu thì lại càng "loạn" hơn nữa, bởi vì bạn tiếp nhận quá nhiều luồng thông tin và ý kiến khác nhau, chẳng hạn như:
* Học lập trình thì cần phải giỏi toán
* Phải rành về máy tính thì mới học được
* Phải đam mê công nghệ thì mới học được
* Phải học thật nhiều thuật toán
* Phải học tư duy lập trình
* Phải lựa chọn ngôn ngữ lập trình hot mà học
* Phải lựa chọn framework hot để mà học
* Phải học kỹ năng mềm thì mới đi làm được
* v.v...
Phiên livestream này được tổ chức dành riêng cho những người mới bắt đầu học lập trình hoặc đang tìm hiểu về ngành nghề lập trình để giúp mọi người dễ nắm bắt nhất những thứ mà một người cần phải học và rèn luyện để trở thành một lập trình viên.
Nội dung trao đổi trong phiên livestream bao gồm:
* Bộ năng lực của lập trình viên từ góc nhìn của doanh nghiệp (học gì để làm được việc)
* Bộ năng lực của lập trình viên từ góc nhìn của cá nhân người học (học gì để có thể phát triển bền vững lâu dài)
* Bộ năng lực của lập trình viên từ góc nhìn của những người làm đào tạo (học gì cho hiệu quả tốt nhất)
* Lộ trình học tập cho người mới bắt đầu
* Các khó khăn mà người mới bắt đầu có thể gặp phải
* Các lời khuyên dành cho người mới bắt đầu
* Hỏi & Đáp giữa những người tham gia và diễn giả
Lập trình viên hiện đại, không chỉ cần biết viết mã, mà còn phải làm chủ rất nhiều các kỹ năng khác, chẳng hạn như phân tích, thiết kế, giao tiếp, vận hành… và kể cả kiểm thử. Tại sao lại như thế? LiveStream lần này sẽ đề cập đến một chuyên môn có vẻ là mới mẻ đối với những người mới học lập trình, nhưng thực ra nó đã và đang trở thành một kỹ năng “cứng” đối với các lập trình viên hiện đại.
Cũng giống như trước đây, sử dụng được tiếng Anh là có thể kiếm cơm bằng một nghề nào đó liên quan đến kỹ năng này, còn bây giờ thì sử dụng được tiếng Anh là một trong những kỹ năng bắt buộc đối với phần lớn nhân viên văn phòng, và kể cả với Lập trình viên. Kỹ năng kiểm thử cũng như thế, để làm việc được trong các dự án tốt ngày nay, Lập trình viên chắc chắn phải làm chủ được kỹ năng quan trọng liên quan đến kiểm thử, đặc biệt là kiểm thử tự động và TDD.
Tất nhiên, Lập trình viên sẽ không thay thế Kiểm thử viên, hay nói cách khác, Kiểm thử viên sẽ không thất nghiệp. Vậy với tư cách là một lập trình viên, chúng ta sẽ làm những công việc gì, để đạt được những mục đích gì liên quan đến kiểm thử và chất lượng phần mềm? Hẹn gặp mọi người trong phiên LiveStream: Automation Testing & TDD.
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1giapmaster
Có cái nhìn tổng quát về các công nghệ trong nghề lập trình.
Biết các kỹ năng, kiến thức cần có để trở thành lập trình viên.
Chuẩn bị các kiến thức và kỹ năng cần thiết từ những năm học đầu tiên.
Dạy học Lập trình chất lượng cao NIIT - ICT Hà Nội (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150
.NET cung cấp cho các Web developer một nơi để xây dựng bất kỳ loại ứng dụng nào với nhiều ngôn ngữ, trình chỉnh sửa và thư viện mã. Nếu bạn làm việc với tư cách là software developer, bạn có thể đã nghe nói về .NET hoặc thậm chí đã từng sử dụng. Cơ hội việc làm dành cho người thành thạo .NET trong lĩnh vực IT rất phổ biến. Do đó, nếu bạn quan tâm và muốn ứng tuyển làm .NET Developer thì có thể tổng hợp 40 câu hỏi phỏng vấn .NET Developer dưới đây là dành cho bạn!
https://growupwork.com/blog/ky-nang-phong-van/cau-hoi-phong-van-net-developer-787
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...VTrung46
windows programming is a subject of "Đại Học Thủy Lợi - TLU"
Bài giảng bao gồm:
Bài 1: làm quen với phần mềm mã nguồn mở và linux;
Bài 2: tổng quan về Linux;
Bài 3: chế độ làm việc và hệ thống file của linux;
Bài 4: phân quyền, người dùng và quản lý file trên linux;
Bài 5: hệ thống file, tập tin và dẫn hướng vào/ra dữ liệu;
Bài 6: tiến trình và lập lịch;
Bài 7: quản lý gói và x-windows; Bài 8: dịch vụ trên linux và quản trị một số dịch vụ cơ bản;
Bài 9: cài đặt các dịch vụ cơ bản của máy chủ Internet;
Học lập trình là học gì? Đây là câu hỏi mà gần như ai quan tâm đến ngành nghề này đều đã từng đặt ra và cố công tìm kiếm câu trả lời ở đâu đó.
Nhưng không dễ để có được một câu trả lời đầy đủ và dễ hiểu nếu không có được góc nhìn từ nhiều khía cạnh, nhất là từ khía cạnh kỹ thuật, học thuật và học tập. Đối với những người mới bắt đầu tìm hiểu thì lại càng "loạn" hơn nữa, bởi vì bạn tiếp nhận quá nhiều luồng thông tin và ý kiến khác nhau, chẳng hạn như:
* Học lập trình thì cần phải giỏi toán
* Phải rành về máy tính thì mới học được
* Phải đam mê công nghệ thì mới học được
* Phải học thật nhiều thuật toán
* Phải học tư duy lập trình
* Phải lựa chọn ngôn ngữ lập trình hot mà học
* Phải lựa chọn framework hot để mà học
* Phải học kỹ năng mềm thì mới đi làm được
* v.v...
Phiên livestream này được tổ chức dành riêng cho những người mới bắt đầu học lập trình hoặc đang tìm hiểu về ngành nghề lập trình để giúp mọi người dễ nắm bắt nhất những thứ mà một người cần phải học và rèn luyện để trở thành một lập trình viên.
Nội dung trao đổi trong phiên livestream bao gồm:
* Bộ năng lực của lập trình viên từ góc nhìn của doanh nghiệp (học gì để làm được việc)
* Bộ năng lực của lập trình viên từ góc nhìn của cá nhân người học (học gì để có thể phát triển bền vững lâu dài)
* Bộ năng lực của lập trình viên từ góc nhìn của những người làm đào tạo (học gì cho hiệu quả tốt nhất)
* Lộ trình học tập cho người mới bắt đầu
* Các khó khăn mà người mới bắt đầu có thể gặp phải
* Các lời khuyên dành cho người mới bắt đầu
* Hỏi & Đáp giữa những người tham gia và diễn giả
Lập trình viên hiện đại, không chỉ cần biết viết mã, mà còn phải làm chủ rất nhiều các kỹ năng khác, chẳng hạn như phân tích, thiết kế, giao tiếp, vận hành… và kể cả kiểm thử. Tại sao lại như thế? LiveStream lần này sẽ đề cập đến một chuyên môn có vẻ là mới mẻ đối với những người mới học lập trình, nhưng thực ra nó đã và đang trở thành một kỹ năng “cứng” đối với các lập trình viên hiện đại.
Cũng giống như trước đây, sử dụng được tiếng Anh là có thể kiếm cơm bằng một nghề nào đó liên quan đến kỹ năng này, còn bây giờ thì sử dụng được tiếng Anh là một trong những kỹ năng bắt buộc đối với phần lớn nhân viên văn phòng, và kể cả với Lập trình viên. Kỹ năng kiểm thử cũng như thế, để làm việc được trong các dự án tốt ngày nay, Lập trình viên chắc chắn phải làm chủ được kỹ năng quan trọng liên quan đến kiểm thử, đặc biệt là kiểm thử tự động và TDD.
Tất nhiên, Lập trình viên sẽ không thay thế Kiểm thử viên, hay nói cách khác, Kiểm thử viên sẽ không thất nghiệp. Vậy với tư cách là một lập trình viên, chúng ta sẽ làm những công việc gì, để đạt được những mục đích gì liên quan đến kiểm thử và chất lượng phần mềm? Hẹn gặp mọi người trong phiên LiveStream: Automation Testing & TDD.
Định Hướng Nghề Lập Trình cho Sinh Viên CNTT năm 1giapmaster
Có cái nhìn tổng quát về các công nghệ trong nghề lập trình.
Biết các kỹ năng, kiến thức cần có để trở thành lập trình viên.
Chuẩn bị các kiến thức và kỹ năng cần thiết từ những năm học đầu tiên.
Dạy học Lập trình chất lượng cao NIIT - ICT Hà Nội (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150
.NET cung cấp cho các Web developer một nơi để xây dựng bất kỳ loại ứng dụng nào với nhiều ngôn ngữ, trình chỉnh sửa và thư viện mã. Nếu bạn làm việc với tư cách là software developer, bạn có thể đã nghe nói về .NET hoặc thậm chí đã từng sử dụng. Cơ hội việc làm dành cho người thành thạo .NET trong lĩnh vực IT rất phổ biến. Do đó, nếu bạn quan tâm và muốn ứng tuyển làm .NET Developer thì có thể tổng hợp 40 câu hỏi phỏng vấn .NET Developer dưới đây là dành cho bạn!
https://growupwork.com/blog/ky-nang-phong-van/cau-hoi-phong-van-net-developer-787
Windows Programming Tác giả: Bộ môn Công nghệ phần mềm; Người hướng dẫn: -; ...VTrung46
windows programming is a subject of "Đại Học Thủy Lợi - TLU"
Bài giảng bao gồm:
Bài 1: làm quen với phần mềm mã nguồn mở và linux;
Bài 2: tổng quan về Linux;
Bài 3: chế độ làm việc và hệ thống file của linux;
Bài 4: phân quyền, người dùng và quản lý file trên linux;
Bài 5: hệ thống file, tập tin và dẫn hướng vào/ra dữ liệu;
Bài 6: tiến trình và lập lịch;
Bài 7: quản lý gói và x-windows; Bài 8: dịch vụ trên linux và quản trị một số dịch vụ cơ bản;
Bài 9: cài đặt các dịch vụ cơ bản của máy chủ Internet;
- Khái niệm về IT về các ngôn ngữ phổ biến
- Phương pháp xây dựng và template JD
- Các câu hỏi phỏng vấn sàng lọc và đánh giá
- Template email và tin nhắn giới thiệu job
- Công cụ tìm kiếm ứng viên
- Cách viết content thu hút ứng viên trên Linkedin
- Những tình huống thuyết phục ứng viên
[Bachkhoa-Aptech] Hướng dẫn lập trình web doanh nghiệpPhạm Văn Hưng
http://bachkhoa-aptech.com/ Hệ thống đào tạo Công nghệ thông tin Quốc tế Bachkhoa-Aptech, tự hào là đơn vị với trên 10 năm tham gia vào lích vực đào tạo CNTT quốc tế chất lượng cao, các chuyên ngành đã và đang đào tạo thu hút số lượng lớn sinh viên theo học như Lập trình viên quốc tế Aptech ACCP, Chuyên gia quản trị mạng và bảo mật quốc tế Aptech HDSM và cung cấp các dịch vụ đào tạo cùng các chương trình học chất lượng khác như: ITT, DNSV, DNSE, ACNA, CCNA, CEH, MCSA,...
Hệ thống đào tạo CNTT Quốc tế Bachkhoa-Aptech, Công nghệ thông tin, IT, Lập trình, Quản trị mạng, Lập trình viên, Aptech, Aptechite, Bách Khoa, Bach khoa, Lập trình viên quốc tế, Lập trình ACCP, Chuyên gia mạng HDSM, Tuyển sinh, Hướng nghiệp việc làm, Đào tạo, Thực tập, ACNA, MCSA, CCNA, MCITP-SA/EA, Microsoft, CompTIA, Cisco, IBM, PHP, .NET, Java, Server, Network, Security, Unix/Linux, CEH, A+, IT technical
2. Nội dung chính
1) Yêu cầu tuyển dụng và Công việc thực tế của Lập trình viên
2) Vòng đời phát triển phần mềm
3) Đặc điểm của dự án bảo trì phần mềm
4) Tình huống vận dụng kỹ năng OOP đơn giản
5) Tình huống vận dụng kỹ năng OOP phức tạp
6) The Seam model
7) Design Pattern và Architectural Pattern
8) Lộ trình phát triển nghề Lập trình
3. 1) Yêu cầu tuyển dụng và Công việc thực tế của Lập trình viên
• Sinh viên nên tìm hiểu nhu cầu thị trường lao động sớm nhất có thể
• Câu hỏi:
Sau khi ra trường, bạn sẽ làm nghề gì?
Nghề đó công ty nào đang tuyển?
Yêu cầu công việc như thế nào?
Nhiệm vụ của vị trí đó là gì?
Mức lương cho công việc đó có thể bao nhiêu?
4. 1) Yêu cầu tuyển dụng và Công việc thực tế của Lập trình viên
• Dễ dàng có thể nắm bắt thông tin từ các trang tìm việc liên quan tới
ngành IT trong và ngoài nước:
ØVietnamworks.com
ØtopITworks.com
ØITViec.com
ØLinkedin.com/jobs
ØStackoverflow.com/jobs
Điểm chung:
Yêu cầu:
- Yêu cầu đọc/hiểu yêu cầu khách hàng/cấp trên
- Thành thạo ít nhất 1 ngôn ngữ lập trình
- Có kiến thức nền tàng chắc chắn: OOP, Database, Web
- Tiếng Anh
Công việc:
• Đọc hiểu yêu cầu – Lập trình – Kiểm thử
5. 2) Vòng đời phát triển phần mềm
Thị trường Software ở VN
- theo báo cáo thống kê của Vietnamwork 2017
6. 3) Đặc điểm của dự án bảo trì phần mềm
• Định nghĩa của bảo trì phần mềm: Xem ISO/IEC/IEEE 14764.
• 1 vài ví dụ để hiểu bảo trì phần mềm
Phải làm việc với source code đã tồn tại
Work with Legacy Code
7.
8. 3) Đặc điểm của dự án bảo trì phần mềm
• 4 lý do phải thay đổi code:
• Thêm tính năng
• Sửa lỗi
• Cải tiến thiết kế
• Tối ưu việc sử dụng tài nguyên
Con người hay mắc sai lầm. Nên phải các bước kiểm tra xung quanh
chỗ ta thay đổi code
Quy trình khi thay đổi code:
• Tìm điểm cần thay đổi
• Tìm cách kiểm tra
• Tách sự phụ thuộc
• Lên phương án kiểm tra (Viết test)
• Lập trình thay đổi và tái cấu trúc (Refactoring)
9. 4) Tình huống vận dụng kỹ năng OOP đơn giản
Giới thiệu mã nguồn demo
Phần mềm quản lý khách sạn
https://github.com/chungvinhkhang/seminar-
apply-oop-to-maintenance-demo
10. 4) Tình huống vận dụng kỹ năng OOP đơn giản
Thực hiện những công việc sau cho dự án
phần mềm quản lý khách sạn:
a) Sửa lỗi không search ra được khách bằng tên khi nhập
chữ thường
b) Đổi quy tắc sinh mã khách bằng quy tắc lấy 4 số cuối sdt
+ chữ cái đầu tiên từ cuối cùng của khách
c) Thêm tính năng search khách theo số điện thoại và giới
tính
15. 8) Lộ trình phát triển nghề lập trình
Lập trình Backend Lập trình FrontendLập trình Fullstack
Lập trình viên cao cấp (Senior Developer)
Trưởng nhóm kỹ thuật (Tech lead)
Quản lý dự án, sản phẩmKỹ sư trưởng
CTO, cố vấn công nghệ Giám đốc, trưởng phòng
Thực tập / Lập trình tập sự (Associate Developer)
Trưởng nhóm (Team lead)
Trưởng Marketing
Trưởng R&D
Kiến trúc sư giải pháp
Kỹ sư dữ liệu
Nhà khoa học dữ liệu
16. Tài liệu tham khảo
• P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering
Body of Knowledge, Version 3.0, IEEE Computer Society,
2014; www.swebok.org.
• Michael C. Feathers, Working Effectively with Legacy Code. 2004