Giới thiệu về kiến trúc Viper.

Chắc hẳn các bạn lập trình viên iOS đã rất quen thuộc với mô hình MVC được áp dụng trong iOS. Tuy nhiên, khái niệm ViewController của iOS thực sự biến việc phát triển các ứng dụng lớn, với chức năng màn hình phức tạp trở thành một mớ .... (you know what i mean). Trải qua quá trình phát triển, bảo ...

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

Tìm hiểu thiết kế hướng đối tượng trong Rails

Tìm hiểu thiết kế hướng đối tượng trong Ruby on Rails I. Giới thiệu Như chúng ta đã biết, thiết kế là một trong những công việc khó nhất của lập trình. Không phải là các kỹ thuật lập trình, các kiến thức về hệ thống, server hay kỹ thuật về rails, ruby mà chính là kỹ năng về thiết kế hệ thống ...

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

Requesting Permissions trên android M

Tại hội nghị I/O 2015 từ 28 đến 29/5 vừa qua. Google đã cho ra mắt phiên bản mới nhất của hệ điều hành Android - version 6.0 với tên gọi là Android Marshmallow (hay còn gọi là Android M). Bên cạnh những chức năng nổi bật mới như là: Chrome Custom Tabs, App Links, Android Pay, Google “Now on ...

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

Javascript - the bad part (continue)

Trong bài viết lần trước, chúng ta đã được thấy 1 số "bad part" trong javacript, phần này chúng ta sẽ tiếp tục tìm hiểu về những điểm khác mà cũng gây cho developer không ít phiền toái khi lập trình với javascritp NaN NaN là 1 giá trị đặc biệt trong javascript, nó có nghĩa là not a number mặc ...

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

Tìm hiểu SQLite trong Android

SQLite là cơ sở dữ liệu mã nguồn mở, SQLite hỗ trợ chuẩn quan hệ cơ sở dữ liệu giống như hệ cơ sở dữ liệu SQL. SQLite yêu cầu giới hạn bộ nhớ trong thời gian thực thi là 250 kb. SQLite hỗ trợ chuẩn dữ liệu kiểu Text giống như kiểu dữ liệu String trong Java, Integer tương tự kiểu Long trong ...

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

LibGDX Tutorial 9: Scene2D

Trong bài viết này chúng ta sẽ tìm hiểu về thư viện Scene2D. Điều đầu tiên bạn cần biết là Scene2D là hoàn toàn tuỳ chọn, nếu bạn không muốn sử dụng nó cũng không sao. Tất cả những phần khác, trừ khi các bit được xây dựng trên Scene2D sẽ tiếp tục làm việc tốt. Vậy Scene2D là gì? Tóm lại, nó là ...

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

Gems vs Engines: Know the difference

Bạn có biết sự khác biệt giữa gems và engines? Nếu bạn đã biết, bài viết này có thể sẽ không đem lại sự thú vị với bạn. Nết bạn chưa biết, bạn nên tham khảo bài viết này bởi vì hiểu biết sự khác biệt giữa chúng thật sự rất quan trọng, đặc biệt nếu bạn đang có ý định trong việc tạo ra những thư viện ...

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

Social Mobile Games, history and success

Introduction Games, as a way of entertainment has always existed in humanity’s history in one form or another. Everybody play game with each person enjoy different kind of game, some games help develop practical skill or otherwise perform an educational or psychological role. Video ...

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

How to figure out Poker''s Side pot

Không giống như trên phim, người chơi poker thật ra không thể lấy thêm chips một khi ván bài đã được bắt đầu. Trong trường hợp số lượng tài sản (tạm gọi là Chips) người chơi mang vào không bằng nhau, cách thức tính toán để đảm bảo người ít Chips chỉ thắng được tối đa một số lượng chips nhất định là ...

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

Laravel Beauty: Tìm hiểu về Service Provider

Laravel Beauty: Recipes & Best Practices Laravel Beauty: Tìm hiểu về Service Container Laravel Beauty: Tìm hiểu về Service Provider Laravel Beauty: Tìm hiểu về Facade Laravel Beauty: Tìm hiểu về Contract Trong bài viết lần trước, chúng ta đã cùng tìm hiểu về thành phần trung ...

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

Multithreading trong ngôn ngữ java

