Thứ Tư, 28 tháng 2, 2018

Các trường Đại học ở Trung Quốc đang theo đuổi các sáng chế công nghệ blockchain

Một số trường đại học công lập hàng đầu ở Trung Quốc đang tăng cường nắm để được cấp bằng sáng chế cho các áp dụng blockchain được các trường phát triển.


Dữ liệu mới được công bố vào ngày 16/2 và 23/2 do Văn phòng Sở hữu trí tuệ Trung Quốc (SIPO) nêu bật các cơ quan nghiên cứu như Đại học Chiết Giang, Đại học Thâm Quyến và Học viện Khoa học Trung Quốc đang cầm để có được bằng sáng chế liên hệ đến công nghệ. Những nỗ lực này là một dấu hiệu rõ rệt càng ngày càng tăng sự quan tâm và đầu tư các nguồn lực từ các tổ chức nghiên cứu do chính phủ Trung Quốc tài trợ trong lĩnh vực nghiên cứu và phát triển blockchain.

Những động thái này xuất hiện đúng vào thời điểm khi số lượng ngày một tăng các công ty ở Trung Quốc đang tìm cách để đăng ký sáng chế phát minh liên hệ đến blockchain, một núm thích hợp với chương trình nghị sự của chính phủ Trung Quốc để xúc tiến các áp dụng FinTech.

Theo thông tin của CoinDesk trước đây, các tổ chức tài chính lớn, cụ thể là nhà băng Trung Quốc, đã cân nhắc đến các vấn đề như tăng cường khả năng mở mang blockchain.

Theo hồ sơ đăng tải của SIPO, Đại học Chiết Giang muốn đăng ký cấp bằng sáng chế cho một hệ thống blockchain trên nền trên đám mây có tính năng tạo điều kiện cho các giao dịch thanh toán xuyên biên giới. Tổ chức này còn khẳng định trong hồ sơ của mình rằng, thay vì các giao tế đi qua một bên thứ ba như một người được ủy thác, hệ thống sẽ ghi lại yêu cầu giao tiếp của người gửi trên một sổ cái blockchain phi tập kết được thiết lập bởi các máy chủ đám mây phân tán.

Trong khi đó, hồ sơ cho thấy Viện Hàn lâm Khoa học Trung Quốc ở Bắc Kinh đang theo dõi trung thành một hệ thống blockchain có thể "đồng thời hỗ trợ các blockchains công khai, dùng riêng và liên minh".

trái lại, Đại học Thẩm Quyến đang đeo đuổi bằng sáng chế liên can đến trường hợp sử dụng cụ thể - quyền sở hữu trí tuệ cho các nghệ sỹ - sử dụng công nghệ blockchain này như là một dụng cụ để gắn và theo dõi các công việc. Hệ thống cũng sẽ tạo điều kiện tiện lợi cho một hệ thống giao dịch chống giả mạo tác phẩm nghệ thuật.

Thứ Ba, 27 tháng 2, 2018

Liệu Goole và Facebook có tuyển nhân viên "không" bằng đại học





Cháu năm nay 17 tuổi, yêu thích lập trình từ cấp 2 và cháu tự học.

Đây là một câu hỏi của một cậu bé 17 tuổi, hiện đang thu hút rất nhiều sự quan tâm. Cậu cho biết, bản thân đã tự học lập trình từ khi 13 tuổi. Tới nay cậu có ước muốn muốn được làm việc tại các công ty công nghệ hàng đầu như Facebook, Google… dù bản thân chưa có bằng Đại học.

Đáp lại ước vọng này, nhiều ý kiến cũng như lời khuy ên được đưa ra. trổi nhất là phần trả lời của viên chức từ Google với hơn 10 năm làm việc.

Dmitriy Genzel – Kỹ sư nghiên cứu về “máy học” tại Google từ năm 2005:

“Cháu thân mến, kiên cố là cháu không cần tới một tấm bằng đại học mới được vào Google làm việc. Ta chắc rằng, cháu là một người rất ham lập trình.

Ta biết, nhưng ham không phải là toàn bộ đâu nhé. Bởi hầu hết các kỹ sư tại Google mà ta biết cũng đều lập trình từ năm 13 tuổi, hoặc ít hơn. Cháu cần nhớ rằng, ngoài kĩ năng lập trình tốt, cháu còn cần có sự hiểu biết, những tri thức về công việc của mình – thứ mà phần đông các bạn cùng tuổi cháu có thể nhận được khi ngồi trên ghế đại học.

Bên cạnh đó, cháu cũng cần kĩ năng để thuyết phục các nhà tuyển dụng của Google. Họ nghe cháu nói, nhưng cũng rất cần cháu chứng minh thực lực. Ta không biết một năm có bao lăm cậu học sinh 17 tuổi ứng tuyển vào Google, nhưng hẳn con số đó không ít.

Tuổi tác không phải sờ soạng. Ta cho rằng, cháu cần một điều gì đó sạch để lấy lòng hội đồng trong vòng phỏng vấn. Và cách bình thường nhất để chứng minh là cháu cần có một tấm bằng đại học của các trường hàng đầu.

Ta chắc rằng đó không phải là cách độc nhất. Nhưng là cách phổ quát nhất mà một lập trình viên thường nhật sẽ làm.”

Chủ Nhật, 25 tháng 2, 2018

Học PHP cơ bản và nâng cao,tự học lập trình PHP cơ bản hay nhất

Để phát triển và chạy các trang PHP, thì 3 thành phần cơ bản sau cần được cài đặt trên hệ thống máy tính của bạn.
 


ảnh minh họa - Khóa đào tạo PHP
Web Server − PHP sẽ làm việc với hầu như hết thảy phần mềm Web Server, bao gồm Internet Information Server (IIS) của Microsoft, nhưng sau đó Apache Server thường được sử dụng phổ thông hơn. Tải Apache miễn phí từ: http://httpd.apache.org/download.cgi

Database − PHP sẽ làm việc với hầu như vớ phần mềm Database, gồm Oracle và Sybase, nhưng sau đó MySQL Database được dùng phổ quát nhất. Tải MySQL miễn phí tại: http://www.mysql.com/downloads/

PHP Parser − Để xử lý các lệnh PHP script, một parser phải được cài đặt để tạo HTML output mà có thể được gửi tới trình duyệt web. Phần dưới sẽ hướng dẫn bạn cách cài đặt PHP Parser trên máy tính của bạn.
Cài đặt PHP Parser

Trước khi học tập PHP, điều quan trọng là bạn nên vững chắc rằng bạn đã cài đặt môi trường xác thực trên máy tính của bạn để phát triển lập trình web bởi dùng PHP.

