An toàn thông tin: Chuyện không của riêng ai

Người đăng: share-nhungdieuhay on Thứ Sáu, 28 tháng 3, 2014

Trước xu hướng phát triển như vũ bảo của nền công nghệ, vấn đề bảo mật thông tin và an toàn trên mạng đã và đang trở thành một thách thức lớn đối với người dùng.

Với sự phát triển của công nghệ như hiện nay, sản phẩm công nghệ đã phần nào đáp ứng được nhu cầu thiết yếu của cuộc sống. Mua sắm, thanh toán trực tiếp, giải trí qua những ứng dụng, game mobile,... là điều mà người dùng được hưởng lợi từ sự phát triển của công nghệ. Tuy nhiên, sự phát triển đó khiến công nghệ trở thành đối tượng cho những kẻ xấu lợi dụng cơ hội trục lợi. Tài chính chuyển dần sang trực tuyến cũng đồng nghĩa với việc hacker có thêm nhiều đất diễn để tấn công người dùng. Các dữ liệu, thông tin cá nhân cũng vì thế mà dễ bị ảnh hưởng, bị khai thác nhiều hơn.

Theo báo cáo của Hãng bảo mật Trend Micro thì trước mỗi cuộc tấn công, hacker luôn phải xác định được đối tượng cần tấn công là ai. Đó có thể là cá nhân, nhóm người có cùng sở thích, cơ quan doanh nghiệp, hoặc thậm chí là cơ quan chính phủ. Ngoài việc tấn công nhằm khai thác thông tin cá nhân, sử dụng trong mục đích trục lợi tài chính, đôi khi những vấn đề ngoại giao tế nhị giữa các nước cũng bị hacker nhắm làm mục tiêu tấn công.

Với sự phát triển của công nghệ như hiện nay, sản phẩm công nghệ đã phần nào đáp ứng được nhu cầu thiết yếu của cuộc sống. Mua sắm, thanh toán trực tiếp, giải trí qua những ứng dụng, game mobile,... là điều mà người dùng được hưởng lợi từ sự phát triển của công nghệ. Tuy nhiên, sự phát triển đó khiến công nghệ trở thành đối tượng cho những kẻ xấu lợi dụng cơ hội trục lợi. Tài chính chuyển dần sang trực tuyến cũng đồng nghĩa với việc hacker có thêm nhiều đất diễn để tấn công người dùng. Các dữ liệu, thông tin cá nhân cũng vì thế mà dễ bị ảnh hưởng, bị khai thác nhiều hơn.

Theo báo cáo của Hãng bảo mật Trend Micro thì trước mỗi cuộc tấn công, hacker luôn phải xác định được đối tượng cần tấn công là ai. Đó có thể là cá nhân, nhóm người có cùng sở thích, cơ quan doanh nghiệp, hoặc thậm chí là cơ quan chính phủ. Ngoài việc tấn công nhằm khai thác thông tin cá nhân, sử dụng trong mục đích trục lợi tài chính, đôi khi những vấn đề ngoại giao tế nhị giữa các nước cũng bị hacker nhắm làm mục tiêu tấn công.
Nguồn : 24h.com.vn
More about

Microsoft công khai mã nguồn MS DOS

Người đăng: share-nhungdieuhay

Hãng Microsoft vừa công khai mã nguồn của MS DOS 1.1 và 2.0 cho các lập trình viên dùng vào những mục đích phi thương mại.
Microsoft cho biết mục đích của việc làm này là để giúp các thế hệ kỹ thuật viên thời nay hiểu rõ hơn về nguồn gốc của máy tính cá nhân. MS DOS ban đầu được phát triển bởi Microsoft trong đầu những năm 1980s, và nó đã được thiết kế để chạy trên các máy tính cá nhân của IBM. Tuy không phải là hệ điều hành đầu tiên dành cho máy tính, nhưng MS DOS đã nhanh chóng trở nên phổ biến nhất.
Giao diện MS DOS 2.0.

Phiên bản đầu tiên của MS DOS cung cấp khả năng chạy các chương trình khác thông qua dòng lệnh. Nó không có giao diện cửa sổ, desktop hay xem phim, thậm chí người dùng không thể đặt tên tập tin dài hơn 8 ký tự.

Những năm sau đó, hệ điều hành MS DOS trở thành nền tảng cho sự ra đời của Microsoft Windows - hệ điều hành đầu tiên được trang bị giao diện người dùng đồ họa. Những phiên bản Windows đầu tiên bắt đầu có khả năng hỗ trợ một loạt các ứng dụng, bao gồm xử lý văn bản và bảng tính. Đến nay, Microsoft đã dần hoàn thiện hệ điều hành này, mới nhất là Windows 8.1 với điểm nhấn là giao diện Modern UI.

