Swift vs Objective C (part 1)

Sau khi đọc lướt qua cuốn sách The Swift Programming Language, tôi muốn liệt kê lại những ưu điểm của Swift so với Objective-C như sau. Type Inference Khác với Objective-C, không cần phải khai báo tường minh kiểu biến thì Swift vẫn có thể tự suy được. Khi khai báo biến số thì sử dụng var, khai ...

Tác giả: Hoàng Hải Đăng viết 23:37 ngày 11/08/2018

Giới thiệu thư viện ImageMagick trong ngôn ngữ PHP

Giới thiệu về ImageMagick ImageMagick là một thư viện được phát triển bao gồm các công cụ để thực hiện các thao tác với file ảnh ở rất nhiều định dạng bao gồm PNG, JPG, JPEG, GIF, PDF, TIFF, SVG,... ImageMagick có thể giúp bạn thực hiện các thao tác từ đơn giản như: dịch chuyển, thay đổi ...

Tác giả: Hoàng Hải Đăng viết 23:37 ngày 11/08/2018

Xây dựng JSON Web APIs với ASP.NET MVC 4 và ASP.NET Web API

Dưới đây là một số trong những thứ đó là được cải thiện trong MVC 4. CÁC TÍNH NĂNG MỚI TRONG MVC 4 ASP.NET Web API Làm mới và hiện đại hóa các mẫu dự án mặc định Mẫu dự án trên điện thoại di động Nhiều tính năng mới để hỗ trợ các ứng dụng di động Tùy chỉnh sinh code Tăng cường hỗ trợ cho các ...

Tác giả: Hoàng Hải Đăng viết 23:36 ngày 11/08/2018

Tìm hiểu MongoDB - phần 2

Tiếp tục tìm hiểu về MongoDB - một trong những công nghệ mới liên quan đến cơ sở dữ liệu mà các lập trình viên cần biết. Trong bài viết đầu tiên đã trình bày cơ bản về MongoDB: cách cài đặt, các thao tác cơ bản: thêm mới, sửa, xóa. Tiếp tục, bài thứ 2 này sẽ đi sâu hơn vào tìm kiếm logic và truy ...

Tác giả: Bùi Văn Nam viết 23:36 ngày 11/08/2018

Core Data Migration using MagicalRecord

Trong số các ứng dụng iOS hiện nay, khó có thể tìm thấy ứng dụng nào không dùng tới cơ sở dữ liệu. Core Data là một lựa chọn hợp lý khi bạn cần sử dụng cơ sở dữ liệu cho ứng dụng iOS hoặc OS X. Một bài toán mà mọi người hay gặp là thay đổi cơ sở dữ liệu qua các phiên bản phần mềm, khi đó chúng ta ...

Tác giả: Tạ Quốc Bảo viết 23:36 ngày 11/08/2018

Remove the permanent generation

1.Permanent generation là gì? Trước khi tìm hiểu về permanent generation là gì chúng ta sẽ xem xét lại mô hình quản lý bộ nhớ trong Java. Về cơ bản thì vùng nhớ của JVM được OS cấp phát gồm có 4 phần: Heap: lưu trữ các Object ( hầu hết với từ khóa new) Stack: Lưu trữ các dữ liệu hoặc tham ...

Tác giả: Hoàng Hải Đăng viết 23:35 ngày 11/08/2018

Sentry Logging cho Rails

Sentry là gì? Sentry là một nền tảng logging sự kiện chủ yếu tập trung vào việc nắm bắt và tổng hợp các exception. Sentry ban đầu được hình tại Disqus vào đầu năm 2010 để giải quyết logging exception trong một ứng dụng Django. Kể từ đó nó đã phát triển để hỗ trợ nhiều ngôn ngữ phổ biến và nền ...

Tác giả: Bùi Văn Nam viết 23:35 ngày 11/08/2018

Introduction of Maintainable Javascript: Avoid Globals

The JavaScript execution environment is unique in a lot of ways. One of those ways is in the use of global variables and functions. The default JavaScript execution environment is, in fact, defined by the various globals available to you at the start of script execution. All of these are said to be ...

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

3-11Những chức năng khác của [MyGame]

Tại MyGame thì ngoài những chức năng đã được giới thiệu cho đến nay thì nó còn được chuẩn bị rất nhiều chức năng tiện lợi khác Lấy kích cỡ màn hình Với phương pháp dưới đây thì chúng ta có thể lấy được kích thước màn hình. p screen . w # chiều dài của màn hình (mặc định là 640) p screen ...

Tác giả: Bùi Văn Nam viết 23:34 ngày 11/08/2018

Tìm hiểu về Docker

1. Docker là gì? Docker là một open platform cung cấp cho người sử dụng những công cụ và service để người sử dụng có thể đóng gói và chạy chương trình của mình trên các môi trường khác nhau một cách nhanh nhất. Docker bao gồm: Docker Engine: Chứa các tool, engine để có thể đóng gói chương ...

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

WatchKit App Fundamental

