How to calculate integral in Matlab

Posted: November 15, 2013 in Matlab

Do you want to calculate integral of a function right now ? Ok, let see

In Matlab, “integral”, “integral2” and “integral3” refer to “adaptive integral”, “double integral”, “triple integral”, respectively

1. Adaptive integral with “integral”

1.1. Syntax

q = integral(f,xmin,xmax)

approximates the integral of funtion f from xmin to xmax

q = integral(f,xmin,xmax,Name,Value)

likes the command above but in this case it specifies additional options with one or more Name, Value pair arguments

1.2. Example

Example1

Example 1_1

Solution

>> f = @(x) exp(-x.^2).*(log(x)).^2;

>> integral(f,0,Inf)

ans =

1.9475

Example 2

Example 2_1

Calculate the integral of f(x) from x = 0 to x = 1

Solution

In this case, f(x) work as an array of functions, so the result from integral will be an array of values

>> f=@(x)sin((1:5)*x)

f =

@(x)sin((1:5)*x)

>> integral(f,0,1,'ArrayValued',true)

ans =

0.4597    0.7081    0.6633    0.4134    0.1433

In this case, we use a pair of argument: “ArrayValued” and “true” to indicate that the result will be an array

For more detail, please see [1]

2. Double integral with “integral2”

2.1. Syntax

q = integral2(f,xmin,xmax,ymin,ymax)

approximates the integral of the function  over the region [xmin, xmax] and [ymin, ymax]

q = integral2(f,xmin,xmax,ymin,ymax,Name,Value)

specifies additional options with one or more pairs of arguments (Name,Value)

2.2. Example

Example 1

Example 1_2

Solution

>> f = @(x,y) 1./(sqrt(x+y).*(1+x+y));

>> ymax = @(x) 1-x;

>> q = integral2(f,0,1,0,ymax)

q =

0.4292

For more detail, please see [2]

3. Triple integral with “integral3”

3.1. Syntax

q = integral3(f,xmin,xmax,ymin,ymax,zmin,zmax)

approximates the integral of the function  over the region [xmin,xmax], [ymin,ymax] and [zmin,zmax]

q = integral3(f,xmin,xmax,ymin,ymax,zmin,zmax,Name,Value)

specifies some additional options in the pair of arguments (Name,Value)

3.2. Example

Example 1

Example 1_3

Solution

>> f = @(x,y,z)y.*sin(x) + z.*cos(x)

>> q = integral3(f,0,pi,0,1,-1,1)

q =

2.0000

Example 2

Example 2_3

Solution

>> f = @(x,y,z) x.*cos(y)+x.^2.*cos(z);

>> zmax = @(x,y) sqrt(1-x.^2-y.^2);

>> zmin = @(x,y) -sqrt(1-x.^2-y.^2);

>> ymax = @(x) sqrt(1-x.^2);

>> ymin = @(x) -sqrt(1-x.^2);

>> q = integral3(f,-1,1,ymin,ymax,zmin,zmax)

q =

0.7796

For more detail, please see [2]

4. References:

[1] http://www.mathworks.com/help/matlab/ref/integral.html

[2] http://www.mathworks.com/help/matlab/ref/integral2.html

[3] http://www.mathworks.com/help/matlab/ref/integral3.html

Here is the pdf version for this article

Seoul, Nov 15,2013

                                                                                                                           ledlong

Tiếp theo bài viết cấu hình Inter-Vlan Routing sử dụng router, trong bài này mình sẽ giới thiệu tới các bạn bài lab cấu hình Inter-Vlan Routing sử dụng switch layer 3. Sơ đồ lab như sau:

Một số yêu cầu của bài lab:

  • VTP:

  • VLAN:

  • Port trên switch:

Các bước thực hiện cấu hình tương tự như bài lab trước, tuy nhiên chúng ta phải enable chức năng định tuyến của switch layer 3:

Kết quả sau khi cấu hình:

  • Trong cùng vlan:

  • Giữa các vlan:

Video clip cấu hình chi tiết: http://www.mediafire.com/download.php?gfh2lvaqx5z7hog

Lab packet tracer: http://www.mediafire.com/download.php?o9256plrk3dqssc

Hà Nội, ngày 13 tháng 05 năm 2013

ledlong

Sau khi chia hạ tầng mạng ra thành nhiều VLAN. Trong đó mỗi VLAN là một broadcast domain, chỉ các thiết bị trong cùng một VLAN mới có thể truyền thông được với nhau. Về nguyên lý chúng ta hoàn toàn có thể kết nối các VLAN bằng cách sử dụng một thiết bị lớp 3 làm vai trò định tuyến. Thiết bị lớp 3 này có thể là router và switch layer 3. Trong bài này mình sẽ giới thiệu tới các bạn bài lab cấu hình Inter-Vlan Routing sử dụng router theo phương thức “Router on a stick”. Sơ đồ lab như sau:

Một số yêu cầu của bài lab:

  • VTP:

vtp vlan

  • VLAN:

vlan

  • Port trên switch access:

Khác

Các bước thực hiện cấu hình bài lab này như sau:

  1. Các cấu hình ban đầu cho thiết bị
  2. Cấu hình VTP
  3. Cấu hình VLAN
  4. Cấu hình Inter-Vlan Routing
  5. Cấu hình access-list để tùy chỉnh việc truy cập giữa các VLAN nếu cần thiết

Bước 1: Các cấu hình ban đầu cho thiết bị:

Thông thường trước khi cấu hình các bài lab, việc cấu hình các thông số cơ bản như hostname, password enable, cách mã hóa, password telnet, … cho thiết bị là điều rất cần thiết. Trong thực tế, việc cấu hình này sẽ ngăn chặn việc truy cập trái phép của người dùng truy cập vào thiết bị mạng:

Cấu hình này được thực hiện tương tự trên các thiết bị mạng còn lại

Bước 2: Cấu hình VTP:

Mục đích của VTP là để đồng bộ cơ sở dữ liệu về VLAN của hệ thống mạng. Giao thức này đặc biệt hữu ích khi chúng ta có mạng quy mô lớn. Việc thay đổi VLAN sẽ được thực hiện trên VTP mode server. Các thay đổi này sẽ được đồng bộ trên các thiết bị được cấu hình VTP mode client có cùng giá trị domain, password và version. Trong bài lab này, switch1 sẽ là mode server còn switch2, 3 sẽ là mode client:

Việc cấu hình trên switch2 và switch3 hoàn toàn tương tự, chỉ thay giá trị “vtp mode server” bằng “vtp mode client”

Kiểm tra cấu hình vtp:

Để đồng bộ VLAN giữa các switch, đường kết nối giữa các switch phải được cấu hình trunk như sau:

Trong bài lab này, switch1 và switch2 kết nối với nhau thông qua kết nối giữa interface fa0/1 (switch1) và fa0/1 (switch1). Chính vì vậy interface fa0/1 của switch1 và interface fa0/1 của switch2 phải được cấu hình mode trunk. Tương tự với các interface khác.

Cũng cần phải lưu ý rằng, trong mô hình “router on a stick”, interface của switch kết nối với router phải được cấu hình mode trunk (fa0/24)

