Nghề lập trình là 1 công việc 24/7

Lập trình là một công việc như thế nào? Có phải lập trình viên là những người tối ngày ngồi trước màn hình máy tính? Cứ code giỏi thì sản phẩm sẽ tốt?…
Lập trình là một lĩnh vực mà nếu không phải trong nghề thì thật khó thấu hiểu những nỗi “trần ai” trong đó. Sau đây, kĩ sư công nghệ thông tin David Veksler – chủ trang blog The Rational Mind – sẽ chia sẻ cho chúng ta những sự thật ít ai biết về nghề IT – nghề lập trình.

Chỉ 10-20% thời gian của toàn bộ dự án được các lập trình viên sử dụng để viết code, và bất kể trình độ, mỗi ngày 1 lập trình viên chỉ viết trung bình từ 10-20 dòng code. Sự khác biệt giữa tay chuyên và gà mờ đó là tay chuyên thì dành 90% thời gian để suy luận, tìm tòi và thử nghiệm các phương án tối ưu nhất cho mình; còn những gà mờ thì dành 90% thời gian để debug, thay đổi vài chỗ trong code, lại debug và mong đến một lúc nào đó chương trình sẽ hoạt động.

Một lập trình viên tốt cho năng suất gấp 10 một lập trình viên tầm tầm. Một lập trình viên giỏi có thể còn hơn nữa, 20 cho đến 100 lần tùy hoàn cảnh. Đây là một sự thật không hề “gió” và đã được khoa học chứng minh từ tận những năm 60. Còn một lập trình viên tồi thì chung quy hiệu suất bằng không – chẳng làm nên chuyện gì, ngược lại vẽ ra nhiều vấn đề rối tinh rối mù cho người khác phải bận tâm sửa hộ.“Một công nhân có kĩ thuật tiện cao siêu có thể giá trị gấp vài lần một công nhân với kĩ thuật trung bình. Nhưng một lập trình viên giỏi thì có giá trị gấp 10,000 lần một lập trình viên với trình độ trung bình.” – Bill Gates.

Các lập trình viên giỏi thường không dành nhiều thời gian để code, trái lại những người code liên tục từ lúc này sang lúc khác lại là những người lười biếng, vô tâm, kiêu ngạo và ít chịu tìm tòi nhất. Người lập trình tốt là người biết vận dụng linh hoạt mọi giải pháp mình từng vận dụng qua cho mọi vấn đề họ gặp phải; người lập trình tồi là người viết nên những đoạn code dài dòng, rắc rối, bố cục lung tung và khó để chỉnh sửa. Thực ra quẳng hết mớ code hỏng ra ngoài và bắt đầu lại từ đầu lại là một lựa chọn hữu ích hơn ngồi ì ạch sửa từng chút một.




Định luật entropy bao hàm mọi vật – entropy là một hàm biểu thị mức độ hỗn loạn của một sự kiện diễn ra trong vô số các khả năng ngẫu nhiên có thể diễn ra. Trong lập trình, thay đổi liên tục sẽ dẫn đến phá vỡ mô hình nguyên bản của thiết kế, dẫn đến sự suy giảm giá trị phần mềm (software rot). Dẫu biết điều này là không thể tránh khỏi, song các lập trình viên không nắm bắt được hình mẫu sơ khai của dự án và biết cách biến nó thành hiện thực sẽ tạo ra những phần mềm thất bại đến nỗi giá trị đã tiêu hao sạch sẽ kể cả trước khi dự án hoàn thành, và đây thường là lý do phổ biến nhất tạo nên các phần mềm thất bại (Lí do phổ biến thứ nhì là tạo ra những giá trị mà khách hàng không cần đến).

