WELCOME TO BLOGGER VQGĐC

THÂN CHÀO QUÝ BẠN
CLICK HERE TO OPEN

Tất cả hình ảnh, những hoạt động cùng cơ sở Định Chuẩn rồi cũng cùng với thời gian rơi vào khoảng không
Nếu còn gì rớt lại chỉ là những tình cảm của những con người đã một thời làm việc chung dưới một mái nhà
mà nay đả tản mác khắp bốn phương trời
Ninh Vũ / Phòng Thí Nghiệm VQGĐC

Thursday, November 24, 2011

USING EVAL( ) FUNCTION TO CONVERT A JSON TEXT INTO JS OBJECT

Mở notepad,viết đọan văn trên trong html.

Đọan văn nầy được trình bày theo code của JSON ,rôì dùng eval() function của javaScript chuyển đổi thành javaScript object theo code của JSON.

Nhiều programmers cho ý kiến phương pháp nầy có lổ hổng nên hackers có thể lọt vào vì eval() function có đặc điểm evaluates,executes thành executable data của tất cả javascript không phân biệt từ đâu đến .

Để tránh khuyết điểm trên,chúng ta tránh dùng eval() function nếu không có cách ngăn chận lổ hổng.

Dùng JSON.parse() method để thay thế eval() function vừa an toàn vừa nhanh hơn.

Vậy huỷ bỏ phần chữ màu đỏ var object=eval(‘(‘+text+’)’) rồi thay vào đó như sau.

var object=JSON.parse(text)

JSON.parse() method chỉ parse những code của JSON mà thôi,không parse những code không phải của JSON.

Lưu ý.

Những Internet Explorer cũ không hổ trợ JSON.parse() method nên phải cài thêm Crockford’s JSON 2 parser. Nếu dùng Google Chrome thì OK.

JSON rất hay hiện nay được xử dụng rất nhiều.

Bài kế tiếp : JSON là gì ,áp dụng thế nào ?

LỄ THANKSGIVING CỦA USA


HÔM NAY 24-NOV-2011 LỄ TẠ ƠN THIÊN CHÚA CỦA USA

102 người nước Anh trong đó có 41 người Pilgrims theo đạo Tin Lành Puritan bị cấm đạo lên chiếc tàu gổ Mayflower do công ty London Virginia Company tài trợ, cho vay trả nợ sau và được chấp thuân của vua nước Anh, rời cảng Plymouth vào ngày 6 September1620 để tìm đến miền đất mới được tự do thờ phượng Thiên Chúa.

Một phần ba trong 102 người là trẻ mồ côi.

Sau 2 tháng vượt 3000 miles chịu sóng gió đầy nguy hiểm trên biển Đại Tây Dương,họ thả neo gần Cape Code vào cuối tháng November 1620.Sau đó họ thành lập làng Plymouth bang Massachusetts

Năm 1621 họ trúng mùa trồng bắp đầu tiên tại miền đất mới lạ nhờ lao động cần cù,những ngườì còn sống sót chọn ngày13 December 1621 để cử hành lễ Cảm Tạ Đức Thượng Đế goị THANK GOD lần đầu tiên kéo dài trong 3 ngày với 91người bạn mới là thổ dân Indian đã tận tình giúp đở họ sống còn.

Họ được người Indian hướng dẫn cách trồng bắp,cách bắt cá trong sông,cách lấy sáp từ cây maple để chế ra mật ngọt syrup, nhận diện tên những giống cây độc hại v.v…

Mãi đến năm 1789,USA mới cử hành lần đầu tiên ngày goị là THANKSGIVING TO GOD.

Sau đó đến năm 1863 President Lincoln quyết định chọn ngày thứ Năm lần thứ tư của tháng November để cử hành lễ Thanksgiving Holiday cho toàn quốc USA.

Trung tuần tháng mười năm1970,người viết bài nầy và một người bạn là Kỹ Sư Vũ Duy Đề ( hiện ở Canada ) trong thời gian đi tu nghiệp tại US Army Natick Laboratories,Mass đã được ông bà Walter,Earline Brown đưa đi Cape Code thăm làng Plymouth rồi lên tàu Mayflower quan sát bên trong. Mayflower lúc đó là tàu đóng lại nhái theo mô hình cũ đã mục nát từ lâu.


Tuesday, November 15, 2011

KHÔNG BIẾT ĐI ĐÂU KHI LÁ ÚA THU VỀ

hình ảnh một buổi chiều

Ngoài song cửa một khu vườn hoang dã

cây mọc bừa, cỏ dại quấn vào nhau

bẹ dừa khô thương tiếc cây dừa cao

không muốn rụng sợ rung mình cây ổi.

Trời về thu, sắc buồn từng điểm

nắng nằm đâu không chịu về chơi

mãi đâu xa chìu lòng mây lạnh

trong vùng mây lộng giữa những vùng mây.

Những con bướm vàng và trắng

bay lui bay lại chúng không đi

người mới biết nơi nầy không lối ngõ

