Nhập/Xuất Trên Console

Lập Trình
Nhập/Xuất Trên Console
Bài viết được sự cho phép của tác giả Nhựt Danh Bài viết hôm nay sẽ hướng dẫn bạn sử dụng một “công cụ” để các bạn tiến hành nhập/xuất thông qua Console . Công cụ này giúp cho các bạn sau khi nhập dữ liệu vào từ bàn phím, nó sẽ lấy dữ liệu được nhập này rồi sau đó chuyển vào chương trình của bạn, để chương trình xử lý, rồi xuất ra kết quả thông qua màn hình Console . Sau bài học hôm nay thì các bạn có thể test thoải mái các dòng code, để hỗ trợ tốt vào quá trình học Java của bạn. Nhưng trước hết, chúng ta hãy cùng tìm hiểu sâu hơn về khái niệm nãy nhờ được nhắc đi nhắc lại này. Khái Niệm Console Đầu tiên bạn có thể hiểu Console chúng như là một bảng điều khiển chuyên dụng. Như các Game Console chính là các thiết bị chuyên cho việc điều khiển game. Hay các trang web quản lý như quản lý nhân viên cũng có thể coi là các Console chuyên dụng cho việc quản lý. Trong ngôn ngữ lập trình, Console được biết đến như là một cách điều khiển ứng dụng đơn thuần nhất thông qua các dòng text (dòng lệnh), nó được phân biệt với điều khiển bằng UI. Và Console trong chương trình học của chúng ta là hình minh họa dưới đây, ở các bài làm quen sơ sơ trước, khi bạn thực thi chương trình thì cũng đã biết tới cửa sổ Console này rồi đúng không nào. Màn hình Console trong InteliJ Nhập Trên Consolse Chúng ta đang nói đến các cách thức để bạn nhập dữ liệu từ Console . Để bắt đầu, bạn hãy mở InteliJ lên....

Bài viết được sự cho phép của tác giả Nhựt Danh

Bài viết hôm nay sẽ hướng dẫn bạn sử dụng một “công cụ” để các bạn tiến hành nhập/xuất thông qua Console. Công cụ này giúp cho các bạn sau khi nhập dữ liệu vào từ bàn phím, nó sẽ lấy dữ liệu được nhập này rồi sau đó chuyển vào chương trình của bạn, để chương trình xử lý, rồi xuất ra kết quả thông qua màn hình Console.

Sau bài học hôm nay thì các bạn có thể test thoải mái các dòng code, để hỗ trợ tốt vào quá trình học Java của bạn. Nhưng trước hết, chúng ta hãy cùng tìm hiểu sâu hơn về khái niệm nãy nhờ được nhắc đi nhắc lại này.

Khái Niệm Console

Đầu tiên bạn có thể hiểu Console chúng như là một bảng điều khiển chuyên dụng. Như các Game Console chính là các thiết bị chuyên cho việc điều khiển game. Hay các trang web quản lý như quản lý nhân viên cũng có thể coi là các Console chuyên dụng cho việc quản lý.

Trong ngôn ngữ lập trình, Console được biết đến như là một cách điều khiển ứng dụng đơn thuần nhất thông qua các dòng text (dòng lệnh), nó được phân biệt với điều khiển bằng UI.

Và Console trong chương trình học của chúng ta là hình minh họa dưới đây, ở các bài làm quen sơ sơ trước, khi bạn thực thi chương trình thì cũng đã biết tới cửa sổ Console này rồi đúng không nào.

Màn hình Console trong InteliJMàn hình Console trong InteliJ

Nhập Trên Consolse

Chúng ta đang nói đến các cách thức để bạn nhập dữ liệu từ Console. Để bắt đầu, bạn hãy mở InteliJ lên. Bạn hãy mở lại project HelloWord mà chúng ta đã tạo ra từ bài hôm trước.

Đầu tiên mình muốn bạn thử khai báo một đối tượng Scanner như code bên dưới. Bạn code đi rồi mình sẽ nói rõ hơn lý do tại sao phải code như vậy ở bên dưới dòng code này.

Scanner scanner = new Scanner(System.in);

