
How Are Symbols And Strings Different?
Bạn đã bao giờ tự hỏi về sự khác nhau giữa symbols bà strings? Trong bài viết này mình sẽ nói về điều này. String được sử dụng để làm việc với data. Còn Symbols dùng để định danh. Khi nào thì sử dụng Symbols Một trong những cách sử dụng phổ biến nhất của symbols là đại diện cho các method ...

Dựng 1 image môi trường docker microservice cho project
Hiện nay có rất nhiều cách để build 1 môi trường cho develop phát triển dự án của mình. Docker là công cụ tuyệt vời nhất mà mình đã từng dùng qua, đơn giản, gọn nhẹ và hơn cả là với chỉ 1 file config đơn giản là bạn có thể giả lập tất cả các môi trường develop. Bài viết này mình ko giới thiệu ...

iOS Shared CoreData Storage for App Groups
Như bài viết trước mình đã giới thiệu về Today Extensions. Trong bài này chúng ta sẽ tiếp tục thực hiện các bước để lưu data cũng như cập nhật data cho app Today Extensions. Đầu tiên bạn cần tạo một app groups cho ứng dụng của bạn. Truy cập vào Apple Developer Member Center và đăng ký một app ...

Xử lý cấu trúc dữ liệu của JS với map/reduce
Map/reduce và spread operator là những cấu trúc rất mạnh mẽ của Javascript. Không chỉ giúp tăng khả năng đọc hiểu, tính chính xác mà chúng còn giúp đảm bảo tính bất biến của dữ liệu, bởi dữ liệu gốc ko bao giờ bị thay đổi. Sau đây là một số cheatsheet giúp bạn viết code đẹp hơn, ngắn gọn, xúc ...

Xây dựng ứng dụng React với Prisma, GraphQL, apollo
Theo định nghĩa GraphQL là Graph Query Language, một giao thức giao tiếp giữa client và server được Facebook tạo ra năm 2012. Client truy vấn đến server theo các format có sẵn Client truy vấn đến server qua duy nhất một endpoint, với RestAPI ta phải định nghĩa các endpoint khác nhau trên phía ...

Command Design Pattern trong Ruby
Tiếp nối cho chuổi Design Pattern trước thì hôm nay mình sẽ giới thiệu đến mọi người một Design Pattern thuộc loại Behavioural pattern đó là Command Pattern. Command Pattern là một behavioural pattern, Nó được sử dụng để đóng gói tất cả thông tin cần để thực hiện một action hay trigger một event ...

Lý do sử dụng async - await trong lập trình Nodejs
Trong lập trình không đồng bộ Nodejs, callback hell luôn là nỗi ám ảnh đối với developer trong ES5. Ví dụ như đoạn code dưới: Rất may mắn đến ES6, Promise đã giải quyết được cơ bản callback hell với cấu trúc then ... catch giúp code dễ đọc và bắt lỗi tốt hơn. let p = new ...

Sử dụng vector trong lập trình C++ - giải bài toán lập trình muôn thủa
Chào buổi tối mọi người, hôm nay lang thang trên mạng bắt gặp bài toán quen thuộc một thời của quãng đường sinh viên IT. Chắc hẳn rất nhiều bạn trong chúng ta đã gặp bài toán này hơn một lần trong suốt quá trình đi học ở giảng đường đại học. Đấy chính là câu số 1 trong đề thi dưới đây: Để ...

Linux and LPIC-1
Linux and LPIC-1 1. Linux là gì? Linux là một hệ điều hành máy tính dựa trên Unix được phát triển và phân phối qua mô hình phần mềm tự do mã nguồn mở. Thành phần cơ bản tạo nên Linux đó là nhân linux, một nhân hệ điều hành ra đời bản đầu tiên vào tháng 8 năm 1991 bởi Linus Torvalds. Nhiều ...

Phần ví dụ thiếu của Google Android Cho "Android Architecture Components"
Android Architecture Components Gần đây, Google đã phát hành Android Architecture Components, một tập hợp các thư viện giúp bạn phát triển các ứng dụng tốt, có thể dễ dàng sử dụng testable và maintain lại ứng dụng. Từ khi ra thư viện này ra đời, thì thực sự nó sẽ thay đổi cách các nhà phát ...