Soạn địa chỉ sau vào trong hộp địa chỉ của trình duyệt:http://127.0.0.1/info.php 

Nếu nó hiển thị một trang chỉ thông báo liên tưởng tới cài đặt PHP của bạn, thì nghĩa là, bạn đã cài đặt PHP và WebServer chuẩn xác. Nếu không thì, bạn phải theo thủ tục sau để cài đặt PHP trên máy tính của bạn.

Dưới đây là các bước để cài đặt và định cấu hình PHP chuẩn y 4 nền móng sau:

Cài đặt PHP trên Linux hoặc Unix với Apache

Cài đặt PHP trên Mac OS X với Apache

Cài đặt PHP trên Windows NT/2000/XP với IIS

Cài đặt PHP trên Windows NT/2000/XP với Apache

Cấu hình Apache

Dưới đây sẽ hướng dẫn bạn chỉnh sửa Apache Configuration Files khi bạn đang sử dụng Apache như là một Web Server:

Bạn truy cập: Cấu hình PHP trong Apache Server

Cấu hình PHP.INI File

PHP Configuration file, php.ini, là cách rút cuộc và trực tiếp nhất để sử dụng tính năng của PHP.

Bạn truy cập: Cấu hình PHP.INI File
Cấu hình Windows IIS

Để định cấu hình IIS trên Windows, bạn tham khảo IIS Reference Manual được đi kèm với IIS.

Thứ Sáu, 23 tháng 2, 2018

Python là gì

Trong chương này chúng ta sẽ tìm hiểu sơ qua về tiếng nói lập trình Python, về lịch sử và một số đặc điểm của nó.
Python là gì?

Python là một ngôn ngữ lập trình bậc cao, phiên dịch, hướng đối tượng, đa mục đích và cũng là một ngôn ngữ lập trình động.

Cú pháp của Python là khá dễ dàng để học và tiếng nói này cũng mạnh mẽ và linh hoạt không kém các ngôn ngữ khác trong việc phát triển các áp dụng. Python hỗ trợ mẫu đa lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm và mệnh lệnh hoặc là các phong cách lập trình theo thủ tục.

Python không chỉ làm việc trên lĩnh vực đặc biệt như lập trình web, và đó là vì sao ngôn ngữ này là đa mục đích bởi vì nó có thể được dùng với web, enterprise, 3D CAD, …

Bạn không cần dùng các kiểu dữ liệu để khai báo biến bởi vì kiểu của nó là động, thành thử bạn có thể viết a=15 để khai báo một giá trị nguyên trong một biến.

Với Python, việc phát triển ứng dụng và debug trở thành nhanh hơn vì không cần đến bước biên dịch và chu trình edit-test-debug của Python là rất nhanh.
Các đặc điểm của Python

Dưới đây là một số đặc điểm chính của Python:

Dễ dàng để dùng: Python là một ngôn ngữ bậc cao rất dễ dàng để dùng. Python có một số lượng từ khóa ít hơn, cấu trúc của Python đơn giản hơn và cú pháp của Python được định nghĩa khá rõ ràng, … vơ các điều này là Python thực thụ trở thành một ngôn ngữ thân thiện với lập trình viên.

Bạn có thể đọc code của Python khá dễ dàng. Phần code của Python được định nghĩa khá rõ ràng và phân minh.

Python có một thư viện chuẩn khá rộng lớn. Thư viện này dễ dàng tương xứng và tích hợp với UNIX, Windows, và Macintosh.

Python là một tiếng nói phiên dịch. Trình thông ngôn thực thi code theo từng dòng (và bạn không cần phải biên dịch ra file chạy), điều này giúp cho quá trình debug trở nên dễ dàng hơn và đây cũng là yếu tố khá quan yếu giúp Python vấn được nhiều người học và trở thành khá phổ biến.

Python cũng là một tiếng nói lập trình hướng đối tượng. Ngoài ra, Python còn tương trợ các phương thức lập trình theo hàm và theo cấu trúc.

Ngoài các đặc điểm trên, Python còn khá nhiều đặc điểm khác như tương trợ lập trình GUI, mã nguồn mở, có thể tích hợp với các tiếng nói lập trình khác, …

Lịch sử của Python

Python được phát triển bởi Guido Van Rossum vào cuối những năm 80 và đầu những năm 90 tại Viện toán-tin ở Hà Lan. Python kế thừa từ nhiều ngôn ngữ như ABC, Module-3, C, C++, Unix Shell, …

tiếng nói Python được cập nhật khá thường xuyên để thêm các tính năng và hỗ trợ mới. Phiên bản mới nhất giờ của Python là Python 3.3 được ban bố vào 29/9/2012 với nguyên tắc chủ đạo là "bỏ cách làm việc cũ nhằm hạn chế trùng lặp về mặc chức năng của Python".

Thứ Năm, 22 tháng 2, 2018

AI của Google có thể chuẩn đoán bệnh tim qua võng mạc mắt


 


Nghe như trong phim khoa học viễn tưởng nhưng mới đây các nhà nghiên cứu tại Google đã thành công trong việc sử dụng trí thông minh nhân tạo để chuẩn đoán các bệnh nghiêm trọng: khả năng bệnh nhân sẽ bị lên các đau tim hoặc đột quị. Các nhà nghiên cứu đã đưa ra các quyết định ấy dựa trên việc thẩm tra các hình ảnh của võng mạc của bệnh nhân. 

Google công bố những phát hiện của họ trong tập san Y học Trực tuyến tự nhiên (Nature Biomedical Engineering), cho biết phương pháp có tính xác thực tương tư như phương thức truyền thống vốn yêu cầu việc việc gắn kim vào cánh tay bệnh nhân. 

Tuy vậy, hãng cũng cho rằng sẽ còn cần một thời gian nghiên cứu để hoàn thiện nó. 

Theo kẻ khổng lồ công nghệ, các kết quả Y học trước đây đã cho thấy một số mối liên tưởng giữa các biểu đạt của mạch võng mạc báo trước nguy cơ một cơn đau tim nguy hiểm. 

Do đó, với các dữ liệu dựa trên hình ảnh võng mạc của bệnh nhân, Google cho biết họ có thể dự đoán  70% thời gian chính xác bệnh nhân nào trong vòng năm năm sẽ bị đau tim hoặc các bệnh can hệ và bệnh nhân nào sẽ không. Những kết quả này hoàn toàn hạp với các phương pháp xét nghiệm bình thường vốn đòi hỏi lấy máu để đo mức cholesterol của bệnh nhân. 

Google đã dùng các mô hình dựa trên dữ liệu từ 284,335 bệnh nhân khác nhau. 

