Tổng quan các thành phần của Salesforce Developer Console

1. Salesforce Developer Console là gì?

Salesforce Developer Console là một môi trường được phát triển tích hợp bao gồm các tool cho phép tạo, debug, test,.. ứng dụng.

Để Open Salesforce Developer Console tiến hành như sau:
B1: Login Salesforce:  https://login.salesforce.com/
B2: Click vào Username => Click Developer Console


B3: Cửa sổ Salesforce Developer Console sẽ xuất hiện như bên dưới

2. Các thành phần trong Salesforce Developer Console

- Thanh Menu bar: bao gồm các chức năng tạo new class (Apex Class, Apex Trigger, Visualforce Page, ...), Open (class, trigger, page, ...), execute Apex code, Run test, ...
- Logs tab: Hiển thị logs khi chạy chương trình: hiển thị debug, SOQL, các biến, ...
- Test tab: Hiển thị trạng thái của test class
- Query Editor tab: Dùng để viết truy vấn và xem kết quả.

3. Thực thi chương trình trong Salesforce Developer Console

B1: Mở Salesforce Developer Console
B2: Đi đến Debug => Open Exevute Anonymous Window
       OR: Ctrl + E


B3: Viết code và nhấn Button Execute


B4: Sau khi excute thì sẽ xuất hiện logs ghi lại quá trình chương trình chạy, để xem log này click vào Logs tab sau đó double click vào dòng log bạn muốn xem


B5: Để xem nhanh kết quả debug chọn vào Debug Only hoặc xử dụng Filter


4. Thực thi SOQL trên Salesforce Developer Console

B1: Mở Salesforce Developer Console
B2: Chọn Query Editor Tab sau đó viết SOQL vào, Sau đó nhấn Excute và xem kết quả


Đọc Tiếp »

Hướng Dẫn tạo tài khoản Saleforce Developer.

Nếu bạn mới bắt đầu học về Salesforce thì cần phải tạo tài khoản Saleforce Developer.
Để tạo account FREE bạn làm theo cách bước sau:

1. Đi đến trang: https://developer.salesforce.com/ sau đó click vào Sign Up .

2. Điền cẩn thận thông tin trong form đăng ký.

Sau khi điền xong Click vào "Sign me up"

3. Đăng nhập mail thực hiện: Verify Account



4. Sau khi Verify Account điền tiếp Password và câu hỏi bảo mật


Sau khi điền xong, click Change Password và quá trình đăng ký hoàn thành.

5. Bây giờ bạn có thể Login Salesforce:  https://login.salesforce.com/ để bắt đầu code được rồi.

Bài tiếp theo mình sẽ hướng dẫn về Salesforce Developer Console. 

Cảm ơn bạn đã đọc bài viết, chúc bạn học tập, làm việc vui vẻ, hiệu quả.
Đọc Tiếp »

Salesforce Là Gì ? Tổng Quan về Lập trình Salesforce.

1. Salesforce là gì ?

Salesforce được thành tháng 3 năm 1999, có trụ sở tai San Fransisco, California. Ngày nay khi nói về điện toán đám mây Salesforce được sắp hàng đầu về giải pháp quản lý quan hệ khách hàng CRM (Customer Relationship Management). Salesforce cung cấp các giải pháp chuyên sâu, toàn diện về bán hàng, quản lý, dịch vụ chăm sóc khách hàng. Có rất nhiều công ty đang sử dụng salesforce bởi tính bảo mật, độ tin cậy cao, chi phí linh hoạt tùy vào quy mô doanh nghiệp.

Các tính năng của Salesforce CRM:
* Chatter: Giao tiếp nội bộ và khách hàng
- Khách hàng có thể kết nối và giao tiếp với theo từng nhóm nhân viên.
- Cập nhật thông tin về khách hàng và các văn bản liên quan theo thời gian thực.
- Tại doanh nghiệp của bạn Salesforce CRM hỗ trợ phân quyền chia sẻ công việc, thông tin và tài liệu giữa các nhóm với nhau.

* Quản lý thông tin khách hàng
- Quản lý thông tin khách hàng bao gồm: thông tin liên lạc, lịch sử giao dịch, lịch sử tương tác của khách hàng với doanh nghiệp,...

* Hỗ trợ người dùng trên smartphone
- Salesforce giúp doanh nghiệp và khách hàng giao tiếp, làm việc ở bất cứ đâu ngay trên di động.

* Kế hoạch marketing và tìm kiếm khách hàng tiềm năng
- Theo dõi các kế hoạch marketing, đánh giá hiệu quả của từng kế hoạch,..
- Có thể tích hợp với quảng cáo Google Adwords, Email Marketing, ...
- Đưa ra mức đánh giá khách hàng tiềm năng.

