Archive

Archive for the ‘Howto’ Category

xu hướng micro-blogging

February 3rd, 2009

anh chàng kia muốn nhanh chóng gửi tin nhắn tới mọi người và nhanh chóng cập nhật tin tức về bạn bè của anh ta?

  • SMS là giải pháp hay & tiện dụng, nhưng nên nhớ là dịch vụ này thu phí ~ 300vnd / tin nhắn. cái giá để bạn nhắn cho 100 người là 300 * 100 = 30.000 vnd.
  • spam qua Y!M vậy, free và chỉ cần máy tính kết nối internet (mobile phone cũng được). tuy nhiên, cách truyền tin này có vẻ gượng ép và nhiều người không sẵn sàng nhận > 10 tin nhắn (mà nhiều trong số đó không thật sự giá trị) ở 10 cửa sổ Y!M trong 1h.

mặt khác, có cô bạn có thú vui lang thang trên internet và hay kêu lên với mọi người mỗi khi cô ấy tìm thấy thông tin thú vị. Y!M rất hiệu quả để cô ấy spam liên kết hay (nhưng hiện giờ bị lọc link qua tin nhắn offline rồi), email cũng ổn nhưng hơi vô duyên nếu đó chỉ đơn thuần là ý tưởng bật chợt hoặc một đường link hay bức ảnh, SMS rõ ràng không phải lựa chọn tốt.

như vậy, giải pháp nào cho cả anh chàng kia và cô nàng nọ có thể chỉ cần gửi một tin nhắn ngắn gọn lên mạng và các bạn bè của họ đều được cập nhật nhanh chóng.

<??? – left blank – ???>

hỏi: mạng xã hội (social network) nào phát triển nhanh nhất trong năm qua?

trả lời: twitter, với 343% (theo nielsen)

micro-blogging là một khái niệm khá mới mẻ, nó là một dạng blog trong đó ta gửi lên những thông điệp ngắn gọn như một tin nhắn. Nội dung có thể là text, foto, audio, clip và được xem bởi nhóm người được người đăng chỉ định.

twitter là một mạng xã hội cung cấp dịch vụ micro-blogging, với nó, bạn có thể:

  1. xây dựng nhóm để trao đổi, thảo luận.
  2. gửi tin nhắn trực tiếp và nhanh chóng cho mọi người.
  3. cập nhật thông tin từ bạn bè
  4. tìm kiếm người quen, mở rộng quan hệ xã hội.
  5. … etc

hơn nữa, nếu áp dụng tốt twitter  trong những tình huống hay hoàn cảnh cụ thể, bạn sẽ khai thác được rất rất nhiều lợi ích từ nó. Ví dụ như anh chàng làm marketting này chẳng hạn (ấn vào đây để xem)

khi đã thấy hứng thú, bạn nên quan tâm tới một vài điểm:

  • thông điệp gửi lên chỉ dài tối đa 140 ký tự.
  • follow những người mà bạn muốn thường xuyên cập nhật.
  • sử dụng các tiện ích để nâng cao hiệu quả khai thác. (TwitterFox, Twhirl, TwitBox… …)
  • các nhóm người sử dụng twitter trên thế giới rất đa dạng nhưng ở Việt Nam thì mới phổ biến trong giới công nghệ và liên quan đến công nghệ thông tin.
  • đừng quên cập nhật và chia sẻ những gì bạn thấy thú vị :)

đặc biệt, đã có những dịch vụ micro-blogging của Việt Nam như nhangui.com, saigonica, loop, … hãy ghé thăm họ và nếu có thể,  thử sử dụng thử và đóng góp ý kiến để chúng ta ngày càng có nhiều dịch vụ chất lượng cao.

tham khảo thêm

định nghĩa micro-blogging trên wiki: http://en.wikipedia.org/wiki/Micro-blogging

twitter trên wiki: http://en.wikipedia.org/wiki/Twitter

bài viết hay dành cho beginner & marketter: http://www.doshdosh.com/ways-you-can-use-twitter/

twitter hack (kevin): http://prblog.typepad.com/strategic_public_relation/2008/02/top-10-twitter.html

bài review các dịch vụ tương tự ở Việt Nam của step2vn: http://blog.khanhlnq.com/2009/01/no-ro-cac-dich-vu-micro-blog-viet.html

vnexpress viết về tiểu blog: http://vnexpress.net/GL/Vi-tinh/2009/01/3BA0ABA3/

hoang188 Company, Howto, business, news, review , , ,

the power of developer

November 25th, 2008

let begin with simple image

Software development lifecycle

software development process

hey, like a worker who works in IT industry with major Software Eng., you must be familiar with above image. This image is simple to understand but important to care. Certainly, may be it true, may be it false in some case, but let it behind what I suppose to write.

for many phase of software development, where to put developers and what are their role? You can always said that, developer will code & test (in some particular situation). But how do you think ’bout below image

