Những con số thống kê thường gặp trong các dịch vụ

Mình nhận thấy bài viết nói lên tính tổng quát và tầm quan trọng của việc thống kê cho các dịch vụ nói chung. Mặc dù chưa xin phép tác giả bài viết nhưng cũng mạn phép rinh về đây.

Thường lập trình viên bị sa đà vào việc viết code, tưởng code được trang web hay game online thú vị nào đó, release xong là có được một dịch vụ trực tuyến thành công về mặt thương mại. Tuy nhiên, code chỉ là một yếu tố, còn nhiều yếu tố khác, trong đó có việc thường xuyên quan sát và đánh giá tình trạng của dịch vụ (không chỉ là tình trạng về mặt kĩ thuật), rồi tìm cách cải tiến.

Mấu chốt là phải cụ thể hoá quan sát đó thành những con số thống kê, hiển thị hoá chúng một cách dễ hiểu (thành biểu đồ chẳng hạn), tiếp đó đưa ra được KPI để có tiêu chí định hướng cho thành công, cho tương lai phát triển của dịch vụ. Bài viết này bàn về 2 vấn đề này, hi vọng góp ý được về mặt quản lí và hoạch định chiến lược cho những ai muốn mở dịch vụ.
Continue reading

[How to] Kết nối đến Database Engine sử dụng sqlcmd.exe

SQL Server hỗ trợ việc client kết nối đến thông qua giao thức TCP/IP (mặc định). Ngoài ra còn cung cấp thêm một số giao thức khác như: Named Pipes Protocol, VIA Protocol, Shared Memory Protocol.

Lưu ý: để tạo kết nối sử dụng Shared Memory Protocol, máy client của bạn phải đang liên kết với một instance của Database Engine trên cùng 1 máy. Nói cách khác, phần client và server phải nằm trên một máy tính mới có thể giao tiếp qua giao thức này.

Lưu ý quan trọng: Giao thức VIA Protocol đã bị ‘deprecated’. Và sẽ không có mặt trong phiên bản SQL Server kế tiếp (sau bản 2008). Nên tránh dùng giao thức này khi phát triển mới một ứng dụng, và cũng nên thay đổi giao thức kết nối của các ứng dụng cũ đang sử dụng giao thức này.

Bài viết hướng dẫn dưới đây sẽ kết nối đến ‘default instance’ của Database Engine trên cổng 1433, và ‘named instance’ của Database Engine trên cổng 1691. Một số ví dụ sử dụng IP 127.0.0.1 (đây là IP loopback của adapter mặc định trên mọi máy tính).
Continue reading

[How To] Giải pháp cho người không thích SQL Server Management Studio

MSSQL Server Management Studio là công cụ mà ai cũng biết. Nó được đính kèm khi cài đặt SQL Server trong hầu hết các phiên bản. Dĩ nhiên, nếu không thích công cụ này thì vẫn có tùy chọn để loại bỏ khi cài đặt.

Với SQL Server 2008 Express, bạn có thể tải về mà không đính kèm công cụ này tại đây. Dung lượng rất nhẹ, chỉ chứa Database Engine :).

Lưu ý, có 3 lựa chọn:
SQLEXPR_x64_ENU.exe: chỉ sử dụng gói này để cài đặt trên HĐH 64-bit.

SQLEXPR_x86_ENU.exe:

gói này để cài đặt SQL Express 32bit trên HĐH 64-bit trong môi trường WoW.
SQLEXPR32_x86_ENU.exe: sử dụng gói này để cài đặt trên HĐH 32-bit.

Vậy khi cài đặt xong thì làm thế nào để sử dụng? Dĩ nhiên giải pháp ở đây là sử dụng một công cụ khác thay thế cho SQL Management Studio, đơn cử một công cụ đó là: Navicat của PremiumSoft (trang chủ).
Sử dụng khá đơn giản và nhẹ nhàng :).

Hiện Navicat có 6 phiên bản dành cho 6 hệ quản trị CSDL. Mình sẽ chọn “Navicat for SQL Server”; tuy nhiên, tham lam một chút bạn có thể cài hẳn bản Premium 6 trong 1 và đằng nào cũng phải trả phí hoặc cr* tùy ý.
Continue reading

