O Strava é um dos aplicativos mais populares do mundo para registrar corridas, pedaladas e caminhadas. Se você tem um smartwatch da Haylou , como o Haylou RS5 , Solar Pro ou outro modelo compatível, e quer sincronizar suas atividades diretamente com o Strava , saiba que é possível! Este guia vai te mostrar como ativar a integração entre o Haylou Fun e o Strava de forma simples e prática. 📲 O que você vai precisar Antes de começar, verifique se tem tudo em mãos: Um smartwatch Haylou compatível (ex: RS5, Solar Plus, Solar Pro, LS02 etc.) O aplicativo Haylou Fun instalado no seu celular (disponível para Android e iOS) Uma conta ativa no Strava e Haylou Fun Conexão com a internet e Bluetooth ativados ⚙️ Passo a passo para ativar a integração com o Strava 1. Atualize seus aplicativos Abra a Play Store (Android) ou App Store (iPhone) e verifique se tanto o Haylou Fun quanto o Strava estão atualizados. Versões antigas podem causar falhas na sincronização. 2. ...
Gerar link
Facebook
X
Pinterest
E-mail
Outros aplicativos
Como criar moderação de imagens utilizando Expo e SightEngine
Gerar link
Facebook
X
Pinterest
E-mail
Outros aplicativos
Publicado em
Olá pessoal! Se você está desenvolvendo algum projeto, seja em Expo ou mesmo em React Native, e nele é necessário enviar alguma imagem que será divulgada publicamente, como acontece nos apps de rede social, é imprescindível que o conteúdo, não apenas textos como imagens também, passem por um sistema de moderação. Nesse artigo eu gostaria de mostrar a vocês uma solução relativamente simples de implementar esse sistema utilizando a API da SightEngine com o Expo CLI sem a necessidade de instalar quaisquer módulos adicionais. Vamos lá?
Primeiro passo
Antes de começar, vamos criar um projeto de exemplo. Aqui chamarei de meuApp, que basicamente é um aplicativo que exibe um botão que permite selecionar uma imagem a partir da galeria do Android. Então criamos um projeto em Expo criando uma pasta e abrindo um terminal dentro dela. com o comando npx expo init meuApp no diretório desejado. Ao concluir teremos a seguite estrutura de arquivos:
Segundo passo
Dentro do diretório do projeto, vamos instalar o Expo ImagePicker com o comando a seguir:
Após a instalação do módulo, teremos condições de iniciar o projeto. Para isso utilizamos o comando npx expo start.
Terceiro passo
Agora podemos começar a codar! Dentro do diretório raíz do nosso projeto recém criado, vamos criar duas pastas, uma chamada src e dentro dela outra chamada functions. Dentro de functions, vamos criar um arquivo chamado nsfw.js, que utilizaremos posteriormente para criar a comunicação com a API da SightEngine:
Assim, podemos abrir o editor de sua preferência. Aqui utilizarei o Visual Studio Code.
Substituindo o nome do componente para App, teremos algo assim:
Quinto passo
Agora vamos criar nossa função de moderação. Para isso, acessamos o arquivo nsfw.js previamente criado e adicionamos o código a seguir:
Vou explicar como a API funciona. Criamos uma função (aqui chamei de NSFWDetectorUpload) que recebe dois parâmetros de entrada: um path, que contém a uri da imagem escolhida e um callback, que devolve o resultado por meio de uma função.
Sequencialmente, declaramos uma variável que recebe o endereço da API, outra que recebe a uri da imagem (path). Em seguida, instanciamos um objeto chamado formData, que vai criar um modelo de requisição HTTP contendo uma sequência de pares de chaves e valor, muito parecido com o que vemos no Axios. E por fim criamos uma variável que retornará um objeto JSON do resultado recebido pela API.
Em apiUser e apiSecret inserimos as chaves fornecidas pela SightEngine. Para obtê-las, basta criar um cadastro no site da empresa e acessar a Dashboard. Lá no canto esquerto temos a opção API Keys. Basta copiá-las e adicionar conforme a imagem acima.
Com a função criada, exportamos ela e importamos em App.js.
Sexto passo
Agora vamos testar nosso app! Então clicamos no botão, escolhemos uma imagem e o resultado da análise será mostrado no terminal em forma de objeto JSON:
Observe que a API por meio da AI analisa a imagem sobre várias categorias que envolvem nudez. Temo um resultado probabilístico, onde zero representa 0 por cento de chances da imagem pertencer a uma ou mais categorias e 1 representa 100 por cento de chances.
Então se quisermos filtrar imagem para qualquer tipo de nudez, utilizamos o resultado da propriedade none, que indica a probabilidade da imagem não representar nenhum tipo de nudez. Na imagem de exemplo, tivemos 99 por cento de chances de não pertencer a nenhuma categoria.
Para filtrar, criamos uma variável (aqui chamei de rateNudity) que receberá essa propriedade. Para transformar em porcentagem, eu multipliquei o resultado por 100. Em seguida, adicionamos ela como parâmetro em callback para utilizar esse valor durante o processo de seleção de imagem:
Feito isso, podemos chamar a função NSFWDetectorUpload em App.js e iniciar o nosso algoritmo simples de decisão:
Resumidamente, se o valor recebido em callback for maior ou igual a 50 (50%), considera-se que a imagem é adequada e portanto ela poderá ser exibida. Caso contrário, ela poderá ter conteúdo ofensivo. Mas isso é apenas um exemplo, caberá a você decidir qual ajuste será mais adequado.
Conclusão
O SightEngine fornece um meio de integração bastante simples e fácil de implementar, permitindo moderar não apenas imagens, como textos também. Com a abordagem deste artigo, é possível implementar a mesma lógica em praticamente tudo que utilize Javascript. Entretanto, trata-se de uma API com recursos limitados, com o limite de até 2000 análises por mês. Se o seu projeto demandar uma quanidade maior do que isso, será necessário partir para outras soluções ou assinar o serviço pago oferecido pela empresa.
Olá companheiros! Para quem está por dentro do mundo do pinguim, sabe que falhas de conexão com a rede Wi-fi é relativamente comum, principalmente em distros como o Fedora, Manjaro, Antergos entre outras. Por isso, resolvi deixar essa dica que me perturbou durante um bom tempo. Caso sua distribuição Linux baseada em Arch Linux não consiga conectar à sua rede doméstica sem fio, é bem provável que ela está aguardando um endereço IP interno, gerado pelo próprio serviço DHCP do sistema, mas muitas vezes o endereço é obtivo pelo próprio roteador. Nesse caso, a solução é simplesmente adicionar uma linha de código no arquivo de configuração do gerenciador de redes do Linux, conhecido como Network Manager. Primeiro passo : abra um terminal com acesso privilegiado (para isso, digite “sudo su”, sem aspas). Segundo passo : digite o comando abaixo: vi /etc/NetworkManager/NetworkManager.conf Você também pode utilizar qualquer outro editor de sua preferência. Terceiro p...
Recentemente me deparei com uma situação inusitada e confesso que ela me rendeu um pequeno susto. O leitor biométrico do Samsung Galaxy A30 simplesmente parou de funcionar! Ao tentar desbloquear a tela com o sensor, surgia a mensagem "Sem correspondência" em todas as tentativas. O problema a princípio parece físico, mas é possível notar que o sensor responde aos toques, portanto nesse caso trata-se de um problema de reconhecimento do sistema. E agora o que fazer? Existe uma maneira bem simples de tentar solucionar este "bug" a qual acabou funcionando para mim, então eu gostaria de compartilhar a vocês como fazer. Esta falha se aplica ao modelo em questão, mas este problema pode ocorrer em em outros modelos, como é o caso do Galaxy A10, A20 ou mesmo o A50. Vamos lá? Execute os passos a seguir nessa ordem: 1. Acesse o menu Configurações : 2. Acesse a opção Biometria e segurança : 3. Acesse a opção Impressões digitais : 4. Desmarque a opção Desbloquear com digitais : 5...
Olá pessoal! Recentemente adquiri um velho iPhone 5 e me deparei com um baita problema. Como muitos sabem, este modelo em específico parou na versão 10.3.4 do IOS, o que por sua vez acaba impossibilitando instalar e manter atualizada uma grande quantidade de aplicativos devido a sua incompatibilidade. Mas existe luz no fim do túnel, e eu gostaria de deixar a dica que me permitiu instalar apps um pouco mais antigos no iPhone 5. Vamos lá? Algumas pessoas no YouTube disseram que era possível contornar esse "bloqueio" instalando uma versão antiga do iTunes, pois naquela época ela possuía a opção de acesso à App Store. Entretanto era impossível realizar o login na conta, surgindo erros que iam desde falhas de conexão segura a serviço indisponível. Então depois de muitos testes de tentativa e erro, encontrei uma versão do iTunes que ainda funciona, e é a versão para desenvolvedores ! IMPORTANTE Para evitar qualquer problema, é necessário instalar a versão disponível no link dessa ...
Comentários
Postar um comentário