Lily Peng, một MD và là nhà nghiên cứu hàng đầu của dự án cho biết: “Điều trước hết là chúng ta đã thể nghiệm trên một nhóm dữ liệu nhỏ” – Cô nói – “Chúng tôi tin rằng tính chính xác của các chuẩn đoán mà AI đưa ra sẽ ngày một được cải thiện khi nhận được dữ liệu các bệnh nhân toàn diện hơn”. 

Peng cũng cho biết Google đã rất sửng sốt về kết quả. Nhóm của cô đã làm việc để dự đoán bệnh về mắt, sau đó mở mang qua việc tiên lượng từ hình ảnh xem người đó có hút thuốc hay có bệnh huyết áp không. Từ đó dẫn tới việc phát hiện ra khả năng dự đoán bệnh nhân có nguy cơ bị đau tim hay không. 

Những thuật toán của Google sẽ tính toán và để ý nhiều hơn đến các huyết quản thất thường để dự đoán về khả năng bị huyết áp của bệnh nhân. 

Với việc nghiên cứu sâu hơn sẽ giúp cho các nhà nghiên cứu có thể dự đoán xác thực và giúp giảm đi rất nhiều các trường hợp bệnh nhân bị đau tim hoặc đột quị. 

Câu hỏi giờ đây đặt ra là quá trình đó sẽ mất bao lâu? Peng cho biết sẽ mất vài năm nữa để các nhà nghiên cứu có thể tìm ra cách thức sử dụng nó một cách thật sự hiệu quả. 

Nhưng cô cũng lạc quan rằng trí sáng dạ nhân tạo có thể được ứng dụng trong các lĩnh vực khám phá khoa học khác, bao gồm cả nghiên cứu về ung thư. 

Peng nói: “Tôi rất mừng bởi ý nghĩa mà khám phá này đã mang lại. Chúng tôi hy vọng rằng các nhà nghiên cứu ở những nơi khác sẽ tiếp tục phát triển dựa trên những phát hiện này”

Thứ Tư, 21 tháng 2, 2018

AI của Google có thể chuẩn đoán bệnh tim qua võng mạc mắt


 


Nghe như trong phim khoa học viễn tưởng nhưng mới đây các nhà nghiên cứu tại Google đã thành công trong việc sử dụng trí thông minh nhân tạo để chuẩn đoán các bệnh nghiêm trọng: khả năng bệnh nhân sẽ bị lên các đau tim hoặc đột quị. Các nhà nghiên cứu đã đưa ra các quyết định ấy dựa trên việc soát các hình ảnh của võng mạc của bệnh nhân. 

Google công bố những phát hiện của họ trong tạp chí y khoa Trực tuyến Thiên nhiên (Nature Biomedical Engineering), cho biết phương pháp có tính xác thực tương tư như phương thức truyền thống vốn đề nghị việc việc gắn kim vào cánh tay bệnh nhân. 

Tuy vậy, hãng cũng cho rằng sẽ còn cần một thời gian nghiên cứu để hoàn thiện nó. 

Theo kẻ đồ sộ công nghệ, các kết quả Y học trước đây đã cho thấy một số mối liên quan giữa các biểu hiện của mạch võng mạc báo trước nguy cơ một cơn đau tim nguy hiểm. 

Do đó, với các dữ liệu dựa trên hình ảnh võng mạc của bệnh nhân, Google cho biết họ có thể dự đoán  70% thời gian chính xác bệnh nhân nào trong vòng năm năm sẽ bị đau tim hoặc các bệnh hệ trọng và bệnh nhân nào sẽ không. Những kết quả này hoàn toàn hợp với các phương pháp xét nghiệm thường ngày vốn đòi hỏi lấy máu để đo mức cholesterol của bệnh nhân. 

Google đã sử dụng các mô hình dựa trên dữ liệu từ 284,335 bệnh nhân khác nhau. 

Lily Peng, một MD và là nhà nghiên cứu hàng đầu của dự án cho biết: “Điều đầu tiên là chúng ta đã thí điểm trên một nhóm dữ liệu nhỏ” – Cô nói – “Chúng tôi tin rằng tính chính xác của các chuẩn đoán mà AI đưa ra sẽ ngày càng được cải thiện khi nhận được dữ liệu các bệnh nhân toàn diện hơn”. 

Peng cũng cho biết Google đã rất ngạc nhiên về kết quả. Nhóm của cô đã làm việc để dự đoán bệnh về mắt, sau đó mở rộng qua việc tiên đoán từ hình ảnh xem người đó có hút thuốc hay có bệnh áp huyết không. Từ đó dẫn tới việc phát hiện ra khả năng dự đoán bệnh nhân có nguy cơ bị đau tim hay không. 

Những thuật toán của Google sẽ tính và để ý nhiều hơn đến các huyết quản bất thường để dự đoán về khả năng bị áp huyết của bệnh nhân. 

Với việc nghiên cứu sâu hơn sẽ giúp cho các nhà nghiên cứu có thể dự đoán chuẩn xác và giúp giảm đi rất nhiều các trường hợp bệnh nhân bị đau tim hoặc đột quị. 

Câu hỏi giờ đây đặt ra là quá trình đó sẽ mất bao lâu? Peng cho biết sẽ mất vài năm nữa để các nhà nghiên cứu có thể tìm ra cách thức sử dụng nó một cách thật sự hiệu quả. 

Nhưng cô cũng lạc quan rằng trí thông minh nhân tạo có thể được ứng dụng trong các lĩnh vực khám phá khoa học khác, bao gồm cả nghiên cứu về ung thư. 

Peng nói: “Tôi rất mừng bởi ý nghĩa mà khám phá này đã mang lại. Chúng tôi hy vọng rằng các nhà nghiên cứu ở những nơi khác sẽ tiếp kiến phát triển dựa trên những phát hiện này”

Thứ Năm, 8 tháng 2, 2018

Cú pháp Java cơ bản

ảnh minh họa - Đào tạo lập trình Java

Chúng ta có thể coi chương trình Java như một hội tụ các đối tượng mà có thể bàn bạc lẫn nhau dùng các phương thức. Dưới đây chúng ta sẽ nêu ra một số định nghĩa căn bản của lớp, đối tượng, phương thức cũng như biến trong Java:

  • Đối tượng - Đối tượng có các dạng và hành vi. tỉ dụ: Một con chó có các trạng thái của màu da, tiếng tăm, thức ăn cũng như các hành vi như sủa, ăn, vẫy đuôi.
  • Lớp - Một lớp có thể được định nghĩa như một bản thiết kế, mẫu mà có thể bộc lộ các dạng, hành vi của một đối tượng mà nó hỗ trợ.
  • Phương thức - Một phương thức đơn giản là một hành vi. Một lớp có thể bao gồm nhiều phương thức. Trong mỗi phương thức có những phép toán logic, dữ liệu được xử lý và Tất cả các hành động được thực thi.
  • Biến - Mỗi đối tượng có một tập các biến độc nhất vô nhị. Mỗi dạng của đối tượng được khởi tạo bởi các giá trị và gán với những biến.

