Inteligência artificial aplicada ao e-commerce

Inteligência Artificial

Embora a IA tenha penetrado em inúmeros setores, trazendo mudanças em nossa vida cotidiana, a indústria de varejo on-line, em particular, foi significativamente transformada pela adoção desses novos recursos.
A aceitação e o crescimento de inteligência artificial para o e-commerce no último ano confirma que a experiência de compra no futuro tanto on-line quanto em lojas físicas será dominada pela tecnologia da IA.

Um dos exemplos de aplicação da inteligência artificial no e-commerce torna os produtos mais detectáveis ​​na internet, elimina a necessidade de uma pesquisa de palavras-chave tradicionais e permite que as plataformas sociais se tornem um caminho direto para a compra.
A utilização de inteligência artificial irá ajudar no processamento de metadados para pesquisa de produtos por imagens. Durante anos, a precisão daquilo que procuramos e do que recebíamos de volta nos retornos das buscas baseava-se na qualidade dos metadados e na avaliação dos consumidores.

Com o uso do IA, existe agora a capacidade de automatizar a classificação de imagens e a marcação de produtos, garantindo maior alinhamento nos resultados de pesquisa com base na identificação aprimorada de atributos. As próprias imagens também podem se tornar uma fonte de dados rica para as pesquisas.

Mobile Commerce

O Mobile Commerce é um novo fenômeno que tem se destaca há algum tempo em grande parte da Europa e da Ásia. Só recentemente começou a ganhar terreno nos Estados Unidos e Canadá, com o Brasil liderando o uso na América Latina. Com o surgimento das redes 3G, smartphones e outros dispositivos portáteis de tecnologia avançada, é cada vez mais popular o uso de dispositivos móveis para compras na web. Há milhares de pessoas que utilizam seus telefones com dispositivos de conexão a internet e estão aprendendo a fazer suas atividades cotidianas se utilizando de tal aparelho. O número de pessoas que estão substituindo as tradicionais compras on-line pela alternativa móvel vem aumentando a cada dia. É possível que se chegue a um ponto no qual quase todas as transações sejam concluídas a partir de dispositivos móveis.

O modelo de compras através das grandes market places vem ganhando força com plataformas White Label customizadas. A grande vantagem de ter um mobile commerce é o engajamento dos usuários as métricas de Geo-localização, recursos de push notification, segurança nas transações e facilidade na UX ( User Expirience ) é o que a startup Mobisale vem trabalhando nos últimos dois anos.

 

 

Algoritmo para identificando a bandeira do cartão de crédito

Aqui vai um exemplo de implementação de algoritmo para identificar a bandeira do cartão de crédito

| Bandeira   | Comeca com                                  | Máximo de número | Máximo de número cvc |
| ---------- | ------------------------------------------- | ---------------- | -------------------- |
| Visa       | 4                                           | 13,16            | 3                    |
| Mastercard | 5                                           | 16               | 3                    |
| Diners     | 301,305,36,38                               | 14,16            | 3                    |
| Elo        | 636368,438935,504175,451416,509048,509067,  |                  | 3(?)
|            | 509049,509069,509050,509074,509068,509040,
|            | 509045,509051,509046,509066,509047,509042,
|            | 509052,509043,509064,509040                 |                  |                      
|            | 36297, 5067,4576,4011                       | 16               | 3
| Amex       | 34,37                                       | 15               | 4                    |
| Discover   | 6011,622,64,65                              | 16               | 4                    |
| Aura       | 50                                          | 16               | 3                    |
| jcb        | 35                                          | 16               | 3                    |
| Hipercard  | 38,60                                       | 13,16,19         | 3                    |

Protegendo seu web server com Linux

A ideia deste post é apresentar algumas alternativas open source para proteger seu webserver com Linux.

A maior parte dos ataques em servidores web em rodando Linux são ataques a servidores LAMP. As aplicações que estou descrevendo abaixo podem ser utilizadas em conjunto e é interessante que você automatize a tarefa de monitoramento.

1) Lynis
O Lynis é um software para detecção de vulnerabilidades que faz um scan em seu file system buscando vulnerabilidades.

Atualizando o update

lynis update info

Fazendo um scan rápido

lynis --quick

Programando um scan e enviando os relatórios por e-mail
0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "lynis output of my server" you@yourdomain.com

 

2) ISPProtect

O ISPProtect é um script muito bem estruturado que possui profiles de diversos tipos de aplicações baseados em PHP e com isto ele faz um scan nestas estruturas para identificar vulnerabilidade nas aplicações.

Instalando o ISPProtect

mkdir -p /usr/local/ispprotect
chown -R root:root /usr/local/ispprotect
chmod -R 750 /usr/local/ispprotect
cd /usr/local/ispprotect
wget http://www.ispprotect.com/download/ispp_scan.tar.gz
tar xzf ispp_scan.tar.gz
rm -f ispp_scan.tar.gz
ln -s /usr/local/ispprotect/ispp_scan /usr/local/bin/ispp_scan

 

