Um novo projeto pessoal: El Automatizador de Pronombres!

A segunda parte das minhas férias chegou, mas o coronavirus resolveu que não ia dar trégua (inclusive, resolveu até mandar uma segunda onda 😑). Então fiquei eu em casa sem muita coisa pra fazer. Resolvi usar esses quinze dias livres para descansar, estudar o que me consome mais tempo e esforço (alô Javascript!) e programar de leve, por diversão. Com isso, consegui finalizar o meu mais recente projeto pessoal, o Automatizador de Pronombres! Vou contar um pouquinho sobre ele nesse post, vem comigo?

Um passarinho com bracinhos de desenho andando e pulando em comemoração.
Continuar lendo Um novo projeto pessoal: El Automatizador de Pronombres!

O que é o tipo dynamic?

Trabalhando com alguns projetinhos pessoais, encontrei em diversos locais a sugestão de usar um tal de tipo dinâmico no C#, para recuperar resultados de APIs, por exemplo. Como boa fã de tipagem forte, não botei muita fé, mas acabei usando na resolução de um problema e confesso que, agora, estudando melhor para fazer esse post, até que vi vantagem. No meu post anterior, a última parte de um tutorial sobre Twitter API e C#, eu prometi escrever mais sobre ele, com mais detalhes e embasamento. E aqui está: afinal de contas, o que é o tipo dynamic, no C#?

Uma garotinha loira, de maria chiquinhas, chacoalhando a cabeça com os braços levantados.
Onde vive? Do que se alimenta? Hoje, no Olivia Repórter!
Continuar lendo O que é o tipo dynamic?

Twitter API e C#: um tutorial – parte 3

E aí, beleza? Essa é a terceira e última parte desse xodózinho que eu tenho escrito: um tutorial de como fazer uma aplicação simples com a Twitter API e C#. Na parte 1, criamos nossa app na Twitter e pegamos as chaves de consumo que precisávamos e na parte 2 salvamos nossas chaves em um XML no projeto e fizemos a classe de autorização. Vamos finalizar, pegando os tweets e mostrando-os no nosso Console?

Um homem está sentado na frente do PC coçando o queixo enquanto a frase "I am a programming god!" aparece.
Eu sou um deus da programação!
Continuar lendo Twitter API e C#: um tutorial – parte 3

Twitter API e C#: um tutorial – parte 2

Oi! Seja bem vindo à segunda parte do meu singelo tutorial de como fazer uma aplicação simples com a Twitter API e C#. Na parte 1 nós criamos a nossa app no Twitter for Developers e pegamos as consumers keys que vamos precisar para conectar a nossa aplicação ao Twitter. Agora vamos de fato iniciar a programação do nosso sisteminha! Bora codar juntos?

Um gatinho bate com as patinhas freneticamente em um computador, como se estivesse digitando.
Continuar lendo Twitter API e C#: um tutorial – parte 2

Twitter API e C#: um tutorial – parte 1

Quando eu decidi fazer o bot da Pepita, percebi que não seria possível pegar os stories dela no Instagram, como eu queria desde o começo. Além disso, a API do Instagram também não me parecia muito amigável, o que me fez desistir dela bem rápido. Em compensação, encontrei muito material sobre a API e os Apps do Twitter e percebi que ali as coisas pareciam fluir muito mais fácil. Decidi ir por esse caminho e me dei bem! Por isso, decidi trazer para vocês (e também documentar para um uso futuro hehe) como fazer uma aplicação simples com a API do Twitter e C#! #bembackendela🙆

Dois logos do Twitter "conversando" entre si
Continuar lendo Twitter API e C#: um tutorial – parte 1

Um novo projeto pessoal: o Hey, Pepita bot!

