Pages

Thursday, November 4, 2010

ASPX VÀ CÁC TAG INLINE

<%-- ... --%>

* Tên: Server Comment
* Công dụng: dùng để comment các code theo dạng comment của server ngôn ngữ lập trình. Các đoạn code trong comment này không được trình biên dịch thực thi.
* Ghi chú: Không được lồng (nested) các server comment này với nhau
* Ví dụ:

<%--

--%>



* Tên: HTML Comment
* Công dụng: dùng để comment code HTML, khi này trình biên dịch sẽ render dữ liệu trong phần code comment này cũng như thực thi các hàm (nếu có)...
* Ghi chú: hạn chế dùng HTML comment, nên dùng Server Comment
* Ví dụ:



<% ... %>

* Tên: Embedded Code Blocks
* Công dụng: thực thi một tập lệnh của ngôn ngữ lập trình mà trang aspx đang chọn.
* Ghi chú:
* Ví dụ:

<% if (User.IsInRole("admin")) { %>
You can see this
<% } else { %>
You are no admin fool!
<% } %>

<%= ... %>

* Tên: Displaying
* Công dụng: dùng để render ra 1 chuỗi (hoặc 1 số) tại vị trí để tag này.
* Ghi chú:
* Ví dụ:

The Date is now <%= DateTime.Now.ToShortDateString() %>

Tag <%= .. %> có thể tương đương với tag <% .. %> bằng cách sau


The Date is now <% CurrentDateTime(); %>

<%# ... %>

* Tên: Data-Bind
* Công dụng: kết hợp với hàm Eval() hoặc Bind() để lấy dữ liệu từ các control dữ liệu như: DataGrid, ListView, Repeater, ....
* Ghi chú:
* Ví dụ:



<%# Eval("MeetingName") %>



<%$ ... %>

* Tên: ASP.NET expression
* Công dụng: sử dụng như một biểu thức, và thường đi với các DataSource
* Ghi chú:
* Ví dụ:

+ Nội dụng file web.config



connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
providerName="System.Data.SqlClient" />




+ Nội dung file aspx

SelectCommand="SELECT * FROM [Employees]"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>">


<%@ ... %>

* Tên: Directive Syntax
* Công dụng: dùng để khai báo các dẫn xuất, và thường được đặt ở đầu trang aspx
* Ghi chú:
* Ví dụ:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<%@ Register TagPrefix="wp" Namespace="CustomWebParts" %>

<%: ... %>