Trong năm 1994, 31% các dự án phần mềm sẽ thất bại “sặc gạch” từ đầu đến chân. Con số này đến năm 2004 thì đã được cải thiện, chỉ còn 15%, song 51% các dự án thì bị thất bại trên phương diện chí mạng của mình.
Mặc dù hầu hết các phần mềm đều được xây dựng bởi các đội ngũ chứ không riêng gì ai, nhưng đó cũng không phải là một hoạt động mang tính dân chủ. Thường thì chỉ có một người duy nhất chịu trách nhiệm về thiết kế, còn lại cả đội nghĩ cách lấp đầy cách khoảng trống xuất hiện. Kết cấu này giống với một tổ ong hay kiến nhiều hơn.

Lập trình là việc của những người chăm chỉ, trong đó, đặc biệt là bộ não sẽ phải hoạt động điên cuồng. Những lập trình viên tốt nghĩ về công việc của mình 24/7. Họ viết ra những dòng code tuyệt vời nhất trong bồn tắm hay những giấc mơ. Tại sao? Bởi hầu hết các công việc quan trọng đều không được hoàn thành tại chính nơi làm việc của nó, bản thân Einstein cũng đã tháo gỡ nút thắt trong thuyết tương đối của mình khi mơ. Làm phần mềm không phải đơn giản chỉ cần dành nhiều thời gian làm việc hay thêm người vào là có thể hoàn thành.
Theo Genk.eus.vn
Đọc tiếp

SQL Server Tutorials

An Introduction about SQL Server:
SQL is a database computer language designed for the retrieval and management of data in relational database. SQL stands for Structured Query Language.
Microsoft SQL Server is a relational database management system developed by Microsoft Inc.. As a database, it is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for different workloads (ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time). Its primary query languages are T-SQL and ANSI SQL.
Source: Wiki

This tutorial will give you quick start with SQL:

I. SQL (Structure Query Language) Basic

1.8 SQL Server tutorial for beginners



Đọc tiếp

Vietnam ICT Summit 2013: Chiến lược “u-Japan” và bài học cho Việt Nam

Năm 2006, mục tiêu biến nước Nhật trở thành một quốc gia hiện đại về CNTT (e-Japan) đã cơ bản thực hiện xong, chính phủ Nhật bắt tay vào một chiến lược không kém phần quan trọng khác khác, đó là “Kết nối mọi ngõ ngách của cuộc sống bằng CNTT”.

