ICTsharing - Blog chia sẻ kiến thức về ICT: Apache

Hot

Post Top Ad

Hiển thị các bài đăng có nhãn Apache. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Apache. Hiển thị tất cả bài đăng

Thứ Năm, 27 tháng 12, 2018

Chia Sẻ Khóa Học Lập trình PHP: Thu thập (Cào) Dữ liệu Website qua 2 Dự án Web Crawler - Web Spider

18:06 0

Học xong khóa học này bạn có thể ?
  • Viết ra các đoạn script, những dự án tin tức
  • Viết ra các đoạn script, những dự án truyện tranh
  • Viết ra các đoạn script, những dự án nhạc
  • Viết ra các đoạn script, những dự án xổ số
  • Có khả năng làm các trang web như Tổng hợp TT Khuyến Mãi, Web So Sánh giá

Ai có thể học khóa học này ?
  • Các học viên yêu thích lập trình
  • Những lập trình viên có website cần dữ liệu bổ sung
  • Những lập trình viên android/IOS muốn tạo các script lấy data để làm ứng dụng
  • Những lập trình viên PHP muốn tạo các script lấy data để làm website
  • Các bạn cần dữ liệu để nghiên cứu, phân tích thông tin
* Web Crawler - Web Spider - Thu thập, Cào và Bóc tách dữ liệu là một kỹ thuật khá hay và rất phổ biến đối với những trang web Tổng hợp thông tin.

* Đây là khóa học hướng dẫn các Bạn qua đó có góc nhìn tổng quan về việc lấy dữ liệu đồng thời hướng dẫn các kĩ thuật lập trình liên quan tới việc lấy dữ liệu từ các website thực tế.

* Bạn sẽ tiếp xúc tới các kĩ thuật mới nhất, được làm việc với CURL, mysql, DOM, folder, file...qua đó các bạn có thể lấy được data cho website mình.

*Hoàn thành khoá học bạn có thể viết những đoạn mã để lấy - thu thập các dữ liệu từ tất cả các nguồn web khác về website của mình như Tổng hợp thông tin Khuyến Mãi, Website So sánh giá từ các nguồn, Website tổng hợp kiến thức, Website Tổng hợp tin tức, Website Tổng hợp truyện tranh.


Xem thêm

Thứ Tư, 26 tháng 12, 2018

Khái niệm và cấu chúc chuỗi, cách sử dụng chuổi Json

19:18 0
Khi bạn muốn xây dựng một ứng dụng nhỏ gọn bạn không muốn phải sử dụng hệ cơ sở dữ liệu như mysql, SQL server, .. vì muốn sử dụng nó buộc phải cài đặt nó.
Trường hợp này người sử dụng nghĩ ngay ra giải pháp sử dụng sql lite hay XML để lưu trữ, nhưng hiện nay thì có một chuẩn CSDL khác nữa đó là JSON. Vậy JSON là gì thì chúng ta sẽ tìm hiểu qua các phần dưới đây.

JSON là viết tắt của Javascript Object Notation, là một dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể kết hợp được với nó.
Tại sao? lại là Json mà không phải là XML vì Json có thể lưu trữ dữ liệu được nhiều hơn XML, mặt khác Json có thể lưu trữ được dạng mảng hoặc Object. Json là nền tảng của Javascript do vậy chúng ta chỉ cần hiểu về javascript là có thể làm việc được với JSON. Ngoài ra, nếu lưu trữ dạng XML phải sử dụng DOM để quét rất cực...

Vậy định dạng của JSON như thế nào:

 {
    "tên":"giá trị",
    "teen2":"giá trị 2",
    ............................
}
Ví dụ:

Json = {
  "name":"ictsharing.com",
  "domain":"www.ictsharing.com",

}

Giờ đưa vào ứng dụng nó nhé.
Tạo một file html testjson.html đơn giản để lấy nội dung của dữ liệu từ json nhé.


Trường hợp nếu dữ liệu được lưu dưới dạng mảng thì chúng ta làm thế nào?

Json = "Tên":[
 {"tên":"giá trị"},
 {"tên":"giá trị 2"},
 ...................................
]

Để có thể truy cập lấy được dữ liệu giá trị 2 trường hợp này chúng ta sẽ đi từ ngoài vào trong tới phần tử cần lấy với cú pháp như sau:

=> Json tên[1].tên 

1 - là phần tử thứ 2 của mảng tính từ 0.

Ví dụ thực tế:



2 ví dụ trên là trường hợp lấy dữ liệu đơn giản, trong trường hợp mảng phức tạp hơn thì chúng ta lấy như thế nào?

Ví dụ: có chuỗi json3 có các mảng rất phức tạp như hình ảnh.



Các ví dụ trên chỉ là cách lấy dữ liệu thủ công, trường hợp liệt kê ra một loạt các dữ liệu sử dụng vòng lặp  foreach thì sao?



Qua bài này mình muốn lưu trữ lại kiến thức trường hợp đọc khó hiểu xin vui lòng comment bên dưới mình sẽ chỉ lại nhé.

Bài này hướng dẫn cách sử dụng Json và cách lấy dữ liệu của json hy vọng sẽ hữu ích cho các bạn.
Xem thêm

Thứ Tư, 19 tháng 12, 2018