[FAQ] Tại sao Nhân Linux viết bằng C mà không phải là C++?

Câu hỏi và câu trả lời tại đây!

HỎI: Những lý do nào về nhân Linux (nói chung cả Unix, bao gồm Solaris) được viết bằng C mà không phải là C++. Trong khi C++ là một ngôn ngữ tốt hơn C về các khái niệm hướng đối tượng. Tại sao kernel hay hầu hết các hệ thống CSDL phổ biến được viết bằng ngôn ngữ C thay vì bằng C++. (rkalyankumar)

TRẢ LỜI:

(maniac)
Những lý do cụ thể về Linux đã được giải thích chi tiết trong Linux Kernel Mailing List (LKML) Frequently Asked Questions (FAQ) tại:
  http://www.tux.org/lkml/

Continue reading

[FAQ] Tại sao Linux không lưu trữ thời gian tạo tập tin?

Hầu hết các hệ điều hành tương tự Unix không lưu trữ về thời gian tạo (creation time – crtime) tập tin. Đây thực sự không phải là một tính năng hữu ích cho hầu hết mọi người.

– Nếu tập tin chưa bao giờ được chỉnh sửa, thì creation time của nó sẽ bằng last modification time (mtime).
– Nếu tập tin được tự động tạo ra bởi một chương trình hoặc khi hệ thống được cài đặt, thì thời gian của một số tập tin có thể là như nhau, điều này không hữu ích cho tổ chức.
– Nếu bạn import các tập tin từ một file system khác mà không có lưu trữ creation time hoặc thời gian hệ thống không đúng, thì thời gian của tập tin trên hệ thống của bạn cũng sẽ sai và do đó không hữu ích.

Một vài hệ thống tập tin của Linux (chẳng hạn như Ext4..) có khả năng kỹ thuật để lưu trữ crtime, nhưng rất ít công cụ và thư viện được cập nhật cho việc sử dụng nó, vì:
1. Đó không phải là tiêu chuẩn hoặc không phổ biến.
2. Crtime thực sự không hữu ích và do đó không phải là một ưu tiên cao để đưa vào sử dụng.

Tóm lại, Linux không lưu trữ thời gian tạo tập tin, vì đó không phải là việc của nó. Theo dõi thuộc tính các tập tin là trách nhiệm của một hệ thống tập tin. Hầu hết các hệ thống tập tin không lưu trữ thời gian tạo, vì như trên đã nói, khi các tập tin được sửa đổi thường quan trọng hơn nhiều so với khi nó được tạo ra.

[BUG] Khắc phục sự cố Eclipse Helios trên Fedora 15

Fedora 15 phát hành vào ngày thứ 3 24/5/2011, giao diện được thay đổi thành GNOME 3 hào nhoáng và có thêm một số công cụ mới khác. Như thường lệ, bản phân phối Fedora mới bao gồm phiên bản mới của các thư viện hệ thống, bao gồm cả version 2 của XULRunner. Không may là Eclipse Helios chỉ hỗ trợ XULRunner version 1.8.x – 1.9.2.x nên không thể tương thích tốt với version 2.

Eclipse khởi động lên thì OK và hầu hết các tính năng làm việc mà không có vấn đề gì. Nhưng mỗi khi sử dụng content-assist thì bị treo và sau đó Eclipse tự động tắt. Không chỉ thế khi bạn vào menu Window > Web Browser, thế là boom :|.

May mắn là sự cố có thể được khắc phục bằng cách làm theo bên dưới:

1. Trong GNOME 3, tên của webkit library được thay đổi thành libwebkitgtk, bạn cần phải tạo một symbolic link như sau:

# ln -s /usr/lib/libwebkitgtk-1.0.so.0 /usr/lib/libwebkit-1.0.so.2

2. Thêm -Dorg.eclipse.swt.browser.UseWebKitGTK=true vào eclipse.ini

Sau khi thực hiện xong 2 bước trên, content-assist và internal browser sẽ làm việc bình thường.

