Trong bài https://ngocminhtran.com/2020/10/22/nhap-mon-asp-net-core-mvc/ chúng ta đã tìm hiểu tổng quan, cách tạo một ứng dụng ASP.NET Core MVC và lý do chọn ASP.NET Core MVC như là một lựa chọn tối ưu cho những nhà phát triển Web vừa mới... Continue Reading →
ASP.NET Core là công nghệ phát triển ứng dụng web dựa trên hai nền tảng .NET Framework và .NET Core của Microsoft (Phân biệt .NET Core và .NET Framework có thể tham khảo tại https://ngocminhtran.com/2020/02/09/net-core-ung-dung-console-dau-tien-va-cach-debug/ ). MVC (Model View Controller)... Continue Reading →
Xây dựng layout là một trong những công việc quan trọng nhất của thiết kế website và với CSS hiện đại, các nhà phát triển Web có thể dễ dàng tạo ra những layout nhanh chóng và hiệu quả. Chuyên... Continue Reading →
Progressive Web App (PWA) Ngày 19/5/2020, Blazor WebAssembly đã trở thành công cụ chính thức của Microsoft thay vì các bản Preview trước đây. Nếu đang dùng Visual Studio 2019 Community (bản Windows) thì cần cập nhật lên phiên bản... Continue Reading →
Ứng dụng minh họa Bài viết này sử dụng ứng dụng đơn giản DebuggingApp với tập tin activity_main.xml: Và tập tin MainActivity.java: Lớp Log và cửa sổ Logcat Một trong những cách phổ biến nhất để phát hiện các lỗi... Continue Reading →
Thay đổi cấu hình Android Trong quá trình thực thi, một ứng dụng Android có thể thay đổi cấu hình phụ thuộc vào tương tác người dùng hay sự kiện thiết bị. Một thay đổi phổ biến là xoay màn... Continue Reading →
Đối tượng dữ liệu có thể giám sát (Observable Data Objects) Khả năng giám sát cho phép một đối tượng thông báo đến các đối tượng khác về sự thay đổi dữ liệu của nó. Khi một đối tượng có... Continue Reading →
Các biến (Variables) Trong Phần 1 chúng ta đã tìm hiểu về cách viết một ứng dụng Android sử dụng kỹ thuật data binding. Để dùng data binding chúng ta cần thực hiện một số thao tác cấu hình và... Continue Reading →
Thông thường, để làm việc với các điều khiển (views) trên giao diện Android chúng ta cần xác định thuộc tính id của các điều khiển này thông qua phương thức findViewById(). Với các ứng dụng lớn cách thức này... Continue Reading →
Giới thiệu Xamarin.Forms cung cấp một danh sách các hàm tạo hiệu ứng ảnh động trong ứng dụng như di chuyển ảnh, quay ảnh, phóng to thu nhỏ, v.v. Chi tiết các hàm và cách dùng các hàm này được... Continue Reading →
Trong bài viết https://ngocminhtran.com/2020/04/22/blazor-viet-ma-c-tren-trinh-duyet-web/ chúng ta đã có dịp làm quen với Blazor WebAssembly và trong bài này chúng ta sẽ tạo một ứng dụng Blazor WebAssembly đầu tiên. https://youtu.be/_VKvZqdlYjs Cài đặt Blazor WebAssembly Template Vì Blazor WebAssembly chỉ là... Continue Reading →
Trong bài https://ngocminhtran.com/2020/04/20/tensorflow-js-thu-vien-machine-learning-cho-web-developer/ chúng ta đã làm quen với thư viện TensorFlow.js – một thư viện Machine Learning (và Deep Learning) dành cho “dân” sử dụng JavaScript. Và trong bài này, chúng ta sẽ làm quen với một thư viện... Continue Reading →
XAML Hot Reload là một trong những tính năng thú vị nhất trong Visual Studio 2019. Với tính năng này, các nhà phát triển ứng dụng có thể thao tác với mã XAML trong khi đang thực thi ứng dụng.... Continue Reading →
WebAssembly đã trở thành một trong tứ trụ của công nghệ web bên cạnh HTML, CSS và JavaScript. Khi mới xuất hiện, chỉ có một vài ngôn ngữ cấp cao như C, C++ hay Rust có thể thực thi trực... Continue Reading →
Giới thiệu Nếu bạn là người phát triển web chuyên sử dụng ngôn ngữ JavaScript và rất muốn học và ứng dụng Machine Learning (ML) một cách nhanh chóng thì TensorFlow.js là một giải pháp phù hợp. TensorFlow.js là thư... Continue Reading →
Giới thiệu Như chúng ta đã biết, khi chúng ta thực thi ứng dụng Xamarin.Forms, giao diện các điều khiển ứng dụng sẽ thay đổi tương ứng với cách các điều khiển này được định nghĩa trên các nền tảng... Continue Reading →
Các nhà phát triển cung cấp nhiều API Web giúp việc truy cập hay nạp dữ liệu từ các nguồn trên Internet hiệu quả hơn nhờ cơ chế làm việc không đồng bộ. Lập trình không đồng bộ Một chương... Continue Reading →
Chúng ta đã tìm hiểu thuật toán kNN đơn giản qua hai bài viết: https://ngocminhtran.com/2020/02/16/hoc-python-qua-cac-thuat-toan-machine-learning-co-ban-thuat-toan-k-nearest-neighbors-knn/ https://ngocminhtran.com/2020/03/04/hoc-python-qua-cac-thuat-toan-machine-learning-co-ban-thuat-toan-k-nearest-neighbors-knn-tt/ Trong bài này chúng ta tiếp tục khám phá ngôn ngữ Python thông qua thuật toán kNN. Lần này là ví dụ phức tạp... Continue Reading →
Chuyên gia Bill Wagner đã có bài phát biểu về cách chúng ta phải thay đổi thói quen lập trình để khai thác triệt để những tính năng tiên tiến trong C# (ở đây là C# 8) tại hội thảo... Continue Reading →
Trong loạt bài Học TensorFlow, tôi đã đề cập đến mô hình Linear Regression đơn giản tại https://ngocminhtran.com/2019/06/03/tensorflow-ham-mat-mat-loss-function-trong-linear-regression/ và mô hình đa thức - dạng tổng quát của mô hình Linear Regression tại https://ngocminhtran.com/2019/06/28/tensorflow-mo-hinh-da-thuc-trong-linear-regression/. Tất cả đều sử dụng TensorFlow... Continue Reading →
Giới thiệu TensorFlow 2.0 Chúng ta đã tìm hiểu cơ bản về TensorFlow trong loạt bài Học TensorFlow nhưng đó chỉ là TensorFlow 1.X. Vào tháng 1 năm 2019, Google đã thông báo về TensorFlow 2.0 và đến cuối năm,... Continue Reading →
Trong bài viết Một nhập môn về WebAssembly chúng ta đã làm quen với WebAssembly và đã có một minh họa chuyển đoạn mã C++ đến WebAssembly để có thể sử dụng trong một dự án web cục bộ bằng... Continue Reading →
Giới thiệu Với công nghệ Xamarin, các nhà phát triển C# có thể dễ dàng xây dựng các ứng dụng trên nền tảng iOS, Android hay các ứng dụng có thể tương tác trên nhiều nền tảng di động (cross-platform)... Continue Reading →
Trước khi được công nhận bởi W3C là một trong tứ trụ của công nghệ web, WebAssembly vẫn chỉ được chú ý bởi một nhóm nhỏ các chuyên gia, các nhà phát triển. Đã có rất nhiều tài liệu, hội... Continue Reading →
Trong bài trước, chúng ta đã tìm hiểu một vài khái niệm và thao tác toán học cơ bản trong thuật toán kNN đơn giản là tìm khoảng cách ngắn nhất từ k điểm đến một điểm bất kỳ. Toàn... Continue Reading →
ES5 là đặc tả ngôn ngữ JavaScript được sử dụng phổ biến nhất hiện nay. Cơ bản về JavaScript từ ES5 trở về trước có thể tham khảo tại https://ngocminhtran.com/javascript-co-ban/. Tuy nhiên, nhiều đặc trưng mới được giới thiệu trong... Continue Reading →
Ngày 5/12/2019 có thể xem là ngày lịch sử của công nghệ web khi tổ chức W3C thông báo WebAssembly đã trở thành một tiêu chuẩn web. Cùng với HTML, CSS và JavaScript, WebAssembly là ngôn ngữ thứ tư cho... Continue Reading →
Lời nói đầu Đây là bài viết đầu tiên trong loạt bài viết nhập môn ngôn ngữ Python thông qua các thuật toán Machine Learning cơ bản. Ngôn ngữ Python là một trong những ngôn ngữ phổ biến nhất hiện... Continue Reading →
Nguyên tắc không đồng bộ (Asynchronous Principle ) Hãy tưởng tượng chúng ta chuẩn bị một bữa ăn sáng gồm: Pha 1 tách cà phê Rán ốp la 2 quả trứng Nướng bánh mì Thực hiện một cách tuần tự... Continue Reading →
.Net Core là một nền tảng mã nguồn mở được Microsoft giới thiệu lần đầu tiên năm 2014 và trở thành một trong những nền tảng phổ biến nhất hiện nay. .Net Core có thể được dùng cho nhiều mục... Continue Reading →
So khớp mẫu (Patern Matching) là thao tác phổ biến trong lập trình ứng dụng. Các mẫu được tạo ra dùng để kiểm tra một giá trị có thỏa mãn với một điều kiện (hay định dạng) cho trước hay... Continue Reading →
Tính năng Instant Run Là tính năng trong Android Studio cho phép chúng ta cập nhật sự thay đổi trong các đoạn mã hay tài nguyên của dự án trong khi ứng dụng dự án đang chạy trên thiết bị... Continue Reading →
Hiện tại, Microsoft đã triển khai Visual Studio 2019 sử dụng C# 8.0 với nhiều đặc trưng thú vị và hỗ trợ các nhà phát triển C# lập trình hiệu quả hơn. Tuy nhiên , trước khi khám phá các... Continue Reading →
Bài viết này là chương XIV của Nhập môn ASP.NET 4.X. Mục tiêu của chương này bao gồm: Định dạng các điều khiển Xử lý các sự kiện Làm việc với Caching Bài viết sử dụng VS 2017 Community và... Continue Reading →
Viết các đơn vị kiểm thử nhanh chóng, hiệu quả đòi hỏi nhiều kinh nghiệm của người kiểm thử (Testers). Tuy nhiên, có một vài nguyên tắc giúp định hướng cho những người ít kinh nghiệm hay mới bắt đầu... Continue Reading →
Trong bài viết này, chúng ta sẽ làm việc với các sự kiện trong jQuery Mobile. Các sự kiện ở đây là các sự kiện vật lý bao gồm: tap và taphold: tap là sự kiện chạm (touch) nhanh màn... Continue Reading →
5.3. Design Building Blocks: Heuristics Look for Common Design Patterns Trong quá trình thiết kế phần mềm, chúng ta sẽ bắt gặp những vấn đề mà các giải pháp xử lý chúng tương tự với các giải pháp cho một... Continue Reading →
Người dùng ngày nay ưu tiên sử dụng các thiết bị di động (điện thoại, máy tính bảng), thay vì dùng các thiết bị để bàn (như laptop, desktop), đồng thời sử dụng ngày càng nhiều hơn các dịch vụ... Continue Reading →
Joel Spolsky, đồng sáng lập Stack Overflow, đã có những lời khuyên quý giá cho sinh viên ngành khoa học máy tính trên blog joelonsoftware.com – blog tôi đọc mỗi ngày. Bài viết từ 2005 nhưng đến nay vẫn rất... Continue Reading →
5.3. Design Building Blocks: Heuristics Quá trình thiết kế phần mềm, như đã đề cập trong Phần 3 , là quá trình heuristic hay đó là quá trình thử và sai liên tục để tìm ra thiết kế tốt nhất... Continue Reading →
Trong bài Nhập môn Unit Testing trong .NET chúng ta đã tìm hiểu cơ bản về phương pháp kiểm thử Unit Testing, các đơn vị kiểm thử (Unit Tests), lớp Assert và các thuộc tính TestFixture và Test. Chúng ta... Continue Reading →
Chapter 3: This Is Your Brain Nhìn theo quan điểm của chuyên gia lập trình máy tính, bộ não chúng ta hoạt động theo chế độ Dual-CPU. Chế độ Dual-CPU CPU #1: tư duy logic, tuần tự và xử lý... Continue Reading →
Chapter 5. Design in Construction 5.1. Design Challenges Có một vài thách thức sống còn cho công việc thiết kế phần mềm (software design): Design Is a Wicked Problem: “Wicked Problem” là những vấn đề đòi hỏi chúng ta phải... Continue Reading →
Trong bài trước (https://ngocminhtran.com/2019/07/20/tai-nguyen-resources-va-ket-buoc-du-lieu-data-binding-trong-xamarin-forms/ ) chúng ta đã làm quen với kết buộc dữ liệu và cũng đã tạo một ứng dụng kết nối cơ sở dữ liệu SQLite (https://ngocminhtran.com/2019/08/16/xamarin-forms-va-sqlite/ ). Trong bài này, chúng ta sẽ tìm hiểu chi... Continue Reading →
Chapter 4: Key Construction Decisions Quá trình xây dựng một phần mềm chất lượng đòi hỏi phải có những bước chuẩn bị cẩn thận (xem Phần 1 ). Nếu trong quá trình chuẩn bị, phần lớn các yếu tố chúng ta... Continue Reading →
Đây là một cuốn sách khác của tác giả cuốn sách kinh điển The Pragmatic Programmer. Trong cuốn sách này, tác giả tập trung vào cách thức nâng cao khả năng học và tư duy dựa trên các thành tựu... Continue Reading →
Bên cạnh thư viện BeautifulSoup đã giới thiệu, chúng ta có thể dùng các giao diện lập trình ứng dụng (Application Programming Interface) viết tắt là API được cung cấp bởi các website hay các dịch vụ web như Amazon,... Continue Reading →
Chúng ta thường nhầm tưởng quá trình xây dựng phần mềm (software construction) chủ yếu là lập trình(coding) và sửa lỗi (debugging). Tuy nhiên, quá trình này trải rất nhiều hoạt động: Các hoạt động chính trên vòng tròn, hoạt... Continue Reading →
Khái niệm Các dịch vụ Android được thiết kế để thực thi các tác vụ có thời gian thực thi dài, như tải một tập tin từ Internet, nhưng không yêu cầu giao diện người dùng. Các dịch vụ Android... Continue Reading →
Phương pháp Unit Testing Unit Testing là phương pháp kiểm thử phần mềm dựa trên các đơn vị kiểm thử (hay unit test). Trong các ngôn ngữ hướng đối tượng (ví dụ C#), các đơn vị kiểm thử này có... Continue Reading →
Các hộp thoại (dialog) Để tạo các hộp thoại trong jQuery Mobile, chúng ta dùng hai thuộc tính là data-rel và data-dialog. Thuộc tính data-rel được gán đến giá trị là dialog được thêm đến liên kết mà từ đó... Continue Reading →
Một trong những nguồn dữ liệu vô tận có thể khai thác cho các dự án machine learning là từ các trang web và chúng ta có thể trích xuất các thông tin từ đó bằng cách sử dụng thư... Continue Reading →
Trong bài viết trước về Xamarin.Forms, chúng ta đã tìm hiểu về cách thức kết buộc dữ liệu đến giao diện ứng dụng Xamarin.Forms. Trong bài viết này, chúng ta sẽ tìm hiểu cách thức một ứng dụng Xamarin.Forms tương... Continue Reading →
Tại sao là Kotlin? Ngôn ngữ Koltin đã được gã khổng lồ Google xem là ngôn ngữ ưu tiên trong việc phát triển ứng dụng Android (xem tại https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/?fbclid=IwAR23PjsMeG0lrnjyzDG1Y2i0YtAtOkKhXtuAPlxInsRaomO8TXUbSDGvFfc ). Có nhiều lý do để Google đưa ra quyết định... Continue Reading →
Form là thành phần không thể thiếu đối với một website. jQuery Mobile cung cấp hai cải tiến quan trọng cho các HTML Form: Thứ nhất, tất cả các form sẽ submit dữ liệu qua Ajax. Điều này có nghĩa... Continue Reading →
Trước khi bắt đầu tìm hiểu các khái niệm cơ bản trong xác suất, chúng ta cần xem lại các khái niệm cơ bản trong thống kê - một lĩnh vực quan hệ chặt chẽ với xác suất - tại... Continue Reading →
Tài nguyên (resources) Tài nguyên là các thông tin có thể được sử dụng lại áp dụng cho các điều khiển trên giao diện người dùng ví dụ như các mẫu định dạng (styles), mẫu điều khiển (control templates), các... Continue Reading →
Một trong những vấn đề quan trọng khi lập trình là sử dụng các biến tạm cục bộ một cách hiệu quả. Trong Phần 3 và Phần 4 chúng ta đã làm quen với hai kỹ thuật liên quan đến... Continue Reading →
Mô hình đa thức (Polynomial Model) Các mô hình tuyến tính (linear models) giúp chúng ta dễ hình dung và dễ học nhưng là mô hình không thể áp dụng trong thế giới thực. Quỹ đạo viên đạn, vệ tinh,... Continue Reading →
Thống kê là một phần rất quan trọng trong Machine Learning. Trong bài viết này sẽ đề cập đến các khái niệm cơ bản nhất trong thống kê thông qua các công thức toán học và lập trình dùng Python.... Continue Reading →
Hàm mất mát L1 và L2 Một trong các cách tiếp cận dùng để giải quyết bài toán Linear Regression là sử dụng hàm chi phí (cost function) hay cũng có thể gọi là hàm mất mát (loss function). Để... Continue Reading →
Các thuật toán trong Machine Learning (ML) chia thành 3 nhánh là supervised learning (tạm dịch: học giám sát), unsupervised learning (tạm dịch: hoc không giám sát) và reinforcement learning (tạm dịch: học tăng cường). Linear regression (tạm dịch: Hồi... Continue Reading →
Làm quen với Git và GitHub Tải và cài Git (https://git-scm.com/ ) Tạo tài khoản GitHub (https://github.com/ ) Học GitHub cơ bản https://guides.github.com/activities/hello-world/ Học Git cơ bản https://git-scm.com/docs/gittutorial Kết nối đến tài khoản GitHub từ Visual Studio Mở dự án... Continue Reading →
Làm quen với Git và GitHub Tải và cài Git Tạo tài khoản GitHub Học GitHub cơ bản Học Git cơ bản Kết nối đến tài khoản GitHub từ Android Studio Mở ứng dụng cần chia sẻ File > Settings... Continue Reading →
Khái niệm tiểu trình (thread) là một trong những khái niệm nền tảng giúp chúng ta hiểu được các dịch vụ Android (Android services) - là các tiến trình (processes) chạy ngầm và không có giao diện người dùng (xem... Continue Reading →
Kiểu dữ liệu Giống như Python, TensorFlow cũng trang bị cho mình một tập hợp các kiểu dữ liệu dùng cho các mục đích khác nhau. Bảng dưới đây trình bày các kiểu dữ liệu trong TensorFlow: Các kiểu dữ... Continue Reading →
Các hàm toán học cơ bản Khi làm việc với machine learning, chúng ta phải thực hiện rất nhiều các thao tác toán học như cộng, trừ, nhân, chia, lũy thừa, v.v. TensorFlow cung cấp một tập hợp các hàm... Continue Reading →
Thuộc tính data-title Sao chép các đoạn mã từ tập tin test.htm trong bài liên kết và hiệu ứng Ajax và lưu thành tập tin jQueryMobileDemo.html, sử dụng lại tập tin contact.html. Thực thi tập tin jQueryMobileDemo.html vừa tạo trong... Continue Reading →
Tensor Đơn vị cơ bản trong TensorFlow là các tensor. Một tensor là một vec tơ hay một ma trận - chẳng qua là một danh sách các vectơ. Các tensors có thể được khai báo với các biến hay... Continue Reading →
Content Provider trong Android Ở phần 1, chúng ta đã tìm hiểu cách lưu trữ dữ liệu của một ứng dụng trong cơ sở dữ liệu SQLite. Trong trường hợp này, dữ liệu là “tài sản riêng” của ứng dụng... Continue Reading →
Hiệu ứng Ajax Trong tập tin test.html ở bài Thêm nhiều trang đến một tập tin HTML dùng jQuery Mobile, chúng ta đã tổ chức nhiều trang trong cùng một tập tin và thực hiện liên kết giữa các trang... Continue Reading →
Khi nói tới Machine Learning (ML) chúng ta thường nghĩ tới ngôn ngữ Python hay R và các thư viện liên quan như TensorFlow, Keras, Scikit-Learn, v.v. Nhưng những người chuyên sử dụng các ngôn ngữ của Microsoft như C#... Continue Reading →
Khi làm việc với TensorFlow, trong nhiều trường hợp, chúng ta cần trực quan hóa dữ liệu dưới dạng các hình ảnh, lược đồ, sơ đồ, v.v. để có thể hiểu dữ liệu, sửa lỗi, và tối ưu chương trình... Continue Reading →
Giới thiệu TensorFlow là thư viện Machine Learning mã nguồn mở được Google giới thiệu năm 2015. Kể từ thời điểm đó đến nay, TensorFlow đã phát triển với tốc độ chóng mặt và trở thành thư viện ML phổ... Continue Reading →
Dùng data-role và id Trong bài Phân vùng với jQuery Mobile, chúng ta đã làm quen với thuộc tính data-role giúp việc phân vùng hiệu quả hơn với jQuery Mobile. Thuộc tính data-role cũng hữu ích trong việc thêm nhiều... Continue Reading →
Move Method Giả sử chúng ta có lớp Phanso chứa các thành phần của một phân số như sau (C#): Để hiển thị một phân số, chúng ta có thể viết mã như sau trong phương thức Main: Ở đây, chúng... Continue Reading →
Extract Method Một chương trình được hình thành bởi rất nhiều các phương thức (method) và đối tượng đầu tiên chúng ta cần tập trung là các phương thức chứa nhiều lệnh. Refactoring các phương thức chứa nhiều lệnh nghĩa... Continue Reading →
Sử dụng các thuộc tính grid-template-columns và grid-template-rows của CSS Grid trong Firefox Nightly https://codepen.io/ngocminhtran/pen/GPVKNw Source: css-irl.info
Thuộc tính data-role Một trong những lưu ý quan trọng khi thiết kế một trang web dùng ngôn ngữ HTML là phải chú ý phân vùng. Điều này không những giúp người thiết kế web có thể dễ dàng trong... Continue Reading →
Testing Trước khi bắt đầu Refactoring, chúng ta phải xây dựng những chương trình có thể kiểm tra và phát hiện các lỗi của chương trình một cách nhanh chóng và hiệu quả. Như vậy, có 3 bước cốt lõi... Continue Reading →
Giới thiệu Thế giới phần mềm luôn thay đổi với tốc độ chóng mặt và những người gia nhập thế giới lập trình có một danh sách dài các việc cần làm để trở thành một nhà lập trình thực... Continue Reading →
Giới thiệu Giao diện web hiện đại phải có khả năng thay đổi theo kích thước màn hình từ máy tính bàn (desktop) đến máy tính bảng (tablet) và điện thoại di động (smartphone) – tức là responsive web. Bạn... Continue Reading →
Giới thiệu Nếu bạn đang làm việc hay học thiết kế web ở mức front-end thì CodePen là môi trường hấp dẫn giúp bạn có thể học hỏi và chia sẻ kiến thức một cách hiệu quả. Giao diện CodePen... Continue Reading →
Giới thiệu Các thư viện Machine Learning (ML) như TensorFlow, Keras , CNTK hay PyTorch sử dụng ngôn ngữ Python làm nền tảng và rất khó cho các ứng dụng .NET có thể truy cập đến các thư viện này. Vì vậy, các... Continue Reading →
Hệ quản trị SQLite SQLite là hệ quản trị cơ sở dữ liệu quan hệ giống các hệ khác như SQL Server, MySQL, Oracle, v.v. Các hệ quản trị như SQL Server, MySQL, Oracle, v.v. là các hệ xử lý... Continue Reading →
Broadcast Intent Một dạng khác của Intent, gọi là Broadcast Intent, là một hệ thống Intent được gởi đến tất cả các ứng dụng đã đăng ký Broadcast Receiver. Ví dụ, hệ thống Android sẽ gởi các Broadcast Intent để... Continue Reading →
Intent ngầm định (implicit intent) Trong bài trước chúng ta đã tìm hiểu về Intent tường minh (explicit intent) – một cơ chế đòi hỏi chúng ta phải xác định rõ tên lớp Activity cần giao tiếp. Trong bài này... Continue Reading →
Intent Intent là cơ chế cho phép các Activity có thể giao tiếp với nhau. Có hai dạng intent là intent tường minh (explicit intent) và intent ngầm định (implicit intent). Trong bài này chúng ta sẽ khám phá kiểu... Continue Reading →
Thực đơn tùy chọn (the oveflow menu) Thực đơn tùy chọn (thường được gọi là overflow menu hay options menu) là thực đơn cho phép người dùng truy cập từ thiết bị và cho phép các nhà phát triển gộp... Continue Reading →
Paul Allen - đồng sáng lập Microsoft - đã qua đời ngày 15/10/2018. Sau Stephen Hawking, Steve Jobs, lại một người hùng của tôi nữa đã ra đi. Là đồng sáng lập Microsoft, Paul Allen và Bill Gates là một trong... Continue Reading →
Fragment là gì? Fragment trong Android là cơ chế cho phép chúng ta thiết kế các ứng dụng Android theo phương pháp mô-đun – nghĩa là thiết kế giao diện và các tính năng chỉ một lần và sử dụng... Continue Reading →
Việc viết các nội dung web bằng ngôn ngữ HTML luôn gây khó khăn cho những người chưa từng được học ngôn ngữ này, thậm chí nếu là những web developers thì cũng cảm thấy khó chịu khi phải cố... Continue Reading →
Cử chỉ (gesture) là các hoạt động tương tác giữa người dùng và màn hình thiết bị Android bao gồm các hoạt động chạm ngắn (tap), lướt các trang sách điện tử (swipe), phóng to hay thu nhỏ các hình... Continue Reading →
Hầu hết các thiết bị Android có màn hình dùng cảm ứng đa điểm (cuộc cách mạng từ iPhone). Với các màn hình cảm ứng đa điểm, người dùng sẽ tương tác với thiết bị Android thông qua thao tác... Continue Reading →
Thiết kế giao diện và xử lý sự kiện trong Android Studio 3.6 (trở lên) https://youtu.be/la3j0Dm27Eg Android framework duy trì một hàng đợi chứa các sự kiện khi chúng xuất hiện. Để xử lý các sự kiện, Android dùng các... Continue Reading →
Thiết kế giao diện và xử lý sự kiện trong Android Studio 3.6 (trở lên) https://youtu.be/la3j0Dm27Eg Như trong bài Các views cơ bản và trong giao diện ứng dụng Android, khi thêm các views đến giao diện chúng ta luôn... Continue Reading →
Trong bài này chúng ta sẽ tìm hiểu các views cơ bản dùng cho việc thiết kế giao diện đồ họa trong Android. Một số views được đề cập trong bài viết: TextView PlainText CheckBox RadioButton và RadioGroup Switch Spinner... Continue Reading →
Giới thiệu Là layout mặc định kể từ Android Studio 3.0, ConstraintLayout giúp cho việc thiết kế các layouts phức tạp trở nên đơn giản hơn bằng cách cho phép các views kết nối với nhau thông qua các ràng... Continue Reading →
Giao diện tĩnh (static UI) và giao diện động (dynamic UI) Trong bài trước, chúng ta đã tìm hiểu cách tạo giao diện người dùng với công cụ trực quan (Design) và mã XML (Text). Trong thực tế, chúng ta... Continue Reading →
Thiết kế cho các thiết bị khác nhau Giao diện người dùng (user interfaces - UI) của các ứng dụng Android phải được thiết kế sao cho tương thích với với các thiết bị di động như điện thoại thông... Continue Reading →
Trang (pages) Trong các bài trước chúng ta đã làm quen với layout và các điều khiển (controls hay views) trong Xamarin.Forms, tuy nhiên, chúng ta vẫn chỉ làm việc trên một giao diện duy nhất. Trong thực tế, các... Continue Reading →
Quản lý ứng dụng và tài nguyên Hệ điều hành sẽ giám sát một ứng dụng Android đang chạy như một tiến trình độc lập. Nếu hệ thống xác định các tài nguyên trên thiết bị đạt đến dung lượng... Continue Reading →
Trong bài trước chúng ta đã tìm hiểu về kiến trúc của Android và trong bài này chúng ta sẽ tìm hiểu các thành phần cấu thành nên một ứng dụng Android cũng như tìm hiểu cơ chế kết hợp... Continue Reading →
Giới thiệu Các điều khiển (controls) trong Xamarin.Forms thường được gọi bằng một tên khác phổ biến hơn là các views. Các điều khiển là các đối tượng trong giao diện người dùng (UI) như labels, buttons, entries, v.v. và... Continue Reading →
Để lập trình Android hiệu quả, bên cạnh nắm vững kiến thức về ngôn ngữ lập trình, về môi trường Android Studio, chúng ta cần nắm kiến thức tổng quát về kiến trúc của Android. Android Software Stack Android được... Continue Reading →
Code Completion Android Studio 3.X cung cấp tính năng Code Completion giúp người lập trình tiết kiệm nhiều thời gian, công sức. Hình dưới đây minh họa tính năng Code Completion: Để ý rằng, khi chúng ta gõ vài chữ... Continue Reading →
Giới thiệu Như chúng ta đã biết trong bài trước, các thành phần trên một giao diện người dùng (UI – User Interface), như các điều khiển (controls), muốn hiển thị đến người dùng thì cần phải được chứa trong... Continue Reading →
Trong bài viết trước, chúng ta đã cùng tạo ra ứng dụng Android đầu tiên trong môi trường Android Studio 3.X (tức là Android Studio 3.0 trở lên). Trong bài này, chúng ta sẽ tìm hiểu chi tiết hơn về... Continue Reading →
XAML là gì? Trong bài trước chúng ta đã biết, Xamarin.Forms là một thư viện cho phép các nhà phát triển có thể tạo ra các giao diện người dùng (User Interface) có thể được chia sẻ một cách dễ... Continue Reading →
Môi trường Tải và cài đặt Android Studio Để kiểm tra các ứng dụng Android chúng ta có thể cài đặt và sử dụng máy ảo AVD (Android Virtual Device) có sẵn trong Android Studio hay cài đặt máy ảo... Continue Reading →
Xamarin.Forms là gì? Xamarin.Forms là một thư viện cho phép các nhà phát triển có thể tạo ra các giao diện người dùng (User Interface) có thể được chia sẻ một cách dễ dàng giữa các hệ điều hành (cross-platform)... Continue Reading →
Người hùng của tôi, Bill Gates, đã có một món quà đầy ý nghĩa đến các sinh viên sắp tốt nghiệp tại các trường cao đẳng, đại học ở Mỹ, cuốn sách best seller Factfulness của Hans Rosling. Với Factfulness,... Continue Reading →
Avengers:cuộc chiến vô cực đã đến đúng như kỳ vọng của một bộ phim bom tấn - mãn nhãn và đậm tính giải trí. Kết thúc bộ phim, gây hụt hẫng cho nhiều người, là hình ảnh ác nhân Thanos... Continue Reading →
Sau khi cài đặt thành công Anaconda, chúng ta bắt đầu viết vài dòng mã Python. Dòng mã sau đây dùng để viết lệnh xuất dòng chữ Hello Word trong Python 3.6.4: Cách thực hiện: Mở Anaconda prompt và gõ... Continue Reading →
Tải Anaconda Cài đặt Anaconda (ví dụ vị trí cài đặt là D:\soft\Anaconda_Python_Install) Thiết lập biến môi trường: Vào System Properties > Environment Variables Tại ô System variables chọn Path và nhấn nút Edit Trong cửa sổ Edit environment variables nhấn... Continue Reading →
Đã là con người thì ai cũng phải chết Stephen Hawking là con người Nên Stephen Hawking phải chết Stephen Hawking, thiên tài vật lý, vừa ra đi ở tuổi 76. Ông đã chính thức gia nhập ngôi đền của... Continue Reading →
Điều kỳ diệu (wonder) Khởi đầu năm mới ai cũng hi vọng mình sẽ có một năm đầy ắp những điều kỳ diệu cho bản thân và những người mà ta yêu mến. Lúc rảnh rỗi là tôi thích xem... Continue Reading →
Machine Learning đang là một trong những lĩnh vực nghiên cứu và ứng dụng sôi động nhất hiện nay. Tôi rất thích Machine Learning và muốn đầu tư một cách nghiêm túc trong năm 2018. Nhưng bắt đầu như thế... Continue Reading →
Năm 2018 với đầy ắp những mục tiêu và dự định. Thói quen hàng ngày, mặc dù rất nhỏ bé, nhưng là yếu tố quan trọng nhất giúp chúng ta đạt được những mục tiêu ngắn hạn cũng như dài... Continue Reading →
Đọc sách là một trong những cách cập nhật kiến thức hiệu quả nhất trong thời đại ngày nay. Đây là những cuốn sách tôi sẽ đọc trong năm 2018 - mặc dù đã biết từ lâu nhưng chưa thật... Continue Reading →
Kết thúc năm 2017 với đầy ắp những trải nghiệm thú vị. Bài học, trải nghiệm trong năm 2017 sẽ góp phần định hình cách sống trong năm 2018. LUÔN LÀ CHÍNH MÌNH Điều khó khăn nhất mà tôi đã... Continue Reading →
Sống trong thời đại thông tin thay đổi chóng mặt như hiện nay, nhu cầu làm mới bản thân của mỗi người là tất yếu. Một trong những cách hiệu quả nhất là đọc sách hay và theo dõi blog... Continue Reading →
Học jQuery vừa cập nhật thêm các nội dung 4, 5, 6, 7, 8 Xem chi tiết >
Nhập môn AJAX Công nghệ AJAX ra đời từ năm 2005, viết tắt của Asynchronous JavaScript and XML, cho phép các trang web ở phía client trao đổi dữ liệu với server mà không làm gián đoạn giao diện người... Continue Reading →
Cốt lõi JavaScript đã được cập nhật thêm các phần 10, 11, 12, 13, 14, 15. Xem chi tiết >
Nhập môn AJAX Công nghệ AJAX ra đời từ năm 2005, viết tắt của Asynchronous JavaScript and XML, cho phép các trang web ở phía client trao đổi dữ liệu với server mà không làm gián đoạn giao diện người... Continue Reading →
Từ lâu, MDN web docs là nguồn tài nguyên tham khảo hữu ích cho các chuyên gia cũng như những người đam mê phát triển công nghệ web mã nguồn mở. Mới đây, trong một nỗ lực thay đổi để... Continue Reading →
Giới thiệu .NET Framework cung cấp nhiều lớp và phương thức cho phép làm việc dễ dàng với các tập tin. Với các tập tin văn bản, lớp File chứa trong namespace System.IO được dùng phổ biến. Lớp File chứa... Continue Reading →
Tải Crystal Report Trong các phiên bản Visual Studio thường có kèm theo công cụ Crystal Report để tạo các báo cáo (report) cho ứng dụng. Tuy nhiên, kể từ Visual 2010 thì công cụ Crystal Report đã bị xoá.... Continue Reading →
Tải Crystal Report Trong các phiên bản Visual Studio thường có kèm theo công cụ Crystal Report để tạo các báo cáo (report) cho ứng dụng. Tuy nhiên, kể từ Visual 2010 thì công cụ Crystal Report đã bị xoá... Continue Reading →
Nên dạy và học ngôn ngữ lập trình nào đầu tiên luôn là và vấn đề gây nhiều quan tâm và tranh luận. Nhiều trường cao đẳng, đại học chọn ngôn ngữ C là ngôn ngữ nhập môn lập trình;... Continue Reading →
Thiền là một trong những cách thức làm cho cuộc sống mỗi người trở nên viên mãn hơn. Thiền không huyền bí mà chính là cuộc sống: thiền trong bắn cung, thiền trong chạy bộ, thiền trong bảo trì xe... Continue Reading →
Biến toàn cục Biến toàn cục được hỗ trợ trong nhiều ngôn ngữ khác nhau. Việc sử dụng biến toàn cục, vì là biến dùng chung, nếu không cẩn thận sẽ dẫn đến những kết quả không như mong đợi.... Continue Reading →
Bài viết này mô tả vài khía cạnh, vài khái niệm quan trọng cho những người bắt đầu học ngôn ngữ lập trình .NET như C#, VB, v.v. Có thể hình dung bài viết như một tấm bản đồ đơn giản... Continue Reading →
Google là cỗ máy tìm kiếm hiệu quả nhất hiện nay. Tuy nhiên, bạn nghĩ thế nào nếu có một công cụ chuyên tìm kiếm cú pháp ngôn ngữ lập trình (programming language syntax)? SyntaxDB, được phát triển bởi Anthony Nguyen,... Continue Reading →
Hiện tại tôi đang làm việc với SQL Server 2008 R2 và sử dụng hệ điều hành Windows 7. Mọi chuyện vẫn ổn cho tới 2 ngày gần đây, khi mở MS SQL Server Management Studio và đăng nhập thì... Continue Reading →
Học gì cho công việc sắp tới hay chuẩn bị kiến thức "nền tảng" nào cho một tương lai gần luôn là vấn đề quan tâm hàng đầu của những người học và quan tâm về lập trình máy tính.... Continue Reading →
Karl Marx nói rằng: "ngôn ngữ là vỏ bọc của tư duy"; thật thế, ngôn ngữ là công cụ diễn đạt tư duy hiệu quả nhất của loài người, và ngược lại, ngôn ngữ cũng quyết định cách chúng ta... Continue Reading →
HTML là ngôn ngữ nền tảng trong tất cả các trang web hiện nay. Nó chứa một tập hợp lớn các phần tử (elements) hay thẻ (tags) giúp người phát triển web có thể tạo cho mình những trang web... Continue Reading →
Khi bắt đầu một điều gì đó mới mẻ như một công việc mới, học một cái gì đó mới, một mối quan hệ mới,… chúng ta thường rất háo hức, đầy năng lượng. Nhưng theo thời gian, sự háo... Continue Reading →
Đọc sách là một trong những cách học hiệu quả nhất trong thời đại thông tin thay đổi chóng mặt như hiện nay. Dưới đây là những cuốn sách cần tham khảo cho những ai muốn học và làm việc... Continue Reading →
Nền công nghiệp máy tính thay đổi với tốc độ chóng mặt. Sinh viên học ngành công nghệ thông tin, nhất là lĩnh vực lập trình, đang phải đối mặt với nhiều câu hỏi "sống còn" như: Nên học một... Continue Reading →
Với sự phát triển chóng mặt của công nghệ, nhất là trong lĩnh vực phát triển web, bắt buộc những người học hay làm trong lĩnh vực phát triển web phải luôn đối diện với câu hỏi: thay đổi hay... Continue Reading →
Trong thời đại ngày nay, các bậc cha mẹ thường rất bận rộn. Họ bận rộn vì nhiều thứ nhưng cũng vì bận quá (tôi không muốn nói là thỉnh thoảng họ quên mất bản thân mình) họ quên mất... Continue Reading →
Chúng ta ai cũng có ước mơ được đi du học tại các trường hàng đầu thế giới như Stanford hay MIT nhưng không phải ai cũng đủ trí tuệ và tài chính để thực hiện, hay nói cách khác,... Continue Reading →
1. Allice : là môi trường 3D do Carnegie Mellon phát triển, rất thu hút hiện nay. 2. Kodu : là môi trường lập trình được phát triển bởi Microsoft Research dành cho XBox 360 nhưng hiện nay cũng tương... Continue Reading →