CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

2.1.1. Phân rã bài toán thành các bài toán nhỏ hơn. Các bài toán giải trên máy tính càng ngày càng đa dạng và phong phú dẫn tới quy mô chương trình ngày càng lớn. Quy mô càng lớn dẫn tới việc lập và kiểm soát chương tình càng gặp nhiều khó khăn hơn. Ta cần chia bài toán lớn thành nhiều bài ...

Tác giả: Vũ Văn Thanh viết 09:54 ngày 07/09/2018

Replace và Add Fragment với cơ chế back stack

I) Sơ lược về fragment Như các bạn đã biết Fragment nó được hiểu như là một sub Activity, nó cũng có vòng đời hoạt độnh riêng nhưng gắn liền với vòng đời của activity, nó sinh ra để giải quyết các vấn đề mà activity không thực hiện được, cụ thể ở đây chính là chức năng đa màn hình, việc nắm rõ ...

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

1 số bài toán đơn giản trên codefight

Đây là một số bài toán đơn giản trên codefight, đáp án là tự mình viết nên có thể code vẫn còn cùi chưa đc ngon ăn như của các anh senior (mình hiện là beginner ruby thôi), rất mong nhận được sự chỉ giáo của mọi người, nhất là bài 6 ạ, mình rất mong nhận đc sự góp ý cải thiện. Bài 1: Phone Call ...

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

Tìm hiểu về Cassandra - Update và Delete data trong Cassandara

Chú ý timestamp khi update data Update data trong Cassandra thực ra là sử dụng API giống như khi insert. Chỉ một điểm khác biệt đó là khi update thì timestamp là điều vô cùng quan trọng. Nếu timestamp không phải là thời gian sau thời gian nhập dữ liệu trước đó thì data sẽ không được update. Hãy ...

Tác giả: Vũ Văn Thanh viết 09:54 ngày 07/09/2018

Create extension implement load more in UICollectionView

Trong bài trước mình đã hướng dẫn Implement Loadmore cho UITableView. Trong bài này mình sẽ hướng dẫn các bạn implement loadmore cho UICollectionView. Create extension implement loadmore Để thực hiện được load more bạn cần Implement một số func dưới đây vào BaseCollectionController. Thêm một số ...

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

Làm sao để chụp được full màn hình web trong Selenium Webdriver

Hôm nay mình xin giới thiệu đến các bạn cách để chụp được full hết màn hình web khi đang sử dụng automation test. Cách thức hoạt động của nó như sau: Khi màn hình web được load ra nó sẽ được set SCROLL_TIMEOUT đươc tính bằng millisecond. Đây là thời gian đợi ở mỗi lần scroll dừng lại trong quá ...

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

Machine learning và những ứng dụng vi diệu

Machine learning là gì ? Machine learning, một lĩnh vực của Trí tuệ nhân tạo (AI) giúp máy tính có khả năng tự học dựa trên dữ liệu để giải quyết vấn đề mà không cần phải được lập trình thật chi tiết, cụ thể. Để đơn giản, hình dung bạn cần phân biệt quả táo và quả cam. Thật dễ dàng, tích tắc bạn ...

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

[JavaScript] Một số điểm lưu ý trong JavaScript

Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu một số điểm đặc biệt, khác lạ và khá là "dị" trong JavaScript và ES6. Vì trong lập trình JavaScript chúng ta nên sử dụng "use strict" để code trở nên dễ hiểu và cú pháp rành mạch rõ ràng hơn, do đó chúng ta sẽ chỉ đề cập đến các vấn đề trong strict ...

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

Elasticsearch with vietnamese analyzer

I. Introduction Đã có một bài nói về áp dụng tiếng việt trong elasticsearch nhưng mình vẫn quyết định viết bài này vì mình thấy khá nhiều bạn gặp khó khăn trong việc cài cắm plugin. Vì vậy bài này mình tập trung vào cách cài plugin và sau đó sử dụng ra sao. Hi vọng sẽ giúp ích được cho các bạn. ...

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

Những điểm nổi bật trong Java 10

Tháng 3 - 2018, Oracle vừa ra mắt phiển bản Java 10 với những thay đổi đáng chú ý. Trong bài viết này, chúng ta sẽ khám phá 10 tính năng nổi bật trong bản cập nhật mới này cho java. Các tính năng cần quan tâm và được chú ý được đề cập trong Java 10: 286: Local-Variable Type Inference 296: ...

Tác giả: Vũ Văn Thanh viết 09:34 ngày 07/09/2018

Khi nào 1 service (Bound service) bị hủy

Cách hoạt động(mô hình) của bound service Bound service hoạt động giống như mô hình client-server . Vậy các bạn sẽ đặt câu hỏi là: "Cái gì đóng vai trò là client và cái nào là server".Câu trả lời là các Activity chính là client, còn bound service của bạn là server. Khi 1 activity ...

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

Customize terminal mặc định "nhàm chán" của Ubuntu, VSCode, RubyMine với Zsh

Chắc hẳn với những developers chúng ta đều quen thuộc với bash shell mặc định của Ubuntu, đồng ý rằng nó rất tiện lợi và mạnh mẽ nhưng nó có phần hơi bị nhàm chán. Sau đây mình sẽ hướng dẫn các bạn làm cho terminal của chúng ta đẹp đẽ và mạnh mẽ hơn theo cách đơn giản và dễ hiểu nhất </p> <div class= Tác giả: Tạ Quốc Bảo viết 09:33 ngày 07/09/2018

Sử dụng sweet alert trong Laravel

SweetAlert2 là 1 package được sử dụng để tùy chọn hiêt thị các alert trên website. Package SweetAlert2 chỉ hổ trợ từ phiên bản laravel 5.5 trở lên. Để cài đặt SweetAlert2 trong laravel, chúng ta sử dụng composer. composer require realrashid/sweet-alert Configuration Sau khi cài đặt ...

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

Ứng dụng emojis trong dự án của mình như thế nào?

Đặt vấn đề Có khi nào bạn muốn làm một notification có nhiều icon dễ thương hay một đoạn email gởi đi đầy màu sắc không. Nếu có thì hẳn các bạn đã sử dụng emojis cho dự án của mình rồi. Hy vọng bài viết sau giúp các hiểu hơn Hướng dẫn sử dụng plugin emojionearea để nhập dữ liệu Có rất nhiều ...

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

Tạo nhiều người dùng login cho một Instance EC2 chạy Linux

Lời nói đầu Hiện nay mình làm việc với nhiều công cty, mình để ý là mỗi khi ai đó cần access vào VPS, bất kể đó là server test hay server production. Mọi người đều không ngần ngại giao luôn file key (.pem hoặc .ppk) cho người đó. Cách làm này dĩ nhiên có lợi điểm là nhanh gọn, và chỉ có như vậy ...

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

Tạo ứng dụng Rails có tích hợp AngularJs

Giới thiệu AngularJS là 1 framework của JavaScript, cho phép bạn nhanh chóng và dễ dàng tạo 1 ứng dụng web và đặc biệt là các SPA. Trong bài viết này sẽ hướng dẫn các bạn cách tích hợp AngularJS với ứng dụng Rails. Đầu tiên, chúng ta sẽ xây dựng 1 ứng dụng AngularJS đơn giản có tên là ...

Tác giả: Vũ Văn Thanh viết 09:32 ngày 07/09/2018

Gửi tin nhắn qua Slack với ứng dụng Rails

Chào các bạn, hôm nay mình xin giới thiệu với các bạn cách gửi tin nhắn qua Slack từ ứng dụng Rails. Slack là một ứng dụng "phòng chat" nổi tiếng, thường được sử dụng cho những người trong nội bộ công ty. Mỗi phòng chat có thể tạo ra các kênh chat khác nhau để phục vụ cho những mục đích công việc ...

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

Sample Data for Push Notification Testing

Last time I made an article about sample testing data for sending email. Sample Data for Testing Sending Email Function This time I list up sample data for testing data for push notification. Push notification is important function for any services, so I suppose you test this function ...

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

Hình ảnh trực quan về thuật toán Decision Tree - Cây quyết định

Trong Machine Learning có rất nhiều thuật toán và cách dễ hiểu từng thuật toán là thông qua hình ảnh trực quan. Hôm nay mình gửi tặng bạn một số hình ảnh liên quan đến thuật toán Decision Tree - Cây quyết định nha (hình mình lượm trên Internet) Có thể đọc thêm định nghĩa tại: https://en.wikipedia.o ...

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

Hướng dẫn viết và deploy Dapp với Solidity nhanh gọn cho người mới bắt đầu [Phần 1]

Đối với một lập trình viên, cách tốt nhất để học một công nghệ mới là nhảy vào và "vọc" nó. Cách tốt nhất là cùng nhau viết một ứng dụng Voting đơn giản ’Hello World!’. Tất cả những gì Dapp này làm là khởi tạo một tập ứng cử viên, cho phép người dùng vote cho họ và hiện thị số phiếu ...

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