Hơn 3 thập kỷ sau, khi MS DOS 2.0 được phát hành, hệ điều hành mã nguồn mở đã phát triển mạnh mẽ hơn để chạy trên các máy tính để bàn. Vì vậy hành động của Microsoft được xem là phù hợp, tuy nhiên, có thể Microsoft đang khá lo lắng nếu việc công khai mã nguồn một số sản phẩm thuộc dạng "đồ cổ" của mình có thể để lộ bí mật thương mại.

Người dùng có thể tải về tham khảo mã nguồn của MS DOS 1.0 và 2.0 tại đây.
Nguồn : 24h.com.vn
More about

Tàu ngầm tự chế sẽ được chạy thử ngoài biển?

Người đăng: share-nhungdieuhay

Sau hơn 2 tiếng chạy thử nghiệm trên hồ, tàu ngầm tự chế Trường Sa đã vận hành trơn tru. Nhiều người dân theo dõi tàu ngầm chạy thử đã phải trầm trồ, ngợi khen.

8h sáng ngày 28/3, ông Nguyễn Quốc Hòa, ở Thái Bình, chủ nhân của tàu ngầm tự chế Trường Sa đã đưa tàu ra hồ rộng 3ha để thử nghiệm bánh lái, chân vịt, hệ thống điện tử. Ông Hòa thuê 2 xe cần cẩu chở tàu ngầm ra hồ. Khu hồ thử nghiệm nằm ở khu công nghiệp Vĩnh Trà, TP. Thái Bình. Trong buổi sáng thử nghiệm, hàng ngàn người dân hiếu kỳ đã đến xem ông Hòa trình diễn tàu ngầm.


Đúng 10h, tàu ngầm Trường Sa được đưa xuống hồ trước sự hò reo, cổ vũ của người dân. Sau đó, tàu ngầm dần dần được thả xuống hồ chìm đến hai phần ba thân tàu. Đến 10h30 phút, ông Hòa bám vào móc cần cẩu để ra điều khiển tàu ngầm.
Sau hơn 2 tiếng thử nghiệm, ông Hòa đã ngừng việc chạy thử tàu ngầm

Sau tiếng máy nổ rú lên, khói phụt ra ở phía sau, tàu ngầm bắt đầu hoạt động. Ông Hòa đã điều khiển con tàu chạy quanh hồ. Cứ thế, tàu ngầm chạy vòng 1 rồi đến vòng 2… Sau hơn 2 tiếng vận hành, ông Hòa đã bước lên tàu và ngừng việc thử nghiệm.

Ông Hòa nói: “Sau khi chạy thử nghiệm tàu ngầm, tôi thấy hệ thống chân vịt, bánh lái, cánh tà của tàu ngầm Trường Sa hoạt động tốt. Giờ có thể kết luận là tàu ngầm Trường Sa hoạt động hoàn hảo”.

Ông Hòa bước ra khỏi tàu ngầm với khuôn mặt rạng rỡ

Theo ông Hòa, trong quá trình điều khiển tàu, không khí bên trong tàu hơi ngột ngạt bởi nhiệt độ lên tới 23 độ C. Khi vận hành tàu, ông nhìn đường hướng qua camera ở trên nóc tàu.

Trong quá trình chạy tàu, ông Hòa cũng gặp phải một sự cố nhỏ, tàu ngầm đã phải giảm tốc gấp khi gặp phải chỗ nước nông. “Khi đó, tôi sợ tàu bị kẹt, nhưng một lúc sau tôi đã lùi được tàu ra”, ông Hòa kể.

Khi chạy thử nghiệm, nhiều người dân thấy khói phát ra từ khoang tàu. Ông Hòa giải thích đó là do ông rút một ống của hệ thống tuần hoàn không khí độc lập ra. Ông làm như vậy với mục đích thử các tình huống xấu nhất có thể xảy ra khi vận hành tàu để nghiên cứu các phương án khắc phục.

