Callback và Promise trong javascript(18+ version)

Callback Giả sử bạn là sinh viên nghèo nhưng ham học. Vì học nhiều nên đầu óc căng thẳng, mệt mỏi, bạn đã nảy ra ý định dẫn gấu đi nhà nghỉ cho đỡ mệt. Chuẩn bị gọi cho gấu thì bạn nhận ra trong ví còn có 100k. Thế này méo ổn, dạo này trên mạng ra rả chuyện của mấy thằng mang 100k đi chơi(với) ...

Tác giả: Tạ Quốc Bảo viết 15:43 ngày 12/08/2018

Spree-e-commerce (Phần II) Xây dựng Web server trên nền tảng Spree

Như phần trước Phần I tìm hiểu về Spree - e - commerce chắc hẳn các bạn đã có cái nhìn cơ bản về ecommerce này, tuy nhiên sức mạnh của Spree không chỉ dừng lại ở đó, trong phần này mình xin tiếp tục giới thiệu một phần khác của Spree khá hay - biến Spree thành một Web server. Web server - khái niệm ...

Tác giả: Tạ Quốc Bảo viết 15:43 ngày 12/08/2018

Tích hợp Facebook Graph APIs vào Rails app

Trong bài viết này, chúng ta sẽ tìm hiểu làm thế nào để sử dụng facebook graph API, tích hợp chúng vào 1 ứng dụng Rails. Chúng ta sẽ dùng 2 gem là omniauth-facebook và koala. Omniauth-Facebook và Koala Omniauth-facebook là gem cho phép chúng ta thực hiện việc xác thực người dùng trên facebook. ...

Tác giả: Tạ Quốc Bảo viết 15:43 ngày 12/08/2018

Sự khác nhau giữa Block, Proc, và Lamdba trong Ruby

Block, Proc, và Lamdba là gì ? Theo định nghĩa kỹ thuật : thì nó là ví dụ của closures trong Ruby. Có thể hiểu closures là một hàm được tạo ra từ bên trong một hàm khác (hàm cha), và nó có thể sử dụng các biến toàn cục, cục bộ của hàm cha và chính nó. Viết code kiểu closures có thể giúp code dễ ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018

So sánh Reference vs Value Types trong Swift (P1)

Giới thiệu Một trong những lưu ý thay đổi lớn nhất với các nhà phát triển khi chuyển từ Objective-C sang Swift đó là việc mở rộng của Value types (kiểu giá trị) và Reference types (kiểu tham chiếu) Vậy Value types và Reference types là gì? Chúng khác nhau như thế nào? Chúng ta hãy cùng ...

Tác giả: Bùi Văn Nam viết 15:43 ngày 12/08/2018

Tìm hiểu về Redis trong Laravel

GIỚI THIỆU Redis là một dự án store mã nguồn mở để lưu các cặp dữ liệu kiểu key-value. Nó thường được gọi là server cấu trúc dữ liệu vì các khoá có thử chứa dữ liệu kiểu strings, hashes, lists, sets, và sorted sets . Trước khi sử dụng Redis với Laravel, bạn sẽ cần cài thư viện predis/predis ...

Tác giả: Tạ Quốc Bảo viết 15:43 ngày 12/08/2018

PHỐI HỢP KIỂM THỬ HIỆU SUẤT VỚI QUÁ TRÌNH LẶP CƠ BẢN (PHẦN 1)

Tìm hiểu cách tiếp cận để phối hợp kiểm thử hiệu suất với quá trình lặp cơ bản Tìm hiểu cách phát hiện và giải quyết các vấn đề chính trong dự án sớm nhất có thể. Tìm hiểu làm thế nào để tối đa hóa tính linh hoạt mà không bị mất kiểm soát Tìm hiểu cách cung cấp cho các nhà quản lý và các bên ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018

Hướng dẫn tạo ứng dụng chat trong React kết hợp với Firebase - Phần 2

Xin chào các bạn, bây giờ tiếp tục với bài viết ở phần 1, hôm nay mình sẽ tiếp tục với phần 2, để xử lí các sự kiện khi người dùng nhập message vào, lưu message cũng như tên user vào firebase. Ở phần trước mình chỉ làm phần thô khi cho hiển thị message cũng như user ra, giao diện ở phần 1 sẽ như ...

Tác giả: Bùi Văn Nam viết 15:43 ngày 12/08/2018

Ruby Contructors

Giới thiệu 'Visual Basic .NET Dim sf As BaseballTeam = New BaseballTeam("San Francisco Giants") 'Dim - Allocates space for one or more variables 'As - Identifies a data type in a declaration 'New - Creates a new object instace #Ruby sf = BaseballTeam.new("San Francisco Giants") #Ruby ...

Tác giả: Bùi Văn Nam viết 15:43 ngày 12/08/2018

Bắt Đầu với Javascript (P3)

Trong phần trước chúng ta đã tìm hiểu về một số cú pháp cơ bản và khai báo biến. Trong phần này chúng ta sẽ tìm hiểu về các kiểu dữ liệu và literals trong javaScript. 1. Data structures and types Data types Các tiêu chuẩn ECMAScript mới nhất xác định bảy loại dữ liệu: Sáu kiểu dữ liệu ...