Cú pháp cơ bản trong Java

Về chương trình Java, khi bạn đặt tên cho bất cứ thành phần nào, bạn cần tuân theo qui ước đặt tên của chúng. Qui ước đặt tên trong Java là một qui tắc bạn cần theo khi quyết định đặt tên nào cho định danh (Identifier) của mình, chẳng hạn như đặt tên cho lớp, package, biến, hằng, phương thức, … Nhưng nó không thắt để bạn phải theo. bởi vậy nó được gọi là qui ước chứ không phải là qui tắc

Tên Class - vơ các tên Class trong Java nên viết hoa chữ cái trước hết và là một danh từ. 

Nếu không viết hoa, các trình IDE sẽ cảnh báo bạn (đương nhiên là Java vẫn ưng nếu cố tình viết thường chữ cái đầu tiên).

thí dụ class System

Tên Interface - Nên bắt đầu với chữ hoa và là một tính từ, tỉ dụ: Runnable, ActionListener ...

Tên phương thức - cả thảy các tên phương thức nên bắt đầu với chữ thường và là một động từ. 

thí dụ public void actionPerformed()

Tên biến - Nên bắt đầu với chữ thường, Ví dụ: firstName, orderNumber ...

Tên package - Nên bắt đầu với chữ thường, Ví dụ: java, lang, sql, util ...

Tên hằng - Nên bắt đầu với chữ hoa, tỉ dụ: RED, YELLOW, MAX_PRIORITY ...

Tên file chương trình - Tên file nên y sì tên class. 

Khi bạn lưu file, bạn nên dùng tên class và thêm hậu tố `.java`.

tỉ dụ: với tên class `MyfirstJavaProgram`, bạn nên lưu file dưới tên `MyFirstJavaProgram.java`

public static void main(String args[]) - Chương trình Java bắt đầu bởi phương thức main() cho sờ soạng các chương trình J2SE.
CamelCase trong Qui ước đặt tên Java

Java theo cú pháp camelcase để đặt tên cho lớp, Interface, phương thức và biến. Nếu tên là tổ hợp của hai từ, thì từ thứ hai sẽ luôn bắt đầu với chữ hoa, tỉ dụ: actionPerformed(), firstName, ActionEvent, …

Định danh (Identifier) trong Java:

sờ soạng các thành phần của Java đều yêu cầu tên. Tên được sử với các class, biến cũng như phương thức được gọi là Định danh (Identifier).

Trong Java, có vài điểm quan yếu dưới đây bạn phải ghi nhớ với Định danh (Identifier):

hết thảy các idenfier nên bắt đầu với một chữ cái (A tới Z hoặc a tới z), ký tự ($) hoặc ký tự gạch dưới (_).

Sau kí tự trước hết có thể là bất kỳ ký tự nào.

Những key word trong Java chẳng thể được sử dụng như một identifier.

Các identifier phân biệt chữ hoa thường.

Các trường hợp hợp thức: tuoi, $ten, giatri, __1_giatri

Các trường hợp không hợp lệ: 123abc, -hocphi
Modifier trong Java

Giống các tiếng nói khác, bạn có thể sửa đổi các lớp, phương thức, .., bởi dùng các Modifier. Trong Java, có hai loại Modifier:

Access Modifier: Bao gồm default, public , protected, private

Non-access Modifier: Bao gồm final, abstract, strictfp

Bạn sẽ hiểu rõ về các Modifier này trong các bài hướng dẫn tiếp theo.
Biến trong Java

Các loại biến trong Java như sau:
Biến Local
Biến của class (biến static)
Biến đối tượng (không phải biến static)
Mảng trong Java

Mảng là đối tượng lưu trữ nhiều biến với chung một kiểu dữ liệu. dù rằng vậy, một mảng bản thân nó cũng là một đối tượng trong bộ nhớ. Chúng ta cũng sẽ tìm hiểu các khởi tạo, khai báo đối tượng này trong các chương sắp tới.

Java Enums

Enums được giới thiệu bởi Java 5.0 Enums giới hạn số lượng các biến bởi cách định nghĩa trước. Các biến trong danh sách được kê gọi là enums.

Với việc sử dụng enum sẽ có thể hạn chế số lượng các lỗi trong code.

thí dụ, chúng ta giả tỉ một áp dụng cho cửa hàng nước ép hoa quả, có thể giới hạn các kiểu cỡ cốc gồm có cỡ nhỏ, vừa và lớn. Điều này có thể bảo đảm giúp để mọi người khác không thể thêm các cỡ khác ngoài nhở, vừa, lớn.
tỉ dụ

class FreshJuice enum FreshJuiceSize SMALL, MEDIUM, LARGE FreshJuiceSize size; public class FreshJuiceTest public static void main(String args[]) FreshJuice juice = new FreshJuice(); juice.size = FreshJuice. FreshJuiceSize.MEDIUM ; System.out.println("Size: " + juice.size); Chương trình sẽ in ra kết quả:

 
Size: MEDIUM

Ghi chú: Các Enums có thể được khai báo như là của riêng chính nó hoặc bên trong một lớp. Các phương thức, biến, constructor cũng có thể được định nghĩa bên trong các Enum.

Các từ khóa trong Java:

Danh sách dưới đây in ra những từ khóa được dành riêng trong Java. Những từ khóa dành riêng này không được dùng như một tên biến hoặc tên identifier.
 
abstract assert boolean break
byte case catch char
class const continue default
do double else enum
extends final finally float
for goto if implements
import instanceof int interface
long native new package
private protected public return
short static strictfp super
switch synchronized this throw
throws transient try void
volatile while    

Comment trong Java

Java tương trợ việc comment trên 1 dòng lệnh hoặc nhiều dòng lệnh rưa rứa như C và C++. Tất cả các ký tự trong các dòng comment đều được bỏ qua bởi Java compiler.
 
public class MyFirstJavaProgram

   /* Chuong trinh in Hello World.
    * Day la vi du ve comment gom nhieu dong.
    */

    public static void main(String []args)
       // Vi du thu nhat ve comment co mot dong.
       /* Vi du thu hai ve comment co mot dong. */
       System.out.println("Hello World"); 
    
 

sử dụng dòng trống trong Java

Một dòng chỉ chứa khoảng trắng, có thể với một comment, được biết như là dòng trống, và Java hoàn toàn bỏ qua nó.

