Hiểu rõ hơn về Git qua bài toán xây dựng kho hàng

Với người mới bắt đầu tìm hiểu và sử dụng git hẳn sẽ có rất nhiều thắc mắc, khó khắn hay cảm thấy mù mờ không rõ ràng về hệ thống quản lý phiên bản này, mình cũng từng như vậy nhưng sau một thời gian làm việc, vật lộn cùng nó thì đã hiểu ra được ít nhiều và muốn chia sẻ với mọi người sâu hơn, rõ ...

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

Virtus gem in Ruby on Rails

Định nghĩa và cài đặt Gem Virtus cho phép bạn định nghĩa các thuộc tính trên classes, modules hoặc các class instances với các cài đặt không bắt buộc như type, phạm vi read/write các method. Để sử dụng virtus gem ta có 2 cách: #Thực thi command gem install virtus #Thêm vào Gemfile ...

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

Lập trình MacOS cho người mới bắt đầu (phần 2b)

Chào buổi tối các anh chị em. Lại một tuần bận rộn nữa vừa trôi qua, vẫn kịch bản cũ, KH dí, các xếp dí, anh em dí. Ngày nào cũng phải một lon bò húc để duy trì sức chiến đấu. Bắt đầu cảm thấy căng dần đều hơn rồi. Hôm nay deadline, ngồi đọc lại bài report của các anh em trong group, thấy anh ...

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

Dependency Injection với Dagger2

I) Sơ lược về dependency Khi một class cần một class hoặc một interface để thực hiện một hành động nào đó thì class đó có một sự phụ thuộc (dependency). Lúc này có thể hiểu class đó phụ thuộc vào class hoặc interface kia public class Soldier { private Gun mGun = new Gun(); } ...

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

Adapter Pattern [Part1] - Class Adapter

Khi sử dụng laptop hay điện thoại chắc hẳn bạn đã biết đến adapter (hay còn gọi là cục sạc), thiết bị giúp chuyển đổi dòng điện xoay chiều điện lưới thành dòng một chiều để máy tính có thể sử dụng được. Trong ngôn ngữ lập trình, Adapter Pattern cũng mang ý nghĩa tương tự như vậy. Bằng cách chuyển ...

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

Tìm hiểu về Java 9 features

Điểm qua một số features chính mà Oracle đã phát triển cho Java 9, bao gồm Java programming, JVM, Tools và các libraries : Platform Module System (Project Jigsaw) Interface Private Methods Try-With Resources Anonymous Classes @SafeVarargs Annotation Collection Factory Methods Process ...

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

Một vài Blade Directives tiện ích trong Laravel có thể bạn ít dùng

Laravel cung cấp cho chúng ta khá nhiều cú pháp rút gọn để chúng ta có thể sử dụng trong các file view một các tiện lợi, linh hoạt để hiển thị giao diện đối với các điều kiện thỏa mãn khác nhau, được gọi là Blade directives . Ở bài viết này mình sẽ đi vào các Blade directives rất hữu dụng mà có ...

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

Tiết kiệm effort viết code với các Tool tiện ích

Trong bài viết này, tôi sẽ giới thiệu tới các bạn những web tool cực kỳ hữu ích khi bạn viết code. Hầu hết các tool này tôi đều đã dùng, thấy hay ho nên tổng hợp lại. Bạn nào có tool hay web nào hay, thì comment đóng góp nha (bow). Regular Expression (Regex) regexper Trang web này sẽ ...

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

Tiếp cận để hiểu rõ hơn cam kết với khách hàng

Bài viết sau đây là của Hadrien Raffalli - Labs PM tại Pivotal Tokyo . Ông mô tả cách nhận biết các cam kết khác nhau từ phía khách hàng để làm rõ MVP có thực sự khả thi không. Tôi rất thích ý tưởng đó. Hãy cho tôi biết khi nào các sản phẩm sẵn sàng được bán ra và tôi sẽ mua chúng. Với ...

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

Code Refactoring Part 1

Code Refactoring is the process of restricting existing code. Refactoring increase non-functional attributes of software application. It is a process of taking existing code and improves it while it makes code more readable, understandable, and clean. "Refactoring is the process of changing a ...

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

[Android] [Rxjava2]  [RxAndroid] Phần 1 - observeOn/subscribeOn Là gì