I, WatchKit App Architecture Ứng dụng WatchKit sẽ hoạt động gắn liền với ứng dụng trên các thiết bị di động. Ứng dụng WatchKit, ứng dụng trên iphone có thể trao đổi thông tin giữa Watch và Phone. II, WatchKit App Life Cycle ( vòng đời ứng dụng của watchkit) Một ứng dụng watchkit có ...

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

Thay đổi phương pháp lấy thông tin location từ iOS8

Vấn đề phát sinh Từ iOS8 trở đi, phương pháp lấy thông tin location đã được thay đổi. Nếu bạn sử dụng phương pháp như cũ thì sẽ không thể lấy được thông tin location nữa. Các bạn có thể tham khảo topic dưới đây trên Stack Overflow: iOS 8 : Location Services not working My app that ...

Tác giả: Bùi Văn Nam viết 23:33 ngày 11/08/2018

Hướng dẫn sử dụng GUI mới trong Unity 4.6

Giới thiệu Nhận xét đầu tiên của tôi khi dùng Unity là một Engine tuyệt vời để phát triển game bởi vì nó rất dễ dàng ,nhanh và còn rất nhiều hỗ trợ tiện lợi so với những Engine khác. Nhưng có một điểm tôi không được hài lòng ở các bản Unity trước là hệ thống GUI cũ ,nó là khá tốn thời gian ...

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

XSS tấn công và phòng thủ: Các phương pháp tấn công XSS

Tấn công XSS (cross-site scripting) thường được coi là lành tính, hoặc người ta thường ít nghĩ đến những hiểm họa tiềm tàng của chúng. Ví dụ, phần lớn mọi người cho rằng các chương trình mã độc Javascript có thể ăn cắp cookies hoặc chuyển hướng một người tới một trang Web khác. Tuy nhiên, những ...

Tác giả: Trịnh Tiến Mạnh viết 23:32 ngày 11/08/2018

5-3 Làm một tiểu thuyết trực quan

Phần này chúng ta sẽ tạo một tiểu thuyết trực quan đơn giản. Là game hiển thị hình ảnh và đoạn văn để triển khai một câu chuyện Nhập môn Tiểu thuyết trực quan so với những game chân thực phải thao tác với nhân vật như game hành động thì việc viết ra dễ hơn nhiều. Chương này, chúng ta sẽ chỉ ...

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

CLOSURE TRONG JAVACRIPT

1. Closure là gì? Trong các ngôn ngữ lập trình máy tính, một closure là một function hay một tham chiếu đến một function, cùng với một môi trường tham chiếu. Môi trường tham chiếu ở đây là một bảng lưu trữ các tham chiếu đến các biến không cục bộ của function đó(non-local variables). Không giống ...

Tác giả: Tạ Quốc Bảo viết 23:31 ngày 11/08/2018

COMMIT LÀ GÌ TRONG GIT?

Khi làm việc với Git chúng ta thường hay nói về commit trong các thao tác như merge, rebase, cherry-pick… Để làm chủ và hiểu được sức mạnh thực sự của Git trước tiên chúng ta cần phải hiểu khái niệm một commit là gì. Để trả lời được câu hỏi này hãy xem xét đến cách lưu trữ dữ liệu trong ...

Tác giả: Trịnh Tiến Mạnh viết 23:31 ngày 11/08/2018

[Network] Tìm hiểu cơ chế, cách hoạt động của IDS (phần 1)

1. Giới thiệu hệ thống IDS Hệ thống phát hiện xâm nhập IDS là một hệ thống giám sát lưu lượng mạng nhằm phát hiện ra hiện tượng bất thường, các hoạt động trái phép xâm nhập vào hệ thống. IDS có thể phân biệt được các cuộc tấn công từ nội bộ hay tấn công từ bên ngoài. IDS phát hiện dựa trên ...

Tác giả: Bùi Văn Nam viết 23:31 ngày 11/08/2018

TÌM HIỂU VAGRANT (PHẦN 2) - Vagrant + Chef

Vagrant provisioning Trong bài viết Tìm hiểu Vagrant Phần 1, chúng ta đã cùng nhau tìm hiểu sơ lược về vagrant, có thể setup 1 máy ảo phục vụ cho phát triển web 1 cách đơn giản với Ubuntu 12.04 LTS và shell provision. Trước tiên, hãy cùng nhau nhìn lại 2 file config chính là Vagrantfile và ...

Tác giả: Hoàng Hải Đăng viết 23:30 ngày 11/08/2018

Bắt đầu với Sprite Kit

1. Sprite kit là gì Sprite kit là một framework game 2D của Apple xây dựng trên iOS 7, hỗ trợ các hiệu ứng như video, filter, masking, thư viện vật lý tích hợp,... So với các game engine khác, Sprite kit có những điểm mạnh và điểm yếu sau: Điểm mạnh Sprite kit được xây dựng bởi Apple và tích ...

Tác giả: Hoàng Hải Đăng viết 23:30 ngày 11/08/2018