Tính kế thừa trong Java

Trong Java, các Class có thể được suy ra từ các Class khác. Về cơ bản, nếu bạn cần tạo một Class mới và ở đây đã là một Class mà có một số đoạn code bạn cần, thì khi đó nó là có thể để suy ra một class mới từ code đã tồn tại.

Khái niệm này cho bạn khả năng tái dùng các trường và các phương thức của class đang tồn tại mà không cần phải viết lại code trong class mới. Trong cảnh huống này, class đang tồn tại được gọi là superclass và class được suy ra được gọi là subclass.

Interface trong Java

Trong ngôn ngữ Java, một interface có thể được định nghĩa như là một contract giữa các đối tượng về cách giao tiếp với nhau. Các interface đóng vai trò thiết yếu khi nó đi với khái niệm về tính kế thừa.

Một interface định nghĩa các phương thức, các subclass nên dùng. Nhưng sự thật thi của các phương thức lại hoàn toàn là do các subclass.
Điểm khác nhau giữa println và print

Java tương trợ hai lệnh là println và print để in thông tin trên màn hình chuẩn. Tuy nhiên giữa hai lệnh này có một điểm khác nhau nhỏ về con trỏ trong hai lệnh. Trong khi lệnh print giữ nguyên vị trí con trỏ trên cùng một dòng thì lệnh println chuyển di con trỏ xuống dòng tiếp theo (tương đương với ký tự newline (dòng mới)).

Bạn theo dõi tỉ dụ đơn giản sau để phân biệt hai lệnh này:
 
package edu.doannhg.basic;

// vi du phan biet hai lenh print va println
class Test 
 public static void main(String args[]) 

  // lenh print
  System.out.print("NIIT Hà Nội ");
  System.out.print("chuc cac ban ");
  System.out.print("hoc tot!!!");
  System.out.print("\n---------------\n");

  // lenh println
  System.out.println("NIIT Hà Nội ");
  System.out.println("chuc cac ban ");
  System.out.println("hoc tot!!!");

 

Chạy chương trình Java trên sẽ cho kết quả:
 
NIIT Hà Nội chuc cac ban hoc tot!!!
---------------
NIIT Hà Nội
chuc cac ban hoc tot!!!

Thứ Ba, 6 tháng 2, 2018

Cấu trúc của Android

Hệ điều hành Android là một ngăn xếp của các thành phần phần mềm mà có thể đại khái phân chia thành 5 khu vực và 4 lớp chính. Hình dưới đây minh họa lược đồ cấu trúc Android.

Lớp Linux Kernel trong Android

Linux Kernel là lớp thấp nhất. Nó cung cấp các chức năng căn bản như quản lý tiến trình, quản lý bộ nhớ, quản lý thiết bị như: Camera, bàn phím, màn hình, … ngoại giả, nó còn quản lý mạng, driver của các thiết bị, điều này gỡ bỏ sự khó khăn về giao tế với các thiết bị ngoại vi.
Libraries trong Android

Phía trên Linux Kernel là tụ tập các bộ thư viện mã nguồn mở WebKit, bộ thư viện nức tiếng libc, cơ sở dữ liệu SQLite có ích cho việc lưu trữ và chia sẻ dữ liệu, bộ thư viện thể phát, thu thanh về âm thanh, hoặc video. Thư viện SSL chịu bổn phận cho bảo mật Internet.


Android Libraries

Phần này gồm các thư viện dựa trên Java. Nó bao gồm các Framework Library giúp xây dựng, vẽ đồ họa và truy cập cơ sở dữ liệu trở nên dễ dàng hơn. Dưới đây là một số Android Library cốt lõi có sẵn cho lập trình viên Android: −

android.app − Cung cấp truy cập tới mô hình vận dụng và nó là nền tảng cho tất thảy áp dụng Android.

android.content − Việc truy cập nội dung, các thông điệp giữa các áp dụng và các thành phần áp dụng trở nên dễ dàng hơn.

android.database − Được sử dụng để truy cập dữ liệu được ban bố bởi Provider và bao gồm các lớp quản lý cơ sở dữ liệu SQLite.

android.opengl − Một Java Interface cho OpenGL ES 3D phê duyệt API.

android.os − Cung cấp cho các vận dụng sự truy cập tới các dịch vụ chuẩn của hệ điều hành như thông báo, dịch vụ hệ thống và giao tế nội tiến trình.

android.text − Được sử dụng để phục hồi và thao tác text trên một thiết bị hiển thị.

android.view − Các khối kiến trúc nền tảng của vận dụng UI.

android.widget − Một tụ hội các UI được xây dựng trước như button, label, list view, layout manager, radio button, …

android.webkit − Một giao hội các lớp cho phép khả năng để trình duyệt trên web được xây dựng bên trong các vận dụng.

Having covered the Java-based core libraries in the Android runtime, it is now time to turn our attention to the C/C++ based libraries contained in this layer of the Android software stack.
 
Android Runtime

Đây là thành phần thứ 3 trong cấu trúc, thuộc về lớp 2 tính từ dưới lên. Phần này cung cấp một thành phần quan yếu gọi là Dalvik Virtual Machine là một máy ảo Java đặc biệt, được thiết kế tối ưu cho Android.

Máy ảo Dalvik VM dùng các tính năng chủ chốt của Linux như quản lý bộ nhớ, đa luồng, mà bản tính là bên trong tiếng nói Java. Máy ảo Dalvik cho phép tất thảy các ứng dụng Android chạy trong tiến trình riêng của nó

Android Runtime cũng cung cấp bộ thư viện cốt lõi, cho phép các lập trình viên Android sử dụng để viết các ứng dụng Android.

Application Framework

Lớp Application Framework cung cấp nhiều dịch vụ cấp cao hơn cho các áp dụng trong các lớp Java. Các lập trình viên cũng được phép dùng các dịch vụ này trong các áp dụng của họ.

Application Framework bao gồm các dịch vụ chính sau: −

Activity Manager − Điều khiển các khía cạnh của vòng đời ứng dụng và Activity Stack.

Content Providers − Cho phép các áp dụng công bố và san sớt dữ liệu với các ứng dụng khác.

Resource Manager − Cung cấp sự truy cập tới các resource được nhúng (không phải code) như chuỗi, thiết lập màu, UI layout.

Notifications Manager − Cho phép các vận dụng hiển thị thông tin tới người dùng.

View System − Một tụ hội các view được sử dụng để tạo UI cho ứng dụng.

Hướng dẫn cài đặt Android

Bạn có thể bắt đầu phát triển áp dụng Android trên một trong các Hệ điều hành sau:−

