Optimize Source Code

Download Report

Transcript Optimize Source Code

Thực hiện: Nhóm 24
1
Tại sao cần tối ưu mã nguồn ?
2
Phương pháp tối ưu hóa giao diện.
3
Phương pháp tối ưu hóa xử lý.
4
Phương pháp tối ưu hóa kiến trúc.
5
Các công cụ hỗ trợ tối ưu hóa mã nguồn
Microsoft
Visual Studio
Trình biên
dịch
Netbeans
Eclipse
…
Lập trình bằng
hình thức trực
quan (kéo thả).
Mã nguồn kém
tối ưu.




Kỹ năng tối ưu mã nguồn là một kỹ năng rất
cần thiết đối với lập trình viên.
Một đoạn mã nguồn tốt sẽ tận dụng tối đa ưu
điểm của ngôn ngữ và khả năng xử lý của hệ
thống.
Hầu hết các trình biên dịch phổ biến hiện nay
đều hỗ trợ tốt việc tối ưu mã khi biên dịch.
Tuy nhiên, để đạt hiệu quả tốt nhất, lập trình
viên cũng nên tập thói quen tối ưu mã lệnh
mỗi khi viết chương trình.

Vì sao nên tối ưu hoá giao diện ?
◦ Chương trình phải có bố cục chặt chẽ.
◦ Chương trình phải tiện dụng, thân thiện, dễ hiểu và
dễ sử dụng.
◦ Chương trình phải có tính thẩm mỹ cao, tạo ấn
tượng mạnh đối với người dùng.

Giao diện có những tính chất gì ?
◦ Tính tiện dụng.
◦ Tính thẩm mĩ.
◦ Tính logic.

Giao diện như thế nào gọi là tối ưu ?

Một số chuẩn–quy ước khi thiết kế giao diện:
◦ Các ứng dụng đầu tiên nên có hiển thị giới thiệu về
ứng dụng.
◦ Hầu hết các màn hình, hộp thoại nên có các nút
Minimize, Restore, Close.
◦ Icon ứng dụng phải thích hợp thể hiện được chức
năng mà nó có thể làm.
◦ Tất cả các màn hình hộp thoại cần phải có chú thích
thích hợp theo ngữ cảnh sử dụng.
◦ …
(trích GUI Testing Handbook )

Phương pháp chung:
◦ Tuân theo các chuẩn về giao diện trong quá trình
thiết kế.
◦ Trong quá trình lấy yêu cầu, sử dụng các prototype
sẽ giảm thiểu rủi ro trong quá trình thiết kế giao
diện.
◦ Thiết kế giao diện có thể thay đổi tuỳ theo mục đích
của người sử dụng.
◦ Kiểm thử giao diện bằng các checklist.
◦ Kiểm thử giao diện trên số lượng lớn người sử dụng
và thu thập ý kiến phản hồi.
◦
◦
◦
◦
Giới thiệu chung
Phân phối bộ nhớ cache
Kiến trúc Memcached
DEMO cài đặt và thực hiện các thao tác cơ bản trên
Memcached (ngôn ngữ PHP)




Free & open source được phát triển bởi Danga Interactive for
LiveJournal.
High-performance, distributed memory object caching
system (hệ thống cache phân phối đối tượng bộ nhớ hiệu năng
cao)
Nó chỉ là bộ lưu trữ các record “key-value” (lấy từ việc đọc DB,
từ các hàm gọi API, ...) trong bộ nhớ chính.
Hướng sử dụng: tăng tốc cho các ứng dụng web động bằng
việc giảm tải cơ sở dữ liệu thông qua việc lưu trữ bản sao các
đối tượng (objects) và dữ liệu được truy cập nhiều lần trong
RAM để giảm thiểu số lần phải đọc từ nguồn dữ liệu ngoài
(database, xml, …).



Thiết kế đơn giản của nó đẩy mạnh quá trình
tiển khai, phát triển dễ dàng và giải quyết được
nhiều vấn đề liên quan đến lượng dữ liệu lưu
trữ lớn.
Đa số ngôn ngữ đều có các hàm API hỗ trợ cơ
chế Memcached.
Hầu hết các trang web lớn trên thế giới như:
Youtube, Facebook, Wikipedia, Flickr,
Twitter…đều sử dụng.
Mỗi server thực thi nhiệm vụ hoàn toàn
độc lập nhau.
Chỉ dùng được tối đa là 64MB
cache.
Tất cả các server làm việc trên một vùng
logic chứa bộ nhớ chung cho tất cả.
Mỗi item nhất định được lưu trữ và
luôn được lấy từ cùng 1 vị trí trên
toàn bộ website.
Tổng kích thước cache sử dụng tăng
gấp đôi.

Hệ thống sử dụng kiến trúc server-client:
◦ Server: quản lý mảng các “key-value”
◦ Client: thao tác trên mảng “key-value” và try
vấn trên nó.

Cơ chế liên lạc Client-Server:
◦ Client liên lạc với Server qua tên và port của dịch vụ (mặc
định là 11211).
◦ Nếu một client muốn set hay get một giá trị tương ứng với
một key nào, đầu tiên dựa vào key  tính toán ra một “hash
of key” để xác định server nào đang giữ giá trị của key đó 
liên lạc với server.
◦ Server sẽ tính toán 1 “hash of key” thứ hai để quyết định vị
trí để lưu trữ hay đọc giá trị tương ứng.
◦ Nếu tất cả các thư viện sử dụng trên client có cùng một
thuật toán “hashing” (băm) để xác định server thì các client
có thể đọc được các dữ liệu được cached từ các client khác
 lý tưởng.


Cài đặt cho WINDOWS
Cài đặt để sử dụng cho ngôn ngữ PHP


Tải về memcached-win32
Cài đặt:
◦ Giải nén và chép memcached.exe vào một thư mục
(C:\memcached chẳng hạn).
◦ Để cài đặt dùng lệnh (chạy từ commandline)
C:\memcached\memcached.exe -d install
◦ Để start dịch vụ:
C:\memcached\memcached.exe -d start




Chép tập tin php_memcache.dll vào thư mục
chứa Extensions của PHP.
Nếu chưa có tập tin trên có thể tìm và
download phiên bản phù hợp với phiên bản
PHP.
Tìm file cấu hình php.ini của PHP và thêm vào:
extension=php_memcache.dll.
Khởi động lại Apache.
Hoàn thành. Có thể sử dụng Memcached.
?