u-Japan và tầm nhìn xa của người Nhật
Khi internet bùng nổ, lúc ban đầu chi phí bỏ ra để sử dụng dịch vụ tại Nhật Bản rất cao và băng thông rộng hầu như không phổ biến. Nhật Bản nhận ra rằng, để trở thành một cường quốc về CNTT, không có con đường nào khác ngoài việc khuyến khích mọi tầng lớp nhân dân sử dụng internet. Chính phủ Nhật Bản bắt đầu thực hiện những chính sách mạnh mẽ nhằm giảm phí truy cập và gia tăng băng thông rộng. Trong vòng 4 năm, phí truy cập internet giảm chỉ còn 1/3 trong khi tốc độ được đẩy lên nhanh gấp 20 lần thời kỳ trước đó.
Mô hình u-Japan
Cho đến năm 2006, Nhật Bản đã trở thành một quốc gia điện tử. Tuy nhiên, chính phủ Nhật không muốn dừng lại ở đó, họ muốn tất cả người dân, tất cả ngóc ngách của xã hội Nhật đều được kết nối với nhau thông qua CNTT. Vậy là, người Nhật lại đề ra chiến lược u-Japan với mục tiêu là chuyển từ hạ tầng chủ yếu dựa trên dịch vụ hữu tuyến sang tạo ra mạng phổ cập kết nối liền mạch. Chữ u trong u-Japan không chỉ là phổ cập (ubiquitous) mà còn là phổ quát (universal), hướng người dùng và độc đáo (unique). Phổ cập có nghĩa là CNTT & TT kết nối mọi ngõ ngách của cuộc sống hàng ngày, tạo ra xã hội kết nối mạng, nơi mà mọi công dân truy nhập mạng mọi lúc, mọi nơi và từ bất cứ thiết bị nào. Hơn nữa, chính sách nhằm thúc đẩy tương tác người với người,  thúc đẩy sức sống cá nhân. Các chính sách này tạo ra giá trị mới ở Nhật Bản.
Cơ hội hợp tác cho Việt Nam
Cựu thủ tướng Nhật Bản, ngài Yukio Hatoyama nhận xét, Việt Nam hiện đang trải nghiệm tăng trưởng kinh tế cao, vì vậy các doanh nghiệp Nhật Bản đang rất mong muốn đầu tư vào cái mà họ gọi là chiến lược “Việt Nam điện tử”. Cũng giống như Nhật Bản, Việt Nam nên hay không nên chọn con đường nhằm hướng đến một hạ tầng CNTT sẵn sàng và thực hiện chiến lược “u-Việt Nam”, hướng đến xây dựng xã hội mạng phổ cập, phổ quát mọi nơi.
Kinh nghiệm đi trước từ Nhật Bản sẽ rất hữu ích trong việc xây dựng các hệ thống như vậy và trong đào tạo nhân sự. Tuy nhiên, việc tạo ra mạng đơn giản có thể truy nhập bất cứ lúc nào, từ bất cứ đâu và bởi bất cứ ai, trên bất kỳ thiết bị nào, cũng như xây dựng một xã hội có thể thu lợi từ một mạng như vậy, có thể coi là mục đích phổ quát.
Tuy nhiên, Việt Nam cần phải hiểu rõ mình đang phải đối mặt với những vấn đề gì để có thể tháo gỡ. Đầu tiên, việc xác định các vấn đề hiện tại cũng như vấn đề trong tương lai gần ở nhiều lĩnh vực như phong cách sống, y tế, phúc lợi, giao thông, hậu cần, kinh tế, công nghiệp, việc làm và giáo dục công dân là rất hữu ích. Các lĩnh vực liên quan khác bao gồm văn hóa, an ninh công cộng, phòng chống thiên tai, môi trường, vấn đề năng lượng, dịch vụ công và quan hệ quốc tế.
Sau đó, có thể thực hiện đánh giá xem liệu sử dụng CNTT & TT có ích thế nào trong giải quyết các vấn đề đó. Nếu có những lợi ích tiềm năng, các khuôn khổ có thể được tạo ra cho hợp tác giữa khu vực tư nhân và chính phủ để đạt được giải pháp. Trước đây, những vấn đề như vậy đã được chia sẻ giữa Nhật Bản và Việt Nam. Được biết, Nhật Bản sẵn sàng cung cấp các hỗ trợ kỹ thuật cho Việt Nam. Bên cạnh đó, Nhật Bản và Việt Nam có thể hợp tác để tạo ra các hệ thống cần thiết để giải quyết những vấn đề mà 2 bên còn khúc mắc.
Theo ICT submit
Đọc tiếp

7 giải pháp để CNTT trở thành nền tảng phát triển mới

Phát biểu chỉ đạo tại Diễn đàn Cấp cao CNTT và TT Việt Nam 2013, Thủ tướng Chính phủ Nguyễn Tấn Dũng đã chỉ rõ nguy cơ tụt hậu và đưa ra 7 nhiệm vụ trọng tâm cho các cấp, ngành về CNTT. Nhịp Sống Số xin đăng toàn văn bài phát biểu của Thủ tướng


