Tìm hiểu SEO mũ trắng (White hat SEO)

Thế nào là SEO hay định nghĩa SEO là gì, thì trên mạng đã có rất nhiều bài viết nói về nó, các bạn có thể tìm kiếm và mình sẽ không đề cập tới trong bài viết này. Hôm nay tôi sẽ giới thiệu cho các bạn 1 trường phái SEO an toàn và ổn định đó là seo mũ trắng (White hat SEO) SEO mũ trắng là một quá ...

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

Bốn cách để cải thiện và tăng tốc độ khi viết RSpec test

Tests là một phần rất quan trọng trong mỗi ứng dụng, tuy nhiên, thi thoảng sẽ rất khó để giữ cho bộ test nhanh và rõ ràng, đặc biệt khi có nhiều lập trình viên từng làm trước hoặc đang làm cùng bạn trong dự án. Trong bài viết này, mình tập trung vào việc cải thiện RSpec tests bằng 2 cách: cấu trúc ...

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

Xây dựng một simple GraphQL API Server với NodeJS và Express - Part 1

GraphQL là một ngôn ngữ truy vấn cho các API cung cấp dữ liệu khai báo đang khai thác. Nó cho phép các clients yêu cầu chính xác các dữ liệu mà mình cần từ một web server và không thêm gì nhiều hơn nữa. Được phát triển vào năm 2012 bởi Facebook, GraphQL API hiện đang được sử dụng in-house bởi ...

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

Server Side Rendering vs Client Side Rendering

Thời kỳ đầu, khi web mới phát triển, khái niệm Server side render (SSR) đã được biết tới. Bạn request một trang web, server xử lý nội dung thành HTML, return lại cho browser hiển thị lại lên màn hình. Cho tới nay, SSR vẫn được sử dụng phổ biến và chưa có dấu hiệu bị thay thế hoàn toàn. ...

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

OpenCV With Python Part 8

Ở bài trước mình đã hướng dẩn các bạn về ngưỡng , ngưỡng là gì thì các bạn củng có một khái niệm khá đầy đủ rồi nhé. Và ở bài viết tiếp theo này mình sẽ hướng dẩn về cách lọc màu ( Color Filtering ) Trong OpenCV với Python như thế nào nhé. Trong OpenCV với ngôn ngử Python, chúng ta sẽ giới ...

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

Builder design pattern in Ruby

Theo GoF và cuốn sách tuyệt vời của họ "Design Patterns: Elements of Reusable Object-Oriented Software", builder pattern: " Tách riêng việc xây dựng một vật thể phức tạp từ biểu tượng của nó sao cho cùng một quá trình xây dựng có thể tạo ra các đại diện khác nhau." và nó là một phần của một mẫu ...

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

Tìm hiểu về Change detection trong Angular

Trước khi đi vào nội dung bài viết, chúng ta sẽ điểm qua khái niệm về Change detection trong Angular. Change detection là một cơ chế theo dõi sự thay đổi, cho phép nội dung ở phần giao diện luôn được đồng bộ với sự thay đổi trong model tương ứng. Sự thay đổi này có thể được phát sinh bởi những ...

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

Clean iOS Localizable Files

Apple đã giúp cho việc "bản địa hoá" - localized - một ứng dụng đơn giản đi rất nhiều, tuy nhiên để các file localizable ngắn gọn và sạch sẽ - concise and clean - lại là một câu chuyện khác, đặc biệt là khi app của bạn hỗ trợ nhiều ngôn ngữ. Điều thường xảy ra với các file Localizable.strings là ...

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

[Phần 1] API Resources Laravel 5

Chào các bạn, Trong quá trình viết API, chắc ít nhất một lần ta cần transform dữ liệu để response về. Trong các trường này, có thể dùng các third-party, chẳng hạn: Fractal,... hoặc nếu response đơn giản thì dùng các class tự build. Các thao tác này tốn nhiều thời gian và đặc biệt không phải hàng ...

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

Thread and Lock trong Java

Một ứng dụng đang chạy thường được tạo thành từ một process với không gian bộ nhớ riêng của nó. Một máy tính nói chung thường chạy đa nhiệm, tức nhiều process cùng lúc. Ví dụ, một ứng dụng xử lý văn bản (Word, Excel...) có thể chạy cùng lúc với một ứng dụng chơi nhạc (Media Player...). Hơn thế ...

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

Những thứ tôi ước tôi đã biết trước khi trở thành lập trình viên iOS

