Thuật ngữ


Trang glossary (thuật ngữ, thổ ngữ) trình bày các thuật ngữ mà tôi học được, tìm thấy trong quá trình học tập và làm việc. Không phải là tất cả, mới chỉ là bắt đầu nên số lượng còn ít, tuy nhiên chắc nó sẽ dày lên thôi.

ROOTKIT: đơn giản, đó là phần mềm để get root (lấy quyền cao nhất của hệ thống)
http://netsecurity.about.com/od/frequentlyaskedquestions/f/faq_rootkit.htm (nguồn tham khảo)

PROPEL: là một dự án ORM (object relational mapping) trên nền PHP, cho phép bạn truy cập vào CSDL thông qua các đối tượng, với các API để truy vấn dữ  liệu

  • Mà không cần phải quan tâm đến việc viết SQL
  • Mà không cần phải quan tâm đến kiểu dữ  liệu
  • Định dạng dưới dạng XML, hoặc cho biết CSDL và Propel sẽ tự nó sinh ra file định dạng,
  • Tự xây dựng lên các lớp để truy xuất dữ liệu từ các file định dạng đó

http://propel.phpdb.org/trac/(nguồn tham khảo)

DOCTRINE tiếp theo propel nên là doctrine, doctrine cũng là một dự án PHP ORM, điểm khác với propel ở trên, doctrine không truy vấn dữ liệu thông qua các API.

DOCTRINE vẫn phải viết câu truy vấn gọi là DQL (để phân biệt với SQL)

PROPEL hiện đã lỗi thời, dân chuyên nghiệp thì nên sử dụng DOCTRINE trong các dự án của mình. Các framework hiện tại cũng có xu hướng hỗ trợ DOCTRINE

Tuy nhiên tôi có cảm giác rằng, PROPEL vẫn có vị trí của nó trong các dự án lớn. Khi mà dữ liệu nằm trên các database khác nhau (mà điểm đơn giản dễ nhận thấy là không thể dùng truy vấn JOIN được). Lúc đó thì DOCTRINE cũng chỉ đáng vứt đi.

http://www.doctrine-project.org/documentation/cookbook/1_1/en/my-first-project (có thể tham khảo về doctrine tại đây)

OCX

Object Linking and Embedding (OLE) Control Extension

RFC , là một loại tài liệu về các chuẩn internet

ví dụ: RFC 821 (tài liệu về SMPT), RFC 2821 (SMTP phiên bản 2), RFC 793 (TCP)….

RFC ~ tiếng anh là Request for Comments, là một dạng tài liệu cho phép mọi người thảo luận trên nó để đi tới các phiên bản tốt hơn

Vì vậy, khi mà bạn gặp trục trặc với một hệ thống thông tin, và cần tìm hiểu sâu về cơ chế hoạt động của nó, các chuẩn giao thức mà nó sử dụng thì bạn nên tìm kiếm thuật ngữ đó kèm theo từ khóa RFC

Tham khảo

http://vi.wikipedia.org/wiki/RFC#S.E….E1.BB.A7a_RFC

Thuật ngữ liên quan

Internet, SMTP, TCP…

WEKA là một phần mềm thể hiện các giải thuật Data Mining (khai thác dữ liệu) thuộc lĩnh vực Machine Learning (máy học)

Đây là một phần mềm viết bằng Java JDK, hay và cơ bản, được sử dụng trong các bài giảng về các thuật giải Machine Learning ở nhiều trường đại học lớn trên thế giới.

nguồn tham khảo http://www.cs.waikato.ac.nz/ml/weka/

Khái niệm liên quan

Data Mining, Machine Learning

MVC hay Model View Controller, là mô hình phát triển các ứng dụng web với mục đích cốt lõi là tạo ra mô hình phát triển trong đó tách rời các quá trình truy xuất dữ liệu (Model) xử lí logic (Controller) và hiển thị thành trang web (View)

nguồn tham khảo http://en.wikipedia.org/wiki/Model-view-controller

GD là thư viện mã nguồn mở, sử dụng để xử lí ảnh (create, crop, canvas, resize, resample …) ảnh. GD phát huy hiệu quả khi kết hợp với PHP.

nguồn http://www.libgd.org/Main_Page

