PSR-3: Các logger phải trông ra sao

Bài viết này sẽ nhằm đưa ra 1 khung chung cho các thư viện log. Mục đích chính là cho phép các thư viện nhận được 1 đối tượng PsrLogLoggerInterface và viết vào trong đó log 1 cách tổng quan và dễ dàng. Các Framework và CMS có nhu cầu tùy chỉnh theo mục đích riêng CÓ THỂ mở rộng interface này, ...

Tác giả: Hoàng Hải Đăng viết 22:01 ngày 13/08/2018

Lệnh try-with-resources trong Java 7

Catch nhiều ngoại lệ trong Java 7 Câu lệnh try-with-resources trong Java 7 là một câu lệnh try khai báo một hoặc nhiều tài nguyên . Tài nguyên là một đối tượng phải được đóng sau khi hoàn thành chương trình. Câu lệnh try-with-resources đảm bảo rằng mỗi tài nguyên được đóng sau khi ...

Tác giả: Tạ Quốc Bảo viết 22:01 ngày 13/08/2018

Google cung cấp API cải thiện chức năng bảo mật sinh trắc học dành cho Android P

Mới đây, Google đã công bố API hỗ trợ các nhà phát triển Android nâng cao khả năng bảo mật bằng sinh trắc cho các ứng dụng của họ. Sinh trắc học đang dần trở thành phương pháp bảo mật được người dùng yêu thích nhất hiện nay. Có thể sinh trắc học chưa phải là phương thức bảo mật an ...

Tác giả: Bùi Văn Nam viết 22:01 ngày 13/08/2018

Upload Multiple File Image on Rails

Giới thiệu vấn đề ? Trong quá trình tạo một trang web với rails chắc hẳn chúng ta đều phải tạo chức năng insert và update các file, đặc biệt là các file ảnh để hiển thị. Một cách thiết đặt dababase phổ biến cho việc upload ảnh của một đối tượng nào đó là tạo quan hệ has many như sau: class ...

Tác giả: Hoàng Hải Đăng viết 22:01 ngày 13/08/2018

[Ebook] Tập làm game với Python

Cuốn sách Making Games with Python & Pygame là một cuốn sách lập trình hướng dẫn sử dụng thư viện trò chơi Pygame trên ngôn ngữ lập trình Python. Thay vì giảng dạy các khái niệm lập trình và để bạn loay hoay xây dựng chương trình với các khái niệm đó, cuốn sách này sẽ giới thiệu ...

Tác giả: Hoàng Hải Đăng viết 22:01 ngày 13/08/2018

PSR-4: Trình tải tự động

Chuẩn PSR này mô tả các đặc tả cho các lớp tải tự động file theo đường dẫn. Nó hoàn toàn tương thích và có thể bổ sung cho bất kỳ đặc tả trình tải tự động khác, kể cả PSR-0(và thực tế là đã thay thế PSR-0). Đặc tả này sẽ hướng dẫn nơi để đặt các file sẽ được tải tự động. Lớp ở đây ám chỉ các ...

Tác giả: Tạ Quốc Bảo viết 22:01 ngày 13/08/2018

Học lập trình bắt đầu chỉ từ đam mê thôi là chưa đủ, để đi đường dài cần có chiến lược

Nhu cầu việc làm lớn, công việc đa dạng và thách thức, tiếp xúc với nhiều xu hướng công nghệ mới, mức lương khá cao, … Vì thế, ngày càng có nhiều bạn trẻ thích ngành lập trình, nhưng đa số lại hoang mang không biết nên bắt đầu từ đâu? Những yếu tố cần có để theo nghề lập ...

Tác giả: Bùi Văn Nam viết 22:01 ngày 13/08/2018

For-Each trong java

Enum trong java Vòng lặp for-each trong java giới thiệu từ Java 5. Nó chủ yếu được sử dụng để duyệt mảng hoặc các phần tử của collection. Lợi thế của vòng lặp for-each là nó giúp loại bỏ khả năng lỗi và làm cho code dễ đọc hơn. Cú pháp của vòng lặp for-each trong java ...

Tác giả: Hoàng Hải Đăng viết 22:01 ngày 13/08/2018

Tùy chỉnh Annotation trong java

Annotation trong java Tùy chỉnh annotation trong java hoặc Java annotation được người dùng định nghĩa rất dễ dàng để tạo và sử dụng. Phần tử @interface được sử dụng để khai báo một annotation. Ví dụ: @interface MyAnnotation {} Ở đây, chú thích MyAnnotation là tên ...

Tác giả: Trịnh Tiến Mạnh viết 22:01 ngày 13/08/2018

Phương thức equals() và hashCode() trong java

