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) ...
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í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. ...
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ễ ...
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ì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 ...
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 ...
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ư ...
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 ...
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 ...
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ă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ỉ ...
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 ...
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ó ...
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 ở ...
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 ...
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 ...
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 ...
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 ...
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 ...