Sử dụng MySQL trong centos và Các câu lệnh cơ bản trong MySQL

16:12 0
Hướng dẫn sử dụng MySQL cơ bản, bài này mình sử dụng môi trường:
- MySQL phiên bản: 5.7.24
- Hệ điều hành Centos 6.9

1. Cách kiểm tra phiên bản MySQL đang sử dụng:
mysql --version

2. Đăng nhập vào MySQL với tài khoản người sử dụng là root:

mysql -u root -p

Nhập mật khẩu root đăng nhập vào MySQL như hình dưới đây


3. Tạo một cơ sở dữ liệu mới và một người dùng mới (create a new MySQL User and Database)
 Câu lệnh bên dưới sẽ hướng dẫn bạn cách tạo một cơ sở dữ liệu và một người dùng mới như sau:
create database testdb;
create user 'testuser'@'localhost' identified by 'password';
grant all on testdb.* to 'testuser' identified by 'password';
Trong đó:
 - Dòng 1 là tạo một cơ sở dữ liệu mới
 - Dòng 2 tạo một người dùng mới (user) và mật khẩu cho người dùng mới với địa chỉ server localhost
 - Dong 3 sau khi tạo xong cơ sở dữ liệu và người dùng chúng ta phải gán quyền database mới với người dùng (user) mới.

Ngoài ra, có thể làm cách ngắn hơn bằng cách tạo cơ sở dữ liệu mới rồi tạo user (người dùng) mới thông qua lệnh gán như sau:
create database testdb;
grant all on testdb.* to 'testuser' identified by 'password';

4. Thoát khỏi MySQL
exit

5. Lệnh khởi động và dừng hoạt động mysql 
  - Khởi động MySQL
[root@localhost ~]# service mysqld start
 - Dừng MySQL
[root@localhost ~]# service mysqld stop

6. Lệnh phân quyền truy cập cho MySQL
Đây là lệnh rất quan trọng khi server chết mà không kịp backup dữ liệu mysql. Backup copy thư mục database rồi cài mới lại server paste vào thư mục server mới.
 [root@localhost ~]# sudo chown -R mysql:mysql /var/lib/mysql

Xem thêm

Hướng dẫn Backup và Restore MySQL Database với mysqldump

15:01 0
 Khi chưa biết lệnh này mình vẫn thường xuyên sử dụng MySQL Workbench hoặc phpmyadmin để thực hiện việc backup cơ sở dữ liệu trên các website Joomla, wordpress, web PHP... nó thường gặp phải các vấn đề như file database quá nặng hoặc lỗi ...

 Tuy nhiên, khi bạn quản lý trực tiếp server linux hoặc cloud amazon ... bạn sử dụng lệnh backup database thật sự rất hiệu quả. 

 Hôm nay, mình sẽ hướng dẫn cho các bạn cách sử dụng câu lệnh mysqldump backup và khôi phục dữ liệu.

1. Backup MySQL Database

Giả sử bạn muốn backup một cơ sở dữ liệu trên MySQL server là mydatabase.
Vậy để backup MySQL với lệnh mysqldump tên cơ sở dữ liệu là mydatabase ta có dòng lệnh sau:
mysqldump -u root -p mydatabase > my_database.sql

Sau đó nhấn Enter bạn sẽ được yêu cầu nhập mật khẩu cho người dùng (user) tên là root hoặc tên khác nếu không phải là root.
 - Nếu thành công thì MySQL sẽ tạo một tập tin với tên là my_database.sql ở thư mục hiện tại trên terminal. Thông thường mình sẽ tạo một thư mục trên terminal là backup sau đó trỏ về thư mục backup:
[root@localhost backup]# sudo mysqldump -u root -p mydatabase > 20181219-mydatabase.sql
  - Nếu không thành công hiển thị lỗi:
 mysqldump command not found
Thì bạn cần sử dụng đường dẫn đầy đủ của tập tin chương trình mysqldump. Mặc định tập tin này nằm ở thư mục bin bên trong thư mục cài đặt MySQL trên server


2. Restore MySQL Database (Trường hợp khôi phục cơ sở dữ liệu)

Bạn cần khôi phục tập tin cơ sở dữ liệu 20181219-mydatabase.sql chứa dữ liêu đã được backup từ ngày 19/12/2018 của database có tên là mydatabase trên server. Thời gian sau bạn tác động đến dữ liệu trên server và vô tình xóa mất một số dữ liệu và muốn khôi phục (restore) dữ liệu lại bạn chạy lệnh sau:

mysql -u root -p mydatabase < 20181219-mydatabase.sql
Nhấn Enter bạn sẽ được yêu cầu nhập mật khẩu cho người dùng root.
Cuối cùng bạn vào xem kết quả nhé.



Xem thêm

Thứ Tư, 5 tháng 12, 2018

Kỹ thuật xử lý Ajax - bài 2

17:44 0
Ở bài 2 về kỹ thuật xử lý Ajax này chúng ta sẽ học được:
 - Ở bài đầu tiên sử dụng hàm .load() gặp phải nhược điểm nó load toàn bộ những gì có trong trang B về trang A.
 - Bài này sử dụng hàm .get() hoặc hàm post() để lấy dữ liệu tùy biến từ trang B.

