Classes, Objetos e Traits em Scala

Esse artigo também pode ser chamado “Minha saga aprendendo Scala - Parte 4”
Esse artigo também pode ser chamado “Minha saga aprendendo Scala - Parte 4”
É mês de Hacktoberfest e este é um momento incrível para contribuir com o código aberto (open-source)! No entanto, Git e Github podem ser bastante assustadores, então vamos falar um pouco sobre o básico dessas duas ferramentas extremamente úteis! Versionamento Git é um sistema de versionamento que foi projetado com foco em versionamento de código. Basicamente, nos ajuda a lidar com a modificação de arquivos de uma maneira fácil e indolor.
Se você me disse que está aprendendo a programar (ou qualquer coisa, na verdade), é provável que eu tenha lhe aconselhado a ter seu blog e escrever nele.
Com o passar dos anos eu desenvolvi uma metodologia para lidar com a minha síndrome de impostor nas diferentes escalas de tempo em que ela ocorre. Essa metodologia não é algo super complexo ou com uma profunda base teórica, mas funcionou para mim e me ajudou muito no último ano.
Eu trabalhei com o Projeto Jupyter de dezembro/2018 até março/2019 como parte de um estágio no programa Outreachy. Foi uma experiência maravilhosa e super recomendo! Durante o meu estágio, eu lutei com a biblioteca SQLAlchemy que o JupyterHub utiliza internamente.
me•dí•o•cre: adj. De grau ou qualidade moderada; sinônimo: médio
Liste as três últimas mulheres engenheiras seniores com as quais trabalhou. Você consegue listá-las? Você consegue ao menos 3? Pode fazer um tempo desde essas interações, mas isso não importa. Pense nelas. Se elas têm alguns anos de experiência, há uma boa chance de que elas não fossem apenas boas engenheiras, mas engenheiras incríveis.
Julia é uma linguagem de programação que eu tenho muito ouvido falar há algum tempo e eu sei que ela merecia minha atenção.
Podemos dividir, de forma bastante grosseira, qualquer tipo de dado em duas categorias: temporais e atemporais. Dados atemporais são bastante comuns nos datasets mais utilizados nos tutoriais de ciência de dados: as características dos sobreviventes do Titanic, os tamanhos de pétalas de flores ou as características de um tumor.
E aí pessoal! No post de hoje, o Data Bootcamp me chamou para falar um pouco sobre como fazer perguntas online. Muitos dos alunos do curso são iniciantes no mundo de ciência de dados e, normalmente, de programação. Nessa fase é normal ter dúvidas sobre o tema e, muitas vezes, ter dúvidas sobre como e onde tirar suas dúvidas.
Participando de comunidades de tecnologia nos últimos 3 anos, vejo que é sempre complicado mostrar para empresas que não interagem com esse ecossistema, o quanto é vantajoso para elas fazer isso. Muitas pessoas (desenvolvedores ou não) tentam travar lutas nas empresas, tentando mostrar o quanto isso é vantajoso.
Recentemente, estive ajudando um amigo que transicionava do Matlab para o Python. Dando algumas dicas para ele, percebi que muitas das nuances legais que eu aprendi no Python foi alguém que me ensinou em um momento de “você conhece isso?” ou para resolver um problema bem específico que poderia ser resolvido de forma mais simples.
Nas últimas semanas tenho me dedicado a estudar e entender melhor sobre dados anômalos ou outliers em séries de dados.
Existem pessoas que conseguem tocar piano maravilhosamente bem enquanto outras não conseguem nem bater palmas no ritmo (eu). Existem pessoas que conseguem se expressar bem e pessoas que não conseguem lidar com os inúmeros pensamentos que fluem pelo cérebro. Existem inteligências múltiplas.
Eu comecei estudar lógica de programação quando me deparei com problemas que me exigiam conhecimento em Matlab. Depois de um tempo estudando Matlab me sugeriram trocar para o Python pela sua facilidade, simplicidade e por poder ser aplicado a inúmeras áreas (além de ser gratuito).
Em Abril aconteceu a Python Sul 2018, evento regional da linguagem de programação Python que reúne profissionais e curiosos da região sul do Brasil. No ano de 2017 eu tinha sido keynote e o Adriano jogou a responsa de 2018 para mim. Ok, vamos lá. Ao longo de 7 meses de organização e 3 dias de evento eu aprendi tanto, mas TANTO, que eu decidi escrever sobre isso (e porque o Mário Sérgio me “ordenou” que um texto sobre o que aconteceu deveria acontecer).
Escrevi esse texto há 3 anos atrás, quando falei para uma turma de formandas. Encontrei ele agora perdido nas minhas anotações e ele nunca me pareceu tão real quanto agora. Resolvi compartilhá-lo, pois tem um signficado especial pra mim s2.
Nesta semana me pediram pra contar um pouco sobre como eu virei programadora (ou pelo menos estou no processo). Eu escrevi esse texto para contar um pouco mais sobre essa história.
Ao desenvolver um projeto, testes são uma ferramenta fundamental para manter as coisas fáceis e agradáveis além de ajudar a manter a sanidade da pessoa que está programando. Eu tenho usado um conjunto de ferramentas para desenvolver minhas aplicações web com Django e é hora de compartilhar um pouco sobre elas.
Palestra dada na Python Brasil 2020
Eu estava lidando com alguns arquivos LaTeX e queria uma opção pra colorir código de acordo com a linguagem de programação. Achei o pacote minted e parecia perfeito, mas exigiu algumas coisas que tornaram minha vida um pouco mais complicada no VSCode.
Palestra dada na Python Floripa Online
Esse artigo é a continuação do artigo Minha saga aprendendo Scala - Parte 1.
O pessoal da Gartner e Capterra entraram em contato comigo para fazer uma entrevista sobre mulheres na tecnologia. Como a entrevista foi por email, decidi publicar na íntegra o que eu respondi para eles.
Ser engenheira de software em uma nova empresa - em qualquer nova empresa - é sempre difícil. A base de código é completamente nova, você precisa se adaptar a novos padrões (tanto de código quanto culturais) e, provavelmente, o tipo de problema que você vai resolver também é completamente novo para você.
Escrever é uma boa maneira de se desenvolver na carreira. Você consegue se aprofundar em conteúdos que está estudando, consegue gerar material para pessoas que podem estar precisando e é uma boa maneira de gerar visibilidade (pensando em empregos futuros). Uma vez que você decidiu começar um blog novo, vem uma dúvida: aonde postar esse conteúdo?
Em Abril de 2018 eu comecei o Nanodegree de Engenheiro(a) de Machine Learning pela Udacity. O curso não é barato e muitas pessoas me perguntaram a mesma coisa: vale a pena?
Vídeo da palestra dada na Python Brasil 2018
Quando começamos a analisar um novo conjunto de dados, é normal se sentir um pouco “intimidado” pela quantidade enorme de possibilidades que existem na sua frente.
Já está disponível a pesquisa versão 2018 de desenvolvedores do Stack Overflow, nosso site amado de dúvidas <3. Todo ano, o Stack Overflow faz uma pesquisa para tentar entender como a comunidade de desenvolvedores está, que tecnologias prefere e quais são suas visões sobre carreira e crescimento profissional.
Continuação deste post
Essa semana caí num caso em que eu tinha diversos scripts contendo análises que poderiam rodar em paralelo. Essas análises eram então usadas como base para uma outra análise, que devia rodar apenas depois de todas as outras acabarem.
Começar a contribuir para um projeto open-source (de código aberto) é sempre algo muito recomendado para quem está começando a programar. Muitos comentam que é uma excelente forma de mostrar o seu potencial como desenvolvedor e algumas empresas perguntam sobre contribuições como forma de avaliação de currículo. Além disso, quando você contribui para um projeto open-source, você está ajudando e agregando valor a toda uma comunidade empenhada em soluções comuns e abertas (ou seja, é lindo ❤).
Em Abril aconteceu a Python Sul 2018, evento regional da linguagem de programação Python que reúne profissionais e curiosos da região sul do Brasil. Em um post anterior eu falei sobre como foi a parte humana do evento. Dessa vez quero falar sobre a organização.
Conversando com algumas pessoas, percebi que poucas conheciam sobre as Relações Genéricas (Generic Relation) e Chave Estrangeira Genérica (Generic Foreign Key) no Django. Estudando para aplicár esses métodos no nossos sitema foi possível perceber que a documentação pode ser difícil e esparsa — para não falar confusa. Entretanto, relações genéricas nos ajudou muito, então decidi escrever sobre aqui neste blog post :)
Uma coisa que eu sempre digo que é difícil ao aprender ciência da computação sozinha, é não saber o que você não sabe. Hoje eu aprendi o nome de alguns conceitos que vou compartilhar, para que as pessoas saibam que elas existem 😊
LaTeX (sim, escrito exatamente assim) é um sistema que permite escrever documentos sem se preocupar com o estilo da apresentação. Você pode dizer que é como se estivesse codificando um texto em vez de usar o Microsoft Word ou Google Drive. Como todas as definições de formatação são definidas em um único lugar (o documento principal), você só precisa escrever texto simples e o LaTeX se preocupará em como renderizá-lo da maneira correta.
Neste texto você consegue ter uma ideia pequena de como o SQLAlchemy funciona. No entanto, todo o meu estudo dessa biblioteca aconteceu por causa de um problema que eu demorei muito tempo pra conseguir solucionar.
Como o problema era muito complexo e eu não achei que cabia no outro texto, decidi escrever esse aqui dedicado a ele. Aqui vai :)
Também chamadod e… “uma introdução à Class Based Views
Eu decidi que eu precisava aprender uma nova linguagem e a linguagem que escolhi foi Scala. Eu adicionei como meta para 2020 eu, pelo menos, me sentir um pouco confortável com essa linguagem, então aqui estou.
Este mês é meu aniversário de 4 anos do meu primeiro emprego como desenvolvedora. Durante esse período, tive vários empregos (startups, grandes empresas e projetos de código aberto) e mudei de país e continente.
Eu não estudei ciências da computação em uma faculdade e nunca tive um curso “formal” de programação. Sem entrar muito em detalhes quero reafirmar que, ao olhar para o passado, de maneira alguma acredito que ter feito uma outra faculdade (diferente da profissão que tenho hoje) foi perda de tempo.
Quando você começa nesse mundo, as coisas ficam extremamente confusas. São milhares de termos e conceitos, todos aprendidos ao mesmo tempo. Normalmente, os textos focam em linguagens a serem estudadas para essa área, mas dessa vez optamos por trazer algo diferente. Nesse texto, vim trazer uma explicação “simples” para algumas ferramentas de desenvolvimento na área de ciência de dados.
Participação no episódio do Castálio Podcast
Mesa redonda que aconteceu na Python Brasil de Natal (2018)
No último ano eu comecei a trabalhar com MongoDB por diversão e fiz alguns projetos paralelos com esse banco de dados que é bem interessante! A ideia principal do MongoDB é que ele é extremamente flexível.
Essa semana, eu troquei email com uma moça que quer começar sua carreira como desenvolvedora, mas estava insegura e frustrada. As entrevistas eram difíceis e, muitas vezes, impessoais. Escrevi um email de ajuda e apoio para ela e achei que seria válido deixar as minhas “dicas” e recomendações anotadas em algum lugar.
Essa semana eu descobri o spaCy, uma bilbioteca Python para Processamento de Linguagem Natural (PLN) que me pareceu excelente. Ao brincar um pouco mais com ela, eu percebi que ela era ainda mais divertida do que eu imaginava e já com um modelo pronto em português, o que facilita bastante para dar uma arranhada na superfície do assunto que é o PLN (ou NLP em inglês).
Este post também poderia ser chamado de o que vem depois dos tutoriais :)
As fofíssimas Pyladies Salvador pediram um texto para estrear o blog delas e me falaram que iam publicar esse texto no dia da mulher. Refleti muito a respeito do que escrever, do que eu poderia agregar de alguma forma nesse dia que tem tanto significado e resolvi que gostaria de conversar com vocês sobre ambição. Quão ambiciosa você se considera?
Há um ano eu começava meu novo emprego como desenvolvedora backend em Python. Eu havia largado uma carreira, uma profissão e por pouco também não larguei um mestrado. Quando tudo isso aconteceu, acho que eu não tinha entendido as proporções que aquela decisão teve na minha vida. Hoje, exatamente, faz um ano do meu primeiro dia como desenvolvedora e eu quero contar um pouco sobre o que aconteceu nesse ano.
Revisar código é uma tarefa complicada e pode se tornar bastante desesperadora, especialmente quando você não tem ideia de como fazer isso. Entretanto, a revisão de código pode ser uma ferramenta poderosa para aumentar a qualidade do seu código e garantir deploys “saudáveis”.