the power of developer

relational from  developer

developers will responsibility to perform coding & unit testing, take part in design & maintenance and working very closely with deployment engineer and analyst. I’m sure that you must have lots of developers whom without them, you have nothing to ensure your work done well.

so, are you agree with idea that ability worker should spend one or two years playing a role as developer, then step up to team leader (senior devs), designer or project manager (may be senior office manager) in fort coming years. once you say true, you’re not the kind of potential people, who really to deep inside smt which make them unforgettable. certainly, you’re not the man, who bring our country to side by side with some countries placed in level 1 of the world.

truly.

hoang188 *.nix, Howto, Untitle, coding, country, funny, gui design, management, people

Notes for Python 2.5 & Django 0.96

October 21st, 2008
  1. First do:
    1. download python 2.5 & Django 0.96
    2. install python 2.5
    3. extract Django and run python setup.py install (locate on django folder)
  2. Create a new project with django:
    1. move to desirable folder.
    2. Run django-admin.py startproject <project’s name>, this will create a folder name <..> with some nessessery files.
    3. Open file settings.py and put some configuration ’bout database, template’s dir.
    4. Move to above folder and run python manage.py runserver <port>
    5. open web browser and type address with provided port, and you’ll see it worked.
  3. Create a new application:
    1. move your cursor into created project.
    2. Now the time to create a new application name polls,
    3. run python manage.py startapp <app’s name>, this command will create a folder name <app> as a sub-folder of project.
    4. Look into the application’s folder, you’ll see some files like: models.py, views.py. That’s done.
  4. Make django working with database:
    1. first, you must download python-mod-sql and install it.
    2. Second, code some line in models, refer to django’s documentation to check datatype, only not that all field must end with Field.
    3. Create models, assign some property and move your cursor on the top of project, run command python manage.py syncdb to syncronize your database with models. This command create data’s table.

    4. Expected more? Sorry, nothing to continue.

  5. Create a form interaction:

    1. import newforms package.

    2. Forms distinguish to two parts, for model and normal form.

    3. You must init a form before use them.

  6. Some syntax that must be learn by heart:

    1. django-admin.py startproject <project’s name>

    2. python manage.py startapp <app’s name>

    3. python manage.py runserver [<port>]

    4. python manage.py syncdb

    5. <model’s name>.objects.all()

  7. References:
  • http://docs.djangoproject.com
  • http://python.org

hoang188 *.nix, Howto, coding, model , ,

17 lời khuyên Google cho web doanh nghiệp

July 29th, 2008

Sau đây là những lời khuyên hữu ích dành cho chủ nhân các trang web khi sử dụng 3 công cụ của Google bao gồm: Analytics, AdSense, AdWords.

Từ một blogger chân ướt chân ráo bước vào thế giới online, đến một cá nhân sở hữu trang web từ nhiều năm, chắc hẳn ai cũng muốn hái ra tiền từ trang web của mình.
Với công cụ Google Analytics, bạn có thể dễ dàng theo dõi lưu lượng người truy cập cũng như các địa chỉ trỏ tới trang web. Google AdSense sẽ đặt những mẩu quảng cáo nhỏ có nội dung liên quan đến trang web của bạn. Bạn sẽ nhận được tiền sau mỗi cú click chuột của khách truy cập. Cuối cùng, Google AdWords cho phép bạn tuỳ biến quảng cáo, chọn từ khoá thích hợp, giúp trang web bạn thân thiện hơn với các công cụ tìm kiếm.
Google Analytics

1. Nắm vững những khái niệm cơ bản.
Visits là số lượng phiên truy cập vào trang web – số lần khách ghé thăm trang web.
Bounce Rate là tỷ lệ phần trăm khách vãng lai, những người chỉ vào xem trang đầu tiên rồi bỏ đi ngay.
Page View là số lần trang web được tải bởi trình duyệt.
Average Time on Site là thời gian trung bình khách truy cập lưu lại trên web.
% New Visits là số phiên truy cập – số lần ghé thăm trang web từ những vị khách mới.
2. Hiểu rõ nguồn lưu lượng.
Direct Traffic là lượng khách truy cập web trực tiếp bằng cách gõ địa chỉ web lên URL hoặc vào từ bookmark.
Referring URLs là những trang web chuyển lưu lượng khách truy cập đến trang của bạn, có thể là từ banner quảng cáo hoặc liên kết trực tiếp.
Search Engines: các công cụ tìm kiếm như Google, Yahoo, MSN, v.v..
Other: các nguồn khác chẳng hạn như e-mail quảng cáo..v..v.
3. Quyết định báo cáo nào quan trọng nhất.
• Nhận xét xem xu hướng tăng trưởng bắt nguồn từ đâu trong khoảng từ 3 đến 6 tháng gần nhất. Từ những nguồn miễn phí hay có phí? Những nỗ lực để thu hút khách truy cập từ những nguồn khác đã thành công chưa?
• Đào sâu nghiên cứu những trang web, từ khoá, cụm từ khoá mang lại lượng khách truy cập lớn để nắm được tâm lý độc giả.
• Tăng cường chăm sóc, cải thiện những trang có chỉ số Bounce Rate cao.
• Đảm bảo rằng chiến dịch quảng cáo không làm tăng chỉ số Bounce Rate
• Xác định rõ những trang chủ chốt để tính toán đầu tư.
4. Đặt bản thân vào vị trí khách truy cập.
• Xem xét những liên kết thu hút nhiều cú click chuột.
• Thử vào liên kết đó và nghĩ xem người ta sẽ làm gì tiếp.
• Kiểm tra lượng người chuyển đến mỗi trang. Điều này giúp bạn hiểu rõ hơn chỉ số Bounce Rate.
5. Tập trung vào kết quả.
• Xác định những sự cải tiến cần thiết với trang web.
• Cân nhắc những cơ hội buôn bán.
• Trả lời câu hỏi: Tại sao trang web tồn tại? Sau đó đi qua 4 bước nói trên nhằm xác định những điểm mấu chốt để đánh giá kết quả.