Cấu trúc như sau:
$.get("link_toi_trang_khac" , {tham_so_truyen_vao} , function(data){ $(".noidung").html(data);   });
Ví dụ:
$.get("b.php" , {tuoi:"20 tuổi"}, function(data){ $("#noidung").html(data); });
 Trang b.php


Trang a.php


Kết quả khi chạy:


Sử dụng tương tự với .POST
Xem thêm

Kỹ thuật xử lý Ajax - bài 1

16:41 0
Kỹ thuật xử lý Ajax trong một số trường hợp rất quan trọng trong trường hợp xử lý phân trang hoặc load dữ liệu từ database mà không làm ảnh hưởng tới các vị trí bên cạnh. Giúp tiết kiệm tài nguyên cho web.

Sau bài này bạn sẽ hiểu được:

- Ajax là gì? khi nào nên sử dụng Ajax.

- Gọi hàm Ajax với Jquery


1. Ajax là gì? khi nào nên sử dụng Ajax.

Ajax là viết tắt của Asynchronous JavaScript and XML - kỹ thuật kết hợp hai tính năng mạnh của JavaScript được các nhà phát triển đánh giá rất cao:

• Gửi yêu cầu (request) đến máy chủ mà không cần nạp lại trang
• Phân tách và làm việc với XML

Vậy khi nào nên sử dụng ajax:

