Thứ Tư, 31 tháng 1, 2018

Đánh Giá Thứ Hạng Các Ngôn Ngữ Lập Trình


Ngày này chúng ta dùng các vận dụng một cách vô tội vạ để điều hành doanh nghiệp để làm việc cũng như để tiêu khiển trong cuộc sống cá nhân chủ nghĩa. Nhưng ngôn ngữ lập trình nào cho phép thế giới kỹ thuật số kết nối chúng ta – và chúng đang phát triển như thế nào? 

Cách để hiểu được sự phổ biến của các ngôn ngữ lập trình là xem thông tin từ các nhóm như TIOBE, RedMonk, và Stack Overflow, cho thấy thiên hướng của tiếng nói. GitHub cũng có thể là một thước đo quan trọng, đặc biệt là trong cộng đồng mã nguồn mở, do nó cho thấy khách quan có bao nhiêu đóng góp code bằng một tiếng nói cụ thể. 

Trong 5 năm qua chúng ta đã bước vào giai đoạn bùng nổ các ngôn ngữ lập trình. Ví dụ, đã có một sự bùng nổ của các tiếng nói vào Java Virtual Machine. Nhưng ngay cả với toàn bộ những đối thủ mới, nếu bạn xem các bảng trending, thì những cái tên dẫn đâu vẫn là những cái tên quen thuộc Java, C, C ++, PHP, Python và JavaScript. 


thời điểm, khả năng chấp thuận và tính hệ trọng là những điểm dị biệt giữa các ngôn ngữ lập trình phổ thông nhất với số còn lại. Nếu bạn nhìn vào tiếng nói lập trình từ ý kiến học thuật, đã có một số tiếng nói tốt nhưng lại thất bại do không đúng đối tượng hoặc sai thời điểm. Và đôi khi là cả hai. 

tiếng nói C và C ++ đã tồn tại hàng thập kỷ và vẫn nối phát triển mạnh mẽ. Chúng tiếp tục đóng một vai trò quan trọng đối với operating systems, device drivers cũng như những nơi cần hiệu suất tương tác cao với phần cứng. 

rưa rứa như vậy, Java đã xuất hiện từ năm 1996 và ngày càng trở thành mạnh mẽ. Một trong những lý do phổ biến rộng rãi của nó là bởi việc xuất hiện đúng lúc đúng thời điểm, khi các developer muốn tăng năng suất của họ và các ngôn ngữ lập trình hướng đối tượng. Java cũng xử lý việc thực hành nhiều quá trình song song (chủ đề) trong một quá trình độc nhất vô nhị rất tốt. Khi nó xuất hiện trong năm 1996, những gì nó làm được thì hầu như không tìm thấy trong bất kì tiếng nói lập trình nào khác. Java cũng mang lại lợi. cho việc có thể “ghi một lần chạy ở bất cứ đâu”, do đó code có thể chạy trên các kiến ​​trúc máy tính và hệ điều hành khác nhau, tạo cho nó nhiều sự hấp dẫn với các các nhà phát triển. 

JavaScript là một ngôn ngữ lập trình liền tù tù góp mặt trong các tiếng nói phổ biến nhất, nhưng ở đây cần phải phân biệt sự phổ biến về số lượng người dùng và mức độ chuộng của một tiếng nói lập trình. JavaScript là một tiếng nói đã được vận dụng rộng rãi cho phát triển web và điện thoại di động; tuy nhiên, cộng đồng developer nói chung có nhiều ý kiến khác nhau về nó. Dù gì đi chăng nữa thì web và sự gia tăng gần đây của điện thoại di động đã thúc đẩy sự phổ quát của nó. 

tiếng nói Go của Google là một điều xăm khác đáng được nhắc đến. Với chỉ vọn vẹn 10 tuổi, Go được xem là tương đối trẻ so với các tiếng nói khác đã được nêu ra ở trên, nhưng nó đang phát triển nhanh chóng. Vào tháng 7 năm 2016, tiếng nói xếp thứ 55 trên TIOBE Index, và vào tháng 7 năm 2017 đã tăng lên vị trí thứ 10 . Với sự gia tăng về các công nghệ container như Docker và Kubernetes, chúng ta thấy sự quan hoài về Go cũng được cải thiện đáng kể. Trong tình huống na ná, sự phổ quát của các thiết bị của Apple đã dẫn đến sự gia tăng chóng vánh của Swift và giúp nó trở thành một tiếng nói lập trình hàng đầu 15, vốn đại đáng nể khi tuổi đời của tiếng nói chỉ mới là con số 3. 

Tóm lại, trong khi có một số biến động trong đẳng cấp các tiếng nói lập trình, danh sách của chúng vẫn khá ổn định qua nhiều năm. Và một lần nữa, tôi nghĩ rằng điều quan trọng là phải phân biệt giữa sự phổ thông của một ngôn ngữ và những gì các nhà phát triển sử dụng. Thật dễ dàng để đo lường khách quan những tiếng nói lập trình đang được sử dụng nhưng điều đó không chỉ ra được tiếng nói nào sẽ hiệp nhất cho từng developer nếu họ chưa thử qua.

Top10 thủ thuật dành cho machine learning newbie





Trong machine learning , có một thứ gọi là định luật ” No Free Lunch “. Nói một cách ngắn gọn, điều đó cho rằng không có một thuật toán nào là tốt nhất trong mọi vấn đề và nó đặc biệt hiệp với supervised learning – việc học dưới sự giám sát ( tỉ dụ là predictive modeling – mô hình tiên đoán).

tỉ dụ, bạn không thể nói rằng các kết nối nơ-ron luôn tốt hơn cây quyết định – decision trees (hay ngược lại). Có rất nhiều yếu tố ảnh hưởng chẳng hạn như kích tấc và cấu trúc của bộ dữ liệu.

Do đó, bạn nên thử nhiều thuật toán khác nhau cho vấn đề của bạn, trong khi sử dụng một “ tập rà soát ” còn lại để đánh giá hiệu suất và chọn ra giải pháp tối ưu nhất.

đương nhiên, các thuật toán bạn thử phải hiệp với vấn đề của bạn, đó là việc bạn chọn đúng công việc cho machine learning. hao hao, nếu bạn cần dọn dẹp nhà cửa, bạn có thể dùng máy hút bụi, một cây chổi hoặc một cái giẻ lau, nhưng bạn sẽ không dùng một cái xẻng và đào.
The Big Principle