Técnicas de portscan com o Nmap

O Nmap é de longe uma das melhores ferramentas de port scanning do mercado. Neste artigo vou apresentar algumas dicas para fazer testes de scanner de porta.

  • PortScan TCP ports
    nmap p065535 192.168.122.1 
  • PortScan rápido para todas as portas
    nmap  p065535 192.168.122.1 T5 
  • PortScan UDP ports
    nmap p 192.168.122.1 
  • Portscan TCP/UDP ports
    nmap sU sT p065535 192.168.122.1

Mobisale – Plataforma de Marketplace / Mobile Commerce

É fato que nos últimos anos acabei me envolvendo em plataformas de pagamentos digitais. Começou pelo desenvolvimento de toda a arquitetura de software da Mobipag e seus respectivos produtos de doação. A mais ou menos 9 meses iniciei o desenvolvimento de uma plataforma chamada Mobifood que é um eWallet para delivery e restaurantes com um modelo de negócio menos leonino que dos apps atuais do mercado.

Ao prospectar este segmento vimos a necessidade e a oportunidade de criação de uma plataforma de Mobile Commerce que fosse integrada as principais plataforma de e-commerce atuais para que pudessemos gerar leads a partir de lojas que já estão em produção.

A decisão de criar uma solução a partir do Woocommerce parecia ser a mais interessante pois é uma plataforma bem difundida no mercado e de fácil desenvolvimento de APIs de integração. Sendo assim anunciamos o desenvolvimento do MobiSale uma plataforma de Mobile Commerce que possui um Market Place 100% mobile e cross plataform.

O site para saber mais informações a respeito do projeto é www.mobisale.com.br e caso você chegou neste artigo por ter se interessado na solução basta entrar em contato conosco através do site ou telefone.

Abs e bons negócios

Entendendo o funcionamento das transações do protocolo Bitcoin

As criptomoedas estão em evidência no mundo inteiro e podemos dizer que é o futuro do capitalismo. Uma das moedas que ficaram com mais evidência foi o Bitcoin um sistema monetário distribuído. Bitcoin não é um software mas um protocolo e a denominação de uma moeda ( ou ativo ) virtual.

Os pilares de funcionamento do protocolo Bitcoin
Os seus três pilares básicos são: algoritmos criptográficos como assinaturas digitais e hash, estrutura de dados composta por blocos encadeados ( blockchain ) e o mecanismo e validação das transações. Uma das confusões que é criado a respeito do Bitcoin é que não há estrutura de moeda como muitos imaginam, com a representação de uma moeda digital ou seus arquivos ficam armazenados no computador pessoal equivalentes a cédula monetária.

O protocolo funciona na verdade como um sistema de contabilidade no qual os usuários possuem uma ou mais contas ( endereço ) e por meio delas podem receber ou transferir valores. Os identificadores e senhas desses endereços são chaves públicas e privadas de um algoritmo criptográfico assimétrico.

Transferências de valores
As transferências no protocolo Bitcoin são compostas por um conjunto de entradas e saídas, no qual as entradas são identificadores de transações passadas onde valores foram recebidos e que agora serão consumidos nessa transação. O saldo de um endereço é composto pelo somatório dos Bitcoins recebidos subtraído dos Bitcoins transferidos em toda história.

Exemplo de diagrama de funcionamento do protocolo Bitcoin

Esta série de publicações sobre Bitcoin continuará na próxima semana,

Até lá

 

 

Mini Curso de TypeScript

Aqui nós faremos um mini curso de TypeScript abordando as principais funcionalidades:

  • Trabalhando com variáveis
  • Funções em TypeScript
  • Utilizando as template strings
  • Criando as arrow functions

– Trabalhando com variáveis
O TypeScript segue os padrões do ES2015 para utilização de variáveis. Você pode ter variáveis do tipo number, boolean, string ou any que fará referência com base no tipo de dado informado. Como a ideia do TS é validar o código em tempo de execução é interessante tipar suas variáveis, ex:

// Declaração de variaveis
let episode: number = 4
console.log(“Current episode: ” + episode)
– Funções em TypeScript
Nas funções nós podemos tipar os parametros de entrada e também a saída da função. Ex:

let isEnoughToBeatMF = function (parsecs: number ): boolean {
returnparsecs < 12

}

No exemplo acima estamos tipando a entrada como number, e retornaremos um verdadeiro ou falso

–  Utilizando template strings

// Usando uma template string como variavel
let distance = 11
console.log(`Is ${distance} parsecs enought to beat Millenium Falcon ? ${isEnoughToBeatMF(distance) ? ‘YES’ : ‘NO’ } `)
– Criando arrow functions

Nas arrow functions do lado esquerdo ficam as declarações dos parametros e do lado direito ficam as implementações.

