diff --git a/404.html b/404.html index 937cd122..c07c4224 100644 --- a/404.html +++ b/404.html @@ -11,7 +11,7 @@ - + @@ -408,6 +408,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/_snippets/alunos/index.html b/_snippets/alunos/index.html index ad2ee94b..f92951d7 100644 --- a/_snippets/alunos/index.html +++ b/_snippets/alunos/index.html @@ -13,7 +13,7 @@ - + @@ -410,6 +410,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -560,61 +574,61 @@

    Alunos

    - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
    Abel Cavalcante de AndradeAbel Cavalcante De AndradeAbel Cavalcante de AndradeAbel Cavalcante De Andrade
    Antonio FonsecaAntonio FonsecaAntonio FonsecaAntonio Fonseca
    Caio Emmanuel Soares RochaCaio Emmanuel Soares RochaCaio Emmanuel Soares RochaCaio Emmanuel Soares Rocha
    Cicero Tiago Carneiro ValentimCicero Tiago Carneiro ValentimCicero Tiago Carneiro ValentimCicero Tiago Carneiro Valentim
    Henrique Simões AlbertiHenrique Simões AlbertiHenrique Simões AlbertiHenrique Simões Alberti
    Igor MontagnerIgor MontagnerIgor MontagnerIgor Montagner
    Joao Pedro Gianfaldoni de AndradeJoao Pedro Gianfaldoni De AndradeJoao Pedro Gianfaldoni de AndradeJoao Pedro Gianfaldoni De Andrade
    Jorás Custódio Campos de OliveiraJorás Custódio Campos De OliveiraJorás Custódio Campos de OliveiraJorás Custódio Campos De Oliveira
    Natália Queiroz Menezes CarrerasNatália Queiroz Menezes CarrerasNatália Queiroz Menezes CarrerasNatália Queiroz Menezes Carreras
    Rafael LibertiniRafael LibertiniRafael LibertiniRafael Libertini
    diff --git a/_snippets/plano-de-aulas/index.html b/_snippets/plano-de-aulas/index.html index 5f779be4..75834008 100644 --- a/_snippets/plano-de-aulas/index.html +++ b/_snippets/plano-de-aulas/index.html @@ -13,7 +13,7 @@ - + @@ -410,6 +410,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -560,181 +574,181 @@

    Plano de aulas

    - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
    DateQuestion/Problem/ChallengeContentDateQuestion/Problem/ChallengeContent
    14/08Introduction to the course and its challengesWorkflow with distributed version control: forks, patches, pull requests, and local repositories. Technical and non-technical aspects surrounding software: infrastructure, support, marketing, funding. Reference: FOGEL Ch. 3; Additional reading: TAPSCOTT & WILLIAMS.14/08Introduction to the course and its challengesWorkflow with distributed version control: forks, patches, pull requests, and local repositories. Technical and non-technical aspects surrounding software: infrastructure, support, marketing, funding. Reference: FOGEL Ch. 3; Additional reading: TAPSCOTT & WILLIAMS.
    16/08First code contributionWorkflow with distributed version control: ammend, rebase, revert.16/08First code contributionWorkflow with distributed version control: ammend, rebase, revert.
    21/08Project documentation and what to do when it doesn't existTypes of documentation (user, developer). Source code documentation systems: doxygen, Javadoc, pydoc, sphinx; Reference: FOGEL Ch. 3 (Wikis, Website)21/08Project documentation and what to do when it doesn't existTypes of documentation (user, developer). Source code documentation systems: doxygen, Javadoc, pydoc, sphinx; Reference: FOGEL Ch. 3 (Wikis, Website)
    23/08Studio class for "Professional Project" activityStudio class for "Professional Project" activity23/08Studio class for "Professional Project" activityStudio class for "Professional Project" activity
    28/08Ensuring others can work on the project: API documentationcode quality28/08Ensuring others can work on the project: API documentationcode quality
    30/08Software distribution and versioningSoftware distribution tools. Types of distribution. Versioning schemes. Reference: FOGEL Ch. 730/08Software distribution and versioningSoftware distribution tools. Types of distribution. Versioning schemes. Reference: FOGEL Ch. 7
    04/09How to make software work in multiple countries?Localization and internationalization. Gettext tool for translations and .po format.04/09How to make software work in multiple countries?Localization and internationalization. Gettext tool for translations and .po format.
    06/09Software testingTypes of software testing: unit, integration, and interface. Testing tools: pytest, selenium.06/09Software testingTypes of software testing: unit, integration, and interface. Testing tools: pytest, selenium.
    11/09Studio class for "Software Testing" activityStudio class for "Software Testing" activity11/09Studio class for "Software Testing" activityStudio class for "Software Testing" activity
    13/09Software licensesCopyrights in Brazil, patents, and software licenses; Reference: LAURENT Ch. 1 and 5, STALLMAN Ch. 613/09Software licensesCopyrights in Brazil, patents, and software licenses; Reference: LAURENT Ch. 1 and 5, STALLMAN Ch. 6
    18/09Introduction to contributions in open projects - Activity "My First Contribution"Studio class for group activity "My First Contribution"18/09Introduction to contributions in open projects - Activity "My First Contribution"Studio class for group activity "My First Contribution"
    20/09Studio class for group activity "My First Contribution"Studio class for group activity "My First Contribution"20/09Studio class for group activity "My First Contribution"Studio class for group activity "My First Contribution"
    25/09Studio class for group activity "My First Contribution"Studio class for group activity "My First Contribution"25/09Studio class for group activity "My First Contribution"Studio class for group activity "My First Contribution"
    27/09Working in software communitiesAssessment metrics for the second part of the course; Communication and teamwork. Reference: RAYMOND Ch. 427/09Working in software communitiesAssessment metrics for the second part of the course; Communication and teamwork. Reference: RAYMOND Ch. 4
    02/10Course projectStudio class for project development02/10Course projectStudio class for project development
    04/10Course projectStudio class for project development04/10Course projectStudio class for project development
    09/10EXAM WEEKEXAM WEEK09/10EXAM WEEKEXAM WEEK
    11/10EXAM WEEKEXAM WEEK11/10EXAM WEEKEXAM WEEK
    16/10Course projectStudio class for project development16/10Course projectStudio class for project development
    18/10Course projectStudio class for project development18/10Course projectStudio class for project development
    23/10Course projectStudio class for project development23/10Course projectStudio class for project development
    25/10Course projectStudio class for project development25/10Course projectStudio class for project development
    30/10Course projectStudio class for project development30/10Course projectStudio class for project development
    01/11Course projectStudio class for project development01/11Course projectStudio class for project development
    06/11Course projectStudio class for project development06/11Course projectStudio class for project development
    08/11Course projectStudio class for project development08/11Course projectStudio class for project development
    13/11Course projectStudio class for project development13/11Course projectStudio class for project development
    15/11PUBLIC HOLIDAYPUBLIC HOLIDAY15/11PUBLIC HOLIDAYPUBLIC HOLIDAY
    20/11Topics on free culture and software communitiesnan20/11Topics on free culture and software communitiesnan
    22/11Topics on free culture and software communitiesnan22/11Topics on free culture and software communitiesnan
    27/11Topics on free culture and software communitiesnan27/11Topics on free culture and software communitiesnan
    29/11Topics on free culture and software communitiesnan29/11Topics on free culture and software communitiesnan
    04/12EXAM WEEKEXAM WEEK04/12EXAM WEEKEXAM WEEK
    06/12EXAM WEEKEXAM WEEK06/12EXAM WEEKEXAM WEEK
    diff --git a/_snippets/skills-code/index.html b/_snippets/skills-code/index.html index a37918f4..4d5148a0 100644 --- a/_snippets/skills-code/index.html +++ b/_snippets/skills-code/index.html @@ -13,7 +13,7 @@ - + @@ -410,6 +410,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -560,62 +574,62 @@

    Skills code

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    21Code ContributionSubmitted a pull request fixing a bug.704/1221Code ContributionSubmitted a pull request fixing a bug.704/12
    22Contribution Accepted!A non-trivial pull request was accepted by an external project.1304/1222Contribution Accepted!A non-trivial pull request was accepted by an external project.1304/12
    23Simple Contribution Accepted!A simple pull request (with trivial changes or small code refactorings) was accepted by an external project.304/1223Simple Contribution Accepted!A simple pull request (with trivial changes or small code refactorings) was accepted by an external project.304/12
    24Bug ReportReported a bug in a repository, and another user was able to reproduce it.504/1224Bug ReportReported a bug in a repository, and another user was able to reproduce it.504/12
    25Feature RequestMade a request for a new feature in a software.204/1225Feature RequestMade a request for a new feature in a software.204/12
    26INSPER ProjectMade additional contributions to an INSPER educational project.504/1226INSPER ProjectMade additional contributions to an INSPER educational project.504/12
    diff --git a/_snippets/skills-community/index.html b/_snippets/skills-community/index.html index 1d7c5fa3..7a1f6d9c 100644 --- a/_snippets/skills-community/index.html +++ b/_snippets/skills-community/index.html @@ -13,7 +13,7 @@ - + @@ -410,6 +410,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -560,94 +574,94 @@

    Skills community

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    40Indirect IssueConversations in an issue or pull request led other users to open issues reporting new bugs/improvements.304/1240Indirect IssueConversations in an issue or pull request led other users to open issues reporting new bugs/improvements.304/12
    41Beta TesterWhen reproducing a bug, you discovered that it had already been fixed and caused the closure of an issue.304/1241Beta TesterWhen reproducing a bug, you discovered that it had already been fixed and caused the closure of an issue.304/12
    42Translation Accepted!Made a translation that was accepted in an open-source software.504/1242Translation Accepted!Made a translation that was accepted in an open-source software.504/12
    43New LanguagesAdded support for translations in a previously non-translatable software.1004/1243New LanguagesAdded support for translations in a previously non-translatable software.1004/12
    44ReviewerReviewed minor errors in the documentation of a project, and your modifications were accepted.204/1244ReviewerReviewed minor errors in the documentation of a project, and your modifications were accepted.204/12
    45Documentation ContributionClosed an issue marked as docs.704/1245Documentation ContributionClosed an issue marked as docs.704/12
    46Project PitchDelivered a project pitch.004/1246Project PitchDelivered a project pitch.004/12
    47Pitch Accepted!Contributed to a project presented in class.504/1247Pitch Accepted!Contributed to a project presented in class.504/12
    48Accepted Suggestion!Another student contributed to the project you pitched.304/1248Accepted Suggestion!Another student contributed to the project you pitched.304/12
    49PR ReplayPresented (in 15 minutes) the process of resolving a bug in class.504/1249PR ReplayPresented (in 15 minutes) the process of resolving a bug in class.504/12
    diff --git a/_snippets/skills-impact/index.html b/_snippets/skills-impact/index.html index c07dbd31..8f9fc44a 100644 --- a/_snippets/skills-impact/index.html +++ b/_snippets/skills-impact/index.html @@ -13,7 +13,7 @@ - + @@ -410,6 +410,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -560,78 +574,78 @@

    Skills impact

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    60SpeakerGave a talk about libraries or open-source software.2004/1260SpeakerGave a talk about libraries or open-source software.2004/12
    61HelpdeskHad an accepted answer on sites like StackOverflow or email lists.404/1261HelpdeskHad an accepted answer on sites like StackOverflow or email lists.404/12
    62Published ContributionOne of your contributions was included in a release.1004/1262Published ContributionOne of your contributions was included in a release.1004/12
    63VIP GuestAfter making a contribution, someone from the project asked you to perform a task. After delivering the task, add this skill.504/1263VIP GuestAfter making a contribution, someone from the project asked you to perform a task. After delivering the task, add this skill.504/12
    643 Submitted PRsSubmitted 3 pull requests to the same project.1004/12643 Submitted PRsSubmitted 3 pull requests to the same project.1004/12
    653 Accepted PRs3 pull requests you submitted to a project were accepted.3004/12653 Accepted PRs3 pull requests you submitted to a project were accepted.3004/12
    66ShoutoutSomething you did was mentioned by the project on social media or through an official channel.1004/1266ShoutoutSomething you did was mentioned by the project on social media or through an official channel.1004/12
    77HacktoberfestParticipated in Hacktoberfest by submitting 3 pull requests to external projects.2004/1277HacktoberfestParticipated in Hacktoberfest by submitting 3 pull requests to external projects.2004/12
    diff --git a/_snippets/skills-tutorial/index.html b/_snippets/skills-tutorial/index.html index 37de5c25..992bdfb2 100644 --- a/_snippets/skills-tutorial/index.html +++ b/_snippets/skills-tutorial/index.html @@ -13,7 +13,7 @@ - + @@ -410,6 +410,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -560,102 +574,102 @@

    Skills tutorial

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    1First StepsAdded to the discipline's repository.225/091First StepsAdded to the discipline's repository.225/09
    2Exploring a Project's EnvironmentResearched the history and community of people and services around a project.325/092Exploring a Project's EnvironmentResearched the history and community of people and services around a project.325/09
    3Undocumented ProjectReceived an undocumented system and got it up and running.525/093Undocumented ProjectReceived an undocumented system and got it up and running.525/09
    4Professional ProjectRefactored poorly written code and created a web page for it.525/094Professional ProjectRefactored poorly written code and created a web page for it.525/09
    5Tested and ApprovedCreated unit tests and interface tests for the challenge server.525/095Tested and ApprovedCreated unit tests and interface tests for the challenge server.525/09
    6Python PackageCreated a Python package installable via pip.325/096Python PackageCreated a Python package installable via pip.325/09
    7DockerfileCreated automated deployment for a Python web system.325/097DockerfileCreated automated deployment for a Python web system.325/09
    8Basic TranslationUsed translation tools to translate and localize a small command-line program.225/098Basic TranslationUsed translation tools to translate and localize a small command-line program.225/09
    10FLOSS ResearchDelivered a long presentation on a recent and relevant topic related to free and open-source software.504/1210FLOSS ResearchDelivered a long presentation on a recent and relevant topic related to free and open-source software.504/12
    11Better codeAddressed linting problems in a poorly written project525/0911Better codeAddressed linting problems in a poorly written project525/09
    12Release createdCreated a release and published a binary package for users525/0912Release createdCreated a release and published a binary package for users525/09
    diff --git a/agenda_apresentacoes/index.html b/agenda_apresentacoes/index.html index f2a61143..e6d27f92 100644 --- a/agenda_apresentacoes/index.html +++ b/agenda_apresentacoes/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -590,22 +604,22 @@

    Rubrica

    - - + + - - + + - - + + - - + +
    ConceitoDescriçãoConceitoDescrição
    AApresentação realizada dentro do tempo estipulado. O tema foi organizado de forma excelente, com boa sequência lógica das ideias. O trabalho foi apresentado de forma clara e concisa, usando so slides de forma coesa com a fala. Tem boa postura e segurança, estabelece contato visual com os participantes durante a apresentação. Incorporou elementos visuais de qualidade no material: figuras, tabelas e gráficos são claros e contêm informações suficientes. Fez uso de no mínimo uma técnica para interação com a audiência (por exemplo, debate, painel com votações, entre outros).AApresentação realizada dentro do tempo estipulado. O tema foi organizado de forma excelente, com boa sequência lógica das ideias. O trabalho foi apresentado de forma clara e concisa, usando so slides de forma coesa com a fala. Tem boa postura e segurança, estabelece contato visual com os participantes durante a apresentação. Incorporou elementos visuais de qualidade no material: figuras, tabelas e gráficos são claros e contêm informações suficientes. Fez uso de no mínimo uma técnica para interação com a audiência (por exemplo, debate, painel com votações, entre outros).
    BO tempo de apresentação foi de mais ou menos 5 min do estabelecido. O tema foi parcialmente bem organizado, com sequência de apresentação razoável. Expõe o trabalho corretamente, mas não usa os slides de forma coesa com a fala. Postura e segurança razoáveis. Os elementos visuais são de baixa qualidade: figuras, tabelas e gráficos não são totalmente claros e não contêm informações suficientes para compreensão. Fez uso de no mínimo uma técnica para interação com a audiência (por exemplo, debate, painel com votações, entre outros).BO tempo de apresentação foi de mais ou menos 5 min do estabelecido. O tema foi parcialmente bem organizado, com sequência de apresentação razoável. Expõe o trabalho corretamente, mas não usa os slides de forma coesa com a fala. Postura e segurança razoáveis. Os elementos visuais são de baixa qualidade: figuras, tabelas e gráficos não são totalmente claros e não contêm informações suficientes para compreensão. Fez uso de no mínimo uma técnica para interação com a audiência (por exemplo, debate, painel com votações, entre outros).
    CTempo de apresentação foi de mais ou menos 10 min do estabelecido. A organização da apresentação é confusa, o que prejudica o acompanhamento e compreensão das ideias. Comunicação deficiente, com dificuldade de expor ideias. Não usa adequadamente os slides. Não tem boa postura e segurança durante a apresentação. Os recursos visuas prejudicam a apresentação. Fez uso de no mínimo uma técnica para interação com a audiência (por exemplo, debate, painel com votações, entre outros).CTempo de apresentação foi de mais ou menos 10 min do estabelecido. A organização da apresentação é confusa, o que prejudica o acompanhamento e compreensão das ideias. Comunicação deficiente, com dificuldade de expor ideias. Não usa adequadamente os slides. Não tem boa postura e segurança durante a apresentação. Os recursos visuas prejudicam a apresentação. Fez uso de no mínimo uma técnica para interação com a audiência (por exemplo, debate, painel com votações, entre outros).
    @@ -613,46 +627,46 @@

    Agenda

    - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
    Data e horárioTemaData e horárioTema
    17/11 (9:45-10:45)GitHub Copilot é ético? [Eiki Yamashiro e Marcelo Miguel]17/11 (9:45-10:45)GitHub Copilot é ético? [Eiki Yamashiro e Marcelo Miguel]
    17/11 (10:45-11:45)A relação entre Software as a Service (SaaS) e projetos de Código Aberto [Caroline Chaim, Felipe Lemos, João Farias Araujo]17/11 (10:45-11:45)A relação entre Software as a Service (SaaS) e projetos de Código Aberto [Caroline Chaim, Felipe Lemos, João Farias Araujo]
    22/11 (9:45-10:45)Telemetria é "ético"? [Guilherme Lunetta, Rafael Monteiro e João Magalhães]22/11 (9:45-10:45)Telemetria é "ético"? [Guilherme Lunetta, Rafael Monteiro e João Magalhães]
    22/11 (10:45-11:45)Regulamentações futuras na Europa sobre responsabilidade legal dos criadores de IAs [Luiza Silvera, Guilherme Batista e Gabriel Zanetti]22/11 (10:45-11:45)Regulamentações futuras na Europa sobre responsabilidade legal dos criadores de IAs [Luiza Silvera, Guilherme Batista e Gabriel Zanetti]
    24/11Não teremos aula. Joga do Brasil na Copa do Mundo24/11Não teremos aula. Joga do Brasil na Copa do Mundo
    29/11 (9:45-10:45)Regulamentações recentes na Europa sobre durabilidade de smartphones. [Keiya Nishio e Bruno Freitas]29/11 (9:45-10:45)Regulamentações recentes na Europa sobre durabilidade de smartphones. [Keiya Nishio e Bruno Freitas]
    29/11 (10:45-11:45)Por que Open Source é crítico para criptomoedas? [Paulo Kim, Raphael Lahiry e Rodrigo Coelho]29/11 (10:45-11:45)Por que Open Source é crítico para criptomoedas? [Paulo Kim, Raphael Lahiry e Rodrigo Coelho]
    01/12 (9:45-10:45)The new open-source economics (Yochai Benkler, 2005). O que mudou de 2005 para 2022? [João Pedro Meirelles, Gustavo Molina e Rafael Almada]01/12 (9:45-10:45)The new open-source economics (Yochai Benkler, 2005). O que mudou de 2005 para 2022? [João Pedro Meirelles, Gustavo Molina e Rafael Almada]
    01/12 (10:45-11:45)Mantainer burnout [Cesar Ades e Jonathan Sutton]01/12 (10:45-11:45)Mantainer burnout [Cesar Ades e Jonathan Sutton]
    diff --git a/assessment/index.html b/assessment/index.html index 54892db3..f4fbe1af 100644 --- a/assessment/index.html +++ b/assessment/index.html @@ -17,7 +17,7 @@ - + @@ -429,6 +429,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -628,102 +642,102 @@

    Tutorial

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    1First StepsAdded to the discipline's repository.225/091First StepsAdded to the discipline's repository.225/09
    2Exploring a Project's EnvironmentResearched the history and community of people and services around a project.325/092Exploring a Project's EnvironmentResearched the history and community of people and services around a project.325/09
    3Undocumented ProjectReceived an undocumented system and got it up and running.525/093Undocumented ProjectReceived an undocumented system and got it up and running.525/09
    4Professional ProjectRefactored poorly written code and created a web page for it.525/094Professional ProjectRefactored poorly written code and created a web page for it.525/09
    5Tested and ApprovedCreated unit tests and interface tests for the challenge server.525/095Tested and ApprovedCreated unit tests and interface tests for the challenge server.525/09
    6Python PackageCreated a Python package installable via pip.325/096Python PackageCreated a Python package installable via pip.325/09
    7DockerfileCreated automated deployment for a Python web system.325/097DockerfileCreated automated deployment for a Python web system.325/09
    8Basic TranslationUsed translation tools to translate and localize a small command-line program.225/098Basic TranslationUsed translation tools to translate and localize a small command-line program.225/09
    10FLOSS ResearchDelivered a long presentation on a recent and relevant topic related to free and open-source software.504/1210FLOSS ResearchDelivered a long presentation on a recent and relevant topic related to free and open-source software.504/12
    11Better codeAddressed linting problems in a poorly written project525/0911Better codeAddressed linting problems in a poorly written project525/09
    12Release createdCreated a release and published a binary package for users525/0912Release createdCreated a release and published a binary package for users525/09
    @@ -732,62 +746,62 @@

    Code

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    21Code ContributionSubmitted a pull request fixing a bug.704/1221Code ContributionSubmitted a pull request fixing a bug.704/12
    22Contribution Accepted!A non-trivial pull request was accepted by an external project.1304/1222Contribution Accepted!A non-trivial pull request was accepted by an external project.1304/12
    23Simple Contribution Accepted!A simple pull request (with trivial changes or small code refactorings) was accepted by an external project.304/1223Simple Contribution Accepted!A simple pull request (with trivial changes or small code refactorings) was accepted by an external project.304/12
    24Bug ReportReported a bug in a repository, and another user was able to reproduce it.504/1224Bug ReportReported a bug in a repository, and another user was able to reproduce it.504/12
    25Feature RequestMade a request for a new feature in a software.204/1225Feature RequestMade a request for a new feature in a software.204/12
    26INSPER ProjectMade additional contributions to an INSPER educational project.504/1226INSPER ProjectMade additional contributions to an INSPER educational project.504/12
    @@ -796,94 +810,94 @@

    Community

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    40Indirect IssueConversations in an issue or pull request led other users to open issues reporting new bugs/improvements.304/1240Indirect IssueConversations in an issue or pull request led other users to open issues reporting new bugs/improvements.304/12
    41Beta TesterWhen reproducing a bug, you discovered that it had already been fixed and caused the closure of an issue.304/1241Beta TesterWhen reproducing a bug, you discovered that it had already been fixed and caused the closure of an issue.304/12
    42Translation Accepted!Made a translation that was accepted in an open-source software.504/1242Translation Accepted!Made a translation that was accepted in an open-source software.504/12
    43New LanguagesAdded support for translations in a previously non-translatable software.1004/1243New LanguagesAdded support for translations in a previously non-translatable software.1004/12
    44ReviewerReviewed minor errors in the documentation of a project, and your modifications were accepted.204/1244ReviewerReviewed minor errors in the documentation of a project, and your modifications were accepted.204/12
    45Documentation ContributionClosed an issue marked as docs.704/1245Documentation ContributionClosed an issue marked as docs.704/12
    46Project PitchDelivered a project pitch.004/1246Project PitchDelivered a project pitch.004/12
    47Pitch Accepted!Contributed to a project presented in class.504/1247Pitch Accepted!Contributed to a project presented in class.504/12
    48Accepted Suggestion!Another student contributed to the project you pitched.304/1248Accepted Suggestion!Another student contributed to the project you pitched.304/12
    49PR ReplayPresented (in 15 minutes) the process of resolving a bug in class.504/1249PR ReplayPresented (in 15 minutes) the process of resolving a bug in class.504/12
    @@ -898,78 +912,78 @@

    Impact

    - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
    idNameDescriptionXPDateidNameDescriptionXPDate
    60SpeakerGave a talk about libraries or open-source software.2004/1260SpeakerGave a talk about libraries or open-source software.2004/12
    61HelpdeskHad an accepted answer on sites like StackOverflow or email lists.404/1261HelpdeskHad an accepted answer on sites like StackOverflow or email lists.404/12
    62Published ContributionOne of your contributions was included in a release.1004/1262Published ContributionOne of your contributions was included in a release.1004/12
    63VIP GuestAfter making a contribution, someone from the project asked you to perform a task. After delivering the task, add this skill.504/1263VIP GuestAfter making a contribution, someone from the project asked you to perform a task. After delivering the task, add this skill.504/12
    643 Submitted PRsSubmitted 3 pull requests to the same project.1004/12643 Submitted PRsSubmitted 3 pull requests to the same project.1004/12
    653 Accepted PRs3 pull requests you submitted to a project were accepted.3004/12653 Accepted PRs3 pull requests you submitted to a project were accepted.3004/12
    66ShoutoutSomething you did was mentioned by the project on social media or through an official channel.1004/1266ShoutoutSomething you did was mentioned by the project on social media or through an official channel.1004/12
    77HacktoberfestParticipated in Hacktoberfest by submitting 3 pull requests to external projects.2004/1277HacktoberfestParticipated in Hacktoberfest by submitting 3 pull requests to external projects.2004/12
    diff --git a/aulas/02-comunidades-de-software/capa.png b/aulas/02-comunidades-de-software/capa.png deleted file mode 100644 index 39bc9472..00000000 Binary files a/aulas/02-comunidades-de-software/capa.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/donations.png b/aulas/02-comunidades-de-software/donations.png deleted file mode 100644 index 645210a4..00000000 Binary files a/aulas/02-comunidades-de-software/donations.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/erro0-data-errada.png b/aulas/02-comunidades-de-software/erro0-data-errada.png deleted file mode 100644 index e0499d11..00000000 Binary files a/aulas/02-comunidades-de-software/erro0-data-errada.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/erro1-arquivos-extras.png b/aulas/02-comunidades-de-software/erro1-arquivos-extras.png deleted file mode 100644 index cd3ba614..00000000 Binary files a/aulas/02-comunidades-de-software/erro1-arquivos-extras.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/erro2-multiplos-commits.png b/aulas/02-comunidades-de-software/erro2-multiplos-commits.png deleted file mode 100644 index 261d8c1c..00000000 Binary files a/aulas/02-comunidades-de-software/erro2-multiplos-commits.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/erro3-msg-commit.png b/aulas/02-comunidades-de-software/erro3-msg-commit.png deleted file mode 100644 index f3bdc0b8..00000000 Binary files a/aulas/02-comunidades-de-software/erro3-msg-commit.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/erro4-descricao-pr.png b/aulas/02-comunidades-de-software/erro4-descricao-pr.png deleted file mode 100644 index d08fc760..00000000 Binary files a/aulas/02-comunidades-de-software/erro4-descricao-pr.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/fontes-fundos.png b/aulas/02-comunidades-de-software/fontes-fundos.png deleted file mode 100644 index 85e77616..00000000 Binary files a/aulas/02-comunidades-de-software/fontes-fundos.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/habits.png b/aulas/02-comunidades-de-software/habits.png deleted file mode 100644 index 5c92b4da..00000000 Binary files a/aulas/02-comunidades-de-software/habits.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/linuxfoundationlogo.png b/aulas/02-comunidades-de-software/linuxfoundationlogo.png deleted file mode 100644 index 183efc7f..00000000 Binary files a/aulas/02-comunidades-de-software/linuxfoundationlogo.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/mint-2018.png b/aulas/02-comunidades-de-software/mint-2018.png deleted file mode 100644 index e035d31a..00000000 Binary files a/aulas/02-comunidades-de-software/mint-2018.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/mint-2020.png b/aulas/02-comunidades-de-software/mint-2020.png deleted file mode 100644 index 4f66d6ab..00000000 Binary files a/aulas/02-comunidades-de-software/mint-2020.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/mint-values.png b/aulas/02-comunidades-de-software/mint-values.png deleted file mode 100644 index 3d0c9f6c..00000000 Binary files a/aulas/02-comunidades-de-software/mint-values.png and /dev/null differ diff --git a/aulas/02-comunidades-de-software/pr-model1.jpg b/aulas/02-comunidades-de-software/pr-model1.jpg deleted file mode 100644 index 72bf9207..00000000 Binary files a/aulas/02-comunidades-de-software/pr-model1.jpg and /dev/null differ diff --git a/aulas/02-comunidades-de-software/pr-model2.jpg b/aulas/02-comunidades-de-software/pr-model2.jpg deleted file mode 100644 index ba70a83a..00000000 Binary files a/aulas/02-comunidades-de-software/pr-model2.jpg and /dev/null differ diff --git a/aulas/02-comunidades-de-software/slides.pdf b/aulas/02-comunidades-de-software/slides.pdf deleted file mode 100644 index 2fd58ae5..00000000 Binary files a/aulas/02-comunidades-de-software/slides.pdf and /dev/null differ diff --git a/aulas/02-comunidades-de-software/slides/index.html b/aulas/02-comunidades-de-software/slides/index.html deleted file mode 100644 index e6cada57..00000000 --- a/aulas/02-comunidades-de-software/slides/index.html +++ /dev/null @@ -1,840 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Fluxo de trabalho distribuído e Comunidades de Software - Open Source Development 2023/2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - Skip to content - - -
    -
    - -
    - - - - - - -
    - - -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    - - - - - - - - - -

    Desenvolvimento Aberto

    -

    height:350px

    -
    Fluxo de trabalho distribuído e Comunidades de Software
    -
    Versão 2022/2: Fabrício Barth ( fabriciojb@insper.edu.br )
    -
    -

    Modelo Github fork + pull request

    -

    scale:150%

    -

    Fonte: https://www.slideshare.net/abderrahmanebenbachir/continuous-integration-in-github

    -
    -

    Modelo Github fork + pull request

    -

    center 150%

    -

    Fonte: https://www.slideshare.net/abderrahmanebenbachir/continuous-integration-in-github

    -
    -

    Fluxo de Trabalho: outros modelos

    -
      -
    1. Enviar patch via lista de e-mails (ex. Linux)
    2. -
    3. Ferramentas de code review (ex. KDE - Phabricator)
    4. -
    5. Patch é anexado no Bug Tracker (ex. Haiku, KDE)
    6. -
    7. Não recebe contribuições externas
    8. -
    -
    -

    Revisão dos PRs da aula passada

    -

    Erros comuns

    -
    -

    Erro 0: o arquivo login-achievements

    -

    width:1000px

    -

    Como consertar: Crie um novo commit com a data certa e veja o erro 2.

    -
    -

    Erro 1: arquivos extras no PR

    -

    Erro: modificar arquivos não relacionados a sua mudança proposta.

    -

    -

    Ideal:

    -
      -
    1. Um Pull Request deverá conter o somente os arquivos relacionados a modificação proposta.
    2. -
    3. Cada modificação proposta está em um Pull Request separado
    4. -
    -
    -

    width:900px

    -
    -

    Erro 1: arquivos extras no PR

    -

    Como consertar: git revert cria um commit que desfaz alterações anteriores.

    -

    width:800px

    -

    Opções extras:

    -
      -
    • --no-commit: só adiciona as modificações, mas não faz o commit. Permite desfazer parcialmente um commit.
    • -
    -

    Fonte: https://www.atlassian.com/git/tutorials/

    -
    -

    Erro 2: PR contém mais de um commit

    -

    Erro: o PR está espalhado em vários commits.

    -

    -

    Ideal:

    -
      -
    1. Colocar toda sua modificação em um só commit ajuda a entender o que foi modificado no PR.
    2. -
    3. Mantém histórico limpo, com um commit por bug consertado ou funcionalidade adicionada.
    4. -
    5. Facilita encontrar erros e desfazer a modificação caso ela seja problemática (usando `git revert')
    6. -
    -
    -

    Erro 2: PR contém mais de um commit

    -

    width:900px

    -
    -

    Erro 2: PR contém mais de um commit

    -

    Como consertar: git rebase -i master permite remover e juntar commits do branch atual que não estejam no master.

    -

    width:600px

    -

    Fonte: https://www.atlassian.com/git/tutorials/

    -
    -

    Erro 3: Mensagens de commit não descritivas

    -

    width:1000px

    -

    Como consertar: git commit --amend permite modificar o último commit feito.

    -
    -

    Erro 4: Pull Request com descrição ruim

    -

    width:1000px

    -

    Como consertar: Só editar na interface do Github.

    -
    -

    Consertar em casa e pedir review via Github

    -

    Lembrete: se não der push não estragou nada

    -

    Lembrete II: git log mostra seu histórico atual

    -

    Dica: se modificou commits já publicados use git push -f para sobrescrever

    -
    -

    Nem todos os alunos que estão matriculados na disciplina fizeram a atividade da última aula!

    -
    python dev-aberto.py list-users
    -
    -
    -

    Comunidades de software

    -
    -

    Discussão

    -

    -

    Pergunta 1: quais são os softwares que vocês mais utilizam no dia a dia?

    -

    -

    -

    -

    Pergunta 2: quem é o principal desenvolvedor do projeto?

    -
    -

    Exemplo: Kernel Linux

    -

    width:300px

    -

    Fundação dá suporte ao desenvolvimento do Kernel Linux e à criação de um ecossistema de software de código aberto ao seu redor.

    -

    Apoio:

    -
      -
    • Financeiro
    • -
    • Propriedade intelectual
    • -
    • Infraestrutura
    • -
    • Serviços e treinamento
    • -
    -
    -

    Exemplo: Kernel Linux

    -

    Empresas que patrocinam desenvolvimento:

    -
      -
    1. Individuais (11,95%)
    2. -
    3. Intel (10,01%)
    4. -
    5. Red Hat (8,90%)
    6. -
    7. Desconhecido (4,09%)
    8. -
    9. IBM (3,79%)
    10. -
    11. SUSE (3,49%)
    12. -
    13. Linaro (2,96%)
    14. -
    15. Consultores (2,96%)
    16. -
    17. Google (2,79%)
    18. -
    19. Samsung (2,28%)
    20. -
    -

    Fonte: "2020 Linux Kernel Development Report"

    -
    -

    Exemplo: Ubuntu

    -

    -

    -

    -

    -

    -

    Empresa privada controla o desenvolvimento do Ubuntu. Obtem recursos via

    -
      -
    • Doações
    • -
    • Serviços de desenvolvimento e consultoria
    • -
    • Treinamento
    • -
    -
    -

    Exemplo: Gitlab

    -

    -

    -

    width:300px

    -

    -

    -

    Empresa financiada até agora por VC (Venture Capital) em busca de lucro.

    -
      -
    • Opção de planos grátis com software de código aberto
    • -
    • Opção de planos corporativos com mais funcionalidades e suporte
    • -
    • Instalações locais
    • -
    -
    -

    Exemplo: Elementary

    -

    -

    -

    -

    Distribuição linux comandada por uma empresa "minúscula" focada em experiência de usuário. Recursos são obtidos via

    -
      -
    • Patrocínios individuais e por empresas
    • -
    • Modelo pay-what-you-want (loja de aplicativos e sistema operacional)
    • -
    • Hardware com o sistema pré-instalado
    • -
    -
    -

    center

    -
    -

    Exemplo: Linux Mint

    -

    width:500px

    -

    -

    Distribuição linux cujo objetivo é que tudo funcione direto na instalação. É considerada boa para iniciantes.

    -
    -

    width:800px

    -
    -

    width:800px

    -
    -

    width:800px

    -
    -

    Outras fontes

    -

    height:500px -Diversas outras maneiras de conseguir suporte e financiamento

    -
    -

    Razões para financiar (empresa)

    -

    -
      -
    • "Adquirir" especialistas em uma tecnologia
    • -
    • Vender suporte ou consultoria
    • -
    • Marketing
    • -
    • Licença de software "obriga"
    • -
    -

    -

    -

    Nem sempre o que é financiado termina em um formato "aproveitável" por terceiros (ex: Android/Linux, TiVO)

    -
    -

    "Tivoization is the practice of designing hardware that incorporates software under the terms of a copyleft software license like the GNU General Public License (GNU GPL), but uses hardware restrictions or digital rights management (DRM) to prevent users from running modified versions of the software on that hardware" [Wikipedia]

    -
    -

    Razões para contribuir (indivíduo)

    -
      -
    • Profissionais
        -
      • Reputação / Currículo
      • -
      • Necessidade de negócio
      • -
      -
    • -
    • Pessoais
        -
      • Altruísmo / Ideologia
      • -
      • Sensação de realização pessoal
      • -
      • Exercício de criatividade
      • -
      • Resolver um problema de seu interesse
      • -
      -
    • -
    -
    -

    Atividade: Explorando o entorno de um projeto

    -

    width:256px

    -
      -
    • Pesquisar como as comunidades de alguns projetos estão organizadas
    • -
    • Produzir uma apresentação resumindo suas descobertas
    • -
    -
    -

    Desenvolvimento Aberto

    -

    height:350px

    -
    Fluxo de trabalho distribuído e Comunidades de Software
    - - - - - - -
    -
    - - -
    - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - \ No newline at end of file diff --git a/aulas/04-discussao-documentacao-de-software/foto-dessoft.png b/aulas/04-discussao-documentacao-de-software/foto-dessoft.png deleted file mode 100644 index 7fdf2aeb..00000000 Binary files a/aulas/04-discussao-documentacao-de-software/foto-dessoft.png and /dev/null differ diff --git a/aulas/04-discussao-documentacao-de-software/slides.pdf b/aulas/04-discussao-documentacao-de-software/slides.pdf deleted file mode 100644 index 32024c61..00000000 Binary files a/aulas/04-discussao-documentacao-de-software/slides.pdf and /dev/null differ diff --git a/aulas/05-projeto-profissional/api-doc.svg b/aulas/05-projeto-profissional/api-doc.svg deleted file mode 100644 index 0c128cc1..00000000 --- a/aulas/05-projeto-profissional/api-doc.svg +++ /dev/null @@ -1,670 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - Gerado a partir do código - - diff --git a/aulas/05-projeto-profissional/capa.svg b/aulas/05-projeto-profissional/capa.svg deleted file mode 100644 index b6c6a340..00000000 --- a/aulas/05-projeto-profissional/capa.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Openclipart - - - - 2010-02-28T15:43:58 - Followed this Inkscape tutorial: http://howto.nicubunu.ro/rubber_stamp_inkscape/ Using stamp-act font: http://www.dafont.com/stamp-act.font Tip: you can add a gradient to the end result - https://openclipart.org/detail/29641/quality-control:-approved-by-stijnbern-29641 - - - stijnbern - - - - - approved - control - quality - stamp - - - - - - - - - - - diff --git a/aulas/05-projeto-profissional/index.html b/aulas/05-projeto-profissional/index.html deleted file mode 100644 index 57bb23ac..00000000 --- a/aulas/05-projeto-profissional/index.html +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 05 - Projeto Profissional - Open Source Development 2023/2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - Skip to content - - -
    -
    - -
    - - - - - - -
    - - -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    - - - - - - - -

    05 - Projeto Profissional

    -

    Existe um momento em que ele já soluciona um problema para o autor e começa a ficar claro que ele é de interesse de outras pessoas. Vamos considerar que o Servidor de Desafios chegou neste momento e transformá-lo em um projeto "profissional".

    -

    Seu trabalho neste roteiro será preparar o projeto para ser apresentado "oficialmente" a outros usuários. Ou seja, fará mudanças para melhorar a qualidade do código e criará uma página para o projeto apresentando-o e provendo instruções de instalação e uso.

    -

    Para entregar esta tarefa você deverá criar um repositório softdes-desafios em seu usuário, colocar o servidor de desafios lá e hospedar sua documentação usando Github Pages. Com isto pronto envie o trabalho de vocês via PR para o repositório da disciplina.

    -
    {"skill_id": 4, "metadata": {"date": "2022-09-01", "url": "http...", "group": []}
    -
    -

    Os itens obrigatórios são descritos nos itens abaixo.

    -

    Itens básicos de qualidade

    -
      -
    • Adicionar um README ao projeto
        -
      • Adicione uma descrição do projeto
      • -
      • Screenshot
      • -
      • Links para docs de Desenvolvimento e Usuário
      • -
      -
    • -
    • Organizar pastas seguindo uma estrutura em que o código está em src e a documentação oficial em docs
    • -
    • Subir código no Github
    • -
    -

    Qualidade de código

    -

    Nosso código está mal formatado e tem várias práticas ruins de programação. O pylint detecta estes problemas e dá uma nota para seu código. Melhore a nota do Servidor de Desafios eliminando estes problemas do código. Alguns dos problemas são de resolução simples e podem ser feitos por ferramentas, mas outros requerem uma atenção "humana"

    -

    Ele não precisa estar 100%, mas você precisa eliminar grande parte dos erros mais bizarros. Após fazer as correções crie um novo commit e prossiga.

    -
    -

    Danger

    -

    Certifique-se que o projeto continua funcionando! Alguns erros, como usar exec ou eval são inerentes ao projeto e não podem ser "consertados".

    -
    -

    Documentação

    -

    O mkdocs é uma ferramenta de documentação de software para gerar uma página web de documentação para o projeto. Vamos usá-lo para documentação de desenvolvimento e de usuário do nosso projeto.

    -
    -

    Tip

    -

    O mkdocs possui vários temas. Escolha um que você goste.

    -
    -

    Documentação de usuário

    -

    Os seguintes itens devem estar presentes:

    -
      -
    • Uma página inicial descrevendo o projeto e explicando seu uso esperado. Inclua links e screenshots do software rodando.
    • -
    • Uma página de guia de usuário para alunos. Este guia deverá mostrar passo a passo as seguintes tarefa
        -
      • entrar no servidor de desafios
      • -
      • enviar solução correta para desafio
      • -
      • enviar solução errada
      • -
      -
    • -
    • Uma página de guia de usuário para professores. Ela deverá descrever:
        -
      • como adicionar usuários (usando os arquivos users.csv e add_user.py)
      • -
      • como adicionar novos desafios (linha de comando mesmo)
      • -
      -
    • -
    -

    Documentação de desenvolvimento

    -

    As seguintes informações devem estar presentes:

    -
      -
    • como configurar ambiente de desenvolvimento
    • -
    • instalação do software
    • -
    • estrutura do código em alto nível
    • -
    - - - - - - -
    -
    - - -
    - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - \ No newline at end of file diff --git a/aulas/05-projeto-profissional/np-doc-api.png b/aulas/05-projeto-profissional/np-doc-api.png deleted file mode 100644 index 5cfcdb55..00000000 Binary files a/aulas/05-projeto-profissional/np-doc-api.png and /dev/null differ diff --git a/aulas/05-projeto-profissional/porco-pylint.png b/aulas/05-projeto-profissional/porco-pylint.png deleted file mode 100644 index 0827ee88..00000000 Binary files a/aulas/05-projeto-profissional/porco-pylint.png and /dev/null differ diff --git a/aulas/05-projeto-profissional/porco.png b/aulas/05-projeto-profissional/porco.png deleted file mode 100644 index 2c4e53a6..00000000 Binary files a/aulas/05-projeto-profissional/porco.png and /dev/null differ diff --git a/aulas/05-projeto-profissional/porco.py b/aulas/05-projeto-profissional/porco.py deleted file mode 100644 index fdee6407..00000000 --- a/aulas/05-projeto-profissional/porco.py +++ /dev/null @@ -1,12 +0,0 @@ - - -def funcaoQueFazAlgo(a, b): - print('Algo!!') - -def outra_funcao(arg1, arg2): - print("Outra funcao!", arg1+arg2) - - -funcaoQueFazAlgo(1, 2) - -outra_funcao(3, 4) diff --git a/aulas/05-projeto-profissional/slides.pdf b/aulas/05-projeto-profissional/slides.pdf deleted file mode 100644 index b3d09964..00000000 Binary files a/aulas/05-projeto-profissional/slides.pdf and /dev/null differ diff --git a/aulas/06-distribuicao-software/dev_aberto.py b/aulas/06-distribuicao-software/dev_aberto.py deleted file mode 100644 index e3a3a15f..00000000 --- a/aulas/06-distribuicao-software/dev_aberto.py +++ /dev/null @@ -1,8 +0,0 @@ -import requests - - -def hello(): - c = requests.get('https://api.github.com/repos/insper/dev-aberto/commits') - info = c.json() - commit_info = info[0]['commit']['author'] - return commit_info['date'], commit_info['name'] diff --git a/aulas/06-distribuicao-software/hello.py b/aulas/06-distribuicao-software/hello.py deleted file mode 100644 index fedb4c0c..00000000 --- a/aulas/06-distribuicao-software/hello.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python3 -from dev_aberto import hello - -if __name__ == '__main__': - date, name = hello() - print('Último commit feito em:', date, ' por', name) diff --git a/aulas/06-distribuicao-software/index.html b/aulas/06-distribuicao-software/index.html deleted file mode 100644 index adc3eeb8..00000000 --- a/aulas/06-distribuicao-software/index.html +++ /dev/null @@ -1,844 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 06 - Distribuição de Software - Open Source Development 2023/2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - Skip to content - - -
    -
    - -
    - - - - - - -
    - - -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - -
    -
    -
    - - - - - - - -
    -
    - - - - - - - -

    06 - Distribuição de Software

    -

    Nesta aula complementaremos as últimas discussões criando um pequeno pacote Python instalável via pip. Com isto chegamos mais perto de um projeto que esteja preparado para que outras pessoas o utilizem e colaborem em seu desenvolvimento.

    -

    Distribuindo software para desenvolvedores: pacote Python básico

    -

    Nosso módulo se chamará dev_aberto e disponibilizará um programa executável hello.py. Crie a seguinte estrutura de pastas para nosso pacote.

    -
    -

    Important

    -

    Baixe os arquivos que usaremos neste link

    -
    -
    pacote_exemplo/
    -    dev_aberto/
    -        __init__.py
    -        dev_aberto.py
    -    scripts/
    -        hello.py
    -    README.md
    -    LICENSE
    -
    -
    -

    Exercise

    -

    com a estrutura acima, qual seria o import a ser feito para usar a função hello do arquivo dev_aberto.py?

    -
    -
    -

    Exercise

    -

    Pesquise para que serve o arquivo __init__.py e use-o para permitir importar hello usando somente import dev_aberto.

    -
    -
    -

    Exercise

    -

    Crie um projeto no github para esta atividade. Faça um primeiro commit nele com o conteúdo "zerado" do projeto.

    -
      -
    • Um arquivo README contendo uma frase de descrição do pacote e um link para o repositório da disciplina.
    • -
    • Um arquivo LICENSE com a licença MIT.
    • -
    -
    -

    O arquivo setup.py

    -

    A descrição de um pacote Python é feita usando um arquivo setup.py Veja abaixo uma versão inicial deste arquivo:

    -
    from setuptools import setup
    -
    -setup(name='dev_aberto_seunome',
    -      version='0.1',
    -      packages=['dev_aberto']
    -      )
    -
    -
    -

    Exercise

    -

    Crie o arquivo acima no seu projeto, substituindo seunome por .... seu nome. Instale o seu próprio pacote usando

    -
    -

    pip install .

    -
    -
    -
    -

    Exercise

    -

    Em outra pasta, abra um console Python e tente importar seu módulo.

    -
    -
    -

    Exercise

    -

    Pesquise quais argumentos são usados para especificar o autor do pacote, as versões de Python e sistemas operacionais suportados. Preencha estes valores com suas informações. Note que o pip leva estas informações em conta e só instalará um pacote se ele estiver em um ambiente suportado.

    -
    -

    Dependências

    -

    Para adicionar pacotes que são automaticamente instalados quando instalamos nosso pacote precisamos identificá-los no nosso arquivo setup.py. Para adicionar uma dependência de instalação basta adicionar o seguinte argumento:

    -
        ...
    -    install_requires=[
    -        'pacote>=1.0',
    -        'pacote2'
    -    ],
    -    ...
    -
    -
    -

    Exercise

    -

    Verifique as dependências do código e adicione-as no setup.py.

    -
    -

    requirements.txt

    -

    Muitos softwares usam também um arquivo requirements.txt para listar todas as dependências do software de modo a obter uma instalação idêntica à do desenvolvedor. Isto é importante para uniformizar os ambientes de desenvolvimento. Ou seja, este arquivo nunca será usado por usuários finais.

    -
    -

    Exercise

    -

    Crie um requirements.txt para seu projeto com as mesmas dependências listadas no seu setup.py.

    -
    -

    Scripts executáveis

    -

    Além de instalar o nosso módulo para uso via import desejamos também disponibilizar o arquivo hello.py como um executável para todo o sistema. Isto pode ser feito adicionando a seguinte linha no nosso setup.py indicando que scripts/hello.py deverá ser instalado como um executável.

    -
        ...
    -    scripts=['scripts/hello.py'],
    -    ...
    -
    -

    Não se esqueça de adicionar a seguinte linha no topo de seu arquivo para que ele possa ser executado diretamente do shell:

    -
    #!/usr/bin/env python3
    -
    -

    No Windows é criado um executável que chama nosso script, de modo que as chamdas do executável continuarão funcionando normalmente. Note que isto não cria menus em nenhum tipo de interface gráfica.

    -

    Criando arquivos de distribuição

    -

    Dois tipos de arquivos de distribuição podem ser usados:

    -
      -
    • sdist: é um arquivo contendo os fontes do projeto, incluindo arquivos adicionais especificados usando o argumento data_files. Usado se seu projeto for Python-puro.
    • -
    • wheel: é um formato pré-compilado e específico para cada plataforma. Mais usado quando o projeto contém extensões em C.
    • -
    -

    A criação de um arquivo de distribuição de fontes é bem simples:

    -
    > python setup.py sdist
    -
    -

    A instalação deste pacote pode ser feita via pip.

    -

    Envio para o PyPI

    -

    Vamos agora enviar nosso pacote para o Python Package Index para que ele possa ser instalado diretamente via pip. Para não poluir o repositório com pacotes temporários e de teste, podemos usar o TestPyPI. Toda sua infraestrutura é igual ao oficial, mas ele é limpo de maneira regular.

    -

    Visite https://test.pypi.org/account/register/ e registre-se no TestPyPI.

    -

    Após o registro, usaremos o pacote twine (instalável via pip) para fazer o upload:

    -
    > twine upload --repository-url https://test.pypi.org/legacy/ dist/*
    -
    -

    Você poderá, então, instalar seu pacote a partir do test PyPI usando o seguinte comando:

    -
    > pip install --index-url https://test.pypi.org/simple/ my_hello_nome
    -
    -

    Entrega

    -

    Faça a entrega de sua atividade adicionando a skill Pacote Python e inclua nela a url do seu repositório no github.

    -

    Skill Pacote Python

    -

    Objetivo: Primeira experiência distribuindo software Python.

    -
    -

    "skill_id": 6, "metadata": {"url": "repo-seu-pacote"}

    -
    -

    Distribuindo software para usuários finais

    -

    Vamos agora trabalhar (em grupo) no Servidor de Desafios novamente. Seu trabalho será criar um Dockerfile que roda o software de maneira "completa". Ou seja, o script de criação do container deverá

    -
      -
    • instalar todas as dependências do sistema
    • -
    • criar a base de dados, se necessário
    • -
    • adicionar os usuários presentes no arquivo users.csv, se necessário
    • -
    • executar o servidor e serví-lo na porta 8080 do host
    • -
    • manter os dados adicionados ao reiniciar o container
    • -
    -

    Entrega

    -

    Faça a entrega de sua atividade adicionando a skill Dockerfile segundo o modelo abaixo.

    -

    Skill Dockerfile

    -

    Objetivo: Criou deploy automatizado para sistema web Python

    -
    -

    "skill_id": 7, "metadata": {"url": "repo-servidor-de-desafios", "group": ["login1", "login2"]}

    -
    -

    Referências

    -

    Algumas referências que podem ser úteis:

    - - - - - - - -
    -
    - - -
    - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - \ No newline at end of file diff --git a/aulas/06-distribuicao-software/skill-docker.svg b/aulas/06-distribuicao-software/skill-docker.svg deleted file mode 100644 index dd1ec697..00000000 --- a/aulas/06-distribuicao-software/skill-docker.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/aulas/06-distribuicao-software/skill-python.svg b/aulas/06-distribuicao-software/skill-python.svg deleted file mode 100644 index e0ac6b03..00000000 --- a/aulas/06-distribuicao-software/skill-python.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/aulas/07-localizacao/capa.svg b/aulas/07-localizacao/capa.svg deleted file mode 100644 index 400676a8..00000000 --- a/aulas/07-localizacao/capa.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/aulas/07-localizacao/cli.py b/aulas/07-localizacao/cli.py deleted file mode 100644 index 7e573154..00000000 --- a/aulas/07-localizacao/cli.py +++ /dev/null @@ -1,12 +0,0 @@ -from datetime import date -from gettext import _ - -if __name__ == '__main__': - today = date.today() - print(today) - - number = 240000000000.32212 - print(number) - - name = input(_('Input your name: ')) - print('Hello {}'.format(name)) \ No newline at end of file diff --git a/aulas/07-localizacao/index.html b/aulas/07-localizacao/index.html deleted file mode 100644 index 8235f52e..00000000 --- a/aulas/07-localizacao/index.html +++ /dev/null @@ -1,779 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 07 - Localização - Open Source Development 2023/2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - Skip to content - - -
    -
    - -
    - - - - - - -
    - - -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    - - - - - - - -

    07 - Localização

    -

    Na parte expositiva da aula tivemos uma introdução aos problemas de Internacionalização (i18n) e Localização (L10N). Neste roteiro iremos praticar o uso destas técnicas em uma aplicação linha de comando de exemplo simples.

    -

    Em ambos exemplos vamos trabalhar com o módulo Babel, que é feito para facilitar a tradução e localização de aplicações feitas em Python. Outras linguagens de programação possuem bibliotecas similares que seguem a mesma sequência de comandos e usam os mesmos tipos de arquivos.

    -

    Sistemas POSIX suportam a determinação do locale utilizado por meio da variável de ambiente LANGUAGE, que pode ser modificada para cada execução de um programa. O formato padrão usado é <lingua>_<pais>.<codificacao>. Para português do Brasil usando codificação UTF8 usamos o locale pt_BR.utf8. Rodando o seguinte comando as mensagens de ajuda do ls devem aparecer em inglês.

    -
    -

    LANGUAGE=en_US.utf8 ls --help

    -
    -

    Já executando o comando abaixo elas devem aparecer em português.

    -
    -

    LANGUAGE=pt_BR.utf8 ls --help

    -
    -

    De maneira mais geral, existe uma série de variáveis LC_* que controlam qual locale é usado para determinado tipo de dados. Veremos a seguir como usar LC_TIME e LC_NUMERIC para controlar como datas e números são exibidos e LANGUAGE para definir a lingua de exibição de um programa.

    -

    Localizando um programa em Python

    -

    Vamos trabalhar com uma aplicação de linha de comando que nada mais faz que imprimir alguns dados simples como data em extenso, um número fracionário grande e uma mensagem pré-definida. O código completo (arquivo cli.py) está abaixo.

    -

    from datetime import date
    -
    -if __name__ == '__main__':
    -    today = date.today()
    -    print(today)
    -
    -    number = 240000000000.32212
    -    print(number)
    -
    -    name = input('Input your name: ')
    -    print('Hello {}'.format(name))
    -
    -Uma saída possível seria

    -
    2018-08-28
    -240000000000.3221
    -Input your name: Igor
    -Hello Igor
    -
    -

    Como já visto em aula, este programa reúne três das principais saídas que precisam ser formatadas: datas, números fracionários e mensagens para o usuário.

    -

    Formatando datas

    -

    A formatação de datas é governada para variável LC_TIME. O módulo babel.dates já possui diversas funções que automaticamente a utilizam para fazer a localização de variáveis do tipo Date (usando a função format_date) ou DateTime (usando format_datetime).

    -
    -

    Exercise

    -

    Pesquise como usar estas funções e utilize-as no seu programa para localizar a data por extenso (ou seja, 31 de agosto de 2021).

    -
    -
    -

    Exercise

    -

    O quê acontece quando definimos a variável de ambiente LC_TIME=en_US.utf8 e rodamos o programa? E se usamos LC_TIME=pt_BR.utf8?

    -
    -

    Formatando números

    -

    A formatação de datas é governada para variável LC_NUMERIC. O módulo babel.numbers possui a função format_number que formata um número de acordo com esta configuração.

    -
    -

    Exercise

    -

    Pesquise como usar estas funções e utilize-as no seu programa para localizar o número fracionário mostrado.

    -
    -
    -

    Exercise

    -

    Teste seu programa com LC_NUMERIC=en_US.utf8 e LC_NUMERIC=pt_BR.utf8. Os efeitos são os esperados?s

    -
    -

    Traduzindo mensagens

    -

    A parte final consiste em criar traduções das duas strings presentes no texto. A linguagem usada é definida pela variável LANGUAGE, que pode ser definida separadamente para cada processo. Um dos pontos mais importantes é marcar quais strings deverão ser traduzidas para que uma equipe de tradutores não precise mexer no código. O módulo gettext do Python já provê suporte a esta funcionalidade, o Babel apenas fornece um conjunto de ferramentas que facilita seu uso.

    -

    A implantação do framework de tradução é feita em quatro passos:

    -
      -
    1. Marcação das strings a serem traduzidas
    2. -
    3. Extração destas strings do código em um arquivo modelo .pot
    4. -
    5. Criação de traduções .po a partir do modelo criado no passo anterior
    6. -
    7. Compilação das strings traduzidas em um arquivo binário .mo
    8. -
    -

    No arquivo principal de nossa aplicação podemos "instalar" o framework de tradução e marcar todas nossas strings a serem traduzidas com a função _(). A instalação é feita pelo seguinte trecho de código.

    -
    import gettext
    -gettext.install('cli', localedir='locale') 
    -# cli é o nome do arquivo em que guardamos nossas traduções
    -# localedir é o caminho onde estão armazenadas as traduções. Pode ser um caminho relativo. 
    -
    -

    Devemos então marcar todas as strings para serem traduzidas com _(). Podemos usar _() em qualquer arquivo do projeto, mesmo que a instalação tenha sido feita somente no arquivo principal.

    -
    print(_("Hello!"))
    -
    -

    Os passos seguintes são feitos com auxílio do Babel, que efetivamente analisa nosso código Python e extrai as strings para tradução. A criação do arquivo modelo de tradução a partir dos arquivos do diretório atual é feita com o seguinte comando.

    -
    -

    $ pybabel extract . -o cli-model.pot

    -
    -

    Criamos então uma nova tradução usando o seguinte comando. A opção -D indica o nome do arquivo em que as traduções serão guardadas (usado em gettext.install). A opção -l indica o locale da tradução. A opção -d indica o localedir usado em gettext.install.

    -
    -

    $ pybabel init -i cli-model.pot -D cli -l pt_BR -d locale

    -
    -

    Devemos então editar o arquivo criado em locale/pt_BR/LC_MESSAGES/cli.po. Serão apresentados (após algumas linhas de comentários) pares de linhas como as seguintes. O primeiro valor msgid é a string a ser traduzida e o segundo msgstr é a tradução no locale pt_BR (pois o arquivo está na pasta pt_BR do localedir).

    -
    msgid "Input your name: "
    -msgstr ""
    -
    -

    Apesar de ser possível fazer tudo diretamente no arquivo de texto, é mais conveniente usar softwares como o poedit ou este editor online(https://localise.biz/free/poeditor).

    -

    Com as strings traduzidas vamos finalmente compilar nossos resultados. Isto é feito para que não seja possível mexer nos arquivos de tradução em uma versão Release do programa.

    -
    -

    $ pybabel compile -D cli -l pt_BR -d locale

    -
    -

    Isto gerará os arquivos .mo correspondentes a ao locale pt_BR. São estes os arquivos carregados durante a execução do programa.

    -

    Teste final

    -

    Podemos definir a variável LANGUAGE para modificar a lingua de um programa (como visto anteriormente com ls). Execute seu programa diretamente e depois setando LANGUAGE=pt_BR.utf8. Os resultados foram os esperados?

    -

    Entrega

    -

    Modifique o exercício da aula passada (pacote python) para suportar datas e mensagens em Inglês e Português. Faça a entrega de sua atividade adicionando a skill Tradução básica segundo o modelo abaixo.

    -

    Skill Tradução básica

    -

    Objetivo: Aplicou ferramentas de localização para traduzir um programa simples em linha de comando.

    -
    -

    "skill_id": 8, "metadata": {"url": "repo-pacote-python"}

    -
    -

    Traduzindo no mundo real

    -

    Agora que você já conhece os passos necessários para traduzir um software é o momento de colocar esse conhecimento em prática. O trabalho de seu grupo será encontrar softwares que necessitem de traduções para o Português brasileiro e realizá-las. Alguns projetos também disponibilizam arquivos *.po para tradução de guias de usuário e isto também é válido neste item.

    - -

    Ao ter traduções aceitas por um projeto vocês receberão a skill Tradução aceita!

    - - - - - - -
    -
    - - -
    - -
    - - - -
    -
    -
    -
    - - - - - - - - - - - - - \ No newline at end of file diff --git a/aulas/07-localizacao/skill-traducao.svg b/aulas/07-localizacao/skill-traducao.svg deleted file mode 100644 index 7e9cfe4a..00000000 --- a/aulas/07-localizacao/skill-traducao.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/aulas/07-localizacao/slides.pdf b/aulas/07-localizacao/slides.pdf deleted file mode 100644 index 0dd4f9b4..00000000 Binary files a/aulas/07-localizacao/slides.pdf and /dev/null differ diff --git a/aulas/08-testes-automatizados/capa.svg b/aulas/08-testes-automatizados/capa.svg deleted file mode 100644 index b6c6a340..00000000 --- a/aulas/08-testes-automatizados/capa.svg +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - Openclipart - - - - 2010-02-28T15:43:58 - Followed this Inkscape tutorial: http://howto.nicubunu.ro/rubber_stamp_inkscape/ Using stamp-act font: http://www.dafont.com/stamp-act.font Tip: you can add a gradient to the end result - https://openclipart.org/detail/29641/quality-control:-approved-by-stijnbern-29641 - - - stijnbern - - - - - approved - control - quality - stamp - - - - - - - - - - - diff --git a/aulas/08-testes-automatizados/pytest.png b/aulas/08-testes-automatizados/pytest.png deleted file mode 100644 index 1e00bf18..00000000 Binary files a/aulas/08-testes-automatizados/pytest.png and /dev/null differ diff --git a/aulas/08-testes-automatizados/slides.pdf b/aulas/08-testes-automatizados/slides.pdf deleted file mode 100644 index 5db41ef6..00000000 Binary files a/aulas/08-testes-automatizados/slides.pdf and /dev/null differ diff --git a/aulas/09-cultura-livre/index.html b/aulas/09-cultura-livre/index.html index 9e14ff57..c7da3194 100644 --- a/aulas/09-cultura-livre/index.html +++ b/aulas/09-cultura-livre/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/09-cultura-livre/slides/index.html b/aulas/09-cultura-livre/slides/index.html index 81e6a900..b95eb9a4 100644 --- a/aulas/09-cultura-livre/slides/index.html +++ b/aulas/09-cultura-livre/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/09-licencas/index.html b/aulas/09-licencas/index.html index 554a12c3..65c7c577 100644 --- a/aulas/09-licencas/index.html +++ b/aulas/09-licencas/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/09-licencas/slides/index.html b/aulas/09-licencas/slides/index.html index 5710901c..274a18a6 100644 --- a/aulas/09-licencas/slides/index.html +++ b/aulas/09-licencas/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/10-minha-primeira-contribuicao/index.html b/aulas/10-minha-primeira-contribuicao/index.html index bf9ab852..50fd2ec5 100644 --- a/aulas/10-minha-primeira-contribuicao/index.html +++ b/aulas/10-minha-primeira-contribuicao/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/10-minha-primeira-contribuicao/slides/index.html b/aulas/10-minha-primeira-contribuicao/slides/index.html index 8c2b8db5..617fbcd7 100644 --- a/aulas/10-minha-primeira-contribuicao/slides/index.html +++ b/aulas/10-minha-primeira-contribuicao/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/11-contribuicoes-externas/index.html b/aulas/11-contribuicoes-externas/index.html index b33f2970..ae5cd953 100644 --- a/aulas/11-contribuicoes-externas/index.html +++ b/aulas/11-contribuicoes-externas/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/11-contribuicoes-externas/slides/index.html b/aulas/11-contribuicoes-externas/slides/index.html index 70d28e40..6fb8412c 100644 --- a/aulas/11-contribuicoes-externas/slides/index.html +++ b/aulas/11-contribuicoes-externas/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/12-projeto/slides/index.html b/aulas/12-projeto/slides/index.html index fd1e121e..eb716ad6 100644 --- a/aulas/12-projeto/slides/index.html +++ b/aulas/12-projeto/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/impact-2019/index.html b/impact-2019/index.html index b8b2e1a3..bbc3ac0e 100644 --- a/impact-2019/index.html +++ b/impact-2019/index.html @@ -15,7 +15,7 @@ - + @@ -417,6 +417,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -657,91 +671,91 @@

    Alunos

    - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
    Alessandra BlücherAlessandra BlücherAlessandra BlücherAlessandra Blücher
    Alexandre EdingtonAlexandre EdingtonAlexandre EdingtonAlexandre Edington
    Antonio João Andraues JuniorAntonio João Andraues JuniorAntonio João Andraues JuniorAntonio João Andraues Junior
    Elisa Mochetti MalzoniElisa Mochetti MalzoniElisa Mochetti MalzoniElisa Mochetti Malzoni
    Gabriel Lopes MonteiroGabriel Lopes MonteiroGabriel Lopes MonteiroGabriel Lopes Monteiro
    gabriel do vale riosGabriel Do Vale Riosgabriel do vale riosGabriel Do Vale Rios
    Giulia Braga PassarelliGiulia Braga PassarelliGiulia Braga PassarelliGiulia Braga Passarelli
    Guilherme LeiteGuilherme LeiteGuilherme LeiteGuilherme Leite
    hugo ebert carlHugo Ebert Carlhugo ebert carlHugo Ebert Carl
    igor montagnerIgor Montagnerigor montagnerIgor Montagner
    Leonardo Pereira MedeirosLeonardo Pereira MedeirosLeonardo Pereira MedeirosLeonardo Pereira Medeiros
    Lucas Scarlato AsturLucas Scarlato AsturLucas Scarlato AsturLucas Scarlato Astur
    Pedro Cunial CamposPedro Cunial CamposPedro Cunial CamposPedro Cunial Campos
    Samuel Vinicius Granato de BarrosSamuel Vinicius Granato De BarrosSamuel Vinicius Granato de BarrosSamuel Vinicius Granato De Barros
    Vinicius Gomes de LimaVinicius Gomes De LimaVinicius Gomes de LimaVinicius Gomes De Lima
    Vitor LiuVitor LiuVitor LiuVitor Liu
    diff --git a/impact-2020/index.html b/impact-2020/index.html index 5e2ed1bb..348670c5 100644 --- a/impact-2020/index.html +++ b/impact-2020/index.html @@ -17,7 +17,7 @@ - + @@ -419,6 +419,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -629,96 +643,96 @@

    Alunos

    - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
    Isabella Rocha de OliveiraIsabella Rocha De OliveiraIsabella Rocha de OliveiraIsabella Rocha De Oliveira
    Bruna Mayumi KimuraBruna Mayumi KimuraBruna Mayumi KimuraBruna Mayumi Kimura
    Bruno Arthur CesconettoBruno Arthur CesconettoBruno Arthur CesconettoBruno Arthur Cesconetto
    Eli Jose Abi GhosnEli Jose Abi GhosnEli Jose Abi GhosnEli Jose Abi Ghosn
    Eric Fernando Otofuji AbrantesEric Fernando Otofuji AbrantesEric Fernando Otofuji AbrantesEric Fernando Otofuji Abrantes
    Francisco Ciol Rodrigues AveiroFrancisco Ciol Rodrigues AveiroFrancisco Ciol Rodrigues AveiroFrancisco Ciol Rodrigues Aveiro
    Gabriel Fonseca MoreiraGabriel Fonseca MoreiraGabriel Fonseca MoreiraGabriel Fonseca Moreira
    Gabriel Valente FrancatoGabriel Valente FrancatoGabriel Valente FrancatoGabriel Valente Francato
    hugo silva pereira mendesHugo Silva Pereira Mendeshugo silva pereira mendesHugo Silva Pereira Mendes
    Igor dos Santos MontagnerIgor Dos Santos MontagnerIgor dos Santos MontagnerIgor Dos Santos Montagner
    Lucca Delchiaro CostabileLucca Delchiaro CostabileLucca Delchiaro CostabileLucca Delchiaro Costabile
    Martim Ferreira JoseMartim Ferreira JoseMartim Ferreira JoseMartim Ferreira Jose
    Pedro de la Peña Ferreira Bueno FonsecaPedro De La Peña Ferreira Bueno FonsecaPedro de la Peña Ferreira Bueno FonsecaPedro De La Peña Ferreira Bueno Fonseca
    Pedro Oliveira de AzambujaPedro Oliveira De AzambujaPedro Oliveira de AzambujaPedro Oliveira De Azambuja
    Raphael CostaRaphael CostaRaphael CostaRaphael Costa
    sabrina sampaio simaoSabrina Sampaio Simaosabrina sampaio simaoSabrina Sampaio Simao
    Victor Laperuta de MouraVictor Laperuta De MouraVictor Laperuta de MouraVictor Laperuta De Moura
    diff --git a/impact-2021/index.html b/impact-2021/index.html index ba3d119c..89734ef7 100644 --- a/impact-2021/index.html +++ b/impact-2021/index.html @@ -17,7 +17,7 @@ - + @@ -414,6 +414,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/impact-2022/index.html b/impact-2022/index.html index 75b85638..12720feb 100644 --- a/impact-2022/index.html +++ b/impact-2022/index.html @@ -17,7 +17,7 @@ - + @@ -414,6 +414,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -578,121 +592,121 @@

    2022/2

    - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
    Bruno Freitas do Nascimento RodriguesBruno Freitas Do Nascimento RodriguesBruno Freitas do Nascimento RodriguesBruno Freitas Do Nascimento Rodrigues
    Caroline Chaim de Lima CarneiroCaroline Chaim De Lima CarneiroCaroline Chaim de Lima CarneiroCaroline Chaim De Lima Carneiro
    Cesar Ezra AdesCesar Ezra AdesCesar Ezra AdesCesar Ezra Ades
    Eiki Luis YamashiroEiki Luis YamashiroEiki Luis YamashiroEiki Luis Yamashiro
    Fabricio BarthFabricio BarthFabricio BarthFabricio Barth
    Felipe LemosFelipe LemosFelipe LemosFelipe Lemos
    Gabriel ZanettiGabriel ZanettiGabriel ZanettiGabriel Zanetti
    Guilherme Carneiro LunettaGuilherme Carneiro LunettaGuilherme Carneiro LunettaGuilherme Carneiro Lunetta
    Guilherme Teixeira BatistaGuilherme Teixeira BatistaGuilherme Teixeira BatistaGuilherme Teixeira Batista
    Gustavo Molina Freneda BenitesGustavo Molina Freneda BenitesGustavo Molina Freneda BenitesGustavo Molina Freneda Benites
    joao pedro farias de araujoJoao Pedro Farias De Araujojoao pedro farias de araujoJoao Pedro Farias De Araujo
    joao pedro montefeltro junqueira meirellesJoao Pedro Montefeltro Junqueira Meirellesjoao pedro montefeltro junqueira meirellesJoao Pedro Montefeltro Junqueira Meirelles
    joão vitor menezes de magalhãesJoão Vitor Menezes De Magalhãesjoão vitor menezes de magalhãesJoão Vitor Menezes De Magalhães
    Jonathan SuttonJonathan SuttonJonathan SuttonJonathan Sutton
    Keiya NishioKeiya NishioKeiya NishioKeiya Nishio
    Luiza Rodrigues SilveiraLuiza Rodrigues SilveiraLuiza Rodrigues SilveiraLuiza Rodrigues Silveira
    Marcelo Cesario MiguelMarcelo Cesario MiguelMarcelo Cesario MiguelMarcelo Cesario Miguel
    Paulo Wook KimPaulo Wook KimPaulo Wook KimPaulo Wook Kim
    Rafael Alves de Mello AlmadaRafael Alves De Mello AlmadaRafael Alves de Mello AlmadaRafael Alves De Mello Almada
    Rafael Evangelista MonteiroRafael Evangelista MonteiroRafael Evangelista MonteiroRafael Evangelista Monteiro
    Raphael LahiryRaphael LahiryRaphael LahiryRaphael Lahiry
    Rodrigo Guimarães CoelhoRodrigo Guimarães CoelhoRodrigo Guimarães CoelhoRodrigo Guimarães Coelho
    diff --git a/impact/index.html b/impact/index.html index 8a6800b1..e5397d0c 100644 --- a/impact/index.html +++ b/impact/index.html @@ -11,13 +11,13 @@ - + - + @@ -414,6 +414,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/index.html b/index.html index 7f7cad4c..268c8f46 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ - + @@ -427,6 +427,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/01-distributed-workflow/index.html b/lessons/01-distributed-workflow/index.html index 94fb2cb1..91e9db72 100644 --- a/lessons/01-distributed-workflow/index.html +++ b/lessons/01-distributed-workflow/index.html @@ -17,7 +17,7 @@ - + @@ -503,6 +503,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/01-distributed-workflow/slides/index.html b/lessons/01-distributed-workflow/slides/index.html index f431e2a8..39474700 100644 --- a/lessons/01-distributed-workflow/slides/index.html +++ b/lessons/01-distributed-workflow/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/02-software-and-communities/index.html b/lessons/02-software-and-communities/index.html index 3687b15e..109910e9 100644 --- a/lessons/02-software-and-communities/index.html +++ b/lessons/02-software-and-communities/index.html @@ -17,7 +17,7 @@ - + @@ -431,6 +431,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/02-software-and-communities/slides/index.html b/lessons/02-software-and-communities/slides/index.html index 2284c704..419acac8 100644 --- a/lessons/02-software-and-communities/slides/index.html +++ b/lessons/02-software-and-communities/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/03-software-documentation/index.html b/lessons/03-software-documentation/index.html index 26a031f5..58582315 100644 --- a/lessons/03-software-documentation/index.html +++ b/lessons/03-software-documentation/index.html @@ -17,7 +17,7 @@ - + @@ -476,6 +476,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/03-software-documentation/slides/index.html b/lessons/03-software-documentation/slides/index.html index 0ee1ad20..e94a5f01 100644 --- a/lessons/03-software-documentation/slides/index.html +++ b/lessons/03-software-documentation/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/04-professional-project/index.html b/lessons/04-professional-project/index.html index fb929860..43e173cd 100644 --- a/lessons/04-professional-project/index.html +++ b/lessons/04-professional-project/index.html @@ -17,7 +17,7 @@ - + @@ -482,6 +482,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/04-professional-project/slides/index.html b/lessons/04-professional-project/slides/index.html index 4bf1e521..ff1b2ea8 100644 --- a/lessons/04-professional-project/slides/index.html +++ b/lessons/04-professional-project/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/05-python-packaging/index.html b/lessons/05-python-packaging/index.html index 5fa1a4ce..492440ff 100644 --- a/lessons/05-python-packaging/index.html +++ b/lessons/05-python-packaging/index.html @@ -17,7 +17,7 @@ - + @@ -544,6 +544,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/06-localization-translation/index.html b/lessons/06-localization-translation/index.html index 4bdc6de7..96cd38b7 100644 --- a/lessons/06-localization-translation/index.html +++ b/lessons/06-localization-translation/index.html @@ -17,7 +17,7 @@ - + @@ -497,6 +497,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/06-localization-translation/slides/index.html b/lessons/06-localization-translation/slides/index.html index 3e9dbbf6..88faff41 100644 --- a/lessons/06-localization-translation/slides/index.html +++ b/lessons/06-localization-translation/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/07-code-quality/index.html b/lessons/07-code-quality/index.html index d8c09cd5..83a97ecd 100644 --- a/lessons/07-code-quality/index.html +++ b/lessons/07-code-quality/index.html @@ -17,7 +17,7 @@ - + @@ -462,6 +462,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/08-automated-testing/index.html b/lessons/08-automated-testing/index.html index 5bb8dd54..aa2b8e43 100644 --- a/lessons/08-automated-testing/index.html +++ b/lessons/08-automated-testing/index.html @@ -17,7 +17,7 @@ - + @@ -462,6 +462,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/lessons/08-automated-testing/slides/index.html b/lessons/08-automated-testing/slides/index.html index 5a2b24bb..471d2eb3 100644 --- a/lessons/08-automated-testing/slides/index.html +++ b/lessons/08-automated-testing/slides/index.html @@ -13,7 +13,7 @@ - + @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + diff --git a/aulas/08-testes-automatizados/index.html b/lessons/09-cultura-livre/index.html similarity index 77% rename from aulas/08-testes-automatizados/index.html rename to lessons/09-cultura-livre/index.html index 5883dbef..7248b698 100644 --- a/aulas/08-testes-automatizados/index.html +++ b/lessons/09-cultura-livre/index.html @@ -8,16 +8,16 @@ - + - + - 08 - Testes automatizados - Open Source Development 2023/2 + 09 - Trabalho sobre cultura livre - Open Source Development 2023/2 @@ -63,7 +63,7 @@
    - + Skip to content @@ -98,7 +98,7 @@
    - 08 - Testes automatizados + 09 - Trabalho sobre cultura livre
    @@ -295,7 +295,7 @@
  • - + 01 - Distributed Development Workflow
  • @@ -309,7 +309,7 @@
  • - + 02 - Software and Communities
  • @@ -323,7 +323,7 @@
  • - + 03 - Explorando um projeto desconhecido
  • @@ -337,7 +337,7 @@
  • - + 04 - Professional Project
  • @@ -351,7 +351,7 @@
  • - + 05 - Distribuição de Software
  • @@ -365,7 +365,7 @@
  • - + 06 - Localização e Tradução
  • @@ -379,7 +379,7 @@
  • - + 07 - Code quality
  • @@ -393,7 +393,7 @@
  • - + 08 - Automated testing
  • @@ -407,7 +407,7 @@
  • - + 09 - Releases
  • @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -546,35 +560,6 @@ - - -
    @@ -591,33 +576,8 @@ -

    08 - Testes automatizados

    -

    O objetivo da atividade de hoje é criar testes automatizados para o servidor de desafios. Com isso completamos nossa jornada rumo a software que possa ser desenvolvido de maneira colaborativa e que possa ser usado em situações reais.

    -
      -
    1. Documentação (usuários e desenvolvedor)
    2. -
    3. Distribuição de software e versionamento
    4. -
    5. Localização e internacionalização
    6. -
    7. Testes automatizados
    8. -
    -

    Testes de unidade

    -

    Uma parte do programa do servidor de desafios que pode ser testada com testes de unidade é a função lambda_handler, que executa a função submetida pelo usuário. Seu trabalho será criar testes usando o pytest e cobrir os seguintes casos:

    - -

    Testes de interface de usuário

    -

    Iremos criar testes de interface de usuário para o Servidor de Desafios usando o Selenium. Este software permite imitar interações reais de um usuário usando código e criar testes baseado nessas interações.

    -

    Vocês devem simular os seguintes cenários:

    - -

    A ideia básica seria reproduzir os mesmos testes apresentados no manual do usuário.

    -

    Entrega

    -

    Coloquem os scripts de teste na pasta test do repositório e adicionem instruções de como rodar os testes no README.

    +

    09 - Trabalho sobre cultura livre

    +

    Esta aula não tem atividade prática. As discussões são feitas durante a aula expositiva.

    diff --git a/lessons/09-cultura-livre/slides.pdf b/lessons/09-cultura-livre/slides.pdf new file mode 100644 index 00000000..db94585d Binary files /dev/null and b/lessons/09-cultura-livre/slides.pdf differ diff --git a/aulas/04-discussao-documentacao-de-software/slides/index.html b/lessons/09-cultura-livre/slides/index.html similarity index 81% rename from aulas/04-discussao-documentacao-de-software/slides/index.html rename to lessons/09-cultura-livre/slides/index.html index 81356e53..a3af659c 100644 --- a/aulas/04-discussao-documentacao-de-software/slides/index.html +++ b/lessons/09-cultura-livre/slides/index.html @@ -8,16 +8,16 @@ - + - + - Tradução e localização de software - Open Source Development 2023/2 + Cultura de software livre - Open Source Development 2023/2 @@ -98,7 +98,7 @@
    - Tradução e localização de software + Cultura de software livre
    @@ -295,7 +295,7 @@
  • - + 01 - Distributed Development Workflow
  • @@ -309,7 +309,7 @@
  • - + 02 - Software and Communities
  • @@ -323,7 +323,7 @@
  • - + 03 - Explorando um projeto desconhecido
  • @@ -337,7 +337,7 @@
  • - + 04 - Professional Project
  • @@ -351,7 +351,7 @@
  • - + 05 - Distribuição de Software
  • @@ -365,7 +365,7 @@
  • - + 06 - Localização e Tradução
  • @@ -379,7 +379,7 @@
  • - + 07 - Code quality
  • @@ -393,7 +393,7 @@
  • - + 08 - Automated testing
  • @@ -407,7 +407,7 @@
  • - + 09 - Releases
  • @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -553,16 +567,16 @@ @@ -553,11 +567,11 @@ @@ -546,35 +560,6 @@ - - - @@ -591,34 +576,99 @@ -

    08 - Testes automatizados

    -

    O objetivo da atividade de hoje é criar testes automatizados para um projeto específico de software. Com isso completamos nossa jornada rumo a software que possa ser desenvolvido de maneira colaborativa e que possa ser usado em situações reais.

    + + +

    Desenvolvimento Aberto

    +

    height:350px

    +
    Contribuição de código
    +
    Igor dos Santos Montagner ( igorsm1@insper.edu.br )
    +
    +

    Até agora

    + +
    +

    Primeira contribuição

    +

    width:256px

    + +

    Entrega final: 02/10

    +
    +

    Etapa individual (Outubro)

    +

    Aprofundar habilidades desenvolvidas em grupo

      -
    1. Documentação (usuários e desenvolvedor)
    2. -
    3. Distribuição de software e versionamento
    4. -
    5. Localização e internacionalização
    6. -
    7. Testes automatizados
    8. +
    9. proporcionar uma experiência de trabalho em um projeto real de escolha dos alunos
    10. +
    11. valorizar diversos tipos de contribuições, não somente de código
    12. +
    13. exercitar autonomia*- e **independência
    -

    Biblioteca para implementação de agentes baseados em busca

    -

    O projeto AI Code implementa uma biblioteca que possui diversos algoritmos de busca pré-prontos e alguns exemplos de utilização.

    -

    Os exemplos de utilização já possuem arquivos de teste usando a biblioteca pytest, mas podem estar incompletos ou até mesmo errados.

    -

    As implementações dos algoritmos de busca, da biblioteca em si, não possuem testes. Estes algoritmos estão implementados no arquivo SearchAlgoritms.py.

    -

    Atividades

    +

    Início em 04/10

    +
    +

    Minha primeira contribuição de código

    +

    Bons projetos usam tags para facilitar a recepção de novatos

    + +
    +

    Sugestão I - Pandas

    +

    Biblioteca de tratamento de dados usada em Ciência dos Dados.

    -

    Além da implementação dos testes, uma outra alternativa é executar o pylint e sugerir mudanças na formatação do código dos arquivos search/SearchAlgorithms.py, search/Graph.py e ProblemSpecificationExample.py.

    -

    Formato de entrega

    -

    Para a entrega do exercício você deverá:

    +

    Tickets de testes são, em geral, fáceis para começar e úteis para a comunidade.

    +
    +

    Sugestão II - Matplotlib

    +

    Plotar gráficos em Python

    +

    Lista de Good first issues tem vários em aberto ou com PRs que estão parados há meses e podem ser assumidos por outras pessoas.

    +
    +

    Sugestão III - Pyscript

    +

    Python rodando no Browser via WebAssembly

    +

    Lista de issues tem várias que parecem acessíveis

    +
    +

    Sugestão III: Escolha seu próprio projeto :)

    -

    Esta atividade deve ser individual. Os PRs devem ser enviados e discutidos ao longo desta semana.

    +
    +

    Hoje

    +
      +
    1. escolher issue e projeto
    2. +
    3. montar ambiente +
    4. +
    5. reproduzir a issue
    6. +
    diff --git a/lessons/11-contribuicoes-externas/capa.svg b/lessons/11-contribuicoes-externas/capa.svg new file mode 100644 index 00000000..26958275 --- /dev/null +++ b/lessons/11-contribuicoes-externas/capa.svg @@ -0,0 +1,36 @@ + + + Code + + + + + image/svg+xml + + Code + + + + Josh "Cheeseness" Bush + + + Originally created for the official shirt for the 2014 Open Source Developers' Conference held at Griffith University. + + + text editor programming source code + + + 2014-10-22 + + + + + + + + + + + + + \ No newline at end of file diff --git a/lessons/11-contribuicoes-externas/doesnt-work.png b/lessons/11-contribuicoes-externas/doesnt-work.png new file mode 100644 index 00000000..51f18884 Binary files /dev/null and b/lessons/11-contribuicoes-externas/doesnt-work.png differ diff --git a/lessons/11-contribuicoes-externas/hacktoberfest.png b/lessons/11-contribuicoes-externas/hacktoberfest.png new file mode 100644 index 00000000..e0851a1f Binary files /dev/null and b/lessons/11-contribuicoes-externas/hacktoberfest.png differ diff --git a/aulas/05-projeto-profissional/star.svg b/lessons/11-contribuicoes-externas/hacktoberfest.svg similarity index 61% rename from aulas/05-projeto-profissional/star.svg rename to lessons/11-contribuicoes-externas/hacktoberfest.svg index c33b9c83..e6975c9b 100644 --- a/aulas/05-projeto-profissional/star.svg +++ b/lessons/11-contribuicoes-externas/hacktoberfest.svg @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/aulas/02-comunidades-de-software/index.html b/lessons/11-contribuicoes-externas/index.html similarity index 82% rename from aulas/02-comunidades-de-software/index.html rename to lessons/11-contribuicoes-externas/index.html index 56ab293a..e2b7f1a8 100644 --- a/aulas/02-comunidades-de-software/index.html +++ b/lessons/11-contribuicoes-externas/index.html @@ -8,16 +8,16 @@ - + - + - 02 - Comunidades de Software - Open Source Development 2023/2 + 11 - Contribuições externas - Open Source Development 2023/2 @@ -63,7 +63,7 @@
    - + Skip to content @@ -98,7 +98,7 @@
    - 02 - Comunidades de Software + 11 - Contribuições externas
    @@ -295,7 +295,7 @@
  • - + 01 - Distributed Development Workflow
  • @@ -309,7 +309,7 @@
  • - + 02 - Software and Communities
  • @@ -323,7 +323,7 @@
  • - + 03 - Explorando um projeto desconhecido
  • @@ -337,7 +337,7 @@
  • - + 04 - Professional Project
  • @@ -351,7 +351,7 @@
  • - + 05 - Distribuição de Software
  • @@ -365,7 +365,7 @@
  • - + 06 - Localização e Tradução
  • @@ -379,7 +379,7 @@
  • - + 07 - Code quality
  • @@ -393,7 +393,7 @@
  • - + 08 - Automated testing
  • @@ -407,7 +407,7 @@
  • - + 09 - Releases
  • @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -562,65 +576,8 @@ -

    02 - Comunidades de Software

    -

    A atividade desta aula envolve a criação de uma apresentação explicando como são organizadas as comunidades ao redor dos seguintes projetos de software:

    -
      -
    1. Docker
    2. -
    3. GIMP
    4. -
    5. Kubernetes
    6. -
    7. flatpak
    8. -
    9. Godot engine
    10. -
    11. GNOME
    12. -
    13. TensorFlow
    14. -
    15. digiKam
    16. -
    17. Shotcut
    18. -
    -

    Cada grupo de 3 alunos deverá escolher um projeto acima e pesquisar os seguintes -pontos.

    -
      -
    1. Para quê serve o projeto?
    2. -
    3. Onde está o código fonte? Quais tecnologias são usadas?
    4. -
    5. Qual a licença? Existem guidelines públicos ou algum tipo de - burocracia para contribuições?
    6. -
    7. Existe documentação de desenvolvedor?
        -
      • Parece fácil de compilar/rodar?
      • -
      • Parece fácil de modificar?
      • -
      -
    8. -
    9. -

      Como o projeto é comandado?

      -
        -
      • Quem são as grandes figuras (desenvolvedores, evangelistas, - etc) do projeto? Se o projeto for grande, cite duas áreas - diferentes neste item.
      • -
      • Existe um roadmap público?
      • -
      • São aceitas contribuições externas? Por qual via?
      • -
      • As decisões são tomadas por quem?
      • -
      -
    10. -
    11. -

      Onde encontrar os membros do projeto? Onde pedir ajuda?

      -
    12. -
    13. O projeto arrecada fundos?
        -
      • Existem empresas patrocinando desenvolvedores?
      • -
      • Quanto foi arrecadado? E gasto? Com quais fins?
      • -
      • Quem decide como gastar?
      • -
      -
    14. -
    -

    O trabalho do grupo será, então, criar uma apresentação de 10 minutos que responda as perguntas acima.

    -

    As apresentações da versão do curso 2022/2 podem ser acessadas nos links abaixo:

    -
      -
    1. Docker
    2. -
    3. GIMP
    4. -
    5. Kubernetes
    6. -
    7. flatpak
    8. -
    9. Godot engine
    10. -
    11. GNOME
    12. -
    13. TensorFlow
    14. -
    15. digiKam
    16. -
    17. Shotcut
    18. -
    +

    11 - Contribuições externas

    +

    Esta aula não tem atividade prática guidada, mas tem uma parte expositiva importante. Não esqueça de olhar os slides de hoje para relembrar.

    diff --git a/lessons/11-contribuicoes-externas/livro.jpg b/lessons/11-contribuicoes-externas/livro.jpg new file mode 100644 index 00000000..7a00f29e Binary files /dev/null and b/lessons/11-contribuicoes-externas/livro.jpg differ diff --git a/lessons/11-contribuicoes-externas/meu-pr.png b/lessons/11-contribuicoes-externas/meu-pr.png new file mode 100644 index 00000000..5a1c4f61 Binary files /dev/null and b/lessons/11-contribuicoes-externas/meu-pr.png differ diff --git a/lessons/11-contribuicoes-externas/slides.pdf b/lessons/11-contribuicoes-externas/slides.pdf new file mode 100644 index 00000000..4d1d71ee Binary files /dev/null and b/lessons/11-contribuicoes-externas/slides.pdf differ diff --git a/aulas/08-testes-automatizados/slides/index.html b/lessons/11-contribuicoes-externas/slides/index.html similarity index 65% rename from aulas/08-testes-automatizados/slides/index.html rename to lessons/11-contribuicoes-externas/slides/index.html index 912b8f1b..f941c107 100644 --- a/aulas/08-testes-automatizados/slides/index.html +++ b/lessons/11-contribuicoes-externas/slides/index.html @@ -8,16 +8,16 @@ - + - + - Testes automatizados - Open Source Development 2023/2 + Dicas de Debug - Open Source Development 2023/2 @@ -98,7 +98,7 @@
    - Testes automatizados + Dicas de Debug
    @@ -295,7 +295,7 @@
  • - + 01 - Distributed Development Workflow
  • @@ -309,7 +309,7 @@
  • - + 02 - Software and Communities
  • @@ -323,7 +323,7 @@
  • - + 03 - Explorando um projeto desconhecido
  • @@ -337,7 +337,7 @@
  • - + 04 - Professional Project
  • @@ -351,7 +351,7 @@
  • - + 05 - Distribuição de Software
  • @@ -365,7 +365,7 @@
  • - + 06 - Localização e Tradução
  • @@ -379,7 +379,7 @@
  • - + 07 - Code quality
  • @@ -393,7 +393,7 @@
  • - + 08 - Automated testing
  • @@ -407,7 +407,7 @@
  • - + 09 - Releases
  • @@ -415,6 +415,20 @@ + + + + + +
  • + + 10 - Minha primeira contribuição + +
  • + + + + @@ -546,34 +560,6 @@ - - -
    @@ -604,113 +590,175 @@

    Desenvolvimento Aberto

    -

    100%

    -
    Testes automatizados
    +

    height:350px

    +
    Dicas de Debug
    Igor dos Santos Montagner ( igorsm1@insper.edu.br )

    -

    Projeto profissional

    -