Google AdSense
1. Trước tiên bạn cần có một trang web với nội dung chấp nhận được và địa chỉ URL hợp lệ. Sau đó hãy đăng ký một tài khoản AdSense.
2. Chắc chắn rằng sau khi đặt quảng cáo lên, giao diện trang web của bạn vẫn hấp dẫn. Cố gắng đừng để những mẩu quảng cáo trở nên lạc lõng trên trang web.
3. Đặt quảng cáo tại những vị trí tốt nhất trên web.
4. Tạo nhiều chuyên mục mới lạ, độc đáo. Những web có nội dung phong phú, chuyên mục mới lạ và thật nhiều trang sẽ có nhiều cơ hội dành cho quảng cáo hơn. Rõ ràng một web có 10 trang không thể kiếm được nhiều tiền bằng web có 50 – 500 trang.
5. Quảng bá trang web bằng cách gửi e-mail giới thiệu tới bạn bè và dẫn trang web của bạn tới tất cả các công cụ tìm kiếm để nội dung được đánh chỉ mục.

Google AdWords

1. Hiểu tâm lý độc giả.

Tính chính xác là chìa khoá tìm kiếm với những chương trình như Google AdWords. Bạn muốn hướng tới những độc giả nhất định vào thời điểm thích hợp. Hãy xem xét kỹ sản phẩm bạn rao bán, dịch vụ bạn cung cấp và khách hàng – những người có nhu cầu.
2. Xác định mục tiêu.

Một khi bạn có ý thức rõ ràng với công việc của mình, hãy tập trung vào việc làm cách nào để đến với khách hàng. Bạn cần nắm rõ đâu là mục tiêu tối thượng để đi tới thành công. Tổ chức từng chiến dịch dựa trên yếu tố đơn giản và hiệu quả, xác định rõ dòng sản phẩm chiến lược (cà phê, trà hay thiết bị máy móc), mục đích (mang tính thời vụ hay quảng bá)
3. Lựa chọn những từ khoá đắt giá.

Lựa chọn từ khoá là cả một nghệ thuật. Hãy lập một danh sách tất cả những từ khoá bạn nghĩ ra, rồi thu hẹp lựa chọn dần. Cố gắng đặt mình vào vị trí khách truy cập. Nghĩ xem những từ khoá nào tốt nhất và đặt cược vào nó để thu được tối đa hiệu quả.

4. Tạo những quảng cáo thật hấp dẫn.

Hãy làm những quảng cáo có sức hút, gây tò mò cho người xem, khiến họ cảm thấy cần phải click vào để tìm hiểu nhiều hơn. Thường thì trong một mẩu quảng cáo, bạn có 3 câu ngắn gọn để lôi kéo sự chú ý của người xem. Để tạo một quảng cáo hiệu quả, hãy thử những mẹo sau:
• Thêm từ khoá vào tiêu đề và phần mô tả.
• Truyền đạt những ưu điểm nổi bật của sản phẩm.
• Nhanh chóng đi vào trọng tâm.
• Dùng từ mang tính gợi mở hành động, chẳng hạn như “Click vào đây”, “Đăng ký ngay”
• Đặt liên kết trực tiếp tới trang web liên quan tới nội dung quảng cáo.
5. Hướng tới đúng nhóm đối tượng với quảng cáo phù hợp.

Một khi đã biết được những khách hàng tiềm năng, bạn có thể tập trung vào từng nhóm đối tượng cụ thể. Tạo những quảng cáo đa ngôn ngữ nếu bạn có chiến dịch quảng bá toàn cầu. Bạn cũng có thể nhắm tới từng khu vực riêng biệt theo vị trí địa lý, ví dụ như nơi doanh nghiệp bạn đang phục vụ.

