Building a Website with Odoo 11

1. CMS là gì? Ứng dụng Website Builder có sẵn cho Odoo 11 thường được gọi là CMS (hoặc hệ thống quản lý nội dung). CMS là một tập hợp các công cụ cho phép bạn cấu trúc, sắp xếp và thao tác trang web của bạn mà không phải tương tác trực tiếp với hoạt động bên trong trang web của bạn. Một ...

Tác giả: Trần Trung Dũng viết 15:22 ngày 16/08/2019

Có gì mới trong text trên Android Q

Hiển thị text là một nhiệm vụ rất quan trọng trong hầu hết các apps, vì thế nên trên Android Q tiếp tục được giới thiệu nhiều tính năng mới để hỗ trợ và cải thiện performance cho việc này. Chúng tôi đã tắt tính năng gạch nối mặc định, cho phép tạo kiểu chữ bằng nhiều phông chữ hoặc họ phông chữ, ...

Tác giả: Trần Trung Dũng viết 15:22 ngày 16/08/2019

Background Job with Active Job

Đôi khi chúng ta cần implement 1 feature nào đó thực hiện nhiều action khác nhau bao gồm cả các action Ví dụ như khi user đăng ký account mới thì sẽ gửi confirm email cho user, khi KOL của shop đăng bài thì sẽ gửi notification cho toàn bộ follower của KOL, ... Nếu thực hiện tuần tự đầy đủ các ...

Tác giả: Vũ Văn Thanh viết 15:22 ngày 16/08/2019

Pure functions in Swift

Pure function là một trong những khái niệm cốt lõi của việc lập trình cho phép hầu hết các ngôn ngữ lập trình có thể hỗ trợ các biểu mẫu dưới dạng function hoặc các chương trình con(subroutines). 1 function được gọi là pure function khi mà nó không gây ra các hiệu ứng phụ và không chịu tác ...

Tác giả: Hoàng Hải Đăng viết 15:22 ngày 16/08/2019

Chapter 7: Giao tiếp thời gian thực

Trong Chương 6, chúng ta đã học về thiết kế API bằng cách tự xây dựng và khám phá một vài ví dụ trong thế giới thực. Chúng ta đã sẵn sàng để xem làm thế nào API có thể hoạt động. Trong chương này, chúng ta sẽ tìm hiểu bốn cách để giao tiếp thời gian thực thông qua API. Tích hợp Để bắt đầu cuộc ...

Tác giả: Vũ Văn Thanh viết 15:22 ngày 16/08/2019

Hiểu hơn về block trong Ruby

Block là một trong những tính năng mạnh mẽ nhất và thường bị bỏ qua của ruby. Phải thú nhận rằng mình đã mất một thời gian để tìm ra cách các block ruby hoạt động và làm thế nào chúng có thể hữu ích trong thực tế. Có một cái gì đó về yield làm cho các block rất khó hiểu cho người mới bắt ...

Tác giả: Trịnh Tiến Mạnh viết 15:21 ngày 16/08/2019

A Complete Guide to Flexbox (Phần 1)

Hôm nay mình sẽ giới thiệu với các bạn những tính năng cần biết trong Flexbox của CSS. Vì Flexbox có khá nhiều tính năng hay ho nên mình sẽ tách ra ít nhất là 2 phần để có thể giới thiệu một cách đầy đủ ! I, Một vài thuật ngữ Bởi vì Flexbox là cả một module trong CSS chứ không phải chỉ là một ...

Tác giả: Vũ Văn Thanh viết 15:21 ngày 16/08/2019

Cache trong trình duyệt hoạt động như thế nào

Bộ nhớ đệm của trình duyệt là một cơ chế được sử dụng bởi các trình duyệt để lưu trữ tài nguyên trang web cục bộ. Điều này làm hiệu suất tăng, giảm thiểu tiêu thụ băng thông . Trong bài viết này, tôi sex giải thích cách bộ nhớ đệm trình duyệt hoạt động và cách triển khai nó trên trang web của bạn. ...

Tác giả: Trần Trung Dũng viết 15:21 ngày 16/08/2019

Angular cập nhật DOM thú vị ra sao ?

Đặt vấn đề Chẳng khó gì với các developers JS để biết rằng việc cập nhật DOM của đại đa số các front-end frameworks/library hiện nay sẽ được thực hiện mỗi khi có một model nào đó thay đổi của. Và dĩ nhiên, Angular cũng không phải trường hợp ngoại lệ

Tác giả: Tạ Quốc Bảo viết 15:21 ngày 16/08/2019

Authentication trong SPA (ReactJs, VueJs) - nên lưu Token ở đâu, có những vấn đề liên quan đến Security?

Tóm tắt Cookie, session, token, JWT nên lưu ở đâu, bạn cần quan tâm những vấn đề gì liê quan đến security ? Trong bài viết này, mình sẽ chia sẻ những điều mình biết về nó. Mình sẽ hướng đến các khái niệm quan trọng, cần ghi nhớ khi xử lý user authentication trong mô hình cơ bản nhất là Client ...

Tác giả: Vũ Văn Thanh viết 15:21 ngày 16/08/2019