Các khái niệm lớp (class) hay đối tượng gì gì đó thì bạn sẽ được làm quen sau này, nó thuộc về kiến thức OOP như mình có nói đến ở đầu bài học. Nhưng bạn có thể hiểu trước là đối tượng cũng giống như biến vậy, bạn có thể khai báo nó với cái tên tùy ý (theo quy tắc đặt tên của biến). Như ở trên chúng ta khai báo một đối tượng của Scanner mang tên là scanner. Chỉ khác biến ở chỗ là đối tượng của lớp phải được khởi tạo bằng từ khóa new như trên. Khi đó tổng thể code của bạn như sau.

public class MyFirstClass {

    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
 }

}

Lan Man Về Cách Thức Bạn Code

Mục này cho phép mình nói lan man về kinh nghiệm code một tí xíu. Đó là nhiều bạn sau khi gõ xong dòng code trên đây, có thể sẽ có báo lỗi từ InteliJ như hình sau.

Khi bạn code có thể gặp tình huống báo lỗi như nàyKhi bạn code có thể gặp tình huống báo lỗi như này

Sở dĩ có báo lỗi là vì hệ thống đang không biết lớp Scanner là gì :)). Đó là bởi vì trước đây bạn chỉ sử dụng các biến nguyên thủy, hoặc các lớp nằm trong package java.lang. Với việc sử dụng này thì chúng ta không cần phải quan tâm, sẽ chẳng có lỗi nào như bạn đã từng thực hành với các bài học trước. Chà vậy chúng ta cần quan tâm gì? Thực ra trong Java, mỗi khi bạn code, bạn phải chỉ định nguồn gốc của các lớp bạn sẽ dùng, thông qua từ khóa import. Các dòng import được khai báo ở đầu mỗi file. Mỗi dòng import như vậy bao gồm từ khóa import, theo sau nó là package có chứa lớp cần dùng (bạn có thể xem thêm kiến thức về package ở đây).

Theo đó, ở ví dụ trên chúng ta cần đến lớp Scanner. Thì chúng ta cần import đúng package mà hệ thống muốn.

Để import đúng package có lớp Scanner cần dùng trên đây thực ra là một điều cực kỳ dễ dàng, có nhiều cách để thực hiện điều này, bạn hãy chọn một trong những cách sau.

Tham khảo việc làm Java hấp dẫn cho Fresher

Sử Dụng Gợi Ý Hoàn Thành Code Từ IDE

Có thể nói đây là cách thức dễ nhất để InteliJ tự động hoàn thành việc import một package cho bạn.

Việc của bạn là hãy gõ vài từ vào IDE, bạn sẽ thấy các gợi ý hoàn thành dòng code như hình bên dưới. Bạn hãy nhấn Enter nếu gợi ý đầu tiên bạn thấy là đúng, hoặc bạn có thể đưa vệt sáng đến dòng gợi ý nào khác rồi nhấn Enter. Ngoài việc kết quả dòng code được tự động hoàn thành thì hệ thống cũng import sẵn package java.util.Scanner cho bạn mà bạn không cần phải nhớ chúng là ai và từ đâu đến đúng không nào.

InteliJ tự gợi ý hoàn thành dòng code, và nếu bạn chấp nhận, nó cũng tự import package cho bạnInteliJ tự gợi ý hoàn thành dòng code, và nếu bạn chấp nhận, nó cũng tự import package cho bạn

Bạn thử gõ hết câu lệnh trên với việc chọn những gợi ý ở các thành phần tiếp theo (scannernewScannerSystem) xem sao nhé. Kết quả sẽ không còn lỗi nữa.

Kêu IDE Import Giúp

Có đôi khi IDE không đưa ra bất kì gợi ý nào để hoàn thành dòng code như trên kia. Khi này bạn hãy cứ gõ hết tất cả dòng code cần thiết của bạn, đừng lo lắng nếu có báo lỗi. Sau khi gõ xong hết, thì bạn cứ để ý trên editor của IDE, chắc chắn sẽ xuất hiện các hướng dẫn tận tình giúp chúng ta sửa lỗi.

Như trường hợp dưới đây, sau khi gõ xong, bạn sẽ thấy các nơi báo đỏ, khi đưa con trỏ chuột vào những nơi bị tô đỏ đó, nếu là lỗi thiếu import, bạn sẽ nhìn thấy một popup hiện ra như thế này, chỉ cần nhấn chọn vào chữ Import Class là xong.

Sử dụng gợi ý import từ InteliJSử dụng gợi ý import từ InteliJ

Import Thủ Công