“Trong quá trình chạy thử, có lúc tôi định cho tàu lặn xuống nhưng không được vì thân tàu đã kịch xuống đáy hồ. Nếu để tàu ngầm lặn được thì ít nhất hồ phải sâu 6m, trong khi đó, nời tôi đang thử nghiệm chỉ sâu có 3m”, ông Hòa chia sẻ.
Theo ông Hòa, sau khi thử nghiệm tàu ngầm Trường Sa lặn và nổi trơn tru, ông sẽ thử nghiệm tàu ở ngoài biển. Tuy nhiên, ông băn khoăn là điều này phải phụ thuộc vào Bộ Quốc Phòng, Chính Phủ Việt Nam. Sau lần thử nghiệm này, ông sẽ hoàn tất các thủ tục giấy tờ gửi tới các cơ quan chức năng xin cấp phép thử ngoài biển.

Phóng viên đặt câu hỏi, nếu giả sử con tàu không được cấp phép, ông sẽ có phương án gì. Ông Hòa lạc quan nói rằng: “Tôi không tin rằng con tàu sẽ không được cấp phép bởi vì với trí tuệ của người Việt mình thì không có lý do gì để vùi dập nó, để nó phải chạy trong ao”.

Chứng kiến ông Hòa chạy thử tàu ngầm, anh Nguyễn Quang Vinh, ở TP Thái Bình cho hay, anh đọc tin tức trên mạng Internet nên biết việc ông Hòa chế tàu ngầm. Hôm nay, anh đã quyết định đi xem buổi thử nghiệm tàu ngầm.

“Lúc đầu tôi cũng nghĩ với một khối sắt nhỏ thế làm sao mà tàu chạy được. Tuy nhiên, sau khi xem ông Hòa chạy thử, tàu ngầm hoạt động tốt nên tôi đã nghĩ khác. Ý tưởng của ông Hòa rất đáng được hoan nghênh, giờ lại chạy thử thành công nữa thì càng tuyệt vời”, anh Vinh bày tỏ.
Nguồn : 24h.com.vn
More about

[Android] : Chương 14 : API/RSS.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 8: Control nâng cao- Control opensource

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 9: Thread - kế nối HTTP.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 10 : Web Service – SOAP.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 11: Socket.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 12 : XML parser (sax,dom) JSON parser.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 13 : Google Map.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 3: Widget cơ bản, Adapter, Gallery, GridView, ListView, Adapter nâng cao.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 4 : Activity, Menu – tab.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 5: SQLite.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 6: Animation, 9-path, Style, Theme.

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 7: BroadCast Receiver- Notification- ContextProvider – MediaStore

Người đăng: share-nhungdieuhay


More about

[Android] : Chương 2: File input – Output, Assets folder, SharePreference, Internal Storage, External Storage.

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 0 : Tổng Quan

Người đăng: share-nhungdieuhay



Chapter 1: Introduction
Chapter 2: Building UI
Chapter 3: Phone Controls
Chapter 4: Databinding
Chapter 5: MVVM
Chapter 6: Navigation
Chapter 7: Application Lifecycle
Chapter 8: Isolated Storage
Chapter 9: DataSource
More about

[Winphone 8] Chương 9: DataSource

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 8: Isolated Storage

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 3: Phone Controls

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 4: Databinding

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 5: MVVM

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 6: Navigation

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 7: Application Lifecycle

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 1 :Introduction

Người đăng: share-nhungdieuhay


More about

[Winphone 8] Chương 2: Building UI

Người đăng: share-nhungdieuhay


More about

Hạt giấy giá rẽ + Giao tận nhà + Khu vực quận 9 và Thủ Đức

Người đăng: share-nhungdieuhay



Sản phẩm: Hạt giấy làm thủ công . giấy gấp Made in Japan
Giá : 180- 200 k.
Giao tận nhà khu vực : Thủ Đức và Quận 9 (xa hơn thì phụ thêm tiền xăng hoặc bạn có thể tới trường Đại Học Sư Phạm Kỹ Thuật Hồ Chí Minh để nhận)
Liên hệ : hieu_it92@yahoo.com
note : ưu đãi khi mua >=5
Có thể để lại thông tin phía dưới và mình sẽ liên hệ để giao hàng
Thời gian giao: 3-7 ngày từ khi đã nhận yêu cầu
More about

Hướng dẫn dùng genymotion

Người đăng: share-nhungdieuhay


More about

[Android] Chương 1.4: Layout position, Size, Padding, Margin

Người đăng: share-nhungdieuhay on Thứ Năm, 27 tháng 3, 2014