Bước 3: Cấu hình VLAN:

Vì VTP đã được cấu hình trên các switch, nên chúng ta chỉ thực hiện việc add VLAN trên switch1 (mode server). Thông tin về các VLAN sẽ được đồng bộ trên các switch còn lại:

Kiểm tra VLAN sau khi cấu hình:

Thông tin VLAN trên switch2, switch3 sau khi đồng bộ:

Cấu hình access port trên switch2 và switch3 để kết nối PC và server vào mạng:

Cấu hình native vlan cho mục đích quản lý:

Kiểm tra các port trunk:

Bước 4: Cấu hình Inter-Vlan Routing trên Router:

Lưu ý:

  • Các sub-interface phải được “encapsulation dot1Q” trước khi cấu hình địa chỉ IP. Nếu không thực hiện lệnh này, bạn cũng sẽ không thể cấu hình địa chỉ IP
  • “no shutdown” interface fa0/0 sau khi cấu hình cho các sub-interface
  • Bạn không phải “no shutdown” cho các sub-interface

Kiểm tra các interface và bảng định tuyến sau khi cấu hình trên router:

Cấu hình địa chỉ IP cho các PC và server để chuẩn bị thực hiện test mạng:

Thực hiện kiểm tra kết nối giữa các VLAN. Từ PC1 (192.168.10.10) lần lượt thực hiện ping tới các thiết bị trong cùng VLAN và khác VLAN với nó:

Như vậy là việc cấu hình Inter-Vlan Routing đã đúng.

Bước 5: Cấu hình access-list để tùy chỉnh việc truy cập giữa các VLAN nếu cần thiết

Giả sử bạn muốn giới hạn quyền truy cập của một số user từ VLAN này tới các VLAN khác. Khi đó bạn phải thực hiện cấu hình access-list để thực hiện điều này. Trong bài lab này, chúng ta sẽ thực hiện chặn lệnh ping được thực hiện từ PC1 (192.168.10.10) tới các server trong VLAN 20. Ta sẽ thực hiện tạo access-list 100 và add nó vào sub-interface fa0/0.10 như sau:

Lưu ý: mặc định access-list sẽ “deny all” khi không tìm được điều kiện nào phù hợp, chính vì vậy ta phải add điều kiện sau:

để các PC khác có thể ping được tới các server trong VLAN 20

Add access-list vào sub-interface fa0/0.10:

Kiểm tra kết quả:

Như vậy kết quả đúng như chúng ta mong đợi. PC1 không thế ping được tới các thiết bị của VLAN 2 trong khi đó các PC khác vẫn có thể ping được bình thường

Trong bài tiết theo mình sẽ trình bày cách cấu hình Inter-Vlan Routing trên thiết bị switch lớp 3

Video clip cấu hình chi tiết: http://www.mediafire.com/download.php?d9g51tk5uz76xsm

Lab packet tracer: http://www.mediafire.com/download.php?7xkwk3ci7uv2tka

Hà Nội, ngày 13 tháng 05 năm 2013

ledlong

MySQL Tutorial (part 2)

Posted: April 21, 2013 in Database, MySQL

14. UPDATE command:

UPDATE <Table_Name> SET (Column_Name = ‘value’) WHERE (Condition);

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
| 11 | Le Vinh Hien      |
+----+-------------------+
7 rows in set (0.00 sec)
mysql> update authors set Name = 'Le Van Hue' where Id = 11;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
| 11 | Le Van Hue        |
+----+-------------------+
7 rows in set (0.00 sec)
mysql>

15. DELETE command:

DELETE FROM <Table_Name> WHERE (Condition);

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
| 11 | Le Van Hue        |
+----+-------------------+
7 rows in set (0.00 sec)
mysql> delete from authors where Id = 11;
Query OK, 1 row affected (0.03 sec)
mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
+----+-------------------+
6 rows in set (0.00 sec)
mysql>

16. WHERE command:

… WHERE (Condition);

This command often accompanies some commands like SELECT, UPDATE, DELETE if you want to receive a result that depends on a condition.

a.With SELECT command:

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
+----+-------------------+
6 rows in set (0.02 sec)
mysql> select * from books;
+----+----------+----------------------+
| Id | AuthorId | Title                |
+----+----------+----------------------+
| 1  | 1        | Call of the Wild     |
| 2  | 1        | Martin Eden          |
| 3  | 2        | Old Goriot           |
| 4  | 2        | Cousin Bette         |
| 5  | 3        | Jew Suess            |
| 6  | 4        | Nana                 |
| 7  | 4        | The Belly of Paris   |
| 8  | 5        | In Cold blood        |
| 9  | 5        | Breakfast at Tiffany |
+----+----------+----------------------+
9 rows in set (0.03 sec)
mysql> select authors.Name, books.Title from (authors, books) where (authors.Id=books.AuthorId);
+-------------------+----------------------+
| Name              | Title                |
+-------------------+----------------------+
| Jack London       | Call of the Wild     |
| Jack London       | Martin Eden          |
| Honore de Balzac  | Old Goriot           |
| Honore de Balzac  | Cousin Bette         |
| Lion Feuchtwanger | Jew Suess            |
| Emile Zola        | Nana                 |
| Emile Zola        | The Belly of Paris   |
| Truman Capote     | In Cold blood        |
| Truman Capote     | Breakfast at Tiffany |
+-------------------+----------------------+
9 rows in set (0.00 sec)
mysql>

b. With DELETE command:

See in the 19 section

c. With UPDATE command:

See in the 18 section

17. ORDER BY command:

If you want to arrange an output in an increment or decrement order:
Without arrangement:

mysql> select authors.Name, books.Title from (authors, books) where (authors.Id=books.AuthorId);
+-------------------+----------------------+
| Name              | Title                |
+-------------------+----------------------+
| Jack London       | Call of the Wild     |
| Jack London       | Martin Eden          |
| Honore de Balzac  | Old Goriot           |
| Honore de Balzac  | Cousin Bette         |
| Lion Feuchtwanger | Jew Suess            |
| Emile Zola        | Nana                 |
| Emile Zola        | The Belly of Paris   |
| Truman Capote     | In Cold blood        |
| Truman Capote     | Breakfast at Tiffany |
+-------------------+----------------------+
9 rows in set (0.00 sec)

a.In decrement order:

ORDER BY <Column_name> DESC

mysql> select authors.Name, books.Title from (authors, books) where (authors.Id=books.AuthorId) order by authors.Name DESC;
+-------------------+----------------------+
| Name              | Title                |
+-------------------+----------------------+
| Truman Capote     | In Cold blood        |
| Truman Capote     | Breakfast at Tiffany |
| Lion Feuchtwanger | Jew Suess            |
| Jack London       | Call of the Wild     |
| Jack London       | Martin Eden          |
| Honore de Balzac  | Old Goriot           |
| Honore de Balzac  | Cousin Bette         |
| Emile Zola        | Nana                 |
| Emile Zola        | The Belly of Paris   |
+-------------------+----------------------+
9 rows in set (0.02 sec)
mysql>

b. In increment order:

ORDER BY <Column_Name> ASC;