bướm không đi mà bay nhảy trên cao.

tôn thất tuệ / Georgia / USA

Sunday, November 13, 2011

HOW TO USE JAVASCRIPT FUNCTION EVAL( )

Function eval( ) của javaScript dùng để làm công việc :” evaluating,executing a data structure and returning the result.”

Một data structure có thể là :*Toán cộng,trừ, nhân,chia hay một tập hộp tóan gồm nhiều cộng trừ nhân chia gọi tên chung là arithmetic expression .

* Một tập họp nhiều chữ chứa những mệnh lệnh viết theo code có tên gọi chung là string,codestring.

Lưu ý khi xử dụng eval() thì không cần phải call như những functions thông thường khác.

Thí dụ 1- Evaluating and returning arithmetic expression.

Mở Notepad.Trong script tags.

Nếu viết :

alert(eval(15*2)); // thì output là 30

Nếu viết :

alert(eval(4095-2100+50.555+(10/2))); // output là 2047.555

Thí dụ 2- Evaluating , executing a string and returning the result.

Hai thí dụ nầy cho thấy eval() function làm công vịêc của evaluatorexecutor

x=12 ;

alert(eval('x + 4' )); // evaluator,returns 16

x = 12;

eval(' y = x + 4;alert(y);' ); // executor,returns 16

a- Đối với string,nhớ phải viết string trong dấu ngoặc kép “ “ hay ngoặc đơn ‘ ‘ thì mới có kết quả.

Làm như vậy để cho eval() function evaluates những gì ở trong ngoặc đơn hay kép rôi returns the result or value.Nếu không có value to be returned thì eval() function returns the expression in executable form.

Nếu viết :

var x=10

var y=15

alert(eval( ‘x+y+25’ )) // thì output là 50

Nếu viết :

eval("a=2;b=10;alert(a+b);") thì output là 12

Nếu viết :

var x=17

var str="if(x==7){alert('y is 50');}else('y is 25');"

alert(eval(str)) ; // thì output là y is 25

Nếu viết :

var x=7

var str="if(x==7){alert('y is 50');}else('y is 25');"

alert(eval(str)) ; // thì output là y is 50undefined

Nếu viết :

var x=10

eval( "if(x==10){alert('Good morning')} else alert(' hello' )" ) // output là Good morning

Nếu viết :

var x="bonjour"

eval( "if(x==10){alert('Good morning')} else alert('hola' )" ) // output là hola.

Chúng ta thấy tất cả strings trên có chứa javaScript code nên đôi khi gọi string là codestring.

Khi nào eval() bỏ trống hoặc variable không có value hoặc element trong string không tìm thấy thì undefined xuất hiện

b- Đối với Boolean literals (true,false) thi không viết trong dấu ngoặc đơn hay kép.

myVar=eval(false);

alert(myVar); // output là false

Thí dụ 3- Đối với array literals gồm có nhiều elements khác nhau.

Phải viết những elements cách nhau bằng dấu phẩy và tất cả phải ở trong brackets

Nếu viết :

myVar=eval( ["dolphin","sharp","tuna","whale"] )

alert(myVar[3] ) // output là whale

eval() function chuyển đổi array thành executable code để chuyển cho variable myVar.Rồi alert viết ra kết quả của index số 3 là whale.

Theo qui định của javaScript, index đầu tiên gọi là 0,index thứ hai là 1,index thứ ba là 2,index thứ tứ là 3.

Thí dụ 4- Đối với string gồm nhiều expressions như sau đây.

Thì viết :