Designer đã đưa cho tôi luồng tiện lợi hơn để tôi thực hiện nó trước khi ứng dụng ra mắt. Flow đó giống như hình dưới Tôi nhảy thẳng vào code trên Xcode sử dụng page view controllers và scroll view. Tôi hoàn thành nó trong 2 ngày với sự trờ giúp từ Stack OverFlow và Google. Khi tôi show cái ...

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

Redis - Hướng dẫn cài đặt một server Redis

Redis là hệ thống lưu trữ key-value với rất nhiều tính năng và được sử dụng rộng rãi và rất mạnh mẽ, thường được dân chuyên nghiệp gọi với cái tên rất ngầu là in-memory key-value store. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản (hash, list, set, sorted set, string), đồng thời cho ...

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

Giao tiếp ứng dụng Android với EventBus

EventBus : Sự kiện cho Android EventBus là open-source thử viện cho Android và Java trong việc sử dụng mẫu Publisher/Subscriber. EventBus trung tâm kết nối giữa các lớp độc lập chỉ với một ít dòng code đơn giản, bỏ đi sự phụ thuộc và cái thiện tốc độ Lợi ích của việc dùng EventBus: ...

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

Sử dụng CountDownLatch trong Java

CountDownLatch được sử dụng để đảm bảo rằng một tác vụ chờ các Thread khác hoàn thành trước khi nó bắt đầu thực thi. Khi chúng ta tạo ra một đối tượng của CountDownLatch, chúng ta chỉ định số lượng các Thread cần chờ đợi, tất cả các Thread đó được yêu cầu phải đếm ngược bằng cách gọi ...

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

5 Bí quyết tổ chức sự kiện

Tổ chức sự kiện là kết hợp giữa Bán hàng và Hoạt động tiếp thị. Tổ chức sự kiện là sự phối hợp ăn ý giữa các yếu tố: hoạt động bán hàng, quản lý thông tin khách hàng, quan hệ công chúng, nghiên cứu thị trường, xây dựng nhãn hiệu và thâm nhập thị trường. Trên thực tế, trong lĩnh vực tiếp thị, tổ ...

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

Giới thiệu eXtreme Programming

Trong số các phương pháp Phát triển Phần mềm Linh hoạt (gọi tắt là Agile) thời kì đầu, chỉ duy nhất có eXtreme Programming (viết tắt XP) là tập trung mọi nỗ lực vào các biện pháp kĩ thuật (technical practices) để làm ra phần mềm chất lượng. Cho đến ngày nay, các kĩ thuật trong XP đã trở nên phổ ...

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

Laravel 5.5 và React JS Phần 2: Thêm sửa xoá sử dụng Laravel làm Restful API và Reactjs làm Frontend

Ở phần trước chúng ta đã tìm hiểu cách cài đặt Laravel với React Preset ở bài viết Laravel 5.5 và React JS Phần 1: Cài đặt và Hiển thị ví dụ, phần này chúng ta sẽ làm thêm sửa xoá cơ bản sử dụng Laravel và Reactjs. Tạo seeder cho bảng users: php artisan make:seeder UsersTableSeeder Thêm ...

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

Javascript bất đồng bộ: Callbacks, Listeners, Control Flow Libs and Promises (Phần 1)

Khi nói đến việc xử lý sự phát triển bất đồng bộ trong JavaScript có rất nhiều công cụ bạn có thể sử dụng. Bài viết này giải thích bốn trong số những công cụ này và lợi thế của chúng là gì. Đó là: Callbacks, Listeners, Control Flow Thư viện và Promises. Để minh họa việc sử dụng bốn công cụ ...

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

BWWalkthrough - Create custom WalkThroughs for your apps

Giới thiệu: BWWalkthrough là 1 library đơn giản hoá việc tạo ra các walkthrough mà không có bất kỳ ràng buộc về thiết kế giao diện người dùng. Bạn có thể tạo các walkthrough nhanh chóng với những hiệu ứng transition đẹp mắt. Đây là ví dụ demo đơn giản: Cách cài đặt library: Sử dụng ...

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

Tìm hiểu và xây dưng mô hình ứng dụng Client/Server

1. GIỚI THIỆU MẠNG MÁY TÍNH Mạng máy tính hay hệ thống mạng (tiếng Anh: computer network hay network system), được thiết lập khi có từ 2 máy vi tính trở lên kết nối với nhau để chia sẻ tài nguyên: máy in, máy fax, tệp tin, dữ liệu... Một máy tính được gọi là tự hoạt (autonomous) nếu nó có thể ...

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