Tuy nhiên, có một nguyên tắc chung là cơ sở cho mọi thuật toán machine learning được giám sát cho mô hình tiên đoán.

Các thuật toán machine learning được bộc lộ như việc học một target function (f) để biến bản đồ đầu vào (X) thành biến xuất (Y): Y = f (X)

Đây là một nhiệm vụ học tập tổng quát mà chúng ta muốn đưa ra những tiên lượng trong ngày mai (Y) với các ví dụ mới về các biến đầu vào (X). Chúng ta không biết chức năng (f) trông như thế nào hoặc dạng của nó. Nếu chúng ta làm như vậy, chúng ta sẽ sử dụng nó trực tiếp và không cần phải học nó từ dữ liệu bằng cách dùng các thuật toán machine learning.

Phương thức phổ thông nhất của machine learning là học cách lập bản đồ Y = f (X) để đưa ra dự đoán của Y cho biến X mới. Điều này được gọi là mô hình tiên đoán hoặc phân tách tiên đoán và mục tiêu của chúng ta là làm cho các dự đoán chuẩn xác nhất có thể được.

Đối với những người mới học về machine learning muốn hiểu được căn bản của nó, đây sẽ là một chuyến khám phá nhanh về 10 thuật toán machine learning hàng đầu được các nhà khoa học dữ liệu dùng.
Linear Regression – Hồi quy tuyến tính

Hồi quy tuyến tính có nhẽ là một trong những thuật toán nức danh nhất và được hiểu rõ nhất trong thống kê và machine learning.

Mô hình tiên lượng chính yếu quan tâm đến việc giảm thiểu sơ sót của mô hình hoặc đưa ra các dự đoán xác thực nhất có thể, với một chi phí giải trình. Chúng tôi sẽ mượn, dùng lại và lấy các thuật toán từ nhiều lĩnh vực khác nhau, bao gồm số liệu thống kê và sử dụng chúng cho những mục đích này.

trình diễn hồi quy tuyến tính là một phương trình trình bày một đường thẳng trình diễn.# hợp nhất mối quan hệ giữa các biến đầu vào (x) và các biến đầu ra (y), bằng cách tìm các trọng số cụ thể cho các biến đầu vào được gọi là các hệ số (B).






thí dụ: y = B0 + B1 * x

Chúng ta sẽ dự đoán y với biến x cho trước và mục tiêu của thuật toán hồi quy tuyến tính là tìm các giá trị cho các hệ số B0 và B1.

Các kĩ thuật khác nhau có thể được dùng để tìm mô hình hồi quy tuyến tính từ dữ liệu, chẳng hạn như một giải pháp đại số tuyến tính cho Ordinary least square và việc tối ưu hóa Gradient descent.

Hồi quy tuyến tính đã được phát minh khoảng hơn 200 năm và đã được nghiên cứu rộng rãi. Một số lề luật tốt khi dùng kĩ thuật này là loại bỏ các biến rưa rứa nhau (correlated) và để loại bỏ bớt nguyên tố lơ là từ dữ liệu của bạn, nếu có thể. Đây là một kĩ thuật đơn giản và nhanh chóng, và là thuật toán tốt trước hết để thử.

2. Logistic Regression – Hồi quy logistic

Hồi quy logistic là một thuật toán khác được mượn bởi machine learning từ lĩnh vực thống kê. Đây là phương thức tốt nhất cho các vấn đề phân loại nhị phân (vấn đề với hai lớp giá trị).

Hồi quy logistic giống như hồi quy tuyến tính với mục đích là để tìm ra các giá trị cho các hệ số mà trọng lượng mỗi biến đầu vào. Không giống như hồi quy tuyến tính, dự đoán đầu ra được chuyển đổi bằng cách dùng một hàm không tuyến tính được gọi là hàm logistic.

Hàm logistic trông giống như một S lớn và sẽ biến đổi bất kỳ giá trị nào thành 0-1. Điều này rất hữu ích vị chúng ta có thể ứng dụng một lệ luật cho đầu ra của hàm logistic để tăng giá trị cho 0 và 1 (ví dụ IF ít hơn 0.5 sau đó đầu ra 1) và dự đoán một lớp giá trị.




Vì cách mô hình được học, các dự đoán thực hiện bởi hồi quy logistic cũng có thể được dùng như là xác suất của một tỉ dụ dữ liệu khăng khăng thuộc lớp 0 hoặc lớp 1. Điều này có thể có ích cho các vấn đề khi bạn cần đưa ra nhiều lý do cho một dự đoán.

Giống như hồi quy tuyến tính, hồi quy logistic hoạt động tốt hơn khi bạn loại bỏ các thuộc tính không liên hệ đến biến đầu ra cũng như các thuộc tính hao hao nhau (correlated). Đó là một mô hình có thể học hỏi nhanh và có hiệu quả với các vấn đề phân loại nhị phân.

3. Linear Discriminant Analysis – phân tích phân loại tuyến tính

Hồi quy Logistic là một thuật toán phân loại truyền thống giới hạn vào các vấn đề phân loại hai lớp. Nếu bạn có nhiều hơn hai lớp thì thuật toán phân tích phân loại tuyến tính nên được ưu tiên.

Sự trình bày của LDA khá đơn giản. Nó bao gồm các thuộc tính thống kê của dữ liệu của bạn, được tính cho mỗi lớp. Đối với một biến đầu vào độc nhất, nó bao gồm:
Giá trị làng nhàng cho mỗi lớp.
Phương sai được tính trên tuốt tuột các lớp.






Dự đoán được thực hành bằng cách tính giá trị phân biệt cho mỗi lớp và dự đoán cho lớp đó có giá trị lớn nhất. Kĩ thuật giả định rằng dữ liệu có một phân bố Gaussian (bell curve), do đó tốt hơn là bạn nên loại bỏ các giá trị ngoại vi khỏi dữ liệu của bạn trước. Đây là một phương pháp đơn giản và mạnh mẽ để phân loại các vấn đề mô hình dự báo.

4. Classification and regression trees – Cây phân loại và hồi quy

Decision trees là một loại thuật toán quan trọng cho mô hình tiên lượng machine learning.

Sự biểu diễn của mô hình decision tree là một cây nhị phân. Đây là cây nhị phân của bạn từ các thuật toán và cấu trúc dữ liệu, không có gì quá ưa chuộng. Mỗi node đại diện cho một biến đầu vào độc nhất vô nhị (x) và một điểm phân chia trên biến đó (giả tỉ biến đó là số).