6. Theo dõi chặt chẽ công việc.

Sau khi chiến dịch quảng bá đi vào giai đoạn thực hiện, hãy đánh giá hiệu quả thường xuyên. Theo dõi sát sao tất cả những chỉ số thống kê, báo cáo.
7. Cập nhật thường xuyên.

Duy trì đánh giá những kết quả bạn thu được. Ghi nhớ rằng phải không ngừng cải tiến, thử nghiệm những thứ mới mẻ. Đừng ngại thay đổi, đó là bí quyết thành công.

Linh V. (Theo PCMag.com)

(quantrimang.com)

hoang188 Company, Howto, business ,

MVP – Model View Presenter

July 23rd, 2008

Giới thiệu
- Trong bài viết giới thiệu về mô hình MVC, chúng ta đã đề cập đến các nhược điểm của ngôn ngữ ASP. Có thể thấy hiện giờ ít trang web nào sử dụng công nghệ ASP cũ để phát triển nữa mà thay vào đó là các ngôn ngữ mới hơn, tiện ích hơn như PHP, ASP.NET, Java, v.v. Microsoft giới thiệu ngôn ngữ ASP.NET với điểm nhấn tách riêng các thành phần giao diện và xử lý dữ liệu bussiness logic bằng mô hình code-behind. ASP.NET có vẽ như là một lựa chọn tốt cho các ứng dụng web đơn giản, nhưng chính mô hình code-behind sẽ gây ra một số khó khăn cho các ứng dụng web vừa và lớn:

- Code-behind dường như được thiết kế để làm quá nhiều việc, nó vừa là một nơi để xử lý các event, kiểm soát các workflow trong chương trình và nó còn là một layer trung gian giữa dữ liệu bên dưới và giao diện phía trên. Người lập trình có thể viết mọi thứ trong code-behind và làm cho nó trở nên vô cùng rối rắm. Để cho code-behind làm quá nhiều thứ sẽ làm cho code của bạn khó kiểm soát và khó test (Unit Test). Trong những ứng dụng web lớn, người ta xem một design tốt khi nó giảm thiểu sự phụ thuộc lẫn nhau giữa các tầng (layer) và làm sao để cho code-behind càng đơn giản càng tốt. Với mô hình Model-View-Presenter, chúng ta sẽ thấy rằng code-behind được giữ cho vô cùng đơn giản và không hề dính dáng gì đến những xử lý trên giao diện Web.

- Một nhược điểm khác của code-behind là nó hầu như rất khó để sử dụng lại những xử lý giao diện (presentation logic) giữa những trang code-behind khác nhau nếu không đưa các xử lý đó ra các lớp Utility hay Helpers để tránh trùng lặp code. Tất nhiên để làm được điều đó cần một thời gian để tổ chức các lớp cho thich hợp. Tuy nhiên, nó thường dẫn chúng ta đến việc thiết kế các lớp một cách rời rạc và giống như khi sử dụng ASP. Trong một design tốt, mỗi class trong hệ thống nên có duy nhất một nhiệm vụ và mục đích rõ ràng, nếu chúng ta cần tạo ra một class chỉ để tránh trùng lặp code giữa 2 hoặc nhiều nơi khác thì đó là một dấu hiệu xấu, một thiết kế tồi.

- Và một nhược điểm cố hữu mà tôi thường nhắc đến là khả năng sử dụng Unit Test để test các lớp code-behind này. Các lớp code-behind đều kế thừa từ System.Web.UI.Page nên khó có thể viết các Unit Test một cách tự nhiên và thuận lợi được.

- Đã có nhiều kĩ thuật được tìm ra để giải quyết vấn đề của code-behind. Chẳng hạn như Castle Monorail project đã kế thừa những lợi điểm của Ruby-On-Rails và không sử dụng mô hình ASP.NET event. Thực ra cũng giống như ASP.NET MVC Framework, Castle Monorail hướng người lập trình đến cách phát triển ứng dụng Web theo MVC hơn là MVP, và khi áp dụng những framework này, chúng ta sẽ làm web ASP.NET theo một cách hoàn toàn khác, không có postback, không có server controls,… Khác với các framework hỗ trợ MVC, các framework hỗ trợ MVP là những giải pháp trong đó vẫn giữ mô hình event của ASP.NET nhưng hướng đến mục tiêu làm cho code-behind càng đơn giản càng tốt. Model-View Presenter sẽ giúp bạn làm được chuyện đó mà không cần dựa trên một framework nào cả. Đó cũng chính là lý do rất nhiều lập trình viên Web đã chọn MVP thay vì MVC trước khi có những framework hỗ trợ MVC như hiện nay.
- Bên cạnh các ASP.NET MVC Framework, Castle Monorail, hiện nay đã có những framework hỗ trợ MVP cho .NET như MVC# FrameworkNMVP Framework. Hi vọng tôi có thời gian tìm hiểu và chia sẽ với các bạn muốn quan tâm. Trong bài viết này, tôi sẽ trình bay khái quát lý thuyết suông về MVP; một sample code sẽ được giới thiệu trong bài tiếp theo.