* Tên: code-nugget expressions
* Công dụng: tương đương tag <%= ... %>, tuy nhiên lúc này asp.net engine tự động encoding phần output
* Ghi chú: Chỉ có tác dụng đối với asp.net 4. (và những ai lập trình asp.net 4 trở lên thì khuyên dùng tag <%: .. %> này hơn là dùng tag: <%= ... %>
* Ví dụ: hai ví dụ 1 và 2 dưới đây là tương đương nhau, tuy nhiên chỉ có ví dụ 2 thì phải chạy trên nền .NET 4

+ Ví dụ 1


<%= Server.HtmlEncode("This is a test ") %>


+ Ví dụ 2


<%: "This is a test " %>


Hy vọng bài viết giúp bạn hiễu rõ thêm đôi chút về các tag inline của asp.net. Bài viết còn nhiều thiếu sót mong các bạn thông cảm.

Wednesday, October 6, 2010

Các phím tắt mới trong Windows 7

Windows 7 chứa một loạt phím shortcut mới để người sử dụng nhanh chóng chuyển đổi giữa các ứng dụng, di chuyển cửa sổ trong khuôn khổ màn hình, phóng to, thu nhỏ kích thước...

Phím tắt quản lý Windows
Win + Home Thu nhỏ tất cả cửa sổ, trừ cửa sổ đang sử dụng.
Win + Space Biến các cửa sổ trở nên trong suốt để có thể thấy desktop.
Win + Mũi tên lên Phóng to cửa sổ.
Shift + Win +
Mũi tên lên Chỉnh tối đa kích thước cửa sổ theo chiều dọc.
Win + Mũi tên xuống Thu nhỏ cửa sổ.
Win + Mũi tên phải/trái Chuyển cửa sổ về nửa bên phải hoặc trái màn hình.
Shift + Win + Mũi tên phải/trái Chuyển sang màn hình phải/trái.
Kéo cửa sổ lên trên cùng Phóng to cửa sổ.
Kéo cửa sổ sang trái/phải Chỉnh cửa sổ có kích cỡ bằng nửa màn hình.
Lắc cửa sổ Thu nhỏ các cửa sổ trừ cửa sổ đang sử dụng.
Click đúp viền trên cửa sổ Phóng to cửa sổ theo chiều dọc.

Phím tắt Taskbar
Win + số (1-9) Mở ứng dụng nằm theo thứ tự trong taskbar hoặc chuyển sang ứng dụng đó.
Ctrl + Win + số (1-9) Duyệt qua các cửa sổ đang mở của ứng dụng nằm trong taskbar (theo thứ tự).
Alt + Win + số (1-9) Mở Jump List của ứng dụng trong taskbar (theo thứ tự)
Win + T Duyệt các item trong taskbar.
Win + B Chuyển đến các icon System Tray
Shift + bấm chuột phải vào một phím taskbar Hiển thị menu của chương trình.

Một số phím tắt khác
Ctrl + Shift + N Tạp một folder mới trong Windows Explorer.
Alt + Mũi tên lên Di chuyển lên một thư mục.
Alt + P Mở/ẩn bảng duyệt trước (preview) trong Windows Explorer.
Win + P Điều chỉnh chế độ máy chiếu.
Win + dấu +/- Phóng to, thu nhỏ.
Win + G Duyệt các Windows Gadgets trên màn hình.
Win + L Khóa máy.
Win + Tab Chuyển giao diện desktop thành 3D.

Tuesday, October 5, 2010

How to Clear filesystem memory cache

he linux Kernels 2.6.16 and Newer kernels provide a mechanism to have the kernel drop the page cache and/or inode and dentry caches on command, which can help free up a lot of memory.

You have to first check the memory usage with command

#free -m

To use /proc/sys/vm/drop_caches, Now echo a number to it.

To free pagecache:
# echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:
# echo 3 > /proc/sys/vm/drop_caches

As this is a non-destructive operation and dirty objects are not freeable, run sync first!
sync; echo 3 > /proc/sys/vm/drop_caches

How the command works :

root@sserver # free -m
total used free shared buffers cached
Mem: 12174 7824 4349 0 414 5953
-/+ buffers/cache: 1456 10718
Swap: 24003 241 23761

root@server # sync; echo 3 > /proc/sys/vm/drop_caches

root@server # free -m
total used free shared buffers cached
Mem: 12174 1684 10489 0 9 125
-/+ buffers/cache: 1549 10624
Swap: 24003 241 23761


Monday, September 27, 2010

How to Backup and Restore (Export and Import) MySQL Databases Tutorial

phpMyAdmin can be used to export or backup MySQL databases easily. However, if the database size is very big, it probably won’t be a good idea. phpMyAdmin allows users to save database dump as file or display on screen, which involves exporting SQL statements from the server, and transmitting the data across slower network connection or Internet to user’s computer. This process slow the exporting process, increase database locking time and thus MySQL unavailability, slow the server and may simply crash the Apache HTTPD server if too many incoming web connections hogging the system’s resources.

Saturday, June 19, 2010

Hướng dẫn Reset password root mysql (Windows & Linux )

Hướng dẫn rest password root mysql:
* Server Windows:
B1:
- Stop service mysql
+ C:\>net stop mysql
or:
+ Start -> Run -> services.msc. Tìm đến service mysql -> Stop.



B2:
- Vào thư mục Bin của mysql, Thông thường là C:\Program Files\MySQL\MySQL Server 5.0\bin. Gõ như sau:
+ C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld-nt –skip-grant-tables

Mọi người cứ để shell DOS đấy. Mở một shell DOS mới.

B3:
- Mở shell DOS mới, gõ:
+C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot

Ok, mọi người đã login vào root rồi đấy. Giờ thực hiện change password mới thôi.

B4:

mysql>use mysql;
mysql>update user set Password=PASSWORD(’new_pass’) WHERE User=’root’;
mysql>flush privileges;
Ok done.
+mysql>exit

Xong mọi người kill process mysql-nt.exe nhé. Rồi mới start lại service mysql.
* server Linux:

B1: Stop mysql:
#service mysql stop

B2:Chạy mysql ở mode safe_mode
# mysqld_safe --skip-grant-tables &
Mọi người cứ để command nay, dung close nhe', Mở một Telnet mới( O day toi dung telnet)


B3:Vào mysql với user root.
# mysql -u root

B4:Reset passwd:
#mysql>use mysql;
#mysql>update user set Password=PASSWORD(’new_pass’) WHERE User=’root’;
#mysql>flush privileges;

# /etc/init.d/mysql stop

B6: Start mysql:
#service mysql start

Friday, June 18, 2010

Command backup thuong dung


Create a backup folder:
mkdir /home/backup chmod 700 /home/backup cd /home/backup

Backup the database
mysqldump -u root -p dbispconfig > dbispconfig.sql

Ex: Backup Folder

tar pcfz software.tar.gz /usr/local/software

Backup the configuration files in /etc
tar pcfz etc.tar.gz /etc

Uznip:
tar xvzf software.tar.gz

Tuesday, June 8, 2010

Tạo file âm thanh tương thích Asterisk

Asterisk chỉ hỗ trợ định dạng wav 8Khz, còn số bit thì từ 8 đến 16bit, tùy theo độ nén.

Nếu bạn muốn dùng file wav nào đó, ví dụ example.wav hoặc foo-in.wav với asterisk, dùng các lệnh sau từ console linux để convert sang chuẩn tương thích Asterisk (thường là ulaw hoặc wav):


Cach kiem tra ổ cứng đầy trong Linux

Trixbox/Asterisk sẽ hoạt động hiệu quả và ổn định cho đến khi ổ cứng bị đầy. Một trong những nguyên nhân có thể do các file logs sinh ra quá lớn (/var/log/asterisk).

Để biết thư mục nào chiếm dung lượng nhiều, hãy dùng lệnh đơn giản sau:


Phân biệt Asterisk, FreePBX.Trixbox, Elastix, PIAF

Nhiều bạn vẫn còn thắc mắc FreePBX là gì, rồi Asterisk và Trixbox có khác gì nhau không? Lại còn Elastix hay PIAF (PBX in a Flash). Bài viết này giúp bạn có cái nhìn tổng quát và rõ ràng cho các khái niệm trên.

Asterisk là phần mềm mã nguồn mở, khởi điểm chạy trên Hệ điều hành linux (hiện có thể chạy trên Windows & Macintosh), đảm nhiệm vai trò làm tổng đài nội bộ.

Để dựng server Asterisk, bạn có thể cài linux (thường dùng CentOS5), xong download gói Asterisk về, compile, cấu hình(*) và chạy. Nếu muốn Asterisk giao tiếp với điện thoại analog hoặc line bưu điện PSTN thì phải download, compile và cấu hình thêm gói ZAPTEL/DAHDI (**). Tất cả các bước trên đòi hỏi phải có kiến thức sâu về linux và asterisk.

(*): việc cấu hình Asterisk sẽ thao tác trực tiếp trên các file .conf, và rất mất thời gian + dễ sai sót. Bạn có thể phải viết hàng trăm, thậm chí hàng nghìn dòng để cấu hình các tính năng cơ bản và khai báo số extension.

(**): ZAPTEL là tên gọi lúc trước, do trùng với tên một công ty nên sau này driver đã được đổi lại thành DAHDI.

Để tránh việc cấu hình Asterisk bằng tay, FreePBX ra đời. Với giao diện WEB dễ dùng, tự động sinh mã code, miễn phí, FreePBX đã được đón nhận nồng nhiệt và trở thành giao diện chuẩn cấu hình Asterisk.

Tuy nhiên, khi triển khai nguyên cụm CentOS, Asterisk, FreePBX, Zaptel... cho nhiều máy thì phải cấu hình lại từ đầu, hoặc import/export các settings lại.
Do đó, để thuận tiện, người ta đã cài sẵn CentOS, Asterisk, FreePBX, Zaptel cùng một số gói hỗ trợ khác, cấu hình đầy đủ, xong đóng gói lại thành các distro của asterisk, gọi là Trixbox, Elastix, PIAF... Mọi người chỉ cần download một trong các phiên bản này về, cài đặt là xong. Muốn cấu hình thêm thì dùng FreePBX có sẵn trong các phiên bản.

Có thể nói nôm na là Trixbox/Elastix/PIAF giống như bản "Ghost" (asterisk+linux+FreePBX+zaptel+các gói hỗ trợ khác) vậy cho dễ hiểu.

(Copy & Paste)

Friday, June 4, 2010

Thay đổi giá trị max_allowed_packet của MySQL

Thay đổi giá trị max_allowed_packet của MySQL

Trong quá trình thao tác với cơ sở dữ liệu, đặc biệt là khi phải restore các database lớn mình thường gặp phải vấn đề với max_allowed_packet của server. Tranh thủ hôm nay động lại món này mình ghi vào đây để sau này có thể tra cứu :)



