Tác giả: T.M.L

Blockchain bằng ngôn ngữ Go - 2nd Step: Proof of Work

Blockchain bằng ngôn ngữ Go - 2nd Step: Proof of Work

Series lập trình blockchain với Go Block và blockchain sơ khai Lời mở đầu Trong bài viết đầu tiên của series về lập trình blockchain sử dụng ngôn ngữ Go, ta đã tạo được một data structure cơ bản cho blockchain của mình, đồng thời cũng implement các tính năng để các block mới có thể được add thêm vào chain. Tuy nhiên, khác với các blockchain hoàn chỉnh, hiện tại ở blockchain của chúng ta, các block được thêm vào 1 cách quá dễ dàng, không tốn công sức gì cả. Bài viết này sẽ giới thiệu bước tiếp ... »

Blockchain bằng ngôn ngữ Go - 1st Step: Block và Blockchain sơ khai

Blockchain bằng ngôn ngữ Go - 1st Step: Block và Blockchain sơ khai

Trong các bài viết trước trên blog của Vietnam Lab Center, đã có khá nhiều bài viết giới thiệu về blockchain và tiền ảo. Lần này với mục đích hiểu thêm về blockchain và đồng thời học thêm một ngôn ngữ mới là Go, người viết quyết định dịch (có biến tấu) một series bài viết về chủ đề lập trình Blockchain bằng ngôn ngữ Go và giới thiệu trên blog Vietnam Lab. Phần đầu tiêu của loạt bài viết sẽ giới thiệu qua về ngôn ngữ Go, đồng thời khởi tạo code ban đầu cho dự án. Link cho ... »

Giới thiệu cơ bản về ngôn ngữ Julia

Giới thiệu cơ bản về ngôn ngữ Julia

Lời nói đầu: Why Julia? Julia là một ngôn ngữ lập trình được công bố với thế giới vào đúng ngày Valentine năm 2012 với mục đích sử dụng chính trong lĩnh vực tính toán khoa học (scientific computing). Nhiều người sẽ thắc mắc là sự ra đời của một ngôn ngữ mới có thật sự cần thiết khi đã có rất nhiều ngôn ngữ đã và đang được sử dụng thành công trong lĩnh vực này như C, C++, Fortran, Matlab, R và gần đây là Python, tuy nhiên C, C++, Fortran: Tốc độ nhanh nhưng quá low level, ... »

Viết Unit Test cho chương trình PySpark

Viết Unit Test cho chương trình PySpark

Một số bài viết trước trên blog VietnamLab đã giới thiệu về Apache Spark, một framework rất mạnh phục vụ cho việc tính toán phân tán, đồng thời cũng hỗ trợ rất nhiều các thuật toán Machine Learning. PySpark là giao diện Python hỗ trợ việc viết chương trình Spark sử dụng ngôn ngữ Python (dễ học và dễ dùng hơn nhiều so với Scala). Tuy nhiên việc viết Unit Test tưởng chừng như rất đơn giản đối với các chương trình Python thì lại khá phức tạp và rắc rối đối với các chương trình PySpark (do bản chất ... »

Sử dụng PySpark để cập nhật dữ liệu cho bảng có cấu trúc nested trên Hive

Sử dụng PySpark để cập nhật dữ liệu cho bảng có cấu trúc nested trên Hive

Trong quy trình xử lý big data hiện tại, Spark và Hive thường được sử dụng chung với nhau: Spark đóng vai trò là engine xử lý data Hive là datawarehouse lưu trữ dữ liệu đã xử lý từ Spark Thông thường, việc cập nhật dữ liệu từ Spark vào bảng trên Hive khá đơn giản, chỉ mất 1 vài dòng code, tuy nhiên trong trường hợp khi bảng trên Hive có cấu trúc phức tạp như 1 trường có cấu trúc nested thì việc xử lý sẽ cần tốn công một chút. Bài viết này sẽ cung cấp 2 ... »

Lập trình BloomFilter sử dụng Scala

Lập trình BloomFilter sử dụng Scala

Ở bài blog trước, chúng ta đã tìm hiểu các khái niệm cơ bản về Bloom Filter (Giới thiệu về Bloom Filter), ở bài blog lần này, ta sẽ sử dụng Scala để lập trình 1 Bloom Filter đơn giản sử dụng 2 hàm hash là  MurmurHash và hàm hashCode của mỗi object của Scala. Trước tiên là khung của class BloomFilter và companion object cho class này class BloomFilter[A](val length: Int, val numHash: Int) { def this(length: Int) = this(length, 3) private val bitArr = new util.BitSet(length) } object BloomFilter { def apply[A](length: Int, numHash: Int) ... »

Giới thiệu về Bloom filter

Giới thiệu về Bloom filter

Bloom filter là gì? Bloom filter là 1 cấu trúc dữ liệu xác suất dùng để check xem 1 phần tử có thuộc 1 tập dữ liệu hay không một cách nhanh chóng và tiết kiệm bộ nhớ. Bloom filter chỉ hỗ trợ 2 phương thức tương tác là: Test: Test xem 1 phần tử có thuộc 1 tập dữ liệu đã add vào bloom filter hay không. Nếu kết quả trả về là “không” thì kết quả này chính xác 100%. Tuy nhiên khi kết quả trả về là “có” thì xác suất kết quả này không chính xác ... »

Lập trình bất đồng bộ trong Scala với Future

Lập trình bất đồng bộ trong Scala với Future

Scala có thể sử dụng được tất cả các thư viện của Java nên ta hoàn toàn có thể sử dụng các tính năng về lập trình song song của Java (Thread, Runnable…) để phục vụ cho việc xử lý bất đồng bộ khi code Scala. Tuy nhiên, bản thân Scala cũng có những tính năng phục vụ riêng cho việc lập trình bất đối xứng với API ở mức abstract hơn, đồng thời dễ dàng tích hợp với các API mà Scala cung cấp. Một tính năng có sẵn trong standard library của Scala là Future, ngoài ra còn ... »