Microsoft Windows XP hoặc các phiên bản nâng cấp sau đó.
Mac OS X 10.5.8 hoặc phiên bản sau với Intel chip.
Linux bao gồm GNU C Library 2.7 hoặc phiên bản sau.

Điều thứ hai là tuốt tuột các Tool cần thiết để phát triển các ứng dụng Android là có sẵn miễn phí và có thể download từ trên web. Dưới đây là một số phần mềm bạn sẽ cần trước khi bắt đầu lập trình vận dụng Android.

Java JDK5 or later version

Android SDK

Java Runtime Environment (JRE) 6

Android Studio

Eclipse IDE for Java Developers (optional)

Android Development Tools (ADT) Eclipse Plug-in (optional)

Hai thành phần rốt cuộc là tùy ý và nếu bạn đang làm việc trên thiết bị Windows, thì các thành phần này giúp bạn dễ dàng hơn trong khi thực hiện phát triển ứng dụng dựa trên Java.
Cài đặt Java Development Kit (JDK)

Bạn có thể tải phiên bản mới nhất của Java JDK từ Java SE Downloads. Bạn sẽ thấy các hướng dẫn để cài đặt JDK từ file đã tải. Làm theo các chỉ dẫn này để cài đặt và cấu hình. rốt cuộc, thiết lập các biến môi trường PATH và JAVA_HOME để tham chiếu tới thư mục chứa java và javac, thường tương ứng là java_install_dir/bin và java_install_dir.

Nếu bạn đang chạy trên Windows và đã cài đặt JDK trong C:\jdk1.6.0_15, bạn sẽ phải đặt dòng sau trong C:\autoexec.bat file:

 
set PATH=C:\jdk1.7.0_75\bin;%PATH%
set JAVA_HOME=C:\jdk1.7.0_75

Hoặc, bạn cũng có thể kích đúp chuột vào My Computer, select Properties,sau đóAdvanced, rốt cục Environment Variables. Tiếp đó, bạn cập nhật giá trị PATH và nhấn nút OK.

Trên Linux, nếu SDK được cài đặt trong /usr/local/jsk1.6.0_15 và bạn dùng C Shell, thì bạn nên đặt code sau trong .cshrc file.
 
setenv PATH /usr/local/jdk1.7.0_75/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.7.0_75
 
Hoặc, nếu bạn sử dụng một Integrated Development Environment (IDE) Eclipse, thì nó sẽ tự động biết nơi bạn đã cài đạt Java của bạn.

Android IDEs

Có rất nhiều công nghệ tinh vi có sẵn cho bạn để phát triển các ứng dụng Android, nhưng có hai Tool được dùng cốt tử nhất là:

Cài đặt Android Studio

Bước 1: Yêu cầu về hệ thống

Bạn có thể bắt đầu phát triển ứng dụng Android trên một trong các Hệ điều hành sau:

Microsoft® Windows® 8/7/Vista/2003 (32 hoặc 64-bit).

Mac® OS X® 10.8.5 hoặc phiên bản cao hơn 10.9 (Mavericks)

GNOME hoặc KDE desktop

Điểm thứ hai là tuốt luốt Tool cấp thiết để phát triển các ứng dụng Android là mã nguồn mở và có thể được download từ web. Dưới đây là các phần mềm bạn cần trước khi bắt đầu lập trình áp dụng Android.

Java JDK5 hoặc các phiên bản mới nhất

Java Runtime Environment (JRE) 6

Android Studio
Bước 2: Cài đặt Android Studio
Giới thiệu

Android Studio là IDE chính thức để phát triển vận dụng Android. Nó làm việc dựa trên IntelliJ IDEA. Bạn có thể tải phiên bản mới nhất của Android Studio tại: Tải Android Studio, Nếu bạn mới cài đặt Android Studio trên Windows, bạn sẽ tìm một file, có tên là android-studio-bundle-135.17407740-windows.exe. bởi vậy tải và chạy trên thiết bị Windows theo chỉ dẫn.

Nếu bạn đang cài đặt Android Studio trên Mac hoặc Linux, bạn cần tải phiên bản mới nhất từ Android Studio Mac Download, hoặc Android Studio Linux Download, soát các hướng dẫn được cung cấp cùng với file đã tải. Chương này giả thử bạn đang cài đặt trên môi trường Windows với Hệ điều hành Windows 8.1.

Cài đặt

Chạy AndroidStudio.exe, bảo đảm trước khi chạy Android Studio, thiết bị cấp thiết Java JDK đã được cài đặt. Để cài đặt Java JDK, bạn quay trở lại trang: chỉ dẫn cài đặt Android.



 
 
Tiếp đó, bạn xác định RAM space cho Android Emulator, theo mặc định nó sẽ là 512 MB.
 
Cuối cùng, nó sẽ extract SDK package vào trong local machine. Bạn sẽ cần đợi trong giây phút để hoàn thành tác vụ này, và nó sẽ nhận 2626 MB của Hark Disk.
 
 
Sau khi thực hiện hết thảy bước trên, bạn phải nhất nút Finish và nó sẽ mở Android Studio với thông báo Welcome to Android Studio, như hình dưới.
 
  • Cài đặt Android Studio

    Hình ảnh dưới khởi tạo JDK cho Android SDK.
  •  
  • Bạn cần kiểm tra các thành phần, mà là cấp thiết để tạo các ứng dụng, hình ảnh dưới đã chọn:
  •  
  • Bạn cần xác định vị trí của local path cho Android Studio và Android SDK. Ảnh dưới lấy vị trí mặc định của Windows 8.1 x64 bit.
  • hiện, bạn có thể bắt đầu phát triển ứng dụng của mình với Project mới. Trong khung cài đặt, nó sẽ hỏi Application name, thông báo về Package và vị trí của Project.
     
 
  • Sau khi nhập tên vận dụng, bạn cần lựa chọn factor mà vận dụng của bạn sẽ chạy trên đó. Ở đây, cần thiết để xác định Minimum SDK, trong bài này tôi đã khai báo là API21: Android 5.0 (Lollipop).

     
 
  • Trong bước tiếp theo, bạn sẽ chọn một activity to Mobile, nó sẽ xác định layout mặc định cho các vận dụng.

     
 
  • chung cục, nó sẽ mở Development Tool để viết code cho vận dụng:
     

Bước 3: Tạo Android Virtual Device
Để kiểm tra các vận dụng Android của mình, bạn sẽ cần một thiết bị Android ảo. Do đó, trước khi bắt đầu viết code, chúng ta tạo một Android Virtual Device. Chạy Android AVD Manager bằng việc nhấn chuột vào tượng trưng AVD_Manager, như dưới:
 