Layout position
View giống như một hình chữ nhật. Vị trí của View được xác định với một cặp tọa độ left, top và hai kích thước rộng, dài. Đơn vị để xác định vị trí và kích thước là pixel.
Bạn có thể xác định vị trí của View bằng cách gọi hàm getLeft() và getTop(). Chúng sẽ lần lượt trả về vị trí left và top so với phần tử cha chứa View đó. Khi getLeft() trả về 20, điều này có nghĩa vị trí của View nằm cách 20px so với biên trái của phần tử cha. Ngoài ra bạn cũng có thể sử dụng hàm getRight(), getBottom() để tránh những phép tính không cần thiết. Ví dụ khi bạn gọi getRight() cũng giống như làm phép tính : getLeft() + getWidth().
Size, Padding, Margin
Size của View được thể hiện với chiều rộng và dài. Thực tế một View có 2 cặp giá trị chiều rộng và chiều dài.
Cặp thứ nhất được biết đến như measured width và measured height. Nó định nghĩa độ lớn kích thước của View so với phần tử cha. Bạn có thể lấy giá trị đó bằng cách gọi hàm getMeasuredWidth() và getMeasuredHeight().
Cặp thứ hai chính là chiều rộng và dài thực tế của View được hiển thị trên màn hình. Giá trị tương ứng được trả về nếu bạn gọi getWidth() và getHeight().
Padding chính là khoảng cách giữa nội dung và các cạnh (left, top, right, bottom) của View. Sử dụng phương thức set(int, int, int, int) thể thiết lập các giá trị cho padding và truy vấn bằng cách gọi các hàm getPaddingLeft(), getPaddingTop(), getPaddingRight(), getPaddingBottom().
Mỗi View có thể định nghĩa giá trị padding, nhưng nó không cung cấp bất kì hỗ trợ nào với margin. Tuy nhiên View Groups thì có.

More about

[Android] Chương 1.3 : Attributes (các thuộc tính) và ID

Người đăng: share-nhungdieuhay


Attributes (các thuộc tính)
Mỗi đối tượng View và ViewGroup đều có những thuộc tính XML riêng. Một vài thuộc tính là riêng của một loại đối tượng (VD textsize là thuộc tính của TextView). Một số thuộc tính là chung cho tất cả các đối tượng View, vì chúng kế thừa từ lớp View (VD như thuộc tính id).

ID
Bất kỳ đối tượng View nào cũng có thể có một thuộc tính id, để xác định nó là duy nhất. Khi ứng dụng biên dịch, id được tham chiếu giống như một số nguyên, nhưng trong XML thì id này thường được gán bằng một chuỗi. Đây là thuộc tính chung cho tất cả các đối tượng View và bạn sẽ thường xuyên sử dụng nó. Cú pháp dành cho thuộc tính id trong thẻ XML sẽ như sau:

Ký tự @ chỉ ra rằng XML parser sẽ phân tích đoạn sau của chuỗi id và định nghĩa chúng như một id resource, dấu + có nghĩa đây là một đối tượng mới cần được tạo và add vào resource (trong file R.java). Bạn có thể tạo một đối tượng hoàn chỉnh như sau:

1
2
3
4
5
<Button
      android:id="@+id/button1"    
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"     
      android:text="@string/button1"/>
Và bạn có thể khởi tạo một thể hiện của nó như sau:
Button btn = (Button)findViewById(R.id.mybutton);
More about

[Android] Chương 1.2 : Giới thiệu về Layout.

Người đăng: share-nhungdieuhay

Layout là gì?
Layout định nghĩa cấu trúc cho một giao diện người dùng. Bạn có thể tạo layout theo hai cách sau:
-    Định nghĩa trong XML.
-    Khởi tạo trong thời điểm runtime.
Lợi điểm của thiết kế giao diện trong XML cho phép bạn tách riêng giao diện và code điều khiển các hành vi của chúng. Điều này có nghĩa là bạn có thể sửa đổi hoặc điều chỉnh giao diện mà không cần can thiệp vào mã nguồn và biên dịch lại. Ngoài ra cách thức còn giúp dễ dàng hơn trong việc hình dung ra cấu trúc của giao diện mà bạn muốn tạo.

Layout trong XML
Mỗi tệp layout phải chứa một phần tử gốc (root), đó phải là một đối tượng View hoặc ViewGroup. Khi phần tử gốc được xác định, bạn có thể thêm những đối tượng layout khác để từ đó từng bước xây dựng giao diện với hệ thống View phân cấp. Ví dụ, đây là một LinearLayout có orientation=”vertical” (bố trí theo chiều dọc) trong đó chứa một TextView và một Button.

<?xml version="1.0" encoding="utf-8" ?>
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:orientation="vertical">
 
<EditText 
android:id="@+id/edit_text"  
android:layout_width="fill_parent"  
android:layout_height="wrap_content"  
android:text="@string/edit_text"  
android:inputType="text"/>
 