Các node lá của cây chứa một biến đầu ra (y) được dùng để dự đoán. Các tiên đoán được thực hiện bằng cách đi trên các nhánh của cây cho đến khi đến một node lá và đưa ra lớp giá trị tại node lá đó.

Cây có thể học rất nhanh và có thể dùng để dự đoán rất nhanh. Chúng thường xác thực cho nhiều loại vấn đề và dữ liệu của bạn không cần bất kỳ sự chuẩn bị đặc biệt nào.

5. Naive Bayes

Naive Bayes là một thuật toán đơn giản nhưng mạnh mẽ về mô hình tiên lượng.

Mô hình bao gồm hai loại xác suất có thể được tính trực tiếp từ dữ liệu của bạn:

1) Xác suất của mỗi lớp;

2) Xác suất có điều kiện cho mỗi lớp với mỗi giá trị x.

Sau khi tính, mô hình xác suất có thể được dùng để đưa ra dự đoán cho dữ liệu mới bằng Định lý Bayes. Khi dữ liệu của bạn có giá trị thực, giả sử một phân phối Gaussian (bell curve) khá phổ quát nên bạn có thể dễ dàng ước lượng được các xác suất này.




Naive Bayes được gọi là naive vì nó giả định rằng mỗi biến đầu vào là độc lập. Đây là một giả định mạnh mẽ và không thực tế đối với dữ liệu thực, tuy nhiên, kĩ thuật này rất hiệu quả trên một khuôn khổ rộng lớn với các vấn đề phức tạp.
K – Nearest Neighbors – KNN

Thuật toán KNN rất đơn giản và rất hiệu quả. Mô hình đại diện cho KNN là toàn bộ dữ liệu tập huấn. Đơn giản phải không?

Dự đoán được thực hành cho một điểm dữ liệu mới bằng cách cỡ ưng chuẩn tất cả tập đào tạo cho hồ hết các thí dụ K giống nhau (láng giềng) và tóm lược biến đầu ra cho các tỉ dụ K. Đối với các vấn đề hồi quy, đây có thể là biến đầu ra nhàng nhàng, đối với các vấn đề phân loại, đây có thể là mode (hoặc phổ thông nhất) của lớp.

Bí quyết là làm thế nào để xác định sự giống nhau giữa các trường hợp dữ liệu. Kĩ thuật đơn giản nhất nếu các tính chất của bạn có cùng kích cỡ (thí dụ quờ quạng đều là inch) là sử dụng khoảng cách Euclide, một con số bạn có thể tính toán trực tiếp dựa trên sự dị biệt giữa mỗi biến đầu vào.




KNN có thể yêu cầu rất nhiều bộ nhớ hoặc không gian để lưu trữ ắt dữ liệu, nhưng chỉ thực hiện tính tình (hoặc học) khi một dự báo là cần thiết, chỉ vừa đúng lúc. Bạn cũng có thể cập nhật và tổ chức các bài tập đào tạo theo thời kì để giữ các dự đoán xác thực.

Ý tưởng về khoảng cách hoặc độ gần có thể bị phá vỡ với các quy mô rất cao (rất nhiều biến đầu vào) có thể ảnh hưởng bị động đến hiệu suất của thuật toán đối với vấn đề của bạn. Đây được gọi là lời nguyền của quy mô. Nó cho thấy bạn chỉ dùng những biến đầu vào có liên can nhất đến dự đoán biến đầu ra.

7. Học Vector Quantization

Nhược điểm của K- Nearest Neighbors là bạn cần phải giữ nguyên bộ dữ liệu đào tạo của mình. Thuật toán Quantization về Vector (hay LVQ) là một thuật toán mạng tâm thần nhân tạo cho phép bạn chọn có bao lăm trường hợp đào tạo để treo lên và tìm hiểu chuẩn xác những trường hợp này sẽ như thế nào.



Sự biểu diễn cho LVQ là một tụ hợp các codebook vector. Chúng được chọn lựa tình cờ từ đầu và thích ứng để tóm tắt tốt nhất tập dữ liệu đào tạo qua một số lần lặp của thuật toán. Sau khi học được, các vector mã có thể được dùng để tạo ra các dự đoán giống như K- Nearest Neighbors. Các láng giềng tương tự nhất ( hiệp với codebook vector nhất ) được tìm thấy bằng cách tính toán khoảng cách giữa mỗi vector và ví dụ dữ liệu mới. Lớp giá trị hoặc (giá trị thực trong trường hợp hồi quy) cho đơn vị kết hợp tốt nhất sau đó sẽ được trả về như dự đoán. Kết quả tốt nhất đạt được khi bạn thay đổi dữ liệu của mình để có cùng khuôn khổ, chẳng hạn như giữa 0 và 1.

Nếu bạn phát hiện ra rằng KNN mang lại kết quả tốt trên tập dữ liệu của bạn, hãy thử sử dụng LVQ để giảm đề nghị về bộ nhớ để lưu trữ quờ tập dữ liệu đào tạo.

8. Support Vector machines

Support vector machines có nhẽ là một trong những thuật toán machine learning phổ biến nhất và được nói về nhiều nhất.

Một hyperplane là một đường phân chia không gian biến đầu vào. Trong SVM, một hyperplance được chọn để phân tích tốt nhất các điểm trong không gian các biến đầu vào theo lớp của chúng, hoặc là lớp 0 hoặc lớp 1. Trong hai chiều, bạn có thể tưởng tượng nó như một đường thẳng và giả tỉ rằng cả thảy các biến đầu vào của chúng ta có thể được tách hoàn toàn bằng dòng này. Thuật toán SVM tìm ra các hệ số dẫn đến sự phân tích tốt nhất của các lớp theo hyperplance.



Khoảng cách giữa hyperplane và điểm dữ liệu gần nhất được gọi là biên. Hyperplane tốt nhất hoặc tối ưu có thể tách riêng hai lớp là dòng có biên lớn nhất. Chỉ những điểm này có hệ trọng đến việc xác định hyperplane và trong việc xây dựng các điểm phân loại. Những điểm này được gọi là các vector tương trợ. Chúng hỗ trợ hoặc xác định hyperplane. Trong thực tiễn, một thuật toán tối ưu được dùng để tìm các giá trị cho các hệ số tối đa hóa biên.


SVM có thể là một trong những phương pháp phân loại hàng đầu mạnh mẽ nhất và đáng thử trên tập dữ liệu của bạn.