Nó sẽ hiển thị các thiết bị ảo mặc định có mặt trên SDK của bạn, hoặc bạn có thể cần tạo một thiết bị ảo bằng việc nhấn chuột vào nút Create new Virtual device.
 

Nếu AVD được tạo thành công, nghĩa là môi trường của bạn đã sẵn sàng để phát triển vận dụng Android. Nếu bạn thích, bạn có thể đóng cửa sổ này bởi sử dụng nút X ở trên cùng bên phải. Dưới đây chúng ta sẽ xem một số khái niệm quan yếu liên can tới phát triển áp dụng Android.
Tạo áp dụng Hello Word trong Android

Trước khi viết code để hiển thị Hello World, bạn phải biết về các thẻ trong XML. Để viết chương trình này, bạn nên redirect tới App>res>layout>Activity_main.xml
 

Để hiển thị Hello World, chúng ta cần gọi Text View với Layout. (bạn có thể tham khảo tại Relative Layout và Text View ).

Để chạy chương trình bằng việc nhấn chuột vào Run>Run App hoặc tổ hợp phím shift+f10. chung cục, kết quả sẽ được đặt tại Virtual Device, như sau:
 


Khi bạn đã chạy Android Studio, lúc này, điều cần nói đến là JDK5 Path hoặc phiên bản trong Installer.


Eclipse IDE
 


Cài đặt Android SDK

Bạn có thể tải phiên bản mới nhất của Android SDK từ − Android SDK Downloads. Nếu bạn đang cài đặt SDK trên Windows, thì bạn sẽ tìm một installer_rXX-windows.exe, tải và chạy exe này sẽ hướng dẫn bạn cài đặt. rốt cục, bạn sẽ có Android SDK Tools được cài đặt trên thiết bị của bạn.

Nếu bạn đang cài đặt SDK trên Mac OS hoặc Linux, thẩm tra chỉ dẫn được cung cấp cùng với android-sdk_rXX-macosx.zip file đã tải cho Mac OS và android-sdk_rXX-linux.tgz cho Linux. Chương này giả thử bạn đang cài đặt trên Hệ điều hành Windows 7.

Chạy Android SDK Manager bởi sử dụng tùy chọn All Programs > Android SDK Tools > SDK Manager, Nó cung cấp cho bạn cửa sổ:

 

Khi bạn đã chạy cài đặt SDK Manager, bạn cần cài đặt các package cấp thiết. Theo mặc định, nó sẽ liệt kê 7 package để được cài đặt, nhưng tôi yêu cầu bạn không nên cài đặt Documentation for Android SDK và Samples for SDK để giảm số lần phải cài đặt. Tiếp đó, nhấn nút Install 7 Packages, nó sẽ hiển thị hộp thoại sau:
 

Nếu bạn đồng ý cài đặt quơ package, chọn nút Accept All và nhấn nút Install để bắt đầu cài đặt. Sau khi vớ package đã được cài đặt, bạn có thể đóng SDK Manager.
Cài đặt Eclipse IDE

tuốt tỉ dụ trong bài này sẽ được viết bởi dùng Eclipse IDE. bởi thế, bạn nên cài đặt phiên bản Eclipse mới nhất.

Để cài đặt Eclipse IDE, tải phiên bản Eclipse Binary từ: http://www.eclipse.org/downloads/. Sau khi tải về, bạn đặt nó vào vị trí tiện lợi. ví dụ trong C:\eclipse trên Windows, hoặc /usr/local/eclipse trên Linux và rốt cục thiết lập biến PATH phù hợp.

Eclipse có thể được bắt đầu bằng việc thực thi các lệnh sau trên Windows hoặc bạn có thể đơn giản nhấn đúp chuột trên eclipse.exe.%C:\eclipse\eclipse.exe 

Eclipse có thể được bắt đầu bằng việc thực thi các lệnh sau trên Linux:$/usr/local/eclipse/eclipse 

Sau khi phát động thành công và mọi thứ là ổn, nó sẽ hiển thị kết quả:
 
 
Cài đặt Android Development Tools (ADT) plug-in

Bước này chỉ dẫn bạn cài đặt Android Development Tools plug-in cho Eclipse. Chạy Eclipse, sau đó chọn Help > Software Updates > Install New Software. Nó sẽ hiển thị hộp thoại:
 

bây chừ dùng nút Add để thêm ADT Plug-in là tên và https://dl-ssl.google.com/android/eclipse/ là vị trí. Sau đó nhấn OK. Ngay sau khi bạn nhấn OK, Eclipse sẽ bắt đầu tầm plug-in có sẵn trong vị trí đã cung cấp và chung cục liệt kê các plug-in đã tìm thấy.
 

dùng nút Select All để chọn các plug-in đã được liệt kê và sau đó nhấn nút Next sẽ đưa bạn tới bước tiếp theo để cài đặt Android Development Tools và một số plug-in cần thiết khác.
Tạo Android Virtual Device

Để rà soát các áp dụng Android, bạn cần một thiết bị Android ảo. thành ra trước khi bắt đầu viết code, bạn cần tạo một Android Virtual Device. Chạy Android AVD Manager bởi dùng tùy chọn Window > AVD Manager> trên Eclipse. sử dụng nút New để tạo một Android Virtual Device mới và nhập thông báo sau trước khi nhấn nút Create AVD.
 

Nếu AVD được tạo thành công, tức là môi trường đã sẵn sàng để bạn phát triển áp dụng Android.

Thứ Bảy, 3 tháng 2, 2018

Tất cả các loại tiền ảo, đứng đầu là Bitcoin, đều giảm giá mạnh

Bitcoin, loại tiền ảo số 1, đã giảm hơn 60% giá trị so với mức cao nhất trong lịch sử cách đây chưa đầy hai tháng. Cụ thể, giá trị của mỗi đơn vị Bitcoin giảm xuống còn 7.700 USD vào ngày bữa qua (thứ Sáu), so với mức 10.000 USD vào thứ Tư và khoảng 20.000 USD vào thời cao điểm hồi tháng Mười Hai.
 

 


Bitcoin và tuốt luốt các loại tiền ảo khác đã giảm giá mạnh

Thị trường tiền ảo, từ lâu vốn được mô tả như một quả bong bóng sắp nổ, đang sụt giá mạnh trong tuần này. Một số loại tiền ảo đã giảm hơn 25% giá trị trong 24 giờ qua, và trong chỉ 1 ngày, 100 tỷ USD đã biến mất.