Tất nhiên cách này dành cho bạn nào biết chính xác lớp này nằm trong package nào rồi nên bạn có thể gõ import một cách thủ công.


Lan man hơi dài rồi, quay trở lại với việc bạn vừa khai báo đối tượng của lớp Scanner trên kia. Dòng tiếp theo bạn chỉ cần gọi

scanner.nextXxx();

 thì khi bạn chạy chương trình, khi hệ thống thực thi đến dòng này, nó sẽ dừng lại chờ, và lúc đó Console sẽ xuất hiện con nháy chờ người dùng nhập vào một giá trị có kiểu dữ liệu là Xxx rồi mới tiến hành gán giá trị này vào biến tương ứng và thực hiện tiếp các câu lệnh bên dưới.

Bạn hãy thử vài ví dụ sau cho từng

scanner.nextXxx();

 cụ thể nhé.

Ví Dụ Nhập Dữ Liệu Kiểu Chuỗi

Với ví dụ này bạn thử cho người dùng nhập vào tên từ Console rồi in ra dòng xin chào ngay trên Console luôn như sau.

Để đợi người dùng nhập vào tên bạn gõ dòng sau vào sau khi khai báo scanner.

String name = scanner.nextLine();

Khi đó tên người dùng nhập vào từ Console sẽ được gán vào biến kiểu String (đây là kiểu chuỗi mà bạn sẽ được làm quen sau) có tên là name. Nhưng để dễ dàng hơn cho người dùng, chúng ta nên có các dòng System.out để in ra chỉ dẫn cho người dùng trước dòng đợi nhập tên. Code tổng thể của chúng ta như sau.

import java.util.Scanner;;

public class MyFirstClass {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Please enter your name here: ");
        String name = scanner.nextLine();
        System.out.println("Hello! " + name);
    }

}

Khi này nếu bạn chạy chương trình, chỉ có dòng text “Please enter your name here: “ xuất hiện, đừng tắt cửa sổ Console nhé, hãy tiếp tục nhập vào một text, sau khi Enter bạn sẽ nhận được một text nữa in ra với nội dung “Hello!” và text bạn vừa nhập, text in ra đó chính là nội dung biến name được scanner lấy dữ liệu từ Console rồi gán vào đấy.

Kết quả thực thi chương trình khi nhập vào một StringKết quả thực thi chương trình khi nhập vào một String

Ví Dụ Nhập Dữ Liệu Kiểu int

Tương tự nếu ví dụ này hỏi người dùng nhập tuổi, bạn cũng nên có câu in ra gợi ý, dòng scanner.nextInt(), và dòng in ra kết quả sau đó. Code tổng thể như sau.

Scanner scanner = new Scanner(System.in);
System.out.println("How old are you? ");
int age = scanner.nextInt();
System.out.println("Your age is: " + age);

Ví Dụ Nhập Dữ Liệu Kiểu Float

Scanner hỗ trợ nhập cho hầu như tất cả các kiểu dữ liệu nguyên thủy (trừ kiểu char, vì thực ra kiểu char cũng có thể lấy ra từ việc nhập một String với một ký tự, bạn hãy xem phần bình luận bên dưới để biết cách nhập vào kiểu char nếu có nhu cầu nhé). Ví dụ sau nhập vào kiểu float và bạn hoàn toàn có thể áp dụng cho các kiểu dữ liệu nguyên thủy được hỗ trợ còn lại.

Scanner scanner = new Scanner(System.in);
System.out.println("How about your salary? ");
float salary = scanner.nextFloat();
System.out.println("Your salary is: " + salary);

Xuất Trên Console

Chắc bạn cũng biết, để xuất dữ liệu ra Console thì cứ gọi

System.out.println();

 thôi chứ gì. Dễ quá, các bài trước và bài hôm nay bạn đã làm quen rồi. Nhưng kiến thức về xuất dữ liệu ra Console còn vài thứ vui vẻ nữa, mời các bạn cùng xem tiếp.

Xuất Mặc Định

Mình dùng từ xuất mặc định là bởi vì chúng ta không can thiệp gì đến cách mà Console hiển thị một nội dung cả. Đó chính xác là cách gọi