Desde o começo do ano, eu estava com alguns dias de férias marcados agora em Julho. Altas expectativas, viagens planejadas, meus pais viriam me visitar… mas o Covid-19 decidiu estragar tudo. 😢 Conclusão: as férias chegaram e eu fiquei em casa. Decidi fazer o quê? Primeiro, dar uma descansada, porque eu não sou de ferro. 😆 Depois, decidi sentar e finalizar um projeto pessoal que eu estava muitíssimo empolgada quando comecei e depois acabou ficando um pouco de lado por conta da correria da vida: o bot Hey, Pepita no Telegram!

Kermit, o sapo, comemorando sentado em cima de uma escrivaninha.
Continuar lendo Um novo projeto pessoal: o Hey, Pepita bot!

Como converter timestamp Unix para DateTime?

Estou desenvolvendo um projeto pessoal que, entre outras coisas, envolve um bot do Telegram. E, na hora de pegar os updates desse bot, me deparei com o seguinte retorno para um campo de data: Date the message was sent in Unix time. Na hora, não dei muita atenção. Mas quando efetivamente estava desenvolvendo e encontrei com um int ENORME na resposta da request que eu fiz, fui lá procurar o que era esse tal de Unix timestamp e como convertê-lo para um DateTime.

Um pug olhando para trás com cara de "WTF"
Continuar lendo Como converter timestamp Unix para DateTime?

Como não ficar ansiosa programando

Olá, meu nome é Olivia e eu sou muito ansiosa. Além disso, eu cheguei bem perto de um burnout – que, infelizmente, deixou algumas sequelas.

Síndrome de Burnout ou Síndrome do Esgotamento Profissional é um disturbio emocional com sintomas de exaustão extrema, estresse e esgotamento físico resultante de situações de trabalho desgastante, que demandam muita competitividade ou responsabilidade. – Ministério da Saúde

Desde que eu cheguei no meu atual emprego, o seguinte processo já aconteceu algumas vezes: me passaram alguma alteração simples, eu percebi que não sabia fazer, entrei em parafuso, fui pro banheiro, surtei durante alguns minutos (às vezes com choro, às vezes só hiperventilando), voltei pro meu computador e, pouco tempo depois, consegui resolver o problema; muitas vezes de uma forma até bem simples.

Uma menina ruiva hiperventila em um saco de papel, com uma das mãos na cabeça

Não é fácil. Mas eu sinto que a cada dia eu consigo melhorar um pouquinho. Um dia eu chego lá.

Às vezes, isso acontece quando estou desenvolvendo algum projeto pessoal. Não chegam a acontecer crises porque, bem… é um projeto pessoal, não tenho nenhum prazo e possivelmente nenhuma pessoa vai ser impactada negativamente pelo que eu estou desenvolvendo.

Mas acontece. Eu estou desenvolvendo um método, já pensando em como vou lidar com a resposta daquilo, e aí como eu preciso armazenar as informações e ficando preocupada porque a ideia não parece ser boa o suficiente e quando vejo… já estou emaranhada no turbilhão de ansiedade.

Um garoto negro balança a cabeça de um lado para o outro em sinal de reprovação.

E quando eu percebo que isso aconteceu (às vezes um pouco tarde demais, confesso), eu paro. Respiro. E volto ao começo do pensamento.

Por isso, decidi escrever aqui um pouco do meu processo e das minhas técnicas de como não ficar ansiosa programando! Pode parecer bobo, mas comigo funciona e eu acho interessante documentar isso. E se ajudar alguém, fico ainda mais feliz!

Continuar lendo Como não ficar ansiosa programando

Recursos legais pra te ajudar com o frontend

Caso você não me conheça e chegou aqui agora, gostaria que você soubesse que, apesar de arriscar um pouquinho com HTML, CSS e Javascript, eu sou 100% backend 😅

Por mais que eu tente, eu não consigo deixar as coisas do jeito que eu quero e, quando consigo, nem sempre fica tão bonito quanto eu imaginei. Tenho ZERO senso estético, de verdade. Prefiro bem mais fazer as coisas funcionarem por baixo dos panos.

Gif mostrando a diferença entre o designer e o desenvolvedor: o designer olha de um lado para o outro enquanto o desenvolvedor olha de cima para baixo.

