Background jobs với resque gem, cách hoạt động của các background job framework

Resque là một trong ba background processing frameworks được sử dụng phổ biến nhất hiện nay (delay_job, sidekiq, resque). Resque có nhiều ưu điểm trong đó có ưu điểm về tốc độ và sự phân tách tốt giữa background và foreground code trong ứng dụng. Bài viết này tôi sẽ giới thiệu đến các bạn cách sử ...

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

Phong tục đón năm mới ở Nhật Bản

Như các bạn đã biết, Nhật Bản là nước châu Á đầu tiên mở cửa du nhập văn hóa, văn minh phương Tây ngay từ năm 1868 với cuộc cải cách Duy Tân mang tên Thiên hoàng Minh Trị. Cũng do ảnh hưởng văn hóa phương Tây nên người Nhật từ lâu đã không đón Tết Nguyên đán theo thời gian âm lịch như Trung Quốc, ...

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

Fake api với WebMock

Mở đầu Xin chào, chúc cả nhà năm mới vui vẻ!!! Thời gian gần đây mình đang code liên quan đến việc gọi API - chắc đây cũng là khái niệm khá là quen thuộc với các bạn. Mình đang sử dụng thư viện HTTParty để làm việc (bạn có thể xem cụ thể về thư viện này ở đây) Thông thường, với kết nối ...

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

Phong cách làm việc với khách hàng Nhật - Hou Ren Sou

Như chúng ta đã biết, trong cách làm việc với các bác Nhật thì Hou-Ren-Sou là không thể thiếu. Nhưng thế nào mới là làm đúng Hou-Ren-Sou? Bị cấp trên, khách hàng hỏi "Tại sao nó lại trở nên như thế này" Tiến độ dự án bị chậm, phải dời deadline. Sản phẩm cuối bị reject hay bị trả lại. Tất ...

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

Non-Relational SQL ( MongoDB ) với Python và Django (Phần 2)

Tiếp chủ đề về truy vấn dữ liệu MongoDB trong Python và Django 5. Truy vấn dữ liệu Mongoengine hỗ trợ truy vẫn ORM tương đối mạnh nên chúng ta có thể hoàn toàn truy vấn dữ liệu hoàn toàn dựa trên các model dữ liệu đã định nghĩa sẵn. Nếu bạn đã quen với cách truy vấn dữ liệu trong Django thì ...

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

Multi Request HTTP or HTTPS With Typhoeus Gem

Multi Request HTTP or HTTPS With Typhoeus Gem There are many kinds of complexity that you have to deal with developing software and different kinds of applications will have very different sets of problems you need to solve. With this article, I want to show you about one Technich of Gem that ...

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

Sử dụng Lambda Expression trong Android Studio với Retrolambda

Lambda Expression xuất hiện từ phiên bản Java 8 được giới thiệu là tính năng hữu ích nhất của phiên bản Java 8, nó làm đơn giản hóa việc phát triển mã nguồn hơn rất nhiều. Vấn đề là Android chưa hỗ trợ Java 8 (nên cũng không có Lambda Expression luôn). Tuy nhiên các nhà phát triển đã tạo ra ...

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

React với AngularJS - có gì khác nhau

Mục đích của bài này là đi qua việc xây dựng một vài tính năng đơn giản sử dụng Angular và React thông qua đó giúp bạn hiểu cần phải làm gì để có thể làm một ứng dụng. Angular là người khổng lồ trong cuộc chiến này, vì nó xuất hiện trước React, nhưng React có ưu điểm về hiệu năng hiển thị ...

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

Flux in reactjs

1. Flux là gì? Flux và ReactJS cùng được tạo ra bởi Facebook để giải quyết một số những vấn đề rất đặc thù của bản thân Facebook Trước khi có Flux và React thì hệ thống model và view của facebook như sau: Do tương tác của người dùng là ở View nên đôi khi View cần phải update ngược lại ...

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

Tổng quan về kiểm thử phần mềm

Kiểm thử -** test **là một quá trình đánh giá một hệ thống hay là các thành phần của nó với mục đích là xác định xem nó có thỏa mãn những yêu cầu được đưa ra hay không. Hiểu một cách đơn giản, kiểm thử - test là chạy một chương trình để xác nhận bất kì lỗ hổng, lỗi sai hay những yêu cầu bị bỏ ...

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

Hướng dẫn xây dựng web site đa ngôn ngữ bằng Rails