Rxjava , RxAndroid là một trong những kiến thức quan trọng của một lập trình viên Android Nhưng nó không dễ để tiếp cận với những người mời bắt đâu nên hi vọng qua bài viết này mọi người sẽ hiểu hơn về Rxjava và cũng giúp các bạn không mất quá nhiều thời gian trong những bước đầu chập chững ...

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

Tìm Hiểu Về Notification Channels Trong Android O

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu một tính năng mới trong Android O đó là ** Notification Channels** và làm sao chúng ta sử dụng nó trong project của chúng ta. Notification Channels là gì ? Notification Channels cung cấp cho chúng ta khả năng nhóm các Notification mà ứng ...

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

Singleton Pattern in C#

Trong bài trước thì mình đã giới thiệu về "Prototype Pattern in C#" , hôm nay thì mình xin tiếp tục giới thiệu về 1 pattern trong "Creational Patterns" , đó chính là Singleton . Hẳn đây là 1 pattern mà được rất nhiều anh em sử dụng. Singleton được sử dụng để đảm bảo chỉ có 1 object duy nhất ...

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

OpenTok và Ruby On Rails (Phần 1)

“Real-time, high-quality interactive video, voice, messaging, and screen sharing for web and mobile apps” Opentok là công cụ nền tảng hỗ trợ giao tiếp thời tiếp thời gian thực. Opentok dựa vào nền tảng webRTC để gửi các gói tin đa phương tiện qua javascript giúp chúng dể dàng tích ...

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

Tìm hiểu về cách thức chống CSRF trong Rails framework

Nếu ngày nay bạn sử dụng Rails, hay bất kỳ framework nào thuộc hàng không quá cổ lỗ sĩ, thì nhiều khả năng là bạn đã có cơ chế chống CSRF rồi đó. Từ thủa ban đầu của Rails đã như vậy rồi, và đó cũng là một trong những tính năng của Rails khiến cho bạn code ngon mà không cần nghĩ ngợi gì nhiều. ...

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

KOTLIN - BASIC

Chào các bạn, ở bài trước https://viblo.asia/p/android-java-hay-kotlin-3P0lPzM4Kox chúng ta đã có cái nhìn tổng quát về kotlin và để nối tiếp cho loạt bài về kotlin hôm nay mình và các bạn sẽ tìm hiểu về kotlin basic.Ở bài này mình tìm hiểu dựa trên khung sường ở https://kotlinlang.org/docs/referen ...

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

Giới thiệu NSLinguisticTagger

Nếu bạn đang muốn tìm kiếm một công cụ nào đó để phát hiện loại ngôn ngữ hay phân tích cấu trúc ngữ pháp mà user nhập vào thì sau đây mình xin giới thiệu một công cụ rất hữu ích và tiết kiệm thời gian nhưng nó lại hay bị lãng quên, không được sử dụng và không phổ biến bị ẩn đi trong iOS SDK. Đó ...

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

Tips extension hữu ích IOS Swift

Extension Extension nói nôm na là giúp bạn mở rộng một class có sẵn nào đó. Tức là bạn có thêm các phương thức mới vào class mà không làm thay đổi mã nguồn của 1 thư viện hay chính class của bạn chẳng hạn. Khi nào dùng Extension Cơ bản và thông dụng nhất là bạn muốn thêm 1 phương thức mới ...

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

Apply ElasticSearch to search on Rails applications

Full text search là gì? Định nghĩa Full text search có thể hiểu là việc tìm kiếm một chuỗi ký tự cụ thể từ nhiều tài liệu (files) trên máy tính. Khác với "tìm kiếm tên file" và "tìm kiếm chuỗi ký tự trong một file", nó có nghĩa là "tìm kiếm trên nhiều tài liệu, cho tất cả các câu có trong tài ...

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

Câu hỏi phỏng vấn Tester

Câu 1: Độ nghiêm trọng (Pirority) và độ ưu tiên (Severity) của bug là gì đưa ra dẫn chứng cho từng loại ? Nêu ví dụ mà một bug có độ nghiêm trọng cao và độ ưu tiên thấp Độ nghiêm trọng (Piority) :Đã bug thì sẽ phải sửa .Tuy nhiên , đội phát triển khó có thể sửa hết tất cả các bug một lượt cũng ...

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