Các bạn đang xem bài viết về Model View Presenter từ blog của Nguyễn Thoại (http://nthoai.blogspot.com)

Model-View-Presenter
- Nhiều người cho rằng MVP là một design biến đổi của MVC. Điểm khác nhau dễ thấy nhất là Presenter và Controller :bbpraroi: hehe đùa thôi… Trong mô hình MVP, các lớp View sẽ được sử dụng thông qua một Interface được định nghĩa trong .NET. Các lớp Presenter tương ứng sẽ sử dụng Interface này để đọc và ghi dữ liệu lên trên các View. Trong đa số các cách implement, một View sẽ có một Presenter tương ứng của nó. View sẽ khởi tạo Presenter cho nó và truyền cho Presenter này tham chiếu đến chính nó. Khi một event nào trên view được kích hoạt chẳng hạn như button_clicked, text_changed,.. bản thân lớp View sẽ không làm gì cả mà sẽ để cho lớp Presenter xử lý những sự kiện đó. Presenter sẽ đọc dữ liệu từ View (vì nó giữ một instance của View như là một member trong class) thông qua View Interface, thực hiện những xử lý ứng với Event được kích hoạt và set những thay đổi từ dữ liệu Model lên trên View thông qua View Interface.
- Trong môi trường .NET, cùng một Presenter có thể được sử dụng cho View trên web như các trang ASP.NET hoặc được sử dụng cho các Form trong Windows Form Application. Các Presenter đọc và ghi dữ liệu thông qua một Interface của .NET nên nó hoàn toàn độc lập với layer View. Chính nhờ cách làm này mà ta có thể áp dụng Unit Test cho các lớp xử lý Presenter rất dễ dàng và nó cũng chính là một trong những lợi ích lớn nhất của MVP cho khả năng tái sử dụng.

Model View Presenter Solution Structure

Cập nhật View
- Khi thành phần dữ liệu Model được cập nhật, View cũng sẽ phải được cập nhật để hiển thị những thay đổi. Quá trình cập nhật View có thể được thực hiện bằng nhiều cách khác nhau. Có lẽ cũng từ những cách này mà Model-View-Presenter được chia thành hai loại là Passive View và Supervising Controller.
- Trong mô hình Passive View, Presenter sẽ cập nhật view tương ứng bằng cách đọc dữ liệu trực tiếp từ Model rồi set lên View, do đó các lớp View sẽ không biết gì về thay đổi dữ liệu bên dưới. Hay nói cách khác chúng hoàn toàn bị động theo như trên gọi.
- Còn trong mô hình Supervising Controller, các lớp View sẽ tương tác trực tiếp với Model bên dưới để đọc dữ liệu mà không cần thông qua các lớp Presenter. Presenter sẽ cập nhật Model; nó chỉ thay đổi những control trên View trong trường hợp có những xử lý giao diện phức tạp mà không thể khai báo trước chẳng hạn như ẩn hiện control, đổi màu text,…

Passive View and Supervising Controller

- Quyết định dùng Passive View hay Supervising Controller thường dựa trên nhu cầu test tự động của ứng dụng. Nếu bạn muốn làm một ứng dụng có thể test tự động dể dàng và cover hầu hết các xử lý bên trong thì Passive View là một lựa chọn thích hợp, mọi UI logic đều được test bằng cách viết lớp test cho các Presenter. Mặt khác, nếu bạn thích code đơn giản hơn thì Supervising Controller có vẻ là một lựa chọn thích hợp hơn. Đối với những thay đổi đơn giản trên giao diện, bạn cũng không cần đưa những xử lý cho các thay đổi đó vào lớp Presenter. Khi chọn lựa giữa Passive View và Supervising Controller, bạn nên cân nhắc các điều sau đây:

  • Cả hai cách đều cho phép bạn tăng khả năng test tự động cho các xử lý giao diện (presentation logic)
  • Passive View thường cung cấp khả năng test cao hơn Supervising Controller bởi vì tất cả các xử lý giao diện được đặt trong các lớp Presenter.
  • Supervising Controller sẽ đỡ phải code nhiều như Passive View bởi vì Passive View không cần thực hiện những cập nhật đơn giản cho View.

Tương tác với dữ liệu
- Bạn cần phân biệt rõ Model với Domain, hai khái niệm này hoàn toàn khác nhau. Chúng ta có thể implement các lớp tương tác với dữ liệu bằng nhiều cách khác nhau. Trong một số trường hợp, có thể bạn sẽ phải sử dụng Observer Pattern cho các Presenter và Model. Nó sẽ giúp cho Presenter nhận những events từ Model khi có sự thay đổi và từ đó cập nhật thay đổi đó lên trên View. Thông thường, người ta sẽ làm ra các lớp Service/Manager, các lớp này sẽ đóng vai trò như các lớp Bussiness Logic trong layer Model để giúp Presenter tương tác với database bên dưới:

MVP Tiers

Các nhược điểm của MVP

  • Có nhiều lớp, nhiều layer phải implement; có nghĩa độ phức tạp của ứng dụng sẽ tăng.
  • Bạn phải nghĩ ra một cách để kết hợp giữa các Views và các Presenters. Trong ASP.NET thì các lớp Code-Behind sẽ implement một interface IView nào đó và sử dụng một member Presenter.
  • Mô hình Model không biết gì về Presenter. Vì thế nếu dữ liệu Model bị thay đổi từ một chương trình khác thay vì bởi Presenter thì phải nghĩ ra một cách để Presenter biết. Các bạn có thể implement chức năng này nếu cần bằng cách sử dụng các events, hoặc tham khảo thiết kế Observer Pattern.

Tài liệu tham khảo:
http://msdn.microsoft.com/en-us/library/cc304728.aspx
http://www.codeproject.com/KB/architecture/ModelViewPresenter.aspx
http://en.wikipedia.org/wiki/Model_View_Presenter

(from Nguyễn Thoại’s blog)

hoang188 Howto , , , ,

10 cách bảo mật máy tính Linux

July 16th, 2008

Một máy tính Linux thường chạy nhanh hơn và bảo mật hơn so với máy tính có cài các hệ điều hành khác. Đôi khi, cách dễ nhất để bảo mật lại là phương thức dễ quên nhất. Hãy tham khảo 10 cách sau để có thể bảo vệ một máy Linux. Lưu ý rằng chúng tôi nêu ra cách này chỉ áp dụng đối với một máy thông thường, không phải máy chủ. Bảo mật máy chủ Linux sẽ phải đòi hỏi những cấu hình kiểu khác.

1. Khóa màn hình và log out khỏi hệ thống
Phần lớn người dùng thường quên rằng Linux là một môi trường máy tính đa người dùng. Do đó, bạn phải log out khỏi máy tính để người khác có thể log in vào máy khi cần dùng. Tất nhiên việc log out không phải là tùy chọn duy nhất. Nếu chỉ một mình bạn sử dụng máy tính đó, bạn sẽ phải khóa màn hình lại thay vì log out. Khóa màn hình rất đơn giản là bạn sẽ phải nhập vào một mật khẩu nếu muốn vào lại màn hình làm việc. Điểm khác ở đây là khi khóa màn hình thi các ứng dụng trên máy tính vẫn chạy, khi quay trở lại màn hình làm việc, các chương trình đó sẽ tiếp tục chạy. Thật an toàn và bảo mật.
2. Ẩn các file và thư mục một cách nhanh chóng

Trong Linux, các file và thư mục được ẩn đi bằng cách thêm một dấu chấm “.” trước tên của file hoặc thư mục. Ví dụ nếu một file có tên test đang hiển thị một cách bình thường thì file .test sẽ bị ẩn đi. Phần lớn mọi người đều không biết rằng chạy câu lệnh ls –a sẽ hiển thị tất cả các file và thư mục ẩn. Vì vậy, nếu bạn có thư mục và file ẩn không muốn đồng nghiệp sử dụng máy nhìn thấy, chỉ đởn giản là thêm một dấu chấm vào trước tên file và thư mục. Bạn cũng có thể thực hiện việc này từ dòng lệnh: mv test .test.
3. Mật khẩu mạnh

Mật khẩu trên một máy tính Linux chính là chiếc chìa khóa vàng. Nếu bạn đánh mất mật khẩu hoặc mật khẩu quá đơn giản, chiếc chìa khóa vàng này sẽ trở thành là của tất cả mọi người. Và nếu bạn sử dụng Ubuntu thì một mật khẩu sẽ cho người dùng được truy cập nhiều hơn là sử dụng Fedora. Để không gặp phải vấn đề mất dữ liệu với nguyên nhân không đáng có này, hãy đặt mật khẩu mạnh. Có rất nhiều cách đặt mật khẩu mạnh mà chúng tôi đã giới thiệu trong nhiều bài trước đây, bạn có thể đọc tham khảo.
4. Tránh cài đặt các ứng dụng chia sẻ file
Rất nhiều người dùng Linux thường xuyên phải sử dụng việc chia sẻ file. Nếu thực hiện việc chia sẻ này trong mạng công ty, bạn có thể mở và truy cập vào máy tính của những người dùng khác thì ngược lại, họ cũng có thể truy cập vào chính những dữ liệu nhạy cảm trên máy tính của bạn. Vì vậy, có một luật đưa ra là không cài đặt các công cụ chia sẻ file.
Nguồn: Ce-infosys.com5. Cập nhật thường xuyên máy tính là một điều sáng suốt

Linux không như Windows. Với Windows, bạn có thể lấy các bản cập nhật bảo mật khi Microsoft phát hành ra chúng (có thể mất đến vài tháng mới có một bản vá). Còn với Linux, một cập nhật bảo mật có thể được cung cấp ngay sau vài phút hoặc vài giờ từ khi phát hiện ra lỗ hổng. Cả KDE và GNOME, đều có các applet cập nhật cho Panel. Hãy cập nhật ngay khi có bản vá bảo mật được cập nhật. Đừng trì hoãn việc cập nhật bảo mật bởi đó cũng có thể là nguyên nhân gây nguy hiểm cho máy tính của bạn.
6. Cài đặt chương trình bảo vệ virus

Dù tin hay không thì một chương trình bảo vệ virus trên máy tính Linux là rất cần thiết. Tất nhiên, khả năng virus gây ra vấn đề trên hệ thống Linux của bạn là rất thấp nhưng nếu các email được forward tới các máy tính Windows khác thì có thể là nguyên nhân gây ra vấn đề. Một chương trình bảo vệ virus tốt (như ClamAV) sẽ đảm bảo các email gửi đi từ máy tính của bạn sẽ không chứa theo bất kỳ mối nguy hại nào có thể quay trở lại phá hoại bạn (hay công ty bạn).
7. Kích hoạt SELinux
SELinux (Security-Enhanced Linux) được tạo bởi NSA. Những gì SELinux làm được là khóa điều khiển truy cập vào các ứng dụng. Thật tuyệt vời phải không. Chắc chắn SELinux cũng có một vài điều gây khó chịu cho người sử dụng như việc gây chậm cho hệ thống hay khiến cho một vài ứng dụng trở nên khó cài đặt. Nhưng những tiện lợi về bảo mật khi sử dụng SELinux (hoặc Apparmor) vượt trôi hơn so với những nhược điểm mà nó có. Bạn có thể kích hoạt SELunux trong quá trình cài đặt Fedora.
8. Tạo /home trong một partition riêng biệt là phương pháp an toàn

Mặc định Linux cài đặt thư mục /home của bạn vào root hệ thống. Chắc chắn điều này không có gì phiền hà nhưng 1) Vì đây là chuẩn nên mọi người đều có truy cập vào hệ thống và biết chính xác vị trí lưu dữ liệu của bạn; 2) Nếu máy tính chẳng may gặp sự cố, bạn có thể bị mất dữ liệu. Để giải quyết vấn đề này, bạn có thể đặt thư mục /home sang một ổ cứng hay một partition khác. Điều này sẽ giúp bạn luôn am tâm với dữ liệu của mình.
9. Sử dụng trình desktop ngoài chuẩn