* Quản lý cơ hội bán hàng hiệu quả
- Đưa ra chi tiết hợp đồng, đối thủ cạnh tranh, cập nhật nhanh, phản ứng linh hoạt với các thay đổi,...

* Phân tích, dự báo xu hướng
- Đưa ra các số liệu doanh số, doanh thu, theo từ các nhân và phòng ban. Từ đó đưa ra xu hướng, kế hoạch cho từng phòng ban...

* Tự động hóa
- Tự động hóa quy trình bán hàng, phân công công việc linh hoạt; phân bổ nguồn lực kinh doanh. Nhờ đó, các thủ tục rườm rà, các công việc giấy tờ sẽ không còn là hạn chế của lực lượng bán hàng trong công ty.

* Thiết lập email và quản lý lịch làm việc
- Saleforce đồng bộ với Microsoft Outlook, Gmail, Microsoft Word/Excel. Giúp xử lý công việc nhanh chóng và thông minh hơn.

* Lưu trữ tài liệu, văn bản, hóa đơn,..
- Lưu trữ thông minh, dễ dàng tìm kiếm, bảo mật cao, ...

* Quản lý đối tác
- Xây dựng và quản lý cộng đồng các đối tác, đại lý trung thành

2. Ứng dụng Salesforce tại Việt Nam.

Salesforce CRM hiện được tin dùng bởi hơn 93.000 doanh nghiệp trên thế giới, với hơn 3 triệu thuê bao đang sử dụng online trên hệ thống của Salesforce.com. Đó là các tập đoàn lớn trên thế giới như: Dell, Synmantec, City Group và hàng chục công ty hàng đầu tại Việt Nam như Capitaland, ANZ, Prudential…

Salesforce.com có các đối tác bán hàng, triển khai và hỗ trợ tại thị trường Việt Nam như là: Accenture, FPT IS, Keizu Việt Nam,...

3. Tổng Quan về Lập trình Salesforce.

Salesforce cung cấp ngôn ngữ lập trình Apex để tương tác với nền tảng force.com thông quá các API.

Apex là ngôn ngữ lập trình hướng đối tượng mạnh mẽ:
- Cú pháp gần giống Java.
- Dễ code
- Dễ dàng thực hiện các thao tác với database
- Dễ test
- ...

Trong nội dung của blog này sẽ lần lượt giới thiệu đến bạn về các thành phần cơ bản của salesforce:
- Cài đặt, cấu hình, ..
- Ngôn ngữ lập trình Apex: Cú pháp Apex và ứng dụng dùng để viết class controller, API, web service, trigger, batch...
- Visualforce Page: user interface component, HTML, CSS, Javascript, ...
- Tương tác với DB thông qua SOQL, SOSL,...
- Hỏi đáp: Tổng hợp các vấn đề thường gặp, và các câu hỏi mà các bạn bình luận bên dưới mỗi bài viết.

Bài tiếp theo mình sẽ viết về: Hướng Dẫn tạo tài khoản Saleforce Developer

Cảm ơn bạn đã đọc bài viết, chúc bạn học tập, làm việc vui vẻ, hiệu quả!!!
Đọc Tiếp »

Câu Hỏi Phỏng Vấn PHP Thường Gặp Phần 1


Câu 1: Mã PHP được chứa trong những cặp thẻ nào?

PHP cũng có thẻ mở đầu và thẻ đóng giống như HTML. Gồm 3 cách:
Cách 1: Cú pháp chính
   <?php 
      // kịch bản php
   ?>
Cách 2: Cú pháp ngắn gọn
   <?
     // kịch bản php
   ?>
Cách 3: Giống ASP
   <%
     // kịch bản php
   %>

Câu 2: Điểm khác nhau giữa hằng và biến trong PHP?

Một hằng số xác định một giá trị duy nhất trong toàn bộ chương trình. Người ta có thể sử dụng giá trị này thông qua tên của hằng số đó trong chương trình.
   Cú Pháp: $ten_bien = "giá trị cần gán";
Một số hằng số có sẵn:
   + TRUE, FALSE: tương ứng với true(1), false(0).
   + PHP_VERSION: Chỉ ra phiên bản PHP đang dùng.
   + PHP_OS: chỉ ra hệ điều hành mà server PHP đang chạy.
   + Một số hằng thông báo lỗi như: E_ERROR, E_WARNING, E_PARSE, E_NOTICE.
   + ...

Biến số được sử dụng để lưu trữ một giá trị nào đó trong chương trình. Gọi là biến số bởi vì giá trị của nó bị thay đổi thông qua các phép gán khi thực hiện chương trình.
   Cú Pháp: define("ten_hang", "giá trị cần gán");