mysql> select authors.Name, books.Title from (authors, books) where (authors.Id=books.AuthorId) order by authors.Name ASC;
+-------------------+----------------------+
| Name              | Title                |
+-------------------+----------------------+
| Emile Zola        | Nana                 |
| Emile Zola        | The Belly of Paris   |
| Honore de Balzac  | Old Goriot           |
| Honore de Balzac  | Cousin Bette         |
| Jack London       | Call of the Wild     |
| Jack London       | Martin Eden          |
| Lion Feuchtwanger | Jew Suess            |
| Truman Capote     | In Cold blood        |
| Truman Capote     | Breakfast at Tiffany |
+-------------------+----------------------+
9 rows in set (0.00 sec)
mysql>

18. GROUP BY command:

GROUP BY clause is used to combine database records with identical values into a single record.

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
| 12 | Jack London       |
| 13 | Emile Zola        |
| 14 | Le Duong Long     |
| 15 | Le Vinh Hien      |
+----+-------------------+
10 rows in set (0.00 sec)
mysql> select * from authors group by Name;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 4  | Emile Zola        |
| 2  | Honore de Balzac  |
| 1  | Jack London       |
| 6  | Le Duong Long     |
| 15 | Le Vinh Hien      |
| 3  | Lion Feuchtwanger |
| 5  | Truman Capote     |
+----+-------------------+
7 rows in set (0.00 sec)
mysql>

Another example:

mysql> select * from sales;
+----+-------------------+------+
| Id | Name              | sell |
+----+-------------------+------+
| 1  | Le Duong Long     | 12   |
| 2  | Tran Thu Ha       | 2    |
| 3  | Le Vinh Hien      | 20   |
| 4  | Duong Thi Hop     | 30   |
| 5  | Hoang Minh Phuong | 3    |
| 6  | Le Van Hue        | 23   |
| 7  | Tran Thu Ha       | 24   |
| 8  | Duong Thi Hop     | 43   |
| 9  | Hoang Minh Phuong | 39   |
| 10 | Le Duong Long     | 112  |
| 11 | Le Vinh Hien      | 200  |
+----+-------------------+------+
11 rows in set (0.00 sec)
mysql> select Name, sum(sell) from sales group by Name;
+-------------------+-----------+
| Name              | sum(sell) |
+-------------------+-----------+
| Duong Thi Hop     | 73        |
| Hoang Minh Phuong | 42        |
| Le Duong Long     | 124       |
| Le Van Hue        | 23        |
| Le Vinh Hien      | 220       |
| Tran Thu Ha       | 26        |
+-------------------+-----------+
6 rows in set (0.00 sec)
mysql>

19. LIMIT command:

If you want to limit the number of rows which is displayed in output results:

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
+----+-------------------+
6 rows in set (0.01 sec)
mysql> select * from authors limit 4;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
+----+-------------------+
4 rows in set (0.00 sec)
mysql>

Sometime GROUP BY and HAVING go together as follow:

mysql> select Name, sum(sell) from sales group by Name;
+-------------------+-----------+
| Name              | sum(sell) |
+-------------------+-----------+
| Duong Thi Hop     | 73        |
| Hoang Minh Phuong | 42        |
| Le Duong Long     | 124       |
| Le Van Hue        | 23        |
| Le Vinh Hien      | 220       |
| Tran Thu Ha       | 26        |
+-------------------+-----------+
6 rows in set (0.00 sec)
mysql> select Name, sum(sell) from sales group by Name having sum(sell) > 100;
+---------------+-----------+
| Name          | sum(sell) |
+---------------+-----------+
| Le Duong Long | 124       |
| Le Vinh Hien  | 220       |
+---------------+-----------+
2 rows in set (0.00 sec)
mysql>

20. LIKE command:

mysql> select * from sales;
+----+-------------------+------+
| Id | Name              | sell |
+----+-------------------+------+
| 1  | Le Duong Long     | 12   |
| 2  | Tran Thu Ha       | 2    |
| 3  | Le Vinh Hien      | 20   |
| 4  | Duong Thi Hop     | 30   |
| 5  | Hoang Minh Phuong | 3    |
| 6  | Le Van Hue        | 23   |
| 7  | Tran Thu Ha       | 24   |
| 8  | Duong Thi Hop     | 43   |
| 9  | Hoang Minh Phuong | 39   |
| 10 | Le Duong Long     | 112  |
| 11 | Le Vinh Hien      | 200  |
+----+-------------------+------+
11 rows in set (0.00 sec)

I just want to list out who has name with letter L at the beginning:

mysql> select * from sales where Name like 'L%';
+----+---------------+------+
| Id | Name          | sell |
+----+---------------+------+
| 1  | Le Duong Long | 12   |
| 3  | Le Vinh Hien  | 20   |
| 6  | Le Van Hue    | 23   |
| 10 | Le Duong Long | 112  |
| 11 | Le Vinh Hien  | 200  |
+----+---------------+------+
5 rows in set (0.00 sec)

Other examples:

mysql> select distinct Name from sales where Name like 'H%';
+-------------------+
| Name              |
+-------------------+
| Hoang Minh Phuong |
+-------------------+
1 row in set (0.00 sec)
mysql> select distinct Name from sales where Name like '%H%';
+-------------------+
| Name              |
+-------------------+
| Tran Thu Ha       |
| Le Vinh Hien      |
| Duong Thi Hop     |
| Hoang Minh Phuong |
| Le Van Hue        |
+-------------------+
5 rows in set (0.00 sec)
mysql>

21. AS command:

Display output results are in an another name

mysql> select * from sales;
+----+-------------------+------+
| Id | Name              | sell |
+----+-------------------+------+
| 1  | Le Duong Long     | 12   |
| 2  | Tran Thu Ha       | 2    |
| 3  | Le Vinh Hien      | 20   |
| 4  | Duong Thi Hop     | 30   |
| 5  | Hoang Minh Phuong | 3    |
| 6  | Le Van Hue        | 23   |
| 7  | Tran Thu Ha       | 24   |
| 8  | Duong Thi Hop     | 43   |
| 9  | Hoang Minh Phuong | 39   |
| 10 | Le Duong Long     | 112  |
| 11 | Le Vinh Hien      | 200  |
+----+-------------------+------+
11 rows in set (0.00 sec)
mysql> select Name, sum(sell) as summary from sales group by Name;
+-------------------+--------+
| Name              | sumary |
+-------------------+--------+
| Duong Thi Hop     | 73     |
| Hoang Minh Phuong | 42     |
| Le Duong Long     | 124    |
| Le Van Hue        | 23     |
| Le Vinh Hien      | 220    |
| Tran Thu Ha       | 26     |
+-------------------+--------+
6 rows in set (0.00 sec)
mysql>

22. Change password for an existing user:

a. The first way:

mysql> use mysql;
Database changed
mysql> select Host, User, Password from user;
+-----------+---------+-------------------------------------------+
| Host      | User    | Password                                  |
+-----------+---------+-------------------------------------------+
| localhost | root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin   | *3620754A963ECB3D7296097F9DA00C1FA5476B03 |
| localhost | ledlong | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql> set password for 'admin'@'localhost' = password('123456');
Query OK, 0 rows affected (0.00 sec)
mysql> select Host, User, Password from user;
+-----------+---------+-------------------------------------------+
| Host      | User    | Password                                  |
+-----------+---------+-------------------------------------------+
| localhost | root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin   | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | ledlong | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql>