Sử dụng máy tính với trình quản lý cửa sổ khác (Enlightenment, Blackbox, Fluxbox…) không chỉ mang lại cho bạn cái nhìn và cảm nhận mới, chúng còn có hệ thống bảo mật đơn giản trước những ánh mắt tò mò mà bạn chưa bao giờ để ý. Bạn sẽ làm thế nào? Rất đơn giản. Tạo một biểu tượng desktop của ứng dụng bạn muốn sử dụng. Trừ phi người dùng biết làm thế nào để vào dòng lệnh (bằng cách log out hoặc nhấn Ctrl + Alt + F*, với * là biểu tượng trên desktop khác với chương trình mà bạn muốn sử dụng), nếu không sẽ không thể khởi chạy bất kỳ ứng dụng nào khác ngoài ứng dụng đã đặt trước. Phần lớn người dùng không có ý tưởng về việc xem xét máy bằng mọi cách, họ sẽ không thể biết đến các file của bạn.
10. Ngừng các dịch vụ

Đây là một máy tính bàn Linux, không phải máy chủ. Vì vậy tại sao bạn phải chạy các dịch vụ như httpd, ftpd và sshd? Bạn hoàn toàn không cần chúng và còn làm tăng thêm nguy cơ bảo mật (trừ khi bạn biết làm thế nào để khóa chúng lại). Vậy thì đừng chạy chúng nữa. Kiểm tra file /etc/inetd.conf và đảm bảo rằng các dịch vụ không cần thiết đã được chú thích là đóng.