Animations cơ bản trong Swift
Basic View Animations Khởi tạo animation trên views là vấn đề thay đổi thuộc tính trên chúng và cho phép UIKit tự động thay đổi về hình dáng. Các thuộc tính mà chúng ta thay đổi là những thuộc tính Animatable: center alpha frame bounds transform backgroundColor contentStretch ...

Tạo 1 blockchain với Java (Part 2)
Trong bài viết trước mình đã giới thiệu qua về việc tạo block chain với Java. Các bạn có thể tham khảo bài viết trước ở đây. Trong bài viết này mình sẽ tiếp tục giới thiệu về việc khai thác các block. Chúng ta sẽ yêu cầu người khai thác phải làm việc bằng cách thử nghiệm nhiều giá trị khác nhau ...

Spring MVC - Hiểu nó theo cách đơn giản
Trong bài viết này mình xin chia sẻ chút kiến thức nền tảng của Spring MVC, giúp các bạn có thể hiểu được luồng đi của nó. Cơ chế xử lí Request và Response trong SpringMVC: Một ngày nọ bạn lướt web xem phim, bạn vô tình nhập vào đường link trong trình duyệt với nội dung là ...

Ứng dụng Google Maps chỉ đường từ nơi này đến nơi khác
Bạn có thể tính chỉ đường (sử dụng nhiều phương thức di chuyển khác nhau) bằng cách sử dụng đối tượng DirectionsService. Đối tượng này tương tác với Google Maps API Directions Service nhận yêu cầu chỉ đường và trả lại một kết quả chỉ đường chuẩn xác. Thời gian đi lại là yếu tố chính được ưu tiên, ...

Một số lưu ý khi viết RSpec
1. Viết miêu tả cho hàm Nội dung miêu tả RSpec phải được viết rõ ràng. Ví dụ như, nên sử dụng . (hoặc ::) khi đề cập đến tên class method và # khi đề cập đến tên instance method. # BAD describe 'the authenticate method for User' do describe 'if the user is an admin' do # GOOD describe ...

8 Xu hướng phát triển của ứng dụng trong năm 2018
Đợt này mình sẽ viết 1 bài khác chút so với những bài đã viết từ trước, đó là dự đoán xu hướng phát triển ứng dụng trong năm 2018, mặc dù đã qua được 2 tháng rồi nhưng rất có thể sẽ hữu ích với tất cả các bạn. Các bạn có thể tìm đọc các xu hướng về phần mềm của năm 2017, để xem độ chính xác ...

Eager loading get n related models per parent in Laravel
Đặt vấn đề Yêu cầu đặt ra khá đơn giản là mình có 1 bảng Post và 1 bảng Comment, 1 post có nhiều comments, bây giờ mình muốn lấy tất cả các bài post và mỗi bài post mình muốn lấy 1 comment mới nhất sử dụng Eager loading. Post::with([ 'comments' => function ($query) { ...

Giải thích về Javascript thời hiện đại cho khủng long
Đây là bài dịch, bài gốc mời các bạn xem ở đây: https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70 Thời nay, việc học Javascript sẽ rất là khoai nếu như bạn không theo dõi từ đầu sự bùng nổ và phát triển của JS trong những năm gần đây. Hệ sinh ...

Pair programming
Pair programming lặp trình cặp (hay còn gọi là Pair programming) là một cách phát triển phần mềm, ở đó hai nhà phát triển cùng làm việc trên chỉ một máy tính, một người lái (driver), một người làm hoa tiêu (navigator). Người lái tập trung vào sách lước – viết cho mã nguồn chạy được, hoa tiêu tập ...

5 Laravel Helpers hữu ích đối với bạn
Bài dịch từ trang laravel-news.com Laravel cung cấp rất nhiều các helper function giúp cho bạn cảm thấy đơn giản hơn trong việc viết code, tôi khuyến khích bạn nên sử dụng chúng hàng ngày khi bạn làm việc với Laravel. Trong bài viết này tôi muốn chỉ ra một vài helper functions mà tôi thấy ổn. ...