Dự án Ngôn ngữ Julia

Trang này chứa thông tin chi tiết về một dự án viết nội dung kỹ thuật đã được chấp nhận tham gia Google Season of Docs.

Tóm tắt dự án

Tổ chức nguồn mở:
Ngôn ngữ Julia
Người viết nội dung kỹ thuật:
Shuo Liu
Tên dự án:
Tài liệu về LightGraphs Tài liệu 2.0 và Hướng dẫn về JuliaGraphs thân thiện với người dùng
Thời lượng dự án:
Chạy trong thời gian dài (5 tháng)

Mô tả dự án

Trong dự án dài hạn này, tôi sẽ cải thiện trang web và tài liệu về các mô-đun trong JuliaGraphs. Cụ thể, công việc của tôi sẽ bao gồm nhưng không giới hạn ở những nội dung sau.

Tài liệu LightGraphs 2.0 – 10 tuần

  • Tổng quan: LightGraphs.jl là một gói biểu đồ nhẹ được tối ưu hoá cho Julia, đóng vai trò là cốt lõi của hệ sinh thái JuliaGraphs. Phiên bản 2.0 sắp tới của LightGraphs thể hiện một thay đổi cơ bản trong API LightGraphs. Tôi sẽ đảm bảo tài liệu này thể hiện các tính năng mới nhất và tốt nhất của LightGraphs.
  • Sản phẩm: Tôi sẽ kiểm tra tài liệu API hiện có để xem tài liệu nào có thể giữ nguyên và phân tích những thay đổi đã thực hiện trong bản phát hành 2.0 để đảm bảo chúng được ghi nhận đúng cách bằng các ví dụ. Trong quá trình này, tôi sẽ viết các bài đăng nêu bật những thay đổi chính trong bản phát hành 2.0. Để giúp người mới hiểu rõ hơn về LightGraphs, tôi sẽ tạo hướng dẫn dành cho người mới bắt đầu dành cho những người mới bắt đầu sử dụng biểu đồ trong Julia.
  • Lưu ý: Trong dự án này, Documenter.jl sẽ được dùng làm trình tạo tài liệu để xây dựng các tài liệu LightGraphs. Ngoài các tệp tham chiếu API cho các mô-đun như Coloring.jl, tôi cũng cần các tệp tham chiếu này cho các mô-đun con như greedy_color.jl. Tôi sẽ tìm hiểu cách thêm các tệp tham chiếu này để làm mới tài liệu về LightGraphs. Ngoài ra, lý thuyết đồ thị là một lĩnh vực toán học khá kỹ thuật và khó hiểu đối với những người không có kiến thức nền tảng về toán học. Tôi đã tham gia nghiên cứu học thuật được khoảng 2 năm và viết nhiều bài đăng trên blog trên trang web cá nhân của mình. Do đó, tôi tự tin có thể giải thích tóm tắt về các thuật toán khác nhau và đưa ra gợi ý về thuật toán nào nên dùng trong nhiều tình huống khi tạo hướng dẫn cho người mới bắt đầu.

Hướng dẫn về JuliaGraphs – 10 tuần

  • Tổng quan: Nhiều tài liệu về gói JuliaGraphs hướng đến nhà phát triển. Tôi sẽ thêm một số ví dụ đơn giản và minh hoạ cách sử dụng cho từng tính năng để người dùng dễ tiếp cận hơn.
  • Sản phẩm: Tôi sẽ kiểm tra các hướng dẫn hiện có về LightGraphs để xem cần thêm tài liệu nào, đồng thời minh hoạ cách sử dụng và động lực của từng tính năng. Sau đó, tôi sẽ làm theo cách của JuliaGraphsTutorials để mở rộng các hướng dẫn về JuliaGraphs, bao gồm cả hướng dẫn dành cho người mới bắt đầu trong hệ sinh thái LightGraphs.
  • Lưu ý: Nội dung của JuliaGraphsTutorials hiện chưa đủ kỹ lưỡng, các sản phẩm được liệt kê ở trên chủ yếu dành cho gói LightGraphs. Nếu có thời gian, tôi cũng sẽ thêm hướng dẫn cho các mô-đun khác trong JuliaGraphs, chẳng hạn như GraphPlot.jl, MetaGraphs.jlSimpleWeightedGraphs.jl.

Trang web trung tâm JuliaGraphs – 4 tuần

  • Tổng quan: Trang web trung tâm của JuliaGraphs cung cấp thông tin tổng quan về các gói của hệ sinh thái. Tuy nhiên, đây vẫn chủ yếu là nội dung mô tả và có thể được cải thiện thêm để trở thành tài nguyên đầu tiên cho những người bắt đầu sử dụng biểu đồ trong Julia. Tôi sẽ tìm một cách trực quan bằng hình ảnh để làm nổi bật các tính năng của nhiều gói JuliaGraphs.
  • Sản phẩm: Tôi sẽ cung cấp các trường hợp sử dụng và ví dụ để làm nổi bật chức năng của các gói JuliaGraphs, đồng thời kiểm tra để đảm bảo các gói này vẫn phù hợp và được hỗ trợ. Tôi sẽ tạo một phần nêu bật các cách sử dụng khác nhau của nhiều gói trong các lĩnh vực khác nhau (Chăm sóc sức khoẻ, Giáo dục, v.v.) Nếu có thời gian, tôi sẽ nghiên cứu phần giải thích bằng hình ảnh về các thuật toán dùng trong Biểu đồ.
  • Lưu ý: Nhiều gói JuliaGraphs đã được sử dụng rộng rãi trong nhiều miền. Bên cạnh việc lập biểu đồ cho các phần mở rộng như DiGraph cho NetworkViz, một số ứng dụng khác trong những môn học cụ thể mà tôi sẽ đưa vào là MetaGraph cho BioStructures trong Sinh học, DijkstraState cho TrafficAssighnment trong Quy hoạch đô thị, DiGraph cho TreeView trong Giáo dục, v.v..