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. ... »
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. ... »
Play Framework là một trong những framework tốt nhất để có thể build một ứng dụng Web Application với ngôn ngữ Java hoặc Scala. Chúng ta hãy cùng tìm hiểu tổng quan và cách cài đặt nó. ... »
Ở 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) ... »
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 ... »
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à ... »