http://www.thanhtra.com.vn/Portals/0/NEWS_IMAGES/huonggiang/2013_6/635073236657561342_20.6.1.2013.JPG
Thưa ngài Yukio Hatoyama, nguyên Thủ tướng Chính phủ Nhật Bản
Thưa quý vị và các bạn,
Hôm nay, tôi rất vui mừng tham dự Diễn đàn Cấp cao Công nghệ thông tin và Truyền thông Việt Nam 2013 với chủ đề “Công nghệ thông tin – nền tảng của phương thức phát triển mới, nâng cao toàn diện năng lực cạnh tranh quốc gia”.
Thay mặt Chính phủ, tôi nhiệt liệt chào mừng quý vị và các bạn tới dự Diễn đàn quan trọng này tại thủ đô Hà Nội - Thành phố vì Hòa bình, tươi đẹp và mến khách của Việt Nam chúng.
Diễn đàn cấp cao công nghệ thông tin và truyền thông là cơ hội để thảo luận, chia sẻ nhận thức, xu thế, tầm nhìn và các định hướng, giải pháp nhằm phát triển công nghệ thông tin phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa đất nước. Sau 2 năm tổ chức, Diễn đàn đã tạo được uy tín lớn, đề xuất được những khuyến nghị có giá trị vào việc xây dựng chủ trương, chính sách của Nhà nước trong lĩnh vực công nghệ thông tin và truyền thông. Tôi đánh giá cao sáng kiến của Hiệp hội Phần mềm và Dịch vụ Công nghệ thông tin Việt Nam tổ chức thường niên Diễn đàn cấp cao công nghệ thông tin và Truyền thông Việt Nam.  
Diễn đàn năm nay bàn về việc phát huy vai trò của công nghệ thông tin trong nâng cao năng lực cạnh tranh. Tập trung vào các vấn đề xây dựng hạ tầng thông tin quốc gia, cải cách thể chế, nâng cao năng lực cạnh tranh của nền kinh tế và đẩy mạnh cải cách giáo dục, đào tạo. Đây là những vấn đề đang được Chính phủ đặc biệt quan tâm giải quyết.
Công cuộc Đổi mới của Việt Nam đã đạt nhiều thành tựu to lớn, đưa đất nước thoát khỏi tình trạng nước nghèo, kém phát triển, vươn lên nhóm nước đang phát triển có thu nhập trung bình, được cộng đồng quốc tế đánh giá cao. Tuy nhiên Việt Nam đang đứng trước nhiều khó khăn, thách thức. Kinh tế Việt Nam phát triển chưa ổn định, bền vững; chất lượng tăng trưởng còn thấp, hiệu quả đầu tư chưa cao; cải cách hành chính còn chậm; không ít chỉ số cạnh tranh quốc gia của Việt Nam vẫn còn thua kém một số nước trong khu vực.
Thách thức phát triển đối với Việt Nam là rất lớn. Để vượt qua những thách thức đó, Việt Nam đặt ra yêu cầu phải phát triển nhanh, bền vững, gắn với đổi mới mô hình tăng trưởng, nâng cao chất lượng, hiệu quả và sức cạnh tranh của nền kinh tế, tạo nền tảng đến năm 2020 Việt Nam cơ bản trở thành nước công nghiệp theo hướng hiện đại. 
Phương thức nào để thực hiện được mục tiêu nâng cao toàn diện năng lực cạnh tranh quốc gia, đưa Việt Nam thoát khỏi nguy cơ tụt hậu, vượt qua bẫy thu nhập trung bình và phát triển kinh tế trí thức. Tôi hy vọng Diễn đàn hôm nay sẽ thảo luận để đưa ra nhiều sáng kiến, giải pháp hữu ích nhằm giải đáp được phần nào câu hỏi đó.
Sự bùng nổ của công nghệ thông tin, với các nền tảng công nghệ di động, điện toán đám mây, dữ liệu lớn đang hình thành nên xu thế phát triển “thông minh” trên mọi lĩnh vực từ hạ tầng thông minh, đô thị thông minh, y tế và giáo dục thông minh đến Chính phủ thông minh và quốc gia thông minh.
Từ năm 2000, Chính phủ Việt Nam đã thực hiện nhiều chủ trương, chính sách, biện pháp thích hợp về “Đẩy mạnh ứng dụng và phát triển công nghệ thông tin phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa”, trong đó xác định công nghệ thông tin là một trong các động lực quan trọng nhất của phát triển, góp phần làm biến đổi sâu sắc đời sống kinh tế, vǎn hoá, xã hội. Hơn mười năm qua, công nghệ thông tin đã trở thành ngành kinh tế mũi nhọn có tốc độ tăng trưởng và hiệu quả cao, đóng góp trực tiếp gần 7% GDP, đồng thời có tác động lan tỏa thúc đẩy phát triển nhiều ngành, nhiều lĩnh vực kinh tế - xã hội. Hạ tầng viễn thông và dịch vụ viễn thông Việt Nam đang từng bước phát triển để ngangtầmkhu vực và thế giới.Việt Nam đã có vị trí trên bản đồ công nghệ thông tinthế giới. Mức độ triển khai Chính phủ điện tửcủaViệt Namđã vươn lênđứng thứ 4 trong các quốc gia khu vực Đông Nam Á(1). Việt Nam đã đứng trongNhóm 10nước hấp dẫn nhất về gia công phần mềm vàtrở thành đối tác lớn thứ 2 của Nhật Bản. Hà Nội và Thành phố Hồ Chí Minh đã lọt vào danh sách 10 thành phố mới nổi về gia công phần mềm.
Công nghệ thông tin là một lợi thế phát triển đặc biệt của Việt Nam trên nền tảng nguồn nhân lực trẻ, dồi dào và được đào tạo cơ bản. Để phát huy lợi thế này, từ năm 2010 Chính phủ đã triển khai Đề án đưa Việt Nam sớm trở thành nước mạnh về công nghệ thông tin và truyền thông. Tiếp đó, Chính phủ đã ban hành Chương trình hành động về xây dựng hệ thống kết cấu hạ tầng đồng bộ, ứng dụng công nghệ thông tin để hiện đại hóa các lĩnh vực hạ tầng kinh tế xã hội và xây dựng kết cấu hạ tầng thông minh cho sự phát triển hiện đại.Tháng 6/2013, Chính phủ đã phê duyệt Đề án tổng thể đơn giản hóa thủ tục hành chính, giấy tờ công dân và cơ sở dữ liệu dân cư 2013-2020 nhằm đổi mới căn bản tổ chức và hoạt động quản lý Nhà nước, tạo thuận lợi cho mọi giao dịch của nhân dân trên tất cả các lĩnh vực đời sống xã hội.
Từ thực tiễn phát triển, chúng ta cần khẳng định công nghệ thông tin là trục kết nối chính và là một yếu tố có ảnh hưởng quyết định góp phần thực hiện thành công 3 đột phá chiến lược gồm hoàn thiện thể chế, phát triển nguồn nhân lực, xây dựng hạ tầng đồng bộ gắn với tái cơ cấu nền kinh tế, chuyển đổi mô hình tăng trưởng.
Để công nghệ thông tin thực sự trở thành nền tảng của phương thức phát triển mới, Chính phủ yêu cầu các bộ, ngành, địa phương và cộng đồng doanh nghiệp, các chuyên gia, các nhà nghiên cứu cùng triển khai một số nội dung nhiệm vụ giải pháp chủ yếu sau đây:
Một là nâng cao nhận thức, quán triệt quan điểm công nghệ thông tin là một nền tảng của phương thức phát triển mới trong các cấp quản lý, các ngành kinh tế xã hội, trong mỗi doanh nghiệp và toàn xã hội. Phát triển và ứng dụng công nghệ thông tin trong sản xuất, kinh doanh và quản lý hướng tới mục tiêu nâng cao toàn diện năng lực cạnh tranh quốc gia, coi đây là con đường ngắn nhất để Việt Nam tiến kịp các nước phát triển – tiến cùng thời đại.
Hai là xây dựng hệ thống hạ tầng thông tin quốc gia, ban hành chuẩn thông tin quốc gia bảo đảm khả năng kết nối liên thông, đồng bộ, chú trọng công tác an ninh, an toàn và bảo mật thông tin quốc gia.
Ba là đẩy mạnh hoạt động nghiên cứu, làm chủ các bí quyết, giải pháp công nghệ mới. Ưu tiên đào tạo, phát triển nguồn nhân lực công nghệ thông tin của từng ngành, lĩnh vực, từng địa phương, doanh nghiệp và của cả quốc gia.
Bốn là xây dựng cơ chế chính sách tạo thuận lợi và hiệu quả cao nhất nhằm bảo đảm việc ứng dụng công nghệ thông tin trở thành một yêu cầu tiên quyết trong mọi ngành, mọi lĩnh vực, mọi công trình, dự án đầu tư,… trong tiến trình phát triển.
Năm là tạo môi trường thuận lợi cho phát triển thị trường công nghệ thông tin, hỗ trợ các doanh nghiệp phát triển, tạo chỗ đứng vững chắc trên thị trường trong nước và xây dựng năng lực canh tranh vươn ra thị trường nước ngoài.
Sáu là tăng cường hợp tác quốc tế, huy động mọi nguồn lực, đặc biệt là nguôn lực của người Việt Nam ở nước ngoài để phát triển công nghệ thông tin.
Bảy là phát triển và ứng dụng công nghệ thông tin được coi là nhiệm vụ quan trọng của toàn bộ hệ thống chính trị và xã hội. Người đứng đầu tất cả các cấp, các ngành, các cơ quan, đơn vị phải trực tiếp chỉ đạo và chịu trách nhiệm về triển khai ứng dụng hiệu quả công nghệ thông tin vì mục tiêu phát triển nhanh, bền vững.
Để thực hiện được những định hướng phát triển nêu trên, đòi hỏi sự nỗ lực phấn đấu rất cao, sự chung tay, chung sức cùng hành động của tất cả các ngành các cấp, các doanh nghiệp, các chuyên gia, các nhà nghiên cứu.
Nhân dịp này, tôi chân thành cảm ơn ngài Yukio Hatoyama nguyên Thủ tướng Chính phủ Nhật Bản đã tới Việt Nam tham dự Diễn đàn. Sự hiện diện của Ngài hôm nay mang ý nghĩa thiết thực nhân kỷ niệm 40 năm quan hệ và tăng cường hợp tác hữu nghị Việt Nam - Nhật Bản; đồng thời thúc đẩy sự hợp tác có hiệu quả giữa hai nước về công nghệ thông tin và truyền thông. Việt Nam luôn mong muốn nhận được sự hỗ trợ, hợp tác và học hỏi kinh nghiệm của Nhật Bản, một cường quốc hàng đầu thế giới về công nghệ thông tin và truyền thông.
Thay mặt Chính phủ nước Cộng hòa xã hội chủ nghĩa Việt Nam, tôi xin chúc Diễn đàn cấp cao Công nghệ thông tin và truyền thông Việt Nam 2013 thành công tốt đẹp.
Trân trọng cảm ơn.

(1) Theo kết quả khảo sát Chính phủ điện tử của Liên Hợp quốc (UNESCO) năm 2012, Việt Nam xếp vị trí thứ 83 trên tổng số 190 quốc gia được thực hiện đánh giá, với kết quả này Việt Nam tăng 7 bậc so với năm 2010. Trong các nước ĐNA, Việt Nam chỉ đứng sau Singapore, Malaysia, Brunei.
Theo Nhịp sống số
Đọc tiếp

Khắc phục lỗi Microsoft Word 2007 "has not been installed for the current user"

Chắc hẳn các bạn đã từng gặp lỗi sau khi mở word, excel hoặc powerpoint của office: 
win 7 error


Nguyên nhân là do file MSO.DLL bị lỗi, cách khắc phục như sau:
Đọc tiếp
http://Taochu.Uhm.vNhttp://Taochu.Uhm.vNhttp://Taochu.Uhm.vNhttp://Taochu.Uhm.vNhttp://Taochu.Uhm.vNhttp://Taochu.Uhm.vNhttp://Taochu.Uhm.vNhttp://Taochu.Uhm.vN

Viện CNTT&TT - Bách Khoa HN

BACK TO TOP