Deep dive về Custom View trong Android

CustomView là tạo 1 class extend từ View, override onDraw() và sử dụng Pain và Canvas để vẽ trên View. Sâu i zì :V TextView, Edittex, Checkbox,... Tất cả những thứ đó dù cha ông nó là gì đi nữa, thì cuối cùng vẫn là "đệ" của View. Ví dụ như EditText extends TextView rồi thì TextView ...

Tác giả: Tạ Quốc Bảo viết 15:21 ngày 16/08/2019

Hãy làm cho các Errors & Exceptions của bạn thân thiện hơn với người dùng

Như title, thường thì khi bắt tay vào làm một project mới, các dev sẽ quan tâm làm thế nào để nó chạy đầu tiên, sau đó là đến clean code rồi Unit Test các thứ, nhưng dường như có một vấn đề đã bị khá là nhiều dev bỏ quên, đó là xử lý các lỗi và Exception phát sinh khi sản phẩm đã lên Production. ...

Tác giả: Tạ Quốc Bảo viết 15:21 ngày 16/08/2019

Tạo một video background đơn giản cho website

Bữa trước mình có làm một giao diện landing page, trong đó có sử dụng video background. Việc đầu tiên mình làm là lên google search "video background js" để tìm một plugin có thể giúp mình giải quyết vấn đề này. Đây là thời đại mà mọi thứ được support tận răng, nhà nhà sài plugin, người ...

Tác giả: Tạ Quốc Bảo viết 15:21 ngày 16/08/2019

BDD là gì? Giới thiệu tổng quan về BDD

BDD (Behavior Driven Development) là một quá trình phát triển phần mềm dựa trên phương pháp Agile(phát triển phần mềm linh hoạt). Dựa vào requirement các kịch bản test (Scenarios) sẽ được viết trước dưới dạng ngôn ngữ tự nhiên và dễ hiểu nhất sau đó mới thực hiện cài đặt source code đễ pass qua ...

Tác giả: Trịnh Tiến Mạnh viết 15:21 ngày 16/08/2019

Preventing security issues in Ruby on Rails

Mặc rù Ruby on Rails (Rails) luôn không ngừng được hoàn thiện để nâng cao mức độ bảo mật, nhưng không thể khẳng định rằng framework này là bảo mật hoàn toàn. Bài viết này sẽ cung cấp cho bạn một số mẹo để ngăn chặn các lỗ hổng bảo mật tiềm ẩn. 1. Command Injection Command Injection là việc ...

Tác giả: Trần Trung Dũng viết 15:21 ngày 16/08/2019

6 thay đổi trong ruby 2.7 có thể bạn đã bỏ qua

Người viết: Nguyễn Thuỳ Dương Có thể bạn đã biết hoặc chưa biết, ngày 30-5-2019 vừa rồi ruby dev trên toàn thế giới đón nhận phiên bản mới nhất của ruby vào thời điểm hiện tại (Ruby 2.7.0). Ngoài những thay đổi rất thú vị như pattern matching hay là pipeline operator thì còn có 6 ...

Tác giả: Tạ Quốc Bảo viết 15:21 ngày 16/08/2019

“Bách khoa toàn thư” ngôn ngữ lập trình Perl

Người viết: Nguyen Chi Thanh Mở đầu Perl (viết tắt của Practical Extraction and Report Language – is high-level, general-purpose, interpreted, dynamic programming languages) được Larry Wall xây dựng từ năm 1987, với mục đích chính là tạo ra một ngôn ngữ lập trình có khả năng ...

Tác giả: Trần Trung Dũng viết 15:21 ngày 16/08/2019

Tìm hiểu về Cookie và Session

Chào các bạn. Đối với các bạn theo lập trình web thì có lẽ ai cũng đã từng sử dụng Session và Cookies, tuy nhiên không phải bạn nào cũng nắm được rõ và phân biệt được 2 cái này. Vì vậy, trong bài này mình sẽ giúp các bạn tìm hiểu về hai khái niệm này và sự khác nhau giữa chúng. Cookie là gì? ...

Tác giả: Tạ Quốc Bảo viết 15:21 ngày 16/08/2019

Cách tạo video background cho website vô cùng đơn giản

Người viết: Nguyen Quang Linh Bữa trước mình có làm một giao diện landing page, trong đó có sử dụng video background. Việc đầu tiên mình làm là lên google search “video background js” để tìm một plugin có thể giúp mình giải quyết vấn đề này. Đây là thời đại mà mọi thứ ...

Tác giả: Vũ Văn Thanh viết 15:21 ngày 16/08/2019

Cách log bug hiệu quả và một vài lưu ý khi log bug

I. Cách log bug hiệu quả Log bug là một công việc cơ bản, thường xuyên và vô cùng quan trọng của một kiểm thử viên (tester/QA) trong quá trình kiểm thử phần mềm. Khi log một bug, người kiểm thử cần đảm bảo người đọc có thể dễ dàng hiểu được vấn đề xảy ra, sau đó có thể xử lý bug nhanh chóng, ...

Tác giả: Trần Trung Dũng viết 15:21 ngày 16/08/2019