Tin tức‎ > ‎Mùa hè sáng tạo‎ > ‎

Thư viện PMNM cho OLP'16 (new)

đăng 04:02, 5 thg 9, 2016 bởi Long Nguyen

Thư viện nguồn mở chính

Django: Thư viện chính được sử dụng trong dự án con Horizon [1] trong OpenStack, là một ứng dụng web cung cấp giao diện hỗ trợ tương tác giữa người dùng và các tính năng của các dự án khác trong OpenStack như Nova, Neutron, Glance ... Horizon được xây dựng từ framework Django [2] trên nền ngôn ngữ lập trình Python.

Docker: nền tảng ảo hóa mức hệ điều hành cung cấp cho người dùng cuối môi trường triển khai nhanh chóng, tiện ích. [3].

cAdvisor: Công cụ giám sát tài nguyên sử dụng của Google. cAdvisor [4] cung cấp RESTful API để lấy các thông tin sử dụng tài nguyên từ các máy ảo OpenStack triển khai Docker.

 

Các đội tuyển sẽ đọc, nghiên cứu, phân tích, và tìm hiểu thư viện và dự án nguồn mở này để nắm được các chức năng chính, các giao tiếp, các thành phần (module) chính, cách sử dụng và cách mở rộng tính năng trong bộ thư viện và dự án.

 

Nội dung đề thi cho phần thi “Phần mềm nguồn mở” (viết tắt PMNM) sẽ bao gồm:

·         Thêm mới hoặc cải tiến tính năng cho một dự án PMNM có tên gọi OpenStack Horizon trong vòng 8 tiếng tại nơi thi (theo phong cách Hackathon [5]). Yêu cầu "thêm mới/cải tiến" sẽ được Ban Tổ Chức công bố trước khi thí sinh vào phòng thi.

·         Thực nghiệm, tích hợp Docker và cAdvisor với Horizon.

Horizon

Horizon là dự án con trong OpenStack, là một ứng dụng web cung cấp giao diện hỗ trợ tương tác giữa người dùng và các tính năng của các dự án con trong OpenStack như Nova, Neutron, Glance ... Horizon được xây dựng từ framework Django trên nền ngôn ngữ lập trình Python.

Python

Python (cùng HTML, JavaScript và CSS) là ngôn ngữ lập trình được chọn sử dụng trong nội dung thi “Mã nguồn mở” năm nay xoay quanh chủ đề phát triển các ứng dụng nguồn mở trên nền điện toán đám mây.

Git

Git là công cụ quản lý mã nguồn được sử dụng rất nhiều tại các dự án mã nguồn mở trên thế giới. Sinh viên cần thiết phải tìm hiểu Git và sử dụng git để nộp kết quả bài thi thông qua git diff và đẩy pull request lên tới kho mã nguồn của BTC.

Thư viện phụ thuộc

d3js là thư viện giúp mô hình hóa dữ liệu dưới dạng đồ thị, biểu đồ. D3js được tích hợp sẵn trong Horizon và được sử dụng trong nhiều thành phần giao diện.

 

Những điểm mới và thay đổi trong cuộc thi OLP FOSS 2016

So với các cuộc thi Olympic Nguồn mở những năm 2013 trở về trước, cuộc thi OLP FOSS 2016 có những điểm thay đổi như sau:

1.    Bỏ phần thi câu hỏi trắc nghiệm lý thuyết về Phần mềm Nguồn mở.

2.    Bỏ phần thi trắc nghiệm về các thư viện Nguồn mở.

3.    Bỏ phần thi lập trình dạng thuật toán theo chủ đề.

4.    Thay vào đó, đề thi năm nay tập trung vào một phần mềm thực tế hoặc/và một thư viện nguồn mở phổ biến.

5.    Trong toàn bộ thời gian thi, thí sinh chỉ tập trung giải một bài toán duy nhất do Ban Tổ Chức công bố trước khi thi.

Về hướng ra đề thi

Bài thi sẽ tập trung vào việc xây dựng thêm giao diện hỗ trợ mới nhằm tối ưu hóa hoặc/và cải thiện việc tự động cấp phát/thay đổi tài nguyên cho Docker, triển khai thông qua OpenStack. Đề bài sẽ được công bố ngay trước khi thi.

Về số lượng sinh viên tham gia

  1. Ban tổ chức không hạn chế số lượng đội sinh viên tham gia cuộc thi OLP FOSS 2016.
  2. Tuy nhiên, mỗi đội sinh viên có số sinh viên tham gia tối đa là 03 (ba) người.
  3. Ban tổ chức sẽ cung cấp 02 (hai) máy tính (PC) và khuyến khích sinh viên áp dụng lập trình cặp (pair programming).
  4. Sinh viên được quyền mang và sử dụng laptop cá nhân.
  5. Sinh viên được khuyến khích tương tác cùng các cộng đồng nguồn mở tại Việt Nam như Vietnam OpenStack, Docker Hanoi để chuẩn bị kiến thức trước khi thi.

Về môi trường phát triển

A. Laptop: Khuyến khích cấu hình laptop như bên dưới hoặc tương đương.

  1. CPU core i7 3.00 GHz hoặc tương đương.
  2. RAM 4GB hoặc nhiều hơn.
  3. Internet connection (LAN hoặc Wireless).

B. Môi trường:

  1. Ubuntu 14.04 64 bit.
  2. Triển khai OpenStack dựa trên DevStack dưới mô hình “all in one” với các services và mã nguồn được lấy từ phiên bản “/origin/stable/mitaka”

Tiêu chí đánh giá

Một số tiêu chí đánh giá kết quả cuộc thi là:

1.    Mức độ tối ưu, cải thiện công năng/sửa lỗi.

2.    Độ hoàn thiện cũng như tính sáng tạo của giải pháp tự động cấp phát tài nguyên.

3.    Mức độ mô phỏng dữ liệu.

Gợi ý

Để thực hiện tốt bài thi, thí sinh cần làm quen với  các services trong OpenStack (Nova, Neutron… đặc biệt là Horizon), devstack và cần nắm vững các thao tác làm việc với Docker.

Thời gian làm bài

Thời gian cho cuộc thi trong ngày là 08 (tám) tiếng, từ 08h00 sáng tới 16h00. Ngày và địa điểm thi sẽ được công bố cụ thể trên website OLP.

Giải thưởng

Theo qui chế của OLP Tin học [6], giải chính thức gồm giải nhất, giải nhì và giải ba. Hội đồng giám khảo sẽ căn cứ vào chất lượng các bài thi để đề nghị số lượng giải thưởng.

Thông tin tham khảo

[1] Horizon: http://docs.openstack.org/developer/horizon/

[2] Django: MTV Python framework https://www.djangoproject.com/

[3] Docker: https://www.docker.com/

[4] cAdvisor: https://github.com/google/cadvisor

[5] Hackathon: http://en.wikipedia.org/wiki/Hackathon

Hackathon là gì: http://vnreview.vn/tin-tuc-xa-hoi-so/-/view_content/content/1245492/hackathon-la-gi

[6] Chương trình tổng thể: http://www.olp.vn/olympic/noi-quy

 

Các cộng đồng nguồn mở hỗ trợ cho cuộc thi

Vietnam OpenStack

Facebook: https://www.facebook.com/VietOpenStack/

Group: https://www.facebook.com/groups/vietstack/

Slack: https://vietops.herokuapp.com/

 

Docker Hanoi

Facebook: https://www.facebook.com/dockerhanoi

Group: https://www.facebook.com/groups/dockerhanoi

Slack: http://docker-hanoi.herokuapp.com/

Comments