Sunday, August 3, 2014

[Groovy on Grails] Creating an Application - Tạo thử ứng dụng đầu tiên

1. Để tạo ra ứng dụng từ Grails thì trươc tiên mình cứ lướt qua một số lệnh command trong Grails cho quen đã.

Gõ lệnh Grails help để xem grails có những lệnh gì


2. Tạo thử  cái Hello World cho quen thuộc

Dùng lệnh Grails create-app helloworld để tạo ứng dụng, sau khi lệnh được thực thi xong chúng ta di chuyển về project vừa tạo để làm việc bằng lênh cd helloworld


Sau khi đã tạo được project rồi, bây giờ chúng ta cần tạo Controller Action cho nó bằng lệnh Grails create-controller hello để tạo HelloControler

Tiếp đó HelloControler sẽ được tạo ra cùng view và test tương ứng, rất là ngon

 Created file grails-app/controllers/helloworld/HelloController.groovy
 Created file grails-app/views/hello
 Created file test/unit/helloworld/HelloControllerSpec.groovy

Bây giờ chúng ta vào HelloController.groovy mở bằng notepad++ nên, Groovy như sau:

package helloworld

class HelloController {

    def index() { 
render "Hello World!"
}
}

Save lại và tiếp tục quay lại cmd, gõ lệnh grails run-app  để chạy thử ứng dụng




Server running. Browse to http://localhost:8080/helloworld, ok bây giờ chúng ta page http://localhost:8080/helloworld lên trình duyệt yêu thích


trên đây là giao diện mặc định của grails, bấm vào



[Groovy on Grails] Setup Environment - Cài đặt môi trường

1. Cài đặt môi trường, trước tiên là phải có môi trường Java, có thể tham khảo bài hướng dẫn ở bài viết trước http://javadevexpress.blogspot.com/2014/01/huong-dan-cai-at-moi-truong-java.html

2. Cài đặt Grails Environment

- bạn cần down grails framework mới nhất từ địa chỉ https://grails.org/download
- giải nén vào một folder nào đó lưu trong máy tính
- cài đặt biến môi trường là GRAILS_HOME trỏ đến thư mục vừa giải nén
- thêm đường dẫn đến thư mục [bin] của grails vào biến môi trường %PATH% của Windows

để kiểm tra xem đã cài đặt môi trường Grails ok chưa, chúng ta vào cmd gõ lệnh command line: grails -version để kiểm tra version hiện tại hoặc grails help để xem định nghĩa các lệnh


nếu tới đây ok rồi thì chúng ta bắt đầu tạo một ứng dụng đầu tiên của Grails xem thế nào.

Monday, July 14, 2014

Creating Dynamic Web module with maven - Tạo một trang web động trên Eclipse, sử dụng maven để build

Hôm nay nhân ngày kết thúc đợt OT trường kỳ, khăn gói - mì tôm - ăn ngủ văn phòng thì hôm nay trong lúc ngồi thẫn thờ không tỉnh táo mình viết bài hướng dẫn simple này, hy vọng hữu ích cho các bạn yêu thích lập trình và đang tìm hiểu maven, hiện nay cty mình vẫn dùng maven 2.2.1 nhưng bạn hoàn toàn có thể down bản mới nhất và tìm hiểu thêm tại địa chỉ http://maven.apache.org/download.cgi

1. Maven là gì?

Trước tiên mình xin giới thiệu qua về Maven. Tên đầy đủ là Apache Maven, đây là chương trình quản lý dự án được sử dụng nhiều bởi Java developer, nó thực hiện các công việc như khởi tạo project, biên dịch, đóng gói, chạy test,… một cách tự động và nhanh chóng. Nó đặc biệt hữu dụng với các dự án tầm trung và lớn.
Nó thường được so sánh với Apache Ant, nhưng nó hoạt động khác hẳn với Apcache Ant.
Mỗi dự án sẽ được mô tả trong một file có định dạng XML có  tên “pom.xml”. File này sẽ chứa một số thông tin như tên dự án, các thư mục tài nguyên liên quan, các libraries sử dụng,… Khi bắt đầu biên dịch, trình Maven sẽ đọc file này và tự động tải các libraries cần thiết từ repositories của nó thông qua mạng hoặc nơi người dùng đã định nghĩa.