AGILE (nghĩa là mau lẹ) một phương pháp luận thiết kế, phát triển hệ thống mà các lập trình viên cần phải trang bị. Nó cũng đơn giản thôi (có thể bạn đã làm việc với phương pháp Agile này rồi nhưng bạn chưa biết tên mà thôi). Phần lớn của phương pháp luận này dành cho phát triển ứng dụng Web, Internet…

Do đặc điểm của nó (mau lẹ), Agile phát huy hiệu quả với các dự án nhỏ, không cần quá nhiều người tham gia.

Người làm việc theo phương pháp Agile phải có nhiều kĩ năng tổng hợp.

(Chính nhóm phát triển website chuyenhvt.net cũng đang làm việc theo phương pháp Agile đấy ^^)

nguồn tham khảo http://www.segvn.org/forum/mvnforum/…read_thread,40

Segmentation fault trên các hệ điều hành *nix, đây là một lỗi liên quan tới vấn đề truy xuất bộ nhớ, khi ứng dụng của bạn thực hiện truy xuất tới vùng nhớ mà nó không được cấp thì hệ điều hành sẽ trả về lỗi segmemtation fault.

jQuery một thư viện javascript rất tuyệt vời, phục vụ cho các mục đích chung (với ý nghĩa là: phổ biến) trong việc phát triển các ứng dụng web

jQuery sẽ thay đổi phong cách viết mã javascript của bạn, đó là điều chắc chắn !

nguồn tham khảo http://jquery.com

Stateful & Stateless server

Stateless server là một kiểu kiến trúc server side, trong đó các request khác nhau được trả lời một cách độc lập, không liên quan gì đến các request trước đó. Nói nôm na là: request nào thì biết request đó.

PHP được thiết kế theo kiểu stateless

HTTP server là stateless

Nếu gặp lỗi, lỗi đó sẽ không được thông báo và kết quả vẫn gửi về client.

Stateful ngược lại với stateless, stateful tức là trong quá trình xử lý của server, có xét đến các trạng thái của request trước đó

FTP là Stateful, vì FTP phải lưu các trạng thái của Request trước đó, để đảm bảo việc bạn có quyền và các chế độ tải file đã được thiết lập

Nếu gặp lỗi, lỗi đó sẽ được khắc phục trước khi trả về client (cũng đúng thôi, trao đổi các file dữ liệu mà sinh lỗi thì còn làm ăn chi nữa ).

nguồn tham khảo http://www.javavietnam.org/javavn/mv…ad_thread,3673

MVC PUSH, MVC PULL lại nói về MVC dành cho ứng dụng nền web, thiên hạ thường tranh luận về MVC kiểu PUSH và MVC kiểu PULL

MVC PUSH, là kiểu MVC lấy Controller làm trung tâm. Controller thực hiện các business logic, lấy thông tin trong CSDL… sau đó PUSH tất cả ra View tương ứng.

MVC PULL, là kiểu MVC lấy View làm trung tâm. Ta sẽ có cảm giác như là tự View sẽ kéo dữ liệu ra. Cộng cụ để kéo dữ liệu ra gọi là các Presentation.

Về mặt bản chất, khi chạy, MVC PULL sẽ được compiled, tạo ra phiên bản chạy, phiên bản chạy đó lại chính là một MVC kiểu PUSH.

SVN & CVS
SVN subversion
CVS Concurrent Versions System

Là hai phần mềm sử dụng để quản lý phiên bản mã nguồn.

1. Giúp cho nhóm phát triển phân chia công việc. Không chồng chéo lên nhau.
2. Kiểm soát được sự thay đổi mã nguồn giữa các phiên bản.
3. Giúp cho việc triển khai sản phẩm dễ dàng hơn (nôm na là: sẽ không cần phải dùng usb để copy nữa mà sẽ sử dụng tính năng export từ server mã gốc tới nơi cần triển khai – tất nhiên là trong điều kiện có internet)

Người làm phần mềm, không sớm thì muộn cũng phải sử dụng công cụ này.

Nếu ai sử dụng Linux thường xuyên thì còn thấu hiểu vai trò quan trọng của version control & repository hơn nữa.

Ngoài ra còn có Source Safe sử dụng cho Visual Studio .NET.


https://datgs.wordpress.com/2009/07/0…01;ng-windows/

KDE & GNOME

KDE & GNOME là hai môi trường đồ họa nổi bật trong hàng tá môi trường đồ họa đã được thử nghiệm với hệ điều hành *linux.