Học java collection Bài viết này giúp bạn hiểu khái niệm 2 phương thức quan trọng: Phương thức equals() và hashCode() trong Java . Khi sử dụng các collection, Để nhận được các hành vi mong muốn, chúng ta nên ghi đè các phương thức equals() và hashCode() trong các lớp của các ...

Tác giả: Hoàng Hải Đăng viết 22:01 ngày 13/08/2018

Static import trong java

For-Each trong java Tính năng static import trong java giới thiệu từ Java 5. Nó tạo điều kiện cho lập trình viên java truy cập trực tiếp vào các thành viên static của lớp được import, mà không cần phải sử dụng thông qua tên lớp. Sự thuận tiện của static import Tiết ...

Tác giả: Bùi Văn Nam viết 22:01 ngày 13/08/2018

Các cải tiến JDBC của Java 7

Chữ số Java với dấu gạch dưới Java JDBC được sử dụng để kết nối đến database. Bạn có thể truy cập bất kỳ dữ liệu nào từ database, spreadsheets hoặc file bằng cách sử dụng JDBC. Trong Java 7, Java đã giới thiệu các tính năng sau: 1) Nó cung cấp khả năng sử dụng câu lệnh ...

Tác giả: Trịnh Tiến Mạnh viết 22:01 ngày 13/08/2018

Autoboxing và unboxing trong java

Static import trong java Autoboxing và unboxing Việc chuyển đổi tự động các kiểu dữ liệu nguyên thủy thành kiểu Wrapper tương đương của nó được gọi là hoạt động autoboxing (hay boxing) và ngược lại được gọi là unboxing . Đây là tính năng mới của Java 5. Vì vậy, lập trình ...

Tác giả: Bùi Văn Nam viết 22:01 ngày 13/08/2018

Annotation trong java

Autoboxing và unboxing trong java Annotation trong java là một thẻ đại diện cho siêu dữ liệu tức là nó được gắn với lớp, interface, phương thức hoặc các trường để chỉ định một số thông tin bổ sung có thể được sử dụng bởi trình biên dịch java và JVM. Java annotation được sử ...

Tác giả: Trịnh Tiến Mạnh viết 22:01 ngày 13/08/2018

Generics trong Java

Tùy chỉnh Annotation trong java Java Generics được thêm vào ngôn ngữ lập trình Java từ Java 5. Generics trong java là một cách để xác định các kiểu cụ thể cho các lớp và phương thức trong ngữ cảnh khác nhau. Nghe có vẻ hơi trừu tượng, vì vậy chúng ta sẽ xem xét lần lượt các khái ...

Tác giả: Bùi Văn Nam viết 22:01 ngày 13/08/2018

Những bóng hồng 8X trong làng công nghệ Việt

Giám đốc Marketing KiotViet Vũ Nguyễn Thùy Vân GĐ điều hành Adayroi.com Lê Hoàng Uyên Vy, GĐ Marketing KiotViet Vũ Nguyễn Thùy Vân, GĐ Chiến lược Misfit Wearables Lê Diệp Kiều Trang hay CEO Rudicaf Vũ Nguyệt Ánh là những “nữ tướng” đang điều hành trong các doanh nghiệp quy ...

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

Android Network Security Configuration - part1

Việc viết một ứng dụng giao tiếp dữ liệu với server là rất phổ biến. Chính vì vậy khi xây dựng ứng dụng bạn cũng cần phải quan tâm đến vấn đề truyền - nhận dữ liệu, thông tin một cách chính xác và an toàn, nếu một ứng dụng mà chứa các dữ liệu thông tin rất là riêng tư cần bảo mật thì càng phải quan ...

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

Cười cùng Dev: Những sự thật phũ phàng.

Tiếp tục với những hình ảnh hài hước của các dev nhà ta. Với chủ đề những sự thật phũ phàng, những hình ảnh “vạch trần” những điều mà chỉ có dev mới trải qua cả cảm nhận được. Vậy các bạn đã thấy rõ hết những sự thật này chưa? Có 1 sự chênh lệch không hề nhẹ ở đây. ...

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

Làm việc với Bottom Sheet

Thành phần Bottom Sheet của Android trượt lên từ phía dưới hiển thị nội dung có liên quan. Và bạn có thể nhận thấy các Bottom Sheet trong các ứng dụng như ứng dụng bản đồ (Bottom Sheet cho biết vị trí, thông tin chỉ đường), trình phát nhạc (Thanh phát từ dưới lên và mở khi vuốt lên). Bottom Sheet ...

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

Các loại Subject trong RxSwift

1. Khái niệm: Subject trong RxSwift hoạt động như vừa là một Observable , vừa là một Observer . Khi một Subject nhận một .next event thì ngay lập tức nó sẽ phát ra các emit cho các subscriber của nó. 2. Khái quát: Trong RxSwift, chúng ta có 4 loại Subject với các cách thức hoạt động ...

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