TH – HT (Theo Techrepublic)

(quantrimang.com)

hoang188 *.nix, Howto

Quản lý blog như thế nào?

July 16th, 2008

Thời gian gần đây, rất nhiều câu chuyện của các blogger đã thu hút sự quan tâm của báo chí. Không ít blogger đã dùng phương tiện này để chỉ trích người khác, thậm chí đưa hình ảnh, video riêng tư của cá nhân lên.
Về cách phát tán thông tin theo hình thức này, TS Quách Tuấn Ngọc, cục trưởng cục CNTT bộ GDĐT cho biết, rất khó kiểm duyệt và phụ thuộc vào ý thức người sử dụng Internet. Bên cạnh đó, một số báo chí khi đưa tin về những sự việc đó lại không biết điểm dừng, vô hình chung làm tình hình càng rối thêm.
Về phía nhà cung cấp dịch vụ, nếu họ ở trong nước thì có thể yêu cầu chủ nhân phải cam kết chịu trách nhiệm về thông tin, nhưng với các website nước ngoài thì điều đó không thể. Thứ trưởng bộ TTTT Đỗ Quý Doãn cho biết, bất kỳ lĩnh vực gì cũng đều cần có sự quản lý. Và cần hiểu quản lý không có nghĩa là nghiêm cấm, thắt chặt mà là tạo điều kiện cho phát triển. Luật Báo Chí sửa đổi tới đây sẽ không có nội dung quản lý blog vì nếu đưa vào luật thì vô hình chung đã công nhận blog là một loại hình báo chí.
Theo ông Nguyễn Trí Dũng, phó cục trưởng cục Báo Chí bộ TTTT, một số báo chí đang làm cho công chúng ngộ nhận và lầm tưởng Nhà Nước chưa có quy định pháp luật để điều chỉnh những hành vi vi phạm pháp luật đang xảy ra với một số blogger. Trong khuôn khổ luật pháp hiện hành, những vụ việc đang diễn ra hoàn toàn có thể được điều chỉnh theo các quy định của Luật Dân Sự, Luật Hình Sự, Luật Giao Dịch Điện Tử và các nghị định liên quan. Với hàng triệu blog hiện có và sẽ còn gia tăng với tốc độ nhanh trong thời gian tới thì liệu có thể kiểm tra được nội dung của từng blog trước khi cho qua cổng thông tin quốc gia hay không?
Cục Báo Chí đang cùng với các cơ quan, đơn vị có liên quan nghiên cứu khả năng xây dựng một văn bản pháp quy tạm thời cho việc quản lý nội dung thông tin trên blog. Việc mới chỉ là "khả năng" vì đây là một vấn đề mới, phức tạp và chúng ta chưa có nhiều kinh nghiệm. Thực tế không thành công của Trung Quốc, Malaysia và mới đây là Singapore cho thấy Việt Nam cần có thêm thời gian để nghiên cứu thấu đáo hơn. Mục đích cuối cùng là nhằm tạo điều kiện để phát triển blog, mặt khác đảm bảo mọi hoạt động của các blogger tuân thủ chế tài pháp luật hiện hành.
Tại một hội thảo về blog được tổ chức ở TP.HCM, blog đã được coi là một phương tiện trong hoạt động kinh doanh, nghiệp vụ. Thông qua blog, nhiều cá nhân và nhà tuyển dụng đã tìm kiếm cơ hội làm việc với nhau. Một số nhà tuyển dụng, đặc biệt là về các dịch vụ trực tuyến đã chính thức thông báo về nhu cầu tuyển dụng blogger vào làm việc với những điều kiện rất thoáng. Theo các chuyên gia tư vấn về lao động việc làm, việc tuyển người qua blog hoặc tuyển blogger cho công ty tuy chưa thực sự mạnh hay rộng khắp, nhưng đã cho thấy những dấu hiệu tích cực và đang ngày một nhiều thêm. Trong tương lai không xa blog sẽ thực sự là một kênh tuyển dụng và là một công việc thu hút lao động.
Hiện tại, nhiều nghệ sĩ, nhà khoa học cũng thiết lập blog để làm nơi giao tiếp với bè bạn, cộng đồng. Tại TP.HCM, một nhạc sĩ đã sử dụng kênh thông tin này để phổ biến tác phẩm mới của mình và đó là cách làm trái với các quy định về phổ biến tác phẩm âm nhạc, nhưng ngành VHTT không thể đứng ra xử lý vì thông tin trên mạng nằm ngoài chức năng, quyền hạn của họ. Riêng với các nhà văn thì đây chính là kênh thông tin mới rất có giá trị để công bố tác phẩm của mình đến công chúng. Điều đó đã khiến giới nhà văn tại TP.HCM phải tổ chức hội thảo. Dù còn tranh luận nhiều nhưng các đại biểu đều thống nhất hiện nay blog đang trở thành một kênh sáng tác của nền văn học Việt Nam nên rất cần được quan tâm, nâng cao chất lượng, hạn chế tiêu cực.
Tuy nhiên, với khả năng lan tỏa toàn cầu, việc đưa thông tin lên blog cần cân nhắc, suy nghĩ cho kỹ. Như thế, xây dựng văn hoá blog chính là một việc phải làm và không ai khác, trước tiên chính là cộng đồng blogger và các nhà cung cấp dịch vụ phải định hướng giúp họ.

Theo PC World VN

(quantrimang.com)

hoang188 Howto, management