Tìm

Trần Ngọc Minh Notes

Stay hungry, stay foolish!

Chuyên mục

Blog

Những cuốn sách đã và đang đọc trong tháng 3, tháng 4 năm 2023

Đầu năm 2023 có một sự thử nghiệm mới trong thú vui với sách – không chỉ là ĐỌC mà còn NGHE nhiều hơn. Sau một ngày làm việc căng mắt, ứng dụng sách nói Fonos giúp tôi hạn chế... Continue Reading →

ChatGPT for StackOverflow

https://stackoverflow.gg/demo.mp4 stackoverflow.gg

Online course platforms to learn how to code

Stack Overflow

Sử dụng ChatGPT dùng JavaScript, VB.NET và C#

Công cụ chatbot Chat GPT của công ty OpenAI đang làm mưa làm gió trong thời gian gần đây. Chúng ta có thể tìm hiểu và sử dụng công cụ này vì có nhiều hướng dẫn về chủ đề này... Continue Reading →

Đọc gì những ngày cuối năm dương lịch 2022

Những ngày cuối năm dương lịch bên cạnh sự bận rộn thường nhật (ví dụ cố gắng tìm mọi cách giải ngân một quỹ nào đó) là những chuyển biến về thời tiết và suy nghĩ của mỗi cá nhân.... Continue Reading →

10 Programming Lessons From the Past • Garth Gilmour & Eamonn Boyle • GOTO 2022

https://youtu.be/IlDIV5gaTP0

Teaching C

Quan điểm của chuyên gia về việc có nên dạy và dạy như thế nào ngôn ngữ C trong các khóa học ngành Khoa học máy tính hay Công nghệ thông tin. Chi tiết bài viết >

Introducing .NET MAUI – One Codebase, Many Platforms

.NET MAUI

Tại sao một số người coi Web 3.0 là tương lai của Internet | WSJ

https://youtu.be/OEJGQD1OuKA

Setting up VS Code for Python Beginners 

https://youtu.be/7FltByLPnrg

Remote collaboration in Visual Studio Code

https://youtu.be/A2ceblXTBBc

Visual Studio Notebook Editor brings C# and .NET to Jupyter Notebooks – Learn To Code Interactively

https://www.youtube.com/watch?v=WfozTizHMlM

Technical Writing for Developers

...But as we aim to write more and better code, the way we write and communicate in everyday language becomes more and more important… and perhaps even overlooked.

GitHub Codespaces

Giới thiệu Github Codespaces Một Codespace là một môi trường phát triển được lưu trữ trên đám mây. Bạn có thể tùy chỉnh dự án của mình cho Codespace bằng cách cam kết (committing) các tệp cấu hình (configuration files)... Continue Reading →

Math support in Markdown

Ngày 19/5/2022, Github đã công bố tính năng mới cho phép các công thức toán học có thể được kết xuất trong ngôn ngữ Markdown. Điều này có nghĩa là bạn có thể dùng Markdown để viết các tài liệu... Continue Reading →

Github Action

Pipeline trước đây được dùng để chỉ một tập hợp các đối tượng xử lí dữ liệu được sắp xếp thành một chuỗi xử lí. Mỗi đối tượng xử lí sẽ nhận dữ liệu input từ các đối tượng trước... Continue Reading →

Phát triển Low-Code (Low-Code Development)

Giới thiệu Vào năm 2014, Forrester đã đặt ra thuật ngữ "low code" (tạm dịch "mã thấp") để mô tả các nền tảng phát triển "tăng tốc phân phối ứng dụng, giảm số lượng mã hóa thủ công cần thiết."... Continue Reading →

GitHub code search

A technology preview for GitHub code search, the next iteration for search, discovery, and navigation on GitHub. Improving GitHub code search

Refactoring và Clean Code

Refactoring (Tạm dịch: Tái cấu trúc) Refactoring là một quá trình có hệ thống để cải thiện mã mà không cần tạo chức năng mới có thể chuyển đổi một mớ hỗn độn thành mã sạch (Clean Code) và thiết... Continue Reading →

Scrum là gì?

Viết mã là trụ cột trung tâm của phát triển phần mềm. Tuy nhiên, có nhiều cách khác nhau để đạt được mục tiêu của mã làm việc. Việc tạo ra các sản phẩm phần mềm thành công luôn là... Continue Reading →

Kubernetes là gì?

Sự tiến hóa trong cách triển khai ứng dụng và sự xuất hiện của Kubernetes.

Hành trình tìm kiếm

Blog Surf 

SQL và NoSQL

SQL vs NoSQL: Which one is better to use?

What makes developers happy at work

Stack Overflow

Fix lỗi trong Visual Studio