1. Tính năng "Auto save" (lưu tự động): Sử dụng Ajax, bạn có thể bắt chước tính năng của các phần mềm soạn thảo tự động lưu những gì người dùng đã gõ được sau một khoản thời gian nhất định (sẽ thật tuyệt nếu như các trình webmail có tính năng này.


2. Kiểm tra trùng lặp: bạn tạo ra một mẫu đơn đăng ký với yêu cầu là tên đăng nhập phải không bị trùng lặp với bất kỳ ai trong cơ sở dữ liệu. Ajax sẽ giúp bạn kiểm tra trực tiếp trên trình duyệt của bạn xem các thông tin có bị trùng lặp không?  (khi bạn đăng ký gmail chẳng hạn)

3. Dịch trực tuyến: bạn có thể sử dụng Ajax để tạo ra tính năng cho phép người dùng chỉ cần chọn một từ trên trang web của bạn và hiển thị từ tương ứng của các ngôn ngữ khác (sử dụng các dịch vụ của các trang tự điển)

4. Các trang bán hàng trực tuyến: cập nhật theo thời gian thực danh sách những gì người mua chọn và giá cả mà không cần phải tải lại trang web (ví dụ người dùng nhấn chọn thêm một mặt hàng, ngay lập tức nó xuất hiện trong danh sách bên cạnh và tổng giá tiền cũng sẽ được cập nhật tương ứng)

5. Hệ thống đánh giá ở các trang web nhạc số: Người dùng nhấn một nút đánh giá và ngay lập tức nó sẽ được cập nhật vào hệ thống (hai trang Nhạc Số và Nhạc Việt có lẽ nên tìm hiểu áp dụng kỹ thuật này)

Ví dụ:
- Tạo một trang A có nội dung: Đây là nội dung của trang A
- Tạo một trang B có nội dung: Đây là nội dung của trang B.
Sử dụng kỹ thuật Ajax để xử lý khi mở trang A ra thì nó tự động hiển thị cả nội dung trang B. 

Ta có code nội dung trang A như sau:
 a.php

Trong đó chú ý:
Link thư viện của jquery
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
Sử dụng hàm .load để load trang b.php

Ta có nội dung trang B như sau:
 b.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Trang B</title>
</head>
<body>
<p>Đây là nội dung Trang B</p>
</body>

</html>

Kết quả khi vào trang A sẽ hiển thị nội dung như hình ảnh sau:
Xem thêm

Thứ Ba, 4 tháng 12, 2018

Download Snagit - chụp ảnh màn hình Laptop, PC dành cho tester full key

17:17 0

phần mềm chụp ảnh Snagit được biết tới là một phần không thể thiếu cho dân kiểm thử phần mềm, nó quá tuyệt vời cho bạn chụp hình các chức năng để đưa vào file excel một cách đơn giản.


Để download phần mềm tại link sau: tại đây (bao gồm cả key)

Những tính năng chính của Snagit:

 Chụp ảnh màn hình máy tính.

Sử dụng chương trình để chụp lại bất kì hình ảnh xuất hiện trên màn hình máy tính. Chỉ cần một lầm click chuột là bạn đã có trong tay bức hình “ưng ý” nhất của mình. Bạn có thể chụp toàn bộ hoặc theo từng đối tượng xuất hiện trên màn hình như thanh công cụ, giao diện chính trên Web, các Tab…
- Chỉnh sửa hình ảnh.

Snagit cung cấp nhiều công cụ với các tính năng chỉnh sửa ảnh cho phép người dùng tùy chọn các công cụ thích hợp để chỉnh sửa những hình ảnh theo phong cách riêng của chính mình.

- Chỉnh sửa hàng loạt các hình ảnh

Snagit cho phép bạn chỉnh sửa ảnh hàng loạt, không nhất thiết là bạn phải thay đổi hiệu ứng hay kích thước cho ảnh này rồi đến ảnh khác lần lượt, chỉ với vài click, chương trình đã giúp bạn hoàn thành một loạt hình ảnh khác nhau.

- Nhấn mạnh đối tượng xuất hiện trong ảnh.

Download Snagit về máy tính, khởi động chương trình lên, Khoanh vùng một vùng chọn trên hình ảnh, chọn phân vùng ảnh đó làm trọng tâm của bức ảnh, tất cả những vùng ngoài vùng chọn đó sẽ được làm mờ đi ngay lập tức làm nổi bật lên vùng được chọn.

- Ảnh chụp tự động được lưu vào thư viện

Các bức ảnh sau khi được chụp sẽ tự động được lưu vào thư viện sẵn của chương trình. Để chỉnh sửa hoặc lấy những bức ảnh đó ra, chỉ cần truy cập vào thư viện đó và chọn bức hình mà bạn muốn.

- Tìm kiếm ảnh theo ngày, theo tên web

Tìm kiếm hình ảnh dễ dàng bằng cách chọn ngày tháng được tạo ra hoặc theo tên trang Web chứa hình ảnh đó tùy theo bạn chỉ định. Nhanh chóng tìm lại một bức ảnh đã được chụp lại trong quá khứ mà không phải tốn công như trước.

- Hiệu ứng hình ảnh độc đáo

Một trong những tiêu điểm của ứng dụng này là chức năng "Filters", cho phép bạn tạo ra các hiệu ứng cực kỳ thú vị và chuyên nghiệp tương đương với dùng Photoshop. Các hiệu ứng khác như tạp vệt mờ, các hiệu ứng sắc cạnh, chèn khung ảnh…


- Snagit có thể copy text trong hình ảnh

Khi tải Snagit về máy, bạn tự tạo các dòng văn bản như chú thích,  mô tả hình ảnh hoặc lưu chữ kí, dấu bản quyền vào bức ảnh. Điều này rất thuận tiện trong việc chia sẻ hình ảnh vừa tránh tình trạng vi phạm bản quyền, vừa hướng dẫn người dùng cách thức sử dụng bức ảnh.

- Tính năng mới quay video màn hình.

Thay vì chụp ảnh, bạn có thể lựa chọn chức năng này để thu lại mọi hoạt động diễn ra trên màn hình, giúp bạn tự tạo một video hướng dẫn học tập hoặc video thuyết trình, sử dụng thích hợp trong các công việc cũng như học tập.

- Chia sẻ hình ảnh và video.

Những hình ảnh sau khi được chụp và được chỉnh sửa, các video được quay lại và tải trực tiếp lên mạng Internet, trên các diễn đàn trực tiếp, blog cá nhân và các trang mạng xã hội khác, mạng FTP, Facebook hoặc Twitter…
Xem thêm

Thứ Hai, 3 tháng 12, 2018

Hướng dẫn cấu hình và cài đặt Java (JDK)

19:40 0
Bộ JDK là một bộ công cụ dành cho phát triển Java, để lập trình java cần phải cài đặt môi trường phát triển cho nó.

Tài liệu được viết dựa trên phiên bản Java mới nhất Java 11:

Bước 1: Download JDK
Link: https://www.oracle.com/technetwork/java/javase/downloads/index.html


Để chọn JDK chính xác bạn cần kiểm tra máy tính của bạn sử dụng hệ điều hành gì? và bao nhiêu bit? 32bit hay 64 bit từ đó chọn chính xác hơn.

Máy mình thực hiện: OS là window 10 64 bit.



Do vậy chọn phiên bản phù hợp là: JDK 64 bit cho window:



Bước 2: Cài đặt JDK




Nhập vào thư mục mà JDK sẽ được cài đặt ra, ở đây tôi đặt là:


Java đã được cài đặt thành công:


Bước 3: Cấu hình biến cho môi trường Java:

Tiếp theo chúng ta cấu hình biến môi trường cho Java. Việc này không bắt buộc, nhưng nếu trên máy tính của bạn cài đặt nhiều phiên bản Java, thì việc cấu hình là cần thiết để xác định phiên bản java nào mặc định được sử dụng.

Các bạn làm theo thứ tự như trên hình sau:



Nhập đường dẫn tới thư mục JDK
  • Variable name: Java Home
  • Variable value: C:\Program Files\Java\jdk-11.0.1


Thêm vào phía trước giá trị của biến môi trường path:
  • %Java_Home%\bin;
Thực hiện theo thứ tự trong hình dưới.

Như vậy là bạn đã cài đặt và cấu hình Java thành công.

Xem thêm

Để bắt đầu học ngôn ngữ lập trình Java cần những gì?

18:57 0
Java là một ngôn ngữ lập trình phổ biến nhất hiện nay, là hướng đối tượng và dựa trên các lớp. Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi chạy.


Để lập trình Java chúng ta cần 2 thứ:

1. JDK là một bộ công cụ phát triển Java, nó dành cho những người lập trình Java để phát triển ứng dụng. Về cơ bản nó bao gồm
  • JRE (Java Runtime Environment) là một môi trường chạy ứng dụng Java.
  • Javac: Một chương trình để dịch mã mà bạn viết thành mã bytecode, khi ứng dụng Java chạy nó dịch mã bytecode thành mã máy tính và thực thi, điều đó có nghĩa là bytecode chỉ là một mã trung gian.
  • Archive (jar): Là một chương trình nén các file thành một file duy nhất có đuôi jar. Thường dùng để đóng gói các file class.
  • Javadoc: Là một công cụ tạo ra tài liệu hướng dẫn sử dụng API.
  • Và các công cụ khác cần thiết cho phát triển Java.
Xem bài hướng dẫn cài đặt JDK tại đây

2. IDE

Là một môi trường phát triển tích hợp (IDE), về bản chất nó là một chương trình để bạn viết code.

Chương trình này hỗ trợ nhiều tính năng tự động hóa cho người phát triển. Chẳng hạn các gợi ý khi lập trình, tự hoàn thiện mã,...
Với Java bạn có nhiều sự lựa chọn IDE, nó là cái để bạn lập trình viết code. Phổ biến và thông dụng nhất hiện nay là EclipseNetBeans

Quá trình học Java bạn không thể bỏ qua 2 thứ trên. Bài tiếp theo mình sẽ hướng dẫn các bạn cách cài đặt JDK và IDE trong các loạt bài hướng dẫn mình sẽ sử dụng eclipse.
Xem thêm

Thứ Sáu, 30 tháng 11, 2018

Luôn học và tìm hiểm mọi thứ có thể

18:10 0

Tôi là chủ nhân của blog ICT Sharing!
Tôi tên là Trần Anh Thư
Tốt nghiệp ngành công nghệ phần mềm Bách khoa hà nội
Slogan của tôi là "Luôn học và tìm hiểm mọi thứ có thể".
Blog này là nơi lưu giữ và chia sẻ các bài viết liên quan tới công nghệ thông tin, những kinh nghiệm qua các dự án tôi thực hiện và tìm hiểu thêm trên mạng rồi viết note lại vào blog để xem lại khi cần và chia sẻ cho mọi người cùng thành công.
Mọi bài viết trên blog này đều được tác giả viết hoặc cóp nhặt lưu để khi cần có thể sử dụng.

Được chia sẻ miễn phí cho mọi người. Nếu vướng mắc tới bản quyền của tác giả nào thì xin vui lòng liên hệ tại đây.

Xin cảm ơn!
Xem thêm

Thứ Sáu, 22 tháng 7, 2016

Giới thiệu về Spring Framework

14:14 0
Spring Framework, hay ngắn hơn là Spring, là một cấu trúc dùng để xây dựng chương trình ứng dụng mã nguồn mở dành cho ngôn ngữ lập trình Java. Phiên bản đầu tiên của nó do Rod Johnson viết, và đã được ông xuất bản cùng với quyển sách đầu tay Expert One-on-One Java EE Design and Development (Nhà xuất bản Wrox Press, Tháng 10 năm 2002) - tạm dịch là "Thiết kế và kiến tạo Java EE - tương giao cá nhân một đối một chuyên ngành". Phiên bản phần mềm này cũng còn được xuất sang nền tảng .NET (.NET platform), được gọi là Spring.net.


Kiến trúc của Spring Framework được ra mắt công chúng lần đầu tiên hồi tháng 6 năm 2003 dưới Giấy phép Apache - phiên bản 2.0. Phiên bản 1.0 đánh dấu mốc thành đạt đầu tiên được xuất bản vào tháng 3 năm 2004, và tiếp đó vào tháng 9 năm 2004, tháng 3 năm 2005.

Tuy Spring Framework không bắt buộc người ta phải tuân theo một mô hình lập trình (programming model) cụ thể nào, song nó lan truyền rộng rãi trong cộng đồng những người viết chương trình dùng Java, như một hình thức chủ yếu thay thế cho mô hình Enterprise JavaBean. Theo thiết kế, bộ khung hình này giải phóng lập trình viên dùng Java, cho phép họ nhiều quyền tự do hơn, và đồng thời cung cấp một giải pháp tiện lợi, đầy đủ dẫn chứng bằng tài liệu, dễ dàng sử dụng, phù hợp với những thực hành thông dụng trong công nghệ phần mềm.

Bên cạnh những đặc trưng nền tảng của Spring Framework là những cái có thể dùng được trong bất cứ một chương trình ứng dụng Java nào, rất nhiều các mở rộng và tiến bộ trong việc kiến tạo các trình ứng dụng dành cho nền tảng mạng web (web-based application) dựa trên nền Java Enterprise cũng tồn tại nữa. Spring Framework nổi tiếng cũng một phần do chính đặc thù kể trên và được giới thương mại công nhận như một nền tảng kiến trúc có tầm quan trọng trong chiến lược kiến tạo phần mềm.

Tính năng chủ yếu

- Bao gồm bộ quản lý cài đặt rất có hiệu lực dựa trên JavaBeans, áp dụng lý thuyết đảo ngược quyền khống chế (IoC) làm cho việc mắc nối các chương trình ứng dụng trở nên nhanh chóng và dễ dàng hơn. Việc sử dụng (IoC) trong khung hình Spring Framework còn được ám chỉ đến với cái tên Dependency Injection (DI) (Nghĩa đen: bơm hay tiếp thành phần phụ thuộc, từ bên ngoài vào, lúc cần thiết, thay vì phải tự tạo từ bên trong). Nguyên lý của IoC sử dụng trong Spring Framework là một kỹ thuật nhằm ngoại biên hóa (externalize) việc kiến tạo và quản lý những thành phần phụ thuộc. Lấy ví dụ trường hợp lớp "Foo" phụ thuộc vào một trường hợp cá biệt của lớp "Bar" để thi hình một nhiệm vụ nào đấy. Theo phương pháp cổ truyền, "Foo" phải tự kiến tạo trường hợp cá biệt của lớp "Bar", dùng hành động "new", hoặc phải tiếp nhận trường hợp cá biệt của lớp này từ một lớp chế xuất nào đấy (factory class). Nếu sử dụng tiếp cận của IoC thì một tiến trình ngoại biên sẽ phải cung cấp trường hợp của "Bar" (hoặc một tiểu lớp của nó) cho "Foo" trong thời gian chạy (runtime). Đây chính là nguyên nhân tại sao "DI" là một thành ngữ diễn tả tính năng của Spring Framework rõ hơn "IoC".

- Bao gồm một mẫu hình chế xuất trừu tượng (abstract factory pattern) Enterprise Java Beans (EJB) nòng cốt, có thể sử dụng trong bất cứ môi trường nào, từ những khung chứa (containers) applet cho đến Java EE.

- Một lớp trừu tượng chung quản lý giao dịch cơ sở dữ liệu (database transaction), cho phép các bộ phận quản lý giao dịch được bổ trợ theo lối lắp ráp (pluggable), và tạo điều kiện thuận lợi cho việc phân định danh giới các giao dịch (demarcate transactions) mà không cần phải xử lý với những vấn đề ở tầng dưới (low-level issues).

- Bao gồm một số các chiến lược phổ thông đã được cài sẵn bên trong (Built-in generic strategies) dành cho JTA và một đơn thể nguồn dữ liệu JDBC (DataSource). Đối lập với những giao dịch do khung chứa quản lý (Container-Managed Transactions - CMT) đơn thuần trong JTA hoặc EJB, hỗ trợ giao dịch trong bộ khung Spring không đòi hỏi môi trường Java EE.

- Tầng liên nối với cơ sở dữ liệu (JDBC abstraction layer ) cung cấp một cơ chế tầng cấp đầy ý nghĩa đối với những ngoại lệ (exception hierarchy) (không còn phải dựa vào việc nắn bóp mã nguồn của nhà sản xuất phần mềm như đối với SQLException nữa), đơn giản hóa việc xử lý lỗi, và cũng đồng thời thuyên giảm số lượng dòng lệnh mà lập trình viên cần phải viết. Lập trình viên sẽ không bao giờ phải viết khối 'finally' trong các dòng mã sử dụng JDBC nữa.

- Tích hợp với Hibernate, JDO và iBATIS SQL Maps: trên phương diện cầm dữ tài nguyên (resource holders), hỗ trợ phần thực thi DAO (Data Access Object - Đối tượng truy cập dữ liệu), và các chiến lược giao dịch (transaction strategies). Đứng hàng đầu trong việc hỗ trợ Hibernate với rất nhiều tính năng IoC tiện dụng, giải quyết nhiều nan đề trong việc tích hợp với Hibernate. Tất cả những tính năng này đều phục tùng cơ chế tầng cấp giao dịch chung cùng tầng cấp ngoại lệ DAO của Spring.

- Khung hình mô hình-giao diện-điều khiển (Model-view-controller, hay MVC) linh hoạt dành cho ứng dụng mạng (web application), được gây dựng trên tính năng nền tảng của Spring. Các nhà xây dựng phần mềm (lập trình viên) có quyền khống chế cao độ trong khung hình này thông qua những giao diện chiến lược (strategy interfaces), đồng thời điều tiết với những kỹ thuật đa giao diện (multiple view technologies) như JSP, FreeMarker, Velocity, Tiles, iText, và POI. Nên nhớ là Tầng trung gian của Spring có thể dễ dàng kết hợp với một tầng mạng sử dụng bất cứ một khung hình MVC mạng nào đó (web MVC framework), như Struts, WebWork, hoặc Tapestry.

- Khung hình lập trình định dạng (Aspect-oriented programming - hay AOP) nhằm cung cấp các dịch vụ như dịch cụ quản lý giao dịch (transaction management). AOP cung cấp khả năng thực thi lôgic đan kết (crosscutting logic) - tức những lôgic tác động đến rất nhiều phần của chương trình ứng dụng - tại cùng một chỗ (nhóm lại) và để cho lôgic ấy áp dụng xuyên suốt chương trình ứng dụng của mình một cách tự động.

- Vì những khó khăn trong việc kiến lập một cấu trúc mạch lạc để thiết kế phần mô hình (Model part) trong chương trình ứng dụng, khi áp dụng mô hình MVC (design pattern) (ví như Struts), khả năng Spring tạo điều kiện cho người sử dụng làm việc một cách dễ dàng có nghĩa là các nhà xây dựng có thể nhanh chóng điều chỉnh lại những tiếp cận không thành quả của mình để lợi dụng tầng lớp JDBC trừu tượng của Spring Framework.

Các module


Spring Framework được coi như là một tổ hợp của nhiều khung hình nhỏ, hay nói cách khác, nó là tổ hợp của khung hình trong khung hình. Đại bộ phận các khung hình này được thiết kế để hoạt động biệt lập với các khung hình khác, song lại tạo nên nhiều chức năng tốt hơn khi được phối hợp làm việc với nhau. Những khung hình này được phân loại theo các khối nền cơ bản mà những chương trình phần mềm phức tạp điển hình thường sử dụng:

 - Khung chứa đảo ngược khống chế (Inversion of Control container): Sự cài đặt các thành phần của chương trình ứng dụng và quản lý chu trình của các đối tượng trong Java (lifecycle management of Java objects).

 - Khung hình lập trình định dạng (Aspect-oriented programming framework): làm việc với những chức năng không thể sử dụng năng lực lập trình hướng đối tượng của Java để thực thi mà không phải hy sinh.

 - Khung hình truy cập dữ liệu (Data access framework): làm việc với các hệ quản trị cơ sở dữ liệu quan hệ trên nền tảng Java sử dụng JDBC và các công cụ liên kết quan hệ đối tượng (Object-relational mapping) cung cấp giải pháp cho những thử thách về kỹ thuật mà chúng có thể tái sử dụng trong bội số các môi trường sử dụng Java.

 - Khung hình quản lý giao dịch (Transaction processing / Transaction management framework): Sự đồng hòa các API quản lý giao dịch và sự điều hợp quản lý giao dịch đối với các đối tượng Java dùng phương pháp cài đặt.

 - Khung hình mô hình-giao diện-điều khiển (Model-view-controller framework): Khung hình dựa trên nền tảng HTTP và Servlet cung cấp rất nhiều móc điểm có thể mở rộng và cải biên (extension and customization).
 
 - Khung hình truy cập từ xa (Remote Access framework): Xuất nhập khẩu các đối tượng Java trên mạng lưới truyền thông hỗ trợ các giao thức dựa trên nền HTTP, sử dụng phong cách RPC (Remote procedure call) thông qua cài đặt , như RMI (Java remote method invocation - khởi động phương pháp từ xa trong Java), CORBA và dịch vụ mạng (web services - SOAP).

 - Khung hình xác thực và ủy quyền (Authentication and authorization framework): Sự điều hợp các quá trình xác thực và ủy quyền thông qua cài đặt hỗ trợ nhiều tiêu chuẩn công nghiệp và những tiêu chuẩn được sử dụng phổ biến, cũng như các giao thức, công cụ và các thói quen thực hành phổ dụng.

 - Khung hình quản lý từ xa (Remote Management framework): Sự quản lý và quảng bá các đối tượng Java đối với các bố trí địa phương và bố trí ngoại biên thông qua JMX (Java Management Extension - quản lý mở rộng của Java cho phép các phần mềm không trực thuộc Java có thể lắp ráp vào và sử dụng được trong nền tảng Java).

 - Khung hình truyền thông điệp (Messaging framework): đăng ký các đối tượng lắng nghe thông điệp dùng để tiếp thu và sử dụng thông điệp từ các hàng thông điệp (message queue) thông qua JMS (Java Message Service - Dịch vụ Thông điệp của Java), cải tiến việc truyền gửi thông điệp dùng tiêu chuẩn trong API của JMS.

 - Khung hình kiểm thử phần mềm (Software testing framework): Những chủ thể (lớp) hỗ trợ việc viết các kiểm thử đơn vị và các kiểm thử tích hợp (unit tests and integration tests).

Bài viết tham khảo trên laptrinh
Xem thêm

Khắc phục lỗi Apache không Start được trong Xampp

09:54 0
Thiết kế website thương xuyên phải xử dụng tới server Appche, lỗi này thường xây ra do máy tính chúng ta cài đặt các phần mềm khác bị xung đột cổng như cài SQL Server, Skype, VMWARE (máy ảo) ...

Hôm nay mình sẽ hướng dẫn 2 cách khắc phục lỗi thường xảy ra trong Appche không Start được trong Xampp.

Cách 1: Sửa lại file HTTPD-SSL để Start Apache

Khi các bạn cài đặt XAMPP lên máy để tạo máy chủ web apache mặc định cổng 80 để truyền dữ liệu, tuy nhiên các phần mềm khác được cài đặt trên máy đã chiếm cổng 80 để sử dụng dẫn tới tình trạng không thể khởi động được Apache.


Để sửa lại file HTTPD-SSL bạn làm như sau:

Bước 1: Tìm đến thư mục cài đặt XAMPP > Tìm đến file HTTPD-SSL theo đường dẫn thường mặc định như sau:
C:\program file>>XAMPP>>apache>>conf>>original>>extra

Bước 2 :
Bạn click chuột phải vào File HTTPD-SSL và chọn mở bằng notepab > Click vào Edit trên thanh công cụ của Notepad >Chọn Replace một cửa sổ mới xuất hiện

Dòng Find what bạn nhập vào 443

Dòng Replace with bạn nhập vào 4499 

=> Chọn Replace All để thay thế tất cả > Sau đó lưu nó lại và start Apache rồi ra trình duyệt gõ localhost để kiểm tra xem apache đã được hoạt động bình thường chưa.


Cách 2: Đổi Post cho Apache

Với cách 2 này chúng ta cần đổi post cho Apache sang một cổng khác

Bước 1: Bạn bật phần mềm XAMPP lên > Click vào ô config nằm trên dòng Apache > Click vào Apache (httpd.conf) để mở file.



Bước 2: Chọn mở bằng notepab > Click vào Edit trên thanh công cụ của Notepad >Chọn Replace một cửa sổ mới xuất hiện
Dòng Find what bạn nhập vào 80
Dòng Replace with bạn nhập vào 81

=> Sau đó chọn Replace All > Save lại

Bước 3: Ra trình duyệt để kiểm tra 
Các bạn vào xampp > Click vào start Apache rồi gõ lên trình duyệt localhost:81


Chúc các bạn thành công
Xem thêm

Thứ Năm, 14 tháng 7, 2016

Hướng dẫn cài đặt và cấu hình database Oracle 12c R1 trên win 10 64 bit miễn phí

13:07 0
Oracle nổi tiếng là hệ cơ sở dữ liệu đắt đỏ và không được sử dụng miễn phí. Tuy nhiên, gần đây Oracle đã có phiên bản miễn phí dành cho sinh viên học tập và Công ty có qui mô nhỏ.
 Sau đây mình sẽ hướng dẫn các bạn cài đặt và cấu hình Hệ quản trị cơ sở dữ liệu Oracle trên:
 - Trên Window 10 64bit.
 - Trên Oracle phiên bản miễn phí Download Oracle 12c

Thực hiện theo các bước như sau:

1. Download trên trang chủ của Oracle:
Download tại đây: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Trong quá trình download Oracle sẽ yêu cầu đăng ký thông tin (điền và mẫu theo hướng dẫn của Oracle )


Sau khi download xong bạn có 2 file zip. Hãy giải nén chúng ra 2 thư mục khác nhau hoặc giải nén trộn vào cùng một thư mục.





2. Cài đặt Oracle 11g trên Windows 64 bit

Nếu bạn giải nén 2 file zip bộ cài của Oracle ra 2 thư mục, và cài đặt từ file setup trong thư mục 1. Trong quá trình cài nó sẽ đòi hỏi bạn trỏ vào vị trí của thư mục 2 để cài tiếp.



Chúng ta sẽ cài cả phần mềm Oracle và tạo luôn một Database có tên db12c (hay SID = db12c).


Với mục đích học tập hoặc với các công ty nhỏ, chọn: Desktop class


Bước này chúng ta có thể sử dụng tài khoản User của Windows hoặc tạo một tài khảo mới, trong ví dụ này mình tạo một tài khoản mới là admin / root


Để có thể lưu trữ được nhiều loại ngôn ngữ (bao gồm cả tiếng Việt), bạn nên chọn: Unicode (AL32UTF8)
  • Character Set: Unicode (AL32UTF8)
  • Global database name: db11g / root (Bạn có thể chọn một cái tên khác, đây là tên của database, hoặc còn gọi là SID)

(lưu ý: mật khẩu nên có ít nhất 8 ký tự, 1 ký tự HOA, bao gồm cả chữ và số. Nếu không sẽ có 1 thông báo xuất hiện xác nhận mật khẩu yếu, bạn có muốn tiếp tục sử dụng k?). Chọn Next.


Và chờ đợi cho tới khi việc cài đặt thành công.


Bước tiếp theo bộ cài đặt sẽ tạo Database có tên db11g như bước trước chúng ta đã đặt tên.



Thông tin tổng kết sau khi việc cài đặt thành công.




Nếu window hiển thị lên cảnh báo chặn hoạt động của Oracle hay không, bạn nhấn vào "Allow access" để cho phép oracle hoạt động.



3. Kiểm tra việc cài đặt và cấu hình các cài đặt mở rộng

Sau khi cài đặt thành công, các service của Oracle tự động được Start. Chúng ta có thể vào Service của Windows để kiểm tra.
Có 7 service của Oracle, để chạy thông thường chỉ cần có 3 service là đủ:
  • OracleDBConsole<sid>
  • OracleOra<Sid>_home1TNSListener
  • OracleService<SID>

(*) Oracle DB Console

Serivce OracleDBConsole<sid> giúp bạn có thể vào trang quản trị giao tiếp với Database thông qua URL: https://localhost:1158/em



Sử dụng OracleDBConsole cho phép bạn xem được tổng quan DB của bạn đang hoạt động thế nào. Tài nguyên được sử dụng ra sao. Các user nào đang hoạt động và các câu lệnh nào đang được thực thi,.... (Trong tài liệu này tôi không đề cập chi tiết về nó).


Nếu Oracle của bạn chỉ dùng cho mục đích học tập, bạn có thể tắt dịch vụ OracleDBConsole này đi, tránh tốn tài nguyên máy tính không cần thiết. Tốt nhất chuyển chế độ khởi động về Manual, để dịch vụ không tự động Start mỗi khi máy tính được chạy, khi cần thiết bạn có thể chủ động chạy nó.




Như vậy là chúng ta đã cài đặt xong hệ quản trị csdl Oracle.
Bài tiếp theo mình sẽ hướng dẫn cách sử dụng SQL Plus để làm việc với hệ csdl này.


Xem thêm

Post Top Ad

Your Ad Spot