Chuyển đến nội dung chính

Bài đăng

Effective Java 02 - Consider a builder when faced with many constructor parameters

 Khi một Object có thể được tạo từ nhiều attributes khác nhau thì chúng ta nên consider sử dụng Builder Pattern thay cho Static factories hoặc Constructors . Ví dụ sử dụng Builder Pattern: // Builder Pattern public class NutritionFacts { private final int servingSize ; private final int servings ; private final int calories ; private final int fat ; private final int sodium ; private final int carbohydrate ; public static class Builder { // Required parameters private final int servingSize ; private final int servings ; // Optional parameters - initialized to default values private int calories = 0 ; private int fat = 0 ; private int sodium = 0 ; private int carbohydrate = 0 ; public Builder ( int servingSize , int servings ) { this . servingSize = servingSize ; this . servings = servings ; } public Builder calories ( int val ) { calories = val ; retu...
Các bài đăng gần đây

Effective Java 01 - Consider static factory methods instead of constructors

Ở bài viết này, chúng ta sẽ bàn về cách để tạo Object trong Java. Để tạo mới một Object trong Java thì cách truyền thống là provide một public constructor và sử dụng keyword new ở client. Có một cách khác mà chúng ta nên biết và consider để sử dụng thay cho cách truyền thống đó là provide static factory methods . Vậy ưu điểm và nhược điểm của static factory methods là gì, chúng ta sẽ cùng tìm hiểu trong bài viết này. Cách truyền thống: Provide a public constructor Ví dụ: Class Student.java public class Student { private long id ; private String name ; public Student ( long id , String name ) { this . id = id ; this . name = name ; } } Client có thể tạo instance bằng cách sử dụng new keyword: Student student = new Student ( 1 , "Nguyễn Văn A" ); Sử dụng Static Factory Methods Ví dụ: Class Student.java public class Student { private long id ; private String name ; private Student ( long id , Strin...

CS-101 Network

Network là gì? Trong bài viết này chúng ta sẽ tìm hiểu các kiến thức về mạng căn bản như LAN, IP Address, Internet - TCP/IP Standards. Khái niệm về Network? Network là một tập hợp các máy tính, server, mainframe, thiết bị mạng, thiết bị ngoại vi hoặc các thiết bị khác được kết nối để cho phép chia sẻ dữ liệu, trao đổi tệp và giao tiếp với nhau. Hiểu đơn giản là các thiết bị được kết nối để cho phép chia sẻ dữ liệu với nhau được gọi là network (mạng). LAN (Local Area Network) Có thể giải thích một cách dễ hiểu:      Network ➡ tập hợp các thiết bị được kết nối để cho phép chia sẻ dữ liệu với nhau.      Local Area ➡ khu vực nội bộ (khu vực địa lý giới hạn như văn phòng, quán cafe, trong nhà,...) Ví dụ:      Trong một phòng máy tính ở trường, các máy tính kết nối với nhau để chia sẻ dữ liệu (gửi file, chơi game,...) được gọi là một mạng LAN.     Trong văn phòng công ty, các máy tính cũng được kết nối với nhau để chia sẻ dữ liệu cũng đượ...

CS-101 How does a Program Run?

 Chương trình máy tính "chạy" như thế nào? Là một Software Engineer - người thiết kế và phát triển chương trình phần mềm đòi hỏi bạn phải biết một phần mềm hoạt động một cách cơ bản như thế nào. Chúng ta sẽ lần lượt qua các giai đoạn mà một phần mềm (ví dụ cụ thể là một chương trình máy tính) hoạt động, từ lúc khởi chạy đến khi kết thúc. Làm sao để khởi chạy chương trình? Để khởi chạy chương trình bạn cần mở file có extension là .exe trên Windows hoặc .app trên macOS. Ngay sau khi file được mở, chương trình sẽ được khởi chạy trên máy tính và bạn có thể thao tác với nó. Vậy file có đuôi .exe/.app chứa thông tin gì, tại sao nó lại khởi chạy được chương trình?      File .exe/.app is mostly the bytes of machine code instructions. Nghĩa là nó chứa các lệnh chỉ dẫn máy tính ( instruction ) thực thi dưới dạng byte. Thường thì một lệnh chỉ dẫn sẽ gồm 4 bytes. Như vậy có thể hiểu một chương trình máy tính là tập hợp các câu lệnh thực hiện một tác vụ cụ thể khi được máy tính t...

CS-101 Hardware

Phần cứng - hardware  - Tại sao máy tính chỉ hiểu được 0 và 1?  - CPU, GPU, RAM, Disk, Flash trong máy tính là gì?  - Tại sao thiết bị phần cứng ngày càng nhỏ gọn và rẻ hơn? Phần cứng gồm 2 thành phần chính, đó là transitor và silicon chip.      1. Transistor - Có thể nói transistor là một đơn vị (unit) nhỏ nhất của thiết bị điện tử có khả năng bật/tắt tín hiệu điện (electric signal). 👉 bật/tắt tương ứng 1/0      2. Silicon chip - Lưu ý: Silicon không phải là  Silicone   (polymer tổng hợp). - Silicon chip chứa hàng tỷ transistors . - Được đóng gói (package) trong vỏ nhựa plastic: ví dụ như CPU chip, memory chip, flash chip,... Phần cứng trong máy tính 1. CPU (Central Processing Unit) - Là bộ não của máy tính, theo dõi (follow) các dòng lệnh (instruction) trong code và thực thi chúng (tham khảo bài viết cách chương trình phần mềm "chạy"). - Mỗi lần CPU thực thi một "phép tính" được gọi là 1 operation (clock cycles). Trên C...