Đưa con trỏ chuột ngay dòng lỗi Nhấn vào dòng liên kết Show potential fixes hay nhấn tổ hợp phím Alt + Enter hoặc Ctrl + .

Web frameworks

Stack OverFlow Survey 2021

Tôi ước gì mình có được điều này sớm hơn.

Nhận được lời khuyên đúng đắn để có một cái nhìn rõ ràng hơn về những dự định trong tương lai là một may mắn mà không phải ai cũng có được khi còn đang ngồi trên ghế nhà trường,... Continue Reading →

RAM

RAM (viết tắt của Random Access Memory) là một loại bộ nhớ khả biến cho phép truy xuất đọc-ghi ngẫu nhiên đến bất kỳ vị trí nào trong bộ nhớ dựa theo địa chỉ bộ nhớ. Thông tin lưu trên RAM chỉ là tạm... Continue Reading →

Flutter vs React Native

Why Flutter is the most popular cross-platform mobile SDK

“Niềm say mê”

Trong cuốn sách văn học tiêu đề tiếng Việt Khát Vọng Sống về tiểu sử của danh họa Vincent Van Gogh, có đoạn Vincent ý kiến về các bức tranh của một người bạn: Khi tôi vẽ phong cảnh, Vincent... Continue Reading →

Tầm quan trọng của việc “Viết”

Sáng nay (22/2/2022) khi vô tình đọc lại bài luận Putting ideas into words của Paul Graham, tôi chợt nhận ra mình đang bắt đầu đánh mất (hay vô tình hay lười biếng) một kĩ năng quan trọng - kĩ... Continue Reading →

Trải nghiệm web tốt hơn với “Block”

Tôi đã sử dụng WordPress từ năm 2016 và 2, 3 năm trở lại đây khi viết bài cho website của mình, tôi phải làm quen với một khái niệm mới gọi là "Block" Các block trong WordPress Khái niệm... Continue Reading →

Learn to Code RPG

Nếu bạn là một fan của https://www.freecodecamp.org/ thì không thể bỏ qua món đồ chơi được phát triển bởi freeCodeCamp gọi là Learn to Code RPG. Đây là một game giúp chúng ta vừa rèn luyện tiếng Anh, vừa luyện... Continue Reading →

Thay vì làm điều mình thích, hãy làm điều ý nghĩa

Bằng niềm đam mê mãnh liệt của mình, Jeff Atwood đã tiến hành một dự án đầy thú vị và đáng kinh ngạc, đó là, cập nhật lại mã chương trình trong cuốn sách kinh điển BASIC Computer Games -... Continue Reading →

Học và thực hành Git trực quan (hỗ trợ tiếng Việt)

Một công cụ trực tuyến không thể tin được giúp học và thực hành Git mà lại còn hỗ trợ tiếng Việt nữa chứ. Không thể tin nổi!!!! Truy cập Learn Git Branching >

Umbrella JS

Umbrella JS là thư viện JavaScript sử dụng đơn giản, tiện lợi, hỗ trợ những phương thức tương tự jQuery nhưng kích thước nhỏ hơn rất nhiều (8kb so với jQuery 3.4.1 là 110kb). Tìm hiểu và tải thư viện... Continue Reading →

Simple.css

Một bộ công cụ CSS dùng cho các dự án website quy mô nhỏ với dung lượng chỉ 4KB và đầy đủ các tính năng không kém gì "ông lớn" Bootstrap. Tìm hiểu chi tiết hơn về công cụ này... Continue Reading →

PyFlow

PyFlow là công cụ thú vị dùng để trực quan các đoạn mã Python: Tìm hiểu về công cụ PyFlow tại đây >

WEB 1.0, WEB 2.0, WEB 3.0

Sự tiến hóa từ Web 1.0 đến Web 3.0

Bạn muốn điều gì hãy cho người khác điều họ muốn

"Hãy làm theo đam mê của bạn" là một lời khuyên tồi. Đó là nhận định của Cal Newport sau một năm nghiên cứu một câu hỏi cơ bản: Điều gì khiến mọi người yêu thích những gì họ làm... Continue Reading →

Kobra – Ngôn ngữ Scratch cho người bắt đầu với Machine Learning

