dev | oxi

Um blog sobre desenvolvimento de software, Java, Rust e Linux

Rust: Organizando fontes em arquivos e diretórios separados

A documentação oficial do Rust é formidável, porém a explicação sobre a estruturação de arquivos e diretórios pode parecer confusa. Nesse artigo pretendo mostrar de maneira simples - sem se aprofundar em todas possibilidades e detalhes. Vamos conferir!

Rust: Lidando com erro ao misturar borrow imutável e mutável

Ao trabalhar com Rust cedo ou tarde você irá se deparar com o "error[E0502]: cannot borrow ... as immutable because it is also borrowed as mutable". As vezes acontece quando vamos tentar fazer algo simples, coisa que fazemos de maneira corriqueira em outra linguagem. Vamos conferir algumas soluções para contornar esse problema.

Terminal altamente produtivo com Fish

Uma das coisas mais frustantes que eu tinha ao usar Linux era a experiência no terminal - por que raios a tecla tab não funcionava como no Windows? Cheguei a criar um doc de configurações para fazer no bash, para conseguir deixar do jeito que eu queria. Mas depois que conheci o Fish, tudo mudou. Ele já traz muitos recursos nativos e com mais algumas configurações fica imbatível. Confira!

Habilitando Hyper-V em Windows 10 Home

Quem trabalha com desenvolvendo de software para diferentes plataformas sabe o quanto é importante a praticidade das máquinas virtuais. Até então, para quem tinha Windows Home, a solução era instalar softwares tal como Oracle VirtualBox. O Hyper-V da Microsoft, por padrão, nas versões workstation só vem habilitado para executar em Windows Professional. Porém existe um truque para fazer funcionar no Windows Home.

Trabalhando com Option em Rust

Diferente de muitas linguagens, Optional type é um mecanismo fundamental no desenvolvimento com Rust - ele está por trás da sua característica null safe. Mas além de funcionar como um Optional pointer, o tipo Option possui alguns recursos bem úteis. Option é um enumerado, em Rust isso significa que temos o poder dos enumerados algébricos, que permite levar consigo um determinado valor. Option é um enumerado de variedade None e Some(T). Muitas de suas operações possuem formato funcional - que faz um callback através de closure, sendo bastante eficiente, pois é invocado somente quando necessário. Vamos explorar isso e muito mais!