Lưu ý: Hằng trong PHP chỉ được định nghĩa 1 lần. Khi một hằng số được định nghĩa lần 2 thì sẽ có thông báo lỗi xuất hiện (Notice), chương trình vẫn chạy với giá trị định nghĩa lần đầu tiên.
Tên có thể đặt tên hằng và tên biến giống nhau. Thật ra là khác nhau bởi vì tên biến có $ phía trước.
   VD: $sv = "cntt";
           define("sv", "cong nghe thong tin");

Câu 3: Phân biệt phương thức Get, Post khi xử lý Form trong PHP?

* Phương thức GET:
   Client gửi dữ liệu: Phương thức GET là phương thức mà dữ liệu được gửi thông qua URL. Có thể nhìn thấy dữ liệu được gửi qua URL trên Browser. Server sẽ nhận đường dẫn này phân tích lấy dữ liệu. Phần dữ liệu nằm sau dấu ? của URL. Trên URL có thể chứa nhiều dữ liệu để phân biệt các dữ liệu với nhau dùng dấu &.
   VD: sinhviencntt.com?msnv=19
           sinhviencntt.com?msnv=19&name=cntt
   Server nhận dữ liệu: Tất cả dữ liệu truyền bằng phương thức GET được PHP lưu trong biến toàn cục là $_GET. Biến này là mảng kết hợp lưu trữ dữ liệu thông qua cặp Key => Value.
   VD: Để lấy msnv trong URL: sinhviencntt.com?msnv=19&name=cntt
          $msnv =  $_GET['msnv'];
  * Ưu điểm:
     + Nhanh hơn phương thức POST,
     + Người dùng có thể sửa dữ liệu được truyền để test dữ liệu bằng cách sửa lại giá trị trên URL.
     + Tốt cho SEO.
  * Nhược điểm:
     + Bảo mật kém,
     + Dữ liệu được truyền có giới hạn vì độ dài của URL có giới hạn.

* Phương thức POST:
    Client gửi dữ liệu: Dữ liệu truyền được truyền ngầm, không thấy dữ liệu trên URL. PHP sẽ tạo ra biến ẩn chứa các thành phần input cơ bản của form như textbox, radio, ... và được nhận dạng qua name của input đó.
     Server nhận dữ liệu: Tất cả dữ liệu truyền bằng phương thức POST được PHP lưu trong biến toàn cục là $_POST.
      VD: $msnv =  $_POST['msnv'];
    * Ưu điểm:
      + Bảo mật hơn GET.
      + Không giới hạn độ lớn của dữ liệu.
    * Nhược điểm;
      + Dữ liệu không tường minh,
      + Chậm hơn GET.

GET nhanh hơn POST bởi vì dữ liệu đường truyền với GET có thể được Browser lưu lại trong cache.
Ngoài ra khi chúng ta không rõ form sử dụng phương thức nào POST hay GET thì server có thể nhận dữ liệu nhờ vào $_REQUEST.
Khi select nên dùng GET. Khi insert, update, delete nên dùng POST.

Câu 4: Thế nào là mảng tuần tự, mảng bất tuần tự trong PHP?

Mảng là một thành phần quan trọng trong PHP, mảng lưu trữ nhiều dữ liệu dưới dạng key => value. Mảng cho phép lập trình viên sắp xếp, thêm, sửa, xóa phần tử khỏi mảng 1 cách dễ dàng.

* Mảng tuần tự:
Mảng tuần tự là mảng mà chúng ta không cần chỉ định key. Key sẽ được đánh số từ 0 và theo thứ tự tăng dần.
VD:
    <?php
             $sinhvien = array("sv1", "sv2", "sv3");
             echo $sinhvien[0]; //lấy ra sv1
             echo $sinhvien[1]; //lấy ra sv2
             echo $sinhvien[2]; //lấy ra sv3
    ?>

VD Để thêm phần tử vào mảng $sinhvien
      Cách 1:  $sinhvien[] = "sv4"; //phần tử mới được thêm vào sau cùng, khi đó key của sv4 là 3.
      Cách 2:  $sinhvien[4] = "sv4"; // Phần tử mới được thêm vào vị trí với key = 4. Mảng không còn liên tục vì không có key = 3. Nếu lấy $sinhvien[3] sẽ xuất hiện lỗi. Nếu lấy $sinhvien[4] chương trình hoạt động bình thường.

* Mảng bất tuần tự:
Mảng bất tuần tự là mảng mà chúng ta cần chỉ định rõ key cho chúng. Key có thể là số hoặc string.
 VD:
      <?php
             $sinhvien = array(
                                    "mssv" => "001",
                                    "age"   => "20",
                                    "sex"   => "nam"
                                 );
             echo $sinhvien['mssv']; //lấy ra mssv
             echo $sinhvien['age']; //lấy ra age
             echo $sinhvien['sex']; //lấy ra sex
      ?>

Thêm phần tử vào mảng:
    VD:  $sinhvien["dtb"] = 8;