eval("alert(\"Hello Friend\");\alert(\"Bonjour Mon Ami\");\

alert(\"Hola Amigo\");\alert(\"Chào Bạn\");\alert(\"How Are You?\");\

alert(\"Comment Allez Vous?\")")

outputs lần lược xuất hiện : Hello Friend; Bonjour Mon Ami; Hola Amigo;Chào Bạn; How are you ?; Comment Allez Vous ?

Trong alert nhớ phải dùng dấu \” thay cho dấu ngoặc kép Mỗi expression phải cách nhau bằng dấu chấm phẩy.

Nếu tập họp quá dài cần xuống hàng thì phải viết thêm dấu nối \ goị là backslash rồi mới viết xuống hàng.

Nếu không làm đúng như hướng dẫn thì không có kết quả.

LÝ DO TẠI SAO RẤT NHIỀU PROGRAMMERS KINH NGHIỆM KHUYÊN KHÔNG NÊN XỬ DỤNG FUNCTION EVAL( )

Muốn biết rõ lý do cần phải trải qua thực tập.Trong những bài kế tiếp sau bài nầy sẽ có vài thí dụ chứng minh ý kiến của các programmers kinh nghiệm khi xử dụng eval() function như sau :

.Unsafe (security issues,security hole)

.slower than alternative methods


Tuesday, November 1, 2011

ANIMATION OF A DOLPHIN USING EVAL( ) & WITHOUT EVAL( )

Bài nầy hướng dẫn quý bạn phương pháp thực hiện một trò chơi cá Dolphin di động ở biển cả theo kinh nghiệm của người viết tìm cách thu gọn bớt những chi tiết để cho dễ hiểu và rất cần thiết bắt buộc phải có mà thôi.

Trước hết chúng ta mở Microsoft Word vẽ 3 cái khung có kích thước in hệt nhau.

Trong khung số 1,vẽ con cá dolphin và nước biển.

Trong khung số 2, paste con cá ở khung số 1 vào rồi thay đổi tư thế của nó và thay đổi hình thức của sóng biển khác với hình số 1.

Trong khung số 3,paste con cá ở khung số 2 vào rồi thay đổi tư thế của nó và vẽ sóng biển khác với khung số 2.

Chụp hình mỗi khung bằng screenshot và tồn trử ở dạng .GIF trong My document.

Mở My document nếu thấy có xuất hiện dolphin1,dolphin2,dolphin3 thì OK.Nếu liền sau những chữ đó có dính thêm chữ gì khác như .gif thì không được vì Javascript sẽ không họat động.

Quý bạn ai không có kinh nghiệm vẽ thì screenshot 3 bức hình nầy.Khi làm screenshot nhớ loại bỏ khung màu đen bằng cách chọn no color và nhớ ba khung phải có kích thước và hình thể in hệt nhau.

Tìm hiểu bảng html trên.

Trước hết phải cho biết tên,độ lớn và source path của bức hình đầu tiên mà chúng ta muốn khởi hành từ đó bằng cách viết trong tags như sau.

img src=”dolphin1.gif” name=”animate” width=”120” height=”90”

Khi mở Browser thì bức hình nầy sẽ hiện ra ngay.Bỏ hết các phần khác phía dưới nó vẫn xuất hịên.Các phần khác dầu có đầy đủ nhưng thiếu bức hình nầy thì html không hoạt động được.

Còn những bức hình khác kế tiếp chưa xuất hịên nhưng đã có sẵn sàng trong files phải được preloaded vào cache hay memory như diễn tả dưới đây.

Có 2 scripts.

Trong script thứ nhất chuyển đổi 3 tấm hình dolphin1,dolphin2 và dolphin3 thành 3 image objects theo qui định của JavaScript rồi liền sau đó mỗi hình phải nối với source path riêng của nó theo qui định của DOṂ ( Document Object Model ) bằng cách viết như sau.

var image1=new Image() // declare image object như vậy

image1.src="dolphin1.gif" // nối image object với source path của nó

var image2=new Image()

image2.src="dolphin2.gif"

var image3=new Image()

image3.src="dolphin3.gif"

Mục đích của script nầy là muốn Browser preloades files của 3 tấm hình vào memory hay cache ;khi cần thì hình sẽ xuất hiện ngay không chậm trể.

Muốn hiểu sâu chi tiết nầy, quý bạn nên tìm đọc “ How to declare or create an image object in JavaScript ? “

Trong script thứ hai,chúng ta sẽ làm cho những tấm hình trên di động theo phương pháp gọi là slide show .

Có một công thức quan trọng nhất là.

document.images.animate.src=eval(“image”+step+”.src”)

Phần chữ màu lá cây dùng để tiếp xúc với hình theo src (source path) của nó.

Phần chữ màu tím xử dụng eval( ) để evaluate và execute image,step và .src.Đây là new src source path assigned to the image.Nếu thiếu phần chữ màu tím nầy thi step++ tạo increment không thể làm cho những tấm hình dolphin1,dolphin2,dolphin3 lần lượt xuất hiện được.

Nếu chỉ viết document.images.animate.src=”dolphin2.gif “ thì tấm hình số 2 liền xuất hịên sau khi tấm hình số1 biến mất.Còn tấm hình số 3 không thấy xuất hiện tiếp theo cho nên cần phải có phần chữ màu tím và một function moveIt() hoặc function slideIt() để cho cả 3 tấm hình tuần tự xuất hịên không ngừng nghĩ.

Không muốn cho hình di động nữa thì click nút STOP nghĩa là clearInterval(t).

Trong script thứ 2 có thể rút ngắn hơn như sau để càng dễ hiểu hơn.

var animate

var step=1

function moveIt(){

document.images.animate.src=eval("image"+step+".src");

step++

if(step>=4){step=1} }

Nhớ xóa bỏ hết những gì có chữ step2. Kết quả vẫn tốt như ý muốn.

Để dễ hiểu và gọn hơn nữa,chúng ta tránh xử dụng eval() bằng cách dùng cách viết sau đây vẫn cho kết quả rất tốt.

function moveIt(){

document.images.animate.src=window['image'+step].src;

step++

if(step>=4){step=1} };

Theo ý kiến của nhiều programmers kinh nghiệm thì chúng ta không nên dùng eval() với lý do:

It is extremely powerful.It makes your code to be parsed twice .In javaScript,it gives us the bad coding.It is unsafe and also slower because of invoking the interpreter

Mong Quý Bạn tự mình tạo được Slide Show tùy thích.