O projeto Julia Language

Esta página contém os detalhes de um projeto de redação técnica aceito para a Google Season of Docs.

Resumo do projeto

Organização de código aberto:
A linguagem Julia
Redator técnico:
Shuo Liu
Nome do projeto:
Documentos 2.0 do LightGraphs e tutoriais fáceis de usar do JuliaGraphs
Duração do projeto:
Longa duração (cinco meses)

Project description

Neste projeto de longa duração, vou melhorar o site e a documentação dos módulos no JuliaGraphs. Especificamente, meu trabalho inclui, mas não se limita aos seguintes conteúdos:

Documentos do LightGraphs 2.0 - 10 semanas

  • Visão geral: LightGraphs.jl é um pacote de gráficos otimizado e leve para Julia, que serve como o núcleo do ecossistema JuliaGraphs. A próxima versão 2.0 do LightGraphs representa uma mudança fundamental na API LightGraphs. Vou garantir que a documentação represente os recursos mais recentes e melhores do LightGraphs.
  • Entregas: vou realizar uma auditoria dos documentos de API existentes para saber qual documentação pode permanecer a mesma e analisar as mudanças feitas na versão 2.0 para garantir que elas sejam devidamente documentadas com exemplos. Durante esse processo, vou escrever postagens que destacam as principais mudanças na versão 2.0. Para ajudar os novatos a entender melhor os LightGraphs, vou criar guias para iniciantes que estão os primeiros passos no mundo do uso de gráficos em Julia.
  • Observações: neste projeto, o Documenter.jl será usado como o gerador de documentos para criar os documentos do LightGraphs. Além das referências da API para módulos como Coloring.jl, também preciso delas para os submódulos, como greedy_color.jl. Vou mostrar como adicioná-las para renovar a documentação do LightGraphs. Além disso, a teoria de grafos é um campo bastante técnico da matemática e obscuro para quem não tem formação matemática. Tenho me envolvido em pesquisas acadêmicas há cerca de dois anos e escrito muitas postagens de blog no meu site pessoal. Por isso, tenho confiança para explicar a essência de diferentes algoritmos e dar dicas de quais usar em várias situações ao criar os guias para iniciantes.

Tutoriais do JuliaGraphs: 10 semanas

  • Visão geral: muitas das documentações dos pacotes do JuliaGraphs são voltadas para desenvolvedores. Vou adicionar alguns exemplos simples e ilustrar o uso de cada recurso, tornando-o mais acessível para os usuários.
  • Entregas: vou realizar uma auditoria dos tutoriais atuais do LightGraphs para saber quais materiais precisam ser adicionados e demonstrar o uso e a motivação de cada recurso. Em seguida, vou seguir a maneira de JuliaGraphsTutorials para expandir os tutoriais do JuliaGraphs, incluindo o guia para iniciantes no ecossistema do LightGraphs.
  • Observações: o conteúdo do JuliaGraphsTutorials não é completo o suficiente no momento. Os resultados listados acima são principalmente para o pacote LightGraphs. Se o tempo permitir, também vou adicionar tutoriais para outros módulos no JuliaGraphs, como GraphPlot.jl, MetaGraphs.jl e SimpleWeightedGraphs.jl.

Site central da JuliaGraphs: 4 semanas

  • Visão geral: o site central da JuliaGraphs oferece uma visão geral dos pacotes do ecossistema. No entanto, ainda é uma descrição e pode ser melhorado para se tornar o primeiro recurso para pessoas que estão começando a trabalhar com gráficos em Julia. Vou encontrar uma maneira intuitiva de usar a visualização para destacar os recursos de vários pacotes do JuliaGraphs.
  • Entregas: vou oferecer casos de uso e exemplos para destacar as funcionalidades dos pacotes do JuliaGraphs e realizar uma auditoria para garantir que elas ainda sejam relevantes e tenham suporte. Vou criar uma seção que destaca os diferentes usos dos vários pacotes em diferentes domínios (saúde, educação etc.) Se o tempo permitir, vou pesquisar explicações visuais dos algoritmos usados nos gráficos.
  • Observações: muitos pacotes do JuliaGraphs são usados em diferentes domínios. Além de traçar extensões como DiGraph for NetworkViz, algumas outras aplicações em assuntos específicos que vou incluir são MetaGraph for BioStructures in Biology, DijkstraState for TrafficAssighnment in Urban Planning, DiGraph for TreeView in Education, etc.