2. Cách tạo project đơn giản

B1: Cứ tạo một project Dynamic Web như bình thường


B2: Tên project

B3: Tạo các Source folders sao cho bố cục rõ ràng



B4: Config thư mục chứa content

B5: Convert sang maven project


Chọn kiểu đóng gói Packing là .war để lúc buil và deploy trên tomcat server cho tiện


B6: Tạo trên JSP, chú ý là tạo trong WEB-INF để đảm bảo tính bảo mật




B7: Config lại web.xml nếu cần thiết


B8: Run


Bạn hoàn toàn có thể Export ra file .war để triển khai lên môi trường thật



Friday, June 13, 2014

Tổng hợp nhạc Baroque kích thích trí não, giúp học tập và làm việc đạt hiệu quả cao

Đây là tổng hợp các nhạc Baroque có giai điệu, tần số phù hợp với sóng não giúp kích thích trí não, giúp học tập và làm việc đạt hiệu quả cao.

Tiến sĩ Georgi Lozanov, nhà tâm lý học nổi tiếng người Bulgaria, từng thực hiện một nghiên cứu trong đó ông cho những tình nguyện viên vừa học ngoại ngữ vừa nghe thể loại nhạc Baroque (nhạc Baroque là thể loại nhạc cổ điển thịnh hành vào thế kỷ 17-18 với các nhạc sĩ lỗi lạc như Bach, Vivaldi, ...) với nhịp điệu 60 nhịp một phút. Sau một ngày học ngoại ngữ, những học sinh này sẽ trải qua một bài kiểm tra. Kết quả cho thấy cho thấy chỉ trong một ngày các đối tượng nghiên cứu có thể học số lượng từ đến 1000 từ mà bình thường phải mất một học kỳ mới học được. Hơn thế nữa, những học sinh trên có thể nhớ đến 92% những gì đã được học. Chỉ bằng việc lắng nghe nhạc Baroque khi đang học, thời lượng cần thiết để thông thạo một ngoại ngữ được giảm từ 2 năm xuống 30 ngày. Và những sinh viên tham gia nghiên cứu trên có khả năng nhớ những từ mình đã học thậm chí sau 4 năm mà không cần ôn tập.



Những tập đoàn khổng lồ như IBM và Shell, cùng với một loạt các trường trung học và đại học nổi tiếng, đã và đang sử dụng âm nhạc để giảm thời lượng học và tăng cường khả năng truy xuất thông tin. Việc nghe nhạc còn làm tăng khả năng và năng suất làm việc một cách đáng kể. Nghiên cứu cũng cho thấy nghe nhạc Mozart và những bản nhạc Baroque giúp sinh viên cảm thấy bình tĩnh, tập trung hơn, và tăng cường khả năng trí tuệ.

Nhạc Baroque có những tác dụng cụ thể nào về mặt sinh lý học? Khi chúng ta lắng nghe theo nhịp điệu đều đặn của thể loại nhạc này, 60 nhịp một phút, nhịp tim, huyết áp và sóng não đều thư giãn theo điệu nhạc. Nhịp tim chậm lại, huyết áp giảm đi, sóng não beta giảm 6% trong khi sóng não alpha (thích hợp cho học tập và trí nhớ) tăng 6%. Âm nhạc giúp bạn đi vào trạng thái thư giãn nhưng tỉnh táo (relaxed alertness) -- trạng thái tối ưu cho học tập và làm việc.

Friday, June 6, 2014

Cách đếm số ký tự UTF-8 trong JAVA

Cách đếm số ký tự UTF-8 trong JAVA

/**
 *
 * @author HuanLT
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here+
        String g = "lê";
       
        System.out.println("" + countUTF8Length(g));
    }


    // count utf-8
    public static int countUTF8Length(String str)
    {
        int count = 0;
        for (int i = 0; i < str.length(); ++i)
        {
            char c = str.charAt(i);
            if (c < 0x80)
            {
                count++;
            } else if (c < 0x800)
            {
                count +=2;
            } else if (c < 0x8000)
            {
                count +=3;
            } else {
                throw new UnsupportedOperationException("not implemented yet");
            }
        }

        return count;
    }
}