
Shunting-yard algorithm
Khi học năm thứ 3 đại học mình có tiếp xúc với lập trình android và personal project đầu tiên của mình về android là làm một ứng dụng máy tính để tính toán cộng, trừ, nhân, chia với 2 toán hạng 1 + 1 và mới đây có một người hỏi mình về việc làm một ứng dụng android giả lập một chiếc máy tính ...

Một vài vấn đề về Active Record Associations (phần 4)
Trong phần cuối này chúng ta cùng tìm hiểu nốt về has_and_belongs_to_many và Association Callbacks 1. has_and_belongs_to_many Association Reference association này tạo 1 quan hệ nhiều nhiều với model khác. Trong cơ sở dữ liệu, 2 bảng quan hệ được liên kết qua 1 bảng trung gian có khóa ngoài ...

Bài toán phân quyền trên Laravel
Là một lập trình viên , chắc hẳn ai cũng phải làm bài toán quản trị Thêm , Sửa, Xóa .... Đây gần như là bài toán mà hầu như lập trình viên nào cũng phải làm qua. Tuy nhiên ngày hôm nay mình sẽ không nói về các bài toán phổ thông trên mà sẽ nói về bài toán ít phổ thông hơn. Đó là bài toán phân ...

CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM
Sở dĩ mô hình này được gọi là mô hình thác nước vì khi chúng ta nhìn vào hình ảnh trên có thể thấy nó rất giống một dòng thác, nước đổ từ trên xuống dưới và cũng chính vì vậy nên nó không bao giờ có chiều ngược lại, đây cũng là nhược điểm của mô hình này và ta sẽ nói ở đoạn sau. Mô hình này ...

Prototype pattern in C#
Trong bài trước thì mình đã giới thiệu về "Factory Method Pattern in C#" , hôm nay thì mình xin tiếp tục giới thiệu về 1 pattern trong "Creational Patterns" , đó chính là Prototype . Prototype được sử dụng để tạo ra object từ 1 object nguyên mẫu, bằng cách copy các thuộc tính của object ...