Để duyệt mảng ta thường dùng for hoặc foreach. Để tăng tốc độ chương trình thông thường khi duyệt mảng để đọc thì nên dùng foreach. Nhưng nếu duyệt để thay đổi giá trị của các phần tử thì nên dùng for.

Đọc Tiếp »

Top 5 điện thoại dưới 3 triệu đáng mua nhất dịp tết Nguyên Đán

Đánh Giá Smartphone | Top 5 điện thoại dưới 3 triệu đáng mua nhất dịp tết
‪#‎Smartphone‬ ‪#‎Top5‬ ‪#‎DiDong‬ ‪#‎dtdd‬                                                                                                                                                                                                                                                                                                                                                               

Đánh Giá Smartphone | Top 5 điện thoại dưới 3 triệu đáng mua n...
Đánh Giá Smartphone | Top 5 điện thoại dưới 3 triệu đáng mua nhất dịp tết#Smartphone #Top5 #DiDong #dtdd
Posted by VTV - Cuộc Sống Số on 22 Tháng 1 2016


Đọc Tiếp »

Đánh Giá Smartphone | Bphone: 6 tháng nhìn lại


Thông số kỹ thuật Màn hình: IPS-LCD, 5", 1080 x 1920 pixels
Camera sau: 13 MP, Quay phim FullHD 1080p@60fps
Camera trước: 5 MP
Hệ điều hành: BOS (Android 5.0)
CPU: Snapdragon 801, 4 nhân, 2.5 GHz
Chip đồ hoạ: Adreno 330
RAM:
Bộ nhớ trong: 16 GB
Hỗ trợ thẻ tối đa: Không
Số khe SIM: 1 Sim, Nano SIM
Dung lượng pin: 3000 mAh

Bphone: 6 tháng nhìn lại
Đánh Giá Smartphone | Bphone: 6 tháng nhìn lại#Smartphone #Bphone #DiDong #dtddBản quyền thuộc về Schannel
Posted by VTV - Cuộc Sống Số on 17 Tháng 1 2016
Đánh Giá Smartphone | Bphone: 6 tháng nhìn lại
‪#‎Smartphone‬ ‪#‎Bphone‬ ‪#‎DiDong‬ ‪#‎dtdd‬

Bản quyền thuộc về Schannel
Đọc Tiếp »

[Java String] Xác Định Vị Trí Xuất Hiện Cuối Cùng Của Một Chuỗi Con

Xem tất cả các bài viết về Java String: Vào Đây

Vấn đề: Làm thế nào để xác định vị trí xuất hiện cuối cùng của một chuỗi con trong một chuỗi với Java

Giải pháp: Để giải quyết vấn đề trên trong Java có hỗ trợ sẵn phương phức lastIndexOf của lớp String. Phương thức lastIndexOf gồm có 4 biến thể sau:





public int lastIndexOf(int ch)

Trả về vị trí cuối của ký tự được truyền vào trong chuỗi. Nếu kí tự đó không tồn tại trong chuỗi trả về -1. Bạn xem ví dụ sau:

package sinhviencntt.com.lastIndexString;

public class lastIndexString {
 
public static void main(String[] args) {
  
  String str = "Hi! Chuc ban vui ve! Hi! Chuc ban vui ve!";

  // 101 là mã của ký tự 'e'. 'e' xuất hiện cuối ở vị trí 39.
  System.out.println(str.lastIndexOf(101));

 }
} 
Kết quả in ra màn hình:
39
public int lastIndexOf(String str)

Trả về vị trí xuất hiện cuối của chuỗi, vị trí này chính là vị trí của chữ cái đầu tiên trong chuỗi đó. Nếu chuỗi không xuất hiện trả về -1;

package sinhviencntt.com.lastIndexString;

public class lastIndexString {

     public static void main(String[] args) {

       String str = "Hi! Chuc ban vui ve! Hi! Chuc ban vui ve!";

       //Vị trí của "vui" cuối cùng chính là 
       //vị trí của ký tự 'v' trong chuỗi đó.
       System.out.println(str.lastIndexOf("vui"));
   }
}
 
Kết quả in ra màn hình:
34
public int lastIndexOf(int ch, int fromIndex)

Tìm vị trí xuất hiện cuối cùng của ký tự trong chuỗi thỏa mãn điều kiện sao cho vị trí đó vừa là ký tự ở sau, vừa phải nhỏ hơn chỉ số fromIndex. Nếu không tìm thấy trả về -1.
package sinhviencntt.com.lastIndexString;

public class lastIndexString {

   public static void main(String[] args) {

      String str = "Hi! Chuc ban vui ve! Hi! Chuc ban vui ve!";
      
      //Chữ "vẻ" cuối nằm vị trí 38, chữ "vui" cuối vị trí 34. 
      //Vậy theo điều kiện thì hàm này sẽ
      // trả về vị trí 'v' và vị trí đó nhỏ hơn 37. Nên nó sẽ chọn 
      //vị trí 'v' của chữ "vui".
      System.out.println(str.lastIndexOf('v', 37));
    }
 }
 
