Um Pouco Sobre Complexidade de Código

Volta e meia eu vejo em algumas redes algumas pessoas desenvolvedoras falando sobre, use isso, não use tal, e dizendo que devs juniors já deviam saber disso ou daquilo, porém normalmente isso tem relação a funções extendidas de javascript, python, etc.. mas poucos se atentam a uma questão que pode ser bem crítica, que é a complexidade do código gerado usando essas funções, e nesse artigo gostaria apenas de mostrar exemplos do que são e de pequenas implementações de algoritmos e diversos momentos de complexidade, a notação usada será a Big O
Espero que gostem 🙂

Primeiramente, o que é Big O?

Na ciência da computação, a notação Big O é uma notação matemática que descreve o comportamento limitante de uma função quando o argumento tende a um valor específico ou ao infinito. É membro de uma família maior de notações conhecida como notação Landau, notação Bachmann–Landau, ou notação assintótica.

A notação Big O é usada para classificar algoritmos de acordo com seu tempo de execução ou requisitos de espaço, conforme a entrada de dados aumenta.

Continue reading →

Estruturas de Dados com Java – Playlist Youtube

Essa playlist dos professores Leandro Guarino e Luiz Eduardo Guarino explica muito bem sobre estrutura de dados, não só pra Java, mas para qualquer linguagem, e tbm ensina de maneira bem didática sobre complexidade de código, com exemplo práticos e mostrando quem tem melhor e pior performance seguindo a notação Big O, para pesquisa e ordenação como busca binária, bubble sort, insert sort, entre outras coisas muito interessantes. 
Eu gostei muito, espero que gostem tbm =D

Estruturas de Dados com Java

Firebase Databases Indexes

Realtime Database

Na Realtime Database do Firebase, os índices (indexes) desempenham um papel importante na otimização das consultas. Quando você executa uma consulta em sua base de dados, os índices ajudam a melhorar a eficiência da busca, permitindo que o Firebase recupere os dados de forma mais rápida.

Os índices na Realtime Database do Firebase são um mecanismo que permite que o Firebase armazene os dados de forma mais eficiente, facilitando a consulta e a recuperação dos dados.

Os índices são criados para campos específicos em um documento. Quando um índice é criado, o Firebase armazena uma lista de todos os valores possíveis para esse campo. Essa lista é organizada de forma ordenada, o que facilita a consulta dos dados.

Por exemplo, imagine que você tenha um documento no banco de dados com os seguintes dados:

Continue reading →

Google Developer Experts

Um Pouco Sobre o Programa Google Developer Experts

O Programa GDE (Google Developer Experts) é uma iniciativa do Google que reconhece e premia desenvolvedores experientes e especialistas em tecnologias específicas do ecossistema Google. Esses especialistas são selecionados com base em seu conhecimento profundo e contribuições significativas para a comunidade de desenvolvedores.

Os GDEs são profissionais altamente qualificados em áreas como desenvolvimento de software, design de interface do usuário, análise de dados, machine learning, internet das coisas (IoT) e muito mais. Eles demonstram habilidades excepcionais e um compromisso notável em compartilhar seu conhecimento e experiência com outros desenvolvedores.

Continue reading →

Google Developers Groups

Um pouco sobre o programa Google Developers Groups

Logo Google Developers Groups

O programa Google Developers Group (GDG) do Google é uma iniciativa que visa reunir desenvolvedores interessados nas tecnologias e APIs do Google, como Android, Chrome, Drive, Google Cloud e outras. Os GDGs são grupos locais que organizam eventos, workshops, treinamentos e meetups para aprender e compartilhar conhecimentos sobre essas tecnologias. Qualquer pessoa pode participar ou liderar um GDG em sua região.

O objetivo do programa é criar uma comunidade de desenvolvedores que possam se beneficiar dos recursos e ferramentas oferecidos pelo Google, bem como trocar experiências e ideias com outros profissionais da área. Os GDGs também promovem o DevFest, um festival anual de tecnologia que reúne milhares de participantes em todo o mundo para celebrar a inovação e a criatividade.

