Mượn câu nói kinh điển dành cho những người biết được tầm giá trị của việc đọc “Đọc sách là đứng trên vai người khổng lồ”. Trong giới công nghệ, cũng có không ít kẻ khổng lồ. Để trở thành một lập trình viên giỏi hay một nhà lập trình vĩ đại thì khả năng tự học đóng một vai trò rất quan trọng. Một trong những nguồn tài liệu quý giá giúp bạn tự học và trau dồi kiến thức …
Author: Phan Cong Chinh
Làm việc nhóm có thể hiểu một cách đơn giản là nhiều người cùng nhau kết hợp để thực tốt một nhiệm vụ hướng tới một mục tiêu chung. Cách làm việc này sẽ giúp các cá nhân bổ sung những thiếu sót cho nhau và hoàn thiện bản thân.Trong quá trình học tập, sinh viên chúng mình thường xuyên làm việc nhóm. Vậy:Làm sao để công việc của nhóm đạt hiệu quả cao nhất?Các thành viên phải có kỹ …
Nhà vật lý đoạt giải Nobel Richard Feynman (1918–1988) là một chuyên gia ghi nhớ những gì ông đã đọc. Bill Gates đã áp dụng thành công công thức của Feynman đến mức ông đặt tên cho Feynman là “người thầy vĩ đại nhất mà tôi từng có”. Sách giúp bạn tiếp cận với những bộ não thông minh nhất. Học hỏi từ những nhà tư tưởng vĩ đại nhất là con đường nhanh chóng để bạn đạt được sức …
KN ôn bài là hoạt động có ý nghĩa quan trọng trong việc chiếm lĩnh kiến thức bài giảng của GV. Đó là hoạt động tái hiện bài giảng như xem lại bài ghi, mối quan hệ giữa các đoạn rời rạc, bổ sung bài ghi bằng những thông tin nghiên cứu được ở các tài liệu khác, nhận diện cấu trúc từng phần và toàn bài. Ban đầu, việc tái hiện bài giảng của SV dựa vào những biểu …
NEW : Đây là trạng thái khi luồng vừa được khởi tạo bằng phương thức khởi tạo của lớp Thread nhưng chưa được start(). Ở trạng thái này, luồng được tạo ra nhưng chưa được cấp phát tài nguyên và cũng chưa chạy. Nếu luồng đang ở trạng thái này mà ta gọi các phương thức ép buộc stop,resume,suspend … sẽ là nguyên nhân sảy ra ngoại lệ IllegalThreadStateException . RUNNABLE : Sau khi gọi phương thức start() thì luồng test đã được …
Trong quá trình tự học của SV, đọc sách được coi là khâu quan trọng đầu tiên giúp SV tiếp thu tri thức và phát triển phương pháp tự học hiệu quả. Đọc sách cũng cần xác định mục tiêu cho chính mình như đọc sách gì?liên quan đến chuyên ngành của mình như thế nào? mục đích của việc đọc sách này là gì? chúng có giúp giải quyết vấn đề mình đang tìm kiếm hay không? Tự đặt …
Ưu điểm của đa luồng Nó không chặn người sử dụng vì các luồng là độc lập và bạn có thể thực hiện nhiều công việc cùng một lúc. Mỗi luồng có thể dùng chung và chia sẻ nguồn tài nguyên trong quá trình chạy, nhưng có thể thực hiện một cách độc lập. Luồng là độc lập vì vậy nó không ảnh hưởng đến luồng khác nếu ngoại lệ xảy ra trong một luồng duy nhất. Có thể thực …
Tự học là một quá trình khó và cũng không quá khó. Khó vì phải luôn tự giác để đảm bảo tiến độ tự học được duy trì, được lặp đi lặp lại liên tục để tạo thành một thói quen. Không quá khó nếu như bản thân có ý chí, nhu cầu tự học cao kèm theo KN lập kế hoạch và KN quản lý thời gian hiệu quả. Đối với bất kì ai muốn việc học thật sự …
Lập trình đa luồng trong Java (Java Multi-threading) Đăng vào 12/02/2018 Được đăng bởi GP Coder 47271 Lượt xem Nội dung [Ẩn] 1 Giới thiệu 1.1 Thread là gì? Multi-thread là gì? 1.2 Đa nhiệm (multitasking) 1.3 Ưu điểm của đa luồng 1.4 Nhược điểm của đa luồng 2 Vòng đời (các trạng thái) của một Thread trong java 3 Cách tạo luồng trong Java 3.1 Tạo luồng bằng cách extend từ lớp Thread 3.2 Tạo luồng bằng cách implement từ Interface Runnable 3.3 Khi nào implements từ interface Runnable? 3.4 Ví dụ minh họa sử dụng …
KN ghi chép ngoài lớp học gắn bó chặt chẽ với KN đọc sách vì nếu đọc mà không ghi chép thì gần như các thông tin đã học sẽ dần biến mất khỏi trí não. Việc ghi chép giúp chúng ta nhớ lại thông tin tốt hơn. Trí óc sẽ lưu giữ tất cả những gì nhìn thấy, nghe thấy và cảm thấy. Bộ nhớ của con người hoàn thiện như một chiếc máy vi tính. Thủ thuật ghi …
Thread (luồng) về cơ bản là một tiến trình con (sub-process). Một đơn vị xử lý nhỏ nhất của máy tính có thể thực hiện một công việc riêng biệt. Trong Java, các luồng được quản lý bởi máy ảo Java (JVM). Multi-thread (đa luồng) là một tiến trình thực hiện nhiều luồng đồng thời. Một ứng dụng Java ngoài luồng chính có thể có các luồng khác thực thi đồng thời làm ứng dụng chạy nhanh và hiệu quả hơn. VD: …
1. Độ ưu tiên, độ cụ thể là gì? Nếu có hai hoặc nhiều quy tắc CSS xung đột trỏ đến cùng một phần tử, trình duyệt sẽ tuân theo một số quy tắc để xác định quy tắc nào cụ thể nhất và do đó nó sẽ dùng quy tắc đó. Hãy nghĩ về tính cụ thể như một điểm số / thứ hạng khi khai báo những style nào cuối cùng, nó sẽ được áp dụng cho phần …
1. Cấu hình Git Cấu hình GitLấy và đặt các biến cấu hình để kiểm soát tất cả các khía cạnh của giao diện và hoạt động của Git.Đặt tên:git config –global user.name “Tên người dùng”Đặt email:git config –global user.email “cafedevn@gmail.com”Đặt trình soạn thảo mặc định:git config –global core. editor VimKiểm tra cài đặt:git config -list Git AliasThiết lập bí danh cho mỗi lệnh:git config –global alias.co checkoutgit config –global alias.br branchgit config –global alias.ci commitgit config –global alias.st status 2. …
Cả hai Dependency Injection (DI) và Service Locator (SL) đều tuân theo DIP principle. Nó giúp chúng ta tạo ra ứng dụng ít kết dính, dễ hiểu, dễ viết test, dễ mở rộng, bảo trì. Sự khác biệt giữa DI và SL: Sự khác biệt chủ yếu giữa DI và SL là cách cài đặt (implement) để cung cấp một thể hiện cho các lớp của ứng dụng. DI sử dụng một builder object để khởi tạo các đối tượng và cung cấp (inject) các phụ …
Cả hai Dependency Injection (DI) và Factory đều nhằm mục đích cung cấp một cách tiện lợi cho việc tạo một thể hiện của một class. Hai Pattern này đều dựa trên quy tắc “lập trình cho interface chứ không phải để implement interface đó”. Một vài khác biệt chủ yếu giữa DI và Factory Pattern là: DI giúp chúng ta tạo ra ứng dụng ít kết dính, với Factory Pattern mỗi class có một dependency với Factory method. Sử dụng Factory Pattern khó khăn khi viết Unit test …
Dependency Injection (DI) có nhiều ưu điểm hơn Singleton, ở một số ý sau: Dễ dàng thay thế: Singleton thì lúc nào cũng chỉ có thể truy xuất 1 Object duy nhất, không thay thể bằng cái khác được. Với DI có thể thay thế bằng object khác tại thời điểm run-time. Linh hoạt: Singleton thì luôn chỉ có một Object. Với DI có thể dùng riêng từng thể hiện cho mỗi Object hoặc một thể hiện dùng chung cho nhiều Object. Kế thừa: Singleton thì không thể thừa kế. Với DI thì …
I. TypeScript là gì ? – Typescript là một dự án mã nguồn mở được Microsoft phát triển, được xem là một phiên bản nâng cao của Javascript. – TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript. II. Sự khác biệt của TypeScript so với JavaScript. Static Typing: Mỗi biến trong TS có 1 kiểu biến cố định liên kết với nó. Kiểu của biến được kiểm tra lúc complie-time và trình biên …
Lập trình hướng đối tượng (𝗢𝗯𝗷𝗲𝗰𝘁 𝗢𝗿𝗶𝗲𝗻𝘁𝗲𝗱 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 – 𝗢𝗢𝗣) là một trong những kỹ thuật lập trình rất quan trọng và sử dụng nhiều hiện nay. Hầu hết các ngôn ngữ lập trình hiện nay như Java, PHP, .NET, Ruby, Python… đều hỗ trợ 𝐎𝐎𝐏. Vậy 𝗹𝗮̣̂𝗽 𝘁𝗿𝗶̀𝗻𝗵 𝗵𝘂̛𝗼̛́𝗻𝗴 đ𝗼̂́𝗶 𝘁𝘂̛𝗼̛̣𝗻𝗴 𝗹𝗮̀ 𝗴𝗶̀? 𝗩𝗮̀ 𝗰𝗮́𝗰 𝗻𝗴𝘂𝘆𝗲̂𝗻 𝗹𝘆́ 𝗰𝗼̛ 𝗯𝗮̉𝗻 𝘁𝗿𝗼𝗻𝗴 𝗢𝗢𝗣 𝗰𝗮̂̀𝗻 𝗯𝗶𝗲̂́𝘁 𝗹𝗮̀ 𝗴𝗶̀?𝗟𝗮̣̂𝗽 𝘁𝗿𝗶̀𝗻𝗵 𝗵𝘂̛𝗼̛́𝗻𝗴 đ𝗼̂́𝗶 𝘁𝘂̛𝗼̛̣𝗻𝗴 (𝗢𝗢𝗣) 𝗹𝗮̀ 𝗴𝗶̀ ?Lập trình hướng đối tượng (OOP) là …
Chuẩn hóa Chuẩn hóa là một kỹ thuật giúp người thiết kế nhóm các dữ liệu và đặt chúng trong các bảng phù hợp. Do vậy việc chuẩn hóa một CSDL là hết sức quan trọng trước khi ta bắt đầu làm việc với nó. Các dạng chuẩn có những quy tắc chỉ rõ các yêu cầu tạo một CSDL quan hệ. Dạng chuẩn 1 (1NF): Bảng dữ liệu thỏa mãn các đặc tính của một quan hệ (relation) được …
MQTT là gì? MQTT (Message Queuing Telemetry Transport) là một giao thức nhắn tin tiêu chuẩn OASIS cho Internet of Things (IoT). Nó được thiết kế như một phương tiện truyền tải tin nhắn publish/subscribe (xuất bản/đăng ký) cực kỳ nhẹ, lý tưởng để kết nối các thiết bị từ xa với băng thông mạng thấp. MQTT ngày nay được sử dụng trong nhiều ngành công nghiệp, chẳng hạn như ô tô, sản xuất, viễn thông, dầu khí, v.v. MQTT …
+Mở đầu về modul2 học về web và giao thức http mình cũng đi tìm hiểu chút về các giao thức. +Trước khi tới http mình lại phải quay lại tìm hiểu chút OSI. +Mô hình kết nối các hệ thống OSI là mô hình căn bản về các tiến trình truyền thông, thiết lập các tiêu chuẩn kiến trúc mạng ở mức Quốc tế, là cơ sở chung để các hệ thống khác nhau có thể liên kết và …
Các trang web được xem bằng cách sử dụng một chương trình phần mềm được gọi là trình duyệt web. Phần mềm duyệt web chạy trên máy tính xách tay hoặc điện thoại thông minh của bạn giống như phần mềm Excel hoặc Photoshop. Trình duyệt web tải xuống nội dung qua mạng Internet. Trình duyệt web có thể tải xuống và truyền trực tuyến các file như văn bản , hình ảnh, pdf, phim và nhạc. Các file này …
Abstract class: Lớp trừu tượng đơn giản được xem như một class cha cho tất cả các Class có cùng bản chất. Do đó mỗi lớp dẫn xuất (lớp con) chỉ có thể kế thừa từ một lớp trừu tượng bằng từ khóa extends. Lớp con kế thừa từ lớp trừu tượng có thể override các phương thức trừu tượng trong đó. Lớp trừu tượng có thể khai báo các thuộc tính và các phương thức bình thường và không …
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ điều hành. Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và của việc phát triển mã nguồn mở. Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách hăng say trong vòng 3 …
Các thế hệ trước của công nghệ Blockchain 4.0 Có một vài điểm tốt nhất như tính bảo mật cao, hệ thống lưu trữ tự động cùng tính bất biến (không thể sửa đổi) khi lưu giữ thông tin, phù hợp với các ứng dụng trong việc thanh toán hóa đơn hay tiền lương. Tuy vậy, chúng cũng có không ít điểm không đẹp, điển hình như tốc độ xử lí chậm, thiếu nguồn nhân công chất lượng cao để …
Khi áp dụng kỹ thuật Dependency Injection, thì một vấn đề khác nảy sinh là làm thế nào chúng ta biết được một lớp sẽ phụ thuộc vào những lớp nào để khởi tạo nó. Để giải quyết điều này, người ta nghĩ ra Dependency Injection Container hay còn gọi là Inversion of Control Container (IoC container). IoC Container được xây dựng dựa trên ý tưởng của IoC, nó có nhiệm vụ quản lý các thành phần khác nhau, cung cấp …
Inversion of Control (IoC) là pattern tuân theo Dependency inversion principle. Inversion of Control (IoC) dịch là đảo ngược điều khiển. Ý của nó là làm thay đổi luồng điều khiển của ứng dụng, giúp tăng tính mở rộng của một hệ thống. IoC được chia thành 2 loại: Dependency Lookup : sẽ tìm kiếm đối tượng phụ thuộc trong khung chứa IoC và sau đó chúng ta có thể dùng code để đưa đối tượng phụ thuộc vào trong đối tượng bị phụ thuộc. …
I. Phần mở đầu Bạn đã bao giờ đăng nhập vào 1 trang web và tự hỏi làm sao mà khi mình chuyển trang tài khoản mình vẫn còn đó, tài khoản của mình được lưu vào đâu đó chăng. Và đúng như vậy chúng ta có cách để lưu trữ thông tin của Spring để làm điều này Session và Cookie. II. Session Session là phương thức để quản lý các phiên làm việc giữa người sử dụng và …
Laravel Framework sở hữu một hệ sinh thái lớn bao gồm các tính năng như: instant deployment, routing, ORM, DB query, Routing, Templating… Dưới đây là một số tính năng chính làm cho Laravel Framework khác biệt so với các Web Framework khác. Tính năng quản lý phụ thuộc Quản lý phụ thuộc (Dependency Managerment) là một trong những tính năng tốt nhất của Laravel, hiểu chức năng của Service Container (IoC) là phần cốt lõi để tìm hiểu các …
Đầu tiên chúng ta tìm hiểu merge là gì nhé.Merge có thể hiểu đơn giản là chúng ta nối 2 đoạn code ở 2 branch khác nhau vảo làm một Vậy tại sao xảy ra xung đột?Khi ta và đồng nghiệp vô tình hayhữu ý cùng sửa hoặc code vào một hoặc nhiều file khi merge code sẽ xảy ra xung đột code. Giải quyết xung đột code như thế nào?Những nơi phát sinh xung đột, chúng ta sẽ phải …