Kết quả in ra màn hình:
34
public int lastIndexOf(String str, int fromIndex)

Tìm vị trí xuất hiện cuối cùng của chuỗi con thỏa mãn điều kiện sao cho vị trí đó vừa là ký tự ở sau, vừa phải nhỏ hơn chỉ số fromIndex. Nếu không tìm thấy trả về -1.
package sinhviencntt.com.lastIndexString;

public class lastIndexString {

   public static void main(String[] args) {

      String str = "Hi! Chuc ban vui ve! Hi! Chuc ban vui ve!";

      System.out.println(str.lastIndexOf("vui", 100));
   }
}
 
Kết quả in ra màn hình:
34
Cảm ơn các bạn đã theo dõi bài viết.

Đọc Tiếp »

Những Ứng Dụng Hữu Ích Cho Mục Tiêu Của Bạn Trong Năm 2015

Năm mới chúng ta thường hay đặt những mục tiêu cao đẹp tuyệt vời, nhưng rồi cứ lãng quên theo thời gian. Vậy mục tiêu trong năm nay của bạn là gì? Hãy cùng chúng tôi điểm qua những ứng dụng SmartPhone có thể hữu ích, giúp cho cách thực hiện mục tiêu của bạn thêm thú vị tránh bị lãng quên trong năm mới sắp đến.

1. Học tập, tiếp thu kiến thức mới hiệu quả với các chuyên gia:


Kiến thức luôn rất quan trọng. Và với TED, các chuyên gia về mọi lĩnh vực trên khắp thế giới sẽ đem đến những kinh nghiệm và thông tin một cách dễ hiểu nhất. Bạn có thể tìm thấy ứng dụng này trên cả Android và iOS .

2. Giảm cân hiệu quả:


Ứng dụng tuyệt vời dành cho các bạn muốn giảm cân trong năm mới. Bạn khó có thể tìm thấy ứng dụng nào tốt hơn MyFitnessPal (dành cho iOS và Android) trong việc kiểm soát cân nặng. Không chỉ kiểm soát lượng calories, nó còn có dữ liệu dinh dưỡng đầy đủ của hơn 4 triệu loại thức ăn.
3. Cải thiện công việc, tiền lương của bạn trong năm mới.

Năm mới mang tới những dự định và cơ hội mới. Bạn có thể muốn tìm kiếm 1 công việc tốt hơn hiện tại và LinkedIn (iOSAndroid) sẽ giúp bạn thực hiện điều đó. Ứng dụng này khiến nhà tuyển dụng hiểu rõ hơn về bạn, liên kết bạn với đồng nghiệp và sếp của bạn trong quá khứ, hiện tại và thậm chí cả tương lai.

4. Có được thân hình, vóc dáng hoàn hảo:


Có được thân hình, vóc dáng hoàn hảo là mơ ước của nhiều bạn trẻ. Hãy quên đi việc lệ phí phòng tập của bạn bị ăn bớt bởi các chủ phòng tập tham lam, Pacts (iOS,Android) quản lý tiền của bạn bằng cách trả tiền cho bạn khi bạn đến phòng tập và lấy đi khi bạn nghỉ. Nếu đôi chân thon gọn không tạo được động lực cho bạn, 1 chiếc ví mỏng hơn sẽ làm được điều đó.

5. Giảm căng thẳng, mệt mỏi


Giảm căng thẳng, mệt mỏi giúp bạn làm việc hiệu quả, yêu đời. Ứng dụng Kết hợp hướng dẫn hít thở và các phương pháp thư giãn khác nhau, Andrew Johnson sẽ giúp bạn giải tỏa căng thẳng với phần mềm Stress Free (iOSAndroid).

6. Đi du lịch, khám phá điều kỳ thú trên thế giới.


Một chuyến du lịch trong năm mới này thật tuyệt vời nhỉ. Xách balo lên và đi thôi. Tìm hiểu và khám phá thế giới. Ứng dụng Travelocity (iOSAndroid) đem lại cảm hứng và giúp bạn giải quyết các vấn đề về chuyến bay hoặc khách sạn.

7. Cai thuốc lá.


Tác hại của thuốc lá thật kinh khủng, nếu đang hút thuốc bạn hãy nhanh chóng bỏ càng sớm càng tốt nhé. Không kể đến những trở ngại khi hút thuốc và dùng điện thoại cùng 1 lúc, MyQuit Coach(iOS)đưa ra 1 kế hoạch cá nhân khoa học để cai thuốc. Ứng dụng tương tự trên Android là Quit Smoking.

8. Tiết kiệm chi phí cuộc sống.


