Key words:scala

Thao tác với JSON trong Scala với spray-json

Thao tác với JSON trong Scala với spray-json

JSON là định dạng khá quen thuộc với bất cứ developer nào khi phải lập trình với API. Đây là một định dạng khá phổ biến, cấu trúc dễ đọc, gọn nhẹ. Các ngôn ngữ lập trình đều có ít nhiều các thư viện hỗ trợ việc Parse hoặc Generate ra JSON. ... »

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) ... »

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 ... »

Tìm hiểu về Implicit trong Scala

Tìm hiểu về Implicit trong Scala

Với nhiều bạn mới tìm hiểu về Scala thì đọc code trong một số thư viện hoặc chương trình opensource thì sẽ thấy xuất hiện rất nhiều keyword implicit. Vậy implicit là gì, đóng vai trò gì trong ngôn ngữ Scala. Chúng ta hãy cùng điểm qua 2 khái niệm implicit thông dụng và thường gặp nhất trong Scala 1. Implicit parameter Chúng ta hãy cùng thử xem xét đoạn code sau: def payLoan(amount: Float)(implicit interestRate: Float): Float = amount + amount * interestRate payLoan(2201100)(3.0F) // Success payLoan(2201100) // Will cause error Ai cũng dễ dàng đoán được là ... »