Dịch từ: korri.net

Fedora 15 chính thức phát hành

Hôm nay 24/05/2011, Fedora 15 đã chính thức phát hành…
Bên dưới là bài viết của Trương Anh Tuấn thay mặt cho Fedora Project tại Việt Nam.

Cuối cùng, sau 6 tháng phát triển, đúng lịch trình, Fedora 15, phiên bản tiếp theo, tên mã Lovelock, đã chính thức phát hành.

Fedora 15 đánh dấu những nỗ lực không biết mệt mỏi của cộng đồng Fedora. Trong đó, đặc biệt, cộng đồng Fedora tại Việt Nam cũng đã có những đóng góp đầu tiên, dù còn rất khiêm tốn, nhưng rất đáng ghi nhận, hòa chung vào dòng chảy của cộng đồng Fedora nói riêng và cộng đồng phần mềm tự do nguồn mở nói chung trên toàn thế giới.

Để chào mừng sự kiện ra mắt Fedora 15, cộng đồng Fedora, LUGs và phần mềm tự do nguồn mở tại Việt Nam, với sự hỗ trợ của Dự án Fedora, cùng nhau tổ chức loạt sự kiện Fedora 15 Release Party (tạm dịch: tiệc chào mừng Fedora 15 chính thức phát hành) ở cả 3 miền: Bắc (tại Hà Nội)Trung (tại Huế)Nam (tại Thành phố Hồ Chí Minh). Mời bạn hãy đến và tham gia sự kiện chào mừng cùng chúng tôi để cùng bàn luận, trao đổi về Fedora 15, nhận đĩa LiveCD Fedora 15 và những phần quà vui nhộn.

Xem danh sách các sự kiện chào mừng Fedora 15 lớn được tổ chức trên toàn thế giới tại đây:
https://fedoraproject.org/wiki/F15_release_events

Bạn cũng có thể bắt đầu tìm hiểu nhanh về Fedora 15 (đặc biệt là những tính năng, công nghệ mới) tại:
http://fedoraproject.org/wiki/Fedora_15_talking_points

Xem thông báo phát hành đầy đủ tại:
http://docs.fedoraproject.org/en-US/Fedora/15/html/Release_Notes/

Và hãy nhanh tay tải về từ FedoraProject và các mirror trên toàn thế giới:
https://fedoraproject.org/en/get-fedora

Thay mặt Fedora Project
Fedora Ambassador Vietnam
Trương Anh Tuấn

Thông tin về Fedora: https://fedoraproject.org/en/about-fedora
Tham gia dự án/cộng đồng Fedora: https://fedoraproject.org/en/join-fedora

Liên kết gốc: http://vn.fedoracommunity.org/2011/05/24/fedora-15-chinh-thuc-phat-hanh/

Bash Shell: Chuyển hướng nhập/xuất trong Linux

Bài viết đăng tại Diễn đàn Fotech của thành viên Nguyễn Việt Cường (OSG ColTech).

Hôm nay nhân chuyện có người hỏi về làm thế nào để chạy một lệnh một cách “âm thầm” tức là không in cái gì ra màn hình cả, mình viết một cái tut nhỏ về chuyện này. Ví dụ đưa ra ở đây là lệnh curl, chi tiết về cú pháp lệnh thì sử dụng “man curl” trên Linux hoặc trên Google.

Trước hết, ta sẽ đi thẳng vào vấn đề rồi sau đó mới giải thích. Để một lệnh chạy trong chế độ “âm thầm” như vậy thì ta thêm đoạn sau vào đuôi lệnh:

    > /dev/null 2>&1

Mà cụ thể nếu ta muốn làm công việc đó với lệnh curl thì như sau:

    $ curl http://osg.vnu.edu.vn/ > /dev/null 2>&1

Vì sao lại làm thế? Dấu “>” có ý nghĩa gì? “/dev/null” là cái gì mà ghê gớm thế? “2>&1” là cái gì mà trông kì lạ thế? Đó cũng là những thắc mắc của mình khi bước vào thế giới Unix/Linux.
Continue reading