9. Bagging and Random Forest

Random Forest là một trong những thuật toán machine learning phổ thông nhất và mạnh nhất. Nó là một loại thuật toán machine learning được gọi là Bootstrap Aggregation hoặc Bagging.

Bootstrap là một phương pháp thống kê mạnh mẽ để ước tính số lượng từ một mẫu dữ liệu. chả hạn như một giá trị làng nhàng. Bạn lấy rất nhiều mẫu dữ liệu của bạn, tính giá trị làng nhàng, sau đó làng nhàng thảy các giá trị nhàng nhàng của bạn để bạn ước tính tốt hơn giá trị trung bình thật sự.

Trong bagging, cách tiếp cận na ná được sử dụng, nhưng thay vì để ước tính tất mô hình thống kê, thường là decision trees. Nhiều mẫu dữ liệu đào tạo của bạn được lấy sau đó các mô hình được xây dựng cho mỗi mẫu dữ liệu. Khi bạn cần dự đoán dữ liệu mới, mỗi mô hình sẽ dự đoán và các dự đoán được tính trung bình để ước tính tốt hơn giá trị đầu ra thật sự.



Random forest là một sự tinh chỉnh trên phương pháp tiếp cận này, nơi các decision trees được tạo ra để thay vì chọn các điểm phân chia tối ưu, việc phân chia tối ưu được thực hiện bằng cách đưa ra sự ngẫu nhiên.

Các mô hình được tạo cho mỗi mẫu dữ liệu khác biệt nhiều so với chúng đáng ra phải như thế, tuy nhiên vẫn xác thực theo những cách độc đáo và khác biệt. kết hợp dự đoán của chúng dẫn đến một ước tính tốt hơn về giá trị đầu ra cơ bản.

Nếu bạn nhận được kết quả tốt với một thuật toán có độ biến thiên cao (như decision trees), bạn thường có thể nhận được kết quả tốt hơn bằng cách bagging thuật toán đó.

10. Boosting và AdaBoost

Boosting là một kĩ thuật đồng bộ nhằm nỗ lực tạo ra một phương pháp phân loại mạnh từ một số phương pháp phân loại yếu. Điều này được thực hiện bằng cách xây dựng mô hình từ dữ liệu đào tạo, sau đó tạo ra một mô hình thứ hai nuốm sửa lỗi từ mô hình trước tiên. Các mô hình được thêm vào cho đến khi tập đào tạo được dự đoán hoàn hảo hoặc thêm một số mô hình tối đa.

AdaBoost là thuật toán boosting thành công trước tiên được phát triển để phân loại nhị phân. Đây là điểm khởi đầu tốt nhất để hiểu về boosting. Các phương pháp boosting hiện đại xây dựng trên AdaBoost, đáng để ý nhất là các máy boosting gradient ngẫu nhiên.






AdaBoost được dùng với các decision trees ngắn. Sau khi cây trước hết được tạo ra, hiệu suất của cây trên mỗi trường hợp huấn luyện được sử dụng để đo độ để ý của cây kế tiếp được tạo nên để ý đến từng trường hợp đào tạo. Dữ liệu đào tạo khó dự đoán sẽ có trọng lượng hơn, trong khi những trường hợp dễ dự đoán có ít trọng lượng hơn. Các mô hình được tạo theo trật tự lần lượt, mỗi lần cập nhật các trọng số trên các trường hợp đào tạo ảnh hưởng đến việc học được thực hành bởi cây kế tiếp trong chuỗi. Sau khi tuốt các cây được xây dựng, dự đoán được thực hiện cho dữ liệu mới, và hiệu suất của mỗi cây được đo lường bằng cách nó đã được về dữ liệu đào tạo.

vì rất nhiều sự để ý được đưa ra để sửa sai trái theo thuật toán, điều quan trọng là bạn phải có dữ liệu sạch với các giá trị biên.

Last Takeaway

Một câu hỏi tiêu biểu được hỏi bởi những người mới bắt đầu, khi phải đối mặt với rất nhiều thuật toán machine learning, là “Tôi nên sử dụng thuật toán nào?” Câu đáp cho câu hỏi đổi thay tùy thuộc vào nhiều nhân tố, bao gồm:

1) kích tấc, chất lượng và thuộc tính của dữ liệu;

2) thời kì tính;

3) Tính thúc bách của nhiệm vụ; v

4) Bạn muốn làm gì với dữ liệu.

Ngay cả một nhà khoa học dữ liệu giàu kinh nghiệm cũng không thể biết được thuật toán nào sẽ thực hiện tốt nhất trước khi thử các thuật toán khác nhau. mặc dầu có nhiều thuật toán machine learning khác, đây là những thuật toán phổ quát nhất. Nếu bạn là một newbie trong mảng machine learning, đây sẽ là một điểm khởi đầu tốt để tìm hiểu.

Thứ Hai, 29 tháng 1, 2018

Bootstrap 4.0 đã được chính thức tung ra

Bootstrap đã tuyên bố phiên bản thứ 4 đã chính thức được phát hành. Bootstrap là một bộ dụng cụ mã nguồn mở để phát triển các ứng dụng HTML, CSS và JavaScript. Phiên bản mới nhất này cũng kèm theo một số cải tiến mới.

“Kể từ phiên bản beta cuối cùng, nhóm phát triển đã làm việc cật lực nhằm ổn định một số phần quan yếu trong CSS, chỉnh sửa tài liệu và bổ sung thêm một số tính năng mới cũng như lập kế hoạch cho các releases tiếp theo”, team Bootstrap viết trong một bài đăng trên blog.

Phiên bản 4.0 bao gồm các kiểu print styles mới được cập nhật và các utility classes. Các trang được in hiện được hiển thị theo một cách khác để bảo đảm chúng có kích thước hợp lý. Các tiện ích hiển thị in bao gồm các giá trị hiển thị mới, thích hợp với những tiêu chuẩn được đặt ra.

Phiên bản này cũng bao gồm một số tiện ích bổ sung mới về border utilities, mặc định là một đường viền màu xám 1px. Theo nhóm nghiên cứu, nó cho phép các developer thêm borders nhanh hơn.

ngoại giả, Bootstrap 4 chứa một số Sass maps ($ spacers và $ sizes) sẽ cho phép tuỳ biến thêm bằng cách cho phép các developer thêm, xóa, hoặc thay thế cặp khóa-giá trị qua mã CSS.