Chỉ cần nhập vào 1 số thông tin cơ bản về tài khoản mà bạn có cùng những dự định của bạn, Mintsẽ giúp bạn cân đối các khoản chi tiêu 1 cách hợp lý. Bạn có thể tải ứng dụng này cho cả Android,iOS và Windows Phone.

9. Tái chế, tái sử dụng.


Cùng nhau bảo vệ ngôi nhà chung của chúng ta. Càng ngày chúng ta càng cảm nhận được rõ hơn sự thay đổi khí hậu. Hãy góp 1 phần nhỏ vào công cuộc bảo vệ môi trường bằng cách tái sử dụng những gì có thể với iRecycle (iOSAndroid).

10. Quản lý nợ nần.


Sở hữu những món nợ là điều không ai mong muốn, khiến chúng ta trở nên bi quan hơn hãy giải quyết nó ngay trong năm năm bạn nhé. Hãy thoải mái hơn trong năm mới với kế hoạch giải quyết nợ bởi Debt Free dành cho iOS. Phần mềm tương tự trên Android mang tên Debt Payoff Planner.

11. Thực phẩm tốt bảo vệ sức khỏe bạn.

Thời xưa "ăn no" là tốt rồi. Thời nay, thức ăn không chỉ đơn giản là thức ăn. Ứng dụng True Food (iOSAndroid) sẽ cho bạn biết những thông tin cụ thể hơn về thực phẩm mà bạn đang dùng. Giúp bạn có nhiều sự lựa chọn hơn để cải thiện bữa ăn.

Chúc bạn thành công với mục tiêu của mình trong năm mới.
Đọc Tiếp »

[Java String] So Sánh Hai Chuỗi Trong Java

Xem tất cả các bài viết về Java String: Vào Đây

Vấn đề: Làm thế nào để so sánh 2 chuỗi trong Java?


Khi mới lập trình với Java rất dễ nhầm lẫn là sử dụng toán tử == để so sánh xem hai chuỗi có giống nhau không, tuy nhiên đó là không phải là cách làm đúng trong Java.

Trong bài này mình sẽ trình bày đến các bạn các cách so sánh chuỗi đúng trong Java, từ cách phổ biến hay được dùng nhiều nhất. Ở cuối bài mình cũng giải thích tại sao không dùng toán tử == trong so sánh chuỗi với Java.

Lựa chọn 1: So sánh chuỗi trong Java với phương thức: equals

Phần lớn mình sử dụng khoảng 95% phương thức equals của lớp String.

if (string1.equals(string2))
 
Phương thức equals nhìn vào 2 chuỗi, nếu từng ký tự trong chuỗi đó giống nhau thì 2 chuỗi đó giống nhau.

Nhìn vào ví dụ sau, 2 chuỗi sẽ không bằng nhau vì từng ký tự trong chuỗi không bằng nhau (Hàm equals sẽ trả về false). Bạn chú ý ký tự in hoa và in thường là khác nhau nhé.

String string1 = "Sinh Vien CNTT";
String string2 = "sinh vien cntt";
 
if (string1.equals(string2))
{
  // Dòng này sẽ không được in ra vì hai chuỗi không bằng nhau
  System.out.println("Hai chuỗi bằng nhau.")
}
 
Nhưng khi từng ký tự trong hai chuỗi giống nhau thì hàm equals sẽ trả về kết quả true nghĩa là hai chuỗi giống nhau, bạn xem ví dụ sau:

String string1 = "Sinh Vien CNTT";
String string2 = "Sinh Vien CNTT";
 
if (string1.equals(string2))
{
  // Dòng này sẽ được in ra vì hai chuỗi bằng nhau
  System.out.println("Hai chuỗi bằng nhau.");
}
 
Lựa chọn 2: So sánh chuỗi trong Java với phương thức: equalsIgnoreCase

Trong một số trường hợp bạn muốn việc kiểm tra hai chuỗi không kiểm tra ký tự là in hoa hay in thường thì dùng hàm equalsIgnoreCase của lớp String như sau:

String string1 = "Sinh Vien CNTT";
String string2 = "sinh vien cntt";
 
if (string1.equalsIgnoreCase(string2))
{
  // Hai chuỗi bằng nhau vì ký tự in hoa bằng ký tự thường
  // Dòng này sẽ được in ra vì hai chuỗi bằng nhau
  System.out.println("Hai chuỗi bằng nhau.");
}
 
Lựa chọn 3: So sánh chuỗi trong Java với phương thức: compareTo

Ngoài 2 cách trên còn có thể dùng hàm compareTo của lớp String, tuy nhiên cách này ít phổ biến. Nếu hai chuỗi giống nhau hàm compareTo sẽ trả về 0. Cách này cũng phân biệt chữ in hoa và thường.

String string1 = "Sinh Vien CNTT";
String string2 = "sinh vien cntt";
 