Đa luồng trong ngôn ngữ lập trình Java Đa luồng hay còn được gọi là Multithreading. Một chương trình đa luồng luôn có 2 tiến trình trở lên chạy song song nhau, mỗi tiến trình đó người ta gọi là một luồng (thread). Luồng là đơn vị nhỏ nhất trong java có thể thực hiện được 1 công việc riêng ...

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

Tìm hiểu về điện toán đám mây với OpenStack

Những bài trước tôi viết về các kiến thức cơ bản của Python, hôm nay tôi sẽ cùng các bạn từ mặt đất bay lên mây, cùng tìm hiểu điện toán đám mây với OpenStack nhé. Trước tiên chúng ta cùng tìm hiểu về điện toán đám mây nhé. Có phải điện toán đám mây là các đám mây lơ lửng trên bầu trời có tích ...

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

Tìm hiểu ReactJs cơ bản và cách sử dụng

Nếu chưa từng sử dụng React thì bạn đã tìm đến đúng nơi rồi đấy. Còn nếu đã từng dùng qua React nhưng lại vướng vào một số vấn đề khó hiểu, bạn nên đọc bài viết này. Hướng dẫn này bao gồm tất cả những điều cơ bản. React là gì và tại sao bạn nên sử dụng nó? Trang chủ React đã trả lời cho ...

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

Tutorial : Sử dụng flask cho người mới bắt đầu

Với mỗi lập trình viên Python phát triển web chắc đã quá quen thuộc với Django. Hôm nay tôi giới thiệu về framework có tuổi đời trẻ hơn và đang phát triển mạnh mẽ là Flask . Là một lập trình viên tôi từng code web với php, ruby, python. Tôi phát hiện ra Flask là một trong framework mềm dẻo nhất. ...

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

Custom Subscripting in Swift Tutorial (translate)

Chào các bạn! Đến hẹn lại lên, lại cong mông lên viết bài báo cáo cho kịp tiến độ. Lần này mình sẽ dịch bài viết Custom Subscripting In Swift Tutorial trên reywenderich. Do tiếng anh mình còn hạn chế nên có gì thiếu sót mong ae thông cảm. Subscripting bắt đầu có từ xcode 4.4 và quay lại vào giữa ...

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

CSS Flexible Box (Flexbox)

Chắc hẳn nhiều người từng làm frontend nói chung và CSS nói riêng đều gặp phải các vấn đề liên quan đến căn chỉnh (align) các thành phần trong trang HTML. Điển hình là vertical-align (có lẽ là vấn đề nhức nhối nhất), nhiều người tự đặt câu hỏi sao mọi thứ nhìn có vẻ dễ đến thế mà ko thể thực ...

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

Làm quen với 3D Touch bằng ứng dụng cân điện tử đơn giản

Cùng với sự ra mắt của iPhone 6s và 6s Plus, Apple đã giới thiệu một phương thức tương tác với điện thoại hoàn toàn mới: 3D Touch. Để hiểu hơn về 3D Touch, chúng ta sẽ thử xây dựng một ứng dụng cân điện tử đơn giản. Để bắt đầu, bạn có thể download sẵn project template hoặc có thể tự tạo 1 project ...

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

Laravel Design Patterns Series: Builder (Manager) Pattern - Part 1

Trong series bài viết này tôi muốn giới thiệu với các bạn về các Design Pattern sử dụng trong Laravel Framework. Với từng Pattern chúng ta sẽ cùng tìm hiểu cơ bản về định nghĩa, vấn đề hay bài toán đặt ra, giải pháp, cách áp dụng trong PHP nói chung và cụ thể trong Laravel Framework nói riêng. ...

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

Tạo ứng dụng đọc sách điện tử với EPUB (Phần 1- Cấu trúc Epub)

Trong bài này tôi sẽ giới thiệu cách để tạo riêng cho mình 1 trình đọc sách điện tử trên Android. Và trong bài này tôi sẽ hướng chủ yếu tới sách điện tử định dạng Epub Bài này tôi sẽ chia thành 2 phần: + Phần 1: Giúp bạn hiểu được cấu trúc file Epub + Phần 2: Đi sâu vào đọc và trình bày nội ...

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

Design support library: Navigation View

**Google I/O 2015 ** đã mang đến những bộ công cụ(tools) mới nhất cho việc hỗ trợ cho những nhà phát triển ứng dụng android trở nên dễ dàng hơn. Trong bài viết này tôi sẽ giới thiệu các bạn về một thành phần view mới rất hữu ích trong bộ thư viện hỗ trợ design của google dành cho việc phát ...

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