Sass - người bạn vô cùng hữu dụng khi sử dụng CSS

Là một web developer, tôi dám cá rằng trong khi viết CSS bạn sẽ gặp phải những trường hợp như 1 đoạn code nào đó được sử dụng lặp lại khá nhiều lần, hay một mã màu nào đó khá là khó để nhớ cho việc sử dụng nhiều lần. Khi đó, chắc hẳn bạn sẽ mong muốn có một công cụ hỗ trợ nào đó để khắc phục được ...

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

Blockchain cơ bản với Swift 4

Giới thiệu Blockchain là công nghệ đằng sau những đồng tiền điện tử phổ biến trong đó bao gồm Bitcoin, Ethereum , Cardano v.v . Khái niệm chính đằng sau Blockchain là cung cấp cuốn sổ cái phân tán mà không được kiểm soát bởi bất kỳ một bên trung tâm nào . Thông tin trong Blockchain không thể bị ...

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

Sử dụng Docker Compose cho lập trình viên Ruby on Rails

Chào các bạn hôm nay mình muốn giới thiệu cho các bạn một cách sử dụng môi trường mà mình mới tìm hiểu trong quá trình lập trình. và đây là lý do mình viết bài này Bạn là một dev và đa số mình phát triển trên môi trường Linux khi làm việc ở công ty. Máy ở nhà của bạn lại sử dụng window do có ...

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

Google sẽ giới thiệu gì tại sự kiện Google I/O 2018 sắp tới

Google I/O là một sự kiện thường niên dành cho giới lập trình và phát triển phần mềm được Google tổ chức. Chúng ta hãy cùng điểm qua xem sự kiện năm nay có những sản phẩm thú vị gì sắp xuất hiện. Hệ điều hành Android P Bản preview của Android P được giới thiệu từ đầu năm, bản kế tiếp sẽ trình ...

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

Hướng dẫn đưa template BlurAdmin vào Rails (Phần 2)

Như mình đã giới thiệu ở Phần 1 thì ở phần này, mình sẽ hướng dẫn để làm sao Rails có thể nhận được template này. Sau khi đã hoàn thành xong các bước ở phần 1, để build được file js, css chúng ta chaỵ các câu lệnh dưới dây trong terminal npm install gulp Sau khi đã build file gulp, sẽ ...

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

Tầm quan trọng của document đối với communication trong dự án

Nguồn bài viết : ドキュメントは最強のコミュニケーションツールである―Joelの機能仕様書入門 1. Mở đầu Tác giả bài viết tuy là người làm kĩ thuật có nhiều năm kinh nghiệm trong nhiều mảng về computer system development nhưng trong bài viết này sẽ dành trọng tâm để nói về những vấn đề ngoài kĩ thuật. Bởi vì như chúng ta đã biết ...

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

Bốn cấp khi validation dữ liệu trong Rails bạn cần biết

Khi nghĩ về validation trong Rails, người ta thường nghĩ đến validation ở model đầu tiên. Vậy các cấp validation khác thì sao? Validation bằng model có phải một giải pháp hoàn hảo? Bài viết này sẽ giới thiệu về 4 cấp validation trong rails, và thảo luận về ưu nhược điểm của mỗi cách thông qua cột ...

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

Giới thiệu về Constraint Layout 1.1

Constraint Layout đơn giản hoá việc tạo các layout phức tạp trong Android bằng cách làm cho nó có thể xây dựng được hầu hết các UI của bạn với visual editor trong Android Studio. Nó thường được mô tả là mạnh mẽ hơn RelativeLayout. Với Constraint Layout, bạn có thể xây dựng các layout phức tạp mà ...

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

Sử dụng SwiftyJSON và cách tạo class trong swift

SwiftyJSON là lib dùng để giải quyết các vấn đề về json, bài viết này mình ko đề cập đến cách sử dụng SwiftyJSON.(Vì cách sử dụng nó rất dễ dàng nên bạn có thể search google) Mà mình chủ yếu nói về làm thế nào tạo 1 class và cách dùng nó 1 cách đơn giản và hiệu quả. Thông thường, dữ liệu của app ...

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

CẤU TRÚC THƯ MỤC VÀ CÁCH VIẾT COMPONENT CHUẨN TRONG REACT(P.3)

Refs Luôn sử dụng ref callbacks. eslint: react/no-string-refs // bad <Foo ref="myRef" /> // good <Foo ref={(ref) => { this.myRef = ref; }} /> Dấu ngoặc đơn Bao bọc các thẻ JSX trong dấu ngoặc đơn khi chúng dài hơn một dòng. eslint: react/jsx-wrap-multilines // ...

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

