Thứ Hai, 8 tháng 6, 2015

Kivy #1 - What is Kivy ?????



Kivy là 1 thư viện mã nguồn mở của Python. Dùng Kivy, bạn có thể phát triển ứng dụng với tốc độ rất nhanh.

Trang chủ : kivy.org

Lý do để bạn chọn Kivy ?

1 trong những điều mình thấy framework này hay và đáng học là nó hỗ trợ đa nền tảng, bao gồm iOS, Android, Windows, Linux, MacOS. điều này có nghĩa là khi bạn viết ứng dụng, bạn chỉ cần viết 1 lần cho tất cả ( tất nhiên là sẽ có 1 chút chỉnh sửa giữa mobile và pc). Đối với Android và iOS, Kivy hỗ trợ chạm đa điểm, đối với Android, với module plyer bạn có thể sử dụng GPS, Microphone …. của thiết bị di động vào trong ứng dụng của bạn.Vì Kivy dựa trên Python, nên cũng sẽ rất dễ học ^^. Bạn hoàn toàn có thể viết ứng dụng cho riêng mình trong vòng 1 tuần, vì những việc khó nhằn nhất Kivy đã làm sẵn cho bạn rồi, bạn chỉ việc sử dụng.
Tóm lại, nếu bạn muốn :
  • Phát triển ứng dụng nhanh
  • Phát triển ứng dụng đa nền tảng
thì Kivy có lẽ là điều bạn đang cần :).

Thế còn hiệu năng như thế nào ???

Hồi xưa mình cũng thắc mắc như vậy. Nếu bạn viết ứng dụng cho Android (iOS tương tự) thì đương nhiên kivy sẽ không thể nào bằng được khi bạn viết ứng dụng thuần Android. Nhưng đừng quá lo lắng. Nếu ứng dụng của bạn không phải là các game 3d nặng nề, kivy hoàn toàn có thể thực hiện tốt :). Tóm lại, nếu bạn có ý định viết những game 3d nặng nề :), thì kivy không phải là sự lựa chọn hoàn hảo ^^, còn nếu bạn muốn viết những game nhỏ, ứng dụng nhỏ thì … vô tư :).

1 số App và Game được phát triển dựa trên kivy:


 (Nguồn : kivy.org)

Những điều cần thiết để bắt đầu với Kivy:
  • Có kiến thức căn bản về python, hiểu rõ OOP của python
  • Nếu bạn đã từng học qua CSS thì việc thiết kế giao diện cho Kivy không là vấn đề khó khăn đối với bạn, vì mình thấy nó có chút ăn theo CSS :P. Còn nếu bạn chưa học CSS thì cũng không sao :), khi tới bài đó mình sẽ giải thích rõ ràng cho các bạn :)
  • Nếu bạn có ý định lập trình cho thiết bị di động, thì tốt nhất bạn nên sử dụng hệ điều hành Linux, vì hiện tại trên Windows chưa hỗ trợ việc build ra Android cũng như iOS. Nếu sử dụng Windows thì bạn cũng phải cài máy ảo Linux để build, trên trang chủ có cho phép tải file máy ảo này, mình sẽ nói sâu hơn ở 1 bài nào đó trong series này :).
  • Nếu bạn lập trình cho thiết bị di động :P, thì tốt hơn hết là bạn nên có 1 cái để tiện cho việc test ^^.

 Let's begin :)


Chủ Nhật, 7 tháng 6, 2015

Pen Spinning #2 - Làm Quen Với Các Khái Niệm

Ở bài này, mình sẽ giới thiệu các bạn các khái niệm căn bản về Pen Spinning ( từ nay về sau mình sẽ gọi tắt là PS cho nhanh :) )

trước tiên, 1 người chơi PS nhất định phải có 1 cây bút để quay ( quá hiển nhiên ). bút dùng để quay trong PS người ta gọi là mod. Mod thường là những cây bút đã được tùy biến theo 1 cách nào đó, để phục vụ cho việc quay dễ dàng hơn. người làm mod thì gọi là modder :).

Đây là hình ảnh 1 số mod : 

(nguồn : Internet)

Vậy còn người quay bút thì gọi là gì ? chắc các bạn cũng dễ dàng đoán được : Spinner :P.
1 số quy ước, giúp các bạn có thể đọc được breakdown ( mình sẽ giải thích sau ):

Các quy ước trên hình liên quan tới việc cầm nắm bút. VD : sonic 23-12, sẽ thực hiện skill sonic từ vị trí 23 lên 12. sonic 34-23, sẽ thực hiện từ 34 lên 23...vv..

Combo : chuỗi các skill được liên kết với nhau
Hydrid và Linkage cũng là chuỗi các skill được liên kết với nhau nhưng ngắn hơn ( 1 2 skill ), vấn đề này khi nào các bạn có 1 trình độ nhất định, các bạn sẽ rõ. 
Breakdown : là 1 chuỗi các quy ước về skill và vị trí các ngón tay, giúp các bạn có thể thực hiện được combo. VD : sonic 23-12 -> thumbaround 12 
Các khái niệm về việc đánh giá combo : smooth, creative, execution ...vv. vv.

Đây là 1 số khái niệm bản thân mình tự tích lũy, và 1 số mình tự định nghĩa theo bản thân cho các bạn dễ hiểu :), có thể khác so với 1 số nguồn chuẩn, nhưng các bạn cũng đừng quan trọng quá ^^, quay bút không chỉ nằm trên lý thuyết suông ^^!.