Hiện nay, hều hết các trang web nổi tiếng mà bạn vào hằng ngày, bạn có thể dễ thấy được phần lựa chọn ngôn ngữ hiển thị cho trang web, có rất nhiều thứ tiếng có thể chọn như tiếng Anh, Pháp, Việt Nam, Nhật Bản ... Và sau khi bạn chọn chế độ ngôn ngữ hiển thị nào thì từ đó về sau tất cả nội dung mà ...

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

DOM trong JAVASCRIP (Giới thiệu DOM)- Part2

Trong bài này, mình xin tiếp tục giới thiệu thêm thành phần của DOM nữa. Đó là DOM dùng để xử lý CSS với các thao tác thay đổi CSS bằng JavaScrip và xử lý các hiệu ứng để làm website động ở client. Mình xin giới thiệu luôn cú pháp của JQuery để giúp các bạn có thể nắm luôn được cách sử dụng JQ - ...

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

Sử dụng Oauth2

Để cho nhanh chóng, các bạn muốn biết Oauth2 để làm cái gì thì mời các bạn đọc bài Introduction to Oauth2 của anh Tùng D. Bài này mình sẽ giới thiệu cách sử dụng 1 package Oauth2 trong Laravel. Giới thiệu package Ở đây mình muốn giới thiệu package oauth2 server laravel mà mình đã dùng qua. Nó ...

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

AirDdroid- Phần mền kết nối điện thoại Android với máy tính không cần cáp

Air Android- Phần mền kết nối điện thoại Android với máy tính không cần cáp 1.Giới thiệu về AirDoird: Nếu các bạn đã từng thực hiện kiểm tra một chức năng nào đó trên điện thoại ắt hẳn sẽ biết chúng ra sẽ sử dụng APK, một bản code của chức năng do dev tạo ra để kiểm tra chức năng. Chúng ...

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

Tweak up AngularJS

Understanding data-binding and watchers Databinding là kỹ thuật dùng để tạo sự gắn kết giữa phần giao diện (UI) và dữ liệu thông qua phần business logic. Nhờ Databinding, UI có thể tự động cập nhật lại để hiển thị các thay đổi trong dữ liệu cũng như cập nhật từ UI vào dữ liệu. Để làm được điều ...

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

Grunt: The Javascript Automation Task

As a web development evolved, I noticed that it is becomming really popular now that web developers prefer to split their project into managable module like separate between fontend and backend development which open up flexibility for both teams from frontend and backend to work in parallels with ...

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

Giải quyết vấn đề khi requirement không đầy đủ

Có rất nhiều trường hợp tồi tệ xảy ra khi project thiếu requirement. Nhưng không có gì là hoàn hảo do đó phải tìm cách đối mặt và giải quyết vấn đề thiếu yêu cầu hoặc yêu cầu dự án nghèo nàn 1. Không có requirement Không có yêu cầu do đó không thể tự tin biết được sản phẩm làm ra sẽ như ...

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

Custom Font (Typeface) ChoTextView, EditText , Button Trong Android

Android phát hành phiên bản Ice Cream Sandwich với Typeface (fonts) mặc định được gọi là Roboto , theo nhận xét của tôi đó là kiểu chữ đẹp và hấp dẫn. Trong quá trình xây dựng và phát triển ứng dụng cho khách hàng, rất nhiều ứng dụng yêu cầu và đòi hỏi phải custom một kiểu chữ riêng theo yêu ...

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

Polymorphic Associations in Rails - Part 02

Ở phần trước mình đã viết bài tìm hiểu về đa hình trong Rails, trình bày tóm tắt và đưa ra ví dụ về mối quan hệ này. Phần tiếp theo này mình viết thêm chi tiết hơn về một ví dụ sử dụng mối quan hệ này. Bài toán đặt ra như sau: Bạn có một website bán hoa (gọi là shop hoa Tết) chẳng hạn, khi ấy ...

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

Sử dụng RxJava, RxAndroid và Retrolamda

Reactive Programming là lập trình với các dòng dữ liệu bất đồng bộ. Sau khi đọc hàng chục bài viết, cày nát hàng trăm đoạn mô tả định nghĩa thì cuối cùng mình cũng "chưa hiểu gì". Tất cả những gì mình biết về Reactive Programming chỉ có vậy (facepalm). Đọc bài chán quá nên mình chuyển hướng sang ...

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