Continue reading →

Um pouco sobre o IONIC framework

O Ionic é um framework de código aberto para o desenvolvimento de aplicativos móveis híbridos e progressivos(PWA). Ele permite criar aplicativos para várias plataformas, como iOS, Android e web, usando tecnologias web como HTML, CSS e JavaScript.

O IONIC utiliza o Capacitor como base para acessar os recursos nativos dos dispositivos, como câmera, GPS, contatos, etc. Além disso, o IONIC usa o TypeScript e o Angular para prover uma solução de mais alto nível em termos de código e arquitetura. O IONIC também possui uma interface de linha de comando (CLI) que facilita a criação, o gerenciamento e o teste dos aplicativos.

Principais recursos e benefícios do Ionic:

  1. Desenvolvimento multiplataforma: Com o Ionic, é possível criar aplicativos para várias plataformas, como iOS, Android e web, a partir de um único código-base. Isso economiza tempo e esforço, evitando a necessidade de desenvolver aplicativos separados para cada plataforma.
  2. Componentes estilizados: O Ionic possui uma biblioteca extensa de componentes de interface de usuário pré-construídos, como botões, listas, menus, abas, sliders e muito mais. Esses componentes são estilizados e prontos para uso, permitindo criar interfaces de usuário atraentes e consistentes em seus aplicativos.
  3. Facilidade de uso: O Ionic é projetado para ser fácil de usar, especialmente para desenvolvedores web que estão familiarizados com tecnologias como HTML, CSS e JavaScript. Ele utiliza conceitos familiares, como a criação de páginas e o uso de componentes, facilitando a transição para o desenvolvimento de aplicativos móveis.
  4. Integração com Angular: O Ionic é construído em cima do Angular, o que significa que você pode aproveitar os recursos poderosos do Angular para criar aplicativos mais robustos. Isso inclui recursos como gerenciamento de estado, injeção de dependência e a capacidade de criar componentes reutilizáveis.
  5. Acesso a recursos nativos: Com o Ionic, é possível acessar recursos nativos do dispositivo, como câmera, GPS, armazenamento local e notificações push, usando plugins específicos do Ionic ou do Capacitor (uma biblioteca de abstração para acessar recursos nativos).
  6. Comunidade e ecossistema: O Ionic possui uma comunidade ativa e um ecossistema robusto de plugins, temas e bibliotecas adicionais. Isso significa que você pode encontrar suporte, recursos adicionais e soluções para desafios comuns ao desenvolver aplicativos com o Ionic.
Continue reading →

Ser uma pessoa desenvolvedora depois dos 40?

Esse assunto é algo bem sensível para mim, já que tenho 48, esse ano faço 49 e ano que vem 50 😮 😅, e sinceramente acho que hoje em dia ter 40+ não é o mesmo que 40, 30 anos atrás, o mundo mudou muito, vivemos com mais saúde por mais tempo, temos uma expectativa de no futuro vivermos até 150 anos e essa expectativa é para gerações que já estão nascendo, será mesmo que uma pessoa hoje com 40, 50 anos é alguém descartável, sendo que tem mais maturidade e muita experiência para oferecer?

Minha foto com a mão estendida fazendo a saudação Vulcana
Essa sou eu,
uma mulher trans 🏳️‍⚧️, trekkie 🖖🏼 e que adora rock and roll 🤘🏼
Trekkie ou Trekker: É uma dessas pessoas malucas que ama Star Trek e que ousa sonhar com um futuro melhor para todos, e como um dos principais lemas de ST diz, com Infinita Diversidade em Infinitas Combinações 🖖🏼

Bom, segue o artigo.

