Firebase - Redux Saga - Chat App Part 2

Phần này mình sẽ nói tiếp về phần async trong việc lắng nghe message được tạo mới, edit, delete. Đây có lẽ là phần không thể thiếu khi bạn muốn làm một ứng dụng chat. Đầu tiên thì để nghe được các event như message mới được tạo ra, hay edit hay delete thì chúng ta phải lắng nghe các thay đổi dử ...

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

Debug tại sao Rspec của bạn lại chậm?

Khi dự án của bạn đã trải qua một khoảng thời gian kha khá, số lượng test suite khá nhiều thì không có gì lạ khi thời gian chạy toàn bộ unit test của dự án tuơng đối lâu, vài chục phút không phải là hiếm gặp, cá biệt có khi nên tới cả tiếng đồng hồ. Nhưng số lượng test suit chưa hẳn là nguyên nhân ...

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

State machine trong Rails 5

Bạn đang xây dựng một model với các trạng thái khác nhau. Bạn vẫn có thể thiết kế model của bạn mà không cần sử dụng đến state machine. Bạn vẫn có thể viết thêm vài validation, các phương thức instance và helper để làm cho mọi thứ hoạt động bình thường. Bạn có thể làm điều đó miễn là model của bạn ...

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

Function và một số hàm thường dùng để xử lý string và number trong SASS

1. Function là gì? Function không còn xa lại gì trong các ngôn ngữ lập trình nhưng với SASS thì nó là một khái niệm khá mới lạ và đương nhiên cũng rất là hữu ích trong việc xây dựng CSS . Về chức năng của function cũng tương tự như @mixin, tuy nhiên nếu phân tích kỹ thì @mixin giống như ...

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

Một vài thứ giúp ích bạn khi học và làm dự án Laravel

Thỉnh thoảng ngồi lướt facebook mình hay focus vào các group, page về Laravel Framework, đọc về các issue mọi người hỏi và trả lời, các chia sẻ về các package cá nhân, link bài viết hay, các công nghệ mới => Đó là một cách học thêm rất thú vị. Nhân đây mình cũng chia sẻ tới các bạn vài thứ mình ...

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

iOS Clean Architecture(P1)

Introduction Chắc hẳn với mỗi chúng ta, trước khi chúng ta bắt tay vào làm dự án thì phần xây dựng kiến trúc, tổ chức dự án là điều đầu tiên và rất quan trọng trước khi bắt đầu code. Một số mô hình nổi tiếng như: MVC, MVP, VIPER, MVVM... đã rất quen thuộc với chúng ta. Hôm nay mình xin giới thiệu ...

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

Sử dụng Javascript console một cách hiệu quả !!

Giống như lập trình viên web, việc debug code là rất quan trọng. Khi chúng ta nghĩ đến console, điều đầu tiên xuất hiện trong đầu chính là console.log đúng không ?? Nhưng thật ra javascript còn vượt xa cả trí tưởng tượng của bạn. Và bây giờ chúng ta cùng đi tìm hiểu một vài bí mật của console ...

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

Building a Custom View - TicTacToe (Part 1)

Trong bài viết này sẽ hướng dẫn vẽ trên Canvas. Tạo Custom View hay ViewGroup không bắt buộc. Tuy nhiên có 1 số lí do sau ta nên xem xét để tạo custom view: Tạo UI và animation mà các widget hiện tại không có Tạo component có thể sử dụng lại Tránh tạo deeply nested hierarchies cải thiện ...

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

Thao tác với tệp có dung lượng lớn trong Ruby

Làm việc với những file dữ liệu lớn, điển hình là CSV không phải là chuyện hiếm gặp. Với Ruby, có khá nhiều cách để xử lý thông tin những file này, nhưng hay cùng kiểm chứng xem tài nguyên hệ thống được tiêu tốn thế nào cho mỗi cách. Khởi tạo môi trường Ruby version : 2.4.0 Operation : macOS ...

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

Cài đặt Neo4j Trên Centos7

phần mềm yêu cầu : wget và vim nếu bạn chưa có 2 pm này thì hãy cài qua yum như sau: yum install vim yum install wget Bước 1 chúng ta cần import key của neotechnology trước đã: gõ vào terminal những lệnh sau : cd /tmp wget http://debian.neo4j.org/neotechnology.gpg.key rpm ...

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