if (string1.compareTo(string2) == 0)
{
  // Dòng này không sẽ được in ra vì hai chuỗi không bằng nhau
  System.out.println("Hai chuỗi bằng nhau.");
}
 
Lựa chọn 4: So sánh chuỗi trong Java với phương thức: compareToIgnoreCase

Cách này không phân biệt in hoa và in thường

String string1 = "Sinh Vien CNTT";
String string2 = "sinh vien cntt";
 
if (string1.compareTo(string2) == 0)
{
  // Dòng này sẽ được in ra vì hai chuỗi bằng nhau
  System.out.println("Hai chuỗi bằng nhau.");
}
 
Vì không nên sao sử dụng toán tử == trong so sánh chuỗi Java: Vì == là so sánh địa chỉ 2 đối tượng, còn equals là so sánh giá trị, nên trong trường hợp dưới đây dùng == sẽ không đúng.

String s = new String("231");
if(s == "231") {
   // Dòng này sẽ không được in ra màn hình
   System.out.println("Phuong phap dung ==");
}
if(s.equals("231")) {
   // Dòng này sẽ được in ra màn hình
   System.out.println("Phuong phap dung equals");
} 
 
Cảm ơn các bạn đã theo dõi bài viết, mong nhận được sự góp ý từ các bạn.

Xem tất cả các bài viết về Java String: Vào Đây
Đọc Tiếp »

Smartphone Tuyệt Đỉnh Của Bkav Xuất Hiện Tại CES 2015

Điều bất ngờ đã xảy ra với các tín đồ công nghệ Việt khi công ty Bkav của Việt Nam đã đem đến triển lãm CES 2015 (đang diễn ra tại Las Vegas, Mỹ) chiếc smartphone đầu tay do chính mình sản xuất mang tên BPhone. Máy được trưng bày tại Mỹ nhưng đã bị bọc trong khung nhựa để tránh lộ thiết kế. Ngoài ra, thông số phần cứng của BPhone cũng không được tiết lộ.


Ông Tony NguyenGiám đốc thị trường Mỹ của Bkav, đại diện Bkav tại CES 2015, không tiết lộ nhiều về sản phẩm smartphone, chỉ cho biết đây là sản phẩm chưa chính thức, đưa sang CES 2015 để điều khiển SmartHome.

ông Vũ Thanh Thắng, phó chủ tịch Bkav cho biết: "Đây là một trong những smartphone đẹp nhất thế giới, đã được Bkav đăng ký bản quyền và không 'nhái' bất cứ sản phẩm nào. Đây là chiếc điện thoại cao cấp, được trau chuốt, chọn lọc cả về thiết kế, chất liệu (nắp lưng bằng kính, viền nhôm nguyên khối) cho đến cấu hình mạnh mẽ nhưng lại có giá không quá cao".


Về thời điểm chính thức công bố và giá bán, đại diện Bkav nói dự kiến sản phẩm smartphone cao cấp đầu tiên của họ sẽ ra mắt trong quý I/2015 với giá bán rất hợp lý đối với người tiêu dùng Việt Nam. 



CES 2015 là triển lãm công nghệ lớn nhất thế giới diễn ra vào đầu tháng Một tại Las Vegas (Mỹ) hằng năm. Đây là nơi các hãng điện tử lớn trên thế giới giới thiệu sản phẩm mới và cũng là nơi phát đi các xu hướng công nghệ trong năm. Có mặt tại CES 2015 năm nay, Bkav giới thiệu tới thị trường Mỹ hệ thống nhà thông minh Bkav SmartHome đã đạt chuẩn "Connected Home" - cấp độ mà hãng nghiên cứu thị trường Gartner dự báo phải đến năm 2017 thế giới mới phổ biến.

Một số hình ảnh khác qua trí tưởng tượng của cộng đồng:




Đọc Tiếp »

[Bài Tập Java] Chuyển Đổi Tiếng Việt Có Dấu Thành Không Dấu

Xem tất cả các Bài Tập Java: Vào Đây

Để chuyển đổi tiếng việt có dấu thành không dấu trong Java có cách đơn giản bằng cách gọi và sử dụng các gói đã có sẵn.




* Hàm chuyển đổi:

package sinhviencntt.com.StringUtils;

import java.text.Normalizer;
import java.util.regex.Pattern;

public class StringUtils {
 
 public static String removeAccent(String s) {
  
  String temp = Normalizer.normalize(s, Normalizer.Form.NFD);
  Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
  return pattern.matcher(temp).replaceAll("");
 }
}
 
Normalizer: Class này cung cấp các phương thức để tiêu chuẩn hóa văn bản Unicode thành văn bản tương đương. Nhằm mục đích thuận tiện cho việc sắp xếp và tìm kiếm chuỗi.