Ser uma pessoa desenvolvedora de mais de 40 anos pode ser um desafio em um mercado de trabalho cada vez mais competitivo, dinâmico e exigente. A tecnologia evolui a uma velocidade impressionante, e as pessoas desenvolvedoras precisam estar sempre atualizadas e preparadas para as novas demandas e tendências. Além disso, elas podem enfrentar o preconceito e a discriminação de algumas empresas, que preferem contratar pessoas mais jovens, por acreditarem que elas são mais produtivas, criativas ou inovadoras.

E sendo bem sincera com vocês, se para homem o homem branco 40+ existe o preconceito, ele é ainda maior se você é mulher, negra, negro, LGBT, o mundo é assim, infelizmente ainda temos um caminho gigante a trilhar até que isso um dia comece a melhorar. Mas um dia vamos chegar lá. <3

Continue reading →

Programa Women Techmakers

O programa WTM do Google é uma iniciativa que visa promover a visibilidade, a comunidade e os recursos para as mulheres na tecnologia. O programa foi lançado em 2014, como uma evolução do Google Developer Group Women, e desde então vem realizando diversas ações para apoiar e inspirar as mulheres que atuam ou desejam atuar no campo da tecnologia.

O programa WTM do Google oferece três formas de participação:

  • Embaixadora: As embaixadoras são líderes comunitárias que organizam eventos, palestras, conteúdos e mentorias para empoderar outras mulheres na tecnologia. Elas recebem acesso a uma comunidade global e recursos exclusivos do Google e do ecossistema de tecnologia. Para se tornar uma embaixadora, é preciso se inscrever no site do programa e atender aos requisitos de qualificação e responsabilidade.
  • Membro: As membros são mulheres que se cadastram no site do programa para receber acesso a recursos e eventos curados pelo Google, pelos parceiros e pela comunidade de tecnologia. Elas também podem participar de programas de capacitação, networking e reconhecimento do Google
  • Participante: As participantes são mulheres que comparecem aos eventos, workshops, mentorias e conteúdos organizados pelas embaixadoras ou pelo Google. Elas podem aprender sobre diversos temas relacionados à tecnologia, como Google Cloud, Android, Flutter, Machine Learning, Inteligência Artificial etc. Elas também podem interagir com outras mulheres da comunidade e ampliar seus conhecimentos e oportunidades.
Continue reading →

Desenvolvimento Móvel Nativo vs Híbrido

Desenvolvimento móvel nativo e desenvolvimento móvel híbrido são duas formas de criar aplicativos para dispositivos móveis, como smartphones e tablets. Cada uma tem suas vantagens e desvantagens, dependendo do objetivo, do público-alvo e do orçamento do projeto.

Um aplicativo nativo é aquele que é desenvolvido especificamente para uma plataforma ou sistema operacional, como Android ou iOS. Isso significa que ele usa a linguagem de programação, as ferramentas e os recursos nativos da plataforma, como a interface gráfica, os sensores, a câmera, o GPS, etc. Um aplicativo nativo pode oferecer uma melhor experiência de usuário, um maior desempenho e uma maior integração com o dispositivo.

No entanto, um aplicativo nativo também tem algumas desvantagens. Ele requer mais tempo e custo de desenvolvimento, pois é preciso criar um código diferente para cada plataforma. Além disso, ele depende da aprovação das lojas de aplicativos, como a Google Play ou a App Store, para ser distribuído e atualizado. E ele pode ter problemas de compatibilidade com diferentes versões ou modelos de dispositivos.

Continue reading →

Como Acessar o Google Bard Estando no Brasil

Bom, para isso é necessário uma VPN (Virtual Private Network, Rede Virtual Privada), porém muitas pessoas não sabem como acessar um ou até mesmo acham que devem pagar por um, mas existe uma forma bem pratica, e usando um navegador web para usar uma VPN e acessar o Google Bard (o chatGPT do Google)

Primeiro vamos fazer o download do navegador, no caso o Opera One, que já vem com uma VPN

https://www.opera.com/one

Baixe e instale o navegador

Continue reading →