[Frond-end] Auto refresh browser

Demo: https://minhlong.github.io/Front-End-Auto-Refresh-Browser Source: https://github.com/minhlong/Front-End-Auto-Refresh-Browser Tự Sự Chuyện là hôm rồi mình có làm 1 trang frond-end cho boss. Trang này có gắn hình Ngọc Trinh da trắng nõn ... nhưng mình nghĩ thêm chút màu vàng saphia cho nó ...

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

Tạo style for Text using spans

Để tạo style text trong Android, chúng ta sẽ sử dụng spans! Thay đổi màu của một vài ký tự trong text, tạo text nhấp nháy, scale size text hoặc vẽ các điểm bullet với spans. Spans có thể thay đổi các thuộc tính của TextPaint, vẽ trên Canvas, hoặc thậm chí thay đổi cả bố cục văn bản hay là ảnh ...

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

10 mẹo cải thiện code ruby của bạn ( hoặc có thể không)

Bài viết dưới đây tôi sẽ giới thiệu cho các bạn 10 tính năng thú vị có trong Ruby code mà có thể các bạn đã biết hoặc không (nếu không thì nhớ upvote nhé=)) ). 1. Create a hash from a list of values: Để tạo được 1 Hash thì có rất nhiều cách rồi, tuy nhiên vẫn có một mẹo tạo nhanh 1 Hash từ 1 ...

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

Action Extension trong iOS

Trước hết App Extension theo định nghĩa của Apple là tiện ích mở rộng của ứng dụng cung cấp cho Users quyền truy cập vào chức năng và nội dung của ứng dụng của bạn trên iOS. Action Extension là một phần mở rộng được Apple cung cấp để người phát triển có thể tạo ra một phần chức năng có sẳn ở một ...

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

S.O.L.I.D principles and apply for Swift

S.O.L.I.D principles là những nguyên lý nổi tiếng trong lập trình mà rất nhiều lập trình viên đều biết hoặc ít nhất một lần nghe về chúng, và được xem là 5 nguyên lý đầu tiên trong thiết kế. Chúng được Robert C.Martin (Uncle Bob) đưa ra trong "Part III Design Principles" của quyển sách "Clean ...

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

Component, State và Props trong React Native

Concept cơ bản đằng sau React và React Native đó là việc chia nhỏ app của chúng ta thành các Component . Hãy cùng xem giao diện của một màn hình dưới đây (https://github.com/finetimi/react-native-reddit) Có thể nói tất những gì bạn thấy trong ảnh đều là Component . Ví dụ phần khoanh vùng ...

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

Import CSV data và một vài câu chuyện thường gặp phải

Khi tôi thực hiện import 1 file CSV vào database, thì có một vài vấn đề mà tôi đã từng gặp phải: Vấn đề hiệu năng khi import Đánh index elasticsearch data import Import dữ liệu có xử lý validation Vấn đề hiệu năng khi import Vấn đề này đã được đề cập nhiều, khi import 1 file, nếu chỉ là ...

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

Navigation Drawer for a Single Screen Demo in React-Native

So i encountered a little problem recently, perhaps because i am a newb at react-native. It is easy to implement navigation drawer (that is supported in both Android and IOS) but when it comes to some customizations, it isnt easy to find the right documentation online. When you are trying to decide ...

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

CRUD với react và ruby on rails - Phần 2

Hiển thị tất cả các Items Như ở phần trước (P1) mình có nói tất cả các item sẽ được liệt kê trong component. Trong componentcũng sẽ chứa một biểu mẫu (form) để thực hiện việc thêm dữ liệu. Để thực hiện được việc hiển thị và form thêm dữ liệu chúng ta cần tạo thêm các file sau: ...

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

Slice Builders KTX Trong Android

Slice là một API mới được giới thiệu trong AndroidX 1.0.0, tương thích với API 19 trở lên. Các Slice cung cấp nội dung tương tác, năng động và phong phú từ ứng dụng của bạn sẽ được hiển thị từ trong ứng dụng Google Search hoặc Google Assistant. Hiện tại, bạn có thể kiểm tra các Slices của mình ...

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