Nhóm nghiên cứu cũng đã thêm vào các tài liệu chủ đề về các biến CSS cho các developer không muốn dùng Sass. “Mục đích của chúng tôi là để ghi lại sờ soạng những ý tưởng trong khi viết mã, xây dựng linters, và gỡ lỗi. phần nhiều trong số này giao hội vào các khái niệm và chiến lược để viết CSS, sử dụng bộ chọn đơn giản, và giới hạn số lượng JavaScript cần viết “, đội Bootstrap viết. ngoại giả, Bootstrap themes đã được mở rộng để bao gồm 10 chủ đề mới.

Phiên bản kế tiếp của Bootstrap sẽ là phiên bản v4.1 và sẽ giao hội vào các tính năng mới, tiện ích và kích tấc phông chữ phản hồi nhỏ. “Chúng tôi muốn RTL trở thành một phần của bản phát hành sắp tới. Chúng tôi đã mất quá nhiều thời gian để cho điều này, nhưng nó chung cuộc đã được thực hành. Kế hoạch hiện tại của chúng tôi là giao hội vào việc tích hợp chúng vào các phương tiện và thành phần xây dựng của bootstrap, ví dụ như bootstrap.min.css hoặc bootstrap-rtl.min.css.

Techtalk via sdtimes

Làm thế nào để trở thành một chuyên gia về android?



Trước hết, tôi không phải là Android developer hoàn hảo, nhưng tôi đang vắt để đạt được điều đó

Học tập là một cuộc hành trình, hãy cùng nhau học tập – Mindorks

Tôi may mắn đã gặp gỡ nhiều lập trình viên Android tuyệt trên khắp thế giới. Tôi đã học được rất nhiều từ họ, cũng như, cầm cố thu thập những điều mà chúng ta nên biết để trở nên một lập trình viên Android hoàn hảo.

Sau đây là những điều, mà theo tôi, cần thực hiện ngay để trở thành một developer giỏi về Android.

Build! Build! Build

Điều này rất quan trọng chính vậy tôi phải ghi lại 3 lần. Đừng chỉ đọc, hãy thử làm một cái gì đó trên những gì bạn đã đọc vì chỉ đọc thôi là không đủ. Hãy có một dự án nhỏ để thử những điều mới mà độc giả được.

Không có cách nào tốt hơn để học hỏi bằng cách làm chúng.

Luôn cập nhật

xoành xoạch cập nhật các công nghệ mới trong Android. Trong thời đại này thì việc bỏ lỡ là rất dễ xảy ra. Cách tốt nhất để được cập nhật xoành xoạch là tham gia cộng đồng hoặc theo dõi một số trương mục twitter về công nghệ.

Bạn có thể tham gia cộng đồng Mindorks vì chúng tôi luôn tiếp tục đăng nội dung mới trong nhóm Slack.

Biết phương thức tốt nhất

Bạn phải biết về các phương pháp hay nhất mà bạn nên làm trong khi phát triển áp dụng Android.

Xem thêm tại đây .

Biết dùng các phương tiện hữu ích của Android

Như quơ chúng ta đều may mắn sống trong thế giới nơi mọi người xây dựng dụng cụ để viện trợ lẫn nhau. Những phương tiện này giúp quá trình phát triển mau chóng và cuộc sống của ta cũng trở nên dễ dàng hơn.

Do đó đừng quên khám phá và sử dụng các công cụ này.

Đọc code của người khác

Đây là điều tốt nhất mà developer có thể làm và học code một cách tốt nhất. Cá nhân tôi cảm thấy rằng tôi đã học được rất nhiều từ code của các vận dụng nguồn mở.

Danh sách các ứng dụng mã nguồn mở tại đây.

Luôn duy trì chất lượng code

Chất lượng rất quan trọng. Nó không chỉ về MVP / MVVM / MVC / etc, mà còn về mỗi đoạn mã trong mỗi phần của áp dụng của bạn. Hãy để code của bạn được check lại bởi các developer giỏi khác.

Biết về phương tiện rà Chất lượng của code

Có rất nhiều phương tiện có sẵn để thẩm tra chất lượng mã.

Tìm Bugs

rà style

Tìm hiểu việc phát hiện và khắc phục rò rỉ bộ nhớ trong Android

Bạn có thể học qua nguồn này .

Học RxJava

RxJava là một áp dụng Java Virtual Reactive Extensions. Nó đã trở nên một kỹ năng quan trọng nhất cho sự phát triển của Android.

Bạn sẽ chỉ cần đăng nhập vào đây và tìm hiểu RxJava .

Học cách dùng dependency injector

Tìm hiểu cách dùng dependency injector từ đây.

Học cách thẩm tra ứng dụng Android

Học từ các liên kết này:

Android Testing Codelab .

Android Performance Testing Codelab .

Hiểu về Bitmap

Vì phải mất rất nhiều bộ nhớ, có thể dẫn đến OOM dễ dàng. Trong khi người dùng vốn luôn yêu thích nội dung! Đặc biệt là khi nội dung được định dạng tốt và nhìn đẹp. Hình ảnh, tỉ dụ, là nội dung cực kỳ tốt đẹp, nhưng chúng cũng tiêu thụ rất nhiều bộ nhớ. Rất nhiều bộ nhớ! – Do đó bạn cần biết cách hạn chế vấn đề này.

Tìm hiểu cách hoạt động của các libraries của bên thứ ba

Điều này rất quan trọng để biết rằng các thư viện của bên thứ ba hoạt động như thế nào. Chúng tôi hiện cũng đang sử dụng một thư viện cho Android application của nhóm.

Hiểu rõ nội dung của bối cảnh (context)

Tìm hiểu thêm tại đây.

Bảo mật ứng dụng Android của bạn

Đọc về các mẹo bảo mật ở đây để xây dựng một vận dụng Android an toàn.

Xử lý rò rỉ bộ nhớ trong áp dụng Android

Để giải quyết rò rỉ bộ nhớ trong Android, trước nhất bạn cần tìm ra rò rỉ bộ nhớ ở đâu, để tầng dùng LeakCanary .
Kiểm soát thiết kế phần cứng

Là một nhà phát triển Android tài ba, bạn phải có quyền kiểm soát của áp dụng Android. Tham khảo ở đây.

Giảm kích tấc APK Trong Android

Đọc ở đây cách thức làm giảm kích tấc APK trong Android.

Biết về số liệu hiệu suất trong vận dụng Android

