> Meu nome é João Vitor Spolavore, mas todos meus amigos me chamam de Spola :). Eu tenho 20 anos e estou no 4 semestre de Ciência Da Computação na Universidade Federal do Rio Grande do Sul _
> Meu objetivo profissional é me tornar um desenvolvedor fullstack que possui conhecimento de todos , ou a maioria, dos processos de desenvolvimento de software _
Conhecimento sobre components e boas práticas no código, utilização de hooks, React Routes, consumo de API's e informações de base de dados
Conhecimento de estrutura de dados, utilização de bibliotecas, automatização de processos e desenvolvimento em ambientes virtuais.
Conhecimento de utilização fundamental, obtenção de dados do cliente, dinamização de páginas e sua aplicação em frameworks
Conhecimento amplo da linguagem e sua tags, além da sua utilização específica em frameworks
Conhecimento avançado de css, utilização de flex, animações com css puro, responsividade e acessibilidade web
Conhecimento de boas práticas no git, entendimento sobre: branches, pull requests, merges, resolução de conflitos no código, entre outras...
Conhecimento de técnicas para uma boa construção estrutural do banco utilizando a metodologia de modelagem ER.
Do ano de 2022 até 2024 fiz parte da Empresa Junior de Computação da UFRGS - A IDE Jr. Nela, fui líder de uma equipe de 8 pessoas , onde foi realizado o design e implementação do site institucional do NEJPOA. Em suma, o NEJPOA é um dos 3 núcleos do Rio Grande do Sul que representa as empresas Juniores no país.
CompetênciasDurante o decorrer do projeto, o qual durou cerca de 6 meses, foram utilizadas as tecnologias e competências abaixo:
Ainda na IDE Jr eu participei ativamente na criação de um software de auxílio para o setor de Relações Humanas da empresa. Visto a recorrente necessidade de gerar documentos que, por muitas vezes, alterava-se apenas os dados do usuários - mantendo uma estrutura padrão entre os documentos - foi desenvolvimento um programa de arquivo executável que não só gerava 3 tipos de documentos no formato .pdf, como enviava emails automaticamente para departamentos distintos da empresa. Tanto o back-end como o front-end foi desenvolvido em Python. Para o front, foi utilizado o software QtDesigner para a criação da interface e, a posteriori, a biblioteca Pyside2 para a conversão do arquivo gerado pelo software para um arquivo Python
CompetênciasDurante o projeto, que durou cerca de 3 meses, foi utilizado as seguintes tecnologias
Durante o curso de Classificação e Pesquisa de Dados (CPD), na Universidade Federal do Rio Grande do Sul, realizei a implementação de diversos algoritmos, tanto de ordenação quanto de organização e pesquisa de dados de maneira eficiente. Dentre esses algoritmos pode-se citar implementações autênticas do Quick sort, Radix sort, Shell sort - utilizando as sequências de Ciura , Knuth e Shell. Ainda, no final do curso foi realizado um trabalho em equipe no qual a dupla precisava armazenar informações de uma base de dados que continha mais de 30 milhões de linhas de informações. Toda a aplicação deveria ser rodada em menos de 2 minutos, eu e meu colega de trabalho Gabriel Ávila conseguimos realizar todas as operações em 40 segundos - tempo relativamente impressionate , visto que o trabalho foi implementando em Python ao invés de C++. Esse tempo foi graças às escolhas de estruturas e funções de indexação de dados extremamente otimizadas, podendo ser citadas Hash Tables, Árvores Tries, uma pequena cache em software , entre outros algoritmos. Todos esses citados foram implementados autênticamente pela dupla - sem o uso dessas estruturas build-in na linguagem.
CompetênciasEm 2023 houve um processo seletivo financiado pelo Centro de Pesquisa em Engenharia de Software em pareceria com a PUCRS - constituído de duas fases. Na primeira fase o candidato deveria realizar um software que resolve os problemas técnicos proposto. Em suma, o software representava uma simulação para um sistema de transporte interestadual de cargas - onde o usuário podia tanto saber apenas o custo de transporte entre duas cidadas dado um tipo de caminhão específico. Veja o código fonte a baixo e a específicação do trabalho ( está no mesmo link da página do código ). Em conclusão, o sofware foi aprovado pelo Centro de Pesquisa em Engenharia de Software, possuindo tudo que foi pedido.
CompetênciasUma das minhas atividades favoritas no tempo livre é resolver problemas lógicos de computação no site codewars. Me divirto muito ao tentar resolver um problema como os propostos pelo site, nem sempre é uma tarefa tão trivial, as vezes demora horas ou até mesmo dias para eu pensar em um solução para determinado problema. Porém, a sensação de conseguir finalizar um desafio é o que me faz gostar tanto desses problemas e desse site. Abaixo segue algumas informações minhas que acho legal compartilhar.
Abaixo estão alguns dos desafios que eu mais tive trabalho em resolver. Recomendo fortemente que vejas a resolução dos 34 desafios que eu já completei na minha trajetória. Se tiver interessado clique no botão abaixo para ir para a página com todas as minhas resoluções.
Veja as soluçõesComplete the function/method so that it takes a `PascalCase` string and returns the string in `snake_case` notation. Lowercase characters can be numbers. If the method gets a number as input, it should return a string. ## Examples ``` "TestController" --> "test_controller" "MoviesAndBooks" --> "movies_and_books" "App7Test" --> "app7_test" 1 --> "1" ```
Ver resoluçãoWrite a function named `first_non_repeating_letter`<sup>†</sup> that takes a string input, and returns the first character that is not repeated anywhere in the string. For example, if given the input `'stress'`, the function should return `'t'`, since the letter *t* only occurs once in the string, and occurs first in the string. As an added challenge, upper- and lowercase letters are considered the **same character**, but the function should return the correct case for the initial letter. For example, the input `'sTreSS'` should return `'T'`. If a string contains *all repeating characters*, it should return an empty string (`""`); <sup>†</sup> Note: the function is called `firstNonRepeatingLetter` for historical reasons, but your function should handle any Unicode character.
Ver resoluçãoWrite a function that when given a URL as a string, parses out just the domain name and returns it as a string. For example: ``` * url = "http://github.com/carbonfive/raygun" -> domain name = "github" * url = "http://www.zombie-bites.com" -> domain name = "zombie-bites" * url = "https://www.cnet.com" -> domain name = cnet" ```
Ver resoluçãoGostou de algo e gostaria de me contactar? Mande uma mensagem para mim :)