Mas eu não me dou por vencida, e vez ou outra tento dar aquela praticada no frontend; mais pra não enferrujar de vez do que pra me tornar especialista.

Recentemente, fiz as aulas da Imersão CSS da Alura e me foi extremamente proveitoso. Percebi que tem MUITA coisa que é possível fazer somente com CSS e achei isso fantástico. E eu aprendi muito. Tanto que, até agora, estou dando prosseguimento no meu site, tentando deixá-lo o mais “eu” possível, com várias animações e seguindo o que aprendi: tudo com HTML e CSS.

É claro que vários dos elementos que coloquei no meu site eu não construí do zero, e peguei de algum lugar. Mas só de ter o poder e a noção de como customizá-los, eu já me sinto extremamente poderosa!

As três programadoras negras do filme "Estrelas Além do Tempo"

Durante a minha jornada com o frontend nesses últimos dias, me deparei com alguns sites que facilitaram bastante a minha vida, e achei por bem compartilhá-los aqui, vai que ajuda mais alguém (e assim também tenho uma referência do que já usei caso precise num futuro próximo 😀

Continuar lendo Recursos legais pra te ajudar com o frontend

Detalhes desconhecidos: como recuperar a seção applicationSettings de um arquivo App.config?

Esses dias, enquanto estava configurando um serviço em um dos projetos do trabalho, tive um momento de nervoso porque não fazia a menor ideia de como recuperar um dado da seção applicationSettings, que fica dentro do arquivo App.config.

Explico: trabalhar com os .config da vida não é algo novo para mim; praticamente todos os projetos do meu trabalho tem um. É um arquivinho deveras útil quando precisamos parametrizar certos aspectos do sistema (e não queremos que este seja recompilado para que a parametrização funcione).

Um homem negro digita em um computador enquanto uma fogueira arde ao seu lado.

Porém, eu só havia me deparado com dois cenários esse tempo todo:

1- criar uma seção de appSettings e declarar meus parâmetros ali dentro, com chave e valor:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <appSettings>
      <add key="NomeDoParametro" value="Valor do parâmetro" />
   </appSettings>
</configuration>

E recuperá-los via ConfigurationManager, da biblioteca System.Configuration:

using System.Configuration;

private string _recuperandoParametroArquivoConfig = ConfigurationManager.AppSettings["NomeDoParametro"];

2- criar uma seção relativa à algo específico e ali criar os parâmetros com chave e valor:

<NomeDaSecao>
      <Autenticacao>
         <add key="Username" value="Usuario" />
         <add key="Password" value="SenhaDoUsuario" />
      </Autenticacao>
      <Constantes>
         <add key="Endereco" value="ValorDoEndereco" />
      </Constantes>
</NomeDaSecao>

E recuperá-los com o NameValueCollection e ConfigurationManager:

NameValueCollection Autenticacao = (NameValueCollection)ConfigurationManager.GetSection("NomeDaSecao/Autenticacao");
NameValueCollection Constantes = (NameValueCollection)ConfigurationManager.GetSection("NomeDaSecao/Constantes");

string Url = Constantes.Get("Endereco");

Pois bem, ali estava eu, em um cenário totalmente novo: eu tinha uma tag applicationSettings e precisava do valor que ficava ali dentro dela.

    <applicationSettings>
        <Projeto.Properties.Settings>
            <setting name="NomeDaConfiguracao" serializeAs="String">
                <value>ValorDaConfiguracao</value>
            </setting>
        </Projeto.Properties.Settings>
    </applicationSettings>

Depois de uns 10 segundinhos de nervoso pensando: “como é que eu chego ali?”, fui consultar o Oráculo (Google + Stack Overflow) e a solução é MUITO mais simples do que eu podia imaginar. (Às vezes eu esqueço que o Visual Studio pode facilitar bastante a nossa vida…)

Robert Downey Jr. fazendo sinais de joinha com as mãos.
Continuar lendo Detalhes desconhecidos: como recuperar a seção applicationSettings de um arquivo App.config?