Chúng ta phải biết về các số liệu trong khi phát triển áp dụng Android là gì. Bằng cách này ta có thể theo dõi các vấn đề hiệu suất và sang sửa nó.

Đọc thêm tại đây.

Viết Blog về quá trình phát triển app Android của bạn

Đọc lý do vì sao chúng ta nên viết một blog.

Biết rõ về Git

rà soát các thủ thuật git phổ quát nhất tại đây .

Đóng góp cho các dự án mã nguồn mở

Tôi thích mã nguồn mở. Nó đã thực thụ giúp tôi rất nhiều để cải thiện bản thân mình. bởi vậy, hãy bắt đầu đóng góp cho project mã nguồn mở.

Biết về tích hợp liên ( Continuous Integration)

Tích hợp liên tục đảm bảo rằng code của bạn đang xây dựng trên một server không phải là máy của riêng bạn. sử dụng CI như Jenkins, Circle CI, Travis vv

Biết Làm thế nào để tạo các Nhiệm vụ Tùy chỉnh với công cụ Gradle Build Tool

Bạn có thể thử ở đây.

Học Kotlin

Bài hướng dẫn hoàn chỉnh để tìm hiểu về Kotlin cho quá trình phát triển Android.


Thứ Sáu, 26 tháng 1, 2018

Thiên tài 22 tuổi phát hiển ra lỗi chip lớn nhất trong lịch sử là ai?


Năm 2013, Jann Horn, một thanh thiếu niên, đã tham dự buổi tiếp đón tại Berlin do Chancellor Angela Merkel tổ chức. Anh và 64 người Đức khác cùng tham vào một cuộc thi của chính phủ nhằm khuyến khích sinh viên theo đuổi nghiên cứu khoa học.
Trong trường hợp của Horn, vào mùa hè năm ngoái, với tư cách là một nhà nghiên cứu cybersecurity của Google, anh đã báo cáo lỗi chip lớn nhất từng được phát hiện. Ngành công nghiệp vẫn còn choáng ngợp từ những phát hiện của anh, đồng thời đánh dấu cho việc các vi xử lý sẽ được thiết kế khác hẳn từ bây giờ.
Các cuộc phỏng vấn với Horn và những người biết anh ấy cho thấy chính sự quyết đoán và mạnh mẽ đã giúp anh phát hiện ra các sai sót trong cấu trúc của chip khiến cho hầu hết các máy tính cá nhân, internet server và điện thoại thông minh dễ dàng bị hack.
Các nhà nghiên cứu khác cũng tìm thấy những lỗ hổng bảo mật tương tự nhưng mất tới hàng tháng sau cả Horn. “Chúng tôi là một tổ chức và biết mình phải làm gì trong khi cậu ấy thì phải bắt đầu từ bàn tay trắng” – Ông Daniel Gruss, một thành viên của nhóm nghiên cứu thuộc Đại học Công nghệ Graz, Áo, cho biết.
Horn bạn đầu không hề có ý định tìm kiếm một lỗ hổng lớn trong chip máy tính, anh chỉ muốn đảm bảo rằng phần cứng máy tính có thể xử lý một số lượng đặc biệt các code ông đã tạo ra.
Tuy nhiên, nhờ váo đó mà anh vô tình phát hiện ra các lỗ hổng thiết kế vốn có thể khai thác bởi hacker để xâm nhập vào các hệ thống máy tính.
Vì vậy, anh bắt đầu quan sát chặt chẽ cách thức các chip thực hiện các hoạt động đầu cơ – một kỹ thuật nâng cao tốc độ, nơi mà bộ xử lý cố gắng đoán phần nào của code nó sẽ được yêu cầu để thực hiện tiếp theo và bắt đầu thực hiện các bước đó trước – cũng như tìm cách fetch dữ liệu cần thiết. Horn cho biết các hướng dẫn nói rằng nếu bộ xử lý đoán sai, dữ liệu từ những sai lầm này vẫn sẽ được lưu trữ trong bộ nhớ của chip. Horn nhận ra rằng, thông tin đó sẽ có thể bị rơi vào tay một hacker thông minh.
“Vào thời điểm này, tôi nhận ra rằng code chúng tôi đang làm việc với có thể sẽ dẫn rò rỉ dữ liệu bí mật”, Horn cho biết “Sau đó tôi nhận ra rằng điều này có thể – ít nhất là theo lý thuyết – ảnh hưởng trên qui mô rộng lớn hơn rất nhiều”
Ông Horn đã thảo luận với một nhà nghiên cứu trẻ khác tại Google ở ​​Zurich, Felix Wilhelm, người đã chỉ ra Horn cho những nghiên cứu tương tự mà ông và những người khác đã làm. Các kỹ thuật Wilhelm và những người khác đã được thử nghiệm, có thể “đảo ngược” để buộc các bộ vi xử lý để chạy các hành vi mới. Điều này sẽ lừa chip để lấy ra dữ liệu cụ thể mà tin tặc có thể truy cập vào được.
Horn đã thông báo với Intel vào ngày 1 tháng 6 về lổ hổng chip này và khiến các công ty công nghệ lớn nhất thế giới phải vất vả để vá các lỗ hổng bảo mật. Vào đầu tháng Giêng, khi Meltdown và Spectre được công bố với thế giới, hầu hết mọi người đều ca tụng Horn.
Wolfgang Reinfeldt, giáo viên khoa học máy tính trường cao Horn tại Caecilienschule, Đức, không ngạc nhiên bởi sự thành công của anh. “Cậu ý luôn là một cá nhân xuất sắc,” ông nói. Ngay từ nhỏ, Horn cũng đã thể hiện tài năng của mình khi tìm ra những vấn đề an ninh với mạng máy tính của trường mà chính cả Reinfeldt cũng không hề nhận ra.
 

