Bảo mật là một phần quan trọng trong quá trình phát triển phần mềm. Phần lớn các ứng dụng di động thao tác với thông tin người dùng qua một remote server. Mặc dù công nghệ bảo mật đã có sự phát triển vượt bậc trong thập kỷ qua, nhưng nó vẫn là một chủ để thu hút được nhiều tranh luận.

 

Là một developer không sớm thì muộn bạn cũng sẽ phải đối mặt với vấn đề lưu trữ những dữ liệu nhạy cảm của người dùng. Bài viết này nói về việc sử dụng Keychain để lưu trữ những dữ liệu nhạy cảm đó.


Read More...

Authentication luôn là chức năng quan trọng của bất kỳ hệ thống nào. Phương pháp auth đơn giản và hay được sử dụng trong các ứng dụng web đó là dựa trên cookie và lưu giữ state ở phía server(session, database...). Nhưng với các ứng dụng trên mobile và các ứng dụng web SPA(Single Page Application) thì cần có cơ chế auth tốt hơn, đặc biệt khi mà chúng ta phải thiết kế các stateless api thì server không thể đảm nhiệm việc lưu state phiên làm làm việc của user. Có 2 phương pháp tốt để giải quyết là OAuth 2.0 và JWT(JSON Web Token). Bài viết này đi vào tìm hiểu về JWT.


Read More...

1          Giới thiệu về Raspberry pi

1.1         Raspberry Pi là gì? và xuất xứ? Tại sao lại chọn Raspberry Pi?

1.1.1       Raspberry Pi là gì ?

  • Raspberry Pi ban đầu là một thẻ card được cắm trên bo mạch máy tính được phát triển bởi các nhà phát triển ở Anh. Sau đó Raspberry Pi đã được phát triển thành một bo mạch đơn có chức năng như một máy tính mini dùng để giảng dạy trong môn khoa học máy tính ở các trường trung học.
  • Raspberry Pi Foundation– là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà nhiều người có thể sử dụng được trong những công việc tùy biến khác nhau.


Read More...

posted by Dương Quang Lộc on 2016-06-27 11:59

Unit Testing in PHP with PHPUnit

 

Testing là một trong những giai đoạn quang trọng trong vòng đời phát triển ứng dụng. Unit test không chỉ giúp giảm bớt căng thẳng trong quá trình phát triển mà còn làm việc duy trì code của bạn trở nên dễ dàng hơn, cho phép bạn thực hiện nhiều những thay đổi một cách tự do mà không hề suy nghĩ gì nhiều. 

PHPUnit là một 'programmer-oriented testing framework' dành riêng cho PHP.


Read More...

x1LVtu9KUstxJv7kJCr8lsIQeqACBvICGjqKyqub

Đã bao giờ bạn chán với việc liên tục F5 lại trang web trong lúc dev, hay làm thế nào để minify script, đơn giản hơn là chép resource vào cùng một nơi,... Với môi trường làm việc năng động, developer cần một công cụ giúp thực hiện các thao tác một cách tự động, nhanh chóng,...

Gulp là task runner giúp ta tối ưu các thao tác trong quá trình làm việc, ví dụ như live reload, complile, minify, check lỗi,...

Gulp hoạt động trên môi trường nodejs vì vậy tận dụng được nguồn plugin vô tận và mạnh mẻ. Các thao tác thông qua command-line nên gần gũi với dân IT và web developer.


Read More...

 Perfect là gì ?

perfect-logo.png

Perfect là một web-server và toolkit cho phép các nhà phát triển sử dụng ngôn ngữ lập trình Swift để xây dựng những ứng dụng và những REST service. Nó cho phép những developer có thể phát triển ứng dụng cả client-side và server-side trong cùng 1 workspace, cùng 1 ngôn ngữ lập trình Swift. Nó là một bộ khung hoàn hảo cho những kỹ thuật cloud và mobile.



 

Tại sao lại sử dụng Perfect?

- Hiện tại Swift đã được Open Source vì thế nó sẽ còn phát triển nhanh và mạnh, do đó Swift là ngôn ngữ của tương lai.

- Đa số những dân lập trình trên iOS chỉ biết về Objective-C hay Swift hoặc cả 2, vì thế nếu bạn muốn viết cho server-side thì bạn phải học thêm ngôn ngữ PHP hoặc Java để có thể viết cho server-side. Nếu bạn dùng thư viện Perfect thì bạn khỏi cần quan tâm đến việc học thêm ngôn ngữ khác cho công việc đó, bạn có thể dễ dàng debug cả bên client lẫn server đều được.

- Hiện tại Perfect cũng đang trong giai đoạn phát triển và đã có 1 phiên bản release là Perfect version 1.0. Code của thư viện Perfect cũng được open source trên GitHub, nếu các bạn muốn học thêm cách người ta viết library đó như thế nào thì cũng có thể tải về và đọc code.