Mời các bạn góp ý project multi digit recognition với CNN

Model Multi digit Recognition . (HOG + SVM accuracy có 90%) trong khi đó CNN đạt 99%. Model này mình đã thêm "image data generation" để tránh trường hợp digit bị skew. Tuy vậy khi đưa vào multi recognite thì số 1 toàn bị fail .Chưa tìm ra được nguyên nhân để khắc phục. Có lẽ là do phần image ...

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

Truyền dữ liệu giữa các fragments bằng interface

Chào các bạn, một thứ 6 nữa lại đến đúng không. Đối với mình thì đây là cái ngày toẹt cmn vời nhất trong tuần vì mình biết rằng mình sẽ được nghỉ ngơi trong 2 ngày cuối tuần (Vẫn xin chia buồn với những bạn OT hoặc vẫn phải đi học vào cuối tuần nhé). Lan man vậy được rồi giờ chúng ta vào vấn đề ...

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

JobScheduler

Every now and then Google realease newer and updated versions of Android. Along with this updates comes many improvement both for developers and user and as a developer one should embrace and learn to make the very best of this improvements as they will make development much easire and ...

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

Sử dụng Django kết hợp cùng Celery

Celery là một asynchronous job queue cực mạnh. Nó là sự thay thế rất tốt cho contab của Linux. Django là top framework tốt nhất của Python. Về Celery và Django documents, các bạn có thể follow: Celery: http://docs.celeryproject.org/ Django: https://docs.djangoproject.com/en/2.0/ ...

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

Tìm hiểu về Ahrefs - Công cụ hỗ trợ hữu ích cho SEO

Hôm trước mình đã giới thiệu cho các bạn thấy được đâu là cách làm seo chân chính. Để SEO đạt được hiệu quả cao thì không thể không thiếu công cụ thống kê báo cáo quá trình làm SEO, để từ đó mình phân tích chiến lược SEO một cách bài bản và hướng đúng tới đối tượng mong muốn. Hôm nay tôi xin giới ...

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

Chia sẻ về hệ thống giúp nhân viên làm việc từ nhà - TeleWork (phần2)

Trong khuôn khổ bài viết lần trước chúng ta đã cùng nhau làm quen với khái niệm TeleWork , nêu lên những khó khăn trong cách thức quản lý của cách làm việc này . Trong bài viết này chúng ta sẽ cùng nhau chia sẻ về việc giải quyết những vấn đề đã được nêu ra . (1) Quản lý nhân viên thế nào khi ...

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

CÁC ỨNG DỤNG REACTIVE VỚI MODEL-VIEW-INTENT - PHẦN MODEL (tiếp)

2. Xoay màn hình Xoay màn hình trong android đôi khi gặp khá nhiều vấn đề khó xử lý. Cách giải quyết đơn giản nhất là bỏ qua nó (nghe hơi nực cười). Khi xoay màn hình thì chỉ cần reload mọi thứ, đây cũng là một cách xử lý hợp lệ. Phần lớn thời gian, các ứng dụng làm việc offline, vì thế có rất ...

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

Multiple HTTP Requests với AngularJS và Google Sheets

Trong bài viết này, tôi sẽ giới thiệu cách lấy data từ cùng lúc nhiều Google Sheets URL bằng AngularJS. Google Sheets dạng JSON Trước tiên là chuẩn bị dữ liệu Google Sheets. Sau khi published sheet: Tìm mã định danh trong URL: https://docs.google.com/spreadsheets/d/1vFAgyxmwrKWn9Bss ...

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

Tương tác với Google Calendar trong ứng dụng Rails

Chào các bạn, hôm nay mình sẽ giới thiệu đến các bạn cách tương tác với Google Calendar qua Rails app của bạn. Tạo mới project trên Google API Console Đầu tiên, các bạn đăng nhập vào Google API Console và tạo mới một project cho ứng dụng của các bạn. Sau đó các bạn search Google Calendar API ...

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

Làm sao để thoát khỏi async/await hell

Bài viết đc dịch lại từ: https://medium.freecodecamp.org/avoiding-the-async-await-hell-c77a0fb71c4c async/await ra đời giúp chúng ta khỏi cảnh callback hell, nhưng nhiều người lại bắt đầu abuse nó, dẫn tới sự phát sinh ra async/await hell. Trong bài viết này, tôi sẽ giải thích async/await hell ...

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