b. The second way:

mysql> grant all privileges on testdb.* to 'admin'@'localhost' identified by '123abc';
Query OK, 0 rows affected (0.05 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)
mysql> select Host, User, Password from user;
+-----------+---------+-------------------------------------------+
| Host      | User    | Password                                  |
+-----------+---------+-------------------------------------------+
| localhost | root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin   | *3620754A963ECB3D7296097F9DA00C1FA5476B03 |
| localhost | ledlong | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql>

c. The third way:

mysql> select Host, User, Password from user;
+-----------+---------+-------------------------------------------+
| Host      | User    | Password                                  |
+-----------+---------+-------------------------------------------+
| localhost | root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin   | *3620754A963ECB3D7296097F9DA00C1FA5476B03 |
| localhost | ledlong | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql> update mysql.user set Password = password('123456') where user = 'admin' and host = 'localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)
mysql> select Host, User, Password from user;
+-----------+---------+-------------------------------------------+
| Host      | User    | Password                                  |
+-----------+---------+-------------------------------------------+
| localhost | root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin   | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | ledlong | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql>

23. Quit MySQL:

mysql> quit;

24. Backup database:

You can use mysqldump tool to backup database:
If you install mysql server on a Windows machine, you can find out mysqldump tool in C:\Program Files\MySQL\MySQL Server 5.5\bin>
You can backup databases as follow:

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -u root -p testdb > C:\testdb.sql
Enter password: ******

The above clause will generate testdb.sql file into C partition. This file will contain all of commands which are used to backup for testdb database.
You can backup multiple databases in mysql through following clause:

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -u root -p --databases testdb mysql > C:\testdb.sql
Enter password: ******

You also can backup all of databases in mysql through following clause:

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -u root -p --all-databases > C:\testdb.sql
Enter password: ******

Note that: In Windowns operating system, mysql and musqldump are seperated programs, so you cannot backup database directly in mysql program if using mysqldump. In Linux environment, you can perform directly mysqldump command in mysql

25. Backup table:

If you just want to backup a table or some tables in a database in mysql, you can do as follow:

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump.exe -u root -p testdb sales > sales.sql
Enter password: ******

The above clause can help you to backup the table sales from the database testdb and generate to sales.sql file. This file is placed in the same folder with mysqldump tool. Certainly, you can identify where is sales.sql placed.

26. Restore a database:

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u root -p testdb < C:\testdb.sql
Enter password: ******

Please see the attached file for more details: Some commands in MySQL

Reference:
[1] http://zetcode.com/databases/mysqltutorial/

Hanoi, April 21th, 2013
ledlong

MySQL Tutorial (part 1)

Posted: April 21, 2013 in Database, MySQL

Some commands in MySQL you need to be remembered:

1. Show version:

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.5.12    |
+-----------+
1 row in set (0.03 sec)
mysql>

2. Create a new database:

mysql> create database demo;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
6 rows in set (0.00 sec)
mysql>

3. Create a new table:

mysql> create table audience (Id int primary key auto_increment, Name varchar(100)) engine = InnoDB;
Query OK, 0 rows affected (0.16 sec)
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| audience         |
| authors          |
| books            |
| images           |
| testing          |
+------------------+
5 rows in set (0.00 sec)
mysql>

4. Show databases:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
5 rows in set (0.44 sec)
mysql>

5. Show tables:

mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| authors          |
| books            |
| images           |
| testing          |
+------------------+
4 rows in set (0.05 sec)
mysql>

6. Describe the structure of a table:

mysql> describe audience;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| Id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(100) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.05 sec)
mysql>

Other way:


mysql> show create table audience;
+----------+--------------------------------------------------------------------------------+
| Table    | Create Table                                                                   |
+----------+--------------------------------------------------------------------------------+
| audience | CREATE TABLE `audience` (`Id` int(11) NOT NULL AUTO_INCREMENT,`Name` varchar(100) DEFAULT NULL, PRIMARY KEY (`Id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1         |
+----------+--------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>

7. Use a database:

We have to use this command before you want to interact with a database and its tables.

mysql> use testdb;
Database changed
mysql>

8. Create a new user:

mysql> create user 'ledlong'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.03 sec)
mysql> use mysql;
Database changed
mysql> select Host, User, Password from user;
+-----------+---------+-------------------------------------------+
| Host      | User    | Password                                  |
+-----------+---------+-------------------------------------------+
| localhost | root    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin   | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | ledlong | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql>

9. Grant privilege for a user:

mysql> grant all privileges on testdb.* to 'ledlong'@'localhost';
Query OK, 0 rows affected (0.00 sec)

This way can be used when you have already created a new user before.
Other way:

mysql> grant all privileges on testdb.* to 'ledlong'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

This way can be used when you have not created a new user before.
Use “flush privileges” command to active all privileges above:

mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

10. Drop a database:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
6 rows in set (0.00 sec)
mysql> drop database test;
Query OK, 0 rows affected (0.36 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| testdb             |
+--------------------+
5 rows in set (0.00 sec)
mysql>

11. Drop a table:

mysql> use testdb;
Database changed
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| audience         |
| authors          |
| books            |
| images           |
| testing          |
+------------------+
5 rows in set (0.00 sec)
mysql> drop table audience;
Query OK, 0 rows affected (0.41 sec)
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| authors          |
| books            |
| images           |
| testing          |
+------------------+
4 rows in set (0.00 sec)
mysql>

12. SELECT command:

SELECT (Columns_Name) FROM (Tables_Name);

mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| authors          |
| books            |
| images           |
| testing          |
+------------------+
4 rows in set (0.08 sec)

If you want to show all field of a table:

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
+----+-------------------+
6 rows in set (0.05 sec)

Or if you only want to show some specific fields of a table:

mysql> select Name from Authors;
+-------------------+
| Name              |
+-------------------+
| Jack London       |
| Honore de Balzac  |
| Lion Feuchtwanger |
| Emile Zola        |
| Truman Capote     |
| Le Duong Long     |
+-------------------+
6 rows in set (0.01 sec)

13. INSERT command:

INSERT INTO <Table_Name(Columns_Name)> VALUES ();

mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
+----+-------------------+
6 rows in set (0.00 sec)
mysql> insert into authors(Name) values ('Le Vinh Hien');
Query OK, 1 row affected (0.05 sec)
mysql> select * from authors;
+----+-------------------+
| Id | Name              |
+----+-------------------+
| 1  | Jack London       |
| 2  | Honore de Balzac  |
| 3  | Lion Feuchtwanger |
| 4  | Emile Zola        |
| 5  | Truman Capote     |
| 6  | Le Duong Long     |
| 11 | Le Vinh Hien      |
+----+-------------------+
7 rows in set (0.00 sec)
mysql>

(Continue)

Hanoi, April 21th, 2012

ledlong

Nhật ký IELTS (phần 3)

Posted: February 22, 2013 in English, IELTS

Tài liệu học IELTS
Thông thường, nhiều thí sinh học IELTS kêu trời khi chết bẹp dưới 1 đống tài liệu. Mình thì khác hẳn, viết đến 7 trang toàn những lý thuyết loằng ngoằng trong khi tài liệu thì chả có mấy, nếu không muốn nói là lèo tèo. Thế nhưng các cụ đã dạy “quý hồ tinh bất quý hồ đa”, cái quan trọng là hiệu quả của tài liệu đấy mà thôi.

Đầu tiên không thể thiếu là bộ tài liệu IELTS Cambridge, hiện có từ 1-7 nhưng theo mình chỉ cần 3 cuốn 5. 6, 7 là đủ, các cuốn kia có thể được xếp vào dạng đồ cổ roài. Các cuốn 101 Helpful Hints, 202, 404 hay IELTS Plus có cũng được, không có cũng chả chết ai.

Nhiều bạn nghĩ rằng, luyện IELTS chỉ cần tài liệu về 4 kĩ năng là đủ, kì thực để hoàn thiện 4 kĩ năng đấy, theo mình cần phải có tài liệu bổ trợ thêm ở 2 mảng là vocabulary và grammar. Tuy không có nội dung test riêng biệt cho ngữ pháp nhưng giám khảo vẫn có thể đánh giá được khả năng ngữ pháp của thí sinh thông qua writing và cả speaking. Vì vậy sẽ không phải là thừa để review lại các kiến thức cơ bản trên.

Sách grammar mình chỉ recommend cuốn “Grammar for IELTS của tác giả Diana Hopkins and Pauline Cullen bìa màu xanh xanh í. Về từ vựng thì nên nghía cuốn “check your vocabulary for academic English” của tác giả David Porter và “check for vocabulary for IELTS” của Rawdon Wyatt. Về cái “academic word list” mình sẽ gửi file đính kèm nhưng nếu bạn nào muốn tự tìm thì chỉ cần lên Google gõ từ khóa “academic word list” và down xuống để về nghiền ngẫm.

Listening thật ra không có tài liệu cụ thể, tự học thông qua website, TV…Đến khoảng 1 tháng trước ngày thi thì hẳng lôi bộ đề Cam ra luyện.

Phần reading của Cam cũng khá tốt, nhưng bên cạnh đó mình giới thiệu thêm cuốn “IELTS reading strategies for the IELTS test” của tác giả Trần Vệ Đông, nhà xuất bản tổng hợp thành phố Hồ Chí Minh (bìa màu hồng). Nội dung bài đọc trong sách khá phong phú và được phân chia theo từng dạng câu hỏi. Cuốn này nằm trong 1 bộ sách luyện IELTS gồm 4 cuốn nghe nói đọc viết của cùng tác giả và nhà xuất bản. Tuy nhiên theo mình thì các bạn đừng phí tiền mua 3 cuốn còn lại bởi mình đã vác nó về và không bao giờ thèm rớ tới.

Phần speaking nhiều bạn nghĩ rằng cứ có sao nói vậy, cứ luyện cho trôi chảy là được. Điều này là hoàn toàn sai lầm bởi speaking cũng có barem chấm cực kì chặt chẽ và kết quả 7.0 speaking đạt được không thể thiếu sự đóng góp của cuốn IELTS speaking của Mat Clark. Tác giả này chính là 1 IELTS examiner chấm thi IELTS cho thí sinh trung quốc và thông qua cuốn sách này chỉ rõ những sai lầm cũng như khó khăn mà các thí sinh gốc châu Á hay gặp phải. Có điều củ chuối là cuốn sách này chưa lưu hành ở Việt Nam và mình chỉ mua được bản photo của nó một cách rất tình cờ thông qua việc đến gặp nhà phân phối (lậu) cũng đã từng là sĩ tử luyện IELTS. Thực sự mình rất muốn chia sẻ cuốn sách này với mọi người trong hội nhưng chưa biết phải làm thế nào, có thể photo hoặc thậm chí là đánh máy lại.

Cái cuối cùng là từ điển. Nhiều bạn thường thích cài Oxford advance learner, Longman hay Babylon, mình thì nghĩ là từ điển nào cũng được, miễn là đừng phải Lacviet, thậm chí mình đã cái 3 lần nhưng sau đó laptop chập cheng phải cài lại win nên cuối cùng lại quay về với cái vdict. Bạn cũng nên sắm 1 cái pocket dictionary chẳng hạn “Oxford learner’s pocket dictionary” và “Oxford learner’s pocket grammar” của tác giả John Eastwood. Kim từ điển nếu có cũng được, không có cũng chả sao, miễn là đừng lạm dụng nó.
Điều đáng tiếc là mình không giới thiệu bất cứ một cuốn sách dạy writing nào cả. Cài này thì chắc cần sự bổ sung, trợ giúp của các thành viên khác trong hội. Tất cả những tài liệu giới thiệu ở trên là mình đã cày nó nhận thấy nó giúp ích đáng kể cho việc học. Tài liệu writing mình cũng có 1 rổ nhưng đọc xong chỉ thấy confuse nên cho về vườn hết. Âu cũng là điều kì quặc khi mà overall 7.0 mà chả có lấy 1 quyển luyện viết nào tử tế.

Khi ôn IELTS mình hùng hục đi copy 1 đống e-book về và gần như chả bao h mở ra ngó cả chưa nói đến việc học. Vì thế lời khuyên của mình là các sách mình đã nêu tên cụ thể trên thì nên mua hard copy về, kể cả với những sách có sẵn e-book như bộ đề Cam.

Lời khuyên cuối cùng dành cho những ai tự học chính là việc cố gắng đầu tư một cách bài bản nhất cho cái sổ từ của mình. Mình có 3 format của sổ từ sắp xếp theo abc, theo cụm từ, chủ điểm và theo đồng nghĩa khác nghĩa. Tuy nhiên cần lưu ý là thường xuyên cập nhật sổ từ này mỗi khi gặp từ mới khi đọc bài báo, cố gắng active nó và review thường xuyên để nhớ từ chứ lúc nào sờ đến chỉ thấy toàn bụi với mạng nhện thì đừng có mơ 1 chấm hay nửa chấm.

Minh Hoa

https://www.facebook.com/note.php?note_id=197659000274154

Nhật ký IELTS (phần 2)

Posted: February 22, 2013 in English, IELTS

Trong lúc loay hoay chưa tìm được bước đi tiếp theo, thậm chí đã có ý định từ bỏ việc học thì do yêu cầu công việc, mình phải sang Hongkong tham dự một khóa tập huấn khoảng 3 tuần. Bên cạnh những gì thu được về kiến thức chuyên môn cũng như kinh nghiệm làm việc thì cái mà mình ngỡ ngàng nhận ra là môi trường tiếng Anh có ảnh hưởng to lớn, thậm chí là sâu sắc đến nhận thức về việc học tiếng anh của mình. Mình nhớ 1 câu thành ngữ treo trên bảng tin của trung tâm Equest là : “The mediocre teacher tells,the good teacher explains, the superior teacher demonstrates and the great teacher inspires” dịch ra là “Người giáo viên bình thường thì kể lể,  người giáo viên khá thì giảng giải, người giáo viên tốt thì diễn đạt với ví dụ minh họa, còn người giáo viên vĩ đại là người biết khơi nguồn cảm hứng”. Và nói không ngoa thì chính khóa học ở hongkong đấy đóng vai trò của 1 great teacher khi mà mình cảm thấy mình yêu thích việc sử dụng tiếng anh và có thể dùng nó một cách tự nhiên, thoải mái nhất. Đến đây nhiều bạn sẽ nghĩ ngay “môi trường Anh ngữ tự nhiên là lý tưởng nhất, đấy là lý do vì sao nhiều gia đình ko tiếc tiền cho con em đi học nước ngoài, có gì mà phải đem ra so sánh với các trung tâm trong nước, vốn chỉ như cái ao làng so với biển cả”. Song điều đáng phải nói ở đây là từ việc nhận ra vai trò của môi trường ngoại ngữ đối với sự phát triển của việc học tiếng anh, mình chỉ đau đáu 1 ý nghĩ :”phải giữ lấy nó, giữ lấy cái tốt đẹp mà mình đang tận hưởng này”. Nhưng làm thế nào đây khi mà mình chỉ có 3 tuần thôi, nếu ko có cách nào thì sẽ lại quay về với các máng lợn. Có thể nhiều bạn đã kịp đoán ra, giữ lấy môi trường tiếng anh thông qua việc giữ liên lạc với các bạn hongkong qua chat yahoo, msn. Nói thật đây là lần đầu tiên mình chat bằng tiếng anh và quan trọng hơn là qua đó học cách suy nghĩ bằng tiếng anh. Kể từ đây, mình thực sự ignore cái từ “học” trong học IELTS mà chuyển sang “sống” với tiếng Anh: nghe BBC news thay vì BBC learning English, xem các TV programs và chả biết tự khi nào mình đâm ra nghiện nghe MC Cat Deeley của gameshow “so you think you can dance”, đúng như thầy giáo thứ 2 đã đề nghị. Điều thú vị nữa là kể từ khi học cách suy nghĩ bằng tiếng anh, tốc độ đọc VOA onl của mình tăng lên đáng kể, nhiều hôm còn chẳng cảm thấy phải đọc các báo Vietnam như dantri hay vnexpress nữa. Một điều đáng lưu ý là vừa đọc vừa chú ý cách hành văn trên báo VOA, nhận ra các cấu trúc câu phức, câu ghép dùng cho writing và một lượng lớn các academic words mà trước đây mình chỉ mới học thuộc từ chứ chưa biết dùng nó sao cho phù hợp. Bên cạnh việc nghe đài, đọc báo thì cứ việc làm tất cả những gì bạn muốn bằng tiếng anh mà cụ thể là mình viết fb status tiếng anh, tham gia hội các sĩ tử luyện thi IELTS vừa chia sẻ kinh nghiệm, vừa học hỏi từ mọi người, thậm chí mình còn thành lập câu lạc bộ tiếng anh ở cơ quan và kèm thêm tiếng anh cho học viên mới vào.

Như vậy có thể thấy, ở giai đoạn trên 6.5 này phương pháp của mình thay đổi hoàn toàn từ việc cày bài vở cho khủng theo kiểu việt nam sang “sống” bằng tiếng anh theo đúng cách mà người bản ngữ làm, hay nói cách khác, chúng ta bị “lừa” bởi cái cụm từ “luyện thi IELTS” to chình ình trên banner của hội. Chúng ta đang dự thi IELTS theo chuẩn quốc tế mà nếu ôn tập theo kiểu Việt Nam (nước đến chân mới nhảy, học 1 đằng thi 1 nẻo) thì khó mà đạt được điểm như kì vọng. Để hiểu rõ hơn điều tưởng chừng kì quặc này, mình xin phép được phân tích dông dài đôi chút về chính quá trình học tiếng việt của chúng ta. Chúng ta học tiếng Việt từ khi là 1 đứa trẻ và mất đến 2 năm chỉ để nghe những gì mọi người xung quanh nói. Sau đó mới bập bẹ được những tiếng nói đầu tiên. Giáo viên tiếng Việt khi đấy của chúng ta là bố mẹ, ông bà… không có ai là chuyên gia ngôn ngữ hết nhưng vẫn dạy chúng ta nghe và nói sõi tiếng Việt. Đến tiểu học chúng ta mới bắt đầu học chữ cái, đánh vần, đọc đoan văn ngắn và mãi đến cấp 2, cấp 3 vẫn tiếp tục học viết. Không chỉ tiếng Việt mà tất cả các ngôn ngữ đóng vai trò tiếng mẹ đẻ trên trái đất đều được học như thế. Tuy nhiên, khi chúng ta học 1 ngoại ngữ, mà cụ thể ở đây là tiếng Anh, tình hình lại khác hẳn. Mình không muốn nói xấu nền giáo dục việt Nam nhưng sự thật chúng ta được dạy vài từ tiếng Anh, rồi cố gắng viết nó thành câu, sau đó thì đọc vài đoạn văn ngắn với mấy bài tập điền vào chỗ trống hay đại loại như thế. Rồi thì viết thành đoạn văn và đọc to nó lên mà chả cần quan tâm là mình đọc thế người bản ngữ họ có hiểu không. Để rồi cuối cùng khi đã đi làm thì mới phát hiện ra là mình chỉ nghe được bập bõm những gì người nước ngoài nói và ngược lại họ cũng phải rất vất vả để hiểu được mình đang muốn diễn tả điều gì. Từ đó có thể thấy tất cả học sinh Việt Nam đều chịu ảnh hưởng của một phương pháp phản khoa học, trái với tự nhiên mà phàm những gì trái với tự nhiên đều đưa đến một kết quả ko lấy gì làm tốt đẹp. Vậy nên mình có thể kết luận những người đạt 6.5 IELTS trở lên là những người biết vượt qua cách học tiếng anh truyền thống của người Việt Nam và hướng mình theo cái cách mà người bản xứ học và sử dụng tiếng anh hằng ngày (ví dụ ở đây chính là người gia sư thứ 2 như mình đã đề cập).

Đến đây có thể một số bạn thắc mắc “Thế còn người gia sư thứ 1 thì sao, chị ấy cũng học theo kiểu VN truyền thống mà vẫn đạt điểm IELTS cao đấy chứ?” Câu trả lời của mình là, đúng chị ấy có thể đạt điểm cao vì là dân chuyên ngoại ngữ, chỉ việc đầu tư thời gian cho mỗi việc học càng nhiều từ mới càng tốt. “vậy thì tại sao chúng ta ko làm theo cách của chị ấy?” “Đơn giản là vì chúng ta ko phải là dân chuyên ngữ, đầu óc của chúng ta ko được thiết kế hay không quen với việc học vài ba chục từ mới mỗi ngày, và điều quan trọng hơn là chúng ta ko có thời gian để làm hết núi công việc đấy trong khi vẫn phải đảm đương việc nhà, việc cơ quan…., có thể đạt 7.0 bằng cách đấy nhưng rõ ràng là lâu hơn rất nhiều so với khi chúng ta làm theo cách tự nhiên nhất mà bất kì người bản xứ nào đã làm”.

Như vậy, để lấy 7.0 thì hãy làm theo cách mà người Anh họ học tiếng Anh nhưng cụ thể ở đây là gì? Di cư sang Anh rùi đăng kí homestay là ổn nhất rồi song lại là bất khả thi với những ai vẫn đang ở VN và trên con đường chinh phục IELTS. Vì thế thực chất của yêu cầu lấy 7.0 của sếp là yêu cầu gồm:

1/ tạo môi trường tiếng Anh xung quanh mình, tạo thói quen sử dụng, suy nghĩ bằng tiếng Anh. Cái này người bản ngữ họ không phải làm (dĩ nhiên) nhưng vì mình không phải là nước nói tiếng Anh nên cố gắng tạo ra nó bằng tất cả mọi cách mà ta có thể: TV, âm nhạc, internet, báo chí, sách vở, viết giấy nhớ dán tùm lum trong phòng….Ban đầu có lẽ hơi vất vả nhưng dần dần sẽ cảm thấy quen với môi trường tiếng anh xung quanh mình..

2/ Tiếp xúc với môi trường đấy càng nhiều càng tốt thông qua ca nhạc, phim, chat, báo chí…. Và biết cách khai thác đặc điểm tiếng Anh của môi trường đấy. Trên thực tế, nhiều người thừa biết phải lên mạng đọc báo, xem tin tiếng anh nhưng vì lười và ngại, không làm thường xuyên, có nghĩa là ko tiếp xúc với tiếng anh thường xuyên. Vì thế nên tạo ra môi trường mà ko tiếp xúc với nó thì kết quả vẫn là con số 0 tròn trĩnh. Đến đây mình quay lại câu hỏi ở phần đầu của note này khi mà băn khoăn không biết sẽ tiếp xúc với tiếng anh lúc nào. Mình xin được trả lời là theo kinh nghiệm bản thân, mình thường nghe đài trong khi đang nhập dữ liệu hay làm những việc không cần độ chính xác quá cao. Còn tiểu thuyết thì mình chả có nên thay nó bằng báo mạng voa hoặc bbc đều được. Có điều phải cố gắng làm đều đặn, mỗi ngày nghe 1 ít, đọc 1 ít, lúc nào chán chuyển sang xem phim hoặc lượn lờ fb. Còn về khai thác đặc điểm môi trường  thì mình xin đưa ra ví dụ điển hình là trang web bbc bởi hầu như người học tiếng anh nào cũng biết đến nó nhưng không phải ai cũng biết khai thác nó đúng cách và mang lại hiệu quả cho bản thân mình. Phần lớn mọi người chỉ nghe đến 6 minutes English trong khi “talk about English” mới thực sự mang đến hiệu quả cho kĩ năng nghe. Nếu không có bước khai thác môi trường này thì sao? chẳng sao cả vì người bản xứ họ cũng đâu có làm je, có sao sống vậy mà nhưng chúng ta là những người học tiếng anh và càng khai thác tốt thì trình độ anh ngữ càng nâng cao nhanh chóng.

3/ Có khả năng và quyết tâm thay đổi thói quen bản thân: Cái này mình xin phép được lấy ví dụ của bản thân. Điểm IELTS lần 2 của mình 2 kĩ năng thụ động là nghe và đọc đều được 7, trong khi 2 kĩ năng chủ động lần lượt là 5.5 cho writing và 6.0 cho speaking. Mình tự phân tích và thấy rằng để đạt 7.0 thì phải tìm cách tăng điểm đối với kĩ năng thụ động hoặc chủ động. Rõ ràng việc lên điểm ở kĩ năng thụ động đối với giai đoạn này liên quan mật thiết đến vốn từ, sách vở và cần 1 chút gì đấy bài bản đào tạo trong khi những cái này tương đối khó khăn với một người tự học và vốn từ hạn chế như mình. Vì thế mình chuyển hướng sang việc hoàn thiện kĩ năng chủ động, một việc mà khi mình tham khảo ý kiến của những người khác thì họ cho là “em hơi liều lĩnh đấy, kĩ năng thụ động có barem chặt chẽ, đúng sai rõ ràng chứ kĩ năng chủ động phụ thuộc vào người chấm lắm, biết đường nào mà lần”. Biết là thế nhưng mình vẫn muốn thử xem liệu mình có lên điểm kĩ năng chủ động được không qua việc mượn sách AE7 dạy về viết các thể loại câu, tập viết các đoạn ngắn ở nhà và đặc biệt là tự sửa phát âm của chính mình. Như đã nói ở đoạn đầu note, người thầy thứ 2 nhận định mình gặp vấn đề với ending sounds nên đây là 1 trong những ưu tiên cần chỉnh sửa.Thông qua việc chat và suy nghĩ bằng tiếng anh, mình nhận thấy độ trôi chảy, từ vựng và ngữ pháp là tương đối ổn, cái còn lại duy nhất chính là thể hiện nó ra như thế nào thông qua phát âm. Vậy là mình là cầu cứu bác Google 1 lần nữa và thật bất ngờ kết quả tìm kiếm lại đưa mình về đúng trang web bbc, nơi mà mình đã quá quen thuộc mỗi lần luyện nghe, nhưng lần này mình tập trung khai thác module pronunciation với việc phát âm lại từng âm tiết mà mình thấy chưa ổn, word stress,  sentences stress and redundant languages… Lần này mình ko hề có thời gian đi học 1 lò nào cả, thậm chí không hề mua thêm 1 quyển sách hay giáo trình nào cả, chỉ xem lại những gì đã có, hoàn toàn tự chỉnh sửa 2 kĩ năng ít người dám học 1 mình là viết và nói. Kết quả cuối cùng là speaking lên 7.0 và writing lên 6.0J Có một cái nữa ở đây là “khả năng thay đổi” của bản thân bởi nó khách quan phụ thuộc vào cả tuổi tác nữa, chính vì thế càng nhiều tuổi càng học ngoại ngữ khó, khó vì khó nhớ thêm nhiều từ mới và thay đổi 1 cách phát âm quen thuộc dù rằng phát âm như thế là sai. Như thế để thấy, riêng cái trò phát âm này chả cần gì đến đầu óc cao siêu cả, cứ cố gắng như 1 đứa trẻ bắt chước đúng những gì người bản ngữ nói.

Qui trình trên không những phù hợp với tiếng Anh mà còn đúng với bất cứ ngoại ngữ nào. Nếu bạn nào đã học qua chương trình triết học năm thứ 1 đại học có thể nhận ra rằng 3 bước trên có thể được coi như một lý thuyết về việc học ngoại ngữ ứng dụng trong thực tế. Điều thú vị là bạn có thể tự mình kiểm tra lại tính chính xác của học thuyết này để ủng hộ hay phản bác nó. Thông qua Google với từ khóa chẳng hạn “bí kíp đạt 8.0 IELTS” hay “để đạt 7.0” thì kết quả thu được sẽ là 1 cơ số đáp án đại loại như nghe nhạc, đọc tin, chat bằng tiếng anh … mà thực tế thì tất cả các hoạt động ấy đều chỉ là 1 biểu hiện cụ thể của “tích cực tiếp xúc với môi trường tiếng anh” mà thôi.

Tất cả để thấy rằng để đáp ứng được 7.0 thì khối lượng công việc phải làm qua thực sự không hề nhỏ chút nào, lại càng không thể làm trong ngày một ngày hai được. Vậy thì nó có khả thi để áp dụng với các học viên khác đang nỗ lực cho IELTS? Câu trả lời là được vì thực tế chúng ta đang sống trong môi trường giao lưu rộng mở, có điều kiện tiếp xúc với tiếng Anh nhiều thông qua internet, ca nhạc, phim, thậm chí nhiều bạn còn có sở thích nghe nhạc nước ngoài hơn là nhạc Việt. Chính cái tưởng chừng là sở thích cá nhân đấy lại góp phần khá lớn cho quá trình học ngoại ngữ. Cái cần làm duy nhất là tự phân phối lại thời gian cũng như nội dung tiếp xúc với tiếng anh, tăng cường việc khai thác web, đọc các bài báo khoa học, xã hội…nhằm làm phong phú vốn từ academic của mình. Nên nhớ rằng việc nghe nhạc, xem phim chỉ giúp bạn cảm thấy thoải mái, tự tin khi sử dụng tiếng anh (rất tốt cho 2 kĩ năng nghe và nói) nhưng lại không đem lại gì nhiều đối với 2 kĩ năng đọc và viết (chiếm đến ½ tổng điểm). Biết được sẽ phải làm những gì và lường trước được những khó khăn đấy còn đáng quý hơn nhiều so với việc tự loay hoay mò mẫm. Điểm 7.0 của mình là thành tích cá nhân của việc tự học nhưng đồng thời mình hi vọng phương pháp để đạt được nó mới là cái quý báu giúp ích được phần nào cho các bạn đang học IELTS bởi người bản xứ hay dân chuyên ngoại ngữ dù 9.0 nhưng lại không biết và không thể chỉ cho bạn con đường đi đúng đắn.

Cái cuối cùng mình muốn nói ở đây là sự tự tin và nhận thực chính xác thực tế trình độ của mình. Mình thấy nhiều bạn ở diễn đàn lo lắng về việc làm thế nào đc 6.0 trong khi nếu đọc note của mình, bạn sẽ thấy rằng mình đi thi đc 6.0 trong khi vẫn còn phát âm sai tùm lum nên thực ra phát âm ko làm nên tất cả, những cái khác có thể bù vào được. Nhận định chính xác trình độ của mình sẽ quyết định phương pháp học và hơn hết thời gian dự thi để đạt được điểm số mình mong muốn. Nhiều bạn hay hỏi, liệu sau 2 tháng mình có thể lên 5.5 từ 5.0 hay không? Câu trả lời chỉ có 1 mình bạn biết bởi IELTS là kì thi kiểm tra trình độ (level) tiếng Anh nên nếu bạn thực sự cảm thấy trình độ của mình đã được nâng lên sau 1 thời gian nỗ lực thì hãy đi thi, còn nếu ko có je thay đổi thì kết quả vẫn sẽ là như vậy thôi. Tốc độ nâng lên lại phụ thuộc rất nhiều vào khả năng, nỗ lực của mỗi người nên câu hỏi này không bao giờ có một đáp án chung hết. Bằng cách tự học trên, mình mất 5 tháng để cảm nhận thấy mình nói ổn hơn, viết mạch lạc hơn và lúc đấy mình quyết định đi thi (cũng giống như vận động viên thể thao, tìm được điểm rơi phong độ trong việc học IELTS cũng là rất cần thiết).

Tổng kết lại thì IELTS đã giũa mình te tua với 3 lần thi , mỗi lần bò lên được 0.5 điểm trong thời gian hơn 1 năm rưỡi với việc kinh qua gần như tất cả các hình thức học từ gia sư, lò cao cấp, lò bình dân, ra nước ngoài đến tự học. Nghe như thế nhiều bạn có thể ngán ngẩm nghĩ “gian nan thế thì ai mà theo nổi?”. Kì thực thời gian học có thể rút ngắn đi rất nhiều, sở dĩ mình mất đến 1 năm rưỡi vì loay hoay tự đi tìm phương pháp chứ đến khi vạch ra được rõ ràng quy trình phấn đấu thì chỉ mất nửa năm để chuyển từ 6.5 lên 7.0. Có thể nói, từ 6.0 lên 6.5 mình đi theo con đường học hành thuần túy nên tốn đến 1 năm, trong khi từ 6.5 lên 7.0 do thay đổi phương pháp tự học nên thời gian rút ngắn lại đến một nửa. Nói như thế không có nghĩa là mình phủ định hoàn toàn lợi ích của việc học gia sư hay học trung tâm mà thực sự ở mỗi hình thức học mình đều nhận 1 số thông tin bổ ích nhưng lại không làm nên tất cả, càng không phải chỉ cần học ở ACET 2 tháng là có thể đạt 6.5 như một số bạn nghĩ. Trên thực tế, nếu muốn tự học thì  việc học với người gia sư thứ 1 có thể thay thế được bằng tài liệu ôn và ngữ pháp và viết task 2, việc học với người gia sư thứ 2 có thể thay bằng khai thác các website nói tiếng Anh. ACET như mình đã nói, cái giá 10tr là hơi bị chát chỉ để mua đc 2 công cụ học tập đấy và việc đến lớp học, chém gió với bạn bè ở EQuest hay bất cứ trung tâm nào chỉ giúp ta đỡ cảm thấy nhàm chán khi 1 mình cày cuốc chứ nếu thiếu đi nỗ lực tự luyện, tự học thì cũng chẳng nên cơm cháo gì. Trong vòng 5 tháng tự học, mình “luyện” mà không hề luyện khi hoàn toàn xếp xó các thể loại tài liệu luyện thi mà chuyển sang “sống” cùng tiếng anh, tăng cường vốn từ đồng thời tự sửa bản thân mình khi nói và viết sao cho giống người bản xứ nhất. Chỉ đúng 1 tháng trước ngày thi mới bắt đầu lục lại để ko cảm thấy bỡ ngỡ với kiểu câu hỏi hay dạng đề thi, đồng thời tự tính thời gian viết vì kì thực theo 1 lời khuyên trên mạng mà mình đọc được và cảm thấy hoàn toàn chính xác thì luyện bộ đề IELTS không nên quá 2 tháng, nhiều quá sẽ nhàm gây tác dụng ngược lại. Mình có thể khẳng định mô hình 5-1 này là hiệu quả nhất trong việc phân phối thời gian, sức lực cho IELTS. Nói như 1 câu châm ngôn thì “cái gì không giết chết chúng ta chỉ làm chúng ta mạnh mẽ hơn” nên thực sự mình phải cảm ơn IELTS rất nhiều vì qua đó mình đã tự rèn luyện và trưởng thành vượt bậc.

Phần 2: tài liệu học IELTS

Còn tiếp …

Minh Hoa

https://www.facebook.com/note.php?note_id=197209346985786