Ngôn ngữ C/C++ thường được xem là lựa chọn số 1 cho cho việc làm quen các kiến thức lập trình cơ bản, các cấu trúc dữ liệu hay giải thuật. Tuy nhiên, khi ngôn ngữ Scratch (https://scratch.mit.edu/)  xuất hiện,... Continue Reading →

Công cụ hỗ trợ cho dân thiết kế web hiện đại

Môi trường Visual Studio Code Visual Studio Code là một trong những IDE "hot" nhất hiện nay dành cho dân thiết kế và lập trình. Giao diện viết code thân thiện và nguồn Extensions (là những mô đun chức năng)... Continue Reading →

Làm việc với mô hình MVC trong ASP.NET Core: Thêm một Controller

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 →

Nhập môn ASP.NET Core MVC

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 →

10 modern layouts in 1 line of CSS

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 →

Xây dựng Progressive Web App (PWA) với Blazor WebAssembly

 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 →

Phát hiện, xử lý các lỗi và kiểm thử (testing) trong Android Studio (3.6 trở lên)

Ứ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 →

Lớp ViewModel trong Android

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 →

Data Binding trong Android (Phần 3)

Đố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 →

Data Binding trong Android (Phần 2)

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 →

Data Binding trong Android (Phần 1)

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 →

Hiệu ứng ảnh động trong ứng dụng Xamarin.Forms

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 →

Cài đặt bản Preview và tạo ứng dụng Blazor WebAssembly đầu tiên

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 →

Trực quan dữ liệu với thư viện TensorFlow.js

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

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 →

Blazor: Viết mã C# trên trình duyệt web

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 →

TensorFlow.js: Thư viện Machine Learning cho Web Developer

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 →

Đồng nhất giao diện iOS và Android dùng Material Design trong Xamarin.Forms

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 →

Nhập môn JavaScript hiện đại (Phần 2): Lập trình không đồng bộ

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 →

Học Python qua các thuật toán Machine Learning cơ bản – Thuật toán k-Nearest Neighbors (kNN) (tt)

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 →

[Xem và Học]: Change your habits: Modern techniques for modern C# – Bill Wagner

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 →

Cập nhật các mô hình Linear Regression dùng TensorFlow 2.X

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 →

Cập nhật nhanh TensorFlow 2.0

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 →

Sử dụng WebAssembly Studio

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 →

Xamarin.Essentials: API đa nền (cross-platform) cho các ứng dụng di động

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 →

Giải thích thêm về WebAssembly

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 →

Học Python qua các thuật toán Machine Learning cơ bản – Thuật toán k-Nearest Neighbors (kNN) (tt)

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 →

JavaScript hiện đại (Phần 1)

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 →

Một nhập môn về WebAssembly

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 →

Học Python qua các thuật toán Machine Learning cơ bản – Thuật toán k-Nearest Neighbors (kNN)

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 →

Các đặc trưng hữu ích trong C# (Phần 3) – Lập trình không đồng bộ (Asynchronous Programming)

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, ứng dụng Console đầu tiên và cách debug

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

Các đặc trưng hữu ích trong C# (Phần 2) – So khớp mẫu (Pattern Matching)

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 trong Android Studio

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 →

Các đặc trưng hữu ích trong C# (Phần 1)

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 →

Làm việc với dữ liệu nâng cao trong ASP.NET 4.X

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 →

Unit Testing (C#): Nguyên tắc RIGHT – BICEP

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 →

jQuery Mobile: Làm việc với các sự kiện (events)

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 →

[Đọc gì?] Code Complete, Steve McConnell (Phần 5)

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 →

Làm việc với Storage Access Framework trong Android (4.4)

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 →

[Đọc gì?] Advice for Computer Science College Students, Joel Spolsky

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 →

[Đọc gì?] Code Complete, Steve McConnell (Phần 4)

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 →

Unit Testing (C#): Viết các kiểm thử

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 →

[Đọc gì?] Pragmatic Thinking & Learning, Andy Hunt (Phần 2)

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 →

[Đọc gì?] Code Complete, Steve McConnell (Phần 3)

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 →

Khám phá thêm về data binding và mô hình MVVM trong Xamarin.Forms

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 →

[Đọc gì?] Code Complete, Steve McConnell (Phần 2)

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 →

jQuery Mobile: Sử dụng các tiện ích và các phương thức JavaScript

Qua các bài trước, chúng ta đã thấy được jQuery Mobile có thể làm gì giúp chúng ta tạo một giao diện website tương thích với các thiết bị di động. Tuy nhiên, có một vài thời điểm, chúng ta... Continue Reading →

[Đọc gì?] Pragmatic Thinking & Learning (Phần 1)

Đâ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 →

Machine Learning: Sử dụng API Python để thu thập và trích xuất dữ liệu

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 →

[Đọc gì?] Code Complete, Steve Mc Connell (Phần 1)

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 →

Các dịch vụ Android (Android Services)

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 →

Nhập môn Unit Testing trong .NET

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 →

jQuery Mobile: Hộp thoại, bố cục dạng lưới và khả năng thu gọn hay mở rộng nội dung

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 →

Machine Learning: Trích xuất dữ liệu từ các trang web dùng thư viện BeautifulSoup

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 →

Xamarin.Forms và SQLite

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 →

Nhập môn Kolin trong Android Studio 3.X (3.0 trở lên)

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 →

jQuery Mobile và HTML Forms

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 →

Machine Learning: Một vài khái niệm cơ bản trong xác suất (Probability)

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) và kết buộc dữ liệu (data binding) trong Xamarin.Forms

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 →

Refactoring: Improving the Design of Existing Code (Phần 5)

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 →

jQuery Mobile: Danh sách

Tạo một danh sách Chúng ta có thể tạo một danh sách bằng ngôn ngữ HTML dùng ol (danh sách có thứ tự) hay ul (danh sách không thứ tự) và phần việc định dạng giao diện danh sách trông... Continue Reading →

TensorFlow: Mô hình đa thức trong Linear Regression

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 →

jQuery Mobile: Thanh điều hướng (navigation bar)

Thanh điều hướng Trong bài trước, chúng ta đã làm quen với các nút trên vùng header và footer. Tuy nhiên, với jQuery Mobile, chúng  ta có thể tạo các thanh điều hướng, một công cụ hiệu quả hơn so... Continue Reading →

Machine Learning: Một vài khái niệm cơ bản trong thống kê (Statistic)

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 →

TensorFlow: Hàm mất mát (loss function) trong Linear Regression

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 →

TensorFlow: Cholesky Decomposition (Phân tích ma trận Cholesky)

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 →

Sử dụng Git và GitHub trong Visual Studio (từ 2017 trở lên)

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 →

Sử dụng Git và GitHub trong Android Studio 3.X

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 →

Các tiểu trình (threads) và lớp AsyncTask trong Android

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 →

TensorFlow: Kiểu dữ liệu (data types) và Lazy loading

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 →

jQuery Mobile: header và footer

Header Trong các bài viết trước về jQuery Mobile, chúng ta có thể dễ dàng thêm header của trang dùng thuộc tính data-role trong thẻ div như sau: Kết quả Chúng ta có thể làm cho header đẹp hơn bằng... Continue Reading →

TensorFlow: Các hàm toán học, vector và ma trận

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 →

jQuery Mobile: các thuộc tính data-title, data-prefetch và data-transition

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, biến (variable) và placeholder

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 →

Lập trình cơ sở dữ liệu trong Android (Phần 2) – Content Provider

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 →

jQuery Mobile: các liên kết và hiệu ứng Ajax

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 →

Infer.NET – Thư viện dành cho những người đam mê xác suất

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 →

Trực quan hóa dữ liệu dùng TensorBoard

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 →

Nhập môn TensorFlow

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 →

Thêm nhiều trang đến một tập tin HTML dùng jQuery Mobile

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 →

Refactoring: Improving the Design of Existing Code (Phần 4)

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 →

Refactoring: Improving the Design of Existing Code (Phần 3)

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 →

Animating CSS Grid

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

Phân vùng với jQuery Mobile

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 →

Refactoring: Improving the Design of Existing Code (Phần 2)

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 →

Refactoring: Improving the Design of Existing Code (Phần 1)

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 →

Sử dụng thư viện jQuery Mobile

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 →

Nhập môn CodePen

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 →

Thư viện Machine Learning cho nhà phát triển .NET

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 →

Lập trình cơ sở dữ liệu trong Android (Phần 1)

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 →

ĐỐI TƯỢNG INTENT TRONG ANDROID (Phần 3)

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 →

ĐỐI TƯỢNG INTENT TRONG ANDROID (Phần 2)

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 →

ĐỐI TƯỢNG INTENT TRONG ANDROID (Phần 1)

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 →

Tạo và quản lý thực đơn tùy chọn (overflow menus) trong Android

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 →

Lại một người hùng nữa ra đi

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 →

Fragments trong Android

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 →

Ngôn ngữ MarkDown

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 →

Phát hiện cử chỉ người dùng với lớp Android Gesture Detector

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 →

Sự kiện và xử lý sự kiện touch (chạm) và multi-touch (đa chạm) trong Android

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 →

Sự kiện và xử lý sự kiện trong Android

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 lập và nhận thông tin từ các Android views

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 →

Các views cơ bản trong giao diện ứng dụng Android

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 →

ConstraintLayout trong Android

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 →

Thiết kế giao diện người dùng Android với mã Java

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ế giao diện người dùng với công cụ thiết kế Android Studio 3.X

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) và điều hướng trang (navigation) trong Xamarin.Forms

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 →

Chu kỳ sống của ứng dụng Android và Activity

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 →

Chạy bằng WordPress.com.

Up ↑

%d người thích bài này: