Tìm kiếm một từ trong văn bản theo cách nhanh nhất.
Tìm kiếm một từ trong văn bản theo cách nhanh nhất. Nguồn https://stackjava.com/mot-so-thuat-toan-tim-kiem-mau## Thầy giáo bắt code 1 chương trình tìm 1 từ nào đó trong văn bản và in ra các vị trị của nó. ok, viết vèo cái là xong. Nhưng khi văn bản của bản lên tới hàng trăm trang, hàng nghìn ...
Giới thiệu gem redis-object
Redis là 1 hệ thống lưu trữ key-value rất mạnh mẽ và phổ biến hiện nay. 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), giúp việc thao tác với dữ liệu tốt hơn các hệ thống cũ như memcached rất nhiều. Hôm nay, tôi sẽ giới thiệu gem redis-object để ...
[Translate] Clean code JS - Part 3
Đối tượng và Cấu trúc dữ liệu Sử dụng getter và setter JavaScript không có interface hoặc kiểu vì vậy rất khó để thực hiện mô hình này, bởi vì chúng ta không có các từ khoá như public và private. Vì vậy, sử dụng getters và setters để truy cập dữ liệu trên các đối tượng thì tốt hơn là chỉ ...
Giới thiệu Vuex
Trong mô hình MVVM có 3 đối tượng là View, Model và ViewModel, chúng ta có thể dùng Model để chứa dữ liệu, người dùng có thể tương tác View để tác động vào Model. Với các ứng dụng vừa và nhỏ, chủ yếu là các thay đổi trên Model cập nhật lên View. Tuy nhiên, khi hệ thống lớn dần lên, các tác động qua ...
TestNG Data Provider với Excel
Lợi ích quan trong của kiểm thử chức năng tự động là khả năng kiểm tra một khối lượng lớn dữ liệu trên hệ thống một cách nhanh chóng. Tuy nhiên bạn phải có khả năng thao tác với các bộ dữ liệu, thực hiện tính toán và nhanh chóng tạo ra hàng trăm các bộ kiể thử lặp đi lặp lại và thực hiện với một ...
Toán tử trong Python
Sau bài viết trước, chúng ta đã làm quen các câu lệnh cơ bản trong Python. Và ở bài viết này tập trung vào tìm hiểu các toán tử cơ bản trong Python và áp dụng vào làm một bài luyện tập nhỏ. Toán tử Trong python, các toán tử được được cũng cấp trong module Operator (Lib/operator.py) - Là một bộ ...
Bắt đầu với Python như thế nào?
Dạo gần đây, mình đang có ý định tìm hiểu Python để bổ sung thêm vào kiến thức một công nghệ mới. Dạo quanh gu gồ với từ khóa Python thì nó ra hết bao nhiêu thứ trên đời. Tình cờ đọc được bài viết trên https://www.quora.com về vấn đề "bắt đầu với Python như thế nào?" , mình sẽ chia sẽ lại trong ...
Giới thiệu hai package để quản lý Roles/Permissions trong laravel
Như chúng ta biết Role và Permissions là một phần quan trọng của nhiều ứng dụng web. Laravel đã cung cấp rất nhiều pakage để hỗ trợ việc này, và ngày càng được cải thiện. Và với hằng hà những pakage đó, chúng ta nên lọc lựa ra những gói tốt để dùng cho dự án của mình. Vậy bạn sẽ chọn ??? Riêng tôi ...
JavaScript Design Pattern - Module Pattern
Module pattern là một loại pattern khá mạnh và được sử dụng rất phổ biến, với một số các đặc điểm sau: Sử dụng Object Literals ({}) Cung cấp khả năng đóng gói dữ liệu với cả thuộc tính và phương thức dạng public/private , giúp tránh xung đột về tên đối với các function ở các script khác trên ...
Phần 3: Tự tạo ra một đồng tiền ảo Bitcoin của mình
Ở 2 phần trước ta đã hiểu thế nào là Blockchain, và thế nào là đào Hash để ngăn chặn giao dịch ảo. Tuy nhiên Blockchain của chúng ta vì quá khó để tạo giao dịch. Nó trở nên hoàn toàn kém hấp dẫn và chả ai đi bỏ thời gian ra đào Hash rồi nhét data vào chuỗi của chúng ta làm gì. Chúng ta cần tạo ...
JavaScript Design Pattern - Constructor Pattern
Đối với lập trình hướng đối tượng trong JavaScript, cách đơn giản nhất để tạo mới một object là sử dụng function kết hợp với từ khoá new . Bên trong hàm khởi tạo này, từ khoá this dùng để chỉ tới đối tượng mới. Thông thường, hàm khởi tạo được viết hoa chữ cái đầu tiên, dùng để phân biệt với các ...
Difference Between su and sudo and How to Configure sudo in Linux
Hẳn là có rất nhiều người vẫn đang sử dụng sudo và su trên terminal hàng ngày để thực thi các task khác nhau. Trong khi sudo chạy câu lệnh với quyền quản trị (root) thì su chạy một cửa sổ shell mới của root. Cả sudo và su đều được sử dụng để chạy bằng quyền root, nhưng theo các cách khác nhau. ...
Hướng dẫn 1 cách sử dụng action trong UITableViewCell
UITableView được sử dụng quá thường xuyên trong tất cả các App IOS. Và việc tạo custom UITableViewCell là 1 task quá common đối với bất kỳ lập trình viên nào. Bài viết này, mình muốn trình bày 1 cách mình hay sử dụng khi tạo custom view và action trong UITableViewCell. Để tạo custom ...
Có thể bạn thừa biết - sức mạnh của functions trong Kotlin
1. Overloading functions Chúng ta bắt đầu với những thứ rất cơ bản đó là "overloading functions". Tôi phải tạo ra một overloaded function có thể lấy nhiều nhất là 6 và ít nhất là 2 tham số. Nếu sử dụng java thì với yêu cầu này chúng tôi phải tạo ra đến 6 phương thức khác nhau lặp đi lặp lại ...
Vue-x và những thứ cơ bản nhất
Chào mọi người mình quay lại sau một thời gian ẩn giật ăn hành đây! Hôm nay bài viết này mình sẽ giới thiệu cho các bạn về Vuex! Một trong những framework mạnh mẽ nhất hiện nay! Từ trước đến giờ nhiều người chỉ lên mạng xem 1 vài ví dụ để hiểu qua rồi thực hành theo họ để làm chứ thực ra vẫn chưa ...
Graphql binding
GraphQl đang là một công nghệ mới được nhiều lập trình viên quan tâm, sau đây mình xin chia sẻ về Graphql binding. GraphQL bindings are modular building blocks that allow to embed existing GraphQL APIs into your own GraphQL server . Theo định nghĩa Graphql binding là một module cho phép ta ...
Phát triển Android hiện đại với Kotlin (Phần 3)
Giới thiệu về các thành phần nhận biết vòng đời (Lifecycle-aware components) Rất nhiều developer gặp phải vấn đề liên quan đến vòng đời trong Android, vì vậy Google đã tạo ra một library để hỗ trợ chúng ta giải quyết vấn đề này. Class ViewModel là một trong số chúng. Nó là class mà tất cả các ...
Một số câu hỏi Phỏng vấn Ruby on Rails Developer
Chào các bạn. Hôm nay mình mình sẽ giới thiệu cho các bạn một số câu hỏi khi đi phỏng vấn vào vị trí Ruby developer. Mình làm bài viết này có 2 mục đích: Giúp bản thân mình tự kiểm tra lại kiến thức cơ sở. Giúp bạn sắp phỏng vấn có nơi để tham khảo và để tự tin hơn trong vòng phỏng vấn. ...
Java 9: Stream API và private method trong Interface
Java 9 vừa được release với khá nhiều tính năng rất cool. Trong khuôn khổ bài viết này tôi sẽ chia sẻ với mọi người về 2 phần (trong khá nhiều phần) là Stream và Interface. Hãy cùng xem có gì mới nào Tạ Quốc Bảo viết 17:15 ngày 12/08/2018
Học Python - P2
Nội dung trong bài có tham khảo từ các giáo trình: Head First Ruby Nov Learning Python, 5th Edition Python co ban Think Python - 2nd Phần 2 này mình sẽ tiếp tục tìm hiểu về các biến, biểu thức và các câu lệnh trong Python. 1. Câu lệnh gán: Một câu lệnh gán giúp tạo ra 1 biến và gán cho nó 1 ...