Có nhiều cách để thay đổi giá trị của biến max_allowed_packet trong MySQL, mình sẽ nói các cách mình đã dùng nhé :D

1. Chỉnh sửa trực tiếp giá trị của biến max_allowed_packet trong file /etc/my.cnf . Sửa dòng này có nội dung thế này:

[mysqld]
max_allowed_packet=16M => điều chỉnh giá trị theo ý bạn muốn. Đừng để lớn quá nhé ;)

2. Điều chỉnh tại chế độ dòng lệnh nhưng không làm khởi động lại (giá trị max_allowed_packet chỉ được áp dụng trong phiên làm việc đó).

mysql> show variables like ‘max_allowed_packet%’ ;
+——————–+———+
| Variable_name | Value |
+——————–+———+
| max_allowed_packet | 1048576 |
+——————–+———+
1 row in set (0.00 sec)

mysql> set max_allowed_packet = 1073741824;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like ‘max_allowed_packet%’ ;
+———————————–+———————+
| Variable_name | Value |
+———————————-+———————+
| max_allowed_packet | 1073741824 |
+——————–+————+———————-+

3. Khởi động lại MySql server với giá trị của biến –max_allowed_packet do bạn chọn.

/etc/init.d/mysqld restart –max_allowed_packet=1024M (hoặc giá trị bạn muốn thay đổi khác).