System.out.println();

 như chúng ta đã làm quen. Mình thêm một vài lưu ý sau thôi.

  • Bạn có thể dùng câu lệnh print() thay vì println(). Nếu như với println() thì các bạn đã biết nó giúp xuất dữ liệu ra rồi kèm theo xuống hàng sau khi xuất. Thì print() chỉ xuất dữ liệu thôi và không xuống hàng. Bạn có thể thử áp dụng print() cho các thông báo chỉ dẫn như “Please enter your name here: “ trên kia để xem sự khác biệt nhé.
  • Nếu bạn muốn hiển thị các ký tự đặc biệt sau: dấu nháy đơn (‘), dấu nháy kép (“), và dấu gạch chéo (). Thì bạn cứ kèm theo một gạch chéo () nữa ở trước các ký tự này. Chẳng hạn bạn muốn hiển thị dòng Thư mục chứa file “ấy” là C:LocationAy, thì bạn gõ lệnh xất như sau System.out.print(“Thư mục chứa file ”ấy” là C:LocationAy”);.
  • Ngoài ra bạn còn có thể chèn thêm các ký tự giúp định dạng dữ liệu xuất, như “t” sẽ chèn thêm một tab, hay “n” sẽ giúp xuống dòng. Bạn thử tự kiểm chứng bằng cách gõ xòng lệnh này nhé System.out.print(“tHellonWorld”);.

Tuy nhiên, với kiểu xuất mặc định này, có đôi lúc chúng ta tưởng như việc xuất nội dung là bình thường, nhưng nó lạ lắm. Bạn hãy xem kết quả in ra Console bên dưới đây, rồi chúng ta sẽ xem xuất “không mặc định” nó sẽ như thế nào sau nhé.

double x = 10000.0/3.0;
System.out.println("The result is " + x);

Kết quả sẽ in ra nội dung

The result is 3333.3333333333335

. Thì cũng đúng thôi, kết quả phép chia cho ra dãy số vậy là đúng rồi. Thế nhưng nếu chúng ta muốn kiểm soát việc in ra Console sao cho dữ liệu xuất được đẹp hơn thì sao. Chẳng hạn bạn muốn in ra giá trị cho tiền tệ, khi mà sau dấu thập phân bạn muốn làm tròn đến 2 con số thôi. Khi đó bạn hãy đến với kiến thức về xuất theo định dạng như sau.

Xuất Theo Định Dạng

Nếu như với xuất mặc định, bạn đã biết là nên dùng một trong hai phương thức là print() hay println(). Thì xuất theo định dạng cung cấp cho bạn một phương thức hiệu quả hơn đó là printf() (chữ f cuối cùng của phương thức viết tắt của từ format, chính là định dạng).

Khi đó để kết quả của ví dụ trên in ra một con số làm tròn “đẹp đẽ” sao cho chỉ có 2 chữ số sau dấu thập phân thôi, bạn có thể viết lại như sau.

double x = 10000.0/3.0;
System.out.printf("The result is %.2f", x);

Kết quả in ra là:

The result is 3333.33

. Đẹp hơn đúng không nào, mình giải thích sơ qua cho các bạn hiểu cách làm việc của printf() ở bên dưới (nếu bạn nào muốn tìm hiểu kỹ hơn tất cả cách sử dụng của printf() thì có thể đọc bài viết này của mình).

printf() ở mức cơ bản cần bạn phải truyền vào 2 thành phần, cách nhau bởi dấu (,).

  • Thành phần thứ nhất nói cho phương thức này biết nội dung xuất ra màn hình, trong nội dung đó có chỉ định một hoặc nhiều dấu hiệu định dạng. Trong ví dụ trên thì dấu hiệu này là %10.2fDấu hiệu định dạng này mang ý nghĩa rằng bạn muốn in một số thực bất kỳ, nhưng nó phải được hiển thị bởi ký tự sau dấu thập phân.
  • Thành phần thứ hai của phương thức chính là giá trị cần định dạng. Hệ thống sẽ tự động tìm kiếm nơi mà bạn đã khai báo dấu hiệu định dạng trong chuỗi xuất ở thành phần thứ nhất, cụ thể là %10.2f như bạn thấy, và thay thế vào đó giá trị cần định dạng, cụ thể là biến x của chúng ta.

Kết Luận