String temp = Normalizer.normalize(s, Normalizer.Form.NFD): Tiêu chuẩn hóa chuỗi s được truyền vào theo định dạng NFD. Kết quả trả về là chuỗi đã được tiêu chuẩn hóa.

Lớp Pattern:  Dùng để nhận Regexp (Cấu trúc đại diện hay Regular Expression) vào và kiểm tra những String cho vào dựa trên Regexp đã tạo ra. Thông thường để nhận một Regexp, thì dùng phương thức compile.

matcher: Dùng để so sánh, tìm kiếm những chữ đưa vào dựa trên Regexp đã tạo ra.

* Hàm main:

 
 
package sinhviencntt.com.main;

import sinhviencntt.com.StringUtils.StringUtils;

public class chuyendoitiengviet {
 
 public static void main(String[] args) {
  
  System.out.print(StringUtils.removeAccent("Sinh Viên Công Nghệ Thông Tin"));
 }
}

 
Kết quả in ra màn hình:
Sinh Vien Cong Nghe Thong Tin
Bạn tạo project và run thử nhé! Cảm ơn các bạn đã theo dõi bài viết.  Nếu có gì cần trao đổi bạn Comment bên dưới.

Xem tất cả các Bài Tập Java: Vào Đây
Đọc Tiếp »

Hướng Dẫn Chèn Kênh Dailymotion Của Bạn Vào Blogspot

Dailymotion.com là web chia sẻ video lớn thứ 2, hiện tại đứng sau youtube, với Dailymotion.com bạn có thể kiếm tiền bằng cách trở thành partner, bán video, hoặc chia sẻ video lên website, diễn đàn, mạng xã hội, ...
Sau đây mình sẽ hướng dẫn bạn chèn kênh Dailymotion của bạn vào Blog để tăng lượt view, và quảng bá kênh video tốt hơn, khi đó bạn sẽ kiếm nhiều tiền hơn.










B1: Vào kênh của bạn và chọn vào mục quảng cáo như hình:

B2: Cửa sổ tiếp theo hiện ra chọn cách bố trí mà bạn thích sau đó copy mã html hiện ra phía dưới nhé.


B3. Bạn vào Blogspot => Vào phần Bố Cục => Chọn thêm tiện ích => HTML/JavaScript



B4. Cửa sổ cấu hình HTML/JavaScript hiện ra, tại phần tiêu đề bạn để tên "Dailymotion", phần nội dung bạn dánđoạn mã lúc nãy vào:

Cảm ơn bạn đã theo dõi bài viết.
Đọc Tiếp »

Hướng Dẫn Chèn FanPage Facebook Vào Website Blogspot

Đa số các website, blog hiện nay đều có 1 Fanpage facebook nếu bạn chưa tạo Fanpage hãy dành xíu thời gian để tạo nhé. Fanpage giúp bạn nâng cao thứ hạng trang web lên, việc sở hữu Fanpage và thường xuyên cập nhật giúp ích nhiều cho SEO.

Fanpage cũng giống như là thương hiệu Blog của bạn trên Facebook, càng nhiều người Like thì càng giúp tăng động lực để viết bài nhỉ =:). Dưới đây sinhviencntt sẽ giúp bạn thêm Fanpage vào Blogspot:






Cách nhanh: 
B1: Bạn vào Blogspot => Vào phần Bố Cục => Chọn thêm tiện ích => HTML/JavaScript

B2: Cửa sổ cấu hình HTML/JavaScript hiện ra, tại phần tiêu đề bạn để tên "Facebook", phần nội dung bạn copy đoạn mã này:


<div id="fb-root"></div><script>(function(d, s, id) {  var js, fjs = d.getElementsByTagName(s)[0];  if (d.getElementById(id)) return;  js = d.createElement(s); js.id = id;  js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.0";  fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script><div class="fb-like-box" data-href="https://www.facebook.com/pages/Sinh-Vi%C3%AAn-CNTT/553542664781680?ref=bookmarks" data-colorscheme="light" data-show-faces="true" data-header="true" data-stream="true" data-show-border="true"></div>

Phần màu đỏ bạn thay thế bằng Fanpage của bạn nhé.




Sau đó lưu lại và kiểm tra lại Blog.

Cách tùy chỉnh: Cách này bạn có thể tùy chỉnh cách xuất hiện hộp Fanpage theo ý thích:
B1: Vào đường link sau: https://developers.facebook.com/docs/plugins/like-box-for-pages?locale=vi_VN

Tùy chỉnh một số thông tin gồm:



Bạn tùy chỉnh cho phù hợp với Blog sau đó chọn Get Code để lấy mã: Kích vào mục IFRAME như hình vẽ phía dưới là đoạn mã của bạn:



và sau đó thực hiện giống như Cách Nhanh ở trên (Chú ý là bạn tiến hành với mã mới lấy này nhé).

Đọc Tiếp »