<Button 
android:id="@+id/button1"  
android:layout_width="wrap_content"  
android:layout_height="wrap_content"  
android:text="@string/button1"/>
 
</LinearLayout>

Sau khi thiết kế xong bạn hãy lưu lại với đuôi mở rộng là .xml trong thư mục res/layout/.
Nạp thẻ XML Resource
Khi ứng dụng của bạn được biên dịch, mỗi tệp XML layout sẽ thành một view resource. Bạn có thể nạp layout từ mã ứng dụng của bạn bằng cách gọi phương thức setContentView(). Truyền cho nó tham số để tham chiếu đến layout của bạn theo mẫu: R.layout.layout_file_name
Ví dụ, XML layout của bạn được lưu trong tệp activity_main.xml, khi đó mã để nạp layout này sẽ như sau:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


More about

[Android] Chương 1.1 : Tạo Project Android trên Eclipse

Người đăng: share-nhungdieuhay



Bước 1: Chọn File->New->Project..ta được hộp thoại:

Chọn New Android App Project bấm Next, xuất hiện hộp thoại sau:
 
Next :


Bước 2: Tạo icon cho ứng dụng

Tham khảo http://developer.android.com/design/style/iconography.html
Bước 3: Chọn template cho project, với VD này là Blank Activity



Next 

Finish

Nguồn : Lớp Chuyên Đề 2


More about

[Android] Chương 1: Tổng quan Android Dialog – Toast Notification

Người đăng: share-nhungdieuhay

More about

[Android] : Chương 0 : Giới thiệu và cài đặt

Người đăng: share-nhungdieuhay

1
- Tạo Project Android trên Eclipse
-Giới thiệu về Layout.
-Giới thiệu các control cơ bản TextView, EditText, Button, CheckBox, RadioButton, ImageView.
-Phối hợp giữa layout và java. Bắt sự kiện.
Khai thác tài nguyên.
-Tạo Dialog các dạng :AlertDialog (list, radiobutton, checkbox). Date, time Dialog, progress dialog.
-Thông báo Toast.
-Thiết kế lại Toast.
2
-Luồng dữ liệu.
-Thao tác với file
-Mở, đọc, ghi file
-Các dạng lưu trữ trong android.
-Làm việc với file trong ứng dụng, thẻ nhớ.
3
-Các thuộc tính dùng chung của widget.
-Nâng cấp selector giao diện cho các widget.
-Font bên ngoài, đổ bóng, dùng HTML tạo liên kết, email, điện thoại, tọa độ map cho textview.
-Các widget như toggle button, spinner.
Adapter cơ bản
-Tìm hiểu về các control để show danh sách dữ liệu.
-Tự xây dựng Adapter từ BaseAdapter và ArrayAdapter.
4
-Nguyên tắt hoạt động của activity
-Vòng đời của Activity.
-Intent tường minh
-Intent không tường minh: lướt web, điện thoại, gởi mail…..
-Truyền dữ liệu giữa các activity
-Trả dữ liệu về từ một activity.
-Tạo và xử lý OptionMenu
-Tạo và xử lý ContextMenu
-Tạo và xử lý PopUpmenu
-Tạo Tab
5
-Tạo database, table
-Các thao tác với database: xem thêm xóa sửa.
6
-Animation frame by frame
-alpha, rotate, scale, translate, set animation
-Sự kiện cho animation
-Tạo hình theo 9-path
-Tìm hiểu style và theme
7
Tìm hiểu broadcast receiver để đăng kí lắng nghe sự kiện từ hệ thống.
Tìm hiểu Notification để phát sinh notification
Tìm hiểu contextprovider đọc thông tin hệ thống, contacts.
Tìm hiểu MediaStore đọc hình ảnh, video, âm thanh.
8
-Tìm hiểu gói thư viện support-v4
-Tìm hiểu fragment , viewpager, sliding menu.
-Tìm hiểu về nguồn và cách khai thác các control open source.
9
Tìm hiểu các class hỗ trợ Thread : Thread, Handler, Runnable, Asytask.
Kết nối HTTP.
Vấn đề version cao và cập nhật UI.
10
-Tìm hiểu và khai thác web service
11
Kết nối Socket theo mô hình client-server
12
Phân tích cấu trúc tài liệu XML
Phân tích cấu trúc tài liệu JSON
13
Đăng kí google map
Sử dụng google map để hiển thị bản đồ, định vị, vẽ đường đi

14
Khai thác các API như youtube api
Khai thác RSS

Giới Thiệu
Android là hệ điều hành, là ngôn ngữ lập trình ứng dụng trên điện thoại di động được ưa chuộng nhất hiện nay.
Lập trình Android đã trở nên quen thuộc và ngày càng phổ biến: HĐH mã nguồn mở miễn phí, Ứng dụng dựa trên Java, Hỗ trợ nhiều vi xử lý, thiết bị di động, cho phép nhúng mã C/C++ vào phần mềm Android,..

Với 80 triệu thuê bao di động, thị trường phát triển phần mềm Android trên Mobile đang là mảnh đất màu mỡ tại Việt Nam, nhu cầu về nhân sự lập trình Android ngày càng lớn.
Cài Đặt
Download bộ JDK về cài vào máy
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Sau đó tải SDK đã tích hợp đầy đủ công cụ lập trình cho các bạn và bạn sử dụng Emulator để giả lập.

Android SDK: http://developer.android.com/sdk/index.html
Emulator :https://app.box.com/s/vvzd3j08rzek2mop3myn

Hoặc genymotion : https://cloud.genymotion.com/page/launchpad/download/
(Đăng ký tài khoản nhé) Hướng dẫn dùng  genymotion



More about

[LTW] : BT HTML_CSS_JavaScript

Người đăng: share-nhungdieuhay


Mục tiêu: Kết thúc bài thc này, ngưi học th
ƒ  Tạo định dng các thẻ HTML bằng CSS
ƒ  Truy xuất các đối tượng trình duyệt và các phần tử HTML bằng JavaScript.
ƒ  Tạo trang web đăng xử lý tính hp lệ ca dữ liệu nhp vào.


Ni dung:
Định dạng các phầnt bằng CSS s dng JavaScript đ kiểm tra d liệu

Yêu cầu:
To một trang web trong VS 2008 phục vụ việc nhp thông tin vn bộ.
Trang web này đưc tạo trên IIS Cục b.
S dụng c style để địnhnghĩa cho các phn t.
S dụng JavaScript để kim tra tính hợp lcủa dữ liệu.

Đặc t  giao din, chức năng các ràng buc:
1.   Giao diện (Trangbên)
2.   Đặc tả xử lý
- Khi người dùng nhn vào nút
 thì thc hiện gi toàn bộ nội dung đang
nhp của trang hin hành sang trang CapNhatCanBo.aspx.
- Khi người dùng nhn vào nút
 thì nội dung trong các ô nhp được resettrở về giá trị mc định (như trong hình).

3.   Đặc tả ràng buộc
-     Họ và tên không được rỗng phải <= 40 tự.
-     Ngày, tháng m phi hợp lệ.
-     c trường đánh du * là bắtbuộc phi có.
-     c trường số (như ngày sinh, hệ số lương,…) phi là csố, không được tự.
-     c hộp Textarea không đưc quá 1000 tự.
-     Ở c hộp text, khi người dùng click chuột (focus) thì giá trmc định sẽ bị xóa để cho người dùng gõ giá tr mới. Nếu ni dùng di chuyn sang phn t khác không nhp giá tr nào thì đt ligiá tr mc địnhnhư ban đu.
-     Khi tng nào nhập sai thì sẽ đt focus vào đúng trưng sai đó.

4.   Một số kiến thức cần thiết và gi ý:

-     Định nghĩa style cho c mục giống nhau
-     Đt thuộc tính Action cho form để chuyển thông tin cho trang bt k
-     Dùng hàm isNaN (n) để kiểm tra xem n có phải là số hay không.
-     Dùng phương thc focus của phn t để đt tiêu điểm.
-     To các phần t kiểu submit kiu reset cho nút Cập nhập nhập mi.
-     Viết mộthàm kiểm tra cho s kiện Onclick ca t Cập nhật.
-     Nếu không muốn cho một sự kiện nào đó (ví dụ onclick) kích hot thì viết trong sự kiện
đó “return false” hoặc return KQ; với KQ làmt biểu thc, m có giá trịfalse


Hướng dẫn:

1. Đnh nga style:
Khi thiết kế giao din cho trang web, trước hết cần xác định xem nhng phn t nào
cùng một đnh dng (style). Khi đó ta nên định ra một class cha các định dng mong muốn để áp dụng cho các phần t cùng loại này.


Lession02.css
.HeadTitle
{
font-size: xx-large; 
font-weight: bold; 
text-align: center; 
color:Purple;
margin-bottom:30px;
}


.CellSpace
{
border-spacing:1px;
}

.Tiêu_Đề_Chính {
    color:White;
background-color:Purple;
font-size:12pt; 
font-weight:bold;
 margin:5px 0px 5px 0px; 
 height:25px;
}
.Cột1
{
  color:Gray;
font-style:italic;
text-align:right;
width:30%;
}
.Cột2
{
    width:70%;
text-align:left;


}
.TextboxDài
{
width:99%;
text-align:left;
}
.TTBatBuoc
{

    background-color:Yellow;
}


.Table
{
    table-layout:auto;
     border-style:solid; 
     border-color:Purple; 
     border-width:1px;
border-collapse:collapse;
background-color:White;
width:800px;
}
td
{
    vertical-align:middle;
}

input
{
    margin:2px 0px 2px 2px;
}

input.NgayThang
{
 text-align:center;
width:80px;

}
select
{
    text-align:center;
width:100px;
}



2. Code trang giao diện
NhapHSCB.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NhapHSCB.aspx.cs" Inherits="Lession_02                                 LAB_YahooRegister"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<head runat="server">
<title>Nhập h cán b</title>
<link rel="Stylesheet" href="Lession02.css" type="text/css" />
</head>



<body >
<form id="form1" action="CapNhatCanBo.aspx" method="post">
<div style="text-align:center">
<p style="border-bottom:solid; border-width:thin; font-size:20pt;
margin:0; padding:0X; border-spacing:0px"> CHƯƠNG TRÌNH QUẢN CÁN BỘ VERSION1.0
</p><br /> <br />

<p class="HeadTitle">NHẬPH CÁN BỘ</p>

<table class="Table">
<tr class="CellSpace">
<td colspan="2" class="Tiêu_Đề_Chính">THÔNG TIN CÁ NHÂN</td>
</tr>

<tr>
<td class="Cột1">*Họ tên</td>
<td class="Cột2"><input type="text" id="HoVaTen" class="TextboxDài" />
</td>
</tr>

<tr>
<td class="Cột1">*Ngày sinh (ny/tháng/năm)</td>
<td class="Cột2">
<select id="NgaySinh">
<option value="">1</option>
<option value="2">2</option>
</select> /
<select id="cboThangSinh" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select> /

<select id="NamSinh">
<option value="1950">1950</option>
<option value="1951">1951</option>
<option value="1952">1952</option>
</select>

Giới tính:
<input type="radio" id="optNam" checked="checked"/> Nam


<input type="radio"id="optNu"/>N
</td>
</tr>
<tr>
<td class="Cột1">Chức vụ hiện tại (Đảng, chính quyền,...)</td>
<td><input type="text" class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">*Quê quán</td> <td class="Cột2">
<input type="text" class="TextboxDài"/></td>
</tr>

<tr>
<td class="Cột1">*Nơi hiện nay</td>
<td class="Cột2"> <input type="text" class="TextboxDài"/></td>
</tr>

<tr>
<td colspan="2" class="Tiêu_Đề_Chính">TRÌNH ĐỘ HỌC VẤN</td>
</tr>

<tr>
<td class="Cột1"> Dân tộc : </td>
<td class="Cột2"><input type="text" /> Tôn giáo: <input type="text"/>
</td>
</tr>
<tr>
<td class="Cột1">Thành phn gia đình:</td>
<td class="Cột2"> <input type="text" class="TextboxDài"/></td>
</tr>
<tr>
<td class="Cột1">Nghề trưc khi tuyển dụng</td>
<td class="Cột2"><input type="text" class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">Tham gia cách mạng: </td>
<td class="Cột2">
Ngày <input value="..../...../......"style="width:15%; text-align:center"
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);" />

Tchức <input style="width:20%" /> Công tác <input style="width:20%" />
</td>
</tr>

<tr>
<td class="Cột1">Ngày vào Đảng:</td>
<td class="Cột2"><input type="text" value="...../...../....." id="NgayVaoDang"
class="NgayThang"
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
ngày vào chính thc <input type="text"class="NgayThang"
value="...../...../....."
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
</td>
</tr>

<tr>
<td class="Cột1">Ngày nhập ngũ:</td>
<td class="Cột2"><input type="text" value="..../...../...."class="NgayThang"
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
ngày xut ngũ <input type="text" class="NgayThang" value="..../...../....."
onfocus="XuLyFocus(this);" onblur="XuLyLostFocus(this);"/>
</td>
</tr>

<tr>
<td class="Cột1">*Trình độ Văn hóa: </td>
<td class="Cột2"><input style="width:15%" /> Hc hàm:
<select>
<option value="">-----</option>
<option value="Thạc Sĩ">Thạc </option>
<option value="Tiến Sĩ">Tiến sĩ</option>
</select> Hc vị :
<select>
<option value="">-----</option>
<option value="Giáo sư">Giáo sư</option>
<option value="Phó giáo sư">Phó giáo sư</option>
</select>
</td>
</tr>