- Swift và Perfect có thể chạy trên nền tảng Linux vì thế các bạn có thể viết để deploy trên Linux server. Hiện tại trên mạng cũng có nhiều hướng dẫn về việc này.


Read More...

posted by Nguyễn Văn Phong on 2016-05-15 15:42

Thực hiện CSS  border để có thể vẽ những hình cơ bản như hình tam giác (trái, phải, giữa, dưới) , hình vuông, hình thang, hình thoi và các hình đặc biệt khác...


Read More...

posted by Nguyễn Thành Tuấn on 2016-05-11 00:33

REACT NATIVE LÀ GÌ?

 

React Native là 1 framework Javascript được dùng để viết các ứng dụng native cho iOS và Android. Đây là thư viện dựa trên React, là 1 thư viện Javascript do Facebook hình thành để xây dựng các giao diện người dùng trên các trình duyệt web. Và React Native được dùng trong việc phát triển các ứng dụng có nền tảng điện thoại. Hay nói cách khác: các nhà phát triển website bây giờ có thể viết các ứng dụng mobile được dùng bằng ngôn ngữ Javascript, ngôn ngữ rất được ưa thích của web developer. Một điểm cộng nữa đó là hầu hết code được viết có thể được dùng cho nhiều nền tảng, cho cả iOS và Android. 

Ưu điểm

  1. Các ưu điểm trong phần giới thiệu trên.
  2. React Native được xây dựng trên React, mà React lại làm việc một cách độc lập với UI thread chính, vì thế các ứng dụng được viết có thể duy trì hiệu năng cao.
  3. Giả sử rằng bạn đang làm việc với React trên webweb thì bạn có thể viết các ứng dụng mobile bằng React Native với việc thực thi hiệu năng, debug,... bằng chính các công cụ dùng trên web.
  4. Vì React Native đơn thuần là Javascript vì vậy bạn không cần rebuild lại ứng dụng để thay đổi các hiệu ứng,... Thay vào đó bạn chỉ cần nhấn CommanCommand + R (trên Mac) để refresh lại ứng dụng. Việc này sẽ giúp tiết kiệm khối thời gian cho bạn đấy.
  5. Điều mà tôi biết cuối cùng cho hàng vạn các ưu điểm đó là bạn có thể sử dụng các text editor bạn thích cho Javascript. Bởi vì React Native không tập trung bạn làm việc với Xcode hoặc Android Studio quá nhiều. Cross-plaftorm mà.
  6. ...

Nhược điểm 

  1. Nhược điểm có vẻ lớn nhất của React Native đó là "sự trưởng thành". Tất cả các tài liệu chắc chắn rằng đang dần cải thiện và nâng cấp. Một số tính năng trên iOS và Android vẫn chưa được hỗ trợ. 
  2. ...
    Mặc dù vậy, bản thân tôi từng là 1 iOS developer nguyên thuỷ (sử dụng Objective-C) nhưng khi tìm hiểu về React Native tôi vô cùng thích thú và điều quan trọng là tôi tin tưởng vào Mark Zuckerberg, tin vào Facebook. Nếu vậy thì tiếp theo tối xin giới thiệu về cách làm việc với React Native như thế nào.

Read More...

Ngày nay công nghệ đồ họa phát triển vượt bậc. Trong đó vượt trội hơn cả là công nghệ 3D, nó như một cuộc cách mạng, nó xuật hiện như để “dẹp bỏ” công nghệ 2D đã quá già cỗi. Những năm trước đây, để xây dựng 1 ứng dụng hay 1 game 3D chạy được trên máy tính, các lập trình viên phải làm việc rất khổ sở. Nhưng từ khi có sự ra đời của webGL, nó mở ra một chương mới cho công nghệ 3D, đưa công nghệ 3D đến gần cuộc sống hơn. Có thể nói webGL là mối tình ngọt ngào giữa HTML5 và OpenGL ES 2.0.
Trong bài này tôi chủ yếu sẽ giới thiệu làm sao để xây dựng được 1 mô hình 3D render được trên trình duyệt. Các bạn cùng tôi đi vào nhé.
 


Read More...

posted by Tran Thi Thu Thuy on 2016-03-26 18:36

Nightwatch.js là một framework để  test tự động cho các ứng dụng web và các trang web, được viết bằng Node.js và sử dụng các API Selenium WebDriver. Nó bao gồm nhiều tính năng như: Cú pháp đơn giản nhưng mạnh mẽ cho phép bạn thực hiện kiểm tra rất nhanh chóng, chỉ sử dụng Javascript và CSS selectors. Không cần phải khởi tạo các đối tượng và các lớp khác, bạn chỉ cần viết các thông số kỹ thuật kiểm tra, tích hợp thử nghiệm dòng lệnh cho phép bạn chạy thử ngay lập tức.Nightwatch.js còn support các dịch vụ điện toán đám mây. Nightwatch có tên từ các bức tranh nổi tiếng The Night Watch của họa sĩ người Hà Lan. 

 


Read More...