Chuyên gia Cybersecurity, Bryant Zadegan và Ryan Lester, người đứng đầu công ty Cyph, đã gửi đơn xin cấp bằng sáng chế cùng với Horn vào năm 2016. Zadegan đã yêu cầu Horn, thông qua Cure53, kiểm tra dịch vụ của Cyph để kiểm tra các lỗ hổng. Các phát hiện của ông đã kết thúc như là một phần của bằng sáng chế và chứng tỏ sự quan trọng đến nỗi Zadegan cảm thấy Horn còn quí giá hơn là chính những phát hiện của họ. Công cụ mà họ đang xây dựng sẽ đảm bảo rằng, ngay cả khi các máy chủ chính của Cyph bị tấn công, dữ liệu cá nhân của người dùng cũng không bị lộ.
Trước đó, các nhà thử nghiệm thâm nhập của Cure53 đã nói về cái mà họ gọi là “hiệu ứng Jann” – hacker trẻ tuổi luôn có những cuộc tấn công cực kỳ sáng tạo. Meltdown và Spectre chỉ là hai ví dụ về sự sáng chói của Horn, theo Heiderich. “Anh ấy không phải là một kỳ diệu. Mà là người tạo ra chúng “
Sau hai năm tại Cure53 và hoàn thành chương trình đại học của mình, Horn đã được tuyển dụng bởi Google để làm việc trên Project Zero. Đó là một ngày buồn vui với Heiderich khi Horn yêu cầu ông viết thư giới thiệu cho mình. Ông nói: “Google là ước mơ của cậu ấy, và chúng tôi đã không ngăn cản nhưng thật đau khi để Horn ra đi.”
Với mái tóc màu nâu nhạt, da sáng, Horn đã nói với đám đông rằng sau khi thông báo cho Intel, anh đã không liên lạc với công ty trong nhiều tháng cho đến khi nhà sản xuất chip này gọi Horn vào đầu tháng 12 để nói rằng các chuyên gia an ninh khác cũng đã báo cáo những lỗ hổng tương tự. Aaron Spin, người phát ngôn của Google, có một lời bình khác: “Horn và Project Zero đã liên lạc với Intel thường xuyên sau khi Horn báo cáo vấn đề này.”
Khi một nhà nghiên cứu hỏi ông về một khía cạnh khác của thiết kế vi xử lý mà có thể dễ bị tấn công, Horn nói, với một nụ cười ngắn gọn: “Tôi cũng có nghĩ về nó rồi nhưng vẫn chưa kiểm tra kĩ”

Thứ Ba, 9 tháng 1, 2018

Java dù được sửa lỗi vẫn chưa an toàn

'Giải cứu' 15 cá thể giội Đào tạo Java Java quý hiếm

I. Chiêm ngưỡng bộ xương tê ngưu Java rốt cục của Việt Nam

Theo thống kê trên thế giới có 3,8 tỷ thiết bị vận dụng Java, hơn 5 triệu nhà phát triển Java, hơn 180 ứng dụng Java trong ngành vận tải, hơn 1,2 tỷ điện thoại ứng dụng Java, hơn 2 tỷ thẻ Java, khoảng 800 triệu máy tính cá nhân chủ nghĩa, hơn 1. Công ty Cổ phần Truyền thông Việt Nam (VCCorp) hiện cần tuyển lập trình viên PHP và 02 lập trình viên Java cho các dự án. Môi trường sống của loài động vật quý hiếm này còn bị đe dọa bởi thiên tai. Thậm chí không ít trường hợp “ăn cắp đề tài nên chất lượng rất thấp” (theo PGS TS Vũ Như Khôi, Viện nghiên cứu quân sự Bộ Quốc phòng).

Đầu vào của thạc sĩ thi như vậy mà đầu ra thì theo Bộ GD-ĐT, luận văn thạc sĩ của một số cơ sở đạt loại xuất sắc đến 90%! Thí sinh chỉ cần “năng đến nhà thầy” thì nhận được điểm như ý muốn. Đối tác không được phép là vợ hay chồng của người đó. Ông Trần Quang Phương, Quản lý CPCP cho biết trong thông cáo của tổ chức này phát đi hôm nay, giội Java sau khi được thu nhận cứu hộ từ các vụ vận chuyển buôn bán trái phép thường đã bị mất nước, đặc biệt là bị đói, mang mầm bệnh và các vết thương do bị bẫy bắt. Ngày 10/8, sau hơn một tháng được chăm chút và bình phục tại Chương trình bảo tàng thú ăn thịt và giội (CPCP), một chương trình kết hợp hoạt động giữa Vườn Quốc gia Cúc Phương và trọng điểm Nghiên Cứu và Bảo tồn Động vật hoang dại (Save Vietnam’s Wildlife), 20 cá thể tê tê Java đã được được trả về thiên nhiên. vn Mobile: 0944 264 412 - Hạn nộp hồ sơ: 30/08/2011. Tuy nhiên, con số này chỉ chiếm một phần rất nhỏ trong tổng số các trường hợp buôn bán tê tê trái phép bị bắt giữ ở Việt Nam.

II. Java Green Alpina B7 cho những khách hàng thích sự 'phá cách'

Trước đó, hãng phần mềm Oracle đã phải cấp tốc phát hành bản vá lỗi cho nền móng Java của mình vào ngày 19/2 vừa qua, sau khi hàng loạt lỗ hổng bảo mật nghiêm trọng ảnh hưởng đến hàng tỷ người dùng máy tính bị phát hiện trên nền móng này. Thực ra, những năm trước bác sỹ đã kết luận chị ấy không nên sinh con. Mời các bạn thưởng thức video clip Crazy của nữ ca sĩ xứ Hàn Lee Jung Hyun: Tối 21/5, Lee Jung Hyun biểu diễn ca khúc Crazy và Vogue It Girl trong chương trình MNet Countdown Lee Jung Hyun của những năm trước đây. Nhằm giáo dục và nâng cao tinh thần bảo vệ nguồn tài nguyên động vật rừng cho thế hệ trẻ, bảo tồn Vườn nhà nước Cát Tiên vừa cho trưng bày bộ xương con tê ngưu cuối cùng ở Việt Nam. Trong khi đó, một nguồn tin khác lại khẳng định rằng bản vá lỗi của Oracle có thể tạm ngưng các cuộc tấn công lại. Con tê tê này sẽ được theo dõi khoảng 10 tháng hoặc cho đến khi thiết bị theo dõi gắn trên nó ngừng hoạt động.

Người dùng có thể download các bản vá lỗi tại website Java. Khi con tê ngưu Java rút cục ở Việt Nam không còn, để giáo dục và nâng cao ý thức bảo vệ nguồn tài nguyên động vật rừng cho đời trẻ, bảo tàng Vườn Quốc gia Cát Tiên vừa cho trưng bày bộ xương con tê ngưu này. Các hacker đã sử dụng trojan có tên Mal/JavaJar-B để vỡ hoang lỗ hổng này. Các chuyên gia bảo mật ước lượng hiện Java đang được dùng trên khoảng 3 tỷ thiết bị, trong đó có 2 tỷ máy tính bàn hoặc laptop.Theo Arie Ahsannurrohim, Giám đốc Truyền thông của sân bay quốc tế Ngurah Rai, Bali, Indonesia, số lượng hành khách tới đây vẫn ổn định, khoảng 50. Vụ phun trào này được gọi là Lusi.