Chúng ta vừa thực hành các câu lệnh nhập/xuất đáng giá từ console. Bạn đã đủ tự tin để nhập bất kỳ dữ liệu bạn muốn vào chương trình, và xuất dữ liệu một cách đẹp đẽ ra console rồi. Hãy đến các bài viết tiếp theo của mình để cùng nhau từng bước xây dựng các ứng dụng hoàn chỉnh nhé.

Bài viết gốc được đăng tải tại yellowcodebooks.com

Xem thêm:

Đừng bỏ qua việc làm IT tất cả level có trên Station D nhé!

Bài viết liên quan

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd
Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Applicant Tracking System là gì? ATS hoạt động ra sao

Applicant Tracking System là gì? ATS hoạt động ra sao

Công nghệ phát triển hướng đến giải quyết và cải tiến cho mỗi quy trình, hoạt động của doanh nghiệp cũng như đời sống. Đối với lĩnh vực tuyển dụng, sự xuất hiện của phần mềm ATS (Applicant Tracking System) mang đến nhiều thay đổi đáng kể, cả đối với nhà tuyển dụng và ứng viên. Vậy phần mềm ATS là gì? Chúng được sử dụng ra sao? Những thắc mắc về phần mềm ATS trong tuyển dụng sẽ được Station D giải đáp tại bài viết dưới đây. Hệ thống sàng lọc ứng viên ATS (Applicant Tracking System) Applicant Tracking System là gì? Applicant Tracking System (ATS) hay còn gọi là Hệ thống quản lý hồ sơ ứng viên là phần mềm quản lý quy trình tuyển dụng từ đầu đến cuối một cách tự động hóa. ATS được thiết kế để giúp nhà tuyển dụng tiết kiệm thời gian và chi phí trong việc thu thập, sắp xếp và sàng lọc hồ sơ các ứng viên. Các tính năng nổi bật của Applicant Tracking System Các tính năng nổi bật của Applicant Tracking System Applicant Tracking System (ATS) là một công cụ quan trọng giúp các công ty quản lý quy trình tuyển dụng hiệu quả hơn. Cùng chúng tôi điểm qua các tính năng nổi bật của ATS: Sàng lọc và quản lý hồ sơ ứng viên Khả năng tìm kiếm và sàng lọc ứng viên là một trong các tính năng nổi bật nhất của ATS. Với việc sử dụng từ khóa và tiêu chí cụ thể, hệ thống có thể nhanh chóng tìm kiếm và sàng lọc các hồ sơ phù hợp, tự động loại bỏ những ứng viên không đạt yêu cầu. Điều này giúp nhà tuyển dụng tập trung vào những ứng viên...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd
Tối ưu tỉ lệ chuyển đổi với Google Optimize và Google Analytics

Tối ưu tỉ lệ chuyển đổi với Google Optimize và Google Analytics

Tối ưu tỷ lệ chuyển đổi là một trong những yếu tố quan trọng mà một Growth Marketer không thể bỏ qua. Google Analytics là công cụ hữu hiệu và phổ biến nhất giúp chúng ta theo dõi, đo lường và tối ưu tỷ lệ chuyển đổi. Số liệu từ Google Analytics giúp chúng ta nhìn ra điểm cần thay đổi để tăng tỷ lệ chuyển đổi. Theo dõi chuyển đổi là quá trình thiết yếu nhưng cũng rất “khó nhằn”. Ngày nay, mọi người đang sử dụng điện thoại di động nhiều hơn và thường xuyên hơn khi mua hàng trực tuyến. Việc tối ưu hóa website phiên bản di động rất quan trọng. Traffic đến từ mobile khá lớn và làm ảnh hưởng nhiều tới tỷ lệ chuyển đổi. Để xem website của bạn có hoạt động tốt trên mobile hay không như thế nào? Làm gì khi tỷ lệ chuyển đổi giảm? Website phiên bản di động của bạn có nội dung hấp dẫn không? Không có những nút điều hướng hành động? Trang bị lỗi …, những điều này có thể ảnh hưởng tới tỉ lệ chuyển đổi Google Analytics, hiểu được điều này, bạn sẽ có cơ sở để khắc phục và hoàn thiện website của mình. Hãy cùng đến với chủ đề “DÙNG GOOGLE ANALYTICS TỐI ƯU TỈ LỆ CHUYỂN ĐỔI TRÊN MOBILE” với sự chia sẻ của diễn giả Nguyễn Minh Đức, CEO IM GROUP tại Vietnam Mobile Day 2018 nhé

By stationd