Bitcoin, loại tiền ảo số 1, đã giảm hơn 60% giá trị so với mức cao nhất trong lịch sử cách đây chưa đầy hai tháng. Cụ thể, giá trị của mỗi đơn vị Bitcoin giảm xuống còn 7.700 USD vào ngày hôm qua (thứ Sáu), so với mức 10.000 USD vào thứ Tư và khoảng 20.000 USD vào thời cao điểm hồi tháng Mười Hai.

Các loại tiền ảo khác cũng đang giảm rất mạnh. Ethereum, Litecoin và Ripple giảm ít ra 25% trong 24 giờ qua. Ethereum giảm từ 1.100 USD xuống còn 830 USD, trong khi Litecoin giảm từ 150 USD xuống còn 115 USD và Ripple giảm từ trên 1 USD xuống còn 0,72 USD.

Theo trang web theo dõi tiền tệ CoinDesk, những loại tiền ảo ít được biết đến hơn, như Stellar và Cardon, giảm hơn 35% trong 24 giờ qua. "Nhìn chung, tổng vốn hóa thị trường của thảy các mã tiền ảo đã cùng nhau giảm hơn 100 tỷ USD", trang web cho biết.

Ripple là một một loại tiền ảo nóng đặc biệt vào cuối năm 2017 và bắt đầu năm 2018, tăng vọt từ 0,25 USD lên hơn 3 USD trong vòng chưa đầy một tháng. Hiện nay, giá trị tiền ảo này đã giảm hơn 75% so với cực điểm, gồm cả mức giảm 35% chỉ trong vòng 24 giờ qua.

Nói cách khác, nếu bạn đầu tư 1.000 USD vào Ripple ngày hôm qua, nó có thể chỉ có giá 650 USD hôm nay. Bạn sẽ còn tệ bạc hơn nếu mua Ripple hoặc Bitcoin, Ethereum hoặc bất kỳ tiền mật mã nào khác – vào thời điểm thị trường đạt đỉnh điểm. Một khoản đầu tư 1000 USD vào Bitcoin giữa tháng 12 sẽ có giá trị chưa đến 400 USD ngay bây giờ.

Vậy điều gì đang xảy ra? Thật khó để giải thích về việc các loại tiền ảo bỗng chốc giảm giá mạnh sau đợt tăng như rồ dại vào năm 2017.

Nói cách khác: điều này hoàn toàn phi lý. Giá trị của mỗi loại tiền tệ ảo chỉ đơn giản là giá trị mà thị trường nghĩ rằng nó có giá trị. Thị trường cryptocurrency dựa trên trào lưu của đám đông, và các giá trị do đó phải chịu sự biến động mạnh mẽ.

Như đã nói, khi có thông tin về việc Bitcoin đang trải qua tháng tối dạ nhất trong vòng 3 năm, các nước như Trung Quốc và Hàn Quốc đã đưa ra nhiều chính sách hạn chế giao dịch cryptocurrency, điều đó có thể khiến các nhà đầu tư mất tự tin và thúc giục họ bán tháo bitcoin.

Tuy nhiên, nhìn chung có vẻ như những dự đoán của các nhà đầu tư tài chính uy tín như nhà kinh tế Robert Shiller của Yale và CEO Berkshire Hathaway, Chủ tịch Warren Buffett đang trở nên hiện thực. Họ và những người khác đã nói rằng Bitcoin và các loại tiền ảo khác không có giá trị cố hữu, và chúng là những bong bóng cực kỳ cổ điển có khả năng bùng nổ ở một lúc nào đó.

Shiller nói hồi đầu tháng này rằng Bitcoin "không có giá trị gì trừ khi có một sự đồng thuận chung rằng nó có giá trị", và rằng "Bitcoin hoàn toàn có thể bị sụp đổ và bị quên lãng." Buffett, trong một lần xuất hiện gần đây trên kênh CNBC, đã nói rằng "Về tiền ảo, nhìn chung, tôi có thể nói một cách gần như vững chắc rằng chúng sẽ đi đến một kết cuộc tối dạ".

 

Thứ Năm, 1 tháng 2, 2018

Nhà tuyển dụng cần JavaScript nhưng tại sao các lập trình viên đổ dồn theo Python

                                                     


Khi nói đến các tiếng nói lập trình đang được săn đón bởi các nhà tuyển dụng, JavaScript, Java, Python, C ++, và C hiện vẫn đứng đầu trong các cuộc khảo sát gần đây. Tuy nhiên các developer vẫn muốn học thêm các ngôn ngữ như Python, Go, và Kotlin. 

Một cuộc khảo sát các developer bởi HackerRank, được thực hiện vào tháng 10 vừa rồi, không có nhiều khoảng cách giữa ngôn ngữ nhà tuyển dụng săn đón và ngôn ngữ mà developer biết. Tuy vậy, Python vẫn là tiếng nói mà hầu hết các developer đều muốn học, HackerRank cho biết. 

Các developer hàng đầu cũng cho biết rằng họ sẽ học Go, Python, Scala, Kotlin và Ruby, theo trật tự ưu tiên giảm dần. 

Mặt khác, HackerRank lưu ý rằng thị hiếu tiếng nói sẽ thay đổi theo ngành. Java, ví dụ, luôn được chuộng trong các dịch vụ tài chính, trong khi C chiếm ưu thế trong phát triển phần cứng. 

HackerRank cũng cho biết có khá nhiều khoảng cách đối với thị trường cung và cầu của JavaScript framework khi mà nhu cầu luôn cao hơn số lượng developer có thể đáp ứng. 

React JavaScript UI library thì có khoảng cách lớn nhất với khoảng 37% công ty muốn phát triển về React nhưng chỉ có khoảng 19% developer là chuyên về tiếng nói đó. 

Đối với Angular, tình hình có vẻ khả quan hơn với khoảng 39% có như cầu trong khi chỉ có 32% số developer đáp ứng được. Đối với Node.js, khoảng cách là giữa 38% và 30%. 

Trong số 39,441 developer được khảo sát, 7,000 người cũng là những nhà quản lý tyển dụng vốn cũng được HackerRank đặt câu hỏi thêm về tuyển dụng. 

Các phát hiện khác trong mỏng bao gồm: 

hiện thời, các developer đang bắt đầu học lập trình rất sớm với hơn một phần tư đã viết code trước 16 tuổi. 

Kỹ năng giải quyết vấn đề được xem là quan yếu nhất của developer, hơn cả việc thông tỏ về tiếng nói, debug và thiết kế hệ thống. 

Trong khi 67 phần trăm các nhà phát triển có bằng cấp về khoa học máy tính, khoảng 74 phần trăm cho biết họ cũng tự học. 

làng nhàng, các nhà phát triển biết khoảng bốn tiếng nói nhưng họ vẫn muốn biết thêm nữa. 

 

Đào tạo Java