[Android] Viết logs không cần code
Khi thực hiện debug project Android, đôi khi chúng ta phải đặt vào đoạn logging để theo dõi luồng hoạt động của code. class MainActivity : AppCompatActivity() { lateinit var retrofit: Retrofit override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceSta ...

Services và WorkManager - Part 1 : Android memory
Tại Google IO 2018, có một khái niệm mới, gọi là WorkManager, là một phần trong JetPack. Nó sinh ra để giải quyết những vấn đề phức tạp gặp phải khi các ứng dụng ngày càng làm nhiều việc ở background. Bài viết này chúng ta sẽ tìm hiểu kỹ hơn về nó và lý do đằng sau việc xây dựng nó. Chúng ta sẽ có ...

Một vài bài học dành cho các bạn mới lập trình Ruby on rails
Sau khi được làm dự án thực tế, mình có học được 1 số bài học về tech và các kinh nghiệm từ các anh leader. Hôm nay mình xin chia sẻ với các bạn, đặc biệt là giành cho các bạn mới lập trình Ruby on Rails. 1. Câu lệnh với TH object bị nil account.birth_day.nil? ? ' : account.birth_day.to_s(:lo ...

Pure css Parallax scrolling
1. Giới thiệu về parallax scrolling Kỹ thuật Parallax Scrolling được Ian Coyle tạo ra và áp dụng lần đầu tiên vào năm 2011 và cho đến hôm nay vẫn còn đang được sử dụng rộng rãi cho nhiều website trên thế giới. “Parallax” là từ thường được dùng trong video games 2D, sử dụng ...

5 quy tắc cơ bản trong xây dựng cấu trúc một project Node.js
Không giống như với PHP, phần lớn các Node.js framework không có một cấu trúc thư mục cố định. Điều này giúp chúng ta có thể linh hoạt hơn trong việc tự xây dựng cấu trúc theo nhu cầu và sở thích của mình. Tuy nhiên đó cũng sẽ là một thử thách không mấy đơn giản đối với người mới bắt đầu. Việc xây ...

Sự kết hợp giữa Angular 5, Ng2-smart-table và Rails
Hẳn trong số chúng ta đã rất nhiều bạn sử dụng các tư viện về table, mục địch của các thư viện này giúp bạn xử lí dữ liệu, cũng như các hành động trên table được tốt hơn ngoài ra mỗi table sẽ có những tiện ích riêng cũng như vẻ đẹp riêng biệt. Hôm nay mình xin giới thiệu đến các bạn thư viện ...

3 nguyên lý chính trong Service Objects Design Patterns của RoR
Service Objects là một mô hình để làm giảm tính xử lý ở Controller và Models trong Ruby on Rails(RoR). Một Service Object là một PORO(Plain old Ruby Object), có nghĩa là tách các vấn dề có tính nghiệp vụ vào một thành các Class, methods để để hỗ trợ việc quản lý. Nguyên lý thứ nhất: Chỉ có một ...

9 trick nhỏ giúp code JS gọn hơn
Bài viết đc dịch từ: https://medium.freecodecamp.org/9-neat-javascript-tricks-e2742f2735c3 1. Clear hoặc truncate một array Chỉ bằng cách thay đổi length, bạn có thể clear hoặc truncate một array mà ko cần reassign nó. const arr = [ 11 , 22 , 33 , 44 , 55 , 66 ] ; // ...

Cài đặt kết nối Wifi cho ESP8266
Xin chào các bạn, mình đã quay trở lại rồi đây. Như đã nói ở bài trước bài hôm nay mình xin viết về việc cài đặt chương trình thiết lập kết nối vào mạng wifi cho ESP8266. Trong bài viết này mình vẫn sử dụng em wemos d1 mini như những bài trước. Ý tưởng để gửi SSID và PASS của wifi cho ...

Chỉ số chất lượng của một tester: 22 giá trị cốt lõi để trở thành người kiểm thử tốt
Hướng dẫn này cung cấp cho bạn một danh sách các tính năng đặc trưng mà bất kỳ người kiểm thử nào cũng phải có để trở thành một người kiểm thử tốt. Và những tính năng này, lần lượt, giúp đỡ rất nhiều trong việc xác định chỉ số Chất lượng của một Tester. Tại sao tôi chỉ nói về một Tester? Và Tại ...

ASP.NET MVC Tip #14 – Tạo Template Helper Method
Trong mẹo này, bạn sẽ tìm hiểu cách tạo và sử dụng các mẫu trong framework MVC mà bạn có thể sử dụng để hiển thị dữ liệu trong cơ sở dữ liệu. Tôi sẽ chỉ cho bạn cách tạo một method MVC Helper mới có tên là method RenderTemplate(). Trong khi tôi trở về nhà ở California trong 4 ngày của cuối tuần ...

Database testing trong dự án Agile
Ra đời vào đầu những năm 80, cơ sở dữ liệu có thể coi là bước ngoặt lớn trong ngành IT. Tuy nhiên, hơn 90% doanh nghiệp chỉ có 10 nhân viên sử dụng hệ thống CRM(hệ thống quản lý quan hệ khách hàng) và các giải pháp kinh doanh khác dựa trên cơ sở dữ liệu. Quản trị quan hệ khách hàng giúp doanh ...

Hướng dẫn từng bước thay đổi nghề nghiệp từ Tester sang BA (Business Analyst) - Nhà phân tích nghiệp vụ
Một chuyên gia kiểm thử là người kiểm tra phần mềm được phát triển để đảm bảo phần mềm đáp ứng các yêu cầu cuối cùng của khách hàng. Chuyên viên phân tích nghiệp vụ cũng chịu trách nhiệm xác minh phần mềm được xây dựng và phân phối có đáp ứng các yêu cầu cuối cùng của khách hàng hay không. Khía ...

Software development methodology
A few software development methodologies Software development is a process by which an individual or a team uses a programming language to build the software. It includes the programming code, the functions that were developed of software. In addition, software development is also known as ...

Android - Mp3 Recorder
Giới thiệu Như chúng ta đã biết, Android SDK cung cấp khá nhiều api hữu dụng để khai thác các chức năng trên smartphone, bao gồm cả ghi âm và phát audio. Android cung cấp cho chúng ta lớp MediaRecorder để sử dụng trong việc ghi âm hoặc quay video thông qua mic và camera của thiết bị. Tuy ...