<tr>
<td class="Cột1">Lý luận chính trị </td>
<td class="Cột2">
<select> <option>-----</option>
<option value = "Sơ cp">Sơ cấp</option>
<option value="Trung cấp">Trung cp</option>
<option value="Cao cp">Cao cp</option>
<option value="C nhân">Cử nhân</option>
</select>
</td>
</tr>

<tr>
<td class="Cột1">Trình độ ngoại ngữ</td>
<td class="Cột2">
Anh <select><option>-----</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>


</select> Nga <select>
<option>-----</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select> Pháp <select>
<option>-----</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</td>
</tr>

<tr>
<td class="Cột1">*Ngch ng chc, viên chức:</td>
<td class="Cột2">
<input style="width:20%" />
số: <input style="width:15%" />
*H số lương: <input style="width:15%" />
</td>
</tr>

<tr>
<td class="Cột1">Danh hiệu được phong (năm): </td>
<td class="Cột2"><input class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">Sở trường công tác:</td>
<td class="Cột2"><input class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">Khen thưởng (huân,huy chương cao nhất)</td>
<td class="Cột2"><input class="TextboxDài" /></td>
</tr>

<tr>
<td class="Cột1">K luật ng, chính quyền, năm, do, hình thc)</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="50" rows="3"></textarea>
</td>
</tr>

<tr class="Tiêu_Đề_Chính">
<td colspan="2">
ĐÀO TO, BỒI NG CHUYÊN MÔN, NGHIỆP VỤ, LUN, NGOẠI NGỮ
</td>
</tr>



<tr>
<td class="Cột1">Ghi rõ Tên trưng, ngành hc, thời gian, loại hình,văn bằng, chứng chỉ</td>
<td><textarea class="TextboxDài" cols="100" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="color:Blue">
** Loại hình: Chínhqui, tại chc, chuyên tu, bồi dưỡng;văn bằng: Tiến sĩ, thạc sĩ, cử nhân, k sư.
</td>
</tr>

<tr class="Tiêu_Đề_Chính">
<td colspan="2">TÓM TẮT QUÁ TRÌNH CÔNG TÁC</td>
</tr>
<tr>
<td class="Cột1">Ghi rõ thời gian bắt đầu kết thúc; chc danh, chc vụ,
đơn vị ng tác tương ng)</td>
<td><textarea class="TextboxDài" cols="100" rows="5"></textarea></td>
</tr>

<tr class="Tiêu_Đề_Chính">
<td colspan="2">Đc điểm lịch sử bản thân</td>
</tr>

<tr>
<td class="Cột1">Đc điểm lịch sử bản thân</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100"rows="5"></textarea>
</td>
</tr>

<tr>
<td class="Cột1">Quan hệ với nời nước ngoài</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100"rows="5"></textarea>
</td>
</tr>

<tr>
<td class="Cột1">Quan hệ gia đình (Bố, m, anh ch em rut)</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100"rows="5"></textarea>
</td>
</tr>

<tr>
<td class="Cột1">Hoàn cảnh kinh tế gia đình</td>
<td class="Cột2">
<textarea class="TextboxDài" cols="100"rows="5"></textarea>




</tr>
</table>
<br />


</td>


<table class="Table"style="border:0">
<tr>
<td style="text-align:right"><input type="submit" value="    Cp nht   "
onclick="return KiemTra();" /></td>
<td style="text-align:left"><input type="reset" value=" Nhp mới " /></td>
</tr>
</table>
</div>
</form>

<script language="javascript"type="text/javascript">
var Giá_Trị_Cũ;

/// Hàm xử khi người dùng bấm vào nút Nhp
function KiemTra()
{
if (form1.HoVaTen.value.length==0)
{
alert("H tên phải khác rng !");
form1.HoVaTen.focus();
return false;
}


if(isNaN(form1.NgaySinh.value)==false)
{
alert("Ngày sinh phải s"); form1.NgaySinh.focus(); return false;
}
return true;
}


/// Hàm xử khi phần tử nhn được focus
function XuLyFocus(txt)
{
Giá_Trị_Cũ=txt.value;
txt.value="";
}


/// Hàm xử khi phần tử mt focus
function XuLyLostFocus(txt)
{
if (txt.value=="") txt.value=Giá_Trị_Cũ;
}
</script>
</body>
</html>

More about