a) declarações                      b) implementações
+—————————-   +—————————————

let call = (name: string) => console.log(`Do you copy, ${name} `)
call(‘R2’)

Conhecendo os principais CMS’s na stack Mean

A ideia deste post é apresentar uma pesquisa que eu fiz a respeito das principais soluções em CMS na stack Mean ( MongoDB, Express, Angular e NodeJS ).
Este projeto veio para que uma necessidade de aprimoramento de conhecimento na stack e também criar algo extremamente simples e completo para fazer deploy de aplicações nesta stack.

Mean.IO
http://mean.io/

KeystoneJS
http://keystonejs.com/

Orafox
http://www.orafox.com/

Strapi
https://strapi.io/

BizsiteGenie ( beta  )
https://github.com/dreamerkumar/bizsitegenie

MeanJS
http://meanjs.org/

MeanBase
https://github.com/codingfriend1/meanbase

Nodebeats
https://github.com/nodebeats/nodebeats

* Caso tenham outras opções na Stack utilizem os comentários para contribuir com esta publicação.

Grande abs

Afinal o que é princípio Maya ?

O designer do logotipo da Coca-Cola, crio o termo Maya que significa “Most Advanced, Yet Acceptable” ou em português “O mais avançado porém aceitavél”. Isto significa que as empresas devem investir em novos produtos porém usar as atualizações de design com moderação pois os usuários gostam de inovações porém não gostam de perder tanto tempo com algo que ele já está acostumado.

Trocando em miúdos, os usuário estão antenados nas novas funcionalidades porém preferem ser impactados com mudanças drásticas com cautela.

Vamos pergar como exemplo o cíclo evolutivo do iPhone. Ao longo dos anos ele ganhou novos recursos, novos tamanhos de tela e configurações mais avançadas mas os designers da Apple mantiveram sempre o conceito Maya ativo no cíclo evolutivo do produto.

 

 

Grupos de WhatsApp para empreendedores brasileiros

O grupo de WhatsApp para empreendedores Empreendedores#BR, é para você que está começando um negócio, procura investidores, ou na verdade quer investir e gerar novos negócios ? então venha fazer parte de um grupo especializado em empreendedorismo, networking e negócios. Ajude-nos a divulgar para mais empreendedores que precisam daquele empurrão para trilhar um negócio de sucesso.

Ajudem a compartilhar para mais empreendedores de sucesso.

https://chat.whatsapp.com/DozSV1kjEsE6Cs1dGRFfGG

Entrevista para UOL :: A dificuldade de bloqueios de sinal de celular nos presídios

Apenas para efeito de arquivo pessoal, mais uma entrevista para o UOL Tecnologia. Fui entrevistado pela equipe do UOL para falar sobre as dificuldades para
fazer os bloqueios de celular nos presídios.

https://tecnologia.uol.com.br/noticias/redacao/2018/02/08/nao-e-perfeito-diz-professor-sobre-bloqueadores-de-celular-em-presidio.htm

Deletando arquivos de forma segura no Linux com Shred

O comando shred é uma aplicação que possibilita que você delete arquivos de forma segura. Ele impossibilita a recuperação.

Suas flags de comando são:

  • -f changes permissions to allow writing if needed
  • -n ​(iterations=N) overwrites N times instead of the default (3)
  • -s (size=N) specifies the number of bytes to shred
  • -u truncates and removes files after overwriting
  • -v shows verbose information about the progress
  • -x does not round file sizes up to the next full block
  • -z adds a final overwrite with zeros to hide shredding
  • -u removes the file after overwriting

Exemplo de comando:

shred -u fileABC.text file2.doc file3.jpg

Instalando o NGINX no Mac OSX

Olá pessoal, de volta ao blog com mais uma publicação para aqueles que querem instalar o poderoso e super rápido NGINX no Mac OSX. Primeiramente temos que saber que o Apache já vem instalado e configurado no Mac OS e para não haver conflitos de portas é importante desabilitarmos ele antes mesmo de começar.

  • Desabilitando o Apache da inicialização do OSX

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

  • Instalando o NGINX no Mac OS X

Para instalar o NGINX utilizaremos o Brew. O brew é um gerenciador de ports para o Mac OS que hoje podemos dizer que é um substituto a altura do MacPorts. Abra um console e como usuário padrão execute:

brew install nginx

  • Editando as configurações do NGINX

Lembre-se de ter seguido os passos anteriores para desabilitar o Apache para que não tenha conflitos de porta ao iniciar o NGINX. Faremos as seguintes modificações abaixo:

server {
listen       80;
server_name  localhost;

#access_log  logs/host.access.log  main;

location / {
    root   /var/www/;
    index  index.html index.htm;
}

  • Carregando as alterações

Para recarregar as configurações basta executar o comando nginx no terminar

  • Comandos úteis

a) recarregando o NGinx

nginx -s stop | quit | reopen | reload