III. VNPT Technology tuyển dụng kỹ sư lập trình Java

thành ra Moore cho rằng không gì an toàn hơn là nên loại bỏ Java ra khỏi máy tính người dùng. Nền Java cải tiến này dùng giao thức CDC (Connected Device Configuration), giúp người dùng linh hoạt hơn khi dùng. lợi quyền ứng viên:- Được làm việc trong môi trường năng động, nhiều thử thách, có dịp được đào tạo nâng cao nghiệp vụ thẳng thớm;- Được cung cấp các trang thiết bị đương đại, laptop, máy tính cá nhân chủ nghĩa. Vụ phun trào bùn lớn nhất thế giới Phun trào bùn xảy ra trên đảo Java. Đây là một trong những loài động vật có vú bị khai hoang nhiều nhất ở Đông Nam Á. B7 được trang bị hộp tự động.

Theo số liệu mới nhất của UBKH-CN&MT của Quốc hội, Việt Nam có hàng ngũ 5 vạn người đang làm việc trực tiếp trong 1. Những ngày này ở Hồng Kông, người đẹp Hương Giang đã chơi rất thân với người đẹp đến từ Nhật Bản, cô bạn này năm nay vừa tròn 16 tuổi, “rất trẻ nít và dễ thương”- theo lời Giang kể. Theo các nhà phân tách, nếu các vấn đề bảo mật trên Java không được quan tâm đúng mức, các lập trình viên có thể sẽ đẩy nhanh hơn quá trình “tẩy chay” Java. Theo HD Moore, Giám đốc của công ty chuyên tham mưu bảo mật Rapid7, hiện Oracle phải mất đến 2 năm mới có thể khắc phục hết tất tật những lỗ hổng bảo mật được nhận mặt trên plugin Java đang được dùng cho trình duyệt web. Tuy nhiên, theo ghi nhận của 2 website việc làm này, cùng một vị trí nhưng các công ty vẫn xếp hạng bậc lương tùy vào kinh nghiệm, nên không có nghĩa khi đổi thay vị trí sẽ nhận ngay được mức lương cao đột biến như trên. Happily N'Ever After là câu chuyện hí hước và mới lạ về nàng Lọ lem trong tryện cổ tích của anh em nhà Grimm.

Thứ Ba, 2 tháng 1, 2018

Blockchain không chỉ là nền tảng của tiền ảo, bạn còn cần phải biết 7 ứng dụng Blockchain dưới đây

Khi mới học về blockchain, nhiều người sẽ nghĩ rằng vận dụng duy nhất của nó là dành cho các dịch vụ tài chính. tuy thế, bolckchain còn có ảnh hưởng lớn hơn rất nhiều với khả năng đổi thay cả bộ mặt của ngành tài chính.

Hỗ trợ thương nghiệp

Rất nhiều hoạt động kinh doanh can dự đến xuất khẩu và du nhập hàng hoá khác nhau. Để duy trì hồ sơ của hàng hoá đó là một công việc khôn cùng phức tạp dù có là bằng tay hoặc thậm chí là với cả sự giúp sức từ máy tính – bởi do bất cứ ai cũng có khả năng sửa đổi. Do đó mà blockchain sẽ trở thành một giải pháp vô cùng ăn nhập.

Buôn bán

Ngành thương mại là một hoạt động phức tạp khác dựa trên việc duy trì sổ sách cho mỗi giao tế trong khi kinh doanh.Do đó, blockchain tự động hóa quy trình và lưu trữ hồ sơ cho nhu cầu ngày nay và mai sau mà không hề có bất kỳ sự tội lỗi nào. Như vậy, trong mai sau sẽ càng có nhiều công ty phụ thuộc vào blockchain là điều dễ hiểu.

Các giao thiệp xuyên biên cương

Các giao thiệp xuyên biên thuỳ cũng chính là các giao thiệp ngoại hối. ngày nay nó hoạt động với sự trợ giúp của các tài khoản Nostro / Vostro. Nostroi có tức thị trương mục của chúng ta, nơi mà ngân hàng trong nước mở một tài khoản tại nhà băng nước ngoài. Vostro có nghĩa tên được các ngân hàng nước ngoài dùng để ám chỉ trương mục của bạn. Để chuẩn hóa các giao thiệp như vậy, và giữ hồ sơ đúng – Blockchain chính là biện pháp xử lý tốt nhất.

Bảo hiểm

Blockchain có vai trò rất lớn trong ngành bảo hiểm. Bởi việc xử lý khiếu nại từ khách hàng vì những lý do riêng biệt là một công việc thực thụ rất khó khăn. Trong khi đó, Blockchain giúp đơn giản hóa các task phức tạp như vậy và giúp ngành Bảo hiểm thực hành khiếu nại mà không có bất kỳ sai sót nào. Nhờ thế mà giúp tăng sự tin tức của khách hàng.

Chính phủ

Có những nhiệm vụ thực thụ khó khăn mà chính phủ cần phải giải quyết cho nhu cầu của người dân. ngoại giả, các kế hoạch được đưa ra luôn phải có danh sách giao tế thích hợp, để có thể giúp họ tối ưu hoá các nguồn lực và tự động hóa việc ra quyết định. Nói cách khác, blockchain chính là giải pháp tót vời cho những tình huống trên.

Trông nom sức khỏe

săn sóc sức khỏe cũng là một trong những ngành công nghiệp quan trọng của người dân. Do đó, nó cần duy trì các hồ sơ y tế một cách hiệu quả và an toàn. Đối với Blockchain, đây là một nhiệm vụ không có gì dễ hơn.

Internet of Things

IoT là một trong những chủ đề công nghệ được nói đến nhiều nhất trong các vận dụng trực tuyến. Đối với hệ thống như vậy, nó sẽ cần phải bảm đảm các giao du khác nhau có thể diễn ra giữa các thiết bị cũng như biên chép dữ liệu chuẩn xác. Nói cách khác, hệ thống phải được an toàn và tự động hóa. Blockchain chính là một trong những tốt nhất để thực hiện điều này.

Khóa học Tester