Tác giả: Tạ Quốc Bảo viết 15:43 ngày 12/08/2018

ActiveStorage: Lưu trữ file trong ứng dụng Rails

Active Storage giúp đơn giản hóa việc tải lên và tham chiếu tệp trong các dịch vụ đám mây, như Amazon S3 hoặc Google Cloud Storage, và đính kèm các tệp đó vào Active Records. Nó cũng cung cấp một dịch vụ disk để thử nghiệm hoặc triển khai nội bộ, nhưng vẫn tập trung vào lưu trữ đám mây. Các tệp tin ...

Tác giả: Hoàng Hải Đăng viết 15:43 ngày 12/08/2018

Tăng tốc Bundler bằng command đơn giản

Lý do Bạn có cảm thấy rằng bạn đang tốn quá nhiều thời gian cho việc chạy bundle install? Giải pháp Bạn không cần phải "Đấu kiếm" nữa. Bundler từ version 1.4.0 đã support việc install các bundle một cách song song. Chỉ cần truyền --jobs SIZE vào bundle config. Có một điểm chú ý là bạn chỉ ...

Tác giả: Hoàng Hải Đăng viết 15:43 ngày 12/08/2018

Giới thiệu searchkick - gem hỗ trợ tìm kiếm trong Rails

Tìm kiếm là tính năng không thể thiếu của một trang web thời nay, và ElasticSearch là cái tên quá nổi tiếng. Tuy nhiên, trong bài viết này, mình muốn đề cập đén searchkick - gem hỗ trợ tìm kiếm rất tốt, dễ sử dụng hơn ES và còn quen thuộc hơn với Ruby dev. Link gem Searchkick. Cùng tìm hiểu qua ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018

Quản lý các file cá nhân trong Rails app với S3

Để quản lý các file cá nhân trên Rails app, gem Paperclip có thể thực hiện tốt nhiệm vụ này. Khi application lớn dần, ta sẽ muốn lưu trữ các file ở một vị trí khác, thay vì lưu trực tiếp trên server. Đưa các file lưu trữ ra khỏi server vừa giúp cho application có thêm không gian phát triển vừa có ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018

10 Nguyên tắc lắng nghe và cư xử trong công việc.

Một người nghe tốt sẽ lắng nghe không chỉ những gì đang được nói, mà còn để những gì còn lại không nói hoặc chỉ một phần nói. Nghe hiệu quả do đó liên quan đến việc quan sát ngôn ngữ cơ thể và nhận thấy sự mâu thuẫn giữa các thông điệp bằng lời nói và không lời, cũng như những gì đang được nói ở ...

Tác giả: Bùi Văn Nam viết 15:43 ngày 12/08/2018

Sử dụng Room Persistence Library trong android

Trứớc khi bắt đầu sử dụng Room trong project android chúng ta hãy cùng tìm hiểu xem liệu Room là gì và các thành phần cơ bản của nó. Room là một Persistence Library được google giới thiệu trong sự kiện google I/O mới đây, nó là một abstract layer cung cấp cách thức truy câp thao tác với dữ liệu ...

Tác giả: Bùi Văn Nam viết 15:43 ngày 12/08/2018

each - find_each - find_in_batches - nil? - blank? - empty? - present? in rails

Giới thiệu: khi chúng ta muốn thao tác với một số lượng lớn các bản ghi ví dụ như gửi mail cho nhiều user, hoặc update thông tin của nhiều user... chúng ta đều sử dụng vòng lặp để thực hiện. Trong rails có rất nhiều phương thức để thực hiện điều đó như: each find_each find_in_batches ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018

This trong JS

Ta có thể hiểu this trong JS cũng giống như trong ngôn ngữ tự nhiên của tiếng Anh. Nó giống như một danh từ để thay thế cho danh từ khác tránh việc lặp đi lặp lại. Ví dụ Michael is handsome because he is rich danh từ he ở trên là để tránh việc lặp lại Michael Xét tiếp ví dụ tiếp về sử dụng ...

Tác giả: Hoàng Hải Đăng viết 15:43 ngày 12/08/2018

Giới thiệu Laravel Package Development

Laravel Package là một hình thức thêm chức năng cho laravel, để chúng ta có thể sử dụng được ở bất cứ project nào mà chúng ta muốn. Không cần lặp đi lặp lại một hành đồng là copy và paste từ project này sang project khác, mặt khác chúng ta cũng có thể public package này ra cho nhưng dev khác dùng ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018

Tip nhanh: Không lặp code khi viết Test Validations Model

Tôi đã làm việc trên các ứng dụng và cần viết test cho các model. Tôi đã phải lặp lại các bài test validation cho mỗi trường, mỗi model dẫn đến việc code bị trùng lặp. Vì vậy, tôi sẽ chia sẻ giải pháp cho vấn đề này, sẽ giúp chúng ta tránh lặp lại test cho các validation tương tự nhau trong mỗi ...

Tác giả: Trịnh Tiến Mạnh viết 15:43 ngày 12/08/2018