KDE: Kommon Desktop Environment, là môi trường đồ họa của hệ điều hành linux gần giống với windows. Vì vậy, với những người mới chuyển sang sử dụng linux, KDE là sự lựa chọn tốt.

GNOME: GNU Network Object Model Environment, sử dụng môi trường GNOME sẽ khiến những người đã quen thuộc với windows không tránh khỏi bỡ ngỡ. Tuy nhiên cũng chính vì sự khác biệt khá lớn với môi trường làm việc của windows nên GNOME rất được sự ủng hộ của cộng đồng mã nguồn mở.

Rapid SVN có yếu điểm là không tự động cập nhật trạng thái mới nhất của working directory & repository thì phải. Anh dùng thấy như thế.

Vì vậy khi dùng RapidSVN thì phải dò đến tận file có thay đổi để cập nhật, chết mệt.

Còn Source Safe thì chuyên xài cho Visual Studio ở chỗ ngoài SS server thì SS client có một plugin với môi trường phát triển Visual Studio.

Visual SS (client) tự động thông báo trạng thái mới nhất của working directory & repository nên tiện dụng hơn (người dùng hầu như chỉ cần lựa chọn các checkbox (các thay đổi) ấn nút checkin, checkout là xong.

Xét một cách toàn diện, developers không cần quá quan tâm đến việc exploring working directory (thư mục làm việc) (điều này đã có các môi trường phát triển làm giúp rồi). Mà chỉ quan tâm đến việc có cái gì mới trên repository, và có những thay đổi gì trên working directory để checkout & commit.

JSON

Viết tắt của JavaScript Object Notation (dịch sơ sơ là phiếu đối tượng JavaScript). Thực ra chỉ là dịch chơi thôi, cứ gọi là JSON là hay hơn cả.

Xem thêm ở đây http://www.json.org/

Nó là một chuẩn để định dạng dữ liệu, về mặt này, có thể so sánh JSON với XML YAML…

Tại sao JSON có liên quan đến Javacript. Đơn giản là vì JSON chính là cách biểu diễn một đối tượng Javascript.

Khi sử dụng Json với Javascript, không cần phải có các bước phân tích phức tạp như đối với XML. Mà có thể truy vấn trực tiếp giá trị theo tên (khóa) được định nghĩa trong JSON.

JSON là một chuẩn cực kỳ quan trọng trong lập trình webclient. Tương tác client-server (ajax chẳng hạn) với JSON đỡ mệt hơn sử dụng XML rất nhiều.

Đối với lập trình viên clientscript. Nó rút ngắn thời gian viết mã.

LINQ

Language Integrated Query, tạm dịch là ngôn ngữ truy vấn tích hợp

Có thể đọc bài này để thấy cảm nhận của một code về linQ
http://my.opera.com/phult/blog/linq-…ng-ve-ngon-ngu

Muốn hiểu rõ vai trò của LinQ, trước hết bạn phải là một người đã từng “vật lộn” với hàng mớ SQL, XML lẫn lộn, từng dòng kết nối (ConnectionString) dài ngoằng ngoặc cho các hệ quản trị CSDL khác nhau.

LinQ giúp bạn đơn giản hóa các điều đó.

Xem thêm ở đây
http://www.codeproject.com/KB/linq/L…n%20and%20Goal

Chú ý rằng LinQ chỉ xuất hiện ở .NET framework 3.5.

Bên phía Java cũng có ORM tương tự là Hibernate (tất nhiên là Hibernate ra đời trước).

3 comments

    1. Hi Ngọc Châu,

      Anh cũng chỉ sử dụng Source Version ở mức ứng dụng thôi, cũng chưa biết nhiều về kiến trúc hay mô hình bên trong của nó. Hệ thống database của SVN cũng khá phức tạp, và có lẽ chỉ những người trong cuộc (phát triển) mới có thể hiểu hết mô hình của nó.

      Theo anh, quan trọng nhất của Source Version hay các lưu trữ có phiên bản (wiki chẳng hạn) đó là module so sánh nguồn, module này bao hàm giải thuật để so sánh giữa hai mã nguồn, và SVN chỉ lưu trữ sự khác biệt này qua từng phiên bản.

      Khi export hoặc checkout, svn sẽ trả về phiên bản cuối cùng, là tổng hợp của các thay đổi từ revision 0 đến revision hiện tại.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s