Python #2 - Hello World !!!

Ở bài này mình sẽ hướng dẫn các bạn cài đặt python và viết chương trình đầu tiên.


Đây là trang chủ của python : www.python.org

Python hiện tại có 2 phiên bản chính : 2.7.10 và 3.4.3, về căn bản python 3.4.3 không khác mấy so với 2.7.10, chỉ thay đổi 1 số cú pháp và tăng hiệu năng.
Chú ý : nếu bạn dùng python 3.4.3 để chạy code được viết trên 2.7.10 thì có thể sẽ báo lỗi, ngược lại cũng vậy, do 1 số cú pháp 2 phiên bản này khác nhau, ví dụ như hàm print
Ở series này mình sẽ hướng dẫn các bạn chủ yếu về python 2.7.10 (2.7). Nếu các bạn muốn viết trên 3.4.3 (3) cũng được, chỉ cần thay đổi 1 chút cú pháp ( có thể ở cuối series này mình sẽ viết 1 bài tổng hợp về cú pháp python 2.7 và 3 để cho các bạn có thể tự chuyển đổi code giữa 2 phiên bản)

Cài đặt:

Các bạn truy cập vào trang : www.python.org/downloads/ để tải file exe về rồi cài đặt ( khuyến cáo tải bản 2.7)

Đối với trình soạn thảo editor, các bạn có thể dùng notepad++, sublime text hay bất kì trình soạn thảo nào bạn thích, hoặc bạn có thể dùng IDE như PyCharm để code. Nhưng để cho đơn giản vấn đề trong việc học python, đỡ phải tùy chỉnh, cài đặt nhiều, mình khuyên các bạn nên sử dụng IDLE, trình soạn thảo đi kèm khi cài đặt python :P
Chúng ta cùng bắt đầu viết chương trình đầu tiên với python nào !!
Các bạn mở IDLE lên, giao diện nó sẽ như thế này :


Các bạn chọn File -> New File ( hoặc ấn Ctrl + N) để mở trình editor của IDLE
Gõ vào đoạn code sau:
print 'Hello World !!!'
rồi lưu lại thành có đuôi .py
nhấn F5 và hưởng thụ thành quả :)


Thứ Năm, 4 tháng 6, 2015

Python #1 - Lời Mở Đầu


Trong series này, mình sẽ chia sẻ những gì mình biết về python :). đây là những gì mình trải nghiệm được trong thời gian học python, những gì mình nói nếu có gì sai mong các bạn lượng thứ và góp ý :). điều quan trọng nhất mình lập blog này là mình muốn chia sẻ những gì minh biết :), vì chia sẻ cũng là 1 cách để học mà ^^. thôi lan man vậy đủ rồi. Đi vào vấn đề chính thôi 

Tại sao lại là python ?

Qua 1 thời gian tiếp xúc với python, mình cảm nhận được 1 số điều như sau :
  • Python rất dễ học
  • Vì python là 1 scripting language nên viết nó sẽ không rườm rà như viết C hay Java...với người chưa biết gì về lập trình ( mình cũng chỉ mới học đây thôi ^^ ) thì khi bạn sử dụng python, nó sẽ tạo cho bạn những thói quen lập trình rất tốt về sau này. VD : indentation của python.
  • Module của python rất đa dạng, bạn chỉ cần “ăn xổi”. VD : hồi xưa mình có viết 1 phần mềm âm lịch bằng python, trong chương trình của mình sẽ có chức năng chuyển ngày âm lịch sang dương lịch; các bạn có thể tự code, nhưng thuật toán nó cũng khá phức tạp, code cũng mất kha khá thời gian; cho nên mình đã sử dụng 1 module ở ngoài :), chỉ việc download về và “ăn xổi”.
  • Người dùng trên thế giới rất nhiều : ở việt nam thì có thể không nhiều lắm, nhưng ở nước ngoài mình thấy nhiều lắm, chỉ cần bạn không hiểu chỗ nào, không rõ chỗ nào, các bạn chỉ cần lên trang stackoverflow.com đặt 1 câu hỏi ( tất nhiên là phải bằng Tiếng Anh) lập tức 15 20p sau có người trả lời bạn liền :).
Một số nhược điểm nhỏ:
  • Hiệu năng không cao bằng 1 số ngôn ngữ như C ( C là trùm rồi ). nhưng đối với các máy tính hiện nay thì chắc vấn đề này cũng không đáng kể lắm ^^. với lại python vẫn đang ngày càng phát triển, càng ngày càng nhanh hơn rồi
  • Ở việt nam thì cộng đồng sử dụng chưa nhiều bằng 1 số ngôn ngữ như java hay c#

Ở bài tiếp theo mình sẽ hướng dẫn các bạn cài đặt python, và viết chương trình đầu tiên bằng python :).

Pen Spinning #1 - Welcome to PS World


Tôi bắt đầu tự học chơi Pen Spinning(quay bút - viết tắt PS) vào khoảng 12/2009, tới nay cũng hơn 5 năm :). 5 năm cũng không ngắn, cũng không phải là dài, nhưng đủ để tôi có thể trải nghiệm được bộ môn PS. Mục đích của series này là giúp các bạn có thể tiếp cận được PS từ căn bản cho tới nâng cao. Let's begin

Welcome to my blog :)

BACK TO TOP